sqlbot 0.0.11 → 0.0.12
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/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/(chat)/ai-providers/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(chat)/ai-providers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(chat)/chart/[chartId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(chat)/chart/[chartId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(chat)/chat/[threadId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(chat)/chat/[threadId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(chat)/connections/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(chat)/connections/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(chat)/knowledge-base/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(chat)/knowledge-base/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(chat)/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(chat)/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(chat)/query-editor/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(chat)/query-editor/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/ai-providers.html +1 -1
- package/.next/standalone/.next/server/app/ai-providers.rsc +3 -3
- package/.next/standalone/.next/server/app/ai-providers.segments/!KGNoYXQp/ai-providers/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/ai-providers.segments/!KGNoYXQp/ai-providers.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/ai-providers.segments/!KGNoYXQp.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/ai-providers.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/ai-providers.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/ai-providers.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/connections.html +1 -1
- package/.next/standalone/.next/server/app/connections.rsc +3 -3
- package/.next/standalone/.next/server/app/connections.segments/!KGNoYXQp/connections/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/connections.segments/!KGNoYXQp/connections.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/connections.segments/!KGNoYXQp.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/connections.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/connections.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/connections.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/chunks/_26ec1867._.js +30 -14
- package/.next/standalone/.next/server/chunks/_430c5305._.js +30 -14
- package/.next/standalone/.next/server/chunks/_75b542e9._.js +3 -3
- package/.next/standalone/.next/server/chunks/_c49f2a1f._.js +30 -14
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__2534236b._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0ffd2d5e._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_119ae296._.js +20 -4
- package/.next/standalone/.next/server/chunks/ssr/_37f7f89d._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_673cb560._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_6c7220e5._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_6ed755aa._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_776a746c._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_7f407fdd._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_837c4081._.js → _90b65f35._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_96c3d546._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_a4dce1b3._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_b427a73f._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_bb34a863._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_d017f4d9._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_deb2246d._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_e83447a6._.js +3 -0
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +2 -2
- package/.next/standalone/.next/static/chunks/00ce465d0a58e73b.js +1 -0
- package/.next/standalone/.next/static/chunks/0492dc04de204ef8.js +5 -0
- package/.next/standalone/.next/static/chunks/17906a765ba90602.js +1 -0
- package/.next/standalone/.next/static/chunks/18344611f9149409.js +5 -0
- package/.next/standalone/.next/static/chunks/22f0970a7da31999.js +1 -0
- package/.next/standalone/.next/static/chunks/32afcb8f324728fe.js +1 -0
- package/.next/standalone/.next/static/chunks/3aa118eb200a16a6.js +1 -0
- package/.next/standalone/.next/static/chunks/3bb45a8246c87c9c.js +1 -0
- package/.next/standalone/.next/static/chunks/69a71249fe4c8d17.js +1 -0
- package/.next/standalone/.next/static/chunks/{a3a8f6ede99c1c63.js → 69f389e018a048b0.js} +1 -1
- package/.next/standalone/.next/static/chunks/83fd475d7bb1bc7e.js +1 -0
- package/.next/standalone/.next/static/chunks/84ba0322d6b6eb00.js +5 -0
- package/.next/{static/chunks/785e4ee9877d7d8d.js → standalone/.next/static/chunks/924ad79523394fd9.js} +2 -2
- package/.next/standalone/.next/static/chunks/a561d8ef36eb9e96.js +1 -0
- package/.next/standalone/.next/static/chunks/b2ecf63a14401981.js +1 -0
- package/.next/standalone/.next/static/chunks/cd6330f0a950e8c0.js +1 -0
- package/.next/standalone/.next/static/chunks/cdee4d388d00a056.js +6 -0
- package/.next/standalone/.next/static/chunks/d241d710d5ec3fd7.js +1 -0
- package/.next/standalone/.next/static/chunks/e443aaa7b1ed4b4e.js +5 -0
- package/.next/standalone/.next/static/chunks/effc0fba41d927bf.js +1 -0
- package/.next/standalone/.next/static/chunks/f0df418fe5859df9.css +1 -0
- package/.next/standalone/.next/static/chunks/f55ea47136cf1b22.js +1 -0
- package/.next/standalone/.next/static/chunks/f60f82508902e71a.js +1 -0
- package/.next/standalone/.next/static/chunks/fe778cfc22734c9c.js +5 -0
- package/.next/standalone/README.md +2 -1
- package/.next/standalone/package.json +4 -2
- package/.next/static/chunks/00ce465d0a58e73b.js +1 -0
- package/.next/static/chunks/0492dc04de204ef8.js +5 -0
- package/.next/static/chunks/17906a765ba90602.js +1 -0
- package/.next/static/chunks/18344611f9149409.js +5 -0
- package/.next/static/chunks/22f0970a7da31999.js +1 -0
- package/.next/static/chunks/32afcb8f324728fe.js +1 -0
- package/.next/static/chunks/3aa118eb200a16a6.js +1 -0
- package/.next/static/chunks/3bb45a8246c87c9c.js +1 -0
- package/.next/static/chunks/69a71249fe4c8d17.js +1 -0
- package/.next/static/chunks/{a3a8f6ede99c1c63.js → 69f389e018a048b0.js} +1 -1
- package/.next/static/chunks/83fd475d7bb1bc7e.js +1 -0
- package/.next/static/chunks/84ba0322d6b6eb00.js +5 -0
- package/.next/{standalone/.next/static/chunks/785e4ee9877d7d8d.js → static/chunks/924ad79523394fd9.js} +2 -2
- package/.next/static/chunks/a561d8ef36eb9e96.js +1 -0
- package/.next/static/chunks/b2ecf63a14401981.js +1 -0
- package/.next/static/chunks/cd6330f0a950e8c0.js +1 -0
- package/.next/static/chunks/cdee4d388d00a056.js +6 -0
- package/.next/static/chunks/d241d710d5ec3fd7.js +1 -0
- package/.next/static/chunks/e443aaa7b1ed4b4e.js +5 -0
- package/.next/static/chunks/effc0fba41d927bf.js +1 -0
- package/.next/static/chunks/f0df418fe5859df9.css +1 -0
- package/.next/static/chunks/f55ea47136cf1b22.js +1 -0
- package/.next/static/chunks/f60f82508902e71a.js +1 -0
- package/.next/static/chunks/fe778cfc22734c9c.js +5 -0
- package/README.md +2 -1
- package/package.json +4 -2
- package/.next/standalone/.next/server/chunks/ssr/_96a4d2a6._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_9cae1942._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_b48f2654._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_d57a9966._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_d9ccac15._.js +0 -3
- package/.next/standalone/.next/static/chunks/00f68930e8af39f1.js +0 -1
- package/.next/standalone/.next/static/chunks/0c86eeaca8703623.js +0 -1
- package/.next/standalone/.next/static/chunks/0f0b044da5064d31.js +0 -1
- package/.next/standalone/.next/static/chunks/13aa9092c4478e88.js +0 -1
- package/.next/standalone/.next/static/chunks/25acbecde2c21b0b.js +0 -1
- package/.next/standalone/.next/static/chunks/27f1f589cc35ce7f.js +0 -5
- package/.next/standalone/.next/static/chunks/3799f4ad1dc31445.css +0 -1
- package/.next/standalone/.next/static/chunks/37c455518a8623aa.js +0 -5
- package/.next/standalone/.next/static/chunks/395473ba68358e71.js +0 -1
- package/.next/standalone/.next/static/chunks/5781382bb8e8910c.js +0 -6
- package/.next/standalone/.next/static/chunks/6a3fee7f033793da.js +0 -1
- package/.next/standalone/.next/static/chunks/6af4eb4b1f798375.js +0 -5
- package/.next/standalone/.next/static/chunks/893da8072a275b7b.js +0 -1
- package/.next/standalone/.next/static/chunks/941ffb527c8ad269.js +0 -1
- package/.next/standalone/.next/static/chunks/b40d536f5d92bc07.js +0 -1
- package/.next/standalone/.next/static/chunks/b55f2944bf45b9ec.js +0 -1
- package/.next/standalone/.next/static/chunks/d3d6e96c79ecf7ff.js +0 -1
- package/.next/standalone/.next/static/chunks/d44ccaf98a04c9f5.js +0 -1
- package/.next/standalone/.next/static/chunks/d58f11c82ac60f13.js +0 -1
- package/.next/standalone/.next/static/chunks/d6b31c9a193c5bed.js +0 -5
- package/.next/standalone/.next/static/chunks/ed49341bf575ec20.js +0 -1
- package/.next/standalone/.next/static/chunks/fc28f22597652237.js +0 -5
- package/.next/static/chunks/00f68930e8af39f1.js +0 -1
- package/.next/static/chunks/0c86eeaca8703623.js +0 -1
- package/.next/static/chunks/0f0b044da5064d31.js +0 -1
- package/.next/static/chunks/13aa9092c4478e88.js +0 -1
- package/.next/static/chunks/25acbecde2c21b0b.js +0 -1
- package/.next/static/chunks/27f1f589cc35ce7f.js +0 -5
- package/.next/static/chunks/3799f4ad1dc31445.css +0 -1
- package/.next/static/chunks/37c455518a8623aa.js +0 -5
- package/.next/static/chunks/395473ba68358e71.js +0 -1
- package/.next/static/chunks/5781382bb8e8910c.js +0 -6
- package/.next/static/chunks/6a3fee7f033793da.js +0 -1
- package/.next/static/chunks/6af4eb4b1f798375.js +0 -5
- package/.next/static/chunks/893da8072a275b7b.js +0 -1
- package/.next/static/chunks/941ffb527c8ad269.js +0 -1
- package/.next/static/chunks/b40d536f5d92bc07.js +0 -1
- package/.next/static/chunks/b55f2944bf45b9ec.js +0 -1
- package/.next/static/chunks/d3d6e96c79ecf7ff.js +0 -1
- package/.next/static/chunks/d44ccaf98a04c9f5.js +0 -1
- package/.next/static/chunks/d58f11c82ac60f13.js +0 -1
- package/.next/static/chunks/d6b31c9a193c5bed.js +0 -5
- package/.next/static/chunks/ed49341bf575ec20.js +0 -1
- package/.next/static/chunks/fc28f22597652237.js +0 -5
- /package/.next/standalone/.next/static/{MtWdFBWYBrNNpdc-evjbH → zCAPedmpW7JHLJhWpOgp0}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{MtWdFBWYBrNNpdc-evjbH → zCAPedmpW7JHLJhWpOgp0}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/.next/static/{MtWdFBWYBrNNpdc-evjbH → zCAPedmpW7JHLJhWpOgp0}/_ssgManifest.js +0 -0
- /package/.next/static/{MtWdFBWYBrNNpdc-evjbH → zCAPedmpW7JHLJhWpOgp0}/_buildManifest.js +0 -0
- /package/.next/static/{MtWdFBWYBrNNpdc-evjbH → zCAPedmpW7JHLJhWpOgp0}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{MtWdFBWYBrNNpdc-evjbH → zCAPedmpW7JHLJhWpOgp0}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[688621,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(368114);let e=c.forwardRef(({className:a,isCollapsed:c=!1,...e},f)=>(0,b.jsx)("div",{ref:f,className:(0,d.cn)("flex h-full flex-col bg-sidebar text-foreground transition-all duration-300","fixed left-0 top-0 z-50 md:relative md:z-auto",c?"w-0 -translate-x-full md:translate-x-0 overflow-hidden":"w-[280px] translate-x-0",a),...e}));e.displayName="Sidebar";let f=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("flex flex-col gap-3 p-4",a),...c}));f.displayName="SidebarHeader";let g=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("flex-1 overflow-y-auto overflow-x-hidden px-4","scrollbar-none [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]",a),...c}));g.displayName="SidebarContent",a.s(["Sidebar",()=>e,"SidebarContent",()=>g,"SidebarHeader",()=>f])},269876,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(30553),e=a.i(777192),f=a.i(750104),g=a.i(470121),h=a.i(746872),i=a.i(507827),j=a.i(872752),k=a.i(130656),l=a.i(507554),m="ScrollArea",[n,o]=(0,f.createContextScope)(m),[p,q]=n(m),r=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,type:h="hover",dir:j,scrollHideDelay:k=600,...l}=a,[m,n]=c.useState(null),[o,q]=c.useState(null),[r,s]=c.useState(null),[t,u]=c.useState(null),[v,w]=c.useState(null),[x,y]=c.useState(0),[z,A]=c.useState(0),[B,C]=c.useState(!1),[D,E]=c.useState(!1),F=(0,g.useComposedRefs)(e,a=>n(a)),G=(0,i.useDirection)(j);return(0,b.jsx)(p,{scope:f,type:h,dir:G,scrollHideDelay:k,scrollArea:m,viewport:o,onViewportChange:q,content:r,onContentChange:s,scrollbarX:t,onScrollbarXChange:u,scrollbarXEnabled:B,onScrollbarXEnabledChange:C,scrollbarY:v,onScrollbarYChange:w,scrollbarYEnabled:D,onScrollbarYEnabledChange:E,onCornerWidthChange:y,onCornerHeightChange:A,children:(0,b.jsx)(d.Primitive.div,{dir:G,...l,ref:F,style:{position:"relative","--radix-scroll-area-corner-width":x+"px","--radix-scroll-area-corner-height":z+"px",...a.style}})})});r.displayName=m;var s="ScrollAreaViewport",t=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,children:h,nonce:i,...j}=a,k=q(s,f),l=c.useRef(null),m=(0,g.useComposedRefs)(e,l,k.onViewportChange);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),(0,b.jsx)(d.Primitive.div,{"data-radix-scroll-area-viewport":"",...j,ref:m,style:{overflowX:k.scrollbarXEnabled?"scroll":"hidden",overflowY:k.scrollbarYEnabled?"scroll":"hidden",...a.style},children:(0,b.jsx)("div",{ref:k.onContentChange,style:{minWidth:"100%",display:"table"},children:h})})]})});t.displayName=s;var u="ScrollAreaScrollbar",v=c.forwardRef((a,d)=>{let{forceMount:e,...f}=a,g=q(u,a.__scopeScrollArea),{onScrollbarXEnabledChange:h,onScrollbarYEnabledChange:i}=g,j="horizontal"===a.orientation;return c.useEffect(()=>(j?h(!0):i(!0),()=>{j?h(!1):i(!1)}),[j,h,i]),"hover"===g.type?(0,b.jsx)(w,{...f,ref:d,forceMount:e}):"scroll"===g.type?(0,b.jsx)(x,{...f,ref:d,forceMount:e}):"auto"===g.type?(0,b.jsx)(y,{...f,ref:d,forceMount:e}):"always"===g.type?(0,b.jsx)(z,{...f,ref:d}):null});v.displayName=u;var w=c.forwardRef((a,d)=>{let{forceMount:f,...g}=a,h=q(u,a.__scopeScrollArea),[i,j]=c.useState(!1);return c.useEffect(()=>{let a=h.scrollArea,b=0;if(a){let c=()=>{window.clearTimeout(b),j(!0)},d=()=>{b=window.setTimeout(()=>j(!1),h.scrollHideDelay)};return a.addEventListener("pointerenter",c),a.addEventListener("pointerleave",d),()=>{window.clearTimeout(b),a.removeEventListener("pointerenter",c),a.removeEventListener("pointerleave",d)}}},[h.scrollArea,h.scrollHideDelay]),(0,b.jsx)(e.Presence,{present:f||i,children:(0,b.jsx)(y,{"data-state":i?"visible":"hidden",...g,ref:d})})}),x=c.forwardRef((a,d)=>{var f;let{forceMount:g,...h}=a,i=q(u,a.__scopeScrollArea),j="horizontal"===a.orientation,k=R(()=>n("SCROLL_END"),100),[m,n]=(f={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},c.useReducer((a,b)=>f[a][b]??a,"hidden"));return c.useEffect(()=>{if("idle"===m){let a=window.setTimeout(()=>n("HIDE"),i.scrollHideDelay);return()=>window.clearTimeout(a)}},[m,i.scrollHideDelay,n]),c.useEffect(()=>{let a=i.viewport,b=j?"scrollLeft":"scrollTop";if(a){let c=a[b],d=()=>{let d=a[b];c!==d&&(n("SCROLL"),k()),c=d};return a.addEventListener("scroll",d),()=>a.removeEventListener("scroll",d)}},[i.viewport,j,n,k]),(0,b.jsx)(e.Presence,{present:g||"hidden"!==m,children:(0,b.jsx)(z,{"data-state":"hidden"===m?"hidden":"visible",...h,ref:d,onPointerEnter:(0,l.composeEventHandlers)(a.onPointerEnter,()=>n("POINTER_ENTER")),onPointerLeave:(0,l.composeEventHandlers)(a.onPointerLeave,()=>n("POINTER_LEAVE"))})})}),y=c.forwardRef((a,d)=>{let f=q(u,a.__scopeScrollArea),{forceMount:g,...h}=a,[i,j]=c.useState(!1),k="horizontal"===a.orientation,l=R(()=>{if(f.viewport){let a=f.viewport.offsetWidth<f.viewport.scrollWidth,b=f.viewport.offsetHeight<f.viewport.scrollHeight;j(k?a:b)}},10);return S(f.viewport,l),S(f.content,l),(0,b.jsx)(e.Presence,{present:g||i,children:(0,b.jsx)(z,{"data-state":i?"visible":"hidden",...h,ref:d})})}),z=c.forwardRef((a,d)=>{let{orientation:e="vertical",...f}=a,g=q(u,a.__scopeScrollArea),h=c.useRef(null),i=c.useRef(0),[j,k]=c.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=M(j.viewport,j.content),m={...f,sizes:j,onSizesChange:k,hasThumb:!!(l>0&&l<1),onThumbChange:a=>h.current=a,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:a=>i.current=a};function n(a,b){return function(a,b,c,d="ltr"){let e=N(c),f=b||e/2,g=c.scrollbar.paddingStart+f,h=c.scrollbar.size-c.scrollbar.paddingEnd-(e-f),i=c.content-c.viewport;return P([g,h],"ltr"===d?[0,i]:[-1*i,0])(a)}(a,i.current,j,b)}return"horizontal"===e?(0,b.jsx)(A,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=O(g.viewport.scrollLeft,j,g.dir);h.current.style.transform=`translate3d(${a}px, 0, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollLeft=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollLeft=n(a,g.dir))}}):"vertical"===e?(0,b.jsx)(B,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=O(g.viewport.scrollTop,j);h.current.style.transform=`translate3d(0, ${a}px, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollTop=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollTop=n(a))}}):null}),A=c.forwardRef((a,d)=>{let{sizes:e,onSizesChange:f,...h}=a,i=q(u,a.__scopeScrollArea),[j,k]=c.useState(),l=c.useRef(null),m=(0,g.useComposedRefs)(d,l,i.onScrollbarXChange);return c.useEffect(()=>{l.current&&k(getComputedStyle(l.current))},[l]),(0,b.jsx)(E,{"data-orientation":"horizontal",...h,ref:m,sizes:e,style:{bottom:0,left:"rtl"===i.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===i.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":N(e)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.x),onDragScroll:b=>a.onDragScroll(b.x),onWheelScroll:(b,c)=>{if(i.viewport){var d,e;let f=i.viewport.scrollLeft+b.deltaX;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{l.current&&i.viewport&&j&&f({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:l.current.clientWidth,paddingStart:L(j.paddingLeft),paddingEnd:L(j.paddingRight)}})}})}),B=c.forwardRef((a,d)=>{let{sizes:e,onSizesChange:f,...h}=a,i=q(u,a.__scopeScrollArea),[j,k]=c.useState(),l=c.useRef(null),m=(0,g.useComposedRefs)(d,l,i.onScrollbarYChange);return c.useEffect(()=>{l.current&&k(getComputedStyle(l.current))},[l]),(0,b.jsx)(E,{"data-orientation":"vertical",...h,ref:m,sizes:e,style:{top:0,right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":N(e)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.y),onDragScroll:b=>a.onDragScroll(b.y),onWheelScroll:(b,c)=>{if(i.viewport){var d,e;let f=i.viewport.scrollTop+b.deltaY;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{l.current&&i.viewport&&j&&f({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:l.current.clientHeight,paddingStart:L(j.paddingTop),paddingEnd:L(j.paddingBottom)}})}})}),[C,D]=n(u),E=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,sizes:i,hasThumb:j,onThumbChange:k,onThumbPointerUp:m,onThumbPointerDown:n,onThumbPositionChange:o,onDragScroll:p,onWheelScroll:r,onResize:s,...t}=a,v=q(u,f),[w,x]=c.useState(null),y=(0,g.useComposedRefs)(e,a=>x(a)),z=c.useRef(null),A=c.useRef(""),B=v.viewport,D=i.content-i.viewport,E=(0,h.useCallbackRef)(r),F=(0,h.useCallbackRef)(o),G=R(s,10);function H(a){z.current&&p({x:a.clientX-z.current.left,y:a.clientY-z.current.top})}return c.useEffect(()=>{let a=a=>{let b=a.target;w?.contains(b)&&E(a,D)};return document.addEventListener("wheel",a,{passive:!1}),()=>document.removeEventListener("wheel",a,{passive:!1})},[B,w,D,E]),c.useEffect(F,[i,F]),S(w,G),S(v.content,G),(0,b.jsx)(C,{scope:f,scrollbar:w,hasThumb:j,onThumbChange:(0,h.useCallbackRef)(k),onThumbPointerUp:(0,h.useCallbackRef)(m),onThumbPositionChange:F,onThumbPointerDown:(0,h.useCallbackRef)(n),children:(0,b.jsx)(d.Primitive.div,{...t,ref:y,style:{position:"absolute",...t.style},onPointerDown:(0,l.composeEventHandlers)(a.onPointerDown,a=>{0===a.button&&(a.target.setPointerCapture(a.pointerId),z.current=w.getBoundingClientRect(),A.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",v.viewport&&(v.viewport.style.scrollBehavior="auto"),H(a))}),onPointerMove:(0,l.composeEventHandlers)(a.onPointerMove,H),onPointerUp:(0,l.composeEventHandlers)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),document.body.style.webkitUserSelect=A.current,v.viewport&&(v.viewport.style.scrollBehavior=""),z.current=null})})})}),F="ScrollAreaThumb",G=c.forwardRef((a,c)=>{let{forceMount:d,...f}=a,g=D(F,a.__scopeScrollArea);return(0,b.jsx)(e.Presence,{present:d||g.hasThumb,children:(0,b.jsx)(H,{ref:c,...f})})}),H=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,style:h,...i}=a,j=q(F,f),k=D(F,f),{onThumbPositionChange:m}=k,n=(0,g.useComposedRefs)(e,a=>k.onThumbChange(a)),o=c.useRef(void 0),p=R(()=>{o.current&&(o.current(),o.current=void 0)},100);return c.useEffect(()=>{let a=j.viewport;if(a){let b=()=>{p(),o.current||(o.current=Q(a,m),m())};return m(),a.addEventListener("scroll",b),()=>a.removeEventListener("scroll",b)}},[j.viewport,p,m]),(0,b.jsx)(d.Primitive.div,{"data-state":k.hasThumb?"visible":"hidden",...i,ref:n,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...h},onPointerDownCapture:(0,l.composeEventHandlers)(a.onPointerDownCapture,a=>{let b=a.target.getBoundingClientRect(),c=a.clientX-b.left,d=a.clientY-b.top;k.onThumbPointerDown({x:c,y:d})}),onPointerUp:(0,l.composeEventHandlers)(a.onPointerUp,k.onThumbPointerUp)})});G.displayName=F;var I="ScrollAreaCorner",J=c.forwardRef((a,c)=>{let d=q(I,a.__scopeScrollArea),e=!!(d.scrollbarX&&d.scrollbarY);return"scroll"!==d.type&&e?(0,b.jsx)(K,{...a,ref:c}):null});J.displayName=I;var K=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,...g}=a,h=q(I,f),[i,j]=c.useState(0),[k,l]=c.useState(0),m=!!(i&&k);return S(h.scrollbarX,()=>{let a=h.scrollbarX?.offsetHeight||0;h.onCornerHeightChange(a),l(a)}),S(h.scrollbarY,()=>{let a=h.scrollbarY?.offsetWidth||0;h.onCornerWidthChange(a),j(a)}),m?(0,b.jsx)(d.Primitive.div,{...g,ref:e,style:{width:i,height:k,position:"absolute",right:"ltr"===h.dir?0:void 0,left:"rtl"===h.dir?0:void 0,bottom:0,...a.style}}):null});function L(a){return a?parseInt(a,10):0}function M(a,b){let c=a/b;return isNaN(c)?0:c}function N(a){let b=M(a.viewport,a.content),c=a.scrollbar.paddingStart+a.scrollbar.paddingEnd;return Math.max((a.scrollbar.size-c)*b,18)}function O(a,b,c="ltr"){let d=N(b),e=b.scrollbar.paddingStart+b.scrollbar.paddingEnd,f=b.scrollbar.size-e,g=b.content-b.viewport,h=(0,k.clamp)(a,"ltr"===c?[0,g]:[-1*g,0]);return P([0,g],[0,f-d])(h)}function P(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}var Q=(a,b=()=>{})=>{let c={left:a.scrollLeft,top:a.scrollTop},d=0;return!function e(){let f={left:a.scrollLeft,top:a.scrollTop},g=c.left!==f.left,h=c.top!==f.top;(g||h)&&b(),c=f,d=window.requestAnimationFrame(e)}(),()=>window.cancelAnimationFrame(d)};function R(a,b){let d=(0,h.useCallbackRef)(a),e=c.useRef(0);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),c.useCallback(()=>{window.clearTimeout(e.current),e.current=window.setTimeout(d,b)},[d,b])}function S(a,b){let c=(0,h.useCallbackRef)(b);(0,j.useLayoutEffect)(()=>{let b=0;if(a){let d=new ResizeObserver(()=>{cancelAnimationFrame(b),b=window.requestAnimationFrame(c)});return d.observe(a),()=>{window.cancelAnimationFrame(b),d.unobserve(a)}}},[a,c])}var T=a.i(368114);function U({className:a,children:c,hideScrollbar:d=!1,...e}){return(0,b.jsxs)(r,{"data-slot":"scroll-area",className:(0,T.cn)("relative overflow-hidden",a),...e,children:[(0,b.jsx)(t,{"data-slot":"scroll-area-viewport",className:(0,T.cn)("focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",d&&"[&>div]:!block"),style:d?{overflowY:"scroll"}:void 0,children:c}),(0,b.jsx)(V,{hidden:d}),(0,b.jsx)(J,{})]})}function V({className:a,orientation:c="vertical",hidden:d=!1,...e}){return d?null:(0,b.jsx)(v,{"data-slot":"scroll-area-scrollbar",orientation:c,className:(0,T.cn)("flex touch-none p-px transition-colors select-none","vertical"===c&&"h-full w-2.5 border-l border-l-transparent","horizontal"===c&&"h-2.5 flex-col border-t border-t-transparent",a),...e,children:(0,b.jsx)(G,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}a.s(["ScrollArea",()=>U],269876)},839761,a=>{"use strict";let b=(0,a.i(883706).default)("chart-column",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);a.s(["BarChart3",()=>b],839761)},724669,a=>{"use strict";let b=(0,a.i(883706).default)("trending-up",[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]]);a.s(["TrendingUp",()=>b],724669)},171150,a=>{"use strict";let b=(0,a.i(883706).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["CircleIcon",()=>b],171150)},335732,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(507554),e=a.i(470121),f=a.i(750104),g=a.i(225152),h=a.i(30553),i=a.i(37738),j=a.i(507827),k=a.i(596743),l=a.i(486228),m=a.i(422297),n=a.i(392843),o=a.i(704691),p=a.i(692616),q=a.i(777192),r=a.i(746872),s="rovingFocusGroup.onEntryFocus",t={bubbles:!1,cancelable:!0},u="RovingFocusGroup",[v,w,x]=(0,i.createCollection)(u),[y,z]=(0,f.createContextScope)(u,[x]),[A,B]=y(u),C=c.forwardRef((a,c)=>(0,b.jsx)(v.Provider,{scope:a.__scopeRovingFocusGroup,children:(0,b.jsx)(v.Slot,{scope:a.__scopeRovingFocusGroup,children:(0,b.jsx)(D,{...a,ref:c})})}));C.displayName=u;var D=c.forwardRef((a,f)=>{let{__scopeRovingFocusGroup:i,orientation:k,loop:l=!1,dir:m,currentTabStopId:n,defaultCurrentTabStopId:o,onCurrentTabStopIdChange:p,onEntryFocus:q,preventScrollOnEntryFocus:v=!1,...x}=a,y=c.useRef(null),z=(0,e.useComposedRefs)(f,y),B=(0,j.useDirection)(m),[C,D]=(0,g.useControllableState)({prop:n,defaultProp:o??null,onChange:p,caller:u}),[E,F]=c.useState(!1),G=(0,r.useCallbackRef)(q),I=w(i),J=c.useRef(!1),[K,L]=c.useState(0);return c.useEffect(()=>{let a=y.current;if(a)return a.addEventListener(s,G),()=>a.removeEventListener(s,G)},[G]),(0,b.jsx)(A,{scope:i,orientation:k,dir:B,loop:l,currentTabStopId:C,onItemFocus:c.useCallback(a=>D(a),[D]),onItemShiftTab:c.useCallback(()=>F(!0),[]),onFocusableItemAdd:c.useCallback(()=>L(a=>a+1),[]),onFocusableItemRemove:c.useCallback(()=>L(a=>a-1),[]),children:(0,b.jsx)(h.Primitive.div,{tabIndex:E||0===K?-1:0,"data-orientation":k,...x,ref:z,style:{outline:"none",...a.style},onMouseDown:(0,d.composeEventHandlers)(a.onMouseDown,()=>{J.current=!0}),onFocus:(0,d.composeEventHandlers)(a.onFocus,a=>{let b=!J.current;if(a.target===a.currentTarget&&b&&!E){let b=new CustomEvent(s,t);if(a.currentTarget.dispatchEvent(b),!b.defaultPrevented){let a=I().filter(a=>a.focusable);H([a.find(a=>a.active),a.find(a=>a.id===C),...a].filter(Boolean).map(a=>a.ref.current),v)}}J.current=!1}),onBlur:(0,d.composeEventHandlers)(a.onBlur,()=>F(!1))})})}),E="RovingFocusGroupItem",F=c.forwardRef((a,e)=>{let{__scopeRovingFocusGroup:f,focusable:g=!0,active:i=!1,tabStopId:j,children:k,...l}=a,m=(0,n.useId)(),o=j||m,p=B(E,f),q=p.currentTabStopId===o,r=w(f),{onFocusableItemAdd:s,onFocusableItemRemove:t,currentTabStopId:u}=p;return c.useEffect(()=>{if(g)return s(),()=>t()},[g,s,t]),(0,b.jsx)(v.ItemSlot,{scope:f,id:o,focusable:g,active:i,children:(0,b.jsx)(h.Primitive.span,{tabIndex:q?0:-1,"data-orientation":p.orientation,...l,ref:e,onMouseDown:(0,d.composeEventHandlers)(a.onMouseDown,a=>{g?p.onItemFocus(o):a.preventDefault()}),onFocus:(0,d.composeEventHandlers)(a.onFocus,()=>p.onItemFocus(o)),onKeyDown:(0,d.composeEventHandlers)(a.onKeyDown,a=>{if("Tab"===a.key&&a.shiftKey)return void p.onItemShiftTab();if(a.target!==a.currentTarget)return;let b=function(a,b,c){var d;let e=(d=a.key,"rtl"!==c?d:"ArrowLeft"===d?"ArrowRight":"ArrowRight"===d?"ArrowLeft":d);if(!("vertical"===b&&["ArrowLeft","ArrowRight"].includes(e))&&!("horizontal"===b&&["ArrowUp","ArrowDown"].includes(e)))return G[e]}(a,p.orientation,p.dir);if(void 0!==b){if(a.metaKey||a.ctrlKey||a.altKey||a.shiftKey)return;a.preventDefault();let e=r().filter(a=>a.focusable).map(a=>a.ref.current);if("last"===b)e.reverse();else if("prev"===b||"next"===b){var c,d;"prev"===b&&e.reverse();let f=e.indexOf(a.currentTarget);e=p.loop?(c=e,d=f+1,c.map((a,b)=>c[(d+b)%c.length])):e.slice(f+1)}setTimeout(()=>H(e))}}),children:"function"==typeof k?k({isCurrentTabStop:q,hasTabStop:null!=u}):k})})});F.displayName=E;var G={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function H(a,b=!1){let c=document.activeElement;for(let d of a)if(d===c||(d.focus({preventScroll:b}),document.activeElement!==c))return}var I=a.i(811011),J=a.i(241852),K=a.i(152081),L=["Enter"," "],M=["ArrowUp","PageDown","End"],N=["ArrowDown","PageUp","Home",...M],O={ltr:[...L,"ArrowRight"],rtl:[...L,"ArrowLeft"]},P={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Q="Menu",[R,S,T]=(0,i.createCollection)(Q),[U,V]=(0,f.createContextScope)(Q,[T,o.createPopperScope,z]),W=(0,o.createPopperScope)(),X=z(),[Y,Z]=U(Q),[$,_]=U(Q),aa=a=>{let{__scopeMenu:d,open:e=!1,children:f,dir:g,onOpenChange:h,modal:i=!0}=a,k=W(d),[l,m]=c.useState(null),n=c.useRef(!1),p=(0,r.useCallbackRef)(h),q=(0,j.useDirection)(g);return c.useEffect(()=>{let a=()=>{n.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>n.current=!1;return document.addEventListener("keydown",a,{capture:!0}),()=>{document.removeEventListener("keydown",a,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),(0,b.jsx)(o.Root,{...k,children:(0,b.jsx)(Y,{scope:d,open:e,onOpenChange:p,content:l,onContentChange:m,children:(0,b.jsx)($,{scope:d,onClose:c.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:n,dir:q,modal:i,children:f})})})};aa.displayName=Q;var ab=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a,f=W(d);return(0,b.jsx)(o.Anchor,{...f,...e,ref:c})});ab.displayName="MenuAnchor";var ac="MenuPortal",[ad,ae]=U(ac,{forceMount:void 0}),af=a=>{let{__scopeMenu:c,forceMount:d,children:e,container:f}=a,g=Z(ac,c);return(0,b.jsx)(ad,{scope:c,forceMount:d,children:(0,b.jsx)(q.Presence,{present:d||g.open,children:(0,b.jsx)(p.Portal,{asChild:!0,container:f,children:e})})})};af.displayName=ac;var ag="MenuContent",[ah,ai]=U(ag),aj=c.forwardRef((a,c)=>{let d=ae(ag,a.__scopeMenu),{forceMount:e=d.forceMount,...f}=a,g=Z(ag,a.__scopeMenu),h=_(ag,a.__scopeMenu);return(0,b.jsx)(R.Provider,{scope:a.__scopeMenu,children:(0,b.jsx)(q.Presence,{present:e||g.open,children:(0,b.jsx)(R.Slot,{scope:a.__scopeMenu,children:h.modal?(0,b.jsx)(ak,{...f,ref:c}):(0,b.jsx)(al,{...f,ref:c})})})})}),ak=c.forwardRef((a,f)=>{let g=Z(ag,a.__scopeMenu),h=c.useRef(null),i=(0,e.useComposedRefs)(f,h);return c.useEffect(()=>{let a=h.current;if(a)return(0,J.hideOthers)(a)},[]),(0,b.jsx)(an,{...a,ref:i,trapFocus:g.open,disableOutsidePointerEvents:g.open,disableOutsideScroll:!0,onFocusOutside:(0,d.composeEventHandlers)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>g.onOpenChange(!1)})}),al=c.forwardRef((a,c)=>{let d=Z(ag,a.__scopeMenu);return(0,b.jsx)(an,{...a,ref:c,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>d.onOpenChange(!1)})}),am=(0,I.createSlot)("MenuContent.ScrollLock"),an=c.forwardRef((a,f)=>{let{__scopeMenu:g,loop:h=!1,trapFocus:i,onOpenAutoFocus:j,onCloseAutoFocus:n,disableOutsidePointerEvents:p,onEntryFocus:q,onEscapeKeyDown:r,onPointerDownOutside:s,onFocusOutside:t,onInteractOutside:u,onDismiss:v,disableOutsideScroll:w,...x}=a,y=Z(ag,g),z=_(ag,g),A=W(g),B=X(g),D=S(g),[E,F]=c.useState(null),G=c.useRef(null),H=(0,e.useComposedRefs)(f,G,y.onContentChange),I=c.useRef(0),J=c.useRef(""),L=c.useRef(0),O=c.useRef(null),P=c.useRef("right"),Q=c.useRef(0),R=w?K.RemoveScroll:c.Fragment;c.useEffect(()=>()=>window.clearTimeout(I.current),[]),(0,l.useFocusGuards)();let T=c.useCallback(a=>{var b,c;return P.current===O.current?.side&&(b=a,!!(c=O.current?.area)&&function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a],h=b[f],i=g.x,j=g.y,k=h.x,l=h.y;j>d!=l>d&&c<(k-i)*(d-j)/(l-j)+i&&(e=!e)}return e}({x:b.clientX,y:b.clientY},c))},[]);return(0,b.jsx)(ah,{scope:g,searchRef:J,onItemEnter:c.useCallback(a=>{T(a)&&a.preventDefault()},[T]),onItemLeave:c.useCallback(a=>{T(a)||(G.current?.focus(),F(null))},[T]),onTriggerLeave:c.useCallback(a=>{T(a)&&a.preventDefault()},[T]),pointerGraceTimerRef:L,onPointerGraceIntentChange:c.useCallback(a=>{O.current=a},[]),children:(0,b.jsx)(R,{...w?{as:am,allowPinchZoom:!0}:void 0,children:(0,b.jsx)(m.FocusScope,{asChild:!0,trapped:i,onMountAutoFocus:(0,d.composeEventHandlers)(j,a=>{a.preventDefault(),G.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:n,children:(0,b.jsx)(k.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:p,onEscapeKeyDown:r,onPointerDownOutside:s,onFocusOutside:t,onInteractOutside:u,onDismiss:v,children:(0,b.jsx)(C,{asChild:!0,...B,dir:z.dir,orientation:"vertical",loop:h,currentTabStopId:E,onCurrentTabStopIdChange:F,onEntryFocus:(0,d.composeEventHandlers)(q,a=>{z.isUsingKeyboardRef.current||a.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,b.jsx)(o.Content,{role:"menu","aria-orientation":"vertical","data-state":aN(y.open),"data-radix-menu-content":"",dir:z.dir,...A,...x,ref:H,style:{outline:"none",...x.style},onKeyDown:(0,d.composeEventHandlers)(x.onKeyDown,a=>{let b=a.target.closest("[data-radix-menu-content]")===a.currentTarget,c=a.ctrlKey||a.altKey||a.metaKey,d=1===a.key.length;if(b){var e;let b,f,g,h,i,j;"Tab"===a.key&&a.preventDefault(),!c&&d&&(e=a.key,b=J.current+e,f=D().filter(a=>!a.disabled),g=document.activeElement,h=f.find(a=>a.ref.current===g)?.textValue,i=function(a,b,c){var d;let e=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,f=c?a.indexOf(c):-1,g=(d=Math.max(f,0),a.map((b,c)=>a[(d+c)%a.length]));1===e.length&&(g=g.filter(a=>a!==c));let h=g.find(a=>a.toLowerCase().startsWith(e.toLowerCase()));return h!==c?h:void 0}(f.map(a=>a.textValue),b,h),j=f.find(a=>a.textValue===i)?.ref.current,function a(b){J.current=b,window.clearTimeout(I.current),""!==b&&(I.current=window.setTimeout(()=>a(""),1e3))}(b),j&&setTimeout(()=>j.focus()))}let f=G.current;if(a.target!==f||!N.includes(a.key))return;a.preventDefault();let g=D().filter(a=>!a.disabled).map(a=>a.ref.current);M.includes(a.key)&&g.reverse(),function(a){let b=document.activeElement;for(let c of a)if(c===b||(c.focus(),document.activeElement!==b))return}(g)}),onBlur:(0,d.composeEventHandlers)(a.onBlur,a=>{a.currentTarget.contains(a.target)||(window.clearTimeout(I.current),J.current="")}),onPointerMove:(0,d.composeEventHandlers)(a.onPointerMove,aQ(a=>{let b=a.target,c=Q.current!==a.clientX;a.currentTarget.contains(b)&&c&&(P.current=a.clientX>Q.current?"right":"left",Q.current=a.clientX)}))})})})})})})});aj.displayName=ag;var ao=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(h.Primitive.div,{role:"group",...e,ref:c})});ao.displayName="MenuGroup";var ap=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(h.Primitive.div,{...e,ref:c})});ap.displayName="MenuLabel";var aq="MenuItem",ar="menu.itemSelect",as=c.forwardRef((a,f)=>{let{disabled:g=!1,onSelect:i,...j}=a,k=c.useRef(null),l=_(aq,a.__scopeMenu),m=ai(aq,a.__scopeMenu),n=(0,e.useComposedRefs)(f,k),o=c.useRef(!1);return(0,b.jsx)(at,{...j,ref:n,disabled:g,onClick:(0,d.composeEventHandlers)(a.onClick,()=>{let a=k.current;if(!g&&a){let b=new CustomEvent(ar,{bubbles:!0,cancelable:!0});a.addEventListener(ar,a=>i?.(a),{once:!0}),(0,h.dispatchDiscreteCustomEvent)(a,b),b.defaultPrevented?o.current=!1:l.onClose()}}),onPointerDown:b=>{a.onPointerDown?.(b),o.current=!0},onPointerUp:(0,d.composeEventHandlers)(a.onPointerUp,a=>{o.current||a.currentTarget?.click()}),onKeyDown:(0,d.composeEventHandlers)(a.onKeyDown,a=>{let b=""!==m.searchRef.current;g||b&&" "===a.key||L.includes(a.key)&&(a.currentTarget.click(),a.preventDefault())})})});as.displayName=aq;var at=c.forwardRef((a,f)=>{let{__scopeMenu:g,disabled:i=!1,textValue:j,...k}=a,l=ai(aq,g),m=X(g),n=c.useRef(null),o=(0,e.useComposedRefs)(f,n),[p,q]=c.useState(!1),[r,s]=c.useState("");return c.useEffect(()=>{let a=n.current;a&&s((a.textContent??"").trim())},[k.children]),(0,b.jsx)(R.ItemSlot,{scope:g,disabled:i,textValue:j??r,children:(0,b.jsx)(F,{asChild:!0,...m,focusable:!i,children:(0,b.jsx)(h.Primitive.div,{role:"menuitem","data-highlighted":p?"":void 0,"aria-disabled":i||void 0,"data-disabled":i?"":void 0,...k,ref:o,onPointerMove:(0,d.composeEventHandlers)(a.onPointerMove,aQ(a=>{i?l.onItemLeave(a):(l.onItemEnter(a),a.defaultPrevented||a.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,d.composeEventHandlers)(a.onPointerLeave,aQ(a=>l.onItemLeave(a))),onFocus:(0,d.composeEventHandlers)(a.onFocus,()=>q(!0)),onBlur:(0,d.composeEventHandlers)(a.onBlur,()=>q(!1))})})})}),au=c.forwardRef((a,c)=>{let{checked:e=!1,onCheckedChange:f,...g}=a;return(0,b.jsx)(aC,{scope:a.__scopeMenu,checked:e,children:(0,b.jsx)(as,{role:"menuitemcheckbox","aria-checked":aO(e)?"mixed":e,...g,ref:c,"data-state":aP(e),onSelect:(0,d.composeEventHandlers)(g.onSelect,()=>f?.(!!aO(e)||!e),{checkForDefaultPrevented:!1})})})});au.displayName="MenuCheckboxItem";var av="MenuRadioGroup",[aw,ax]=U(av,{value:void 0,onValueChange:()=>{}}),ay=c.forwardRef((a,c)=>{let{value:d,onValueChange:e,...f}=a,g=(0,r.useCallbackRef)(e);return(0,b.jsx)(aw,{scope:a.__scopeMenu,value:d,onValueChange:g,children:(0,b.jsx)(ao,{...f,ref:c})})});ay.displayName=av;var az="MenuRadioItem",aA=c.forwardRef((a,c)=>{let{value:e,...f}=a,g=ax(az,a.__scopeMenu),h=e===g.value;return(0,b.jsx)(aC,{scope:a.__scopeMenu,checked:h,children:(0,b.jsx)(as,{role:"menuitemradio","aria-checked":h,...f,ref:c,"data-state":aP(h),onSelect:(0,d.composeEventHandlers)(f.onSelect,()=>g.onValueChange?.(e),{checkForDefaultPrevented:!1})})})});aA.displayName=az;var aB="MenuItemIndicator",[aC,aD]=U(aB,{checked:!1}),aE=c.forwardRef((a,c)=>{let{__scopeMenu:d,forceMount:e,...f}=a,g=aD(aB,d);return(0,b.jsx)(q.Presence,{present:e||aO(g.checked)||!0===g.checked,children:(0,b.jsx)(h.Primitive.span,{...f,ref:c,"data-state":aP(g.checked)})})});aE.displayName=aB;var aF=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(h.Primitive.div,{role:"separator","aria-orientation":"horizontal",...e,ref:c})});aF.displayName="MenuSeparator";var aG=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a,f=W(d);return(0,b.jsx)(o.Arrow,{...f,...e,ref:c})});aG.displayName="MenuArrow";var[aH,aI]=U("MenuSub"),aJ="MenuSubTrigger",aK=c.forwardRef((a,f)=>{let g=Z(aJ,a.__scopeMenu),h=_(aJ,a.__scopeMenu),i=aI(aJ,a.__scopeMenu),j=ai(aJ,a.__scopeMenu),k=c.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:m}=j,n={__scopeMenu:a.__scopeMenu},o=c.useCallback(()=>{k.current&&window.clearTimeout(k.current),k.current=null},[]);return c.useEffect(()=>o,[o]),c.useEffect(()=>{let a=l.current;return()=>{window.clearTimeout(a),m(null)}},[l,m]),(0,b.jsx)(ab,{asChild:!0,...n,children:(0,b.jsx)(at,{id:i.triggerId,"aria-haspopup":"menu","aria-expanded":g.open,"aria-controls":i.contentId,"data-state":aN(g.open),...a,ref:(0,e.composeRefs)(f,i.onTriggerChange),onClick:b=>{a.onClick?.(b),a.disabled||b.defaultPrevented||(b.currentTarget.focus(),g.open||g.onOpenChange(!0))},onPointerMove:(0,d.composeEventHandlers)(a.onPointerMove,aQ(b=>{j.onItemEnter(b),!b.defaultPrevented&&(a.disabled||g.open||k.current||(j.onPointerGraceIntentChange(null),k.current=window.setTimeout(()=>{g.onOpenChange(!0),o()},100)))})),onPointerLeave:(0,d.composeEventHandlers)(a.onPointerLeave,aQ(a=>{o();let b=g.content?.getBoundingClientRect();if(b){let c=g.content?.dataset.side,d="right"===c,e=b[d?"left":"right"],f=b[d?"right":"left"];j.onPointerGraceIntentChange({area:[{x:a.clientX+(d?-5:5),y:a.clientY},{x:e,y:b.top},{x:f,y:b.top},{x:f,y:b.bottom},{x:e,y:b.bottom}],side:c}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>j.onPointerGraceIntentChange(null),300)}else{if(j.onTriggerLeave(a),a.defaultPrevented)return;j.onPointerGraceIntentChange(null)}})),onKeyDown:(0,d.composeEventHandlers)(a.onKeyDown,b=>{let c=""!==j.searchRef.current;a.disabled||c&&" "===b.key||O[h.dir].includes(b.key)&&(g.onOpenChange(!0),g.content?.focus(),b.preventDefault())})})})});aK.displayName=aJ;var aL="MenuSubContent",aM=c.forwardRef((a,f)=>{let g=ae(ag,a.__scopeMenu),{forceMount:h=g.forceMount,...i}=a,j=Z(ag,a.__scopeMenu),k=_(ag,a.__scopeMenu),l=aI(aL,a.__scopeMenu),m=c.useRef(null),n=(0,e.useComposedRefs)(f,m);return(0,b.jsx)(R.Provider,{scope:a.__scopeMenu,children:(0,b.jsx)(q.Presence,{present:h||j.open,children:(0,b.jsx)(R.Slot,{scope:a.__scopeMenu,children:(0,b.jsx)(an,{id:l.contentId,"aria-labelledby":l.triggerId,...i,ref:n,align:"start",side:"rtl"===k.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:a=>{k.isUsingKeyboardRef.current&&m.current?.focus(),a.preventDefault()},onCloseAutoFocus:a=>a.preventDefault(),onFocusOutside:(0,d.composeEventHandlers)(a.onFocusOutside,a=>{a.target!==l.trigger&&j.onOpenChange(!1)}),onEscapeKeyDown:(0,d.composeEventHandlers)(a.onEscapeKeyDown,a=>{k.onClose(),a.preventDefault()}),onKeyDown:(0,d.composeEventHandlers)(a.onKeyDown,a=>{let b=a.currentTarget.contains(a.target),c=P[k.dir].includes(a.key);b&&c&&(j.onOpenChange(!1),l.trigger?.focus(),a.preventDefault())})})})})})});function aN(a){return a?"open":"closed"}function aO(a){return"indeterminate"===a}function aP(a){return aO(a)?"indeterminate":a?"checked":"unchecked"}function aQ(a){return b=>"mouse"===b.pointerType?a(b):void 0}aM.displayName=aL;var aR="DropdownMenu",[aS,aT]=(0,f.createContextScope)(aR,[V]),aU=V(),[aV,aW]=aS(aR),aX=a=>{let{__scopeDropdownMenu:d,children:e,dir:f,open:h,defaultOpen:i,onOpenChange:j,modal:k=!0}=a,l=aU(d),m=c.useRef(null),[o,p]=(0,g.useControllableState)({prop:h,defaultProp:i??!1,onChange:j,caller:aR});return(0,b.jsx)(aV,{scope:d,triggerId:(0,n.useId)(),triggerRef:m,contentId:(0,n.useId)(),open:o,onOpenChange:p,onOpenToggle:c.useCallback(()=>p(a=>!a),[p]),modal:k,children:(0,b.jsx)(aa,{...l,open:o,onOpenChange:p,dir:f,modal:k,children:e})})};aX.displayName=aR;var aY="DropdownMenuTrigger",aZ=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:f,disabled:g=!1,...i}=a,j=aW(aY,f),k=aU(f);return(0,b.jsx)(ab,{asChild:!0,...k,children:(0,b.jsx)(h.Primitive.button,{type:"button",id:j.triggerId,"aria-haspopup":"menu","aria-expanded":j.open,"aria-controls":j.open?j.contentId:void 0,"data-state":j.open?"open":"closed","data-disabled":g?"":void 0,disabled:g,...i,ref:(0,e.composeRefs)(c,j.triggerRef),onPointerDown:(0,d.composeEventHandlers)(a.onPointerDown,a=>{!g&&0===a.button&&!1===a.ctrlKey&&(j.onOpenToggle(),j.open||a.preventDefault())}),onKeyDown:(0,d.composeEventHandlers)(a.onKeyDown,a=>{!g&&(["Enter"," "].includes(a.key)&&j.onOpenToggle(),"ArrowDown"===a.key&&j.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(a.key)&&a.preventDefault())})})})});aZ.displayName=aY;var a$=a=>{let{__scopeDropdownMenu:c,...d}=a,e=aU(c);return(0,b.jsx)(af,{...e,...d})};a$.displayName="DropdownMenuPortal";var a_="DropdownMenuContent",a0=c.forwardRef((a,e)=>{let{__scopeDropdownMenu:f,...g}=a,h=aW(a_,f),i=aU(f),j=c.useRef(!1);return(0,b.jsx)(aj,{id:h.contentId,"aria-labelledby":h.triggerId,...i,...g,ref:e,onCloseAutoFocus:(0,d.composeEventHandlers)(a.onCloseAutoFocus,a=>{j.current||h.triggerRef.current?.focus(),j.current=!1,a.preventDefault()}),onInteractOutside:(0,d.composeEventHandlers)(a.onInteractOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey,d=2===b.button||c;(!h.modal||d)&&(j.current=!0)}),style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});a0.displayName=a_,c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aU(d);return(0,b.jsx)(ao,{...f,...e,ref:c})}).displayName="DropdownMenuGroup";var a1=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aU(d);return(0,b.jsx)(ap,{...f,...e,ref:c})});a1.displayName="DropdownMenuLabel";var a2=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aU(d);return(0,b.jsx)(as,{...f,...e,ref:c})});a2.displayName="DropdownMenuItem",c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aU(d);return(0,b.jsx)(au,{...f,...e,ref:c})}).displayName="DropdownMenuCheckboxItem",c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aU(d);return(0,b.jsx)(ay,{...f,...e,ref:c})}).displayName="DropdownMenuRadioGroup",c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aU(d);return(0,b.jsx)(aA,{...f,...e,ref:c})}).displayName="DropdownMenuRadioItem",c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aU(d);return(0,b.jsx)(aE,{...f,...e,ref:c})}).displayName="DropdownMenuItemIndicator";var a3=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aU(d);return(0,b.jsx)(aF,{...f,...e,ref:c})});a3.displayName="DropdownMenuSeparator",c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aU(d);return(0,b.jsx)(aG,{...f,...e,ref:c})}).displayName="DropdownMenuArrow",c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aU(d);return(0,b.jsx)(aK,{...f,...e,ref:c})}).displayName="DropdownMenuSubTrigger",c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=aU(d);return(0,b.jsx)(aM,{...f,...e,ref:c,style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})}).displayName="DropdownMenuSubContent",a.i(606406),a.i(111989),a.i(171150);var a4=a.i(368114);function a5({...a}){return(0,b.jsx)(aX,{"data-slot":"dropdown-menu",...a})}function a6({...a}){return(0,b.jsx)(aZ,{"data-slot":"dropdown-menu-trigger",...a})}function a7({className:a,sideOffset:c=4,...d}){return(0,b.jsx)(a$,{children:(0,b.jsx)(a0,{"data-slot":"dropdown-menu-content",sideOffset:c,className:(0,a4.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-xl border border-border/50 p-1 shadow-md",a),...d})})}function a8({className:a,inset:c,variant:d="default",...e}){return(0,b.jsx)(a2,{"data-slot":"dropdown-menu-item","data-inset":c,"data-variant":d,className:(0,a4.cn)("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",a),...e})}function a9({className:a,inset:c,...d}){return(0,b.jsx)(a1,{"data-slot":"dropdown-menu-label","data-inset":c,className:(0,a4.cn)("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",a),...d})}function ba({className:a,...c}){return(0,b.jsx)(a3,{"data-slot":"dropdown-menu-separator",className:(0,a4.cn)("bg-border -mx-1 my-1 h-px",a),...c})}a.s(["DropdownMenu",()=>a5,"DropdownMenuContent",()=>a7,"DropdownMenuItem",()=>a8,"DropdownMenuLabel",()=>a9,"DropdownMenuSeparator",()=>ba,"DropdownMenuTrigger",()=>a6],335732)},405784,a=>{"use strict";var b=a.i(504699);a.s(["ChevronDown",()=>b.default])},18697,a=>{"use strict";let b=(0,a.i(883706).default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);a.s(["MenuIcon",()=>b],18697)},114548,a=>{"use strict";let b=(0,a.i(883706).default)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);a.s(["Save",()=>b],114548)},776319,a=>{"use strict";let b=(0,a.i(883706).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);a.s(["default",()=>b])},705151,a=>{"use strict";var b=a.i(776319);a.s(["Copy",()=>b.default])},785259,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(507554),e=a.i(470121),f=a.i(750104),g=a.i(596743),h=a.i(392843),i=a.i(704691),j=a.i(692616),k=a.i(777192),l=a.i(30553),m=a.i(811011),n=a.i(225152),o=a.i(528094),[p,q]=(0,f.createContextScope)("Tooltip",[i.createPopperScope]),r=(0,i.createPopperScope)(),s="TooltipProvider",t="tooltip.open",[u,v]=p(s),w=a=>{let{__scopeTooltip:d,delayDuration:e=700,skipDelayDuration:f=300,disableHoverableContent:g=!1,children:h}=a,i=c.useRef(!0),j=c.useRef(!1),k=c.useRef(0);return c.useEffect(()=>{let a=k.current;return()=>window.clearTimeout(a)},[]),(0,b.jsx)(u,{scope:d,isOpenDelayedRef:i,delayDuration:e,onOpen:c.useCallback(()=>{window.clearTimeout(k.current),i.current=!1},[]),onClose:c.useCallback(()=>{window.clearTimeout(k.current),k.current=window.setTimeout(()=>i.current=!0,f)},[f]),isPointerInTransitRef:j,onPointerInTransitChange:c.useCallback(a=>{j.current=a},[]),disableHoverableContent:g,children:h})};w.displayName=s;var x="Tooltip",[y,z]=p(x),A=a=>{let{__scopeTooltip:d,children:e,open:f,defaultOpen:g,onOpenChange:j,disableHoverableContent:k,delayDuration:l}=a,m=v(x,a.__scopeTooltip),o=r(d),[p,q]=c.useState(null),s=(0,h.useId)(),u=c.useRef(0),w=k??m.disableHoverableContent,z=l??m.delayDuration,A=c.useRef(!1),[B,C]=(0,n.useControllableState)({prop:f,defaultProp:g??!1,onChange:a=>{a?(m.onOpen(),document.dispatchEvent(new CustomEvent(t))):m.onClose(),j?.(a)},caller:x}),D=c.useMemo(()=>B?A.current?"delayed-open":"instant-open":"closed",[B]),E=c.useCallback(()=>{window.clearTimeout(u.current),u.current=0,A.current=!1,C(!0)},[C]),F=c.useCallback(()=>{window.clearTimeout(u.current),u.current=0,C(!1)},[C]),G=c.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>{A.current=!0,C(!0),u.current=0},z)},[z,C]);return c.useEffect(()=>()=>{u.current&&(window.clearTimeout(u.current),u.current=0)},[]),(0,b.jsx)(i.Root,{...o,children:(0,b.jsx)(y,{scope:d,contentId:s,open:B,stateAttribute:D,trigger:p,onTriggerChange:q,onTriggerEnter:c.useCallback(()=>{m.isOpenDelayedRef.current?G():E()},[m.isOpenDelayedRef,G,E]),onTriggerLeave:c.useCallback(()=>{w?F():(window.clearTimeout(u.current),u.current=0)},[F,w]),onOpen:E,onClose:F,disableHoverableContent:w,children:e})})};A.displayName=x;var B="TooltipTrigger",C=c.forwardRef((a,f)=>{let{__scopeTooltip:g,...h}=a,j=z(B,g),k=v(B,g),m=r(g),n=c.useRef(null),o=(0,e.useComposedRefs)(f,n,j.onTriggerChange),p=c.useRef(!1),q=c.useRef(!1),s=c.useCallback(()=>p.current=!1,[]);return c.useEffect(()=>()=>document.removeEventListener("pointerup",s),[s]),(0,b.jsx)(i.Anchor,{asChild:!0,...m,children:(0,b.jsx)(l.Primitive.button,{"aria-describedby":j.open?j.contentId:void 0,"data-state":j.stateAttribute,...h,ref:o,onPointerMove:(0,d.composeEventHandlers)(a.onPointerMove,a=>{"touch"!==a.pointerType&&(q.current||k.isPointerInTransitRef.current||(j.onTriggerEnter(),q.current=!0))}),onPointerLeave:(0,d.composeEventHandlers)(a.onPointerLeave,()=>{j.onTriggerLeave(),q.current=!1}),onPointerDown:(0,d.composeEventHandlers)(a.onPointerDown,()=>{j.open&&j.onClose(),p.current=!0,document.addEventListener("pointerup",s,{once:!0})}),onFocus:(0,d.composeEventHandlers)(a.onFocus,()=>{p.current||j.onOpen()}),onBlur:(0,d.composeEventHandlers)(a.onBlur,j.onClose),onClick:(0,d.composeEventHandlers)(a.onClick,j.onClose)})})});C.displayName=B;var D="TooltipPortal",[E,F]=p(D,{forceMount:void 0}),G=a=>{let{__scopeTooltip:c,forceMount:d,children:e,container:f}=a,g=z(D,c);return(0,b.jsx)(E,{scope:c,forceMount:d,children:(0,b.jsx)(k.Presence,{present:d||g.open,children:(0,b.jsx)(j.Portal,{asChild:!0,container:f,children:e})})})};G.displayName=D;var H="TooltipContent",I=c.forwardRef((a,c)=>{let d=F(H,a.__scopeTooltip),{forceMount:e=d.forceMount,side:f="top",...g}=a,h=z(H,a.__scopeTooltip);return(0,b.jsx)(k.Presence,{present:e||h.open,children:h.disableHoverableContent?(0,b.jsx)(N,{side:f,...g,ref:c}):(0,b.jsx)(J,{side:f,...g,ref:c})})}),J=c.forwardRef((a,d)=>{let f=z(H,a.__scopeTooltip),g=v(H,a.__scopeTooltip),h=c.useRef(null),i=(0,e.useComposedRefs)(d,h),[j,k]=c.useState(null),{trigger:l,onClose:m}=f,n=h.current,{onPointerInTransitChange:o}=g,p=c.useCallback(()=>{k(null),o(!1)},[o]),q=c.useCallback((a,b)=>{let c,d=a.currentTarget,e={x:a.clientX,y:a.clientY},f=function(a,b){let c=Math.abs(b.top-a.y),d=Math.abs(b.bottom-a.y),e=Math.abs(b.right-a.x),f=Math.abs(b.left-a.x);switch(Math.min(c,d,e,f)){case f:return"left";case e:return"right";case c:return"top";case d:return"bottom";default:throw Error("unreachable")}}(e,d.getBoundingClientRect());k(((c=[...function(a,b,c=5){let d=[];switch(b){case"top":d.push({x:a.x-c,y:a.y+c},{x:a.x+c,y:a.y+c});break;case"bottom":d.push({x:a.x-c,y:a.y-c},{x:a.x+c,y:a.y-c});break;case"left":d.push({x:a.x+c,y:a.y-c},{x:a.x+c,y:a.y+c});break;case"right":d.push({x:a.x-c,y:a.y-c},{x:a.x-c,y:a.y+c})}return d}(e,f),...function(a){let{top:b,right:c,bottom:d,left:e}=a;return[{x:e,y:b},{x:c,y:b},{x:c,y:d},{x:e,y:d}]}(b.getBoundingClientRect())].slice()).sort((a,b)=>a.x<b.x?-1:a.x>b.x?1:a.y<b.y?-1:1*!!(a.y>b.y)),function(a){if(a.length<=1)return a.slice();let b=[];for(let c=0;c<a.length;c++){let d=a[c];for(;b.length>=2;){let a=b[b.length-1],c=b[b.length-2];if((a.x-c.x)*(d.y-c.y)>=(a.y-c.y)*(d.x-c.x))b.pop();else break}b.push(d)}b.pop();let c=[];for(let b=a.length-1;b>=0;b--){let d=a[b];for(;c.length>=2;){let a=c[c.length-1],b=c[c.length-2];if((a.x-b.x)*(d.y-b.y)>=(a.y-b.y)*(d.x-b.x))c.pop();else break}c.push(d)}return(c.pop(),1===b.length&&1===c.length&&b[0].x===c[0].x&&b[0].y===c[0].y)?b:b.concat(c)}(c))),o(!0)},[o]);return c.useEffect(()=>()=>p(),[p]),c.useEffect(()=>{if(l&&n){let a=a=>q(a,n),b=a=>q(a,l);return l.addEventListener("pointerleave",a),n.addEventListener("pointerleave",b),()=>{l.removeEventListener("pointerleave",a),n.removeEventListener("pointerleave",b)}}},[l,n,q,p]),c.useEffect(()=>{if(j){let a=a=>{let b=a.target,c={x:a.clientX,y:a.clientY},d=l?.contains(b)||n?.contains(b),e=!function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a],h=b[f],i=g.x,j=g.y,k=h.x,l=h.y;j>d!=l>d&&c<(k-i)*(d-j)/(l-j)+i&&(e=!e)}return e}(c,j);d?p():e&&(p(),m())};return document.addEventListener("pointermove",a),()=>document.removeEventListener("pointermove",a)}},[l,n,j,m,p]),(0,b.jsx)(N,{...a,ref:i})}),[K,L]=p(x,{isInside:!1}),M=(0,m.createSlottable)("TooltipContent"),N=c.forwardRef((a,d)=>{let{__scopeTooltip:e,children:f,"aria-label":h,onEscapeKeyDown:j,onPointerDownOutside:k,...l}=a,m=z(H,e),n=r(e),{onClose:p}=m;return c.useEffect(()=>(document.addEventListener(t,p),()=>document.removeEventListener(t,p)),[p]),c.useEffect(()=>{if(m.trigger){let a=a=>{let b=a.target;b?.contains(m.trigger)&&p()};return window.addEventListener("scroll",a,{capture:!0}),()=>window.removeEventListener("scroll",a,{capture:!0})}},[m.trigger,p]),(0,b.jsx)(g.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:j,onPointerDownOutside:k,onFocusOutside:a=>a.preventDefault(),onDismiss:p,children:(0,b.jsxs)(i.Content,{"data-state":m.stateAttribute,...n,...l,ref:d,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,b.jsx)(M,{children:f}),(0,b.jsx)(K,{scope:e,isInside:!0,children:(0,b.jsx)(o.Root,{id:m.contentId,role:"tooltip",children:h||f})})]})})});I.displayName=H;var O="TooltipArrow",P=c.forwardRef((a,c)=>{let{__scopeTooltip:d,...e}=a,f=r(d);return L(O,d).isInside?null:(0,b.jsx)(i.Arrow,{...f,...e,ref:c})});P.displayName=O;var Q=a.i(368114);function R({delayDuration:a=0,...c}){return(0,b.jsx)(w,{"data-slot":"tooltip-provider",delayDuration:a,...c})}function S({...a}){return(0,b.jsx)(R,{children:(0,b.jsx)(A,{"data-slot":"tooltip",...a})})}function T({...a}){return(0,b.jsx)(C,{"data-slot":"tooltip-trigger",...a})}function U({className:a,sideOffset:c=0,children:d,...e}){return(0,b.jsx)(G,{children:(0,b.jsxs)(I,{"data-slot":"tooltip-content",sideOffset:c,className:(0,Q.cn)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",a),...e,children:[d,(0,b.jsx)(P,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}a.s(["Tooltip",()=>S,"TooltipContent",()=>U,"TooltipProvider",()=>R,"TooltipTrigger",()=>T],785259)},640672,a=>{"use strict";let b,c;var d=a.i(187924);function e(a){return a+.5|0}let f=(a,b,c)=>Math.max(Math.min(a,c),b);function g(a){return f(e(2.55*a),0,255)}function h(a){return f(e(255*a),0,255)}function i(a){return f(e(a/2.55)/100,0,1)}function j(a){return f(e(100*a),0,100)}let k={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},l=[..."0123456789ABCDEF"],m=a=>l[15&a],n=a=>l[(240&a)>>4]+l[15&a],o=a=>(240&a)>>4==(15&a),p=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function q(a,b,c){let d=b*Math.min(c,1-c),e=(b,e=(b+a/30)%12)=>c-d*Math.max(Math.min(e-3,9-e,1),-1);return[e(0),e(8),e(4)]}function r(a,b,c){let d=(d,e=(d+a/60)%6)=>c-c*b*Math.max(Math.min(e,4-e,1),0);return[d(5),d(3),d(1)]}function s(a,b,c){let d,e=q(a,1,.5);for(b+c>1&&(d=1/(b+c),b*=d,c*=d),d=0;d<3;d++)e[d]*=1-b-c,e[d]+=b;return e}function t(a){let b,c,d,e=a.r/255,f=a.g/255,g=a.b/255,h=Math.max(e,f,g),i=Math.min(e,f,g),j=(h+i)/2;h!==i&&(d=h-i,c=j>.5?d/(2-h-i):d/(h+i),b=60*(b=e===h?(f-g)/d+6*(f<g):f===h?(g-e)/d+2:(e-f)/d+4)+.5);return[0|b,c||0,j]}function u(a,b,c,d){return(Array.isArray(b)?a(b[0],b[1],b[2]):a(b,c,d)).map(h)}function v(a){return(a%360+360)%360}let w={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},x={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"},y=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/,z=a=>a<=.0031308?12.92*a:1.055*Math.pow(a,1/2.4)-.055,A=a=>a<=.04045?a/12.92:Math.pow((a+.055)/1.055,2.4);function B(a,b,c){if(a){let d=t(a);d[b]=Math.max(0,Math.min(d[b]+d[b]*c,0===b?360:1)),a.r=(d=u(q,d,void 0,void 0))[0],a.g=d[1],a.b=d[2]}}function C(a,b){return a?Object.assign(b||{},a):a}function D(a){var b={r:0,g:0,b:0,a:255};return Array.isArray(a)?a.length>=3&&(b={r:a[0],g:a[1],b:a[2],a:255},a.length>3&&(b.a=h(a[3]))):(b=C(a,{r:0,g:0,b:0,a:1})).a=h(b.a),b}class E{constructor(a){let c;if(a instanceof E)return a;const d=typeof a;"object"===d?c=D(a):"string"===d&&(c=function(a){var b,c=a.length;return"#"===a[0]&&(4===c||5===c?b={r:255&17*k[a[1]],g:255&17*k[a[2]],b:255&17*k[a[3]],a:5===c?17*k[a[4]]:255}:(7===c||9===c)&&(b={r:k[a[1]]<<4|k[a[2]],g:k[a[3]]<<4|k[a[4]],b:k[a[5]]<<4|k[a[6]],a:9===c?k[a[7]]<<4|k[a[8]]:255})),b}(a)||function(a){b||((b=function(){let a,b,c,d,e,f={},g=Object.keys(x),h=Object.keys(w);for(a=0;a<g.length;a++){for(b=0,d=e=g[a];b<h.length;b++)c=h[b],e=e.replace(c,w[c]);c=parseInt(x[d],16),f[e]=[c>>16&255,c>>8&255,255&c]}return f}()).transparent=[0,0,0,0]);let c=b[a.toLowerCase()];return c&&{r:c[0],g:c[1],b:c[2],a:4===c.length?c[3]:255}}(a)||function(a){return"r"===a.charAt(0)?function(a){let b,c,d,e=y.exec(a),h=255;if(e){if(e[7]!==b){let a=+e[7];h=e[8]?g(a):f(255*a,0,255)}return b=+e[1],c=+e[3],d=+e[5],b=255&(e[2]?g(b):f(b,0,255)),{r:b,g:c=255&(e[4]?g(c):f(c,0,255)),b:d=255&(e[6]?g(d):f(d,0,255)),a:h}}}(a):function(a){let b,c=p.exec(a),d=255;if(!c)return;c[5]!==b&&(d=c[6]?g(+c[5]):h(+c[5]));let e=v(+c[2]),f=c[3]/100,i=c[4]/100;return{r:(b="hwb"===c[1]?u(s,e,f,i):"hsv"===c[1]?u(r,e,f,i):u(q,e,f,i))[0],g:b[1],b:b[2],a:d}}(a)}(a)),this._rgb=c,this._valid=!!c}get valid(){return this._valid}get rgb(){var a=C(this._rgb);return a&&(a.a=i(a.a)),a}set rgb(a){this._rgb=D(a)}rgbString(){var a;return this._valid?(a=this._rgb)&&(a.a<255?`rgba(${a.r}, ${a.g}, ${a.b}, ${i(a.a)})`:`rgb(${a.r}, ${a.g}, ${a.b})`):void 0}hexString(){var a,b;let c,d;return this._valid?(b=o((c=a=this._rgb).r)&&o(c.g)&&o(c.b)&&o(c.a)?m:n,a?"#"+b(a.r)+b(a.g)+b(a.b)+(d=a.a,d<255?b(d):""):void 0):void 0}hslString(){return this._valid?function(a){if(!a)return;let b=t(a),c=b[0],d=j(b[1]),e=j(b[2]);return a.a<255?`hsla(${c}, ${d}%, ${e}%, ${i(a.a)})`:`hsl(${c}, ${d}%, ${e}%)`}(this._rgb):void 0}mix(a,b){if(a){let c,d=this.rgb,e=a.rgb,f=b===c?.5:b,g=2*f-1,h=d.a-e.a,i=((g*h==-1?g:(g+h)/(1+g*h))+1)/2;c=1-i,d.r=255&i*d.r+c*e.r+.5,d.g=255&i*d.g+c*e.g+.5,d.b=255&i*d.b+c*e.b+.5,d.a=f*d.a+(1-f)*e.a,this.rgb=d}return this}interpolate(a,b){var c,d;let e,f,g;return a&&(this._rgb=(c=this._rgb,d=a._rgb,e=A(i(c.r)),f=A(i(c.g)),g=A(i(c.b)),{r:h(z(e+b*(A(i(d.r))-e))),g:h(z(f+b*(A(i(d.g))-f))),b:h(z(g+b*(A(i(d.b))-g))),a:c.a+b*(d.a-c.a)})),this}clone(){return new E(this.rgb)}alpha(a){return this._rgb.a=h(a),this}clearer(a){let b=this._rgb;return b.a*=1-a,this}greyscale(){let a=this._rgb,b=e(.3*a.r+.59*a.g+.11*a.b);return a.r=a.g=a.b=b,this}opaquer(a){let b=this._rgb;return b.a*=1+a,this}negate(){let a=this._rgb;return a.r=255-a.r,a.g=255-a.g,a.b=255-a.b,this}lighten(a){return B(this._rgb,2,a),this}darken(a){return B(this._rgb,2,-a),this}saturate(a){return B(this._rgb,1,a),this}desaturate(a){return B(this._rgb,1,-a),this}rotate(a){var b,c;return b=this._rgb,(c=t(b))[0]=v(c[0]+a),b.r=(c=u(q,c,void 0,void 0))[0],b.g=c[1],b.b=c[2],this}}function F(){}let G=(c=0,()=>c++);function H(a){return null==a}function I(a){if(Array.isArray&&Array.isArray(a))return!0;let b=Object.prototype.toString.call(a);return"[object"===b.slice(0,7)&&"Array]"===b.slice(-6)}function J(a){return null!==a&&"[object Object]"===Object.prototype.toString.call(a)}function K(a){return("number"==typeof a||a instanceof Number)&&isFinite(+a)}function L(a,b){return K(a)?a:b}function M(a,b){return void 0===a?b:a}let N=(a,b)=>"string"==typeof a&&a.endsWith("%")?parseFloat(a)/100*b:+a;function O(a,b,c){if(a&&"function"==typeof a.call)return a.apply(c,b)}function P(a,b,c,d){let e,f,g;if(I(a))if(f=a.length,d)for(e=f-1;e>=0;e--)b.call(c,a[e],e);else for(e=0;e<f;e++)b.call(c,a[e],e);else if(J(a))for(e=0,f=(g=Object.keys(a)).length;e<f;e++)b.call(c,a[g[e]],g[e])}function Q(a,b){let c,d,e,f;if(!a||!b||a.length!==b.length)return!1;for(c=0,d=a.length;c<d;++c)if(e=a[c],f=b[c],e.datasetIndex!==f.datasetIndex||e.index!==f.index)return!1;return!0}function R(a){if(I(a))return a.map(R);if(J(a)){let b=Object.create(null),c=Object.keys(a),d=c.length,e=0;for(;e<d;++e)b[c[e]]=R(a[c[e]]);return b}return a}function S(a){return -1===["__proto__","prototype","constructor"].indexOf(a)}function T(a,b,c,d){if(!S(a))return;let e=b[a],f=c[a];J(e)&&J(f)?U(e,f,d):b[a]=R(f)}function U(a,b,c){let d,e=I(b)?b:[b],f=e.length;if(!J(a))return a;let g=(c=c||{}).merger||T;for(let b=0;b<f;++b){if(!J(d=e[b]))continue;let f=Object.keys(d);for(let b=0,e=f.length;b<e;++b)g(f[b],a,d,c)}return a}function V(a,b){return U(a,b,{merger:W})}function W(a,b,c){if(!S(a))return;let d=b[a],e=c[a];J(d)&&J(e)?V(d,e):Object.prototype.hasOwnProperty.call(b,a)||(b[a]=R(e))}let X={"":a=>a,x:a=>a.x,y:a=>a.y};function Y(a,b){let c;return(X[b]||(X[b]=(c=function(a){let b=a.split("."),c=[],d="";for(let a of b)(d+=a).endsWith("\\")?d=d.slice(0,-1)+".":(c.push(d),d="");return c}(b),a=>{for(let b of c){if(""===b)break;a=a&&a[b]}return a})))(a)}function Z(a){return a.charAt(0).toUpperCase()+a.slice(1)}let $=a=>void 0!==a,_=a=>"function"==typeof a,aa=(a,b)=>{if(a.size!==b.size)return!1;for(let c of a)if(!b.has(c))return!1;return!0},ab=Math.PI,ac=2*ab,ad=ac+ab,ae=ab/180,af=ab/2,ag=ab/4,ah=2*ab/3,ai=Math.log10,aj=Math.sign;function ak(a,b,c){return Math.abs(a-b)<c}function al(a){let b=Math.round(a),c=Math.pow(10,Math.floor(ai(a=ak(a,b,a/1e3)?b:a))),d=a/c;return(d<=1?1:d<=2?2:d<=5?5:10)*c}function am(a){return"symbol"!=typeof a&&("object"!=typeof a||null===a||!!(Symbol.toPrimitive in a||"toString"in a||"valueOf"in a))&&!isNaN(parseFloat(a))&&isFinite(a)}function an(a,b,c){let d,e,f;for(d=0,e=a.length;d<e;d++)isNaN(f=a[d][c])||(b.min=Math.min(b.min,f),b.max=Math.max(b.max,f))}function ao(a){return ab/180*a}function ap(a){if(!K(a))return;let b=1,c=0;for(;Math.round(a*b)/b!==a;)b*=10,c++;return c}function aq(a,b){let c=b.x-a.x,d=b.y-a.y,e=Math.sqrt(c*c+d*d),f=Math.atan2(d,c);return f<-.5*ab&&(f+=ac),{angle:f,distance:e}}function ar(a,b){return Math.sqrt(Math.pow(b.x-a.x,2)+Math.pow(b.y-a.y,2))}function as(a,b){return(a-b+ad)%ac-ab}function at(a){return(a%ac+ac)%ac}function au(a,b,c,d){let e=at(a),f=at(b),g=at(c),h=at(f-e),i=at(g-e),j=at(e-f),k=at(e-g);return e===f||e===g||d&&f===g||h>i&&j<k}function av(a,b,c){return Math.max(b,Math.min(c,a))}function aw(a,b,c,d=1e-6){return a>=Math.min(b,c)-d&&a<=Math.max(b,c)+d}function ax(a,b,c){let d;c=c||(c=>a[c]<b);let e=a.length-1,f=0;for(;e-f>1;)c(d=f+e>>1)?f=d:e=d;return{lo:f,hi:e}}let ay=(a,b,c,d)=>ax(a,c,d?d=>{let e=a[d][b];return e<c||e===c&&a[d+1][b]===c}:d=>a[d][b]<c),az=(a,b,c)=>ax(a,c,d=>a[d][b]>=c),aA=["push","pop","shift","splice","unshift"];function aB(a,b){let c=a._chartjs;if(!c)return;let d=c.listeners,e=d.indexOf(b);-1!==e&&d.splice(e,1),d.length>0||(aA.forEach(b=>{delete a[b]}),delete a._chartjs)}function aC(a){let b=new Set(a);return b.size===a.length?a:Array.from(b)}let aD=function(a){return a()},aE=a=>"start"===a?"left":"end"===a?"right":"center",aF=(a,b,c)=>"start"===a?b:"end"===a?c:(b+c)/2;function aG(a,b,c){let d=b.length,e=0,f=d;if(a._sorted){let{iScale:g,vScale:h,_parsed:i}=a,j=a.dataset&&a.dataset.options?a.dataset.options.spanGaps:null,k=g.axis,{min:l,max:m,minDefined:n,maxDefined:o}=g.getUserBounds();if(n){if(e=Math.min(ay(i,k,l).lo,c?d:ay(b,k,g.getPixelForValue(l)).lo),j){let a=i.slice(0,e+1).reverse().findIndex(a=>!H(a[h.axis]));e-=Math.max(0,a)}e=av(e,0,d-1)}if(o){let a=Math.max(ay(i,g.axis,m,!0).hi+1,c?0:ay(b,k,g.getPixelForValue(m),!0).hi+1);if(j){let b=i.slice(a-1).findIndex(a=>!H(a[h.axis]));a+=Math.max(0,b)}f=av(a,e,d)-e}else f=d-e}return{start:e,count:f}}function aH(a){let{xScale:b,yScale:c,_scaleRanges:d}=a,e={xmin:b.min,xmax:b.max,ymin:c.min,ymax:c.max};if(!d)return a._scaleRanges=e,!0;let f=d.xmin!==b.min||d.xmax!==b.max||d.ymin!==c.min||d.ymax!==c.max;return Object.assign(d,e),f}let aI=a=>0===a||1===a,aJ=(a,b,c)=>-(Math.pow(2,10*(a-=1))*Math.sin((a-b)*ac/c)),aK=(a,b,c)=>Math.pow(2,-10*a)*Math.sin((a-b)*ac/c)+1,aL={linear:a=>a,easeInQuad:a=>a*a,easeOutQuad:a=>-a*(a-2),easeInOutQuad:a=>(a/=.5)<1?.5*a*a:-.5*(--a*(a-2)-1),easeInCubic:a=>a*a*a,easeOutCubic:a=>(a-=1)*a*a+1,easeInOutCubic:a=>(a/=.5)<1?.5*a*a*a:.5*((a-=2)*a*a+2),easeInQuart:a=>a*a*a*a,easeOutQuart:a=>-((a-=1)*a*a*a-1),easeInOutQuart:a=>(a/=.5)<1?.5*a*a*a*a:-.5*((a-=2)*a*a*a-2),easeInQuint:a=>a*a*a*a*a,easeOutQuint:a=>(a-=1)*a*a*a*a+1,easeInOutQuint:a=>(a/=.5)<1?.5*a*a*a*a*a:.5*((a-=2)*a*a*a*a+2),easeInSine:a=>-Math.cos(a*af)+1,easeOutSine:a=>Math.sin(a*af),easeInOutSine:a=>-.5*(Math.cos(ab*a)-1),easeInExpo:a=>0===a?0:Math.pow(2,10*(a-1)),easeOutExpo:a=>1===a?1:-Math.pow(2,-10*a)+1,easeInOutExpo:a=>aI(a)?a:a<.5?.5*Math.pow(2,10*(2*a-1)):.5*(-Math.pow(2,-10*(2*a-1))+2),easeInCirc:a=>a>=1?a:-(Math.sqrt(1-a*a)-1),easeOutCirc:a=>Math.sqrt(1-(a-=1)*a),easeInOutCirc:a=>(a/=.5)<1?-.5*(Math.sqrt(1-a*a)-1):.5*(Math.sqrt(1-(a-=2)*a)+1),easeInElastic:a=>aI(a)?a:aJ(a,.075,.3),easeOutElastic:a=>aI(a)?a:aK(a,.075,.3),easeInOutElastic:a=>aI(a)?a:a<.5?.5*aJ(2*a,.1125,.45):.5+.5*aK(2*a-1,.1125,.45),easeInBack:a=>a*a*(2.70158*a-1.70158),easeOutBack:a=>(a-=1)*a*(2.70158*a+1.70158)+1,easeInOutBack(a){let b=1.70158;return(a/=.5)<1?.5*(a*a*(((b*=1.525)+1)*a-b)):.5*((a-=2)*a*(((b*=1.525)+1)*a+b)+2)},easeInBounce:a=>1-aL.easeOutBounce(1-a),easeOutBounce:a=>a<.36363636363636365?7.5625*a*a:a<.7272727272727273?7.5625*(a-=.5454545454545454)*a+.75:a<.9090909090909091?7.5625*(a-=.8181818181818182)*a+.9375:7.5625*(a-=.9545454545454546)*a+.984375,easeInOutBounce:a=>a<.5?.5*aL.easeInBounce(2*a):.5*aL.easeOutBounce(2*a-1)+.5};function aM(a){if(a&&"object"==typeof a){let b=a.toString();return"[object CanvasPattern]"===b||"[object CanvasGradient]"===b}return!1}function aN(a){return aM(a)?a:new E(a)}function aO(a){return aM(a)?a:new E(a).saturate(.5).darken(.1).hexString()}let aP=["x","y","borderWidth","radius","tension"],aQ=["color","borderColor","backgroundColor"],aR=new Map;function aS(a,b,c){var d;let e,f;return(e=b+JSON.stringify(d=(d=c)||{}),!(f=aR.get(e))&&(f=new Intl.NumberFormat(b,d),aR.set(e,f)),f).format(a)}let aT={values:a=>I(a)?a:""+a,numeric(a,b,c){let d;if(0===a)return"0";let e=this.chart.options.locale,f=a;if(c.length>1){var g,h;let b,e=Math.max(Math.abs(c[0].value),Math.abs(c[c.length-1].value));(e<1e-4||e>1e15)&&(d="scientific"),g=a,Math.abs(b=(h=c).length>3?h[2].value-h[1].value:h[1].value-h[0].value)>=1&&g!==Math.floor(g)&&(b=g-Math.floor(g)),f=b}let i=ai(Math.abs(f)),j=isNaN(i)?1:Math.max(Math.min(-1*Math.floor(i),20),0),k={notation:d,minimumFractionDigits:j,maximumFractionDigits:j};return Object.assign(k,this.options.ticks.format),aS(a,e,k)},logarithmic(a,b,c){return 0===a?"0":[1,2,3,5,10,15].includes(c[b].significand||a/Math.pow(10,Math.floor(ai(a))))||b>.8*c.length?aT.numeric.call(this,a,b,c):""}},aU=Object.create(null),aV=Object.create(null);function aW(a,b){if(!b)return a;let c=b.split(".");for(let b=0,d=c.length;b<d;++b){let d=c[b];a=a[d]||(a[d]=Object.create(null))}return a}function aX(a,b,c){return"string"==typeof b?U(aW(a,b),c):U(aW(a,""),b)}var aY=new class{constructor(a,b){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=a=>a.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(a,b)=>aO(b.backgroundColor),this.hoverBorderColor=(a,b)=>aO(b.borderColor),this.hoverColor=(a,b)=>aO(b.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(a),this.apply(b)}set(a,b){return aX(this,a,b)}get(a){return aW(this,a)}describe(a,b){return aX(aV,a,b)}override(a,b){return aX(aU,a,b)}route(a,b,c,d){let e=aW(this,a),f=aW(this,c),g="_"+b;Object.defineProperties(e,{[g]:{value:e[b],writable:!0},[b]:{enumerable:!0,get(){let a=this[g],b=f[d];return J(a)?Object.assign({},b,a):M(a,b)},set(a){this[g]=a}}})}apply(a){a.forEach(a=>a(this))}}({_scriptable:a=>!a.startsWith("on"),_indexable:a=>"events"!==a,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[function(a){a.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),a.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:a=>"onProgress"!==a&&"onComplete"!==a&&"fn"!==a}),a.set("animations",{colors:{type:"color",properties:aQ},numbers:{type:"number",properties:aP}}),a.describe("animations",{_fallback:"animation"}),a.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:a=>0|a}}}})},function(a){a.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})},function(a){a.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(a,b)=>b.lineWidth,tickColor:(a,b)=>b.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:aT.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),a.route("scale.ticks","color","","color"),a.route("scale.grid","color","","borderColor"),a.route("scale.border","color","","borderColor"),a.route("scale.title","color","","color"),a.describe("scale",{_fallback:!1,_scriptable:a=>!a.startsWith("before")&&!a.startsWith("after")&&"callback"!==a&&"parser"!==a,_indexable:a=>"borderDash"!==a&&"tickBorderDash"!==a&&"dash"!==a}),a.describe("scales",{_fallback:"scale"}),a.describe("scale.ticks",{_scriptable:a=>"backdropPadding"!==a&&"callback"!==a,_indexable:a=>"backdropPadding"!==a})}]);function aZ(a,b,c,d,e){let f=b[e];return f||(f=b[e]=a.measureText(e).width,c.push(e)),f>d&&(d=f),d}function a$(a,b,c){let d=a.currentDevicePixelRatio,e=0!==c?Math.max(c/2,.5):0;return Math.round((b-e)*d)/d+e}function a_(a,b){(b||a)&&((b=b||a.getContext("2d")).save(),b.resetTransform(),b.clearRect(0,0,a.width,a.height),b.restore())}function a0(a,b,c,d){a1(a,b,c,d,null)}function a1(a,b,c,d,e){let f,g,h,i,j,k,l,m,n=b.pointStyle,o=b.rotation,p=b.radius,q=(o||0)*ae;if(n&&"object"==typeof n&&("[object HTMLImageElement]"===(f=n.toString())||"[object HTMLCanvasElement]"===f)){a.save(),a.translate(c,d),a.rotate(q),a.drawImage(n,-n.width/2,-n.height/2,n.width,n.height),a.restore();return}if(!isNaN(p)&&!(p<=0)){switch(a.beginPath(),n){default:e?a.ellipse(c,d,e/2,p,0,0,ac):a.arc(c,d,p,0,ac),a.closePath();break;case"triangle":k=e?e/2:p,a.moveTo(c+Math.sin(q)*k,d-Math.cos(q)*p),q+=ah,a.lineTo(c+Math.sin(q)*k,d-Math.cos(q)*p),q+=ah,a.lineTo(c+Math.sin(q)*k,d-Math.cos(q)*p),a.closePath();break;case"rectRounded":j=.516*p,g=Math.cos(q+ag)*(i=p-j),l=Math.cos(q+ag)*(e?e/2-j:i),h=Math.sin(q+ag)*i,m=Math.sin(q+ag)*(e?e/2-j:i),a.arc(c-l,d-h,j,q-ab,q-af),a.arc(c+m,d-g,j,q-af,q),a.arc(c+l,d+h,j,q,q+af),a.arc(c-m,d+g,j,q+af,q+ab),a.closePath();break;case"rect":if(!o){i=Math.SQRT1_2*p,k=e?e/2:i,a.rect(c-k,d-i,2*k,2*i);break}q+=ag;case"rectRot":l=Math.cos(q)*(e?e/2:p),g=Math.cos(q)*p,h=Math.sin(q)*p,m=Math.sin(q)*(e?e/2:p),a.moveTo(c-l,d-h),a.lineTo(c+m,d-g),a.lineTo(c+l,d+h),a.lineTo(c-m,d+g),a.closePath();break;case"crossRot":q+=ag;case"cross":l=Math.cos(q)*(e?e/2:p),g=Math.cos(q)*p,h=Math.sin(q)*p,m=Math.sin(q)*(e?e/2:p),a.moveTo(c-l,d-h),a.lineTo(c+l,d+h),a.moveTo(c+m,d-g),a.lineTo(c-m,d+g);break;case"star":l=Math.cos(q)*(e?e/2:p),g=Math.cos(q)*p,h=Math.sin(q)*p,m=Math.sin(q)*(e?e/2:p),a.moveTo(c-l,d-h),a.lineTo(c+l,d+h),a.moveTo(c+m,d-g),a.lineTo(c-m,d+g),q+=ag,l=Math.cos(q)*(e?e/2:p),g=Math.cos(q)*p,h=Math.sin(q)*p,m=Math.sin(q)*(e?e/2:p),a.moveTo(c-l,d-h),a.lineTo(c+l,d+h),a.moveTo(c+m,d-g),a.lineTo(c-m,d+g);break;case"line":g=e?e/2:Math.cos(q)*p,h=Math.sin(q)*p,a.moveTo(c-g,d-h),a.lineTo(c+g,d+h);break;case"dash":a.moveTo(c,d),a.lineTo(c+Math.cos(q)*(e?e/2:p),d+Math.sin(q)*p);break;case!1:a.closePath()}a.fill(),b.borderWidth>0&&a.stroke()}}function a2(a,b,c){return c=c||.5,!b||a&&a.x>b.left-c&&a.x<b.right+c&&a.y>b.top-c&&a.y<b.bottom+c}function a3(a,b){a.save(),a.beginPath(),a.rect(b.left,b.top,b.right-b.left,b.bottom-b.top),a.clip()}function a4(a){a.restore()}function a5(a,b,c,d,e){if(!b)return a.lineTo(c.x,c.y);if("middle"===e){let d=(b.x+c.x)/2;a.lineTo(d,b.y),a.lineTo(d,c.y)}else"after"===e!=!!d?a.lineTo(b.x,c.y):a.lineTo(c.x,b.y);a.lineTo(c.x,c.y)}function a6(a,b,c,d){if(!b)return a.lineTo(c.x,c.y);a.bezierCurveTo(d?b.cp1x:b.cp2x,d?b.cp1y:b.cp2y,d?c.cp2x:c.cp1x,d?c.cp2y:c.cp1y,c.x,c.y)}function a7(a,b,c,d,e,f={}){let g,h,i=I(b)?b:[b],j=f.strokeWidth>0&&""!==f.strokeColor;for(a.save(),a.font=e.string,f.translation&&a.translate(f.translation[0],f.translation[1]),H(f.rotation)||a.rotate(f.rotation),f.color&&(a.fillStyle=f.color),f.textAlign&&(a.textAlign=f.textAlign),f.textBaseline&&(a.textBaseline=f.textBaseline),g=0;g<i.length;++g)h=i[g],f.backdrop&&function(a,b){let c=a.fillStyle;a.fillStyle=b.color,a.fillRect(b.left,b.top,b.width,b.height),a.fillStyle=c}(a,f.backdrop),j&&(f.strokeColor&&(a.strokeStyle=f.strokeColor),H(f.strokeWidth)||(a.lineWidth=f.strokeWidth),a.strokeText(h,c,d,f.maxWidth)),a.fillText(h,c,d,f.maxWidth),function(a,b,c,d,e){if(e.strikethrough||e.underline){let f=a.measureText(d),g=b-f.actualBoundingBoxLeft,h=b+f.actualBoundingBoxRight,i=c-f.actualBoundingBoxAscent,j=c+f.actualBoundingBoxDescent,k=e.strikethrough?(i+j)/2:j;a.strokeStyle=a.fillStyle,a.beginPath(),a.lineWidth=e.decorationWidth||2,a.moveTo(g,k),a.lineTo(h,k),a.stroke()}}(a,c,d,h,f),d+=Number(e.lineHeight);a.restore()}function a8(a,b){let{x:c,y:d,w:e,h:f,radius:g}=b;a.arc(c+g.topLeft,d+g.topLeft,g.topLeft,1.5*ab,ab,!0),a.lineTo(c,d+f-g.bottomLeft),a.arc(c+g.bottomLeft,d+f-g.bottomLeft,g.bottomLeft,ab,af,!0),a.lineTo(c+e-g.bottomRight,d+f),a.arc(c+e-g.bottomRight,d+f-g.bottomRight,g.bottomRight,af,0,!0),a.lineTo(c+e,d+g.topRight),a.arc(c+e-g.topRight,d+g.topRight,g.topRight,0,-af,!0),a.lineTo(c+g.topLeft,d)}let a9=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,ba=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/,bb=a=>+a||0;function bc(a,b){let c={},d=J(b),e=d?Object.keys(b):b,f=J(a)?d?c=>M(a[c],a[b[c]]):b=>a[b]:()=>a;for(let a of e)c[a]=bb(f(a));return c}function bd(a){return bc(a,{top:"y",right:"x",bottom:"y",left:"x"})}function be(a){return bc(a,["topLeft","topRight","bottomLeft","bottomRight"])}function bf(a){let b=bd(a);return b.width=b.left+b.right,b.height=b.top+b.bottom,b}function bg(a,b){a=a||{},b=b||aY.font;let c=M(a.size,b.size);"string"==typeof c&&(c=parseInt(c,10));let d=M(a.style,b.style);d&&!(""+d).match(ba)&&(console.warn('Invalid font style specified: "'+d+'"'),d=void 0);let e={family:M(a.family,b.family),lineHeight:function(a,b){let c=(""+a).match(a9);if(!c||"normal"===c[1])return 1.2*b;switch(a=+c[2],c[3]){case"px":return a;case"%":a/=100}return b*a}(M(a.lineHeight,b.lineHeight),c),size:c,style:d,weight:M(a.weight,b.weight),string:""};return e.string=!e||H(e.size)||H(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family,e}function bh(a,b,c,d){let e,f,g,h=!0;for(e=0,f=a.length;e<f;++e)if(void 0!==(g=a[e])&&(void 0!==b&&"function"==typeof g&&(g=g(b),h=!1),void 0!==c&&I(g)&&(g=g[c%g.length],h=!1),void 0!==g))return d&&!h&&(d.cacheable=!1),g}function bi(a,b){return Object.assign(Object.create(a),b)}function bj(a,b=[""],c,d,e=()=>a[0]){let f=c||a;return void 0===d&&(d=bs("_fallback",a)),new Proxy({[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:a,_rootScopes:f,_fallback:d,_getTarget:e,override:c=>bj([c,...a],b,f,d)},{deleteProperty:(b,c)=>(delete b[c],delete b._keys,delete a[0][c],!0),get:(c,d)=>bo(c,d,()=>(function(a,b,c,d){let e;for(let f of b)if(void 0!==(e=bs(bm(f,a),c)))return bn(a,e)?bq(c,d,a,e):e})(d,b,a,c)),getOwnPropertyDescriptor:(a,b)=>Reflect.getOwnPropertyDescriptor(a._scopes[0],b),getPrototypeOf:()=>Reflect.getPrototypeOf(a[0]),has:(a,b)=>bt(a).includes(b),ownKeys:a=>bt(a),set(a,b,c){let d=a._storage||(a._storage=e());return a[b]=d[b]=c,delete a._keys,!0}})}function bk(a,b,c,d){return new Proxy({_cacheable:!1,_proxy:a,_context:b,_subProxy:c,_stack:new Set,_descriptors:bl(a,d),setContext:b=>bk(a,b,c,d),override:e=>bk(a.override(e),b,c,d)},{deleteProperty:(b,c)=>(delete b[c],delete a[c],!0),get:(a,b,c)=>bo(a,b,()=>(function(a,b,c){let{_proxy:d,_context:e,_subProxy:f,_descriptors:g}=a,h=d[b];return _(h)&&g.isScriptable(b)&&(h=function(a,b,c,d){let{_proxy:e,_context:f,_subProxy:g,_stack:h}=c;if(h.has(a))throw Error("Recursion detected: "+Array.from(h).join("->")+"->"+a);h.add(a);let i=b(f,g||d);return h.delete(a),bn(a,i)&&(i=bq(e._scopes,e,a,i)),i}(b,h,a,c)),I(h)&&h.length&&(h=function(a,b,c,d){let{_proxy:e,_context:f,_subProxy:g,_descriptors:h}=c;if(void 0!==f.index&&d(a))return b[f.index%b.length];if(J(b[0])){let c=b,d=e._scopes.filter(a=>a!==c);for(let i of(b=[],c)){let c=bq(d,e,a,i);b.push(bk(c,f,g&&g[a],h))}}return b}(b,h,a,g.isIndexable)),bn(b,h)&&(h=bk(h,e,f&&f[b],g)),h})(a,b,c)),getOwnPropertyDescriptor:(b,c)=>b._descriptors.allKeys?Reflect.has(a,c)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(a,c),getPrototypeOf:()=>Reflect.getPrototypeOf(a),has:(b,c)=>Reflect.has(a,c),ownKeys:()=>Reflect.ownKeys(a),set:(b,c,d)=>(a[c]=d,delete b[c],!0)})}function bl(a,b={scriptable:!0,indexable:!0}){let{_scriptable:c=b.scriptable,_indexable:d=b.indexable,_allKeys:e=b.allKeys}=a;return{allKeys:e,scriptable:c,indexable:d,isScriptable:_(c)?c:()=>c,isIndexable:_(d)?d:()=>d}}let bm=(a,b)=>a?a+Z(b):b,bn=(a,b)=>J(b)&&"adapters"!==a&&(null===Object.getPrototypeOf(b)||b.constructor===Object);function bo(a,b,c){if(Object.prototype.hasOwnProperty.call(a,b)||"constructor"===b)return a[b];let d=c();return a[b]=d,d}let bp=(a,b)=>!0===a?b:"string"==typeof a?Y(b,a):void 0;function bq(a,b,c,d){var e;let f=b._rootScopes,g=(e=b._fallback,_(e)?e(c,d):e),h=[...a,...f],i=new Set;i.add(d);let j=br(i,h,c,g||c,d);return null!==j&&(void 0===g||g===c||null!==(j=br(i,h,g,j,d)))&&bj(Array.from(i),[""],f,g,()=>{var a,e,f;let g,h;return a=b,e=c,f=d,e in(g=a._getTarget())||(g[e]={}),I(h=g[e])&&J(f)?f:h||{}})}function br(a,b,c,d,e){for(;c;)c=function(a,b,c,d,e){for(let g of b){let b=bp(c,g);if(b){var f;a.add(b);let g=(f=b._fallback,_(f)?f(c,e):f);if(void 0!==g&&g!==c&&g!==d)return g}else if(!1===b&&void 0!==d&&c!==d)return null}return!1}(a,b,c,d,e);return c}function bs(a,b){for(let c of b){if(!c)continue;let b=c[a];if(void 0!==b)return b}}function bt(a){let b=a._keys;return b||(b=a._keys=function(a){let b=new Set;for(let c of a)for(let a of Object.keys(c).filter(a=>!a.startsWith("_")))b.add(a);return Array.from(b)}(a._scopes)),b}function bu(a,b,c,d){let e,f,g,{iScale:h}=a,{key:i="r"}=this._parsing,j=Array(d);for(e=0;e<d;++e)g=b[f=e+c],j[e]={r:h.parse(Y(g,i),f)};return j}let bv=Number.EPSILON||1e-14,bw=(a,b)=>b<a.length&&!a[b].skip&&a[b],bx=a=>"x"===a?"y":"x";function by(a,b,c){return Math.max(Math.min(a,c),b)}let bz=a=>a.ownerDocument.defaultView.getComputedStyle(a,null),bA=["top","right","bottom","left"];function bB(a,b,c){let d={};c=c?"-"+c:"";for(let e=0;e<4;e++){let f=bA[e];d[f]=parseFloat(a[b+"-"+f+c])||0}return d.width=d.left+d.right,d.height=d.top+d.bottom,d}function bC(a,b){if("native"in a)return a;let{canvas:c,currentDevicePixelRatio:d}=b,e=bz(c),f="border-box"===e.boxSizing,g=bB(e,"padding"),h=bB(e,"border","width"),{x:i,y:j,box:k}=function(a,b){let c,d,e,f=a.touches,g=f&&f.length?f[0]:a,{offsetX:h,offsetY:i}=g,j=!1;if(e=a.target,(h>0||i>0)&&(!e||!e.shadowRoot))c=h,d=i;else{let a=b.getBoundingClientRect();c=g.clientX-a.left,d=g.clientY-a.top,j=!0}return{x:c,y:d,box:j}}(a,c),l=g.left+(k&&h.left),m=g.top+(k&&h.top),{width:n,height:o}=b;return f&&(n-=g.width+h.width,o-=g.height+h.height),{x:Math.round((i-l)/n*c.width/d),y:Math.round((j-m)/o*c.height/d)}}let bD=a=>Math.round(10*a)/10;function bE(a,b,c){let d=b||1,e=bD(a.height*d),f=bD(a.width*d);a.height=bD(a.height),a.width=bD(a.width);let g=a.canvas;return g.style&&(c||!g.style.height&&!g.style.width)&&(g.style.height=`${a.height}px`,g.style.width=`${a.width}px`),(a.currentDevicePixelRatio!==d||g.height!==e||g.width!==f)&&(a.currentDevicePixelRatio=d,g.height=e,g.width=f,a.ctx.setTransform(d,0,0,d,0,0),!0)}function bF(a,b,c,d){return{x:a.x+c*(b.x-a.x),y:a.y+c*(b.y-a.y)}}function bG(a,b,c,d){return{x:a.x+c*(b.x-a.x),y:"middle"===d?c<.5?a.y:b.y:"after"===d?c<1?a.y:b.y:c>0?b.y:a.y}}function bH(a,b,c,d){let e={x:a.cp2x,y:a.cp2y},f={x:b.cp1x,y:b.cp1y},g=bF(a,e,c),h=bF(e,f,c),i=bF(f,b,c),j=bF(g,h,c),k=bF(h,i,c);return bF(j,k,c)}function bI(a,b,c){var d;return a?(d=c,{x:a=>b+b+d-a,setWidth(a){d=a},textAlign:a=>"center"===a?a:"right"===a?"left":"right",xPlus:(a,b)=>a-b,leftForLtr:(a,b)=>a-b}):{x:a=>a,setWidth(a){},textAlign:a=>a,xPlus:(a,b)=>a+b,leftForLtr:(a,b)=>a}}function bJ(a,b){let c,d;("ltr"===b||"rtl"===b)&&(d=[(c=a.canvas.style).getPropertyValue("direction"),c.getPropertyPriority("direction")],c.setProperty("direction",b,"important"),a.prevTextDirection=d)}function bK(a,b){void 0!==b&&(delete a.prevTextDirection,a.canvas.style.setProperty("direction",b[0],b[1]))}function bL(a){return"angle"===a?{between:au,compare:as,normalize:at}:{between:aw,compare:(a,b)=>a-b,normalize:a=>a}}function bM({start:a,end:b,count:c,loop:d,style:e}){return{start:a%c,end:b%c,loop:d&&(b-a+1)%c==0,style:e}}function bN(a,b,c){let d,e,f;if(!c)return[a];let{property:g,start:h,end:i}=c,j=b.length,{compare:k,between:l,normalize:m}=bL(g),{start:n,end:o,loop:p,style:q}=function(a,b,c){let d,{property:e,start:f,end:g}=c,{between:h,normalize:i}=bL(e),j=b.length,{start:k,end:l,loop:m}=a;if(m){for(k+=j,l+=j,d=0;d<j&&h(i(b[k%j][e]),f,g);++d)k--,l--;k%=j,l%=j}return l<k&&(l+=j),{start:k,end:l,loop:m,style:a.style}}(a,b,c),r=[],s=!1,t=null,u=()=>s||l(h,f,d)&&0!==k(h,f),v=()=>!s||0===k(i,d)||l(i,f,d);for(let a=n,c=n;a<=o;++a)(e=b[a%j]).skip||(d=m(e[g]))!==f&&(s=l(d,h,i),null===t&&u()&&(t=0===k(d,h)?a:c),null!==t&&v()&&(r.push(bM({start:t,end:a,loop:p,count:j,style:q})),t=null),c=a,f=d);return null!==t&&r.push(bM({start:t,end:o,loop:p,count:j,style:q})),r}function bO(a,b){let c=[],d=a.segments;for(let e=0;e<d.length;e++){let f=bN(d[e],a.points,b);f.length&&c.push(...f)}return c}function bP(a,b,c,d){return d&&d.setContext&&c?function(a,b,c,d){let e=a._chart.getContext(),f=bQ(a.options),{_datasetIndex:g,options:{spanGaps:h}}=a,i=c.length,j=[],k=f,l=b[0].start,m=l;function n(a,b,d,e){let f=h?-1:1;if(a!==b){for(a+=i;c[a%i].skip;)a-=f;for(;c[b%i].skip;)b+=f;a%i!=b%i&&(j.push({start:a%i,end:b%i,loop:d,style:e}),k=e,l=b%i)}}for(let a of b){let b,f=c[(l=h?l:a.start)%i];for(m=l+1;m<=a.end;m++){let h=c[m%i];(function(a,b){if(!b)return!1;let c=[],d=function(a,b){return aM(b)?(c.includes(b)||c.push(b),c.indexOf(b)):b};return JSON.stringify(a,d)!==JSON.stringify(b,d)})(b=bQ(d.setContext(bi(e,{type:"segment",p0:f,p1:h,p0DataIndex:(m-1)%i,p1DataIndex:m%i,datasetIndex:g}))),k)&&n(l,m-1,a.loop,k),f=h,k=b}l<m-1&&n(l,m-1,a.loop,k)}return j}(a,b,c,d):b}function bQ(a){return{backgroundColor:a.backgroundColor,borderCapStyle:a.borderCapStyle,borderDash:a.borderDash,borderDashOffset:a.borderDashOffset,borderJoinStyle:a.borderJoinStyle,borderWidth:a.borderWidth,borderColor:a.borderColor}}function bR(a,b,c){return a.options.clip?a[c]:b[c]}function bS(a,b){let c=b._clip;if(c.disabled)return!1;let d=function(a,b){let{xScale:c,yScale:d}=a;return c&&d?{left:bR(c,b,"left"),right:bR(c,b,"right"),top:bR(d,b,"top"),bottom:bR(d,b,"bottom")}:b}(b,a.chartArea);return{left:!1===c.left?0:d.left-(!0===c.left?0:c.left),right:!1===c.right?a.width:d.right+(!0===c.right?0:c.right),top:!1===c.top?0:d.top-(!0===c.top?0:c.top),bottom:!1===c.bottom?a.height:d.bottom+(!0===c.bottom?0:c.bottom)}}var bT=new class{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(a,b,c,d){let e=b.listeners[d],f=b.duration;e.forEach(d=>d({chart:a,initial:b.initial,numSteps:f,currentStep:Math.min(c-b.start,f)}))}_refresh(){this._request||(this._running=!0,this._request=aD.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(a=Date.now()){let b=0;this._charts.forEach((c,d)=>{let e;if(!c.running||!c.items.length)return;let f=c.items,g=f.length-1,h=!1;for(;g>=0;--g)(e=f[g])._active?(e._total>c.duration&&(c.duration=e._total),e.tick(a),h=!0):(f[g]=f[f.length-1],f.pop());h&&(d.draw(),this._notify(d,c,a,"progress")),f.length||(c.running=!1,this._notify(d,c,a,"complete"),c.initial=!1),b+=f.length}),this._lastDate=a,0===b&&(this._running=!1)}_getAnims(a){let b=this._charts,c=b.get(a);return c||(c={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},b.set(a,c)),c}listen(a,b,c){this._getAnims(a).listeners[b].push(c)}add(a,b){b&&b.length&&this._getAnims(a).items.push(...b)}has(a){return this._getAnims(a).items.length>0}start(a){let b=this._charts.get(a);b&&(b.running=!0,b.start=Date.now(),b.duration=b.items.reduce((a,b)=>Math.max(a,b._duration),0),this._refresh())}running(a){if(!this._running)return!1;let b=this._charts.get(a);return!!b&&!!b.running&&!!b.items.length}stop(a){let b=this._charts.get(a);if(!b||!b.items.length)return;let c=b.items,d=c.length-1;for(;d>=0;--d)c[d].cancel();b.items=[],this._notify(a,b,Date.now(),"complete")}remove(a){return this._charts.delete(a)}};let bU="transparent",bV={boolean:(a,b,c)=>c>.5?b:a,color(a,b,c){let d=aN(a||bU),e=d.valid&&aN(b||bU);return e&&e.valid?e.mix(d,c).hexString():b},number:(a,b,c)=>a+(b-a)*c};class bW{constructor(a,b,c,d){const e=b[c];d=bh([a.to,d,e,a.from]);const f=bh([a.from,e,d]);this._active=!0,this._fn=a.fn||bV[a.type||typeof f],this._easing=aL[a.easing]||aL.linear,this._start=Math.floor(Date.now()+(a.delay||0)),this._duration=this._total=Math.floor(a.duration),this._loop=!!a.loop,this._target=b,this._prop=c,this._from=f,this._to=d,this._promises=void 0}active(){return this._active}update(a,b,c){if(this._active){this._notify(!1);let d=this._target[this._prop],e=c-this._start,f=this._duration-e;this._start=c,this._duration=Math.floor(Math.max(f,a.duration)),this._total+=e,this._loop=!!a.loop,this._to=bh([a.to,b,d,a.from]),this._from=bh([a.from,d,b])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(a){let b,c=a-this._start,d=this._duration,e=this._prop,f=this._from,g=this._loop,h=this._to;if(this._active=f!==h&&(g||c<d),!this._active){this._target[e]=h,this._notify(!0);return}if(c<0){this._target[e]=f;return}b=c/d%2,b=g&&b>1?2-b:b,b=this._easing(Math.min(1,Math.max(0,b))),this._target[e]=this._fn(f,h,b)}wait(){let a=this._promises||(this._promises=[]);return new Promise((b,c)=>{a.push({res:b,rej:c})})}_notify(a){let b=a?"res":"rej",c=this._promises||[];for(let a=0;a<c.length;a++)c[a][b]()}}class bX{constructor(a,b){this._chart=a,this._properties=new Map,this.configure(b)}configure(a){if(!J(a))return;let b=Object.keys(aY.animation),c=this._properties;Object.getOwnPropertyNames(a).forEach(d=>{let e=a[d];if(!J(e))return;let f={};for(let a of b)f[a]=e[a];(I(e.properties)&&e.properties||[d]).forEach(a=>{a!==d&&c.has(a)||c.set(a,f)})})}_animateOptions(a,b){let c=b.options,d=function(a,b){if(!b)return;let c=a.options;if(!c){a.options=b;return}return c.$shared&&(a.options=c=Object.assign({},c,{$shared:!1,$animations:{}})),c}(a,c);if(!d)return[];let e=this._createAnimations(d,c);return c.$shared&&(function(a,b){let c=[],d=Object.keys(b);for(let b=0;b<d.length;b++){let e=a[d[b]];e&&e.active()&&c.push(e.wait())}return Promise.all(c)})(a.options.$animations,c).then(()=>{a.options=c},()=>{}),e}_createAnimations(a,b){let c,d=this._properties,e=[],f=a.$animations||(a.$animations={}),g=Object.keys(b),h=Date.now();for(c=g.length-1;c>=0;--c){let i=g[c];if("$"===i.charAt(0))continue;if("options"===i){e.push(...this._animateOptions(a,b));continue}let j=b[i],k=f[i],l=d.get(i);if(k)if(l&&k.active()){k.update(l,j,h);continue}else k.cancel();if(!l||!l.duration){a[i]=j;continue}f[i]=k=new bW(l,a,i,j),e.push(k)}return e}update(a,b){if(0===this._properties.size)return void Object.assign(a,b);let c=this._createAnimations(a,b);if(c.length)return bT.add(this._chart,c),!0}}function bY(a,b){let c=a&&a.options||{},d=c.reverse,e=void 0===c.min?b:0,f=void 0===c.max?b:0;return{start:d?f:e,end:d?e:f}}function bZ(a,b){let c,d,e=[],f=a._getSortedDatasetMetas(b);for(c=0,d=f.length;c<d;++c)e.push(f[c].index);return e}function b$(a,b,c,d={}){let e,f,g,h,i=a.keys,j="single"===d.mode;if(null===b)return;let k=!1;for(e=0,f=i.length;e<f;++e){if((g=+i[e])===c){if(k=!0,d.all)continue;break}K(h=a.values[g])&&(j||0===b||aj(b)===aj(h))&&(b+=h)}return k||d.all?b:0}function b_(a,b){let c=a&&a.options.stacked;return c||void 0===c&&void 0!==b.stack}function b0(a,b,c,d){for(let e of b.getMatchingVisibleMetas(d).reverse()){let b=a[e.index];if(c&&b>0||!c&&b<0)return e.index}return null}function b1(a,b){let c,{chart:d,_cachedMeta:e}=a,f=d._stacks||(d._stacks={}),{iScale:g,vScale:h,index:i}=e,j=g.axis,k=h.axis,l=`${g.id}.${h.id}.${e.stack||e.type}`,m=b.length;for(let a=0;a<m;++a){let d=b[a],{[j]:g,[k]:m}=d;(c=(d._stacks||(d._stacks={}))[k]=function(a,b,c){let d=a[b]||(a[b]={});return d[c]||(d[c]={})}(f,l,g))[i]=m,c._top=b0(c,h,!0,e.type),c._bottom=b0(c,h,!1,e.type),(c._visualValues||(c._visualValues={}))[i]=m}}function b2(a,b){let c=a.scales;return Object.keys(c).filter(a=>c[a].axis===b).shift()}function b3(a,b){let c=a.controller.index,d=a.vScale&&a.vScale.axis;if(d)for(let e of b=b||a._parsed){let a=e._stacks;if(!a||void 0===a[d]||void 0===a[d][c])return;delete a[d][c],void 0!==a[d]._visualValues&&void 0!==a[d]._visualValues[c]&&delete a[d]._visualValues[c]}}let b4=a=>"reset"===a||"none"===a,b5=(a,b)=>b?a:Object.assign({},a);class b6{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(a,b){this.chart=a,this._ctx=a.ctx,this.index=b,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(){let a=this._cachedMeta;this.configure(),this.linkScales(),a._stacked=b_(a.vScale,a),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(a){this.index!==a&&b3(this._cachedMeta),this.index=a}linkScales(){let a=this.chart,b=this._cachedMeta,c=this.getDataset(),d=(a,b,c,d)=>"x"===a?b:"r"===a?d:c,e=b.xAxisID=M(c.xAxisID,b2(a,"x")),f=b.yAxisID=M(c.yAxisID,b2(a,"y")),g=b.rAxisID=M(c.rAxisID,b2(a,"r")),h=b.indexAxis,i=b.iAxisID=d(h,e,f,g),j=b.vAxisID=d(h,f,e,g);b.xScale=this.getScaleForId(e),b.yScale=this.getScaleForId(f),b.rScale=this.getScaleForId(g),b.iScale=this.getScaleForId(i),b.vScale=this.getScaleForId(j)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(a){return this.chart.scales[a]}_getOtherScale(a){let b=this._cachedMeta;return a===b.iScale?b.vScale:b.iScale}reset(){this._update("reset")}_destroy(){let a=this._cachedMeta;this._data&&aB(this._data,this),a._stacked&&b3(a)}_dataCheck(){let a=this.getDataset(),b=a.data||(a.data=[]),c=this._data;if(J(b)){let a=this._cachedMeta;this._data=function(a,b){let c,d,e,{iScale:f,vScale:g}=b,h="x"===f.axis?"x":"y",i="x"===g.axis?"x":"y",j=Object.keys(a),k=Array(j.length);for(c=0,d=j.length;c<d;++c)e=j[c],k[c]={[h]:e,[i]:a[e]};return k}(b,a)}else if(c!==b){if(c){aB(c,this);let a=this._cachedMeta;b3(a),a._parsed=[]}b&&Object.isExtensible(b)&&(b._chartjs?b._chartjs.listeners.push(this):(Object.defineProperty(b,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[this]}}),aA.forEach(a=>{let c="_onData"+Z(a),d=b[a];Object.defineProperty(b,a,{configurable:!0,enumerable:!1,value(...a){let e=d.apply(this,a);return b._chartjs.listeners.forEach(b=>{"function"==typeof b[c]&&b[c](...a)}),e}})}))),this._syncList=[],this._data=b}}addElements(){let a=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(a.dataset=new this.datasetElementType)}buildOrUpdateElements(a){let b=this._cachedMeta,c=this.getDataset(),d=!1;this._dataCheck();let e=b._stacked;b._stacked=b_(b.vScale,b),b.stack!==c.stack&&(d=!0,b3(b),b.stack=c.stack),this._resyncElements(a),(d||e!==b._stacked)&&(b1(this,b._parsed),b._stacked=b_(b.vScale,b))}configure(){let a=this.chart.config,b=a.datasetScopeKeys(this._type),c=a.getOptionScopes(this.getDataset(),b,!0);this.options=a.createResolver(c,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(a,b){let c,d,e,{_cachedMeta:f,_data:g}=this,{iScale:h,_stacked:i}=f,j=h.axis,k=0===a&&b===g.length||f._sorted,l=a>0&&f._parsed[a-1];if(!1===this._parsing)f._parsed=g,f._sorted=!0,e=g;else{e=I(g[a])?this.parseArrayData(f,g,a,b):J(g[a])?this.parseObjectData(f,g,a,b):this.parsePrimitiveData(f,g,a,b);let h=()=>null===d[j]||l&&d[j]<l[j];for(c=0;c<b;++c)f._parsed[c+a]=d=e[c],k&&(h()&&(k=!1),l=d);f._sorted=k}i&&b1(this,e)}parsePrimitiveData(a,b,c,d){let e,f,{iScale:g,vScale:h}=a,i=g.axis,j=h.axis,k=g.getLabels(),l=g===h,m=Array(d);for(e=0;e<d;++e)f=e+c,m[e]={[i]:l||g.parse(k[f],f),[j]:h.parse(b[f],f)};return m}parseArrayData(a,b,c,d){let e,f,g,{xScale:h,yScale:i}=a,j=Array(d);for(e=0;e<d;++e)g=b[f=e+c],j[e]={x:h.parse(g[0],f),y:i.parse(g[1],f)};return j}parseObjectData(a,b,c,d){let e,f,g,{xScale:h,yScale:i}=a,{xAxisKey:j="x",yAxisKey:k="y"}=this._parsing,l=Array(d);for(e=0;e<d;++e)g=b[f=e+c],l[e]={x:h.parse(Y(g,j),f),y:i.parse(Y(g,k),f)};return l}getParsed(a){return this._cachedMeta._parsed[a]}getDataElement(a){return this._cachedMeta.data[a]}applyStack(a,b,c){let d=this.chart,e=this._cachedMeta,f=b[a.axis];return b$({keys:bZ(d,!0),values:b._stacks[a.axis]._visualValues},f,e.index,{mode:c})}updateRangeFromParsed(a,b,c,d){let e=c[b.axis],f=null===e?NaN:e,g=d&&c._stacks[b.axis];d&&g&&(d.values=g,f=b$(d,e,this._cachedMeta.index)),a.min=Math.min(a.min,f),a.max=Math.max(a.max,f)}getMinMax(a,b){let c,d,e,f=this._cachedMeta,g=f._parsed,h=f._sorted&&a===f.iScale,i=g.length,j=this._getOtherScale(a),k=(e=this.chart,b&&!f.hidden&&f._stacked&&{keys:bZ(e,!0),values:null}),l={min:1/0,max:-1/0},{min:m,max:n}=function(a){let{min:b,max:c,minDefined:d,maxDefined:e}=a.getUserBounds();return{min:d?b:-1/0,max:e?c:1/0}}(j);function o(){let b=(d=g[c])[j.axis];return!K(d[a.axis])||m>b||n<b}for(c=0;c<i&&(o()||(this.updateRangeFromParsed(l,a,d,k),!h));++c);if(h){for(c=i-1;c>=0;--c)if(!o()){this.updateRangeFromParsed(l,a,d,k);break}}return l}getAllParsedValues(a){let b,c,d,e=this._cachedMeta._parsed,f=[];for(b=0,c=e.length;b<c;++b)K(d=e[b][a.axis])&&f.push(d);return f}getMaxOverflow(){return!1}getLabelAndValue(a){let b=this._cachedMeta,c=b.iScale,d=b.vScale,e=this.getParsed(a);return{label:c?""+c.getLabelForValue(e[c.axis]):"",value:d?""+d.getLabelForValue(e[d.axis]):""}}_update(a){var b;let c,d,e,f,g=this._cachedMeta;this.update(a||"default"),J(b=M(this.options.clip,function(a,b,c){if(!1===c)return!1;let d=bY(a,c),e=bY(b,c);return{top:e.end,right:d.end,bottom:e.start,left:d.start}}(g.xScale,g.yScale,this.getMaxOverflow())))?(c=b.top,d=b.right,e=b.bottom,f=b.left):c=d=e=f=b,g._clip={top:c,right:d,bottom:e,left:f,disabled:!1===b}}update(a){}draw(){let a,b=this._ctx,c=this.chart,d=this._cachedMeta,e=d.data||[],f=c.chartArea,g=[],h=this._drawStart||0,i=this._drawCount||e.length-h,j=this.options.drawActiveElementsOnTop;for(d.dataset&&d.dataset.draw(b,f,h,i),a=h;a<h+i;++a){let c=e[a];c.hidden||(c.active&&j?g.push(c):c.draw(b,f))}for(a=0;a<g.length;++a)g[a].draw(b,f)}getStyle(a,b){let c=b?"active":"default";return void 0===a&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(c):this.resolveDataElementOptions(a||0,c)}getContext(a,b,c){var d,e;let f,g=this.getDataset();if(a>=0&&a<this._cachedMeta.data.length){let b=this._cachedMeta.data[a];(f=b.$context||(d=this.getContext(),b.$context=bi(d,{active:!1,dataIndex:a,parsed:void 0,raw:void 0,element:b,index:a,mode:"default",type:"data"}))).parsed=this.getParsed(a),f.raw=g.data[a],f.index=f.dataIndex=a}else(f=this.$context||(this.$context=bi(this.chart.getContext(),{active:!1,dataset:void 0,datasetIndex:e=this.index,index:e,mode:"default",type:"dataset"}))).dataset=g,f.index=f.datasetIndex=this.index;return f.active=!!b,f.mode=c,f}resolveDatasetElementOptions(a){return this._resolveElementOptions(this.datasetElementType.id,a)}resolveDataElementOptions(a,b){return this._resolveElementOptions(this.dataElementType.id,b,a)}_resolveElementOptions(a,b="default",c){let d="active"===b,e=this._cachedDataOpts,f=a+"-"+b,g=e[f],h=this.enableOptionSharing&&$(c);if(g)return b5(g,h);let i=this.chart.config,j=i.datasetElementScopeKeys(this._type,a),k=d?[`${a}Hover`,"hover",a,""]:[a,""],l=i.getOptionScopes(this.getDataset(),j),m=Object.keys(aY.elements[a]),n=()=>this.getContext(c,d,b),o=i.resolveNamedOptions(l,m,n,k);return o.$shared&&(o.$shared=h,e[f]=Object.freeze(b5(o,h))),o}_resolveAnimations(a,b,c){let d,e=this.chart,f=this._cachedDataOpts,g=`animation-${b}`,h=f[g];if(h)return h;if(!1!==e.options.animation){let e=this.chart.config,f=e.datasetAnimationScopeKeys(this._type,b),g=e.getOptionScopes(this.getDataset(),f);d=e.createResolver(g,this.getContext(a,c,b))}let i=new bX(e,d&&d.animations);return d&&d._cacheable&&(f[g]=Object.freeze(i)),i}getSharedOptions(a){if(a.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},a))}includeOptions(a,b){return!b||b4(a)||this.chart._animationsDisabled}_getSharedOptions(a,b){let c=this.resolveDataElementOptions(a,b),d=this._sharedOptions,e=this.getSharedOptions(c),f=this.includeOptions(b,e)||e!==d;return this.updateSharedOptions(e,b,c),{sharedOptions:e,includeOptions:f}}updateElement(a,b,c,d){b4(d)?Object.assign(a,c):this._resolveAnimations(b,d).update(a,c)}updateSharedOptions(a,b,c){a&&!b4(b)&&this._resolveAnimations(void 0,b).update(a,c)}_setStyle(a,b,c,d){a.active=d;let e=this.getStyle(b,d);this._resolveAnimations(b,c,d).update(a,{options:!d&&this.getSharedOptions(e)||e})}removeHoverStyle(a,b,c){this._setStyle(a,c,"active",!1)}setHoverStyle(a,b,c){this._setStyle(a,c,"active",!0)}_removeDatasetHoverStyle(){let a=this._cachedMeta.dataset;a&&this._setStyle(a,void 0,"active",!1)}_setDatasetHoverStyle(){let a=this._cachedMeta.dataset;a&&this._setStyle(a,void 0,"active",!0)}_resyncElements(a){let b=this._data,c=this._cachedMeta.data;for(let[a,b,c]of this._syncList)this[a](b,c);this._syncList=[];let d=c.length,e=b.length,f=Math.min(e,d);f&&this.parse(0,f),e>d?this._insertElements(d,e-d,a):e<d&&this._removeElements(e,d-e)}_insertElements(a,b,c=!0){let d,e=this._cachedMeta,f=e.data,g=a+b,h=a=>{for(a.length+=b,d=a.length-1;d>=g;d--)a[d]=a[d-b]};for(h(f),d=a;d<g;++d)f[d]=new this.dataElementType;this._parsing&&h(e._parsed),this.parse(a,b),c&&this.updateElements(f,a,b,"reset")}updateElements(a,b,c,d){}_removeElements(a,b){let c=this._cachedMeta;if(this._parsing){let d=c._parsed.splice(a,b);c._stacked&&b3(c,d)}c.data.splice(a,b)}_sync(a){if(this._parsing)this._syncList.push(a);else{let[b,c,d]=a;this[b](c,d)}this.chart._dataChanges.push([this.index,...a])}_onDataPush(){let a=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-a,a])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(a,b){b&&this._sync(["_removeElements",a,b]);let c=arguments.length-2;c&&this._sync(["_insertElements",a,c])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}function b7(a,b,c,d){if(I(a)){let e,f,g,h,i,j;e=c.parse(a[0],d),g=Math.min(e,f=c.parse(a[1],d)),h=Math.max(e,f),i=g,j=h,Math.abs(g)>Math.abs(h)&&(i=h,j=g),b[c.axis]=j,b._custom={barStart:i,barEnd:j,start:e,end:f,min:g,max:h}}else b[c.axis]=c.parse(a,d);return b}function b8(a,b,c,d){let e,f,g,h,i=a.iScale,j=a.vScale,k=i.getLabels(),l=i===j,m=[];for(e=c,f=c+d;e<f;++e)h=b[e],(g={})[i.axis]=l||i.parse(k[e],e),m.push(b7(h,g,j,e));return m}function b9(a){return a&&void 0!==a.barStart&&void 0!==a.barEnd}function ca(a,b,c,d){var e,f,g;return d?cb((e=a,f=b,g=c,a=e===f?g:e===g?f:e),c,b):cb(a,b,c)}function cb(a,b,c){return"start"===a?b:"end"===a?c:a}class cc extends b6{static id="doughnut";static 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"};static descriptors={_scriptable:a=>"spacing"!==a,_indexable:a=>"spacing"!==a&&!a.startsWith("borderDash")&&!a.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(a){let b=a.data,{labels:{pointStyle:c,textAlign:d,color:e,useBorderRadius:f,borderRadius:g}}=a.legend.options;return b.labels.length&&b.datasets.length?b.labels.map((b,h)=>{let i=a.getDatasetMeta(0).controller.getStyle(h);return{text:b,fillStyle:i.backgroundColor,fontColor:e,hidden:!a.getDataVisibility(h),lineDash:i.borderDash,lineDashOffset:i.borderDashOffset,lineJoin:i.borderJoinStyle,lineWidth:i.borderWidth,strokeStyle:i.borderColor,textAlign:d,pointStyle:c,borderRadius:f&&(g||i.borderRadius),index:h}}):[]}},onClick(a,b,c){c.chart.toggleDataVisibility(b.index),c.chart.update()}}}};constructor(a,b){super(a,b),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(a,b){let c=this.getDataset().data,d=this._cachedMeta;if(!1===this._parsing)d._parsed=c;else{let e,f,g=a=>+c[a];if(J(c[a])){let{key:a="value"}=this._parsing;g=b=>+Y(c[b],a)}for(e=a,f=a+b;e<f;++e)d._parsed[e]=g(e)}}_getRotation(){return ao(this.options.rotation-90)}_getCircumference(){return ao(this.options.circumference)}_getRotationExtents(){let a=ac,b=-ac;for(let c=0;c<this.chart.data.datasets.length;++c)if(this.chart.isDatasetVisible(c)&&this.chart.getDatasetMeta(c).type===this._type){let d=this.chart.getDatasetMeta(c).controller,e=d._getRotation(),f=d._getCircumference();a=Math.min(a,e),b=Math.max(b,e+f)}return{rotation:a,circumference:b-a}}update(a){let b,{chartArea:c}=this.chart,d=this._cachedMeta,e=d.data,f=this.getMaxBorderWidth()+this.getMaxOffset(e)+this.options.spacing,g=Math.max((Math.min(c.width,c.height)-f)/2,0),h=Math.min((b=this.options.cutout,"string"==typeof b&&b.endsWith("%")?parseFloat(b)/100:b/g),1),i=this._getRingWeight(this.index),{circumference:j,rotation:k}=this._getRotationExtents(),{ratioX:l,ratioY:m,offsetX:n,offsetY:o}=function(a,b,c){let d=1,e=1,f=0,g=0;if(b<ac){let h=a+b,i=Math.cos(a),j=Math.sin(a),k=Math.cos(h),l=Math.sin(h),m=(b,d,e)=>au(b,a,h,!0)?1:Math.max(d,d*c,e,e*c),n=(b,d,e)=>au(b,a,h,!0)?-1:Math.min(d,d*c,e,e*c),o=m(0,i,k),p=m(af,j,l),q=n(ab,i,k),r=n(ab+af,j,l);d=(o-q)/2,e=(p-r)/2,f=-(o+q)/2,g=-(p+r)/2}return{ratioX:d,ratioY:e,offsetX:f,offsetY:g}}(k,j,h),p=Math.max(Math.min((c.width-f)/l,(c.height-f)/m)/2,0),q=N(this.options.radius,p),r=Math.max(q*h,0),s=(q-r)/this._getVisibleDatasetWeightTotal();this.offsetX=n*q,this.offsetY=o*q,d.total=this.calculateTotal(),this.outerRadius=q-s*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-s*i,0),this.updateElements(e,0,e.length,a)}_circumference(a,b){let c=this.options,d=this._cachedMeta,e=this._getCircumference();return b&&c.animation.animateRotate||!this.chart.getDataVisibility(a)||null===d._parsed[a]||d.data[a].hidden?0:this.calculateCircumference(d._parsed[a]*e/ac)}updateElements(a,b,c,d){let e,f="reset"===d,g=this.chart,h=g.chartArea,i=g.options.animation,j=(h.left+h.right)/2,k=(h.top+h.bottom)/2,l=f&&i.animateScale,m=l?0:this.innerRadius,n=l?0:this.outerRadius,{sharedOptions:o,includeOptions:p}=this._getSharedOptions(b,d),q=this._getRotation();for(e=0;e<b;++e)q+=this._circumference(e,f);for(e=b;e<b+c;++e){let b=this._circumference(e,f),c=a[e],g={x:j+this.offsetX,y:k+this.offsetY,startAngle:q,endAngle:q+b,circumference:b,outerRadius:n,innerRadius:m};p&&(g.options=o||this.resolveDataElementOptions(e,c.active?"active":d)),q+=b,this.updateElement(c,e,g,d)}}calculateTotal(){let a,b=this._cachedMeta,c=b.data,d=0;for(a=0;a<c.length;a++){let e=b._parsed[a];null!==e&&!isNaN(e)&&this.chart.getDataVisibility(a)&&!c[a].hidden&&(d+=Math.abs(e))}return d}calculateCircumference(a){let b=this._cachedMeta.total;return b>0&&!isNaN(a)?Math.abs(a)/b*ac:0}getLabelAndValue(a){let b=this._cachedMeta,c=this.chart,d=c.data.labels||[],e=aS(b._parsed[a],c.options.locale);return{label:d[a]||"",value:e}}getMaxBorderWidth(a){let b,c,d,e,f,g=0,h=this.chart;if(!a){for(b=0,c=h.data.datasets.length;b<c;++b)if(h.isDatasetVisible(b)){a=(d=h.getDatasetMeta(b)).data,e=d.controller;break}}if(!a)return 0;for(b=0,c=a.length;b<c;++b)"inner"!==(f=e.resolveDataElementOptions(b)).borderAlign&&(g=Math.max(g,f.borderWidth||0,f.hoverBorderWidth||0));return g}getMaxOffset(a){let b=0;for(let c=0,d=a.length;c<d;++c){let a=this.resolveDataElementOptions(c);b=Math.max(b,a.offset||0,a.hoverOffset||0)}return b}_getRingWeightOffset(a){let b=0;for(let c=0;c<a;++c)this.chart.isDatasetVisible(c)&&(b+=this._getRingWeight(c));return b}_getRingWeight(a){return Math.max(M(this.chart.data.datasets[a].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}function cd(){throw Error("This method is not implemented: Check that a complete date adapter is provided.")}class ce{static override(a){Object.assign(ce.prototype,a)}options;constructor(a){this.options=a||{}}init(){}formats(){return cd()}parse(){return cd()}format(){return cd()}add(){return cd()}diff(){return cd()}startOf(){return cd()}endOf(){return cd()}}function cf(a,b,c,d,e){let f=a.getSortedVisibleDatasetMetas(),g=c[b];for(let a=0,c=f.length;a<c;++a){let{index:c,data:h}=f[a],{lo:i,hi:j}=function(a,b,c,d){let{controller:e,data:f,_sorted:g}=a,h=e._cachedMeta.iScale,i=a.dataset&&a.dataset.options?a.dataset.options.spanGaps:null;if(h&&b===h.axis&&"r"!==b&&g&&f.length){let g=h._reversePixels?az:ay;if(d){if(e._sharedOptions){let a=f[0],d="function"==typeof a.getRange&&a.getRange(b);if(d){let a=g(f,b,c-d),e=g(f,b,c+d);return{lo:a.lo,hi:e.hi}}}}else{let d=g(f,b,c);if(i){let{vScale:b}=e._cachedMeta,{_parsed:c}=a,f=c.slice(0,d.lo+1).reverse().findIndex(a=>!H(a[b.axis]));d.lo-=Math.max(0,f);let g=c.slice(d.hi).findIndex(a=>!H(a[b.axis]));d.hi+=Math.max(0,g)}return d}}return{lo:0,hi:f.length-1}}(f[a],b,g,e);for(let a=i;a<=j;++a){let b=h[a];b.skip||d(b,c,a)}}}function cg(a,b,c,d,e){let f=[];return(e||a.isPointInArea(b))&&cf(a,c,b,function(c,g,h){(e||a2(c,a.chartArea,0))&&c.inRange(b.x,b.y,d)&&f.push({element:c,datasetIndex:g,index:h})},!0),f}function ch(a,b,c,d,e,f){let g,h,i,j,k,l;return f||a.isPointInArea(b)?"r"!==c||d?(g=[],h=-1!==c.indexOf("x"),i=-1!==c.indexOf("y"),j=function(a,b){return Math.sqrt(Math.pow(h?Math.abs(a.x-b.x):0,2)+Math.pow(i?Math.abs(a.y-b.y):0,2))},k=1/0,cf(a,c,b,function(c,h,i){let l=c.inRange(b.x,b.y,e);if(d&&!l)return;let m=c.getCenterPoint(e);if(!(f||a.isPointInArea(m))&&!l)return;let n=j(b,m);n<k?(g=[{element:c,datasetIndex:h,index:i}],k=n):n===k&&g.push({element:c,datasetIndex:h,index:i})}),g):(l=[],cf(a,c,b,function(a,c,d){let{startAngle:f,endAngle:g}=a.getProps(["startAngle","endAngle"],e),{angle:h}=aq(a,{x:b.x,y:b.y});au(h,f,g)&&l.push({element:a,datasetIndex:c,index:d})}),l):[]}function ci(a,b,c,d,e){let f=[],g="x"===c?"inXRange":"inYRange",h=!1;return(cf(a,c,b,(a,d,i)=>{a[g]&&a[g](b[c],e)&&(f.push({element:a,datasetIndex:d,index:i}),h=h||a.inRange(b.x,b.y,e))}),d&&!h)?[]:f}var cj={modes:{index(a,b,c,d){let e=bC(b,a),f=c.axis||"x",g=c.includeInvisible||!1,h=c.intersect?cg(a,e,f,d,g):ch(a,e,f,!1,d,g),i=[];return h.length?(a.getSortedVisibleDatasetMetas().forEach(a=>{let b=h[0].index,c=a.data[b];c&&!c.skip&&i.push({element:c,datasetIndex:a.index,index:b})}),i):[]},dataset(a,b,c,d){let e=bC(b,a),f=c.axis||"xy",g=c.includeInvisible||!1,h=c.intersect?cg(a,e,f,d,g):ch(a,e,f,!1,d,g);if(h.length>0){let b=h[0].datasetIndex,c=a.getDatasetMeta(b).data;h=[];for(let a=0;a<c.length;++a)h.push({element:c[a],datasetIndex:b,index:a})}return h},point(a,b,c,d){let e=bC(b,a);return cg(a,e,c.axis||"xy",d,c.includeInvisible||!1)},nearest(a,b,c,d){let e=bC(b,a),f=c.axis||"xy",g=c.includeInvisible||!1;return ch(a,e,f,c.intersect,d,g)},x(a,b,c,d){let e=bC(b,a);return ci(a,e,"x",c.intersect,d)},y(a,b,c,d){let e=bC(b,a);return ci(a,e,"y",c.intersect,d)}}};let ck=["left","top","right","bottom"];function cl(a,b){return a.filter(a=>a.pos===b)}function cm(a,b){return a.filter(a=>-1===ck.indexOf(a.pos)&&a.box.axis===b)}function cn(a,b){return a.sort((a,c)=>{let d=b?c:a,e=b?a:c;return d.weight===e.weight?d.index-e.index:d.weight-e.weight})}function co(a,b,c,d){return Math.max(a[c],b[c])+Math.max(a[d],b[d])}function cp(a,b){a.top=Math.max(a.top,b.top),a.left=Math.max(a.left,b.left),a.bottom=Math.max(a.bottom,b.bottom),a.right=Math.max(a.right,b.right)}function cq(a,b,c,d){let e,f,g,h,i,j,k=[];for(e=0,f=a.length,i=0;e<f;++e){(h=(g=a[e]).box).update(g.width||b.w,g.height||b.h,function(a,b){let c=b.maxPadding;return function(a){let d={left:0,top:0,right:0,bottom:0};return a.forEach(a=>{d[a]=Math.max(b[a],c[a])}),d}(a?["left","right"]:["top","bottom"])}(g.horizontal,b));let{same:f,other:l}=function(a,b,c,d){let{pos:e,box:f}=c,g=a.maxPadding;if(!J(e)){c.size&&(a[e]-=c.size);let b=d[c.stack]||{size:0,count:1};b.size=Math.max(b.size,c.horizontal?f.height:f.width),c.size=b.size/b.count,a[e]+=c.size}f.getPadding&&cp(g,f.getPadding());let h=Math.max(0,b.outerWidth-co(g,a,"left","right")),i=Math.max(0,b.outerHeight-co(g,a,"top","bottom")),j=h!==a.w,k=i!==a.h;return a.w=h,a.h=i,c.horizontal?{same:j,other:k}:{same:k,other:j}}(b,c,g,d);i|=f&&k.length,j=j||l,h.fullSize||k.push(g)}return i&&cq(k,b,c,d)||j}function cr(a,b,c,d,e){a.top=c,a.left=b,a.right=b+d,a.bottom=c+e,a.width=d,a.height=e}function cs(a,b,c,d){let e=c.padding,{x:f,y:g}=b;for(let h of a){let a=h.box,i=d[h.stack]||{count:1,placed:0,weight:1},j=h.stackWeight/i.weight||1;if(h.horizontal){let d=b.w*j,f=i.size||a.height;$(i.start)&&(g=i.start),a.fullSize?cr(a,e.left,g,c.outerWidth-e.right-e.left,f):cr(a,b.left+i.placed,g,d,f),i.start=g,i.placed+=d,g=a.bottom}else{let d=b.h*j,g=i.size||a.width;$(i.start)&&(f=i.start),a.fullSize?cr(a,f,e.top,g,c.outerHeight-e.bottom-e.top):cr(a,f,b.top+i.placed,g,d),i.start=f,i.placed+=d,f=a.right}}b.x=f,b.y=g}var ct={addBox(a,b){a.boxes||(a.boxes=[]),b.fullSize=b.fullSize||!1,b.position=b.position||"top",b.weight=b.weight||0,b._layers=b._layers||function(){return[{z:0,draw(a){b.draw(a)}}]},a.boxes.push(b)},removeBox(a,b){let c=a.boxes?a.boxes.indexOf(b):-1;-1!==c&&a.boxes.splice(c,1)},configure(a,b,c){b.fullSize=c.fullSize,b.position=c.position,b.weight=c.weight},update(a,b,c,d){let e,f,g,h,i,j,k,l;if(!a)return;let m=bf(a.options.layout.padding),n=Math.max(b-m.width,0),o=Math.max(c-m.height,0),p=(f=cn((e=function(a){let b,c,d,e,f,g,h=[];for(b=0,c=(a||[]).length;b<c;++b)d=a[b],({position:e,options:{stack:f,stackWeight:g=1}}=d),h.push({index:b,box:d,pos:e,horizontal:d.isHorizontal(),weight:d.weight,stack:f&&e+f,stackWeight:g});return h}(a.boxes)).filter(a=>a.box.fullSize),!0),g=cn(cl(e,"left"),!0),h=cn(cl(e,"right")),i=cn(cl(e,"top"),!0),j=cn(cl(e,"bottom")),k=cm(e,"x"),l=cm(e,"y"),{fullSize:f,leftAndTop:g.concat(i),rightAndBottom:h.concat(l).concat(j).concat(k),chartArea:cl(e,"chartArea"),vertical:g.concat(h).concat(l),horizontal:i.concat(j).concat(k)}),q=p.vertical,r=p.horizontal;P(a.boxes,a=>{"function"==typeof a.beforeLayout&&a.beforeLayout()});let s=Object.freeze({outerWidth:b,outerHeight:c,padding:m,availableWidth:n,availableHeight:o,vBoxMaxWidth:n/2/(q.reduce((a,b)=>b.box.options&&!1===b.box.options.display?a:a+1,0)||1),hBoxMaxHeight:o/2}),t=Object.assign({},m);cp(t,bf(d));let u=Object.assign({maxPadding:t,w:n,h:o,x:m.left,y:m.top},m),v=function(a,b){let c,d,e,f=function(a){let b={};for(let c of a){let{stack:a,pos:d,stackWeight:e}=c;if(!a||!ck.includes(d))continue;let f=b[a]||(b[a]={count:0,placed:0,weight:0,size:0});f.count++,f.weight+=e}return b}(a),{vBoxMaxWidth:g,hBoxMaxHeight:h}=b;for(c=0,d=a.length;c<d;++c){let{fullSize:d}=(e=a[c]).box,i=f[e.stack],j=i&&e.stackWeight/i.weight;e.horizontal?(e.width=j?j*g:d&&b.availableWidth,e.height=h):(e.width=g,e.height=j?j*h:d&&b.availableHeight)}return f}(q.concat(r),s);cq(p.fullSize,u,s,v),cq(q,u,s,v),cq(r,u,s,v)&&cq(q,u,s,v);let w=u.maxPadding;function x(a){let b=Math.max(w[a]-u[a],0);return u[a]+=b,b}u.y+=x("top"),u.x+=x("left"),x("right"),x("bottom"),cs(p.leftAndTop,u,s,v),u.x+=u.w,u.y+=u.h,cs(p.rightAndBottom,u,s,v),a.chartArea={left:u.left,top:u.top,right:u.left+u.w,bottom:u.top+u.h,height:u.h,width:u.w},P(p.chartArea,b=>{let c=b.box;Object.assign(c,a.chartArea),c.update(u.w,u.h,{left:0,top:0,right:0,bottom:0})})}};class cu{acquireContext(a,b){}releaseContext(a){return!1}addEventListener(a,b,c){}removeEventListener(a,b,c){}getDevicePixelRatio(){return 1}getMaximumSize(a,b,c,d){return b=Math.max(0,b||a.width),c=c||a.height,{width:b,height:Math.max(0,d?Math.floor(b/d):c)}}isAttached(a){return!0}updateConfig(a){}}class cv extends cu{acquireContext(a){return a&&a.getContext&&a.getContext("2d")||null}updateConfig(a){a.options.animation=!1}}class cw{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(a){let{x:b,y:c}=this.getProps(["x","y"],a);return{x:b,y:c}}hasValue(){return am(this.x)&&am(this.y)}getProps(a,b){let c=this.$animations;if(!b||!c)return this;let d={};return a.forEach(a=>{d[a]=c[a]&&c[a].active()?c[a]._to:this[a]}),d}}function cx(a,b,c,d,e){let f,g,h,i=M(d,0),j=Math.min(M(e,a.length),a.length),k=0;for(c=Math.ceil(c),e&&(c=(f=e-d)/Math.floor(f/c)),h=i;h<0;)h=Math.round(i+ ++k*c);for(g=Math.max(i,0);g<j;g++)g===h&&(b.push(a[g]),h=Math.round(i+ ++k*c))}let cy=(a,b,c)=>"top"===b||"left"===b?a[b]+c:a[b]-c,cz=(a,b)=>Math.min(b||a,a);function cA(a,b){let c=[],d=a.length/b,e=a.length,f=0;for(;f<e;f+=d)c.push(a[Math.floor(f)]);return c}function cB(a){return a.drawTicks?a.tickLength:0}function cC(a,b){if(!a.display)return 0;let c=bg(a.font,b),d=bf(a.padding);return(I(a.text)?a.text.length:1)*c.lineHeight+d.height}class cD extends cw{constructor(a){super(),this.id=a.id,this.type=a.type,this.options=void 0,this.ctx=a.ctx,this.chart=a.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(a){this.options=a.setContext(this.getContext()),this.axis=a.axis,this._userMin=this.parse(a.min),this._userMax=this.parse(a.max),this._suggestedMin=this.parse(a.suggestedMin),this._suggestedMax=this.parse(a.suggestedMax)}parse(a,b){return a}getUserBounds(){let{_userMin:a,_userMax:b,_suggestedMin:c,_suggestedMax:d}=this;return a=L(a,1/0),b=L(b,-1/0),c=L(c,1/0),d=L(d,-1/0),{min:L(a,c),max:L(b,d),minDefined:K(a),maxDefined:K(b)}}getMinMax(a){let b,{min:c,max:d,minDefined:e,maxDefined:f}=this.getUserBounds();if(e&&f)return{min:c,max:d};let g=this.getMatchingVisibleMetas();for(let h=0,i=g.length;h<i;++h)b=g[h].controller.getMinMax(this,a),e||(c=Math.min(c,b.min)),f||(d=Math.max(d,b.max));return c=f&&c>d?d:c,d=e&&c>d?c:d,{min:L(c,L(d,c)),max:L(d,L(c,d))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){let a=this.chart.data;return this.options.labels||(this.isHorizontal()?a.xLabels:a.yLabels)||a.labels||[]}getLabelItems(a=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(a))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){O(this.options.beforeUpdate,[this])}update(a,b,c){let{beginAtZero:d,grace:e,ticks:f}=this.options,g=f.sampleSize;this.beforeUpdate(),this.maxWidth=a,this.maxHeight=b,this._margins=c=Object.assign({left:0,right:0,top:0,bottom:0},c),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+c.left+c.right:this.height+c.top+c.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=function(a,b,c){let{min:d,max:e}=a,f=N(b,(e-d)/2),g=(a,b)=>c&&0===a?0:a+b;return{min:g(d,-Math.abs(f)),max:g(e,f)}}(this,e,d),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();let h=g<this.ticks.length;this._convertTicksToLabels(h?cA(this.ticks,g):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),f.display&&(f.autoSkip||"auto"===f.source)&&(this.ticks=function(a,b){var c;let d,e,f=a.options.ticks,g=(d=(c=a).options.offset,e=c._tickSize(),Math.floor(Math.min(c._length/e+ +!d,c._maxLength/e))),h=Math.min(f.maxTicksLimit||g,g),i=f.major.enabled?function(a){let b,c,d=[];for(b=0,c=a.length;b<c;b++)a[b].major&&d.push(b);return d}(b):[],j=i.length,k=i[0],l=i[j-1],m=[];if(j>h)return function(a,b,c,d){let e,f=0,g=c[0];for(e=0,d=Math.ceil(d);e<a.length;e++)e===g&&(b.push(a[e]),g=c[++f*d])}(b,m,i,j/h),m;let n=function(a,b,c){let d=function(a){let b,c,d=a.length;if(d<2)return!1;for(c=a[0],b=1;b<d;++b)if(a[b]-a[b-1]!==c)return!1;return c}(a),e=b.length/c;if(!d)return Math.max(e,1);let f=function(a){let b,c=[],d=Math.sqrt(a);for(b=1;b<d;b++)a%b==0&&(c.push(b),c.push(a/b));return d===(0|d)&&c.push(d),c.sort((a,b)=>a-b).pop(),c}(d);for(let a=0,b=f.length-1;a<b;a++){let b=f[a];if(b>e)return b}return Math.max(e,1)}(i,b,h);if(j>0){let a,c,d=j>1?Math.round((l-k)/(j-1)):null;for(cx(b,m,n,H(d)?0:k-d,k),a=0,c=j-1;a<c;a++)cx(b,m,n,i[a],i[a+1]);return cx(b,m,n,l,H(d)?b.length:l+d),m}return cx(b,m,n),m}(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),h&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let a,b,c=this.options.reverse;this.isHorizontal()?(a=this.left,b=this.right):(a=this.top,b=this.bottom,c=!c),this._startPixel=a,this._endPixel=b,this._reversePixels=c,this._length=b-a,this._alignToPixels=this.options.alignToPixels}afterUpdate(){O(this.options.afterUpdate,[this])}beforeSetDimensions(){O(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(){O(this.options.afterSetDimensions,[this])}_callHooks(a){this.chart.notifyPlugins(a,this.getContext()),O(this.options[a],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){O(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(a){let b,c,d,e=this.options.ticks;for(b=0,c=a.length;b<c;b++)(d=a[b]).label=O(e.callback,[d.value,b,a],this)}afterTickToLabelConversion(){O(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){O(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){let a,b,c,d=this.options,e=d.ticks,f=cz(this.ticks.length,d.ticks.maxTicksLimit),g=e.minRotation||0,h=e.maxRotation,i=g;if(!this._isVisible()||!e.display||g>=h||f<=1||!this.isHorizontal()){this.labelRotation=g;return}let j=this._getLabelSizes(),k=j.widest.width,l=j.highest.height,m=av(this.chart.width-k,0,this.maxWidth);k+6>(a=d.offset?this.maxWidth/f:m/(f-1))&&(a=m/(f-(d.offset?.5:1)),b=this.maxHeight-cB(d.grid)-e.padding-cC(d.title,this.chart.options.font),c=Math.sqrt(k*k+l*l),i=Math.max(g,Math.min(h,i=180/ab*Math.min(Math.asin(av((j.highest.height+6)/a,-1,1)),Math.asin(av(b/c,-1,1))-Math.asin(av(l/c,-1,1)))))),this.labelRotation=i}afterCalculateLabelRotation(){O(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){O(this.options.beforeFit,[this])}fit(){let a={width:0,height:0},{chart:b,options:{ticks:c,title:d,grid:e}}=this,f=this._isVisible(),g=this.isHorizontal();if(f){let f=cC(d,b.options.font);if(g?(a.width=this.maxWidth,a.height=cB(e)+f):(a.height=this.maxHeight,a.width=cB(e)+f),c.display&&this.ticks.length){let{first:b,last:d,widest:e,highest:f}=this._getLabelSizes(),h=2*c.padding,i=ao(this.labelRotation),j=Math.cos(i),k=Math.sin(i);if(g){let b=c.mirror?0:k*e.width+j*f.height;a.height=Math.min(this.maxHeight,a.height+b+h)}else{let b=c.mirror?0:j*e.width+k*f.height;a.width=Math.min(this.maxWidth,a.width+b+h)}this._calculatePadding(b,d,k,j)}}this._handleMargins(),g?(this.width=this._length=b.width-this._margins.left-this._margins.right,this.height=a.height):(this.width=a.width,this.height=this._length=b.height-this._margins.top-this._margins.bottom)}_calculatePadding(a,b,c,d){let{ticks:{align:e,padding:f},position:g}=this.options,h=0!==this.labelRotation,i="top"!==g&&"x"===this.axis;if(this.isHorizontal()){let g=this.getPixelForTick(0)-this.left,j=this.right-this.getPixelForTick(this.ticks.length-1),k=0,l=0;h?i?(k=d*a.width,l=c*b.height):(k=c*a.height,l=d*b.width):"start"===e?l=b.width:"end"===e?k=a.width:"inner"!==e&&(k=a.width/2,l=b.width/2),this.paddingLeft=Math.max((k-g+f)*this.width/(this.width-g),0),this.paddingRight=Math.max((l-j+f)*this.width/(this.width-j),0)}else{let c=b.height/2,d=a.height/2;"start"===e?(c=0,d=a.height):"end"===e&&(c=b.height,d=0),this.paddingTop=c+f,this.paddingBottom=d+f}}_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(){O(this.options.afterFit,[this])}isHorizontal(){let{axis:a,position:b}=this.options;return"top"===b||"bottom"===b||"x"===a}isFullSize(){return this.options.fullSize}_convertTicksToLabels(a){let b,c;for(this.beforeTickToLabelConversion(),this.generateTickLabels(a),b=0,c=a.length;b<c;b++)H(a[b].label)&&(a.splice(b,1),c--,b--);this.afterTickToLabelConversion()}_getLabelSizes(){let a=this._labelSizes;if(!a){let b=this.options.ticks.sampleSize,c=this.ticks;b<c.length&&(c=cA(c,b)),this._labelSizes=a=this._computeLabelSizes(c,c.length,this.options.ticks.maxTicksLimit)}return a}_computeLabelSizes(a,b,c){let d,e,f,g,h,i,j,k,l,m,n,{ctx:o,_longestTextCache:p}=this,q=[],r=[],s=Math.floor(b/cz(b,c)),t=0,u=0;for(d=0;d<b;d+=s){if(g=a[d].label,o.font=i=(h=this._resolveTickFontOptions(d)).string,j=p[i]=p[i]||{data:{},gc:[]},k=h.lineHeight,l=m=0,H(g)||I(g)){if(I(g))for(e=0,f=g.length;e<f;++e)H(n=g[e])||I(n)||(l=aZ(o,j.data,j.gc,l,n),m+=k)}else l=aZ(o,j.data,j.gc,l,g),m=k;q.push(l),r.push(m),t=Math.max(l,t),u=Math.max(m,u)}P(p,a=>{let c,d=a.gc,e=d.length/2;if(e>b){for(c=0;c<e;++c)delete a.data[d[c]];d.splice(0,e)}});let v=q.indexOf(t),w=r.indexOf(u),x=a=>({width:q[a]||0,height:r[a]||0});return{first:x(0),last:x(b-1),widest:x(v),highest:x(w),widths:q,heights:r}}getLabelForValue(a){return a}getPixelForValue(a,b){return NaN}getValueForPixel(a){}getPixelForTick(a){let b=this.ticks;return a<0||a>b.length-1?null:this.getPixelForValue(b[a].value)}getPixelForDecimal(a){this._reversePixels&&(a=1-a);let b=this._startPixel+a*this._length;return av(this._alignToPixels?a$(this.chart,b,0):b,-32768,32767)}getDecimalForPixel(a){let b=(a-this._startPixel)/this._length;return this._reversePixels?1-b:b}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){let{min:a,max:b}=this;return a<0&&b<0?b:a>0&&b>0?a:0}getContext(a){var b,c;let d=this.ticks||[];if(a>=0&&a<d.length){let c=d[a];return c.$context||(b=this.getContext(),c.$context=bi(b,{tick:c,index:a,type:"tick"}))}return this.$context||(this.$context=(c=this.chart.getContext(),bi(c,{scale:this,type:"scale"})))}_tickSize(){let a=this.options.ticks,b=ao(this.labelRotation),c=Math.abs(Math.cos(b)),d=Math.abs(Math.sin(b)),e=this._getLabelSizes(),f=a.autoSkipPadding||0,g=e?e.widest.width+f:0,h=e?e.highest.height+f:0;return this.isHorizontal()?h*c>g*d?g/c:h/d:h*d<g*c?h/c:g/d}_isVisible(){let a=this.options.display;return"auto"!==a?!!a:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(a){let b,c,d,e,f,g,h,i,j,k,l,m,n=this.axis,o=this.chart,p=this.options,{grid:q,position:r,border:s}=p,t=q.offset,u=this.isHorizontal(),v=this.ticks.length+ +!!t,w=cB(q),x=[],y=s.setContext(this.getContext()),z=y.display?y.width:0,A=z/2,B=function(a){return a$(o,a,z)};if("top"===r)b=B(this.bottom),g=this.bottom-w,i=b-A,k=B(a.top)+A,m=a.bottom;else if("bottom"===r)b=B(this.top),k=a.top,m=B(a.bottom)-A,g=b+A,i=this.top+w;else if("left"===r)b=B(this.right),f=this.right-w,h=b-A,j=B(a.left)+A,l=a.right;else if("right"===r)b=B(this.left),j=a.left,l=B(a.right)-A,f=b+A,h=this.left+w;else if("x"===n){if("center"===r)b=B((a.top+a.bottom)/2+.5);else if(J(r)){let a=Object.keys(r)[0],c=r[a];b=B(this.chart.scales[a].getPixelForValue(c))}k=a.top,m=a.bottom,i=(g=b+A)+w}else if("y"===n){if("center"===r)b=B((a.left+a.right)/2);else if(J(r)){let a=Object.keys(r)[0],c=r[a];b=B(this.chart.scales[a].getPixelForValue(c))}h=(f=b-A)-w,j=a.left,l=a.right}let C=M(p.ticks.maxTicksLimit,v),D=Math.max(1,Math.ceil(v/C));for(c=0;c<v;c+=D){let a=this.getContext(c),b=q.setContext(a),n=s.setContext(a),p=b.lineWidth,r=b.color,v=n.dash||[],w=n.dashOffset,y=b.tickWidth,z=b.tickColor,A=b.tickBorderDash||[],B=b.tickBorderDashOffset;void 0!==(d=function(a,b,c){let d,e=a.ticks.length,f=Math.min(b,e-1),g=a._startPixel,h=a._endPixel,i=a.getPixelForTick(f);if(!c||(d=1===e?Math.max(i-g,h-i):0===b?(a.getPixelForTick(1)-i)/2:(i-a.getPixelForTick(f-1))/2,!((i+=f<b?d:-d)<g-1e-6)&&!(i>h+1e-6)))return i}(this,c,t))&&(e=a$(o,d,p),u?f=h=j=l=e:g=i=k=m=e,x.push({tx1:f,ty1:g,tx2:h,ty2:i,x1:j,y1:k,x2:l,y2:m,width:p,color:r,borderDash:v,borderDashOffset:w,tickWidth:y,tickColor:z,tickBorderDash:A,tickBorderDashOffset:B}))}return this._ticksLength=v,this._borderValue=b,x}_computeLabelItems(a){let b,c,d,e,f,g,h,i,j,k,l,m=this.axis,n=this.options,{position:o,ticks:p}=n,q=this.isHorizontal(),r=this.ticks,{align:s,crossAlign:t,padding:u,mirror:v}=p,w=cB(n.grid),x=w+u,y=v?-u:x,z=-ao(this.labelRotation),A=[],B="middle";if("top"===o)f=this.bottom-y,g=this._getXAxisLabelAlignment();else if("bottom"===o)f=this.top+y,g=this._getXAxisLabelAlignment();else if("left"===o){let a=this._getYAxisLabelAlignment(w);g=a.textAlign,e=a.x}else if("right"===o){let a=this._getYAxisLabelAlignment(w);g=a.textAlign,e=a.x}else if("x"===m){if("center"===o)f=(a.top+a.bottom)/2+x;else if(J(o)){let a=Object.keys(o)[0],b=o[a];f=this.chart.scales[a].getPixelForValue(b)+x}g=this._getXAxisLabelAlignment()}else if("y"===m){if("center"===o)e=(a.left+a.right)/2-x;else if(J(o)){let a=Object.keys(o)[0],b=o[a];e=this.chart.scales[a].getPixelForValue(b)}g=this._getYAxisLabelAlignment(w).textAlign}"y"===m&&("start"===s?B="top":"end"===s&&(B="bottom"));let C=this._getLabelSizes();for(b=0,c=r.length;b<c;++b){let a;d=r[b].label;let m=p.setContext(this.getContext(b));h=this.getPixelForTick(b)+p.labelOffset,j=(i=this._resolveTickFontOptions(b)).lineHeight;let n=(k=I(d)?d.length:1)/2,s=m.color,u=m.textStrokeColor,w=m.textStrokeWidth,x=g;if(q?(e=h,"inner"===g&&(x=b===c-1?this.options.reverse?"left":"right":0===b?this.options.reverse?"right":"left":"center"),l="top"===o?"near"===t||0!==z?-k*j+j/2:"center"===t?-C.highest.height/2-n*j+j:-C.highest.height+j/2:"near"===t||0!==z?j/2:"center"===t?C.highest.height/2-n*j:C.highest.height-k*j,v&&(l*=-1),0===z||m.showLabelBackdrop||(e+=j/2*Math.sin(z))):(f=h,l=(1-k)*j/2),m.showLabelBackdrop){let d=bf(m.backdropPadding),e=C.heights[b],f=C.widths[b],h=l-d.top,i=0-d.left;switch(B){case"middle":h-=e/2;break;case"bottom":h-=e}switch(g){case"center":i-=f/2;break;case"right":i-=f;break;case"inner":b===c-1?i-=f:b>0&&(i-=f/2)}a={left:i,top:h,width:f+d.width,height:e+d.height,color:m.backdropColor}}A.push({label:d,font:i,textOffset:l,options:{rotation:z,color:s,strokeColor:u,strokeWidth:w,textAlign:x,textBaseline:B,translation:[e,f],backdrop:a}})}return A}_getXAxisLabelAlignment(){let{position:a,ticks:b}=this.options;if(-ao(this.labelRotation))return"top"===a?"left":"right";let c="center";return"start"===b.align?c="left":"end"===b.align?c="right":"inner"===b.align&&(c="inner"),c}_getYAxisLabelAlignment(a){let b,c,{position:d,ticks:{crossAlign:e,mirror:f,padding:g}}=this.options,h=this._getLabelSizes(),i=a+g,j=h.widest.width;return"left"===d?f?(c=this.right+g,"near"===e?b="left":"center"===e?(b="center",c+=j/2):(b="right",c+=j)):(c=this.right-i,"near"===e?b="right":"center"===e?(b="center",c-=j/2):(b="left",c=this.left)):"right"===d?f?(c=this.left+g,"near"===e?b="right":"center"===e?(b="center",c-=j/2):(b="left",c-=j)):(c=this.left+i,"near"===e?b="left":"center"===e?(b="center",c+=j/2):(b="right",c=this.right)):b="right",{textAlign:b,x:c}}_computeLabelArea(){if(this.options.ticks.mirror)return;let a=this.chart,b=this.options.position;return"left"===b||"right"===b?{top:0,left:this.left,bottom:a.height,right:this.right}:"top"===b||"bottom"===b?{top:this.top,left:0,bottom:this.bottom,right:a.width}:void 0}drawBackground(){let{ctx:a,options:{backgroundColor:b},left:c,top:d,width:e,height:f}=this;b&&(a.save(),a.fillStyle=b,a.fillRect(c,d,e,f),a.restore())}getLineWidthForValue(a){let b=this.options.grid;if(!this._isVisible()||!b.display)return 0;let c=this.ticks.findIndex(b=>b.value===a);return c>=0?b.setContext(this.getContext(c)).lineWidth:0}drawGrid(a){let b,c,d=this.options.grid,e=this.ctx,f=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(a)),g=(a,b,c)=>{c.width&&c.color&&(e.save(),e.lineWidth=c.width,e.strokeStyle=c.color,e.setLineDash(c.borderDash||[]),e.lineDashOffset=c.borderDashOffset,e.beginPath(),e.moveTo(a.x,a.y),e.lineTo(b.x,b.y),e.stroke(),e.restore())};if(d.display)for(b=0,c=f.length;b<c;++b){let a=f[b];d.drawOnChartArea&&g({x:a.x1,y:a.y1},{x:a.x2,y:a.y2},a),d.drawTicks&&g({x:a.tx1,y:a.ty1},{x:a.tx2,y:a.ty2},{color:a.tickColor,width:a.tickWidth,borderDash:a.tickBorderDash,borderDashOffset:a.tickBorderDashOffset})}}drawBorder(){let a,b,c,d,{chart:e,ctx:f,options:{border:g,grid:h}}=this,i=g.setContext(this.getContext()),j=g.display?i.width:0;if(!j)return;let k=h.setContext(this.getContext(0)).lineWidth,l=this._borderValue;this.isHorizontal()?(a=a$(e,this.left,j)-j/2,b=a$(e,this.right,k)+k/2,c=d=l):(c=a$(e,this.top,j)-j/2,d=a$(e,this.bottom,k)+k/2,a=b=l),f.save(),f.lineWidth=i.width,f.strokeStyle=i.color,f.beginPath(),f.moveTo(a,c),f.lineTo(b,d),f.stroke(),f.restore()}drawLabels(a){if(!this.options.ticks.display)return;let b=this.ctx,c=this._computeLabelArea();for(let d of(c&&a3(b,c),this.getLabelItems(a))){let a=d.options,c=d.font;a7(b,d.label,0,d.textOffset,c,a)}c&&a4(b)}drawTitle(){let a,b,{ctx:c,options:{position:d,title:e,reverse:f}}=this;if(!e.display)return;let g=bg(e.font),h=bf(e.padding),i=e.align,j=g.lineHeight/2;"bottom"===d||"center"===d||J(d)?(j+=h.bottom,I(e.text)&&(j+=g.lineHeight*(e.text.length-1))):j+=h.top;let{titleX:k,titleY:l,maxWidth:m,rotation:n}=function(a,b,c,d){let e,f,g,{top:h,left:i,bottom:j,right:k,chart:l}=a,{chartArea:m,scales:n}=l,o=0,p=j-h,q=k-i;if(a.isHorizontal()){if(f=aF(d,i,k),J(c)){let a=Object.keys(c)[0],d=c[a];g=n[a].getPixelForValue(d)+p-b}else g="center"===c?(m.bottom+m.top)/2+p-b:cy(a,c,b);e=k-i}else{if(J(c)){let a=Object.keys(c)[0],d=c[a];f=n[a].getPixelForValue(d)-q+b}else f="center"===c?(m.left+m.right)/2-q+b:cy(a,c,b);g=aF(d,j,h),o="left"===c?-af:af}return{titleX:f,titleY:g,maxWidth:e,rotation:o}}(this,j,d,i);a7(c,e.text,0,0,g,{color:e.color,maxWidth:m,rotation:n,textAlign:(a=aE(i),(f&&"right"!==d||!f&&"right"===d)&&(a="left"===(b=a)?"right":"right"===b?"left":b),a),textBaseline:"middle",translation:[k,l]})}draw(a){this._isVisible()&&(this.drawBackground(),this.drawGrid(a),this.drawBorder(),this.drawTitle(),this.drawLabels(a))}_layers(){let a=this.options,b=a.ticks&&a.ticks.z||0,c=M(a.grid&&a.grid.z,-1),d=M(a.border&&a.border.z,0);return this._isVisible()&&this.draw===cD.prototype.draw?[{z:c,draw:a=>{this.drawBackground(),this.drawGrid(a),this.drawTitle()}},{z:d,draw:()=>{this.drawBorder()}},{z:b,draw:a=>{this.drawLabels(a)}}]:[{z:b,draw:a=>{this.draw(a)}}]}getMatchingVisibleMetas(a){let b,c,d=this.chart.getSortedVisibleDatasetMetas(),e=this.axis+"AxisID",f=[];for(b=0,c=d.length;b<c;++b){let c=d[b];c[e]!==this.id||a&&c.type!==a||f.push(c)}return f}_resolveTickFontOptions(a){return bg(this.options.ticks.setContext(this.getContext(a)).font)}_maxDigits(){let a=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/a}}class cE{constructor(a,b,c){this.type=a,this.scope=b,this.override=c,this.items=Object.create(null)}isForType(a){return Object.prototype.isPrototypeOf.call(this.type.prototype,a.prototype)}register(a){var b,c,d,e,f,g;let h,i,j=Object.getPrototypeOf(a);"id"in(b=j)&&"defaults"in b&&(i=this.register(j));let k=this.items,l=a.id,m=this.scope+"."+l;if(!l)throw Error("class does not have id: "+a);return l in k||(k[l]=a,c=a,d=m,e=i,h=U(Object.create(null),[e?aY.get(e):{},aY.get(d),c.defaults]),aY.set(d,h),c.defaultRoutes&&(f=d,Object.keys(g=c.defaultRoutes).forEach(a=>{let b=a.split("."),c=b.pop(),d=[f].concat(b).join("."),e=g[a].split("."),h=e.pop(),i=e.join(".");aY.route(d,c,i,h)})),c.descriptors&&aY.describe(d,c.descriptors),this.override&&aY.override(a.id,a.overrides)),m}get(a){return this.items[a]}unregister(a){let b=this.items,c=a.id,d=this.scope;c in b&&delete b[c],d&&c in aY[d]&&(delete aY[d][c],this.override&&delete aU[c])}}var cF=new class{constructor(){this.controllers=new cE(b6,"datasets",!0),this.elements=new cE(cw,"elements"),this.plugins=new cE(Object,"plugins"),this.scales=new cE(cD,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...a){this._each("register",a)}remove(...a){this._each("unregister",a)}addControllers(...a){this._each("register",a,this.controllers)}addElements(...a){this._each("register",a,this.elements)}addPlugins(...a){this._each("register",a,this.plugins)}addScales(...a){this._each("register",a,this.scales)}getController(a){return this._get(a,this.controllers,"controller")}getElement(a){return this._get(a,this.elements,"element")}getPlugin(a){return this._get(a,this.plugins,"plugin")}getScale(a){return this._get(a,this.scales,"scale")}removeControllers(...a){this._each("unregister",a,this.controllers)}removeElements(...a){this._each("unregister",a,this.elements)}removePlugins(...a){this._each("unregister",a,this.plugins)}removeScales(...a){this._each("unregister",a,this.scales)}_each(a,b,c){[...b].forEach(b=>{let d=c||this._getRegistryForType(b);c||d.isForType(b)||d===this.plugins&&b.id?this._exec(a,d,b):P(b,b=>{let d=c||this._getRegistryForType(b);this._exec(a,d,b)})})}_exec(a,b,c){let d=Z(a);O(c["before"+d],[],c),b[a](c),O(c["after"+d],[],c)}_getRegistryForType(a){for(let b=0;b<this._typedRegistries.length;b++){let c=this._typedRegistries[b];if(c.isForType(a))return c}return this.plugins}_get(a,b,c){let d=b.get(a);if(void 0===d)throw Error('"'+a+'" is not a registered '+c+".");return d}};class cG{constructor(){this._init=void 0}notify(a,b,c,d){if("beforeInit"===b&&(this._init=this._createDescriptors(a,!0),this._notify(this._init,a,"install")),void 0===this._init)return;let e=d?this._descriptors(a).filter(d):this._descriptors(a),f=this._notify(e,a,b,c);return"afterDestroy"===b&&(this._notify(e,a,"stop"),this._notify(this._init,a,"uninstall"),this._init=void 0),f}_notify(a,b,c,d){for(let e of(d=d||{},a)){let a=e.plugin;if(!1===O(a[c],[b,d,e.options],a)&&d.cancelable)return!1}return!0}invalidate(){H(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(a){if(this._cache)return this._cache;let b=this._cache=this._createDescriptors(a);return this._notifyStateChanges(a),b}_createDescriptors(a,b){let c=a&&a.config,d=M(c.options&&c.options.plugins,{}),e=function(a){let b={},c=[],d=Object.keys(cF.plugins.items);for(let a=0;a<d.length;a++)c.push(cF.getPlugin(d[a]));let e=a.plugins||[];for(let a=0;a<e.length;a++){let d=e[a];-1===c.indexOf(d)&&(c.push(d),b[d.id]=!0)}return{plugins:c,localIds:b}}(c);return!1!==d||b?function(a,{plugins:b,localIds:c},d,e){let f=[],g=a.getContext();for(let i of b){var h;let b=i.id,j=(h=d[b],e||!1!==h?!0===h?{}:h:null);null!==j&&f.push({plugin:i,options:function(a,{plugin:b,local:c},d,e){let f=a.pluginScopeKeys(b),g=a.getOptionScopes(d,f);return c&&b.defaults&&g.push(b.defaults),a.createResolver(g,e,[""],{scriptable:!1,indexable:!1,allKeys:!0})}(a.config,{plugin:i,local:c[b]},j,g)})}return f}(a,e,d,b):[]}_notifyStateChanges(a){let b=this._oldCache||[],c=this._cache,d=(a,b)=>a.filter(a=>!b.some(b=>a.plugin.id===b.plugin.id));this._notify(d(b,c),a,"stop"),this._notify(d(c,b),a,"start")}}function cH(a,b){let c=aY.datasets[a]||{};return((b.datasets||{})[a]||{}).indexAxis||b.indexAxis||c.indexAxis||"x"}function cI(a){if("x"===a||"y"===a||"r"===a)return a}function cJ(a,...b){if(cI(a))return a;for(let d of b){var c;let b=d.axis||("top"===(c=d.position)||"bottom"===c?"x":"left"===c||"right"===c?"y":void 0)||a.length>1&&cI(a[0].toLowerCase());if(b)return b}throw Error(`Cannot determine type of '${a}' axis. Please provide 'axis' or 'position' option.`)}function cK(a,b,c){if(c[b+"AxisID"]===a)return{axis:b}}function cL(a){let b,c,d,e,f=a.options||(a.options={});f.plugins=M(f.plugins,{}),b=aU[a.type]||{scales:{}},c=f.scales||{},d=cH(a.type,f),e=Object.create(null),Object.keys(c).forEach(f=>{let g=c[f];if(!J(g))return console.error(`Invalid scale configuration for scale: ${f}`);if(g._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${f}`);let h=cJ(f,g,function(a,b){if(b.data&&b.data.datasets){let c=b.data.datasets.filter(b=>b.xAxisID===a||b.yAxisID===a);if(c.length)return cK(a,"x",c[0])||cK(a,"y",c[0])}return{}}(f,a),aY.scales[g.type]),i=h===d?"_index_":"_value_",j=b.scales||{};e[f]=V(Object.create(null),[{axis:h},g,j[h],j[i]])}),a.data.datasets.forEach(b=>{let d=b.type||a.type,g=b.indexAxis||cH(d,f),h=(aU[d]||{}).scales||{};Object.keys(h).forEach(a=>{let d,f=(d=a,"_index_"===a?d=g:"_value_"===a&&(d="x"===g?"y":"x"),d),i=b[f+"AxisID"]||f;e[i]=e[i]||Object.create(null),V(e[i],[{axis:f},c[i],h[a]])})}),Object.keys(e).forEach(a=>{let b=e[a];V(b,[aY.scales[b.type],aY.scale])}),f.scales=e}function cM(a){return(a=a||{}).datasets=a.datasets||[],a.labels=a.labels||[],a}let cN=new Map,cO=new Set;function cP(a,b){let c=cN.get(a);return c||(c=b(),cN.set(a,c),cO.add(c)),c}let cQ=(a,b,c)=>{let d=Y(b,c);void 0!==d&&a.add(d)};class cR{constructor(a){this._config=function(a){return(a=a||{}).data=cM(a.data),cL(a),a}(a),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(a){this._config.type=a}get data(){return this._config.data}set data(a){this._config.data=cM(a)}get options(){return this._config.options}set options(a){this._config.options=a}get plugins(){return this._config.plugins}update(){let a=this._config;this.clearCache(),cL(a)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(a){return cP(a,()=>[[`datasets.${a}`,""]])}datasetAnimationScopeKeys(a,b){return cP(`${a}.transition.${b}`,()=>[[`datasets.${a}.transitions.${b}`,`transitions.${b}`],[`datasets.${a}`,""]])}datasetElementScopeKeys(a,b){return cP(`${a}-${b}`,()=>[[`datasets.${a}.elements.${b}`,`datasets.${a}`,`elements.${b}`,""]])}pluginScopeKeys(a){let b=a.id,c=this.type;return cP(`${c}-plugin-${b}`,()=>[[`plugins.${b}`,...a.additionalOptionScopes||[]]])}_cachedScopes(a,b){let c=this._scopeCache,d=c.get(a);return(!d||b)&&(d=new Map,c.set(a,d)),d}getOptionScopes(a,b,c){let{options:d,type:e}=this,f=this._cachedScopes(a,c),g=f.get(b);if(g)return g;let h=new Set;b.forEach(b=>{a&&(h.add(a),b.forEach(b=>cQ(h,a,b))),b.forEach(a=>cQ(h,d,a)),b.forEach(a=>cQ(h,aU[e]||{},a)),b.forEach(a=>cQ(h,aY,a)),b.forEach(a=>cQ(h,aV,a))});let i=Array.from(h);return 0===i.length&&i.push(Object.create(null)),cO.has(b)&&f.set(b,i),i}chartOptionScopes(){let{options:a,type:b}=this;return[a,aU[b]||{},aY.datasets[b]||{},{type:b},aY,aV]}resolveNamedOptions(a,b,c,d=[""]){let e={$shared:!0},{resolver:f,subPrefixes:g}=cS(this._resolverCache,a,d),h=f;if(function(a,b){let{isScriptable:c,isIndexable:d}=bl(a);for(let e of b){let b=c(e),f=d(e),g=(f||b)&&a[e];if(b&&(_(g)||cT(g))||f&&I(g))return!0}return!1}(f,b)){e.$shared=!1,c=_(c)?c():c;let b=this.createResolver(a,c,g);h=bk(f,c,b)}for(let a of b)e[a]=h[a];return e}createResolver(a,b,c=[""],d){let{resolver:e}=cS(this._resolverCache,a,c);return J(b)?bk(e,b,void 0,d):e}}function cS(a,b,c){let d=a.get(b);d||(d=new Map,a.set(b,d));let e=c.join(),f=d.get(e);return f||(f={resolver:bj(b,c),subPrefixes:c.filter(a=>!a.toLowerCase().includes("hover"))},d.set(e,f)),f}let cT=a=>J(a)&&Object.getOwnPropertyNames(a).some(b=>_(a[b])),cU=["top","bottom","left","right","chartArea"];function cV(a,b){return"top"===a||"bottom"===a||-1===cU.indexOf(a)&&"x"===b}function cW(a,b){return function(c,d){return c[a]===d[a]?c[b]-d[b]:c[a]-d[a]}}function cX(a){let b=a.chart,c=b.options.animation;b.notifyPlugins("afterRender"),O(c&&c.onComplete,[a],b)}function cY(a){let b=a.chart,c=b.options.animation;O(c&&c.onProgress,[a],b)}function cZ(a){return a&&a.length&&(a=a[0]),a&&a.canvas&&(a=a.canvas),a}let c$={},c_=a=>{let b=cZ(a);return Object.values(c$).filter(a=>a.canvas===b).pop()};class c0{static defaults=aY;static instances=c$;static overrides=aU;static registry=cF;static version="4.5.1";static getChart=c_;static register(...a){cF.add(...a),c1()}static unregister(...a){cF.remove(...a),c1()}constructor(a,b){const c=this.config=new cR(b),d=cZ(a),e=c_(d);if(e)throw Error("Canvas is already in use. Chart with ID '"+e.id+"' must be destroyed before the canvas with ID '"+e.canvas.id+"' can be reused.");const f=c.createResolver(c.chartOptionScopes(),this.getContext());this.platform=new(c.platform||cv),this.platform.updateConfig(c);const g=this.platform.acquireContext(d,f.aspectRatio),h=g&&g.canvas,i=h&&h.height,j=h&&h.width;if(this.id=G(),this.ctx=g,this.canvas=h,this.width=j,this.height=i,this._options=f,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 cG,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=function(a,b){let c;return function(...d){return b?(clearTimeout(c),c=setTimeout(a,b,d)):a.apply(this,d),b}}(a=>this.update(a),f.resizeDelay||0),this._dataChanges=[],c$[this.id]=this,!g||!h)return void console.error("Failed to create chart: can't acquire context from the given item");bT.listen(this,"complete",cX),bT.listen(this,"progress",cY),this._initialize(),this.attached&&this.update()}get aspectRatio(){let{options:{aspectRatio:a,maintainAspectRatio:b},width:c,height:d,_aspectRatio:e}=this;return H(a)?b&&e?e:d?c/d:null:a}get data(){return this.config.data}set data(a){this.config.data=a}get options(){return this._options}set options(a){this.config.options=a}get registry(){return cF}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():bE(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return a_(this.canvas,this.ctx),this}stop(){return bT.stop(this),this}resize(a,b){bT.running(this)?this._resizeBeforeDraw={width:a,height:b}:this._resize(a,b)}_resize(a,b){let c=this.options,d=this.canvas,e=c.maintainAspectRatio&&this.aspectRatio,f=this.platform.getMaximumSize(d,a,b,e),g=c.devicePixelRatio||this.platform.getDevicePixelRatio(),h=this.width?"resize":"attach";this.width=f.width,this.height=f.height,this._aspectRatio=this.aspectRatio,bE(this,g,!0)&&(this.notifyPlugins("resize",{size:f}),O(c.onResize,[this,f],this),this.attached&&this._doResize(h)&&this.render())}ensureScalesHaveIDs(){P(this.options.scales||{},(a,b)=>{a.id=b})}buildOrUpdateScales(){let a=this.options,b=a.scales,c=this.scales,d=Object.keys(c).reduce((a,b)=>(a[b]=!1,a),{}),e=[];b&&(e=e.concat(Object.keys(b).map(a=>{let c=b[a],d=cJ(a,c),e="r"===d,f="x"===d;return{options:c,dposition:e?"chartArea":f?"bottom":"left",dtype:e?"radialLinear":f?"category":"linear"}}))),P(e,b=>{let e=b.options,f=e.id,g=cJ(f,e),h=M(e.type,b.dtype);(void 0===e.position||cV(e.position,g)!==cV(b.dposition))&&(e.position=b.dposition),d[f]=!0;let i=null;f in c&&c[f].type===h?i=c[f]:c[(i=new(cF.getScale(h))({id:f,type:h,ctx:this.ctx,chart:this})).id]=i,i.init(e,a)}),P(d,(a,b)=>{a||delete c[b]}),P(c,a=>{ct.configure(this,a,a.options),ct.addBox(this,a)})}_updateMetasets(){let a=this._metasets,b=this.data.datasets.length,c=a.length;if(a.sort((a,b)=>a.index-b.index),c>b){for(let a=b;a<c;++a)this._destroyDatasetMeta(a);a.splice(b,c-b)}this._sortedMetasets=a.slice(0).sort(cW("order","index"))}_removeUnreferencedMetasets(){let{_metasets:a,data:{datasets:b}}=this;a.length>b.length&&delete this._stacks,a.forEach((a,c)=>{0===b.filter(b=>b===a._dataset).length&&this._destroyDatasetMeta(c)})}buildOrUpdateControllers(){let a,b,c=[],d=this.data.datasets;for(this._removeUnreferencedMetasets(),a=0,b=d.length;a<b;a++){let b=d[a],e=this.getDatasetMeta(a),f=b.type||this.config.type;if(e.type&&e.type!==f&&(this._destroyDatasetMeta(a),e=this.getDatasetMeta(a)),e.type=f,e.indexAxis=b.indexAxis||cH(f,this.options),e.order=b.order||0,e.index=a,e.label=""+b.label,e.visible=this.isDatasetVisible(a),e.controller)e.controller.updateIndex(a),e.controller.linkScales();else{let b=cF.getController(f),{datasetElementType:d,dataElementType:g}=aY.datasets[f];Object.assign(b,{dataElementType:cF.getElement(g),datasetElementType:d&&cF.getElement(d)}),e.controller=new b(this,a),c.push(e.controller)}}return this._updateMetasets(),c}_resetElements(){P(this.data.datasets,(a,b)=>{this.getDatasetMeta(b).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(a){let b=this.config;b.update();let c=this._options=b.createResolver(b.chartOptionScopes(),this.getContext()),d=this._animationsDisabled=!c.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:a,cancelable:!0}))return;let e=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let f=0;for(let a=0,b=this.data.datasets.length;a<b;a++){let{controller:b}=this.getDatasetMeta(a),c=!d&&-1===e.indexOf(b);b.buildOrUpdateElements(c),f=Math.max(+b.getMaxOverflow(),f)}f=this._minPadding=c.layout.autoPadding?f:0,this._updateLayout(f),d||P(e,a=>{a.reset()}),this._updateDatasets(a),this.notifyPlugins("afterUpdate",{mode:a}),this._layers.sort(cW("z","_idx"));let{_active:g,_lastEvent:h}=this;h?this._eventHandler(h,!0):g.length&&this._updateHoverStyles(g,g,!0),this.render()}_updateScales(){P(this.scales,a=>{ct.removeBox(this,a)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){let a=this.options;aa(new Set(Object.keys(this._listeners)),new Set(a.events))&&!!this._responsiveListeners===a.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){let{_hiddenIndices:a}=this;for(let{method:c,start:d,count:e}of this._getUniformDataChanges()||[]){var b="_removeElements"===c?-e:e;for(let c of Object.keys(a)){let e=+c;if(e>=d){let f=a[c];delete a[c],(b>0||e>d)&&(a[e+b]=f)}}}}_getUniformDataChanges(){let a=this._dataChanges;if(!a||!a.length)return;this._dataChanges=[];let b=this.data.datasets.length,c=b=>new Set(a.filter(a=>a[0]===b).map((a,b)=>b+","+a.splice(1).join(","))),d=c(0);for(let a=1;a<b;a++)if(!aa(d,c(a)))return;return Array.from(d).map(a=>a.split(",")).map(a=>({method:a[1],start:+a[2],count:+a[3]}))}_updateLayout(a){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;ct.update(this,this.width,this.height,a);let b=this.chartArea,c=b.width<=0||b.height<=0;this._layers=[],P(this.boxes,a=>{c&&"chartArea"===a.position||(a.configure&&a.configure(),this._layers.push(...a._layers()))},this),this._layers.forEach((a,b)=>{a._idx=b}),this.notifyPlugins("afterLayout")}_updateDatasets(a){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:a,cancelable:!0})){for(let a=0,b=this.data.datasets.length;a<b;++a)this.getDatasetMeta(a).controller.configure();for(let b=0,c=this.data.datasets.length;b<c;++b)this._updateDataset(b,_(a)?a({datasetIndex:b}):a);this.notifyPlugins("afterDatasetsUpdate",{mode:a})}}_updateDataset(a,b){let c=this.getDatasetMeta(a),d={meta:c,index:a,mode:b,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetUpdate",d)&&(c.controller._update(b),d.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",d))}render(){!1!==this.notifyPlugins("beforeRender",{cancelable:!0})&&(bT.has(this)?this.attached&&!bT.running(this)&&bT.start(this):(this.draw(),cX({chart:this})))}draw(){let a;if(this._resizeBeforeDraw){let{width:a,height:b}=this._resizeBeforeDraw;this._resizeBeforeDraw=null,this._resize(a,b)}if(this.clear(),this.width<=0||this.height<=0||!1===this.notifyPlugins("beforeDraw",{cancelable:!0}))return;let b=this._layers;for(a=0;a<b.length&&b[a].z<=0;++a)b[a].draw(this.chartArea);for(this._drawDatasets();a<b.length;++a)b[a].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(a){let b,c,d=this._sortedMetasets,e=[];for(b=0,c=d.length;b<c;++b){let c=d[b];(!a||c.visible)&&e.push(c)}return e}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(!1===this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0}))return;let a=this.getSortedVisibleDatasetMetas();for(let b=a.length-1;b>=0;--b)this._drawDataset(a[b]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(a){let b=this.ctx,c={meta:a,index:a.index,cancelable:!0},d=bS(this,a);!1!==this.notifyPlugins("beforeDatasetDraw",c)&&(d&&a3(b,d),a.controller.draw(),d&&a4(b),c.cancelable=!1,this.notifyPlugins("afterDatasetDraw",c))}isPointInArea(a){return a2(a,this.chartArea,this._minPadding)}getElementsAtEventForMode(a,b,c,d){let e=cj.modes[b];return"function"==typeof e?e(this,a,c,d):[]}getDatasetMeta(a){let b=this.data.datasets[a],c=this._metasets,d=c.filter(a=>a&&a._dataset===b).pop();return d||(d={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:b&&b.order||0,index:a,_dataset:b,_parsed:[],_sorted:!1},c.push(d)),d}getContext(){return this.$context||(this.$context=bi(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(a){let b=this.data.datasets[a];if(!b)return!1;let c=this.getDatasetMeta(a);return"boolean"==typeof c.hidden?!c.hidden:!b.hidden}setDatasetVisibility(a,b){this.getDatasetMeta(a).hidden=!b}toggleDataVisibility(a){this._hiddenIndices[a]=!this._hiddenIndices[a]}getDataVisibility(a){return!this._hiddenIndices[a]}_updateVisibility(a,b,c){let d=c?"show":"hide",e=this.getDatasetMeta(a),f=e.controller._resolveAnimations(void 0,d);$(b)?(e.data[b].hidden=!c,this.update()):(this.setDatasetVisibility(a,c),f.update(e,{visible:c}),this.update(b=>b.datasetIndex===a?d:void 0))}hide(a,b){this._updateVisibility(a,b,!1)}show(a,b){this._updateVisibility(a,b,!0)}_destroyDatasetMeta(a){let b=this._metasets[a];b&&b.controller&&b.controller._destroy(),delete this._metasets[a]}_stop(){let a,b;for(this.stop(),bT.remove(this),a=0,b=this.data.datasets.length;a<b;++a)this._destroyDatasetMeta(a)}destroy(){this.notifyPlugins("beforeDestroy");let{canvas:a,ctx:b}=this;this._stop(),this.config.clearCache(),a&&(this.unbindEvents(),a_(a,b),this.platform.releaseContext(b),this.canvas=null,this.ctx=null),delete c$[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...a){return this.canvas.toDataURL(...a)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){let a=this._listeners,b=this.platform,c=(c,d)=>{b.addEventListener(this,c,d),a[c]=d},d=(a,b,c)=>{a.offsetX=b,a.offsetY=c,this._eventHandler(a)};P(this.options.events,a=>c(a,d))}bindResponsiveEvents(){let a;this._responsiveListeners||(this._responsiveListeners={});let b=this._responsiveListeners,c=this.platform,d=(a,d)=>{c.addEventListener(this,a,d),b[a]=d},e=(a,d)=>{b[a]&&(c.removeEventListener(this,a,d),delete b[a])},f=(a,b)=>{this.canvas&&this.resize(a,b)},g=()=>{e("attach",g),this.attached=!0,this.resize(),d("resize",f),d("detach",a)};a=()=>{this.attached=!1,e("resize",f),this._stop(),this._resize(0,0),d("attach",g)},c.isAttached(this.canvas)?g():a()}unbindEvents(){P(this._listeners,(a,b)=>{this.platform.removeEventListener(this,b,a)}),this._listeners={},P(this._responsiveListeners,(a,b)=>{this.platform.removeEventListener(this,b,a)}),this._responsiveListeners=void 0}updateHoverStyle(a,b,c){let d,e,f,g=c?"set":"remove";for("dataset"===b&&this.getDatasetMeta(a[0].datasetIndex).controller["_"+g+"DatasetHoverStyle"](),e=0,f=a.length;e<f;++e){let b=(d=a[e])&&this.getDatasetMeta(d.datasetIndex).controller;b&&b[g+"HoverStyle"](d.element,d.datasetIndex,d.index)}}getActiveElements(){return this._active||[]}setActiveElements(a){let b=this._active||[],c=a.map(({datasetIndex:a,index:b})=>{let c=this.getDatasetMeta(a);if(!c)throw Error("No dataset found at index "+a);return{datasetIndex:a,element:c.data[b],index:b}});Q(c,b)||(this._active=c,this._lastEvent=null,this._updateHoverStyles(c,b))}notifyPlugins(a,b,c){return this._plugins.notify(this,a,b,c)}isPluginEnabled(a){return 1===this._plugins._cache.filter(b=>b.plugin.id===a).length}_updateHoverStyles(a,b,c){let d=this.options.hover,e=(a,b)=>a.filter(a=>!b.some(b=>a.datasetIndex===b.datasetIndex&&a.index===b.index)),f=e(b,a),g=c?a:e(a,b);f.length&&this.updateHoverStyle(f,d.mode,!1),g.length&&d.mode&&this.updateHoverStyle(g,d.mode,!0)}_eventHandler(a,b){let c={event:a,replay:b,cancelable:!0,inChartArea:this.isPointInArea(a)},d=b=>(b.options.events||this.options.events).includes(a.native.type);if(!1===this.notifyPlugins("beforeEvent",c,d))return;let e=this._handleEvent(a,b,c.inChartArea);return c.cancelable=!1,this.notifyPlugins("afterEvent",c,d),(e||c.changed)&&this.render(),this}_handleEvent(a,b,c){var d;let{_active:e=[],options:f}=this,g=this._getActiveElements(a,e,c,b),h="mouseup"===a.type||"click"===a.type||"contextmenu"===a.type,i=(d=this._lastEvent,c&&"mouseout"!==a.type?h?d:a:null);c&&(this._lastEvent=null,O(f.onHover,[a,g,this],this),h&&O(f.onClick,[a,g,this],this));let j=!Q(g,e);return(j||b)&&(this._active=g,this._updateHoverStyles(g,e,b)),this._lastEvent=i,j}_getActiveElements(a,b,c,d){if("mouseout"===a.type)return[];if(!c)return b;let e=this.options.hover;return this.getElementsAtEventForMode(a,e.mode,e,d)}}function c1(){return P(c0.instances,a=>a._plugins.invalidate())}function c2(a,b,c,d){return{x:c+a*Math.cos(b),y:d+a*Math.sin(b)}}function c3(a,b,c,d,e,f){var g,h,i,j;let k,l,m,n,{x:o,y:p,startAngle:q,pixelMargin:r,innerRadius:s}=b,t=Math.max(b.outerRadius+d+c-r,0),u=s>0?s+d+c+r:0,v=0,w=e-q;if(d){let a=t>0?t-d:0,b=((s>0?s-d:0)+a)/2;v=(w-(0!==b?w*b/(b+d):w))/2}let x=Math.max(.001,w*t-c/ab)/t,y=(w-x)/2,z=q+y+v,A=e-y-v,{outerStart:B,outerEnd:C,innerStart:D,innerEnd:E}=(g=b,h=u,i=t,j=A-z,k=bc(g.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]),m=Math.min(l=(i-h)/2,j*h/2),{outerStart:(n=a=>{let b=(i-Math.min(l,a))*j/2;return av(a,0,Math.min(l,b))})(k.outerStart),outerEnd:n(k.outerEnd),innerStart:av(k.innerStart,0,m),innerEnd:av(k.innerEnd,0,m)}),F=t-B,G=t-C,H=z+B/F,I=A-C/G,J=u+D,K=u+E,L=z+D/J,M=A-E/K;if(a.beginPath(),f){let b=(H+I)/2;if(a.arc(o,p,t,H,b),a.arc(o,p,t,b,I),C>0){let b=c2(G,I,o,p);a.arc(b.x,b.y,C,I,A+af)}let c=c2(K,A,o,p);if(a.lineTo(c.x,c.y),E>0){let b=c2(K,M,o,p);a.arc(b.x,b.y,E,A+af,M+Math.PI)}let d=(A-E/u+(z+D/u))/2;if(a.arc(o,p,u,A-E/u,d,!0),a.arc(o,p,u,d,z+D/u,!0),D>0){let b=c2(J,L,o,p);a.arc(b.x,b.y,D,L+Math.PI,z-af)}let e=c2(F,z,o,p);if(a.lineTo(e.x,e.y),B>0){let b=c2(F,H,o,p);a.arc(b.x,b.y,B,z-af,H)}}else{a.moveTo(o,p);let b=Math.cos(H)*t+o,c=Math.sin(H)*t+p;a.lineTo(b,c);let d=Math.cos(I)*t+o,e=Math.sin(I)*t+p;a.lineTo(d,e)}a.closePath()}function c4(a,b,c=b){a.lineCap=M(c.borderCapStyle,b.borderCapStyle),a.setLineDash(M(c.borderDash,b.borderDash)),a.lineDashOffset=M(c.borderDashOffset,b.borderDashOffset),a.lineJoin=M(c.borderJoinStyle,b.borderJoinStyle),a.lineWidth=M(c.borderWidth,b.borderWidth),a.strokeStyle=M(c.borderColor,b.borderColor)}function c5(a,b,c){a.lineTo(c.x,c.y)}function c6(a,b,c={}){let d=a.length,{start:e=0,end:f=d-1}=c,{start:g,end:h}=b,i=Math.max(e,g),j=Math.min(f,h);return{count:d,start:i,loop:b.loop,ilen:j<i&&!(e<g&&f<g||e>h&&f>h)?d+j-i:j-i}}function c7(a,b,c,d){let e,f,g,{points:h,options:i}=b,{count:j,start:k,loop:l,ilen:m}=c6(h,c,d),n=i.stepped?a5:i.tension||"monotone"===i.cubicInterpolationMode?a6:c5,{move:o=!0,reverse:p}=d||{};for(e=0;e<=m;++e)(f=h[(k+(p?m-e:e))%j]).skip||(o?(a.moveTo(f.x,f.y),o=!1):n(a,g,f,p,i.stepped),g=f);return l&&n(a,g,f=h[(k+(p?m:0))%j],p,i.stepped),!!l}function c8(a,b,c,d){let e,f,g,h,i,j,k=b.points,{count:l,start:m,ilen:n}=c6(k,c,d),{move:o=!0,reverse:p}=d||{},q=0,r=0,s=a=>(m+(p?n-a:a))%l,t=()=>{h!==i&&(a.lineTo(q,i),a.lineTo(q,h),a.lineTo(q,j))};for(o&&(f=k[s(0)],a.moveTo(f.x,f.y)),e=0;e<=n;++e){if((f=k[s(e)]).skip)continue;let b=f.x,c=f.y,d=0|b;d===g?(c<h?h=c:c>i&&(i=c),q=(r*q+b)/++r):(t(),a.lineTo(b,c),g=d,r=0,h=i=c),j=c}t()}function c9(a){let b=a.options,c=b.borderDash&&b.borderDash.length;return a._decimated||a._loop||b.tension||"monotone"===b.cubicInterpolationMode||b.stepped||c?c7:c8}let da="function"==typeof Path2D;class db extends cw{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:a=>"borderDash"!==a&&"fill"!==a};constructor(a){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,a&&Object.assign(this,a)}updateControlPoints(a,b){let c=this.options;if((c.tension||"monotone"===c.cubicInterpolationMode)&&!c.stepped&&!this._pointsUpdated){let d=c.spanGaps?this._loop:this._fullLoop;!function(a,b,c,d,e){let f,g,h,i;if(b.spanGaps&&(a=a.filter(a=>!a.skip)),"monotone"===b.cubicInterpolationMode)!function(a,b="x"){let c,d,e,f=bx(b),g=a.length,h=Array(g).fill(0),i=Array(g),j=bw(a,0);for(c=0;c<g;++c)if(d=e,e=j,j=bw(a,c+1),e){if(j){let a=j[b]-e[b];h[c]=0!==a?(j[f]-e[f])/a:0}i[c]=d?j?aj(h[c-1])!==aj(h[c])?0:(h[c-1]+h[c])/2:h[c-1]:h[c]}!function(a,b,c){let d,e,f,g,h,i=a.length,j=bw(a,0);for(let k=0;k<i-1;++k)if(h=j,j=bw(a,k+1),h&&j){if(ak(b[k],0,bv)){c[k]=c[k+1]=0;continue}(g=Math.pow(d=c[k]/b[k],2)+Math.pow(e=c[k+1]/b[k],2))<=9||(f=3/Math.sqrt(g),c[k]=d*f*b[k],c[k+1]=e*f*b[k])}}(a,h,i),function(a,b,c="x"){let d,e,f,g=bx(c),h=a.length,i=bw(a,0);for(let j=0;j<h;++j){if(e=f,f=i,i=bw(a,j+1),!f)continue;let h=f[c],k=f[g];e&&(d=(h-e[c])/3,f[`cp1${c}`]=h-d,f[`cp1${g}`]=k-d*b[j]),i&&(d=(i[c]-h)/3,f[`cp2${c}`]=h+d,f[`cp2${g}`]=k+d*b[j])}}(a,i,b)}(a,e);else{let c=d?a[a.length-1]:a[0];for(f=0,g=a.length;f<g;++f)i=function(a,b,c,d){let e=a.skip?b:a,f=c.skip?b:c,g=ar(b,e),h=ar(f,b),i=g/(g+h),j=h/(g+h);i=isNaN(i)?0:i,j=isNaN(j)?0:j;let k=d*i,l=d*j;return{previous:{x:b.x-k*(f.x-e.x),y:b.y-k*(f.y-e.y)},next:{x:b.x+l*(f.x-e.x),y:b.y+l*(f.y-e.y)}}}(c,h=a[f],a[Math.min(f+1,g-!d)%g],b.tension),h.cp1x=i.previous.x,h.cp1y=i.previous.y,h.cp2x=i.next.x,h.cp2y=i.next.y,c=h}b.capBezierPoints&&function(a,b){let c,d,e,f,g,h=a2(a[0],b);for(c=0,d=a.length;c<d;++c)g=f,f=h,h=c<d-1&&a2(a[c+1],b),f&&(e=a[c],g&&(e.cp1x=by(e.cp1x,b.left,b.right),e.cp1y=by(e.cp1y,b.top,b.bottom)),h&&(e.cp2x=by(e.cp2x,b.left,b.right),e.cp2y=by(e.cp2y,b.top,b.bottom)))}(a,c)}(this._points,c,a,d,b),this._pointsUpdated=!0}}set points(a){this._points=a,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=function(a,b){let c=a.points,d=a.options.spanGaps,e=c.length;if(!e)return[];let f=!!a._loop,{start:g,end:h}=function(a,b,c,d){let e=0,f=b-1;if(c&&!d)for(;e<b&&!a[e].skip;)e++;for(;e<b&&a[e].skip;)e++;for(e%=b,c&&(f+=e);f>e&&a[f%b].skip;)f--;return{start:e,end:f%=b}}(c,e,f,d);if(!0===d)return bP(a,[{start:g,end:h,loop:f}],c,b);let i=h<g?h+e:h,j=!!a._fullLoop&&0===g&&h===e-1;return bP(a,function(a,b,c,d){let e,f=a.length,g=[],h=b,i=a[b];for(e=b+1;e<=c;++e){let c=a[e%f];c.skip||c.stop?i.skip||(d=!1,g.push({start:b%f,end:(e-1)%f,loop:d}),b=h=c.stop?e:null):(h=e,i.skip&&(b=e)),i=c}return null!==h&&g.push({start:b%f,end:h%f,loop:d}),g}(c,g,i,j),c,b)}(this,this.options.segment))}first(){let a=this.segments,b=this.points;return a.length&&b[a[0].start]}last(){let a=this.segments,b=this.points,c=a.length;return c&&b[a[c-1].end]}interpolate(a,b){let c,d,e=this.options,f=a[b],g=this.points,h=bO(this,{property:b,start:f,end:f});if(!h.length)return;let i=[],j=e.stepped?bG:e.tension||"monotone"===e.cubicInterpolationMode?bH:bF;for(c=0,d=h.length;c<d;++c){let{start:d,end:k}=h[c],l=g[d],m=g[k];if(l===m){i.push(l);continue}let n=Math.abs((f-l[b])/(m[b]-l[b])),o=j(l,m,n,e.stepped);o[b]=a[b],i.push(o)}return 1===i.length?i[0]:i}pathSegment(a,b,c){return c9(this)(a,this,b,c)}path(a,b,c){let d=this.segments,e=c9(this),f=this._loop;for(let g of(b=b||0,c=c||this.points.length-b,d))f&=e(a,this,g,{start:b,end:b+c-1});return!!f}draw(a,b,c,d){let e=this.options||{};(this.points||[]).length&&e.borderWidth&&(a.save(),function(a,b,c,d){if(da&&!b.options.segment){let e;(e=b._path)||(e=b._path=new Path2D,b.path(e,c,d)&&e.closePath()),c4(a,b.options),a.stroke(e)}else!function(a,b,c,d){let{segments:e,options:f}=b,g=c9(b);for(let h of e)c4(a,f,h.style),a.beginPath(),g(a,b,h,{start:c,end:c+d-1})&&a.closePath(),a.stroke()}(a,b,c,d)}(a,this,c,d),a.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}function dc(a,b,c,d){let e=a.options,{[c]:f}=a.getProps([c],d);return Math.abs(b-f)<e.radius+e.hitRadius}function dd(a,b){let c,d,e,f,g,{x:h,y:i,base:j,width:k,height:l}=a.getProps(["x","y","base","width","height"],b);return a.horizontal?(g=l/2,c=Math.min(h,j),d=Math.max(h,j),e=i-g,f=i+g):(c=h-(g=k/2),d=h+g,e=Math.min(i,j),f=Math.max(i,j)),{left:c,top:e,right:d,bottom:f}}function de(a,b,c,d){return a?0:av(b,c,d)}function df(a,b,c,d){let e=null===b,f=null===c,g=a&&!(e&&f)&&dd(a,d);return g&&(e||aw(b,g.left,g.right))&&(f||aw(c,g.top,g.bottom))}function dg(a,b){a.rect(b.x,b.y,b.w,b.h)}function dh(a,b,c={}){let d=a.x!==c.x?-b:0,e=a.y!==c.y?-b:0,f=(a.x+a.w!==c.x+c.w?b:0)-d,g=(a.y+a.h!==c.y+c.h?b:0)-e;return{x:a.x+d,y:a.y+e,w:a.w+f,h:a.h+g,radius:a.radius}}let di=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],dj=di.map(a=>a.replace("rgb(","rgba(").replace(")",", 0.5)")),dk=(a,b)=>{let{boxHeight:c=b,boxWidth:d=b}=a;return a.usePointStyle&&(c=Math.min(c,b),d=a.pointStyleWidth||Math.min(d,b)),{boxWidth:d,boxHeight:c,itemHeight:Math.max(b,c)}};class dl extends cw{constructor(a){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=a.chart,this.options=a.options,this.ctx=a.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(a,b,c){this.maxWidth=a,this.maxHeight=b,this._margins=c,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(){let a=this.options.labels||{},b=O(a.generateLabels,[this.chart],this)||[];a.filter&&(b=b.filter(b=>a.filter(b,this.chart.data))),a.sort&&(b=b.sort((b,c)=>a.sort(b,c,this.chart.data))),this.options.reverse&&b.reverse(),this.legendItems=b}fit(){let a,b,{options:c,ctx:d}=this;if(!c.display){this.width=this.height=0;return}let e=c.labels,f=bg(e.font),g=f.size,h=this._computeTitleHeight(),{boxWidth:i,itemHeight:j}=dk(e,g);d.font=f.string,this.isHorizontal()?(a=this.maxWidth,b=this._fitRows(h,g,i,j)+10):(b=this.maxHeight,a=this._fitCols(h,f,i,j)+10),this.width=Math.min(a,c.maxWidth||this.maxWidth),this.height=Math.min(b,c.maxHeight||this.maxHeight)}_fitRows(a,b,c,d){let{ctx:e,maxWidth:f,options:{labels:{padding:g}}}=this,h=this.legendHitBoxes=[],i=this.lineWidths=[0],j=d+g,k=a;e.textAlign="left",e.textBaseline="middle";let l=-1,m=-j;return this.legendItems.forEach((a,n)=>{let o=c+b/2+e.measureText(a.text).width;(0===n||i[i.length-1]+o+2*g>f)&&(k+=j,i[i.length-(n>0?0:1)]=0,m+=j,l++),h[n]={left:0,top:m,row:l,width:o,height:d},i[i.length-1]+=o+g}),k}_fitCols(a,b,c,d){let{ctx:e,maxHeight:f,options:{labels:{padding:g}}}=this,h=this.legendHitBoxes=[],i=this.columnSizes=[],j=f-a,k=g,l=0,m=0,n=0,o=0;return this.legendItems.forEach((a,f)=>{var p,q,r,s,t,u,v,w,x,y,z,A;let B,C,{itemWidth:D,itemHeight:E}=(p=c,q=b,r=e,s=a,t=d,{itemWidth:(u=s,v=p,w=q,x=r,(B=u.text)&&"string"!=typeof B&&(B=B.reduce((a,b)=>a.length>b.length?a:b)),v+w.size/2+x.measureText(B).width),itemHeight:(y=t,z=s,A=q.lineHeight,C=y,"string"!=typeof z.text&&(C=dm(z,A)),C)});f>0&&m+E+2*g>j&&(k+=l+g,i.push({width:l,height:m}),n+=l+g,o++,l=m=0),h[f]={left:n,top:m,col:o,width:D,height:E},l=Math.max(l,D),m+=E+g}),k+=l,i.push({width:l,height:m}),k}adjustHitBoxes(){if(!this.options.display)return;let a=this._computeTitleHeight(),{legendHitBoxes:b,options:{align:c,labels:{padding:d},rtl:e}}=this,f=bI(e,this.left,this.width);if(this.isHorizontal()){let e=0,g=aF(c,this.left+d,this.right-this.lineWidths[e]);for(let h of b)e!==h.row&&(e=h.row,g=aF(c,this.left+d,this.right-this.lineWidths[e])),h.top+=this.top+a+d,h.left=f.leftForLtr(f.x(g),h.width),g+=h.width+d}else{let e=0,g=aF(c,this.top+a+d,this.bottom-this.columnSizes[e].height);for(let h of b)h.col!==e&&(e=h.col,g=aF(c,this.top+a+d,this.bottom-this.columnSizes[e].height)),h.top=g,h.left+=this.left+d,h.left=f.leftForLtr(f.x(h.left),h.width),g+=h.height+d}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){let a=this.ctx;a3(a,this),this._draw(),a4(a)}}_draw(){let a,{options:b,columnSizes:c,lineWidths:d,ctx:e}=this,{align:f,labels:g}=b,h=aY.color,i=bI(b.rtl,this.left,this.width),j=bg(g.font),{padding:k}=g,l=j.size,m=l/2;this.drawTitle(),e.textAlign=i.textAlign("left"),e.textBaseline="middle",e.lineWidth=.5,e.font=j.string;let{boxWidth:n,boxHeight:o,itemHeight:p}=dk(g,l),q=function(a,b,c){if(isNaN(n)||n<=0||isNaN(o)||o<0)return;e.save();let d=M(c.lineWidth,1);if(e.fillStyle=M(c.fillStyle,h),e.lineCap=M(c.lineCap,"butt"),e.lineDashOffset=M(c.lineDashOffset,0),e.lineJoin=M(c.lineJoin,"miter"),e.lineWidth=d,e.strokeStyle=M(c.strokeStyle,h),e.setLineDash(M(c.lineDash,[])),g.usePointStyle)a1(e,{radius:o*Math.SQRT2/2,pointStyle:c.pointStyle,rotation:c.rotation,borderWidth:d},i.xPlus(a,n/2),b+m,g.pointStyleWidth&&n);else{let f=b+Math.max((l-o)/2,0),g=i.leftForLtr(a,n),h=be(c.borderRadius);e.beginPath(),Object.values(h).some(a=>0!==a)?a8(e,{x:g,y:f,w:n,h:o,radius:h}):e.rect(g,f,n,o),e.fill(),0!==d&&e.stroke()}e.restore()},r=function(a,b,c){a7(e,c.text,a,b+p/2,j,{strikethrough:c.hidden,textAlign:i.textAlign(c.textAlign)})},s=this.isHorizontal(),t=this._computeTitleHeight();a=s?{x:aF(f,this.left+k,this.right-d[0]),y:this.top+k+t,line:0}:{x:this.left+k,y:aF(f,this.top+t+k,this.bottom-c[0].height),line:0},bJ(this.ctx,b.textDirection);let u=p+k;this.legendItems.forEach((h,l)=>{var o,p;e.strokeStyle=h.fontColor,e.fillStyle=h.fontColor;let v=e.measureText(h.text).width,w=i.textAlign(h.textAlign||(h.textAlign=g.textAlign)),x=n+m+v,y=a.x,z=a.y;if(i.setWidth(this.width),s?l>0&&y+x+k>this.right&&(z=a.y+=u,a.line++,y=a.x=aF(f,this.left+k,this.right-d[a.line])):l>0&&z+u>this.bottom&&(y=a.x=y+c[a.line].width+k,a.line++,z=a.y=aF(f,this.top+t+k,this.bottom-c[a.line].height)),q(i.x(y),z,h),o=y+n+m,p=s?y+x:this.right,y=w===(b.rtl?"left":"right")?p:"center"===w?(o+p)/2:o,r(i.x(y),z,h),s)a.x+=x+k;else if("string"!=typeof h.text){let b=j.lineHeight;a.y+=dm(h,b)+k}else a.y+=u}),bK(this.ctx,b.textDirection)}drawTitle(){let a,b=this.options,c=b.title,d=bg(c.font),e=bf(c.padding);if(!c.display)return;let f=bI(b.rtl,this.left,this.width),g=this.ctx,h=c.position,i=d.size/2,j=e.top+i,k=this.left,l=this.width;if(this.isHorizontal())l=Math.max(...this.lineWidths),a=this.top+j,k=aF(b.align,k,this.right-l);else{let c=this.columnSizes.reduce((a,b)=>Math.max(a,b.height),0);a=j+aF(b.align,this.top,this.bottom-c-b.labels.padding-this._computeTitleHeight())}let m=aF(h,k,k+l);g.textAlign=f.textAlign(aE(h)),g.textBaseline="middle",g.strokeStyle=c.color,g.fillStyle=c.color,g.font=d.string,a7(g,c.text,m,a,d)}_computeTitleHeight(){let a=this.options.title,b=bg(a.font),c=bf(a.padding);return a.display?b.lineHeight+c.height:0}_getLegendItemAt(a,b){let c,d,e;if(aw(a,this.left,this.right)&&aw(b,this.top,this.bottom)){for(c=0,e=this.legendHitBoxes;c<e.length;++c)if(aw(a,(d=e[c]).left,d.left+d.width)&&aw(b,d.top,d.top+d.height))return this.legendItems[c]}return null}handleEvent(a){var b,c;let d=this.options;if(b=a.type,c=d,("mousemove"!==b&&"mouseout"!==b||!c.onHover&&!c.onLeave)&&(!c.onClick||"click"!==b&&"mouseup"!==b))return;let e=this._getLegendItemAt(a.x,a.y);if("mousemove"===a.type||"mouseout"===a.type){let b=this._hoveredItem,c=null!==b&&null!==e&&b.datasetIndex===e.datasetIndex&&b.index===e.index;b&&!c&&O(d.onLeave,[a,b,this],this),this._hoveredItem=e,e&&!c&&O(d.onHover,[a,e,this],this)}else e&&O(d.onClick,[a,e,this],this)}}function dm(a,b){return b*(a.text?a.text.length:0)}class dn extends cw{constructor(a){super(),this.chart=a.chart,this.options=a.options,this.ctx=a.ctx,this._padding=void 0,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.position=void 0,this.weight=void 0,this.fullSize=void 0}update(a,b){let c=this.options;if(this.left=0,this.top=0,!c.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=a,this.height=this.bottom=b;let d=I(c.text)?c.text.length:1;this._padding=bf(c.padding);let e=d*bg(c.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=e:this.width=e}isHorizontal(){let a=this.options.position;return"top"===a||"bottom"===a}_drawArgs(a){let b,c,d,{top:e,left:f,bottom:g,right:h,options:i}=this,j=i.align,k=0;return this.isHorizontal()?(c=aF(j,f,h),d=e+a,b=h-f):("left"===i.position?(c=f+a,d=aF(j,g,e),k=-.5*ab):(c=h-a,d=aF(j,e,g),k=.5*ab),b=g-e),{titleX:c,titleY:d,maxWidth:b,rotation:k}}draw(){let a=this.ctx,b=this.options;if(!b.display)return;let c=bg(b.font),d=c.lineHeight/2+this._padding.top,{titleX:e,titleY:f,maxWidth:g,rotation:h}=this._drawArgs(d);a7(a,b.text,0,0,c,{color:b.color,maxWidth:g,rotation:h,textAlign:aE(b.align),textBaseline:"middle",translation:[e,f]})}}new WeakMap;let dp={average(a){let b,c;if(!a.length)return!1;let d=new Set,e=0,f=0;for(b=0,c=a.length;b<c;++b){let c=a[b].element;if(c&&c.hasValue()){let a=c.tooltipPosition();d.add(a.x),e+=a.y,++f}}return 0!==f&&0!==d.size&&{x:[...d].reduce((a,b)=>a+b)/d.size,y:e/f}},nearest(a,b){let c,d,e;if(!a.length)return!1;let f=b.x,g=b.y,h=1/0;for(c=0,d=a.length;c<d;++c){let d=a[c].element;if(d&&d.hasValue()){let a=ar(b,d.getCenterPoint());a<h&&(h=a,e=d)}}if(e){let a=e.tooltipPosition();f=a.x,g=a.y}return{x:f,y:g}}};function dq(a,b){return b&&(I(b)?Array.prototype.push.apply(a,b):a.push(b)),a}function dr(a){return("string"==typeof a||a instanceof String)&&a.indexOf("\n")>-1?a.split("\n"):a}function ds(a,b){let c=a.chart.ctx,{body:d,footer:e,title:f}=a,{boxWidth:g,boxHeight:h}=b,i=bg(b.bodyFont),j=bg(b.titleFont),k=bg(b.footerFont),l=f.length,m=e.length,n=d.length,o=bf(b.padding),p=o.height,q=0,r=d.reduce((a,b)=>a+b.before.length+b.lines.length+b.after.length,0);r+=a.beforeBody.length+a.afterBody.length,l&&(p+=l*j.lineHeight+(l-1)*b.titleSpacing+b.titleMarginBottom),r&&(p+=n*(b.displayColors?Math.max(h,i.lineHeight):i.lineHeight)+(r-n)*i.lineHeight+(r-1)*b.bodySpacing),m&&(p+=b.footerMarginTop+m*k.lineHeight+(m-1)*b.footerSpacing);let s=0,t=function(a){q=Math.max(q,c.measureText(a).width+s)};return c.save(),c.font=j.string,P(a.title,t),c.font=i.string,P(a.beforeBody.concat(a.afterBody),t),s=b.displayColors?g+2+b.boxPadding:0,P(d,a=>{P(a.before,t),P(a.lines,t),P(a.after,t)}),s=0,c.font=k.string,P(a.footer,t),c.restore(),{width:q+=o.width,height:p}}function dt(a,b,c){let d=c.yAlign||b.yAlign||function(a,b){let{y:c,height:d}=b;return c<d/2?"top":c>a.height-d/2?"bottom":"center"}(a,c);return{xAlign:c.xAlign||b.xAlign||function(a,b,c,d){let{x:e,width:f}=c,{width:g,chartArea:{left:h,right:i}}=a,j="center";return"center"===d?j=e<=(h+i)/2?"left":"right":e<=f/2?j="left":e>=g-f/2&&(j="right"),function(a,b,c,d){let{x:e,width:f}=d,g=c.caretSize+c.caretPadding;if("left"===a&&e+f+g>b.width||"right"===a&&e-f-g<0)return!0}(j,a,b,c)&&(j="center"),j}(a,b,c,d),yAlign:d}}function du(a,b,c,d){let{caretSize:e,caretPadding:f,cornerRadius:g}=a,{xAlign:h,yAlign:i}=c,j=e+f,{topLeft:k,topRight:l,bottomLeft:m,bottomRight:n}=be(g),o=function(a,b){let{x:c,width:d}=a;return"right"===b?c-=d:"center"===b&&(c-=d/2),c}(b,h),p=function(a,b,c){let{y:d,height:e}=a;return"top"===b?d+=c:"bottom"===b?d-=e+c:d-=e/2,d}(b,i,j);return"center"===i?"left"===h?o+=j:"right"===h&&(o-=j):"left"===h?o-=Math.max(k,m)+e:"right"===h&&(o+=Math.max(l,n)+e),{x:av(o,0,d.width-b.width),y:av(p,0,d.height-b.height)}}function dv(a,b,c){let d=bf(c.padding);return"center"===b?a.x+a.width/2:"right"===b?a.x+a.width-d.right:a.x+d.left}function dw(a,b){let c=b&&b.dataset&&b.dataset.tooltip&&b.dataset.tooltip.callbacks;return c?a.override(c):a}let dx={beforeTitle:F,title(a){if(a.length>0){let b=a[0],c=b.chart.data.labels,d=c?c.length:0;if(this&&this.options&&"dataset"===this.options.mode)return b.dataset.label||"";if(b.label)return b.label;if(d>0&&b.dataIndex<d)return c[b.dataIndex]}return""},afterTitle:F,beforeBody:F,beforeLabel:F,label(a){if(this&&this.options&&"dataset"===this.options.mode)return a.label+": "+a.formattedValue||a.formattedValue;let b=a.dataset.label||"";b&&(b+=": ");let c=a.formattedValue;return H(c)||(b+=c),b},labelColor(a){let b=a.chart.getDatasetMeta(a.datasetIndex).controller.getStyle(a.dataIndex);return{borderColor:b.borderColor,backgroundColor:b.backgroundColor,borderWidth:b.borderWidth,borderDash:b.borderDash,borderDashOffset:b.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(a){let b=a.chart.getDatasetMeta(a.datasetIndex).controller.getStyle(a.dataIndex);return{pointStyle:b.pointStyle,rotation:b.rotation}},afterLabel:F,afterBody:F,beforeFooter:F,footer:F,afterFooter:F};function dy(a,b,c,d){let e=a[b].call(c,d);return void 0===e?dx[b].call(c,d):e}class dz extends cw{static positioners=dp;constructor(a){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=a.chart,this.options=a.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(a){this.options=a,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){let a=this._cachedAnimations;if(a)return a;let b=this.chart,c=this.options.setContext(this.getContext()),d=c.enabled&&b.options.animation&&c.animations,e=new bX(this.chart,d);return d._cacheable&&(this._cachedAnimations=Object.freeze(e)),e}getContext(){var a;return this.$context||(this.$context=(a=this.chart.getContext(),bi(a,{tooltip:this,tooltipItems:this._tooltipItems,type:"tooltip"})))}getTitle(a,b){let{callbacks:c}=b,d=dy(c,"beforeTitle",this,a),e=dy(c,"title",this,a),f=dy(c,"afterTitle",this,a),g=[];return g=dq(g,dr(d)),g=dq(g,dr(e)),g=dq(g,dr(f))}getBeforeBody(a,b){return dq([],dr(dy(b.callbacks,"beforeBody",this,a)))}getBody(a,b){let{callbacks:c}=b,d=[];return P(a,a=>{let b={before:[],lines:[],after:[]},e=dw(c,a);dq(b.before,dr(dy(e,"beforeLabel",this,a))),dq(b.lines,dy(e,"label",this,a)),dq(b.after,dr(dy(e,"afterLabel",this,a))),d.push(b)}),d}getAfterBody(a,b){return dq([],dr(dy(b.callbacks,"afterBody",this,a)))}getFooter(a,b){let{callbacks:c}=b,d=dy(c,"beforeFooter",this,a),e=dy(c,"footer",this,a),f=dy(c,"afterFooter",this,a),g=[];return g=dq(g,dr(d)),g=dq(g,dr(e)),g=dq(g,dr(f))}_createItems(a){let b,c,d=this._active,e=this.chart.data,f=[],g=[],h=[],i=[];for(b=0,c=d.length;b<c;++b)i.push(function(a,b){let{element:c,datasetIndex:d,index:e}=b,f=a.getDatasetMeta(d).controller,{label:g,value:h}=f.getLabelAndValue(e);return{chart:a,label:g,parsed:f.getParsed(e),raw:a.data.datasets[d].data[e],formattedValue:h,dataset:f.getDataset(),dataIndex:e,datasetIndex:d,element:c}}(this.chart,d[b]));return a.filter&&(i=i.filter((b,c,d)=>a.filter(b,c,d,e))),a.itemSort&&(i=i.sort((b,c)=>a.itemSort(b,c,e))),P(i,b=>{let c=dw(a.callbacks,b);f.push(dy(c,"labelColor",this,b)),g.push(dy(c,"labelPointStyle",this,b)),h.push(dy(c,"labelTextColor",this,b))}),this.labelColors=f,this.labelPointStyles=g,this.labelTextColors=h,this.dataPoints=i,i}update(a,b){let c,d=this.options.setContext(this.getContext()),e=this._active,f=[];if(e.length){let a=dp[d.position].call(this,e,this._eventPosition);f=this._createItems(d),this.title=this.getTitle(f,d),this.beforeBody=this.getBeforeBody(f,d),this.body=this.getBody(f,d),this.afterBody=this.getAfterBody(f,d),this.footer=this.getFooter(f,d);let b=this._size=ds(this,d),g=Object.assign({},a,b),h=dt(this.chart,d,g),i=du(d,g,h,this.chart);this.xAlign=h.xAlign,this.yAlign=h.yAlign,c={opacity:1,x:i.x,y:i.y,width:b.width,height:b.height,caretX:a.x,caretY:a.y}}else 0!==this.opacity&&(c={opacity:0});this._tooltipItems=f,this.$context=void 0,c&&this._resolveAnimations().update(this,c),a&&d.external&&d.external.call(this,{chart:this.chart,tooltip:this,replay:b})}drawCaret(a,b,c,d){let e=this.getCaretPosition(a,c,d);b.lineTo(e.x1,e.y1),b.lineTo(e.x2,e.y2),b.lineTo(e.x3,e.y3)}getCaretPosition(a,b,c){let d,e,f,g,h,i,{xAlign:j,yAlign:k}=this,{caretSize:l,cornerRadius:m}=c,{topLeft:n,topRight:o,bottomLeft:p,bottomRight:q}=be(m),{x:r,y:s}=a,{width:t,height:u}=b;return"center"===k?(h=s+u/2,"left"===j?(e=(d=r)-l,g=h+l,i=h-l):(e=(d=r+t)+l,g=h-l,i=h+l),f=d):(e="left"===j?r+Math.max(n,p)+l:"right"===j?r+t-Math.max(o,q)-l:this.caretX,"top"===k?(h=(g=s)-l,d=e-l,f=e+l):(h=(g=s+u)+l,d=e+l,f=e-l),i=g),{x1:d,x2:e,x3:f,y1:g,y2:h,y3:i}}drawTitle(a,b,c){let d,e,f,g=this.title,h=g.length;if(h){let i=bI(c.rtl,this.x,this.width);for(f=0,a.x=dv(this,c.titleAlign,c),b.textAlign=i.textAlign(c.titleAlign),b.textBaseline="middle",d=bg(c.titleFont),e=c.titleSpacing,b.fillStyle=c.titleColor,b.font=d.string;f<h;++f)b.fillText(g[f],i.x(a.x),a.y+d.lineHeight/2),a.y+=d.lineHeight+e,f+1===h&&(a.y+=c.titleMarginBottom-e)}}_drawColorBox(a,b,c,d,e){let f=this.labelColors[c],g=this.labelPointStyles[c],{boxHeight:h,boxWidth:i}=e,j=bg(e.bodyFont),k=dv(this,"left",e),l=d.x(k),m=h<j.lineHeight?(j.lineHeight-h)/2:0,n=b.y+m;if(e.usePointStyle){let b={radius:Math.min(i,h)/2,pointStyle:g.pointStyle,rotation:g.rotation,borderWidth:1},c=d.leftForLtr(l,i)+i/2,j=n+h/2;a.strokeStyle=e.multiKeyBackground,a.fillStyle=e.multiKeyBackground,a0(a,b,c,j),a.strokeStyle=f.borderColor,a.fillStyle=f.backgroundColor,a0(a,b,c,j)}else{a.lineWidth=J(f.borderWidth)?Math.max(...Object.values(f.borderWidth)):f.borderWidth||1,a.strokeStyle=f.borderColor,a.setLineDash(f.borderDash||[]),a.lineDashOffset=f.borderDashOffset||0;let b=d.leftForLtr(l,i),c=d.leftForLtr(d.xPlus(l,1),i-2),g=be(f.borderRadius);Object.values(g).some(a=>0!==a)?(a.beginPath(),a.fillStyle=e.multiKeyBackground,a8(a,{x:b,y:n,w:i,h:h,radius:g}),a.fill(),a.stroke(),a.fillStyle=f.backgroundColor,a.beginPath(),a8(a,{x:c,y:n+1,w:i-2,h:h-2,radius:g}),a.fill()):(a.fillStyle=e.multiKeyBackground,a.fillRect(b,n,i,h),a.strokeRect(b,n,i,h),a.fillStyle=f.backgroundColor,a.fillRect(c,n+1,i-2,h-2))}a.fillStyle=this.labelTextColors[c]}drawBody(a,b,c){let d,e,f,g,h,i,{body:j}=this,{bodySpacing:k,bodyAlign:l,displayColors:m,boxHeight:n,boxWidth:o,boxPadding:p}=c,q=bg(c.bodyFont),r=q.lineHeight,s=0,t=bI(c.rtl,this.x,this.width),u=function(c){b.fillText(c,t.x(a.x+s),a.y+r/2),a.y+=r+k},v=t.textAlign(l);for(b.textAlign=l,b.textBaseline="middle",b.font=q.string,a.x=dv(this,v,c),b.fillStyle=c.bodyColor,P(this.beforeBody,u),s=m&&"right"!==v?"center"===l?o/2+p:o+2+p:0,f=0,h=j.length;f<h;++f){for(d=j[f],b.fillStyle=this.labelTextColors[f],P(d.before,u),e=d.lines,m&&e.length&&(this._drawColorBox(b,a,f,t,c),r=Math.max(q.lineHeight,n)),g=0,i=e.length;g<i;++g)u(e[g]),r=q.lineHeight;P(d.after,u)}s=0,r=q.lineHeight,P(this.afterBody,u),a.y-=k}drawFooter(a,b,c){let d,e,f=this.footer,g=f.length;if(g){let h=bI(c.rtl,this.x,this.width);for(a.x=dv(this,c.footerAlign,c),a.y+=c.footerMarginTop,b.textAlign=h.textAlign(c.footerAlign),b.textBaseline="middle",d=bg(c.footerFont),b.fillStyle=c.footerColor,b.font=d.string,e=0;e<g;++e)b.fillText(f[e],h.x(a.x),a.y+d.lineHeight/2),a.y+=d.lineHeight+c.footerSpacing}}drawBackground(a,b,c,d){let{xAlign:e,yAlign:f}=this,{x:g,y:h}=a,{width:i,height:j}=c,{topLeft:k,topRight:l,bottomLeft:m,bottomRight:n}=be(d.cornerRadius);b.fillStyle=d.backgroundColor,b.strokeStyle=d.borderColor,b.lineWidth=d.borderWidth,b.beginPath(),b.moveTo(g+k,h),"top"===f&&this.drawCaret(a,b,c,d),b.lineTo(g+i-l,h),b.quadraticCurveTo(g+i,h,g+i,h+l),"center"===f&&"right"===e&&this.drawCaret(a,b,c,d),b.lineTo(g+i,h+j-n),b.quadraticCurveTo(g+i,h+j,g+i-n,h+j),"bottom"===f&&this.drawCaret(a,b,c,d),b.lineTo(g+m,h+j),b.quadraticCurveTo(g,h+j,g,h+j-m),"center"===f&&"left"===e&&this.drawCaret(a,b,c,d),b.lineTo(g,h+k),b.quadraticCurveTo(g,h,g+k,h),b.closePath(),b.fill(),d.borderWidth>0&&b.stroke()}_updateAnimationTarget(a){let b=this.chart,c=this.$animations,d=c&&c.x,e=c&&c.y;if(d||e){let c=dp[a.position].call(this,this._active,this._eventPosition);if(!c)return;let f=this._size=ds(this,a),g=Object.assign({},c,this._size),h=dt(b,a,g),i=du(a,g,h,b);(d._to!==i.x||e._to!==i.y)&&(this.xAlign=h.xAlign,this.yAlign=h.yAlign,this.width=f.width,this.height=f.height,this.caretX=c.x,this.caretY=c.y,this._resolveAnimations().update(this,i))}}_willRender(){return!!this.opacity}draw(a){let b=this.options.setContext(this.getContext()),c=this.opacity;if(!c)return;this._updateAnimationTarget(b);let d={width:this.width,height:this.height},e={x:this.x,y:this.y};c=.001>Math.abs(c)?0:c;let f=bf(b.padding),g=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;b.enabled&&g&&(a.save(),a.globalAlpha=c,this.drawBackground(e,a,d,b),bJ(a,b.textDirection),e.y+=f.top,this.drawTitle(e,a,b),this.drawBody(e,a,b),this.drawFooter(e,a,b),bK(a,b.textDirection),a.restore())}getActiveElements(){return this._active||[]}setActiveElements(a,b){let c=this._active,d=a.map(({datasetIndex:a,index:b})=>{let c=this.chart.getDatasetMeta(a);if(!c)throw Error("Cannot find a dataset at index "+a);return{datasetIndex:a,element:c.data[b],index:b}}),e=!Q(c,d),f=this._positionChanged(d,b);(e||f)&&(this._active=d,this._eventPosition=b,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(a,b,c=!0){if(b&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;let d=this.options,e=this._active||[],f=this._getActiveElements(a,e,b,c),g=this._positionChanged(f,a),h=b||!Q(f,e)||g;return h&&(this._active=f,(d.enabled||d.external)&&(this._eventPosition={x:a.x,y:a.y},this.update(!0,b))),h}_getActiveElements(a,b,c,d){let e=this.options;if("mouseout"===a.type)return[];if(!d)return b.filter(a=>this.chart.data.datasets[a.datasetIndex]&&void 0!==this.chart.getDatasetMeta(a.datasetIndex).controller.getParsed(a.index));let f=this.chart.getElementsAtEventForMode(a,e.mode,e,c);return e.reverse&&f.reverse(),f}_positionChanged(a,b){let{caretX:c,caretY:d,options:e}=this,f=dp[e.position].call(this,a,b);return!1!==f&&(c!==f.x||d!==f.y)}}function dA(a){let b=this.getLabels();return a>=0&&a<b.length?b[a]:a}function dB(a,b,{horizontal:c,minRotation:d}){let e=ao(d),f=(c?Math.sin(e):Math.cos(e))||.001,g=.75*b*(""+a).length;return Math.min(b/f,g)}class dC extends cD{constructor(a){super(a),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(a,b){return H(a)||("number"==typeof a||a instanceof Number)&&!isFinite(+a)?null:+a}handleTickRangeOptions(){let{beginAtZero:a}=this.options,{minDefined:b,maxDefined:c}=this.getUserBounds(),{min:d,max:e}=this,f=a=>d=b?d:a,g=a=>e=c?e:a;if(a){let a=aj(d),b=aj(e);a<0&&b<0?g(0):a>0&&b>0&&f(0)}if(d===e){let b=0===e?1:Math.abs(.05*e);g(e+b),a||f(d-b)}this.min=d,this.max=e}getTickLimit(){let a,{maxTicksLimit:b,stepSize:c}=this.options.ticks;return c?(a=Math.ceil(this.max/c)-Math.floor(this.min/c)+1)>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${c} would result generating up to ${a} ticks. Limiting to 1000.`),a=1e3):(a=this.computeTickLimit(),b=b||11),b&&(a=Math.min(b,a)),a}computeTickLimit(){return 1/0}buildTicks(){let a=this.options,b=a.ticks,c=this.getTickLimit(),d=function(a,b){var c,d;let e,f,g,h,i,j=[],{bounds:k,step:l,min:m,max:n,precision:o,count:p,maxTicks:q,maxDigits:r,includeBounds:s}=a,t=l||1,u=q-1,{min:v,max:w}=b,x=!H(m),y=!H(n),z=!H(p),A=(w-v)/(r+1),B=al((w-v)/u/t)*t;if(B<1e-14&&!x&&!y)return[{value:v},{value:w}];(h=Math.ceil(w/B)-Math.floor(v/B))>u&&(B=al(h*B/u/t)*t),H(o)||(B=Math.ceil(B*(e=Math.pow(10,o)))/e),"ticks"===k?(f=Math.floor(v/B)*B,g=Math.ceil(w/B)*B):(f=v,g=w),x&&y&&l&&(c=(n-m)/l,d=B/1e3,(i=Math.round(c))-d<=c&&i+d>=c)?(h=Math.round(Math.min((n-m)/B,q)),B=(n-m)/h,f=m,g=n):z?(f=x?m:f,B=((g=y?n:g)-f)/(h=p-1)):h=ak(h=(g-f)/B,Math.round(h),B/1e3)?Math.round(h):Math.ceil(h);let C=Math.max(ap(B),ap(f));f=Math.round(f*(e=Math.pow(10,H(o)?C:o)))/e,g=Math.round(g*e)/e;let D=0;for(x&&(s&&f!==m?(j.push({value:m}),f<m&&D++,ak(Math.round((f+D*B)*e)/e,m,dB(m,A,a))&&D++):f<m&&D++);D<h;++D){let a=Math.round((f+D*B)*e)/e;if(y&&a>n)break;j.push({value:a})}return y&&s&&g!==n?j.length&&ak(j[j.length-1].value,n,dB(n,A,a))?j[j.length-1].value=n:j.push({value:n}):y&&g!==n||j.push({value:g}),j}({maxTicks:c=Math.max(2,c),bounds:a.bounds,min:a.min,max:a.max,precision:b.precision,step:b.stepSize,count:b.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:b.minRotation||0,includeBounds:!1!==b.includeBounds},this._range||this);return"ticks"===a.bounds&&an(d,this,"value"),a.reverse?(d.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),d}configure(){let a=this.ticks,b=this.min,c=this.max;if(super.configure(),this.options.offset&&a.length){let d=(c-b)/Math.max(a.length-1,1)/2;b-=d,c+=d}this._startValue=b,this._endValue=c,this._valueRange=c-b}getLabelForValue(a){return aS(a,this.chart.options.locale,this.options.ticks.format)}}class dD extends dC{static id="linear";static defaults={ticks:{callback:aT.numeric}};determineDataLimits(){let{min:a,max:b}=this.getMinMax(!0);this.min=K(a)?a:0,this.max=K(b)?b:1,this.handleTickRangeOptions()}computeTickLimit(){let a=this.isHorizontal(),b=a?this.width:this.height,c=ao(this.options.ticks.minRotation),d=(a?Math.sin(c):Math.cos(c))||.001;return Math.ceil(b/Math.min(40,this._resolveTickFontOptions(0).lineHeight/d))}getPixelForValue(a){return null===a?NaN:this.getPixelForDecimal((a-this._startValue)/this._valueRange)}getValueForPixel(a){return this._startValue+this.getDecimalForPixel(a)*this._valueRange}}let dE=a=>Math.floor(ai(a)),dF=(a,b)=>Math.pow(10,dE(a)+b);function dG(a){return 1==a/Math.pow(10,dE(a))}function dH(a,b,c){let d=Math.pow(10,c),e=Math.floor(a/d);return Math.ceil(b/d)-e}class dI extends cD{static id="logarithmic";static defaults={ticks:{callback:aT.logarithmic,major:{enabled:!0}}};constructor(a){super(a),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(a,b){let c=dC.prototype.parse.apply(this,[a,b]);if(0===c){this._zero=!0;return}return K(c)&&c>0?c:null}determineDataLimits(){let{min:a,max:b}=this.getMinMax(!0);this.min=K(a)?Math.max(0,a):null,this.max=K(b)?Math.max(0,b):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!K(this._userMin)&&(this.min=a===dF(this.min,0)?dF(this.min,-1):dF(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){let{minDefined:a,maxDefined:b}=this.getUserBounds(),c=this.min,d=this.max,e=b=>c=a?c:b,f=a=>d=b?d:a;c===d&&(c<=0?(e(1),f(10)):(e(dF(c,-1)),f(dF(d,1)))),c<=0&&e(dF(d,-1)),d<=0&&f(dF(c,1)),this.min=c,this.max=d}buildTicks(){let a=this.options,b=function(a,{min:b,max:c}){b=L(a.min,b);let d=[],e=dE(b),f=function(a,b){let c=dE(b-a);for(;dH(a,b,c)>10;)c++;for(;10>dH(a,b,c);)c--;return Math.min(c,dE(a))}(b,c),g=f<0?Math.pow(10,Math.abs(f)):1,h=Math.pow(10,f),i=e>f?Math.pow(10,e):0,j=Math.round((b-i)*g)/g,k=Math.floor((b-i)/h/10)*h*10,l=Math.floor((j-k)/Math.pow(10,f)),m=L(a.min,Math.round((i+k+l*Math.pow(10,f))*g)/g);for(;m<c;)d.push({value:m,major:dG(m),significand:l}),l>=10?l=l<15?15:20:l++,l>=20&&(l=2,g=++f>=0?1:g),m=Math.round((i+k+l*Math.pow(10,f))*g)/g;let n=L(a.max,m);return d.push({value:n,major:dG(n),significand:l}),d}({min:this._userMin,max:this._userMax},this);return"ticks"===a.bounds&&an(b,this,"value"),a.reverse?(b.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),b}getLabelForValue(a){return void 0===a?"0":aS(a,this.chart.options.locale,this.options.ticks.format)}configure(){let a=this.min;super.configure(),this._startValue=ai(a),this._valueRange=ai(this.max)-ai(a)}getPixelForValue(a){return((void 0===a||0===a)&&(a=this.min),null===a||isNaN(a))?NaN:this.getPixelForDecimal(a===this.min?0:(ai(a)-this._startValue)/this._valueRange)}getValueForPixel(a){let b=this.getDecimalForPixel(a);return Math.pow(10,this._startValue+b*this._valueRange)}}function dJ(a){let b=a.ticks;if(b.display&&a.display){let a=bf(b.backdropPadding);return M(b.font&&b.font.size,aY.font.size)+a.height}return 0}function dK(a,b,c,d,e){return a===d||a===e?{start:b-c/2,end:b+c/2}:a<d||a>e?{start:b-c,end:b}:{start:b,end:b+c}}function dL(a,b,c,d){let{ctx:e}=a;if(c)e.arc(a.xCenter,a.yCenter,b,0,ac);else{let c=a.getPointPosition(0,b);e.moveTo(c.x,c.y);for(let f=1;f<d;f++)c=a.getPointPosition(f,b),e.lineTo(c.x,c.y)}}class dM extends dC{static id="radialLinear";static defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:aT.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:a=>a,padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};static descriptors={angleLines:{_fallback:"grid"}};constructor(a){super(a),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){let a=this._padding=bf(dJ(this.options)/2),b=this.width=this.maxWidth-a.width,c=this.height=this.maxHeight-a.height;this.xCenter=Math.floor(this.left+b/2+a.left),this.yCenter=Math.floor(this.top+c/2+a.top),this.drawingArea=Math.floor(Math.min(b,c)/2)}determineDataLimits(){let{min:a,max:b}=this.getMinMax(!1);this.min=K(a)&&!isNaN(a)?a:0,this.max=K(b)&&!isNaN(b)?b:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/dJ(this.options))}generateTickLabels(a){dC.prototype.generateTickLabels.call(this,a),this._pointLabels=this.getLabels().map((a,b)=>{let c=O(this.options.pointLabels.callback,[a,b],this);return c||0===c?c:""}).filter((a,b)=>this.chart.getDataVisibility(b))}fit(){let a=this.options;a.display&&a.pointLabels.display?function(a){let b={l:a.left+a._padding.left,r:a.right-a._padding.right,t:a.top+a._padding.top,b:a.bottom-a._padding.bottom},c=Object.assign({},b),d=[],e=[],f=a._pointLabels.length,g=a.options.pointLabels,h=g.centerPointLabels?ab/f:0;for(let k=0;k<f;k++){var i,j;let f=g.setContext(a.getPointLabelContext(k));e[k]=f.padding;let l=a.getPointPosition(k,a.drawingArea+e[k],h),m=bg(f.font),n=(i=a.ctx,j=I(j=a._pointLabels[k])?j:[j],{w:function(a,b,c,d){let e,f,g,h,i,j=(d=d||{}).data=d.data||{},k=d.garbageCollect=d.garbageCollect||[];d.font!==b&&(j=d.data={},k=d.garbageCollect=[],d.font=b),a.save(),a.font=b;let l=0,m=c.length;for(e=0;e<m;e++)if(null==(h=c[e])||I(h)){if(I(h))for(f=0,g=h.length;f<g;f++)null==(i=h[f])||I(i)||(l=aZ(a,j,k,l,i))}else l=aZ(a,j,k,l,h);a.restore();let n=k.length/2;if(n>c.length){for(e=0;e<n;e++)delete j[k[e]];k.splice(0,n)}return l}(i,m.string,j),h:j.length*m.lineHeight});d[k]=n;let o=at(a.getIndexAngle(k)+h),p=Math.round(180/ab*o);!function(a,b,c,d,e){let f=Math.abs(Math.sin(c)),g=Math.abs(Math.cos(c)),h=0,i=0;d.start<b.l?(h=(b.l-d.start)/f,a.l=Math.min(a.l,b.l-h)):d.end>b.r&&(h=(d.end-b.r)/f,a.r=Math.max(a.r,b.r+h)),e.start<b.t?(i=(b.t-e.start)/g,a.t=Math.min(a.t,b.t-i)):e.end>b.b&&(i=(e.end-b.b)/g,a.b=Math.max(a.b,b.b+i))}(c,b,o,dK(p,l.x,n.w,0,180),dK(p,l.y,n.h,90,270))}a.setCenterPoint(b.l-c.l,c.r-b.r,b.t-c.t,c.b-b.b),a._pointLabelItems=function(a,b,c){let d,e=[],f=a._pointLabels.length,g=a.options,{centerPointLabels:h,display:i}=g.pointLabels,j={extra:dJ(g)/2,additionalAngle:h?ab/f:0};for(let g=0;g<f;g++){j.padding=c[g],j.size=b[g];let f=function(a,b,c){var d,e,f,g,h,i,j;let k=a.drawingArea,{extra:l,additionalAngle:m,padding:n,size:o}=c,p=a.getPointPosition(b,k+l+n,m),q=Math.round(180/ab*at(p.angle+af)),r=(d=p.y,e=o.h,90===(f=q)||270===f?d-=e/2:(f>270||f<90)&&(d-=e),d),s=0===(g=q)||180===g?"center":g<180?"left":"right",t=(h=p.x,i=o.w,"right"===(j=s)?h-=i:"center"===j&&(h-=i/2),h);return{visible:!0,x:p.x,y:r,textAlign:s,left:t,top:r,right:t+o.w,bottom:r+o.h}}(a,g,j);e.push(f),"auto"===i&&(f.visible=function(a,b){if(!b)return!0;let{left:c,top:d,right:e,bottom:f}=a;return!(a2({x:c,y:d},b)||a2({x:c,y:f},b)||a2({x:e,y:d},b)||a2({x:e,y:f},b))}(f,d),f.visible&&(d=f))}return e}(a,d,e)}(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(a,b,c,d){this.xCenter+=Math.floor((a-b)/2),this.yCenter+=Math.floor((c-d)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(a,b,c,d))}getIndexAngle(a){return at(a*(ac/(this._pointLabels.length||1))+ao(this.options.startAngle||0))}getDistanceFromCenterForValue(a){if(H(a))return NaN;let b=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-a)*b:(a-this.min)*b}getValueForDistanceFromCenter(a){if(H(a))return NaN;let b=a/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-b:this.min+b}getPointLabelContext(a){let b=this._pointLabels||[];if(a>=0&&a<b.length){var c;let d=b[a];return c=this.getContext(),bi(c,{label:d,index:a,type:"pointLabel"})}}getPointPosition(a,b,c=0){let d=this.getIndexAngle(a)-af+c;return{x:Math.cos(d)*b+this.xCenter,y:Math.sin(d)*b+this.yCenter,angle:d}}getPointPositionForValue(a,b){return this.getPointPosition(a,this.getDistanceFromCenterForValue(b))}getBasePosition(a){return this.getPointPositionForValue(a||0,this.getBaseValue())}getPointLabelPosition(a){let{left:b,top:c,right:d,bottom:e}=this._pointLabelItems[a];return{left:b,top:c,right:d,bottom:e}}drawBackground(){let{backgroundColor:a,grid:{circular:b}}=this.options;if(a){let c=this.ctx;c.save(),c.beginPath(),dL(this,this.getDistanceFromCenterForValue(this._endValue),b,this._pointLabels.length),c.closePath(),c.fillStyle=a,c.fill(),c.restore()}}drawGrid(){let a,b,c,d=this.ctx,e=this.options,{angleLines:f,grid:g,border:h}=e,i=this._pointLabels.length;if(e.pointLabels.display&&function(a,b){let{ctx:c,options:{pointLabels:d}}=a;for(let e=b-1;e>=0;e--){let b=a._pointLabelItems[e];if(!b.visible)continue;let f=d.setContext(a.getPointLabelContext(e));!function(a,b,c){let{left:d,top:e,right:f,bottom:g}=c,{backdropColor:h}=b;if(!H(h)){let c=be(b.borderRadius),i=bf(b.backdropPadding);a.fillStyle=h;let j=d-i.left,k=e-i.top,l=f-d+i.width,m=g-e+i.height;Object.values(c).some(a=>0!==a)?(a.beginPath(),a8(a,{x:j,y:k,w:l,h:m,radius:c}),a.fill()):a.fillRect(j,k,l,m)}}(c,f,b);let g=bg(f.font),{x:h,y:i,textAlign:j}=b;a7(c,a._pointLabels[e],h,i+g.lineHeight/2,g,{color:f.color,textAlign:j,textBaseline:"middle"})}}(this,i),g.display&&this.ticks.forEach((a,c)=>{if(0!==c||0===c&&this.min<0){b=this.getDistanceFromCenterForValue(a.value);let d=this.getContext(c),e=g.setContext(d),f=h.setContext(d);!function(a,b,c,d,e){let f=a.ctx,g=b.circular,{color:h,lineWidth:i}=b;(g||d)&&h&&i&&!(c<0)&&(f.save(),f.strokeStyle=h,f.lineWidth=i,f.setLineDash(e.dash||[]),f.lineDashOffset=e.dashOffset,f.beginPath(),dL(a,c,g,d),f.closePath(),f.stroke(),f.restore())}(this,e,b,i,f)}}),f.display){for(d.save(),a=i-1;a>=0;a--){let g=f.setContext(this.getPointLabelContext(a)),{color:h,lineWidth:i}=g;i&&h&&(d.lineWidth=i,d.strokeStyle=h,d.setLineDash(g.borderDash),d.lineDashOffset=g.borderDashOffset,b=this.getDistanceFromCenterForValue(e.reverse?this.min:this.max),c=this.getPointPosition(a,b),d.beginPath(),d.moveTo(this.xCenter,this.yCenter),d.lineTo(c.x,c.y),d.stroke())}d.restore()}}drawBorder(){}drawLabels(){let a,b,c=this.ctx,d=this.options,e=d.ticks;if(!e.display)return;let f=this.getIndexAngle(0);c.save(),c.translate(this.xCenter,this.yCenter),c.rotate(f),c.textAlign="center",c.textBaseline="middle",this.ticks.forEach((f,g)=>{if(0===g&&this.min>=0&&!d.reverse)return;let h=e.setContext(this.getContext(g)),i=bg(h.font);if(a=this.getDistanceFromCenterForValue(this.ticks[g].value),h.showLabelBackdrop){c.font=i.string,b=c.measureText(f.label).width,c.fillStyle=h.backdropColor;let d=bf(h.backdropPadding);c.fillRect(-b/2-d.left,-a-i.size/2-d.top,b+d.width,i.size+d.height)}a7(c,f.label,0,-a,i,{color:h.color,strokeColor:h.textStrokeColor,strokeWidth:h.textStrokeWidth})}),c.restore()}drawTitle(){}}let dN={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}},dO=Object.keys(dN);function dP(a,b){return a-b}function dQ(a,b){if(H(b))return null;let c=a._adapter,{parser:d,round:e,isoWeekday:f}=a._parseOpts,g=b;return("function"==typeof d&&(g=d(g)),K(g)||(g="string"==typeof d?c.parse(g,d):c.parse(g)),null===g)?null:(e&&(g="week"===e&&(am(f)||!0===f)?c.startOf(g,"isoWeek",f):c.startOf(g,e)),+g)}function dR(a,b,c,d){let e=dO.length;for(let f=dO.indexOf(a);f<e-1;++f){let a=dN[dO[f]],e=a.steps?a.steps:Number.MAX_SAFE_INTEGER;if(a.common&&Math.ceil((c-b)/(e*a.size))<=d)return dO[f]}return dO[e-1]}function dS(a,b,c){if(c){if(c.length){let{lo:d,hi:e}=ax(c,b);a[c[d]>=b?c[d]:c[e]]=!0}}else a[b]=!0}function dT(a,b,c){let d,e,f=[],g={},h=b.length;for(d=0;d<h;++d)g[e=b[d]]=d,f.push({value:e,major:!1});return 0!==h&&c?function(a,b,c,d){let e,f,g=a._adapter,h=+g.startOf(b[0].value,d),i=b[b.length-1].value;for(e=h;e<=i;e=+g.add(e,1,d))(f=c[e])>=0&&(b[f].major=!0);return b}(a,f,g,c):f}class dU extends cD{static id="time";static defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}};constructor(a){super(a),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(a,b={}){let c=a.time||(a.time={}),d=this._adapter=new ce(a.adapters.date);d.init(b),V(c.displayFormats,d.formats()),this._parseOpts={parser:c.parser,round:c.round,isoWeekday:c.isoWeekday},super.init(a),this._normalized=b.normalized}parse(a,b){return void 0===a?null:dQ(this,a)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){let a=this.options,b=this._adapter,c=a.time.unit||"day",{min:d,max:e,minDefined:f,maxDefined:g}=this.getUserBounds();function h(a){f||isNaN(a.min)||(d=Math.min(d,a.min)),g||isNaN(a.max)||(e=Math.max(e,a.max))}f&&g||(h(this._getLabelBounds()),("ticks"!==a.bounds||"labels"!==a.ticks.source)&&h(this.getMinMax(!1))),d=K(d)&&!isNaN(d)?d:+b.startOf(Date.now(),c),e=K(e)&&!isNaN(e)?e:+b.endOf(Date.now(),c)+1,this.min=Math.min(d,e-1),this.max=Math.max(d+1,e)}_getLabelBounds(){let a=this.getLabelTimestamps(),b=1/0,c=-1/0;return a.length&&(b=a[0],c=a[a.length-1]),{min:b,max:c}}buildTicks(){let a=this.options,b=a.time,c=a.ticks,d="labels"===c.source?this.getLabelTimestamps():this._generate();"ticks"===a.bounds&&d.length&&(this.min=this._userMin||d[0],this.max=this._userMax||d[d.length-1]);let e=this.min,f=function(a,b,c){let d=0,e=a.length;for(;d<e&&a[d]<b;)d++;for(;e>d&&a[e-1]>c;)e--;return d>0||e<a.length?a.slice(d,e):a}(d,e,this.max);return this._unit=b.unit||(c.autoSkip?dR(b.minUnit,this.min,this.max,this._getLabelCapacity(e)):function(a,b,c,d,e){for(let f=dO.length-1;f>=dO.indexOf(c);f--){let c=dO[f];if(dN[c].common&&a._adapter.diff(e,d,c)>=b-1)return c}return dO[c?dO.indexOf(c):0]}(this,f.length,b.minUnit,this.min,this.max)),this._majorUnit=c.major.enabled&&"year"!==this._unit?function(a){for(let b=dO.indexOf(a)+1,c=dO.length;b<c;++b)if(dN[dO[b]].common)return dO[b]}(this._unit):void 0,this.initOffsets(d),a.reverse&&f.reverse(),dT(this,f,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map(a=>+a.value))}initOffsets(a=[]){let b,c,d=0,e=0;this.options.offset&&a.length&&(b=this.getDecimalForValue(a[0]),d=1===a.length?1-b:(this.getDecimalForValue(a[1])-b)/2,c=this.getDecimalForValue(a[a.length-1]),e=1===a.length?c:(c-this.getDecimalForValue(a[a.length-2]))/2);let f=a.length<3?.5:.25;d=av(d,0,f),e=av(e,0,f),this._offsets={start:d,end:e,factor:1/(d+1+e)}}_generate(){let a,b,c=this._adapter,d=this.min,e=this.max,f=this.options,g=f.time,h=g.unit||dR(g.minUnit,d,e,this._getLabelCapacity(d)),i=M(f.ticks.stepSize,1),j="week"===h&&g.isoWeekday,k=am(j)||!0===j,l={},m=d;if(k&&(m=+c.startOf(m,"isoWeek",j)),m=+c.startOf(m,k?"day":h),c.diff(e,d,h)>1e5*i)throw Error(d+" and "+e+" are too far apart with stepSize of "+i+" "+h);let n="data"===f.ticks.source&&this.getDataTimestamps();for(a=m,b=0;a<e;a=+c.add(a,i,h),b++)dS(l,a,n);return(a===e||"ticks"===f.bounds||1===b)&&dS(l,a,n),Object.keys(l).sort(dP).map(a=>+a)}getLabelForValue(a){let b=this._adapter,c=this.options.time;return c.tooltipFormat?b.format(a,c.tooltipFormat):b.format(a,c.displayFormats.datetime)}format(a,b){let c=this.options.time.displayFormats,d=this._unit,e=b||c[d];return this._adapter.format(a,e)}_tickFormatFunction(a,b,c,d){let e=this.options,f=e.ticks.callback;if(f)return O(f,[a,b,c],this);let g=e.time.displayFormats,h=this._unit,i=this._majorUnit,j=h&&g[h],k=i&&g[i],l=c[b],m=i&&k&&l&&l.major;return this._adapter.format(a,d||(m?k:j))}generateTickLabels(a){let b,c,d;for(b=0,c=a.length;b<c;++b)(d=a[b]).label=this._tickFormatFunction(d.value,b,a)}getDecimalForValue(a){return null===a?NaN:(a-this.min)/(this.max-this.min)}getPixelForValue(a){let b=this._offsets,c=this.getDecimalForValue(a);return this.getPixelForDecimal((b.start+c)*b.factor)}getValueForPixel(a){let b=this._offsets,c=this.getDecimalForPixel(a)/b.factor-b.end;return this.min+c*(this.max-this.min)}_getLabelSize(a){let b=this.options.ticks,c=this.ctx.measureText(a).width,d=ao(this.isHorizontal()?b.maxRotation:b.minRotation),e=Math.cos(d),f=Math.sin(d),g=this._resolveTickFontOptions(0).size;return{w:c*e+g*f,h:c*f+g*e}}_getLabelCapacity(a){let b=this.options.time,c=b.displayFormats,d=c[b.unit]||c.millisecond,e=this._tickFormatFunction(a,0,dT(this,[a],this._majorUnit),d),f=this._getLabelSize(e),g=Math.floor(this.isHorizontal()?this.width/f.w:this.height/f.h)-1;return g>0?g:1}getDataTimestamps(){let a,b,c=this._cache.data||[];if(c.length)return c;let d=this.getMatchingVisibleMetas();if(this._normalized&&d.length)return this._cache.data=d[0].controller.getAllParsedValues(this);for(a=0,b=d.length;a<b;++a)c=c.concat(d[a].controller.getAllParsedValues(this));return this._cache.data=this.normalize(c)}getLabelTimestamps(){let a,b,c=this._cache.labels||[];if(c.length)return c;let d=this.getLabels();for(a=0,b=d.length;a<b;++a)c.push(dQ(this,d[a]));return this._cache.labels=this._normalized?c:this.normalize(c)}normalize(a){return aC(a.sort(dP))}}function dV(a,b,c){let d,e,f,g,h=0,i=a.length-1;c?(b>=a[h].pos&&b<=a[i].pos&&({lo:h,hi:i}=ay(a,"pos",b)),{pos:d,time:f}=a[h],{pos:e,time:g}=a[i]):(b>=a[h].time&&b<=a[i].time&&({lo:h,hi:i}=ay(a,"time",b)),{time:d,pos:f}=a[h],{time:e,pos:g}=a[i]);let j=e-d;return j?f+(g-f)*(b-d)/j:f}class dW extends dU{static id="timeseries";static defaults=dU.defaults;constructor(a){super(a),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){let a=this._getTimestampsForTable(),b=this._table=this.buildLookupTable(a);this._minPos=dV(b,this.min),this._tableRange=dV(b,this.max)-this._minPos,super.initOffsets(a)}buildLookupTable(a){let b,c,d,{min:e,max:f}=this,g=[],h=[];for(b=0,c=a.length;b<c;++b)(d=a[b])>=e&&d<=f&&g.push(d);if(g.length<2)return[{time:e,pos:0},{time:f,pos:1}];for(b=0,c=g.length;b<c;++b)Math.round((g[b+1]+g[b-1])/2)!==(d=g[b])&&h.push({time:d,pos:b/(c-1)});return h}_generate(){let a=this.min,b=this.max,c=super.getDataTimestamps();return c.includes(a)&&c.length||c.splice(0,0,a),c.includes(b)&&1!==c.length||c.push(b),c.sort((a,b)=>a-b)}_getTimestampsForTable(){let a=this._cache.all||[];if(a.length)return a;let b=this.getDataTimestamps(),c=this.getLabelTimestamps();return a=b.length&&c.length?this.normalize(b.concat(c)):b.length?b:c,a=this._cache.all=a}getDecimalForValue(a){return(dV(this._table,a)-this._minPos)/this._tableRange}getValueForPixel(a){let b=this._offsets,c=this.getDecimalForPixel(a)/b.factor-b.end;return dV(this._table,c*this._tableRange+this._minPos,!0)}}var dX=a.i(572131);let dY="label";function dZ(a,b){"function"==typeof a?a(b):a&&(a.current=b)}function d$(a,b,c=dY){let d=[];a.datasets=b.map(b=>{let e=a.datasets.find(a=>a[c]===b[c]);return!e||!b.data||d.includes(e)?{...b}:(d.push(e),Object.assign(e,b),e)})}let d_=(0,dX.forwardRef)(function(a,b){let{height:c=150,width:e=300,redraw:f=!1,datasetIdKey:g,type:h,data:i,options:j,plugins:k=[],fallbackContent:l,updateMode:m,...n}=a,o=(0,dX.useRef)(null),p=(0,dX.useRef)(null),q=()=>{o.current&&(p.current=new c0(o.current,{type:h,data:function(a,b=dY){let c={labels:[],datasets:[]};return c.labels=a.labels,d$(c,a.datasets,b),c}(i,g),options:j&&{...j},plugins:k}),dZ(b,p.current))},r=()=>{dZ(b,null),p.current&&(p.current.destroy(),p.current=null)};return(0,dX.useEffect)(()=>{var a;let b;!f&&p.current&&j&&(a=p.current,(b=a.options)&&j&&Object.assign(b,j))},[f,j]),(0,dX.useEffect)(()=>{!f&&p.current&&(p.current.config.data.labels=i.labels)},[f,i.labels]),(0,dX.useEffect)(()=>{!f&&p.current&&i.datasets&&d$(p.current.config.data,i.datasets,g)},[f,i.datasets]),(0,dX.useEffect)(()=>{p.current&&(f?(r(),setTimeout(q)):p.current.update(m))},[f,j,i.labels,i.datasets,m]),(0,dX.useEffect)(()=>{p.current&&(r(),setTimeout(q))},[h]),(0,dX.useEffect)(()=>(q(),()=>r()),[]),(0,d.jsx)("canvas",{ref:o,role:"img",height:c,width:e,...n,children:l})});function d0(a,b){return c0.register(b),(0,dX.forwardRef)((b,c)=>(0,d.jsx)(d_,{...b,ref:c,type:a}))}let d1=d0("line",class extends b6{static id="line";static defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1};static overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(a){let b=this._cachedMeta,{dataset:c,data:d=[],_dataset:e}=b,f=this.chart._animationsDisabled,{start:g,count:h}=aG(b,d,f);this._drawStart=g,this._drawCount=h,aH(b)&&(g=0,h=d.length),c._chart=this.chart,c._datasetIndex=this.index,c._decimated=!!e._decimated,c.points=d;let i=this.resolveDatasetElementOptions(a);this.options.showLine||(i.borderWidth=0),i.segment=this.options.segment,this.updateElement(c,void 0,{animated:!f,options:i},a),this.updateElements(d,g,h,a)}updateElements(a,b,c,d){let e="reset"===d,{iScale:f,vScale:g,_stacked:h,_dataset:i}=this._cachedMeta,{sharedOptions:j,includeOptions:k}=this._getSharedOptions(b,d),l=f.axis,m=g.axis,{spanGaps:n,segment:o}=this.options,p=am(n)?n:1/0,q=this.chart._animationsDisabled||e||"none"===d,r=b+c,s=a.length,t=b>0&&this.getParsed(b-1);for(let c=0;c<s;++c){let n=a[c],s=q?n:{};if(c<b||c>=r){s.skip=!0;continue}let u=this.getParsed(c),v=H(u[m]),w=s[l]=f.getPixelForValue(u[l],c),x=s[m]=e||v?g.getBasePixel():g.getPixelForValue(h?this.applyStack(g,u,h):u[m],c);s.skip=isNaN(w)||isNaN(x)||v,s.stop=c>0&&Math.abs(u[l]-t[l])>p,o&&(s.parsed=u,s.raw=i.data[c]),k&&(s.options=j||this.resolveDataElementOptions(c,n.active?"active":d)),q||this.updateElement(n,c,s,d),t=u}}getMaxOverflow(){let a=this._cachedMeta,b=a.dataset,c=b.options&&b.options.borderWidth||0,d=a.data||[];return d.length?Math.max(c,d[0].size(this.resolveDataElementOptions(0)),d[d.length-1].size(this.resolveDataElementOptions(d.length-1)))/2:c}draw(){let a=this._cachedMeta;a.dataset.updateControlPoints(this.chart.chartArea,a.iScale.axis),super.draw()}}),d2=d0("bar",class extends b6{static id="bar";static defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}};static overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};parsePrimitiveData(a,b,c,d){return b8(a,b,c,d)}parseArrayData(a,b,c,d){return b8(a,b,c,d)}parseObjectData(a,b,c,d){let e,f,g,h,{iScale:i,vScale:j}=a,{xAxisKey:k="x",yAxisKey:l="y"}=this._parsing,m="x"===i.axis?k:l,n="x"===j.axis?k:l,o=[];for(e=c,f=c+d;e<f;++e)h=b[e],(g={})[i.axis]=i.parse(Y(h,m),e),o.push(b7(Y(h,n),g,j,e));return o}updateRangeFromParsed(a,b,c,d){super.updateRangeFromParsed(a,b,c,d);let e=c._custom;e&&b===this._cachedMeta.vScale&&(a.min=Math.min(a.min,e.min),a.max=Math.max(a.max,e.max))}getMaxOverflow(){return 0}getLabelAndValue(a){let{iScale:b,vScale:c}=this._cachedMeta,d=this.getParsed(a),e=d._custom,f=b9(e)?"["+e.start+", "+e.end+"]":""+c.getLabelForValue(d[c.axis]);return{label:""+b.getLabelForValue(d[b.axis]),value:f}}initialize(){this.enableOptionSharing=!0,super.initialize(),this._cachedMeta.stack=this.getDataset().stack}update(a){let b=this._cachedMeta;this.updateElements(b.data,0,b.data.length,a)}updateElements(a,b,c,d){let e="reset"===d,{index:f,_cachedMeta:{vScale:g}}=this,h=g.getBasePixel(),i=g.isHorizontal(),j=this._getRuler(),{sharedOptions:k,includeOptions:l}=this._getSharedOptions(b,d);for(let m=b;m<b+c;m++){let b=this.getParsed(m),c=e||H(b[g.axis])?{base:h,head:h}:this._calculateBarValuePixels(m),n=this._calculateBarIndexPixels(m,j),o=(b._stacks||{})[g.axis],p={horizontal:i,base:c.base,enableBorderRadius:!o||b9(b._custom)||f===o._top||f===o._bottom,x:i?c.head:n.center,y:i?n.center:c.head,height:i?n.size:Math.abs(c.size),width:i?Math.abs(c.size):n.size};l&&(p.options=k||this.resolveDataElementOptions(m,a[m].active?"active":d));let q=p.options||a[m].options;!function(a,b,c,d){let e,f,g,h,i,j=b.borderSkipped,k={};if(!j){a.borderSkipped=k;return}if(!0===j){a.borderSkipped={top:!0,right:!0,bottom:!0,left:!0};return}let{start:l,end:m,reverse:n,top:o,bottom:p}=(a.horizontal?(e=a.base>a.x,f="left",g="right"):(e=a.base<a.y,f="bottom",g="top"),e?(h="end",i="start"):(h="start",i="end"),{start:f,end:g,reverse:e,top:h,bottom:i});"middle"===j&&c&&(a.enableBorderRadius=!0,(c._top||0)===d?j=o:(c._bottom||0)===d?j=p:(k[ca(p,l,m,n)]=!0,j=o)),k[ca(j,l,m,n)]=!0,a.borderSkipped=k}(p,q,o,f),function(a,{inflateAmount:b},c){a.inflateAmount="auto"===b?.33*(1===c):b}(p,q,j.ratio),this.updateElement(a[m],m,p,d)}}_getStacks(a,b){let{iScale:c}=this._cachedMeta,d=c.getMatchingVisibleMetas(this._type).filter(a=>a.controller.options.grouped),e=c.options.stacked,f=[],g=this._cachedMeta.controller.getParsed(b),h=g&&g[c.axis],i=a=>{let b=a._parsed.find(a=>a[c.axis]===h),d=b&&b[a.vScale.axis];if(H(d)||isNaN(d))return!0};for(let c of d)if(!(void 0!==b&&i(c))&&((!1===e||-1===f.indexOf(c.stack)||void 0===e&&void 0===c.stack)&&f.push(c.stack),c.index===a))break;return f.length||f.push(void 0),f}_getStackCount(a){return this._getStacks(void 0,a).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){let a=this.chart.scales,b=this.chart.options.indexAxis;return Object.keys(a).filter(c=>a[c].axis===b).shift()}_getAxis(){let a={},b=this.getFirstScaleIdForIndexAxis();for(let c of this.chart.data.datasets)a[M("x"===this.chart.options.indexAxis?c.xAxisID:c.yAxisID,b)]=!0;return Object.keys(a)}_getStackIndex(a,b,c){let d=this._getStacks(a,c),e=void 0!==b?d.indexOf(b):-1;return -1===e?d.length-1:e}_getRuler(){let a,b,c=this.options,d=this._cachedMeta,e=d.iScale,f=[];for(a=0,b=d.data.length;a<b;++a)f.push(e.getPixelForValue(this.getParsed(a)[e.axis],a));let g=c.barThickness;return{min:g||function(a){let b,c,d,e,f=a.iScale,g=function(a,b){if(!a._cache.$bar){let c=a.getMatchingVisibleMetas(b),d=[];for(let b=0,e=c.length;b<e;b++)d=d.concat(c[b].controller.getAllParsedValues(a));a._cache.$bar=aC(d.sort((a,b)=>a-b))}return a._cache.$bar}(f,a.type),h=f._length,i=()=>{32767!==d&&-32768!==d&&($(e)&&(h=Math.min(h,Math.abs(d-e)||h)),e=d)};for(b=0,c=g.length;b<c;++b)d=f.getPixelForValue(g[b]),i();for(b=0,e=void 0,c=f.ticks.length;b<c;++b)d=f.getPixelForTick(b),i();return h}(d),pixels:f,start:e._startPixel,end:e._endPixel,stackCount:this._getStackCount(),scale:e,grouped:c.grouped,ratio:g?1:c.categoryPercentage*c.barPercentage}}_calculateBarValuePixels(a){let b,c,{_cachedMeta:{vScale:d,_stacked:e,index:f},options:{base:g,minBarLength:h}}=this,i=g||0,j=this.getParsed(a),k=j._custom,l=b9(k),m=j[d.axis],n=0,o=e?this.applyStack(d,j,e):m;o!==m&&(n=o-m,o=m),l&&(m=k.barStart,o=k.barEnd-k.barStart,0!==m&&aj(m)!==aj(k.barEnd)&&(n=0),n+=m);let p=H(g)||l?n:g,q=d.getPixelForValue(p);if(Math.abs(c=(b=this.chart.getDataVisibility(a)?d.getPixelForValue(n+o):q)-q)<h){var r;c=(0!==(r=c)?aj(r):(d.isHorizontal()?1:-1)*(d.min>=i?1:-1))*h,m===i&&(q-=c/2);let a=d.getPixelForDecimal(0),g=d.getPixelForDecimal(1),k=Math.min(a,g);b=(q=Math.max(Math.min(q,Math.max(a,g)),k))+c,e&&!l&&(j._stacks[d.axis]._visualValues[f]=d.getValueForPixel(b)-d.getValueForPixel(q))}if(q===d.getPixelForValue(i)){let a=aj(c)*d.getLineWidthForValue(i)/2;q+=a,c-=a}return{size:c,base:q,head:b,center:b+c/2}}_calculateBarIndexPixels(a,b){let c,d,e=b.scale,f=this.options,g=f.skipNull,h=M(f.maxBarThickness,1/0),i=this._getAxisCount();if(b.grouped){var j,k;let e,l,m,n,o,p,q,r,s,t=g?this._getStackCount(a):b.stackCount,u="flex"===f.barThickness?(j=t*i,l=(e=b.pixels)[a],m=a>0?e[a-1]:null,n=a<e.length-1?e[a+1]:null,o=f.categoryPercentage,null===m&&(m=l-(null===n?b.end-b.start:n-l)),null===n&&(n=l+l-m),p=l-(l-Math.min(m,n))/2*o,{chunk:Math.abs(n-m)/2*o/j,ratio:f.barPercentage,start:p}):(k=t*i,H(s=f.barThickness)?(q=b.min*f.categoryPercentage,r=f.barPercentage):(q=s*k,r=1),{chunk:q/k,ratio:r,start:b.pixels[a]-q/2}),v="x"===this.chart.options.indexAxis?this.getDataset().xAxisID:this.getDataset().yAxisID,w=this._getAxis().indexOf(M(v,this.getFirstScaleIdForIndexAxis())),x=this._getStackIndex(this.index,this._cachedMeta.stack,g?a:void 0)+w;c=u.start+u.chunk*x+u.chunk/2,d=Math.min(h,u.chunk*u.ratio)}else c=e.getPixelForValue(this.getParsed(a)[e.axis],a),d=Math.min(h,b.min*b.ratio);return{base:c-d/2,head:c+d/2,center:c,size:d}}draw(){let a=this._cachedMeta,b=a.vScale,c=a.data,d=c.length,e=0;for(;e<d;++e)null===this.getParsed(e)[b.axis]||c[e].hidden||c[e].draw(this._ctx)}}),d3=d0("radar",class extends b6{static id="radar";static defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}};static overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};getLabelAndValue(a){let b=this._cachedMeta.vScale,c=this.getParsed(a);return{label:b.getLabels()[a],value:""+b.getLabelForValue(c[b.axis])}}parseObjectData(a,b,c,d){return bu.bind(this)(a,b,c,d)}update(a){let b=this._cachedMeta,c=b.dataset,d=b.data||[],e=b.iScale.getLabels();if(c.points=d,"resize"!==a){let b=this.resolveDatasetElementOptions(a);this.options.showLine||(b.borderWidth=0);let f={_loop:!0,_fullLoop:e.length===d.length,options:b};this.updateElement(c,void 0,f,a)}this.updateElements(d,0,d.length,a)}updateElements(a,b,c,d){let e=this._cachedMeta.rScale,f="reset"===d;for(let g=b;g<b+c;g++){let b=a[g],c=this.resolveDataElementOptions(g,b.active?"active":d),h=e.getPointPositionForValue(g,this.getParsed(g).r),i=f?e.xCenter:h.x,j=f?e.yCenter:h.y,k={x:i,y:j,angle:h.angle,skip:isNaN(i)||isNaN(j),options:c};this.updateElement(b,g,k,d)}}}),d4=d0("doughnut",cc),d5=d0("polarArea",class a extends b6{static id="polarArea";static defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(a){let b=a.data;if(b.labels.length&&b.datasets.length){let{labels:{pointStyle:c,color:d}}=a.legend.options;return b.labels.map((b,e)=>{let f=a.getDatasetMeta(0).controller.getStyle(e);return{text:b,fillStyle:f.backgroundColor,strokeStyle:f.borderColor,fontColor:d,lineWidth:f.borderWidth,pointStyle:c,hidden:!a.getDataVisibility(e),index:e}})}return[]}},onClick(a,b,c){c.chart.toggleDataVisibility(b.index),c.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(a,b){super(a,b),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(a){let b=this._cachedMeta,c=this.chart,d=c.data.labels||[],e=aS(b._parsed[a].r,c.options.locale);return{label:d[a]||"",value:e}}parseObjectData(a,b,c,d){return bu.bind(this)(a,b,c,d)}update(a){let b=this._cachedMeta.data;this._updateRadius(),this.updateElements(b,0,b.length,a)}getMinMax(){let a=this._cachedMeta,b={min:1/0,max:-1/0};return a.data.forEach((a,c)=>{let d=this.getParsed(c).r;!isNaN(d)&&this.chart.getDataVisibility(c)&&(d<b.min&&(b.min=d),d>b.max&&(b.max=d))}),b}_updateRadius(){let a=this.chart,b=a.chartArea,c=a.options,d=Math.max(Math.min(b.right-b.left,b.bottom-b.top)/2,0),e=Math.max(c.cutoutPercentage?d/100*c.cutoutPercentage:1,0),f=(d-e)/a.getVisibleDatasetCount();this.outerRadius=d-f*this.index,this.innerRadius=this.outerRadius-f}updateElements(a,b,c,d){let e,f="reset"===d,g=this.chart,h=g.options.animation,i=this._cachedMeta.rScale,j=i.xCenter,k=i.yCenter,l=i.getIndexAngle(0)-.5*ab,m=l,n=360/this.countVisibleElements();for(e=0;e<b;++e)m+=this._computeAngle(e,d,n);for(e=b;e<b+c;e++){let b=a[e],c=m,o=m+this._computeAngle(e,d,n),p=g.getDataVisibility(e)?i.getDistanceFromCenterForValue(this.getParsed(e).r):0;m=o,f&&(h.animateScale&&(p=0),h.animateRotate&&(c=o=l));let q={x:j,y:k,innerRadius:0,outerRadius:p,startAngle:c,endAngle:o,options:this.resolveDataElementOptions(e,b.active?"active":d)};this.updateElement(b,e,q,d)}}countVisibleElements(){let a=this._cachedMeta,b=0;return a.data.forEach((a,c)=>{!isNaN(this.getParsed(c).r)&&this.chart.getDataVisibility(c)&&b++}),b}_computeAngle(a,b,c){return this.chart.getDataVisibility(a)?ao(this.resolveDataElementOptions(a,b).angle||c):0}}),d6=d0("bubble",class extends b6{static id="bubble";static defaults={datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}};static overrides={scales:{x:{type:"linear"},y:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(a,b,c,d){let e=super.parsePrimitiveData(a,b,c,d);for(let a=0;a<e.length;a++)e[a]._custom=this.resolveDataElementOptions(a+c).radius;return e}parseArrayData(a,b,c,d){let e=super.parseArrayData(a,b,c,d);for(let a=0;a<e.length;a++){let d=b[c+a];e[a]._custom=M(d[2],this.resolveDataElementOptions(a+c).radius)}return e}parseObjectData(a,b,c,d){let e=super.parseObjectData(a,b,c,d);for(let a=0;a<e.length;a++){let d=b[c+a];e[a]._custom=M(d&&d.r&&+d.r,this.resolveDataElementOptions(a+c).radius)}return e}getMaxOverflow(){let a=this._cachedMeta.data,b=0;for(let c=a.length-1;c>=0;--c)b=Math.max(b,a[c].size(this.resolveDataElementOptions(c))/2);return b>0&&b}getLabelAndValue(a){let b=this._cachedMeta,c=this.chart.data.labels||[],{xScale:d,yScale:e}=b,f=this.getParsed(a),g=d.getLabelForValue(f.x),h=e.getLabelForValue(f.y),i=f._custom;return{label:c[a]||"",value:"("+g+", "+h+(i?", "+i:"")+")"}}update(a){let b=this._cachedMeta.data;this.updateElements(b,0,b.length,a)}updateElements(a,b,c,d){let e="reset"===d,{iScale:f,vScale:g}=this._cachedMeta,{sharedOptions:h,includeOptions:i}=this._getSharedOptions(b,d),j=f.axis,k=g.axis;for(let l=b;l<b+c;l++){let b=a[l],c=!e&&this.getParsed(l),m={},n=m[j]=e?f.getPixelForDecimal(.5):f.getPixelForValue(c[j]),o=m[k]=e?g.getBasePixel():g.getPixelForValue(c[k]);m.skip=isNaN(n)||isNaN(o),i&&(m.options=h||this.resolveDataElementOptions(l,b.active?"active":d),e&&(m.options.radius=0)),this.updateElement(b,l,m,d)}}resolveDataElementOptions(a,b){let c=this.getParsed(a),d=super.resolveDataElementOptions(a,b);d.$shared&&(d=Object.assign({},d,{$shared:!1}));let e=d.radius;return"active"!==b&&(d.radius=0),d.radius+=M(c&&c._custom,e),d}}),d7=d0("pie",class extends cc{static id="pie";static defaults={cutout:0,rotation:0,circumference:360,radius:"100%"}}),d8=d0("scatter",class extends b6{static id="scatter";static defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1};static overrides={interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}};getLabelAndValue(a){let b=this._cachedMeta,c=this.chart.data.labels||[],{xScale:d,yScale:e}=b,f=this.getParsed(a),g=d.getLabelForValue(f.x),h=e.getLabelForValue(f.y);return{label:c[a]||"",value:"("+g+", "+h+")"}}update(a){let b=this._cachedMeta,{data:c=[]}=b,d=this.chart._animationsDisabled,{start:e,count:f}=aG(b,c,d);if(this._drawStart=e,this._drawCount=f,aH(b)&&(e=0,f=c.length),this.options.showLine){this.datasetElementType||this.addElements();let{dataset:e,_dataset:f}=b;e._chart=this.chart,e._datasetIndex=this.index,e._decimated=!!f._decimated,e.points=c;let g=this.resolveDatasetElementOptions(a);g.segment=this.options.segment,this.updateElement(e,void 0,{animated:!d,options:g},a)}else this.datasetElementType&&(delete b.dataset,this.datasetElementType=!1);this.updateElements(c,e,f,a)}addElements(){let{showLine:a}=this.options;!this.datasetElementType&&a&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(a,b,c,d){let e="reset"===d,{iScale:f,vScale:g,_stacked:h,_dataset:i}=this._cachedMeta,j=this.resolveDataElementOptions(b,d),k=this.getSharedOptions(j),l=this.includeOptions(d,k),m=f.axis,n=g.axis,{spanGaps:o,segment:p}=this.options,q=am(o)?o:1/0,r=this.chart._animationsDisabled||e||"none"===d,s=b>0&&this.getParsed(b-1);for(let j=b;j<b+c;++j){let b=a[j],c=this.getParsed(j),o=r?b:{},t=H(c[n]),u=o[m]=f.getPixelForValue(c[m],j),v=o[n]=e||t?g.getBasePixel():g.getPixelForValue(h?this.applyStack(g,c,h):c[n],j);o.skip=isNaN(u)||isNaN(v)||t,o.stop=j>0&&Math.abs(c[m]-s[m])>q,p&&(o.parsed=c,o.raw=i.data[j]),l&&(o.options=k||this.resolveDataElementOptions(j,b.active?"active":d)),r||this.updateElement(b,j,o,d),s=c}this.updateSharedOptions(k,d,j)}getMaxOverflow(){let a=this._cachedMeta,b=a.data||[];if(!this.options.showLine){let a=0;for(let c=b.length-1;c>=0;--c)a=Math.max(a,b[c].size(this.resolveDataElementOptions(c))/2);return a>0&&a}let c=a.dataset,d=c.options&&c.options.borderWidth||0;return b.length?Math.max(d,b[0].size(this.resolveDataElementOptions(0)),b[b.length-1].size(this.resolveDataElementOptions(b.length-1)))/2:d}});c0.register(class extends cD{static id="category";static defaults={ticks:{callback:dA}};constructor(a){super(a),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(a){let b=this._addedLabels;if(b.length){let a=this.getLabels();for(let{index:c,label:d}of b)a[c]===d&&a.splice(c,1);this._addedLabels=[]}super.init(a)}parse(a,b){let c,d;if(H(a))return null;let e=this.getLabels();return c=b=isFinite(b)&&e[b]===a?b:function(a,b,c,d){let e=a.indexOf(b);if(-1===e){var f;return f=c,"string"==typeof b?(f=a.push(b)-1,d.unshift({index:f,label:b})):isNaN(b)&&(f=null),f}return e!==a.lastIndexOf(b)?c:e}(e,a,M(b,a),this._addedLabels),d=e.length-1,null===c?null:av(Math.round(c),0,d)}determineDataLimits(){let{minDefined:a,maxDefined:b}=this.getUserBounds(),{min:c,max:d}=this.getMinMax(!0);"ticks"===this.options.bounds&&(a||(c=0),b||(d=this.getLabels().length-1)),this.min=c,this.max=d}buildTicks(){let a=this.min,b=this.max,c=this.options.offset,d=[],e=this.getLabels();e=0===a&&b===e.length-1?e:e.slice(a,b+1),this._valueRange=Math.max(e.length-!c,1),this._startValue=this.min-.5*!!c;for(let c=a;c<=b;c++)d.push({value:c});return d}getLabelForValue(a){return dA.call(this,a)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(a){return"number"!=typeof a&&(a=this.parse(a)),null===a?NaN:this.getPixelForDecimal((a-this._startValue)/this._valueRange)}getPixelForTick(a){let b=this.ticks;return a<0||a>b.length-1?null:this.getPixelForValue(b[a].value)}getValueForPixel(a){return Math.round(this._startValue+this.getDecimalForPixel(a)*this._valueRange)}getBasePixel(){return this.bottom}},dD,class extends cw{static id="point";parsed;skip;stop;static defaults={borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(a){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,a&&Object.assign(this,a)}inRange(a,b,c){let d=this.options,{x:e,y:f}=this.getProps(["x","y"],c);return Math.pow(a-e,2)+Math.pow(b-f,2)<Math.pow(d.hitRadius+d.radius,2)}inXRange(a,b){return dc(this,a,"x",b)}inYRange(a,b){return dc(this,a,"y",b)}getCenterPoint(a){let{x:b,y:c}=this.getProps(["x","y"],a);return{x:b,y:c}}size(a){let b=(a=a||this.options||{}).radius||0,c=(b=Math.max(b,b&&a.hoverRadius||0))&&a.borderWidth||0;return(b+c)*2}draw(a,b){let c=this.options;!this.skip&&!(c.radius<.1)&&a2(this,b,this.size(c)/2)&&(a.strokeStyle=c.borderColor,a.lineWidth=c.borderWidth,a.fillStyle=c.backgroundColor,a0(a,c,this.x,this.y))}getRange(){let a=this.options||{};return a.radius+a.hitRadius}},db,class extends cw{static id="bar";static defaults={borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(a){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,a&&Object.assign(this,a)}draw(a){var b,c,d;let e,f,g,h,i,j,k,l,{inflateAmount:m,options:{borderColor:n,backgroundColor:o}}=this,{inner:p,outer:q}=(f=(e=dd(this)).right-e.left,g=e.bottom-e.top,b=f/2,c=g/2,h=this.options.borderWidth,i=this.borderSkipped,j=bd(h),k={t:de(i.top,j.top,0,c),r:de(i.right,j.right,0,b),b:de(i.bottom,j.bottom,0,c),l:de(i.left,j.left,0,b)},l=function(a,b,c){let{enableBorderRadius:d}=a.getProps(["enableBorderRadius"]),e=a.options.borderRadius,f=be(e),g=Math.min(b,c),h=a.borderSkipped,i=d||J(e);return{topLeft:de(!i||h.top||h.left,f.topLeft,0,g),topRight:de(!i||h.top||h.right,f.topRight,0,g),bottomLeft:de(!i||h.bottom||h.left,f.bottomLeft,0,g),bottomRight:de(!i||h.bottom||h.right,f.bottomRight,0,g)}}(this,f/2,g/2),{outer:{x:e.left,y:e.top,w:f,h:g,radius:l},inner:{x:e.left+k.l,y:e.top+k.t,w:f-k.l-k.r,h:g-k.t-k.b,radius:{topLeft:Math.max(0,l.topLeft-Math.max(k.t,k.l)),topRight:Math.max(0,l.topRight-Math.max(k.t,k.r)),bottomLeft:Math.max(0,l.bottomLeft-Math.max(k.b,k.l)),bottomRight:Math.max(0,l.bottomRight-Math.max(k.b,k.r))}}}),r=(d=q.radius).topLeft||d.topRight||d.bottomLeft||d.bottomRight?a8:dg;a.save(),(q.w!==p.w||q.h!==p.h)&&(a.beginPath(),r(a,dh(q,m,p)),a.clip(),r(a,dh(p,-m,q)),a.fillStyle=n,a.fill("evenodd")),a.beginPath(),r(a,dh(p,m)),a.fillStyle=o,a.fill(),a.restore()}inRange(a,b,c){return df(this,a,b,c)}inXRange(a,b){return df(this,a,null,b)}inYRange(a,b){return df(this,null,a,b)}getCenterPoint(a){let{x:b,y:c,base:d,horizontal:e}=this.getProps(["x","y","base","horizontal"],a);return{x:e?(b+d)/2:b,y:e?c:(c+d)/2}}getRange(a){return"x"===a?this.width/2:this.height/2}},class extends cw{static id="arc";static defaults={borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1};static defaultRoutes={backgroundColor:"backgroundColor"};static descriptors={_scriptable:!0,_indexable:a=>"borderDash"!==a};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(a){super(),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,a&&Object.assign(this,a)}inRange(a,b,c){let{angle:d,distance:e}=aq(this.getProps(["x","y"],c),{x:a,y:b}),{startAngle:f,endAngle:g,innerRadius:h,outerRadius:i,circumference:j}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],c),k=(this.options.spacing+this.options.borderWidth)/2,l=M(j,g-f),m=au(d,f,g)&&f!==g,n=l>=ac||m,o=aw(e,h+k,i+k);return n&&o}getCenterPoint(a){let{x:b,y:c,startAngle:d,endAngle:e,innerRadius:f,outerRadius:g}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],a),{offset:h,spacing:i}=this.options,j=(d+e)/2,k=(f+g+i+h)/2;return{x:b+Math.cos(j)*k,y:c+Math.sin(j)*k}}tooltipPosition(a){return this.getCenterPoint(a)}draw(a){let{options:b,circumference:c}=this,d=(b.offset||0)/4,e=(b.spacing||0)/2,f=b.circular;if(this.pixelMargin=.33*("inner"===b.borderAlign),this.fullCircles=c>ac?Math.floor(c/ac):0,0===c||this.innerRadius<0||this.outerRadius<0)return;a.save();let g=(this.startAngle+this.endAngle)/2;a.translate(Math.cos(g)*d,Math.sin(g)*d);let h=d*(1-Math.sin(Math.min(ab,c||0)));a.fillStyle=b.backgroundColor,a.strokeStyle=b.borderColor,function(a,b,c,d,e){let{fullCircles:f,startAngle:g,circumference:h}=b,i=b.endAngle;if(f){c3(a,b,c,d,i,e);for(let b=0;b<f;++b)a.fill();isNaN(h)||(i=g+(h%ac||ac))}c3(a,b,c,d,i,e),a.fill()}(a,this,h,e,f),function(a,b,c,d,e){let{fullCircles:f,startAngle:g,circumference:h,options:i}=b,{borderWidth:j,borderJoinStyle:k,borderDash:l,borderDashOffset:m,borderRadius:n}=i,o="inner"===i.borderAlign;if(!j)return;a.setLineDash(l||[]),a.lineDashOffset=m,o?(a.lineWidth=2*j,a.lineJoin=k||"round"):(a.lineWidth=j,a.lineJoin=k||"bevel");let p=b.endAngle;if(f){c3(a,b,c,d,p,e);for(let b=0;b<f;++b)a.stroke();isNaN(h)||(p=g+(h%ac||ac))}o&&function(a,b,c){let{startAngle:d,pixelMargin:e,x:f,y:g,outerRadius:h,innerRadius:i}=b,j=e/h;a.beginPath(),a.arc(f,g,h,d-j,c+j),i>e?(j=e/i,a.arc(f,g,i,c+j,d-j,!0)):a.arc(f,g,e,c+af,d-af),a.closePath(),a.clip()}(a,b,p),i.selfJoin&&p-g>=ab&&0===n&&"miter"!==k&&function(a,b,c){let{startAngle:d,x:e,y:f,outerRadius:g,innerRadius:h,options:i}=b,{borderWidth:j,borderJoinStyle:k}=i,l=Math.min(j/g,at(d-c));if(a.beginPath(),a.arc(e,f,g-j/2,d+l/2,c-l/2),h>0){let b=Math.min(j/h,at(d-c));a.arc(e,f,h+j/2,c-b/2,d+b/2,!0)}else{let b=Math.min(j/2,g*at(d-c));if("round"===k)a.arc(e,f,b,c-ab/2,d+ab/2,!0);else if("bevel"===k){let g=2*b*b,h=-g*Math.cos(c+ab/2)+e,i=-g*Math.sin(c+ab/2)+f,j=g*Math.cos(d+ab/2)+e,k=g*Math.sin(d+ab/2)+f;a.lineTo(h,i),a.lineTo(j,k)}}a.closePath(),a.moveTo(0,0),a.rect(0,0,a.canvas.width,a.canvas.height),a.clip("evenodd")}(a,b,p),f||(c3(a,b,c,d,p,e),a.stroke())}(a,this,h,e,f),a.restore()}},dM,{id:"title",_element:dn,start(a,b,c){let d;d=new dn({ctx:a.ctx,options:c,chart:a}),ct.configure(a,d,c),ct.addBox(a,d),a.titleBlock=d},stop(a){let b=a.titleBlock;ct.removeBox(a,b),delete a.titleBlock},beforeUpdate(a,b,c){let d=a.titleBlock;ct.configure(a,d,c),d.options=c},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}},{id:"tooltip",_element:dz,positioners:dp,afterInit(a,b,c){c&&(a.tooltip=new dz({chart:a,options:c}))},beforeUpdate(a,b,c){a.tooltip&&a.tooltip.initialize(c)},reset(a,b,c){a.tooltip&&a.tooltip.initialize(c)},afterDraw(a){let b=a.tooltip;if(b&&b._willRender()){let c={tooltip:b};if(!1===a.notifyPlugins("beforeTooltipDraw",{...c,cancelable:!0}))return;b.draw(a.ctx),a.notifyPlugins("afterTooltipDraw",c)}},afterEvent(a,b){if(a.tooltip){let c=b.replay;a.tooltip.handleEvent(b.event,c,b.inChartArea)&&(b.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:(a,b)=>b.bodyFont.size,boxWidth:(a,b)=>b.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:dx},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:a=>"filter"!==a&&"itemSort"!==a&&"external"!==a,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},{id:"legend",_element:dl,start(a,b,c){let d=a.legend=new dl({ctx:a.ctx,options:c,chart:a});ct.configure(a,d,c),ct.addBox(a,d)},stop(a){ct.removeBox(a,a.legend),delete a.legend},beforeUpdate(a,b,c){let d=a.legend;ct.configure(a,d,c),d.options=c},afterUpdate(a){let b=a.legend;b.buildLabels(),b.adjustHitBoxes()},afterEvent(a,b){b.replay||a.legend.handleEvent(b.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(a,b,c){let d=b.datasetIndex,e=c.chart;e.isDatasetVisible(d)?(e.hide(d),b.hidden=!0):(e.show(d),b.hidden=!1)},onHover:null,onLeave:null,labels:{color:a=>a.chart.options.color,boxWidth:40,padding:10,generateLabels(a){let b=a.data.datasets,{labels:{usePointStyle:c,pointStyle:d,textAlign:e,color:f,useBorderRadius:g,borderRadius:h}}=a.legend.options;return a._getSortedDatasetMetas().map(a=>{let i=a.controller.getStyle(c?0:void 0),j=bf(i.borderWidth);return{text:b[a.index].label,fillStyle:i.backgroundColor,fontColor:f,hidden:!a.visible,lineCap:i.borderCapStyle,lineDash:i.borderDash,lineDashOffset:i.borderDashOffset,lineJoin:i.borderJoinStyle,lineWidth:(j.width+j.height)/4,strokeStyle:i.borderColor,pointStyle:d||i.pointStyle,rotation:i.rotation,textAlign:e||i.textAlign,borderRadius:g&&(h||i.borderRadius),datasetIndex:a.index}},this)}},title:{color:a=>a.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:a=>!a.startsWith("on"),labels:{_scriptable:a=>!["generateLabels","filter","sort"].includes(a)}}}),a.s(["ChartRenderer",0,({config:a})=>{let{type:b,data:c,options:e}=a,f="pie"===b||"doughnut"===b||"radar"===b||"polarArea"===b,g={responsive:!0,maintainAspectRatio:f,...e},h=()=>{switch(b){case"line":return(0,d.jsx)(d1,{data:c,options:g});case"bar":return(0,d.jsx)(d2,{data:c,options:g});case"pie":return(0,d.jsx)(d7,{data:c,options:g});case"doughnut":return(0,d.jsx)(d4,{data:c,options:g});case"radar":return(0,d.jsx)(d3,{data:c,options:g});case"polarArea":return(0,d.jsx)(d5,{data:c,options:g});case"scatter":return(0,d.jsx)(d8,{data:c,options:g});case"bubble":return(0,d.jsx)(d6,{data:c,options:g});default:return(0,d.jsxs)("div",{className:"text-destructive",children:["Unsupported chart type: ",b]})}};return f?(0,d.jsx)("div",{className:"w-full flex justify-center rounded-lg border bg-background/50 p-4 shadow-sm",children:(0,d.jsx)("div",{className:"w-full max-w-lg h-[400px]",children:h()})}):(0,d.jsx)("div",{className:"w-full h-[400px] rounded-lg border bg-background/50 p-4 shadow-sm",children:h()})}],640672)}];
|
|
1
|
+
module.exports=[688621,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(368114);let e=c.forwardRef(({className:a,isCollapsed:c=!1,...e},f)=>(0,b.jsx)("div",{ref:f,className:(0,d.cn)("flex h-full flex-col bg-sidebar text-foreground transition-all duration-300","fixed left-0 top-0 z-50 md:relative md:z-auto",c?"w-0 -translate-x-full md:translate-x-0 overflow-hidden":"w-[280px] translate-x-0",a),...e}));e.displayName="Sidebar";let f=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("flex flex-col gap-3 p-4",a),...c}));f.displayName="SidebarHeader";let g=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("flex-1 overflow-y-auto overflow-x-hidden px-4","scrollbar-none [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]",a),...c}));g.displayName="SidebarContent",a.s(["Sidebar",()=>e,"SidebarContent",()=>g,"SidebarHeader",()=>f])},269876,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(30553),e=a.i(777192),f=a.i(750104),g=a.i(470121),h=a.i(746872),i=a.i(507827),j=a.i(872752),k=a.i(130656),l=a.i(507554),m="ScrollArea",[n,o]=(0,f.createContextScope)(m),[p,q]=n(m),r=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,type:h="hover",dir:j,scrollHideDelay:k=600,...l}=a,[m,n]=c.useState(null),[o,q]=c.useState(null),[r,s]=c.useState(null),[t,u]=c.useState(null),[v,w]=c.useState(null),[x,y]=c.useState(0),[z,A]=c.useState(0),[B,C]=c.useState(!1),[D,E]=c.useState(!1),F=(0,g.useComposedRefs)(e,a=>n(a)),G=(0,i.useDirection)(j);return(0,b.jsx)(p,{scope:f,type:h,dir:G,scrollHideDelay:k,scrollArea:m,viewport:o,onViewportChange:q,content:r,onContentChange:s,scrollbarX:t,onScrollbarXChange:u,scrollbarXEnabled:B,onScrollbarXEnabledChange:C,scrollbarY:v,onScrollbarYChange:w,scrollbarYEnabled:D,onScrollbarYEnabledChange:E,onCornerWidthChange:y,onCornerHeightChange:A,children:(0,b.jsx)(d.Primitive.div,{dir:G,...l,ref:F,style:{position:"relative","--radix-scroll-area-corner-width":x+"px","--radix-scroll-area-corner-height":z+"px",...a.style}})})});r.displayName=m;var s="ScrollAreaViewport",t=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,children:h,nonce:i,...j}=a,k=q(s,f),l=c.useRef(null),m=(0,g.useComposedRefs)(e,l,k.onViewportChange);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),(0,b.jsx)(d.Primitive.div,{"data-radix-scroll-area-viewport":"",...j,ref:m,style:{overflowX:k.scrollbarXEnabled?"scroll":"hidden",overflowY:k.scrollbarYEnabled?"scroll":"hidden",...a.style},children:(0,b.jsx)("div",{ref:k.onContentChange,style:{minWidth:"100%",display:"table"},children:h})})]})});t.displayName=s;var u="ScrollAreaScrollbar",v=c.forwardRef((a,d)=>{let{forceMount:e,...f}=a,g=q(u,a.__scopeScrollArea),{onScrollbarXEnabledChange:h,onScrollbarYEnabledChange:i}=g,j="horizontal"===a.orientation;return c.useEffect(()=>(j?h(!0):i(!0),()=>{j?h(!1):i(!1)}),[j,h,i]),"hover"===g.type?(0,b.jsx)(w,{...f,ref:d,forceMount:e}):"scroll"===g.type?(0,b.jsx)(x,{...f,ref:d,forceMount:e}):"auto"===g.type?(0,b.jsx)(y,{...f,ref:d,forceMount:e}):"always"===g.type?(0,b.jsx)(z,{...f,ref:d}):null});v.displayName=u;var w=c.forwardRef((a,d)=>{let{forceMount:f,...g}=a,h=q(u,a.__scopeScrollArea),[i,j]=c.useState(!1);return c.useEffect(()=>{let a=h.scrollArea,b=0;if(a){let c=()=>{window.clearTimeout(b),j(!0)},d=()=>{b=window.setTimeout(()=>j(!1),h.scrollHideDelay)};return a.addEventListener("pointerenter",c),a.addEventListener("pointerleave",d),()=>{window.clearTimeout(b),a.removeEventListener("pointerenter",c),a.removeEventListener("pointerleave",d)}}},[h.scrollArea,h.scrollHideDelay]),(0,b.jsx)(e.Presence,{present:f||i,children:(0,b.jsx)(y,{"data-state":i?"visible":"hidden",...g,ref:d})})}),x=c.forwardRef((a,d)=>{var f;let{forceMount:g,...h}=a,i=q(u,a.__scopeScrollArea),j="horizontal"===a.orientation,k=R(()=>n("SCROLL_END"),100),[m,n]=(f={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},c.useReducer((a,b)=>f[a][b]??a,"hidden"));return c.useEffect(()=>{if("idle"===m){let a=window.setTimeout(()=>n("HIDE"),i.scrollHideDelay);return()=>window.clearTimeout(a)}},[m,i.scrollHideDelay,n]),c.useEffect(()=>{let a=i.viewport,b=j?"scrollLeft":"scrollTop";if(a){let c=a[b],d=()=>{let d=a[b];c!==d&&(n("SCROLL"),k()),c=d};return a.addEventListener("scroll",d),()=>a.removeEventListener("scroll",d)}},[i.viewport,j,n,k]),(0,b.jsx)(e.Presence,{present:g||"hidden"!==m,children:(0,b.jsx)(z,{"data-state":"hidden"===m?"hidden":"visible",...h,ref:d,onPointerEnter:(0,l.composeEventHandlers)(a.onPointerEnter,()=>n("POINTER_ENTER")),onPointerLeave:(0,l.composeEventHandlers)(a.onPointerLeave,()=>n("POINTER_LEAVE"))})})}),y=c.forwardRef((a,d)=>{let f=q(u,a.__scopeScrollArea),{forceMount:g,...h}=a,[i,j]=c.useState(!1),k="horizontal"===a.orientation,l=R(()=>{if(f.viewport){let a=f.viewport.offsetWidth<f.viewport.scrollWidth,b=f.viewport.offsetHeight<f.viewport.scrollHeight;j(k?a:b)}},10);return S(f.viewport,l),S(f.content,l),(0,b.jsx)(e.Presence,{present:g||i,children:(0,b.jsx)(z,{"data-state":i?"visible":"hidden",...h,ref:d})})}),z=c.forwardRef((a,d)=>{let{orientation:e="vertical",...f}=a,g=q(u,a.__scopeScrollArea),h=c.useRef(null),i=c.useRef(0),[j,k]=c.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=M(j.viewport,j.content),m={...f,sizes:j,onSizesChange:k,hasThumb:!!(l>0&&l<1),onThumbChange:a=>h.current=a,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:a=>i.current=a};function n(a,b){return function(a,b,c,d="ltr"){let e=N(c),f=b||e/2,g=c.scrollbar.paddingStart+f,h=c.scrollbar.size-c.scrollbar.paddingEnd-(e-f),i=c.content-c.viewport;return P([g,h],"ltr"===d?[0,i]:[-1*i,0])(a)}(a,i.current,j,b)}return"horizontal"===e?(0,b.jsx)(A,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=O(g.viewport.scrollLeft,j,g.dir);h.current.style.transform=`translate3d(${a}px, 0, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollLeft=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollLeft=n(a,g.dir))}}):"vertical"===e?(0,b.jsx)(B,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=O(g.viewport.scrollTop,j);h.current.style.transform=`translate3d(0, ${a}px, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollTop=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollTop=n(a))}}):null}),A=c.forwardRef((a,d)=>{let{sizes:e,onSizesChange:f,...h}=a,i=q(u,a.__scopeScrollArea),[j,k]=c.useState(),l=c.useRef(null),m=(0,g.useComposedRefs)(d,l,i.onScrollbarXChange);return c.useEffect(()=>{l.current&&k(getComputedStyle(l.current))},[l]),(0,b.jsx)(E,{"data-orientation":"horizontal",...h,ref:m,sizes:e,style:{bottom:0,left:"rtl"===i.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===i.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":N(e)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.x),onDragScroll:b=>a.onDragScroll(b.x),onWheelScroll:(b,c)=>{if(i.viewport){var d,e;let f=i.viewport.scrollLeft+b.deltaX;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{l.current&&i.viewport&&j&&f({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:l.current.clientWidth,paddingStart:L(j.paddingLeft),paddingEnd:L(j.paddingRight)}})}})}),B=c.forwardRef((a,d)=>{let{sizes:e,onSizesChange:f,...h}=a,i=q(u,a.__scopeScrollArea),[j,k]=c.useState(),l=c.useRef(null),m=(0,g.useComposedRefs)(d,l,i.onScrollbarYChange);return c.useEffect(()=>{l.current&&k(getComputedStyle(l.current))},[l]),(0,b.jsx)(E,{"data-orientation":"vertical",...h,ref:m,sizes:e,style:{top:0,right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":N(e)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.y),onDragScroll:b=>a.onDragScroll(b.y),onWheelScroll:(b,c)=>{if(i.viewport){var d,e;let f=i.viewport.scrollTop+b.deltaY;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{l.current&&i.viewport&&j&&f({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:l.current.clientHeight,paddingStart:L(j.paddingTop),paddingEnd:L(j.paddingBottom)}})}})}),[C,D]=n(u),E=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,sizes:i,hasThumb:j,onThumbChange:k,onThumbPointerUp:m,onThumbPointerDown:n,onThumbPositionChange:o,onDragScroll:p,onWheelScroll:r,onResize:s,...t}=a,v=q(u,f),[w,x]=c.useState(null),y=(0,g.useComposedRefs)(e,a=>x(a)),z=c.useRef(null),A=c.useRef(""),B=v.viewport,D=i.content-i.viewport,E=(0,h.useCallbackRef)(r),F=(0,h.useCallbackRef)(o),G=R(s,10);function H(a){z.current&&p({x:a.clientX-z.current.left,y:a.clientY-z.current.top})}return c.useEffect(()=>{let a=a=>{let b=a.target;w?.contains(b)&&E(a,D)};return document.addEventListener("wheel",a,{passive:!1}),()=>document.removeEventListener("wheel",a,{passive:!1})},[B,w,D,E]),c.useEffect(F,[i,F]),S(w,G),S(v.content,G),(0,b.jsx)(C,{scope:f,scrollbar:w,hasThumb:j,onThumbChange:(0,h.useCallbackRef)(k),onThumbPointerUp:(0,h.useCallbackRef)(m),onThumbPositionChange:F,onThumbPointerDown:(0,h.useCallbackRef)(n),children:(0,b.jsx)(d.Primitive.div,{...t,ref:y,style:{position:"absolute",...t.style},onPointerDown:(0,l.composeEventHandlers)(a.onPointerDown,a=>{0===a.button&&(a.target.setPointerCapture(a.pointerId),z.current=w.getBoundingClientRect(),A.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",v.viewport&&(v.viewport.style.scrollBehavior="auto"),H(a))}),onPointerMove:(0,l.composeEventHandlers)(a.onPointerMove,H),onPointerUp:(0,l.composeEventHandlers)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),document.body.style.webkitUserSelect=A.current,v.viewport&&(v.viewport.style.scrollBehavior=""),z.current=null})})})}),F="ScrollAreaThumb",G=c.forwardRef((a,c)=>{let{forceMount:d,...f}=a,g=D(F,a.__scopeScrollArea);return(0,b.jsx)(e.Presence,{present:d||g.hasThumb,children:(0,b.jsx)(H,{ref:c,...f})})}),H=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,style:h,...i}=a,j=q(F,f),k=D(F,f),{onThumbPositionChange:m}=k,n=(0,g.useComposedRefs)(e,a=>k.onThumbChange(a)),o=c.useRef(void 0),p=R(()=>{o.current&&(o.current(),o.current=void 0)},100);return c.useEffect(()=>{let a=j.viewport;if(a){let b=()=>{p(),o.current||(o.current=Q(a,m),m())};return m(),a.addEventListener("scroll",b),()=>a.removeEventListener("scroll",b)}},[j.viewport,p,m]),(0,b.jsx)(d.Primitive.div,{"data-state":k.hasThumb?"visible":"hidden",...i,ref:n,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...h},onPointerDownCapture:(0,l.composeEventHandlers)(a.onPointerDownCapture,a=>{let b=a.target.getBoundingClientRect(),c=a.clientX-b.left,d=a.clientY-b.top;k.onThumbPointerDown({x:c,y:d})}),onPointerUp:(0,l.composeEventHandlers)(a.onPointerUp,k.onThumbPointerUp)})});G.displayName=F;var I="ScrollAreaCorner",J=c.forwardRef((a,c)=>{let d=q(I,a.__scopeScrollArea),e=!!(d.scrollbarX&&d.scrollbarY);return"scroll"!==d.type&&e?(0,b.jsx)(K,{...a,ref:c}):null});J.displayName=I;var K=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,...g}=a,h=q(I,f),[i,j]=c.useState(0),[k,l]=c.useState(0),m=!!(i&&k);return S(h.scrollbarX,()=>{let a=h.scrollbarX?.offsetHeight||0;h.onCornerHeightChange(a),l(a)}),S(h.scrollbarY,()=>{let a=h.scrollbarY?.offsetWidth||0;h.onCornerWidthChange(a),j(a)}),m?(0,b.jsx)(d.Primitive.div,{...g,ref:e,style:{width:i,height:k,position:"absolute",right:"ltr"===h.dir?0:void 0,left:"rtl"===h.dir?0:void 0,bottom:0,...a.style}}):null});function L(a){return a?parseInt(a,10):0}function M(a,b){let c=a/b;return isNaN(c)?0:c}function N(a){let b=M(a.viewport,a.content),c=a.scrollbar.paddingStart+a.scrollbar.paddingEnd;return Math.max((a.scrollbar.size-c)*b,18)}function O(a,b,c="ltr"){let d=N(b),e=b.scrollbar.paddingStart+b.scrollbar.paddingEnd,f=b.scrollbar.size-e,g=b.content-b.viewport,h=(0,k.clamp)(a,"ltr"===c?[0,g]:[-1*g,0]);return P([0,g],[0,f-d])(h)}function P(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}var Q=(a,b=()=>{})=>{let c={left:a.scrollLeft,top:a.scrollTop},d=0;return!function e(){let f={left:a.scrollLeft,top:a.scrollTop},g=c.left!==f.left,h=c.top!==f.top;(g||h)&&b(),c=f,d=window.requestAnimationFrame(e)}(),()=>window.cancelAnimationFrame(d)};function R(a,b){let d=(0,h.useCallbackRef)(a),e=c.useRef(0);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),c.useCallback(()=>{window.clearTimeout(e.current),e.current=window.setTimeout(d,b)},[d,b])}function S(a,b){let c=(0,h.useCallbackRef)(b);(0,j.useLayoutEffect)(()=>{let b=0;if(a){let d=new ResizeObserver(()=>{cancelAnimationFrame(b),b=window.requestAnimationFrame(c)});return d.observe(a),()=>{window.cancelAnimationFrame(b),d.unobserve(a)}}},[a,c])}var T=a.i(368114);function U({className:a,children:c,hideScrollbar:d=!1,...e}){return(0,b.jsxs)(r,{"data-slot":"scroll-area",className:(0,T.cn)("relative overflow-hidden",a),...e,children:[(0,b.jsx)(t,{"data-slot":"scroll-area-viewport",className:(0,T.cn)("focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",d&&"[&>div]:!block"),style:d?{overflowY:"scroll"}:void 0,children:c}),(0,b.jsx)(V,{hidden:d}),(0,b.jsx)(J,{})]})}function V({className:a,orientation:c="vertical",hidden:d=!1,...e}){return d?null:(0,b.jsx)(v,{"data-slot":"scroll-area-scrollbar",orientation:c,className:(0,T.cn)("flex touch-none p-px transition-colors select-none","vertical"===c&&"h-full w-2.5 border-l border-l-transparent","horizontal"===c&&"h-2.5 flex-col border-t border-t-transparent",a),...e,children:(0,b.jsx)(G,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}a.s(["ScrollArea",()=>U],269876)},839761,a=>{"use strict";let b=(0,a.i(883706).default)("chart-column",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);a.s(["BarChart3",()=>b],839761)},724669,a=>{"use strict";let b=(0,a.i(883706).default)("trending-up",[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]]);a.s(["TrendingUp",()=>b],724669)},171150,a=>{"use strict";let b=(0,a.i(883706).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["CircleIcon",()=>b],171150)},335732,a=>{"use strict";let b,c,d;var e=a.i(187924),f=a.i(572131),g=a.i(507554),h=a.i(470121),i=a.i(750104),j=a.i(225152),k=a.i(30553),l=a.i(37738),m=a.i(507827),n=a.i(596743),o=a.i(486228),p=a.i(422297),q=a.i(392843),r=a.i(704691),s=a.i(692616),t=a.i(777192),u=a.i(746872),v="rovingFocusGroup.onEntryFocus",w={bubbles:!1,cancelable:!0},x="RovingFocusGroup",[y,z,A]=(0,l.createCollection)(x),[B,C]=(0,i.createContextScope)(x,[A]),[D,E]=B(x),F=f.forwardRef((a,b)=>(0,e.jsx)(y.Provider,{scope:a.__scopeRovingFocusGroup,children:(0,e.jsx)(y.Slot,{scope:a.__scopeRovingFocusGroup,children:(0,e.jsx)(G,{...a,ref:b})})}));F.displayName=x;var G=f.forwardRef((a,b)=>{let{__scopeRovingFocusGroup:c,orientation:d,loop:i=!1,dir:l,currentTabStopId:n,defaultCurrentTabStopId:o,onCurrentTabStopIdChange:p,onEntryFocus:q,preventScrollOnEntryFocus:r=!1,...s}=a,t=f.useRef(null),y=(0,h.useComposedRefs)(b,t),A=(0,m.useDirection)(l),[B,C]=(0,j.useControllableState)({prop:n,defaultProp:o??null,onChange:p,caller:x}),[E,F]=f.useState(!1),G=(0,u.useCallbackRef)(q),H=z(c),I=f.useRef(!1),[J,L]=f.useState(0);return f.useEffect(()=>{let a=t.current;if(a)return a.addEventListener(v,G),()=>a.removeEventListener(v,G)},[G]),(0,e.jsx)(D,{scope:c,orientation:d,dir:A,loop:i,currentTabStopId:B,onItemFocus:f.useCallback(a=>C(a),[C]),onItemShiftTab:f.useCallback(()=>F(!0),[]),onFocusableItemAdd:f.useCallback(()=>L(a=>a+1),[]),onFocusableItemRemove:f.useCallback(()=>L(a=>a-1),[]),children:(0,e.jsx)(k.Primitive.div,{tabIndex:E||0===J?-1:0,"data-orientation":d,...s,ref:y,style:{outline:"none",...a.style},onMouseDown:(0,g.composeEventHandlers)(a.onMouseDown,()=>{I.current=!0}),onFocus:(0,g.composeEventHandlers)(a.onFocus,a=>{let b=!I.current;if(a.target===a.currentTarget&&b&&!E){let b=new CustomEvent(v,w);if(a.currentTarget.dispatchEvent(b),!b.defaultPrevented){let a=H().filter(a=>a.focusable);K([a.find(a=>a.active),a.find(a=>a.id===B),...a].filter(Boolean).map(a=>a.ref.current),r)}}I.current=!1}),onBlur:(0,g.composeEventHandlers)(a.onBlur,()=>F(!1))})})}),H="RovingFocusGroupItem",I=f.forwardRef((a,b)=>{let{__scopeRovingFocusGroup:c,focusable:d=!0,active:h=!1,tabStopId:i,children:j,...l}=a,m=(0,q.useId)(),n=i||m,o=E(H,c),p=o.currentTabStopId===n,r=z(c),{onFocusableItemAdd:s,onFocusableItemRemove:t,currentTabStopId:u}=o;return f.useEffect(()=>{if(d)return s(),()=>t()},[d,s,t]),(0,e.jsx)(y.ItemSlot,{scope:c,id:n,focusable:d,active:h,children:(0,e.jsx)(k.Primitive.span,{tabIndex:p?0:-1,"data-orientation":o.orientation,...l,ref:b,onMouseDown:(0,g.composeEventHandlers)(a.onMouseDown,a=>{d?o.onItemFocus(n):a.preventDefault()}),onFocus:(0,g.composeEventHandlers)(a.onFocus,()=>o.onItemFocus(n)),onKeyDown:(0,g.composeEventHandlers)(a.onKeyDown,a=>{if("Tab"===a.key&&a.shiftKey)return void o.onItemShiftTab();if(a.target!==a.currentTarget)return;let b=function(a,b,c){var d;let e=(d=a.key,"rtl"!==c?d:"ArrowLeft"===d?"ArrowRight":"ArrowRight"===d?"ArrowLeft":d);if(!("vertical"===b&&["ArrowLeft","ArrowRight"].includes(e))&&!("horizontal"===b&&["ArrowUp","ArrowDown"].includes(e)))return J[e]}(a,o.orientation,o.dir);if(void 0!==b){if(a.metaKey||a.ctrlKey||a.altKey||a.shiftKey)return;a.preventDefault();let e=r().filter(a=>a.focusable).map(a=>a.ref.current);if("last"===b)e.reverse();else if("prev"===b||"next"===b){var c,d;"prev"===b&&e.reverse();let f=e.indexOf(a.currentTarget);e=o.loop?(c=e,d=f+1,c.map((a,b)=>c[(d+b)%c.length])):e.slice(f+1)}setTimeout(()=>K(e))}}),children:"function"==typeof j?j({isCurrentTabStop:p,hasTabStop:null!=u}):j})})});I.displayName=H;var J={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function K(a,b=!1){let c=document.activeElement;for(let d of a)if(d===c||(d.focus({preventScroll:b}),document.activeElement!==c))return}var L=Symbol("radix.slottable");function M(a){return f.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===L}var N=a.i(241852),O=a.i(152081),P=["Enter"," "],Q=["ArrowUp","PageDown","End"],R=["ArrowDown","PageUp","Home",...Q],S={ltr:[...P,"ArrowRight"],rtl:[...P,"ArrowLeft"]},T={ltr:["ArrowLeft"],rtl:["ArrowRight"]},U="Menu",[V,W,X]=(0,l.createCollection)(U),[Y,Z]=(0,i.createContextScope)(U,[X,r.createPopperScope,C]),$=(0,r.createPopperScope)(),_=C(),[aa,ab]=Y(U),[ac,ad]=Y(U),ae=a=>{let{__scopeMenu:b,open:c=!1,children:d,dir:g,onOpenChange:h,modal:i=!0}=a,j=$(b),[k,l]=f.useState(null),n=f.useRef(!1),o=(0,u.useCallbackRef)(h),p=(0,m.useDirection)(g);return f.useEffect(()=>{let a=()=>{n.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>n.current=!1;return document.addEventListener("keydown",a,{capture:!0}),()=>{document.removeEventListener("keydown",a,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),(0,e.jsx)(r.Root,{...j,children:(0,e.jsx)(aa,{scope:b,open:c,onOpenChange:o,content:k,onContentChange:l,children:(0,e.jsx)(ac,{scope:b,onClose:f.useCallback(()=>o(!1),[o]),isUsingKeyboardRef:n,dir:p,modal:i,children:d})})})};ae.displayName=U;var af=f.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a,f=$(c);return(0,e.jsx)(r.Anchor,{...f,...d,ref:b})});af.displayName="MenuAnchor";var ag="MenuPortal",[ah,ai]=Y(ag,{forceMount:void 0}),aj=a=>{let{__scopeMenu:b,forceMount:c,children:d,container:f}=a,g=ab(ag,b);return(0,e.jsx)(ah,{scope:b,forceMount:c,children:(0,e.jsx)(t.Presence,{present:c||g.open,children:(0,e.jsx)(s.Portal,{asChild:!0,container:f,children:d})})})};aj.displayName=ag;var ak="MenuContent",[al,am]=Y(ak),an=f.forwardRef((a,b)=>{let c=ai(ak,a.__scopeMenu),{forceMount:d=c.forceMount,...f}=a,g=ab(ak,a.__scopeMenu),h=ad(ak,a.__scopeMenu);return(0,e.jsx)(V.Provider,{scope:a.__scopeMenu,children:(0,e.jsx)(t.Presence,{present:d||g.open,children:(0,e.jsx)(V.Slot,{scope:a.__scopeMenu,children:h.modal?(0,e.jsx)(ao,{...f,ref:b}):(0,e.jsx)(ap,{...f,ref:b})})})})}),ao=f.forwardRef((a,b)=>{let c=ab(ak,a.__scopeMenu),d=f.useRef(null),i=(0,h.useComposedRefs)(b,d);return f.useEffect(()=>{let a=d.current;if(a)return(0,N.hideOthers)(a)},[]),(0,e.jsx)(ar,{...a,ref:i,trapFocus:c.open,disableOutsidePointerEvents:c.open,disableOutsideScroll:!0,onFocusOutside:(0,g.composeEventHandlers)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>c.onOpenChange(!1)})}),ap=f.forwardRef((a,b)=>{let c=ab(ak,a.__scopeMenu);return(0,e.jsx)(ar,{...a,ref:b,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>c.onOpenChange(!1)})}),aq=((d=f.forwardRef((a,b)=>{let{children:c,...d}=a;if(f.isValidElement(c)){var e;let a,g,i=(e=c,(g=(a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.ref:(g=(a=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.props.ref:e.props.ref||e.ref),j=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(d,c.props);return c.type!==f.Fragment&&(j.ref=b?(0,h.composeRefs)(b,i):i),f.cloneElement(c,j)}return f.Children.count(c)>1?f.Children.only(null):null})).displayName="MenuContent.ScrollLock.SlotClone",b=d,(c=f.forwardRef((a,c)=>{let{children:d,...g}=a,h=f.Children.toArray(d),i=h.find(M);if(i){let a=i.props.children,d=h.map(b=>b!==i?b:f.Children.count(a)>1?f.Children.only(null):f.isValidElement(a)?a.props.children:null);return(0,e.jsx)(b,{...g,ref:c,children:f.isValidElement(a)?f.cloneElement(a,void 0,d):null})}return(0,e.jsx)(b,{...g,ref:c,children:d})})).displayName="MenuContent.ScrollLock.Slot",c),ar=f.forwardRef((a,b)=>{let{__scopeMenu:c,loop:d=!1,trapFocus:i,onOpenAutoFocus:j,onCloseAutoFocus:k,disableOutsidePointerEvents:l,onEntryFocus:m,onEscapeKeyDown:q,onPointerDownOutside:s,onFocusOutside:t,onInteractOutside:u,onDismiss:v,disableOutsideScroll:w,...x}=a,y=ab(ak,c),z=ad(ak,c),A=$(c),B=_(c),C=W(c),[D,E]=f.useState(null),G=f.useRef(null),H=(0,h.useComposedRefs)(b,G,y.onContentChange),I=f.useRef(0),J=f.useRef(""),K=f.useRef(0),L=f.useRef(null),M=f.useRef("right"),N=f.useRef(0),P=w?O.RemoveScroll:f.Fragment;f.useEffect(()=>()=>window.clearTimeout(I.current),[]),(0,o.useFocusGuards)();let S=f.useCallback(a=>{var b,c;return M.current===L.current?.side&&(b=a,!!(c=L.current?.area)&&function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a],h=b[f],i=g.x,j=g.y,k=h.x,l=h.y;j>d!=l>d&&c<(k-i)*(d-j)/(l-j)+i&&(e=!e)}return e}({x:b.clientX,y:b.clientY},c))},[]);return(0,e.jsx)(al,{scope:c,searchRef:J,onItemEnter:f.useCallback(a=>{S(a)&&a.preventDefault()},[S]),onItemLeave:f.useCallback(a=>{S(a)||(G.current?.focus(),E(null))},[S]),onTriggerLeave:f.useCallback(a=>{S(a)&&a.preventDefault()},[S]),pointerGraceTimerRef:K,onPointerGraceIntentChange:f.useCallback(a=>{L.current=a},[]),children:(0,e.jsx)(P,{...w?{as:aq,allowPinchZoom:!0}:void 0,children:(0,e.jsx)(p.FocusScope,{asChild:!0,trapped:i,onMountAutoFocus:(0,g.composeEventHandlers)(j,a=>{a.preventDefault(),G.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:k,children:(0,e.jsx)(n.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:l,onEscapeKeyDown:q,onPointerDownOutside:s,onFocusOutside:t,onInteractOutside:u,onDismiss:v,children:(0,e.jsx)(F,{asChild:!0,...B,dir:z.dir,orientation:"vertical",loop:d,currentTabStopId:D,onCurrentTabStopIdChange:E,onEntryFocus:(0,g.composeEventHandlers)(m,a=>{z.isUsingKeyboardRef.current||a.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,e.jsx)(r.Content,{role:"menu","aria-orientation":"vertical","data-state":aR(y.open),"data-radix-menu-content":"",dir:z.dir,...A,...x,ref:H,style:{outline:"none",...x.style},onKeyDown:(0,g.composeEventHandlers)(x.onKeyDown,a=>{let b=a.target.closest("[data-radix-menu-content]")===a.currentTarget,c=a.ctrlKey||a.altKey||a.metaKey,d=1===a.key.length;if(b){var e;let b,f,g,h,i,j;"Tab"===a.key&&a.preventDefault(),!c&&d&&(e=a.key,b=J.current+e,f=C().filter(a=>!a.disabled),g=document.activeElement,h=f.find(a=>a.ref.current===g)?.textValue,i=function(a,b,c){var d;let e=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,f=c?a.indexOf(c):-1,g=(d=Math.max(f,0),a.map((b,c)=>a[(d+c)%a.length]));1===e.length&&(g=g.filter(a=>a!==c));let h=g.find(a=>a.toLowerCase().startsWith(e.toLowerCase()));return h!==c?h:void 0}(f.map(a=>a.textValue),b,h),j=f.find(a=>a.textValue===i)?.ref.current,function a(b){J.current=b,window.clearTimeout(I.current),""!==b&&(I.current=window.setTimeout(()=>a(""),1e3))}(b),j&&setTimeout(()=>j.focus()))}let f=G.current;if(a.target!==f||!R.includes(a.key))return;a.preventDefault();let g=C().filter(a=>!a.disabled).map(a=>a.ref.current);Q.includes(a.key)&&g.reverse(),function(a){let b=document.activeElement;for(let c of a)if(c===b||(c.focus(),document.activeElement!==b))return}(g)}),onBlur:(0,g.composeEventHandlers)(a.onBlur,a=>{a.currentTarget.contains(a.target)||(window.clearTimeout(I.current),J.current="")}),onPointerMove:(0,g.composeEventHandlers)(a.onPointerMove,aU(a=>{let b=a.target,c=N.current!==a.clientX;a.currentTarget.contains(b)&&c&&(M.current=a.clientX>N.current?"right":"left",N.current=a.clientX)}))})})})})})})});an.displayName=ak;var as=f.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,e.jsx)(k.Primitive.div,{role:"group",...d,ref:b})});as.displayName="MenuGroup";var at=f.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,e.jsx)(k.Primitive.div,{...d,ref:b})});at.displayName="MenuLabel";var au="MenuItem",av="menu.itemSelect",aw=f.forwardRef((a,b)=>{let{disabled:c=!1,onSelect:d,...i}=a,j=f.useRef(null),l=ad(au,a.__scopeMenu),m=am(au,a.__scopeMenu),n=(0,h.useComposedRefs)(b,j),o=f.useRef(!1);return(0,e.jsx)(ax,{...i,ref:n,disabled:c,onClick:(0,g.composeEventHandlers)(a.onClick,()=>{let a=j.current;if(!c&&a){let b=new CustomEvent(av,{bubbles:!0,cancelable:!0});a.addEventListener(av,a=>d?.(a),{once:!0}),(0,k.dispatchDiscreteCustomEvent)(a,b),b.defaultPrevented?o.current=!1:l.onClose()}}),onPointerDown:b=>{a.onPointerDown?.(b),o.current=!0},onPointerUp:(0,g.composeEventHandlers)(a.onPointerUp,a=>{o.current||a.currentTarget?.click()}),onKeyDown:(0,g.composeEventHandlers)(a.onKeyDown,a=>{let b=""!==m.searchRef.current;c||b&&" "===a.key||P.includes(a.key)&&(a.currentTarget.click(),a.preventDefault())})})});aw.displayName=au;var ax=f.forwardRef((a,b)=>{let{__scopeMenu:c,disabled:d=!1,textValue:i,...j}=a,l=am(au,c),m=_(c),n=f.useRef(null),o=(0,h.useComposedRefs)(b,n),[p,q]=f.useState(!1),[r,s]=f.useState("");return f.useEffect(()=>{let a=n.current;a&&s((a.textContent??"").trim())},[j.children]),(0,e.jsx)(V.ItemSlot,{scope:c,disabled:d,textValue:i??r,children:(0,e.jsx)(I,{asChild:!0,...m,focusable:!d,children:(0,e.jsx)(k.Primitive.div,{role:"menuitem","data-highlighted":p?"":void 0,"aria-disabled":d||void 0,"data-disabled":d?"":void 0,...j,ref:o,onPointerMove:(0,g.composeEventHandlers)(a.onPointerMove,aU(a=>{d?l.onItemLeave(a):(l.onItemEnter(a),a.defaultPrevented||a.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,g.composeEventHandlers)(a.onPointerLeave,aU(a=>l.onItemLeave(a))),onFocus:(0,g.composeEventHandlers)(a.onFocus,()=>q(!0)),onBlur:(0,g.composeEventHandlers)(a.onBlur,()=>q(!1))})})})}),ay=f.forwardRef((a,b)=>{let{checked:c=!1,onCheckedChange:d,...f}=a;return(0,e.jsx)(aG,{scope:a.__scopeMenu,checked:c,children:(0,e.jsx)(aw,{role:"menuitemcheckbox","aria-checked":aS(c)?"mixed":c,...f,ref:b,"data-state":aT(c),onSelect:(0,g.composeEventHandlers)(f.onSelect,()=>d?.(!!aS(c)||!c),{checkForDefaultPrevented:!1})})})});ay.displayName="MenuCheckboxItem";var az="MenuRadioGroup",[aA,aB]=Y(az,{value:void 0,onValueChange:()=>{}}),aC=f.forwardRef((a,b)=>{let{value:c,onValueChange:d,...f}=a,g=(0,u.useCallbackRef)(d);return(0,e.jsx)(aA,{scope:a.__scopeMenu,value:c,onValueChange:g,children:(0,e.jsx)(as,{...f,ref:b})})});aC.displayName=az;var aD="MenuRadioItem",aE=f.forwardRef((a,b)=>{let{value:c,...d}=a,f=aB(aD,a.__scopeMenu),h=c===f.value;return(0,e.jsx)(aG,{scope:a.__scopeMenu,checked:h,children:(0,e.jsx)(aw,{role:"menuitemradio","aria-checked":h,...d,ref:b,"data-state":aT(h),onSelect:(0,g.composeEventHandlers)(d.onSelect,()=>f.onValueChange?.(c),{checkForDefaultPrevented:!1})})})});aE.displayName=aD;var aF="MenuItemIndicator",[aG,aH]=Y(aF,{checked:!1}),aI=f.forwardRef((a,b)=>{let{__scopeMenu:c,forceMount:d,...f}=a,g=aH(aF,c);return(0,e.jsx)(t.Presence,{present:d||aS(g.checked)||!0===g.checked,children:(0,e.jsx)(k.Primitive.span,{...f,ref:b,"data-state":aT(g.checked)})})});aI.displayName=aF;var aJ=f.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,e.jsx)(k.Primitive.div,{role:"separator","aria-orientation":"horizontal",...d,ref:b})});aJ.displayName="MenuSeparator";var aK=f.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a,f=$(c);return(0,e.jsx)(r.Arrow,{...f,...d,ref:b})});aK.displayName="MenuArrow";var[aL,aM]=Y("MenuSub"),aN="MenuSubTrigger",aO=f.forwardRef((a,b)=>{let c=ab(aN,a.__scopeMenu),d=ad(aN,a.__scopeMenu),i=aM(aN,a.__scopeMenu),j=am(aN,a.__scopeMenu),k=f.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:m}=j,n={__scopeMenu:a.__scopeMenu},o=f.useCallback(()=>{k.current&&window.clearTimeout(k.current),k.current=null},[]);return f.useEffect(()=>o,[o]),f.useEffect(()=>{let a=l.current;return()=>{window.clearTimeout(a),m(null)}},[l,m]),(0,e.jsx)(af,{asChild:!0,...n,children:(0,e.jsx)(ax,{id:i.triggerId,"aria-haspopup":"menu","aria-expanded":c.open,"aria-controls":i.contentId,"data-state":aR(c.open),...a,ref:(0,h.composeRefs)(b,i.onTriggerChange),onClick:b=>{a.onClick?.(b),a.disabled||b.defaultPrevented||(b.currentTarget.focus(),c.open||c.onOpenChange(!0))},onPointerMove:(0,g.composeEventHandlers)(a.onPointerMove,aU(b=>{j.onItemEnter(b),!b.defaultPrevented&&(a.disabled||c.open||k.current||(j.onPointerGraceIntentChange(null),k.current=window.setTimeout(()=>{c.onOpenChange(!0),o()},100)))})),onPointerLeave:(0,g.composeEventHandlers)(a.onPointerLeave,aU(a=>{o();let b=c.content?.getBoundingClientRect();if(b){let d=c.content?.dataset.side,e="right"===d,f=b[e?"left":"right"],g=b[e?"right":"left"];j.onPointerGraceIntentChange({area:[{x:a.clientX+(e?-5:5),y:a.clientY},{x:f,y:b.top},{x:g,y:b.top},{x:g,y:b.bottom},{x:f,y:b.bottom}],side:d}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>j.onPointerGraceIntentChange(null),300)}else{if(j.onTriggerLeave(a),a.defaultPrevented)return;j.onPointerGraceIntentChange(null)}})),onKeyDown:(0,g.composeEventHandlers)(a.onKeyDown,b=>{let e=""!==j.searchRef.current;a.disabled||e&&" "===b.key||S[d.dir].includes(b.key)&&(c.onOpenChange(!0),c.content?.focus(),b.preventDefault())})})})});aO.displayName=aN;var aP="MenuSubContent",aQ=f.forwardRef((a,b)=>{let c=ai(ak,a.__scopeMenu),{forceMount:d=c.forceMount,...i}=a,j=ab(ak,a.__scopeMenu),k=ad(ak,a.__scopeMenu),l=aM(aP,a.__scopeMenu),m=f.useRef(null),n=(0,h.useComposedRefs)(b,m);return(0,e.jsx)(V.Provider,{scope:a.__scopeMenu,children:(0,e.jsx)(t.Presence,{present:d||j.open,children:(0,e.jsx)(V.Slot,{scope:a.__scopeMenu,children:(0,e.jsx)(ar,{id:l.contentId,"aria-labelledby":l.triggerId,...i,ref:n,align:"start",side:"rtl"===k.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:a=>{k.isUsingKeyboardRef.current&&m.current?.focus(),a.preventDefault()},onCloseAutoFocus:a=>a.preventDefault(),onFocusOutside:(0,g.composeEventHandlers)(a.onFocusOutside,a=>{a.target!==l.trigger&&j.onOpenChange(!1)}),onEscapeKeyDown:(0,g.composeEventHandlers)(a.onEscapeKeyDown,a=>{k.onClose(),a.preventDefault()}),onKeyDown:(0,g.composeEventHandlers)(a.onKeyDown,a=>{let b=a.currentTarget.contains(a.target),c=T[k.dir].includes(a.key);b&&c&&(j.onOpenChange(!1),l.trigger?.focus(),a.preventDefault())})})})})})});function aR(a){return a?"open":"closed"}function aS(a){return"indeterminate"===a}function aT(a){return aS(a)?"indeterminate":a?"checked":"unchecked"}function aU(a){return b=>"mouse"===b.pointerType?a(b):void 0}aQ.displayName=aP;var aV="DropdownMenu",[aW,aX]=(0,i.createContextScope)(aV,[Z]),aY=Z(),[aZ,a$]=aW(aV),a_=a=>{let{__scopeDropdownMenu:b,children:c,dir:d,open:g,defaultOpen:h,onOpenChange:i,modal:k=!0}=a,l=aY(b),m=f.useRef(null),[n,o]=(0,j.useControllableState)({prop:g,defaultProp:h??!1,onChange:i,caller:aV});return(0,e.jsx)(aZ,{scope:b,triggerId:(0,q.useId)(),triggerRef:m,contentId:(0,q.useId)(),open:n,onOpenChange:o,onOpenToggle:f.useCallback(()=>o(a=>!a),[o]),modal:k,children:(0,e.jsx)(ae,{...l,open:n,onOpenChange:o,dir:d,modal:k,children:c})})};a_.displayName=aV;var a0="DropdownMenuTrigger",a1=f.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,disabled:d=!1,...f}=a,i=a$(a0,c),j=aY(c);return(0,e.jsx)(af,{asChild:!0,...j,children:(0,e.jsx)(k.Primitive.button,{type:"button",id:i.triggerId,"aria-haspopup":"menu","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":i.open?"open":"closed","data-disabled":d?"":void 0,disabled:d,...f,ref:(0,h.composeRefs)(b,i.triggerRef),onPointerDown:(0,g.composeEventHandlers)(a.onPointerDown,a=>{!d&&0===a.button&&!1===a.ctrlKey&&(i.onOpenToggle(),i.open||a.preventDefault())}),onKeyDown:(0,g.composeEventHandlers)(a.onKeyDown,a=>{!d&&(["Enter"," "].includes(a.key)&&i.onOpenToggle(),"ArrowDown"===a.key&&i.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(a.key)&&a.preventDefault())})})})});a1.displayName=a0;var a2=a=>{let{__scopeDropdownMenu:b,...c}=a,d=aY(b);return(0,e.jsx)(aj,{...d,...c})};a2.displayName="DropdownMenuPortal";var a3="DropdownMenuContent",a4=f.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,h=a$(a3,c),i=aY(c),j=f.useRef(!1);return(0,e.jsx)(an,{id:h.contentId,"aria-labelledby":h.triggerId,...i,...d,ref:b,onCloseAutoFocus:(0,g.composeEventHandlers)(a.onCloseAutoFocus,a=>{j.current||h.triggerRef.current?.focus(),j.current=!1,a.preventDefault()}),onInteractOutside:(0,g.composeEventHandlers)(a.onInteractOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey,d=2===b.button||c;(!h.modal||d)&&(j.current=!0)}),style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});a4.displayName=a3,f.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,f=aY(c);return(0,e.jsx)(as,{...f,...d,ref:b})}).displayName="DropdownMenuGroup";var a5=f.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,f=aY(c);return(0,e.jsx)(at,{...f,...d,ref:b})});a5.displayName="DropdownMenuLabel";var a6=f.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,f=aY(c);return(0,e.jsx)(aw,{...f,...d,ref:b})});a6.displayName="DropdownMenuItem",f.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,f=aY(c);return(0,e.jsx)(ay,{...f,...d,ref:b})}).displayName="DropdownMenuCheckboxItem",f.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,f=aY(c);return(0,e.jsx)(aC,{...f,...d,ref:b})}).displayName="DropdownMenuRadioGroup",f.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,f=aY(c);return(0,e.jsx)(aE,{...f,...d,ref:b})}).displayName="DropdownMenuRadioItem",f.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,f=aY(c);return(0,e.jsx)(aI,{...f,...d,ref:b})}).displayName="DropdownMenuItemIndicator";var a7=f.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,f=aY(c);return(0,e.jsx)(aJ,{...f,...d,ref:b})});a7.displayName="DropdownMenuSeparator",f.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,f=aY(c);return(0,e.jsx)(aK,{...f,...d,ref:b})}).displayName="DropdownMenuArrow",f.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,f=aY(c);return(0,e.jsx)(aO,{...f,...d,ref:b})}).displayName="DropdownMenuSubTrigger",f.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,f=aY(c);return(0,e.jsx)(aQ,{...f,...d,ref:b,style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})}).displayName="DropdownMenuSubContent",a.i(606406),a.i(111989),a.i(171150);var a8=a.i(368114);function a9({...a}){return(0,e.jsx)(a_,{"data-slot":"dropdown-menu",...a})}function ba({...a}){return(0,e.jsx)(a1,{"data-slot":"dropdown-menu-trigger",...a})}function bb({className:a,sideOffset:b=4,...c}){return(0,e.jsx)(a2,{children:(0,e.jsx)(a4,{"data-slot":"dropdown-menu-content",sideOffset:b,className:(0,a8.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-xl border border-border/50 p-1 shadow-md",a),...c})})}function bc({className:a,inset:b,variant:c="default",...d}){return(0,e.jsx)(a6,{"data-slot":"dropdown-menu-item","data-inset":b,"data-variant":c,className:(0,a8.cn)("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",a),...d})}function bd({className:a,inset:b,...c}){return(0,e.jsx)(a5,{"data-slot":"dropdown-menu-label","data-inset":b,className:(0,a8.cn)("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",a),...c})}function be({className:a,...b}){return(0,e.jsx)(a7,{"data-slot":"dropdown-menu-separator",className:(0,a8.cn)("bg-border -mx-1 my-1 h-px",a),...b})}a.s(["DropdownMenu",()=>a9,"DropdownMenuContent",()=>bb,"DropdownMenuItem",()=>bc,"DropdownMenuLabel",()=>bd,"DropdownMenuSeparator",()=>be,"DropdownMenuTrigger",()=>ba],335732)},405784,a=>{"use strict";var b=a.i(504699);a.s(["ChevronDown",()=>b.default])},18697,a=>{"use strict";let b=(0,a.i(883706).default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);a.s(["MenuIcon",()=>b],18697)},114548,a=>{"use strict";let b=(0,a.i(883706).default)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);a.s(["Save",()=>b],114548)},776319,a=>{"use strict";let b=(0,a.i(883706).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);a.s(["default",()=>b])},705151,a=>{"use strict";var b=a.i(776319);a.s(["Copy",()=>b.default])},785259,a=>{"use strict";let b;var c=a.i(187924),d=a.i(572131),e=a.i(507554),f=a.i(470121),g=a.i(750104),h=a.i(596743),i=a.i(392843),j=a.i(704691),k=a.i(692616),l=a.i(777192),m=a.i(30553),n=Symbol("radix.slottable"),o=a.i(225152),p=a.i(528094),[q,r]=(0,g.createContextScope)("Tooltip",[j.createPopperScope]),s=(0,j.createPopperScope)(),t="TooltipProvider",u="tooltip.open",[v,w]=q(t),x=a=>{let{__scopeTooltip:b,delayDuration:e=700,skipDelayDuration:f=300,disableHoverableContent:g=!1,children:h}=a,i=d.useRef(!0),j=d.useRef(!1),k=d.useRef(0);return d.useEffect(()=>{let a=k.current;return()=>window.clearTimeout(a)},[]),(0,c.jsx)(v,{scope:b,isOpenDelayedRef:i,delayDuration:e,onOpen:d.useCallback(()=>{window.clearTimeout(k.current),i.current=!1},[]),onClose:d.useCallback(()=>{window.clearTimeout(k.current),k.current=window.setTimeout(()=>i.current=!0,f)},[f]),isPointerInTransitRef:j,onPointerInTransitChange:d.useCallback(a=>{j.current=a},[]),disableHoverableContent:g,children:h})};x.displayName=t;var y="Tooltip",[z,A]=q(y),B=a=>{let{__scopeTooltip:b,children:e,open:f,defaultOpen:g,onOpenChange:h,disableHoverableContent:k,delayDuration:l}=a,m=w(y,a.__scopeTooltip),n=s(b),[p,q]=d.useState(null),r=(0,i.useId)(),t=d.useRef(0),v=k??m.disableHoverableContent,x=l??m.delayDuration,A=d.useRef(!1),[B,C]=(0,o.useControllableState)({prop:f,defaultProp:g??!1,onChange:a=>{a?(m.onOpen(),document.dispatchEvent(new CustomEvent(u))):m.onClose(),h?.(a)},caller:y}),D=d.useMemo(()=>B?A.current?"delayed-open":"instant-open":"closed",[B]),E=d.useCallback(()=>{window.clearTimeout(t.current),t.current=0,A.current=!1,C(!0)},[C]),F=d.useCallback(()=>{window.clearTimeout(t.current),t.current=0,C(!1)},[C]),G=d.useCallback(()=>{window.clearTimeout(t.current),t.current=window.setTimeout(()=>{A.current=!0,C(!0),t.current=0},x)},[x,C]);return d.useEffect(()=>()=>{t.current&&(window.clearTimeout(t.current),t.current=0)},[]),(0,c.jsx)(j.Root,{...n,children:(0,c.jsx)(z,{scope:b,contentId:r,open:B,stateAttribute:D,trigger:p,onTriggerChange:q,onTriggerEnter:d.useCallback(()=>{m.isOpenDelayedRef.current?G():E()},[m.isOpenDelayedRef,G,E]),onTriggerLeave:d.useCallback(()=>{v?F():(window.clearTimeout(t.current),t.current=0)},[F,v]),onOpen:E,onClose:F,disableHoverableContent:v,children:e})})};B.displayName=y;var C="TooltipTrigger",D=d.forwardRef((a,b)=>{let{__scopeTooltip:g,...h}=a,i=A(C,g),k=w(C,g),l=s(g),n=d.useRef(null),o=(0,f.useComposedRefs)(b,n,i.onTriggerChange),p=d.useRef(!1),q=d.useRef(!1),r=d.useCallback(()=>p.current=!1,[]);return d.useEffect(()=>()=>document.removeEventListener("pointerup",r),[r]),(0,c.jsx)(j.Anchor,{asChild:!0,...l,children:(0,c.jsx)(m.Primitive.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...h,ref:o,onPointerMove:(0,e.composeEventHandlers)(a.onPointerMove,a=>{"touch"!==a.pointerType&&(q.current||k.isPointerInTransitRef.current||(i.onTriggerEnter(),q.current=!0))}),onPointerLeave:(0,e.composeEventHandlers)(a.onPointerLeave,()=>{i.onTriggerLeave(),q.current=!1}),onPointerDown:(0,e.composeEventHandlers)(a.onPointerDown,()=>{i.open&&i.onClose(),p.current=!0,document.addEventListener("pointerup",r,{once:!0})}),onFocus:(0,e.composeEventHandlers)(a.onFocus,()=>{p.current||i.onOpen()}),onBlur:(0,e.composeEventHandlers)(a.onBlur,i.onClose),onClick:(0,e.composeEventHandlers)(a.onClick,i.onClose)})})});D.displayName=C;var E="TooltipPortal",[F,G]=q(E,{forceMount:void 0}),H=a=>{let{__scopeTooltip:b,forceMount:d,children:e,container:f}=a,g=A(E,b);return(0,c.jsx)(F,{scope:b,forceMount:d,children:(0,c.jsx)(l.Presence,{present:d||g.open,children:(0,c.jsx)(k.Portal,{asChild:!0,container:f,children:e})})})};H.displayName=E;var I="TooltipContent",J=d.forwardRef((a,b)=>{let d=G(I,a.__scopeTooltip),{forceMount:e=d.forceMount,side:f="top",...g}=a,h=A(I,a.__scopeTooltip);return(0,c.jsx)(l.Presence,{present:e||h.open,children:h.disableHoverableContent?(0,c.jsx)(O,{side:f,...g,ref:b}):(0,c.jsx)(K,{side:f,...g,ref:b})})}),K=d.forwardRef((a,b)=>{let e=A(I,a.__scopeTooltip),g=w(I,a.__scopeTooltip),h=d.useRef(null),i=(0,f.useComposedRefs)(b,h),[j,k]=d.useState(null),{trigger:l,onClose:m}=e,n=h.current,{onPointerInTransitChange:o}=g,p=d.useCallback(()=>{k(null),o(!1)},[o]),q=d.useCallback((a,b)=>{let c,d=a.currentTarget,e={x:a.clientX,y:a.clientY},f=function(a,b){let c=Math.abs(b.top-a.y),d=Math.abs(b.bottom-a.y),e=Math.abs(b.right-a.x),f=Math.abs(b.left-a.x);switch(Math.min(c,d,e,f)){case f:return"left";case e:return"right";case c:return"top";case d:return"bottom";default:throw Error("unreachable")}}(e,d.getBoundingClientRect());k(((c=[...function(a,b,c=5){let d=[];switch(b){case"top":d.push({x:a.x-c,y:a.y+c},{x:a.x+c,y:a.y+c});break;case"bottom":d.push({x:a.x-c,y:a.y-c},{x:a.x+c,y:a.y-c});break;case"left":d.push({x:a.x+c,y:a.y-c},{x:a.x+c,y:a.y+c});break;case"right":d.push({x:a.x-c,y:a.y-c},{x:a.x-c,y:a.y+c})}return d}(e,f),...function(a){let{top:b,right:c,bottom:d,left:e}=a;return[{x:e,y:b},{x:c,y:b},{x:c,y:d},{x:e,y:d}]}(b.getBoundingClientRect())].slice()).sort((a,b)=>a.x<b.x?-1:a.x>b.x?1:a.y<b.y?-1:1*!!(a.y>b.y)),function(a){if(a.length<=1)return a.slice();let b=[];for(let c=0;c<a.length;c++){let d=a[c];for(;b.length>=2;){let a=b[b.length-1],c=b[b.length-2];if((a.x-c.x)*(d.y-c.y)>=(a.y-c.y)*(d.x-c.x))b.pop();else break}b.push(d)}b.pop();let c=[];for(let b=a.length-1;b>=0;b--){let d=a[b];for(;c.length>=2;){let a=c[c.length-1],b=c[c.length-2];if((a.x-b.x)*(d.y-b.y)>=(a.y-b.y)*(d.x-b.x))c.pop();else break}c.push(d)}return(c.pop(),1===b.length&&1===c.length&&b[0].x===c[0].x&&b[0].y===c[0].y)?b:b.concat(c)}(c))),o(!0)},[o]);return d.useEffect(()=>()=>p(),[p]),d.useEffect(()=>{if(l&&n){let a=a=>q(a,n),b=a=>q(a,l);return l.addEventListener("pointerleave",a),n.addEventListener("pointerleave",b),()=>{l.removeEventListener("pointerleave",a),n.removeEventListener("pointerleave",b)}}},[l,n,q,p]),d.useEffect(()=>{if(j){let a=a=>{let b=a.target,c={x:a.clientX,y:a.clientY},d=l?.contains(b)||n?.contains(b),e=!function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a],h=b[f],i=g.x,j=g.y,k=h.x,l=h.y;j>d!=l>d&&c<(k-i)*(d-j)/(l-j)+i&&(e=!e)}return e}(c,j);d?p():e&&(p(),m())};return document.addEventListener("pointermove",a),()=>document.removeEventListener("pointermove",a)}},[l,n,j,m,p]),(0,c.jsx)(O,{...a,ref:i})}),[L,M]=q(y,{isInside:!1}),N=((b=({children:a})=>(0,c.jsx)(c.Fragment,{children:a})).displayName="TooltipContent.Slottable",b.__radixId=n,b),O=d.forwardRef((a,b)=>{let{__scopeTooltip:e,children:f,"aria-label":g,onEscapeKeyDown:i,onPointerDownOutside:k,...l}=a,m=A(I,e),n=s(e),{onClose:o}=m;return d.useEffect(()=>(document.addEventListener(u,o),()=>document.removeEventListener(u,o)),[o]),d.useEffect(()=>{if(m.trigger){let a=a=>{let b=a.target;b?.contains(m.trigger)&&o()};return window.addEventListener("scroll",a,{capture:!0}),()=>window.removeEventListener("scroll",a,{capture:!0})}},[m.trigger,o]),(0,c.jsx)(h.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:k,onFocusOutside:a=>a.preventDefault(),onDismiss:o,children:(0,c.jsxs)(j.Content,{"data-state":m.stateAttribute,...n,...l,ref:b,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,c.jsx)(N,{children:f}),(0,c.jsx)(L,{scope:e,isInside:!0,children:(0,c.jsx)(p.Root,{id:m.contentId,role:"tooltip",children:g||f})})]})})});J.displayName=I;var P="TooltipArrow",Q=d.forwardRef((a,b)=>{let{__scopeTooltip:d,...e}=a,f=s(d);return M(P,d).isInside?null:(0,c.jsx)(j.Arrow,{...f,...e,ref:b})});Q.displayName=P;var R=a.i(368114);function S({delayDuration:a=0,...b}){return(0,c.jsx)(x,{"data-slot":"tooltip-provider",delayDuration:a,...b})}function T({...a}){return(0,c.jsx)(S,{children:(0,c.jsx)(B,{"data-slot":"tooltip",...a})})}function U({...a}){return(0,c.jsx)(D,{"data-slot":"tooltip-trigger",...a})}function V({className:a,sideOffset:b=0,children:d,...e}){return(0,c.jsx)(H,{children:(0,c.jsxs)(J,{"data-slot":"tooltip-content",sideOffset:b,className:(0,R.cn)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",a),...e,children:[d,(0,c.jsx)(Q,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}a.s(["Tooltip",()=>T,"TooltipContent",()=>V,"TooltipProvider",()=>S,"TooltipTrigger",()=>U],785259)},640672,a=>{"use strict";let b,c;var d=a.i(187924);function e(a){return a+.5|0}let f=(a,b,c)=>Math.max(Math.min(a,c),b);function g(a){return f(e(2.55*a),0,255)}function h(a){return f(e(255*a),0,255)}function i(a){return f(e(a/2.55)/100,0,1)}function j(a){return f(e(100*a),0,100)}let k={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},l=[..."0123456789ABCDEF"],m=a=>l[15&a],n=a=>l[(240&a)>>4]+l[15&a],o=a=>(240&a)>>4==(15&a),p=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function q(a,b,c){let d=b*Math.min(c,1-c),e=(b,e=(b+a/30)%12)=>c-d*Math.max(Math.min(e-3,9-e,1),-1);return[e(0),e(8),e(4)]}function r(a,b,c){let d=(d,e=(d+a/60)%6)=>c-c*b*Math.max(Math.min(e,4-e,1),0);return[d(5),d(3),d(1)]}function s(a,b,c){let d,e=q(a,1,.5);for(b+c>1&&(d=1/(b+c),b*=d,c*=d),d=0;d<3;d++)e[d]*=1-b-c,e[d]+=b;return e}function t(a){let b,c,d,e=a.r/255,f=a.g/255,g=a.b/255,h=Math.max(e,f,g),i=Math.min(e,f,g),j=(h+i)/2;h!==i&&(d=h-i,c=j>.5?d/(2-h-i):d/(h+i),b=60*(b=e===h?(f-g)/d+6*(f<g):f===h?(g-e)/d+2:(e-f)/d+4)+.5);return[0|b,c||0,j]}function u(a,b,c,d){return(Array.isArray(b)?a(b[0],b[1],b[2]):a(b,c,d)).map(h)}function v(a){return(a%360+360)%360}let w={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},x={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"},y=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/,z=a=>a<=.0031308?12.92*a:1.055*Math.pow(a,1/2.4)-.055,A=a=>a<=.04045?a/12.92:Math.pow((a+.055)/1.055,2.4);function B(a,b,c){if(a){let d=t(a);d[b]=Math.max(0,Math.min(d[b]+d[b]*c,0===b?360:1)),a.r=(d=u(q,d,void 0,void 0))[0],a.g=d[1],a.b=d[2]}}function C(a,b){return a?Object.assign(b||{},a):a}function D(a){var b={r:0,g:0,b:0,a:255};return Array.isArray(a)?a.length>=3&&(b={r:a[0],g:a[1],b:a[2],a:255},a.length>3&&(b.a=h(a[3]))):(b=C(a,{r:0,g:0,b:0,a:1})).a=h(b.a),b}class E{constructor(a){let c;if(a instanceof E)return a;const d=typeof a;"object"===d?c=D(a):"string"===d&&(c=function(a){var b,c=a.length;return"#"===a[0]&&(4===c||5===c?b={r:255&17*k[a[1]],g:255&17*k[a[2]],b:255&17*k[a[3]],a:5===c?17*k[a[4]]:255}:(7===c||9===c)&&(b={r:k[a[1]]<<4|k[a[2]],g:k[a[3]]<<4|k[a[4]],b:k[a[5]]<<4|k[a[6]],a:9===c?k[a[7]]<<4|k[a[8]]:255})),b}(a)||function(a){b||((b=function(){let a,b,c,d,e,f={},g=Object.keys(x),h=Object.keys(w);for(a=0;a<g.length;a++){for(b=0,d=e=g[a];b<h.length;b++)c=h[b],e=e.replace(c,w[c]);c=parseInt(x[d],16),f[e]=[c>>16&255,c>>8&255,255&c]}return f}()).transparent=[0,0,0,0]);let c=b[a.toLowerCase()];return c&&{r:c[0],g:c[1],b:c[2],a:4===c.length?c[3]:255}}(a)||function(a){return"r"===a.charAt(0)?function(a){let b,c,d,e=y.exec(a),h=255;if(e){if(e[7]!==b){let a=+e[7];h=e[8]?g(a):f(255*a,0,255)}return b=+e[1],c=+e[3],d=+e[5],b=255&(e[2]?g(b):f(b,0,255)),{r:b,g:c=255&(e[4]?g(c):f(c,0,255)),b:d=255&(e[6]?g(d):f(d,0,255)),a:h}}}(a):function(a){let b,c=p.exec(a),d=255;if(!c)return;c[5]!==b&&(d=c[6]?g(+c[5]):h(+c[5]));let e=v(+c[2]),f=c[3]/100,i=c[4]/100;return{r:(b="hwb"===c[1]?u(s,e,f,i):"hsv"===c[1]?u(r,e,f,i):u(q,e,f,i))[0],g:b[1],b:b[2],a:d}}(a)}(a)),this._rgb=c,this._valid=!!c}get valid(){return this._valid}get rgb(){var a=C(this._rgb);return a&&(a.a=i(a.a)),a}set rgb(a){this._rgb=D(a)}rgbString(){var a;return this._valid?(a=this._rgb)&&(a.a<255?`rgba(${a.r}, ${a.g}, ${a.b}, ${i(a.a)})`:`rgb(${a.r}, ${a.g}, ${a.b})`):void 0}hexString(){var a,b;let c,d;return this._valid?(b=o((c=a=this._rgb).r)&&o(c.g)&&o(c.b)&&o(c.a)?m:n,a?"#"+b(a.r)+b(a.g)+b(a.b)+(d=a.a,d<255?b(d):""):void 0):void 0}hslString(){return this._valid?function(a){if(!a)return;let b=t(a),c=b[0],d=j(b[1]),e=j(b[2]);return a.a<255?`hsla(${c}, ${d}%, ${e}%, ${i(a.a)})`:`hsl(${c}, ${d}%, ${e}%)`}(this._rgb):void 0}mix(a,b){if(a){let c,d=this.rgb,e=a.rgb,f=b===c?.5:b,g=2*f-1,h=d.a-e.a,i=((g*h==-1?g:(g+h)/(1+g*h))+1)/2;c=1-i,d.r=255&i*d.r+c*e.r+.5,d.g=255&i*d.g+c*e.g+.5,d.b=255&i*d.b+c*e.b+.5,d.a=f*d.a+(1-f)*e.a,this.rgb=d}return this}interpolate(a,b){var c,d;let e,f,g;return a&&(this._rgb=(c=this._rgb,d=a._rgb,e=A(i(c.r)),f=A(i(c.g)),g=A(i(c.b)),{r:h(z(e+b*(A(i(d.r))-e))),g:h(z(f+b*(A(i(d.g))-f))),b:h(z(g+b*(A(i(d.b))-g))),a:c.a+b*(d.a-c.a)})),this}clone(){return new E(this.rgb)}alpha(a){return this._rgb.a=h(a),this}clearer(a){let b=this._rgb;return b.a*=1-a,this}greyscale(){let a=this._rgb,b=e(.3*a.r+.59*a.g+.11*a.b);return a.r=a.g=a.b=b,this}opaquer(a){let b=this._rgb;return b.a*=1+a,this}negate(){let a=this._rgb;return a.r=255-a.r,a.g=255-a.g,a.b=255-a.b,this}lighten(a){return B(this._rgb,2,a),this}darken(a){return B(this._rgb,2,-a),this}saturate(a){return B(this._rgb,1,a),this}desaturate(a){return B(this._rgb,1,-a),this}rotate(a){var b,c;return b=this._rgb,(c=t(b))[0]=v(c[0]+a),b.r=(c=u(q,c,void 0,void 0))[0],b.g=c[1],b.b=c[2],this}}function F(){}let G=(c=0,()=>c++);function H(a){return null==a}function I(a){if(Array.isArray&&Array.isArray(a))return!0;let b=Object.prototype.toString.call(a);return"[object"===b.slice(0,7)&&"Array]"===b.slice(-6)}function J(a){return null!==a&&"[object Object]"===Object.prototype.toString.call(a)}function K(a){return("number"==typeof a||a instanceof Number)&&isFinite(+a)}function L(a,b){return K(a)?a:b}function M(a,b){return void 0===a?b:a}let N=(a,b)=>"string"==typeof a&&a.endsWith("%")?parseFloat(a)/100*b:+a;function O(a,b,c){if(a&&"function"==typeof a.call)return a.apply(c,b)}function P(a,b,c,d){let e,f,g;if(I(a))if(f=a.length,d)for(e=f-1;e>=0;e--)b.call(c,a[e],e);else for(e=0;e<f;e++)b.call(c,a[e],e);else if(J(a))for(e=0,f=(g=Object.keys(a)).length;e<f;e++)b.call(c,a[g[e]],g[e])}function Q(a,b){let c,d,e,f;if(!a||!b||a.length!==b.length)return!1;for(c=0,d=a.length;c<d;++c)if(e=a[c],f=b[c],e.datasetIndex!==f.datasetIndex||e.index!==f.index)return!1;return!0}function R(a){if(I(a))return a.map(R);if(J(a)){let b=Object.create(null),c=Object.keys(a),d=c.length,e=0;for(;e<d;++e)b[c[e]]=R(a[c[e]]);return b}return a}function S(a){return -1===["__proto__","prototype","constructor"].indexOf(a)}function T(a,b,c,d){if(!S(a))return;let e=b[a],f=c[a];J(e)&&J(f)?U(e,f,d):b[a]=R(f)}function U(a,b,c){let d,e=I(b)?b:[b],f=e.length;if(!J(a))return a;let g=(c=c||{}).merger||T;for(let b=0;b<f;++b){if(!J(d=e[b]))continue;let f=Object.keys(d);for(let b=0,e=f.length;b<e;++b)g(f[b],a,d,c)}return a}function V(a,b){return U(a,b,{merger:W})}function W(a,b,c){if(!S(a))return;let d=b[a],e=c[a];J(d)&&J(e)?V(d,e):Object.prototype.hasOwnProperty.call(b,a)||(b[a]=R(e))}let X={"":a=>a,x:a=>a.x,y:a=>a.y};function Y(a,b){let c;return(X[b]||(X[b]=(c=function(a){let b=a.split("."),c=[],d="";for(let a of b)(d+=a).endsWith("\\")?d=d.slice(0,-1)+".":(c.push(d),d="");return c}(b),a=>{for(let b of c){if(""===b)break;a=a&&a[b]}return a})))(a)}function Z(a){return a.charAt(0).toUpperCase()+a.slice(1)}let $=a=>void 0!==a,_=a=>"function"==typeof a,aa=(a,b)=>{if(a.size!==b.size)return!1;for(let c of a)if(!b.has(c))return!1;return!0},ab=Math.PI,ac=2*ab,ad=ac+ab,ae=ab/180,af=ab/2,ag=ab/4,ah=2*ab/3,ai=Math.log10,aj=Math.sign;function ak(a,b,c){return Math.abs(a-b)<c}function al(a){let b=Math.round(a),c=Math.pow(10,Math.floor(ai(a=ak(a,b,a/1e3)?b:a))),d=a/c;return(d<=1?1:d<=2?2:d<=5?5:10)*c}function am(a){return"symbol"!=typeof a&&("object"!=typeof a||null===a||!!(Symbol.toPrimitive in a||"toString"in a||"valueOf"in a))&&!isNaN(parseFloat(a))&&isFinite(a)}function an(a,b,c){let d,e,f;for(d=0,e=a.length;d<e;d++)isNaN(f=a[d][c])||(b.min=Math.min(b.min,f),b.max=Math.max(b.max,f))}function ao(a){return ab/180*a}function ap(a){if(!K(a))return;let b=1,c=0;for(;Math.round(a*b)/b!==a;)b*=10,c++;return c}function aq(a,b){let c=b.x-a.x,d=b.y-a.y,e=Math.sqrt(c*c+d*d),f=Math.atan2(d,c);return f<-.5*ab&&(f+=ac),{angle:f,distance:e}}function ar(a,b){return Math.sqrt(Math.pow(b.x-a.x,2)+Math.pow(b.y-a.y,2))}function as(a,b){return(a-b+ad)%ac-ab}function at(a){return(a%ac+ac)%ac}function au(a,b,c,d){let e=at(a),f=at(b),g=at(c),h=at(f-e),i=at(g-e),j=at(e-f),k=at(e-g);return e===f||e===g||d&&f===g||h>i&&j<k}function av(a,b,c){return Math.max(b,Math.min(c,a))}function aw(a,b,c,d=1e-6){return a>=Math.min(b,c)-d&&a<=Math.max(b,c)+d}function ax(a,b,c){let d;c=c||(c=>a[c]<b);let e=a.length-1,f=0;for(;e-f>1;)c(d=f+e>>1)?f=d:e=d;return{lo:f,hi:e}}let ay=(a,b,c,d)=>ax(a,c,d?d=>{let e=a[d][b];return e<c||e===c&&a[d+1][b]===c}:d=>a[d][b]<c),az=(a,b,c)=>ax(a,c,d=>a[d][b]>=c),aA=["push","pop","shift","splice","unshift"];function aB(a,b){let c=a._chartjs;if(!c)return;let d=c.listeners,e=d.indexOf(b);-1!==e&&d.splice(e,1),d.length>0||(aA.forEach(b=>{delete a[b]}),delete a._chartjs)}function aC(a){let b=new Set(a);return b.size===a.length?a:Array.from(b)}let aD=function(a){return a()},aE=a=>"start"===a?"left":"end"===a?"right":"center",aF=(a,b,c)=>"start"===a?b:"end"===a?c:(b+c)/2;function aG(a,b,c){let d=b.length,e=0,f=d;if(a._sorted){let{iScale:g,vScale:h,_parsed:i}=a,j=a.dataset&&a.dataset.options?a.dataset.options.spanGaps:null,k=g.axis,{min:l,max:m,minDefined:n,maxDefined:o}=g.getUserBounds();if(n){if(e=Math.min(ay(i,k,l).lo,c?d:ay(b,k,g.getPixelForValue(l)).lo),j){let a=i.slice(0,e+1).reverse().findIndex(a=>!H(a[h.axis]));e-=Math.max(0,a)}e=av(e,0,d-1)}if(o){let a=Math.max(ay(i,g.axis,m,!0).hi+1,c?0:ay(b,k,g.getPixelForValue(m),!0).hi+1);if(j){let b=i.slice(a-1).findIndex(a=>!H(a[h.axis]));a+=Math.max(0,b)}f=av(a,e,d)-e}else f=d-e}return{start:e,count:f}}function aH(a){let{xScale:b,yScale:c,_scaleRanges:d}=a,e={xmin:b.min,xmax:b.max,ymin:c.min,ymax:c.max};if(!d)return a._scaleRanges=e,!0;let f=d.xmin!==b.min||d.xmax!==b.max||d.ymin!==c.min||d.ymax!==c.max;return Object.assign(d,e),f}let aI=a=>0===a||1===a,aJ=(a,b,c)=>-(Math.pow(2,10*(a-=1))*Math.sin((a-b)*ac/c)),aK=(a,b,c)=>Math.pow(2,-10*a)*Math.sin((a-b)*ac/c)+1,aL={linear:a=>a,easeInQuad:a=>a*a,easeOutQuad:a=>-a*(a-2),easeInOutQuad:a=>(a/=.5)<1?.5*a*a:-.5*(--a*(a-2)-1),easeInCubic:a=>a*a*a,easeOutCubic:a=>(a-=1)*a*a+1,easeInOutCubic:a=>(a/=.5)<1?.5*a*a*a:.5*((a-=2)*a*a+2),easeInQuart:a=>a*a*a*a,easeOutQuart:a=>-((a-=1)*a*a*a-1),easeInOutQuart:a=>(a/=.5)<1?.5*a*a*a*a:-.5*((a-=2)*a*a*a-2),easeInQuint:a=>a*a*a*a*a,easeOutQuint:a=>(a-=1)*a*a*a*a+1,easeInOutQuint:a=>(a/=.5)<1?.5*a*a*a*a*a:.5*((a-=2)*a*a*a*a+2),easeInSine:a=>-Math.cos(a*af)+1,easeOutSine:a=>Math.sin(a*af),easeInOutSine:a=>-.5*(Math.cos(ab*a)-1),easeInExpo:a=>0===a?0:Math.pow(2,10*(a-1)),easeOutExpo:a=>1===a?1:-Math.pow(2,-10*a)+1,easeInOutExpo:a=>aI(a)?a:a<.5?.5*Math.pow(2,10*(2*a-1)):.5*(-Math.pow(2,-10*(2*a-1))+2),easeInCirc:a=>a>=1?a:-(Math.sqrt(1-a*a)-1),easeOutCirc:a=>Math.sqrt(1-(a-=1)*a),easeInOutCirc:a=>(a/=.5)<1?-.5*(Math.sqrt(1-a*a)-1):.5*(Math.sqrt(1-(a-=2)*a)+1),easeInElastic:a=>aI(a)?a:aJ(a,.075,.3),easeOutElastic:a=>aI(a)?a:aK(a,.075,.3),easeInOutElastic:a=>aI(a)?a:a<.5?.5*aJ(2*a,.1125,.45):.5+.5*aK(2*a-1,.1125,.45),easeInBack:a=>a*a*(2.70158*a-1.70158),easeOutBack:a=>(a-=1)*a*(2.70158*a+1.70158)+1,easeInOutBack(a){let b=1.70158;return(a/=.5)<1?.5*(a*a*(((b*=1.525)+1)*a-b)):.5*((a-=2)*a*(((b*=1.525)+1)*a+b)+2)},easeInBounce:a=>1-aL.easeOutBounce(1-a),easeOutBounce:a=>a<.36363636363636365?7.5625*a*a:a<.7272727272727273?7.5625*(a-=.5454545454545454)*a+.75:a<.9090909090909091?7.5625*(a-=.8181818181818182)*a+.9375:7.5625*(a-=.9545454545454546)*a+.984375,easeInOutBounce:a=>a<.5?.5*aL.easeInBounce(2*a):.5*aL.easeOutBounce(2*a-1)+.5};function aM(a){if(a&&"object"==typeof a){let b=a.toString();return"[object CanvasPattern]"===b||"[object CanvasGradient]"===b}return!1}function aN(a){return aM(a)?a:new E(a)}function aO(a){return aM(a)?a:new E(a).saturate(.5).darken(.1).hexString()}let aP=["x","y","borderWidth","radius","tension"],aQ=["color","borderColor","backgroundColor"],aR=new Map;function aS(a,b,c){var d;let e,f;return(e=b+JSON.stringify(d=(d=c)||{}),!(f=aR.get(e))&&(f=new Intl.NumberFormat(b,d),aR.set(e,f)),f).format(a)}let aT={values:a=>I(a)?a:""+a,numeric(a,b,c){let d;if(0===a)return"0";let e=this.chart.options.locale,f=a;if(c.length>1){var g,h;let b,e=Math.max(Math.abs(c[0].value),Math.abs(c[c.length-1].value));(e<1e-4||e>1e15)&&(d="scientific"),g=a,Math.abs(b=(h=c).length>3?h[2].value-h[1].value:h[1].value-h[0].value)>=1&&g!==Math.floor(g)&&(b=g-Math.floor(g)),f=b}let i=ai(Math.abs(f)),j=isNaN(i)?1:Math.max(Math.min(-1*Math.floor(i),20),0),k={notation:d,minimumFractionDigits:j,maximumFractionDigits:j};return Object.assign(k,this.options.ticks.format),aS(a,e,k)},logarithmic(a,b,c){return 0===a?"0":[1,2,3,5,10,15].includes(c[b].significand||a/Math.pow(10,Math.floor(ai(a))))||b>.8*c.length?aT.numeric.call(this,a,b,c):""}},aU=Object.create(null),aV=Object.create(null);function aW(a,b){if(!b)return a;let c=b.split(".");for(let b=0,d=c.length;b<d;++b){let d=c[b];a=a[d]||(a[d]=Object.create(null))}return a}function aX(a,b,c){return"string"==typeof b?U(aW(a,b),c):U(aW(a,""),b)}var aY=new class{constructor(a,b){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=a=>a.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(a,b)=>aO(b.backgroundColor),this.hoverBorderColor=(a,b)=>aO(b.borderColor),this.hoverColor=(a,b)=>aO(b.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(a),this.apply(b)}set(a,b){return aX(this,a,b)}get(a){return aW(this,a)}describe(a,b){return aX(aV,a,b)}override(a,b){return aX(aU,a,b)}route(a,b,c,d){let e=aW(this,a),f=aW(this,c),g="_"+b;Object.defineProperties(e,{[g]:{value:e[b],writable:!0},[b]:{enumerable:!0,get(){let a=this[g],b=f[d];return J(a)?Object.assign({},b,a):M(a,b)},set(a){this[g]=a}}})}apply(a){a.forEach(a=>a(this))}}({_scriptable:a=>!a.startsWith("on"),_indexable:a=>"events"!==a,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[function(a){a.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),a.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:a=>"onProgress"!==a&&"onComplete"!==a&&"fn"!==a}),a.set("animations",{colors:{type:"color",properties:aQ},numbers:{type:"number",properties:aP}}),a.describe("animations",{_fallback:"animation"}),a.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:a=>0|a}}}})},function(a){a.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})},function(a){a.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(a,b)=>b.lineWidth,tickColor:(a,b)=>b.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:aT.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),a.route("scale.ticks","color","","color"),a.route("scale.grid","color","","borderColor"),a.route("scale.border","color","","borderColor"),a.route("scale.title","color","","color"),a.describe("scale",{_fallback:!1,_scriptable:a=>!a.startsWith("before")&&!a.startsWith("after")&&"callback"!==a&&"parser"!==a,_indexable:a=>"borderDash"!==a&&"tickBorderDash"!==a&&"dash"!==a}),a.describe("scales",{_fallback:"scale"}),a.describe("scale.ticks",{_scriptable:a=>"backdropPadding"!==a&&"callback"!==a,_indexable:a=>"backdropPadding"!==a})}]);function aZ(a,b,c,d,e){let f=b[e];return f||(f=b[e]=a.measureText(e).width,c.push(e)),f>d&&(d=f),d}function a$(a,b,c){let d=a.currentDevicePixelRatio,e=0!==c?Math.max(c/2,.5):0;return Math.round((b-e)*d)/d+e}function a_(a,b){(b||a)&&((b=b||a.getContext("2d")).save(),b.resetTransform(),b.clearRect(0,0,a.width,a.height),b.restore())}function a0(a,b,c,d){a1(a,b,c,d,null)}function a1(a,b,c,d,e){let f,g,h,i,j,k,l,m,n=b.pointStyle,o=b.rotation,p=b.radius,q=(o||0)*ae;if(n&&"object"==typeof n&&("[object HTMLImageElement]"===(f=n.toString())||"[object HTMLCanvasElement]"===f)){a.save(),a.translate(c,d),a.rotate(q),a.drawImage(n,-n.width/2,-n.height/2,n.width,n.height),a.restore();return}if(!isNaN(p)&&!(p<=0)){switch(a.beginPath(),n){default:e?a.ellipse(c,d,e/2,p,0,0,ac):a.arc(c,d,p,0,ac),a.closePath();break;case"triangle":k=e?e/2:p,a.moveTo(c+Math.sin(q)*k,d-Math.cos(q)*p),q+=ah,a.lineTo(c+Math.sin(q)*k,d-Math.cos(q)*p),q+=ah,a.lineTo(c+Math.sin(q)*k,d-Math.cos(q)*p),a.closePath();break;case"rectRounded":j=.516*p,g=Math.cos(q+ag)*(i=p-j),l=Math.cos(q+ag)*(e?e/2-j:i),h=Math.sin(q+ag)*i,m=Math.sin(q+ag)*(e?e/2-j:i),a.arc(c-l,d-h,j,q-ab,q-af),a.arc(c+m,d-g,j,q-af,q),a.arc(c+l,d+h,j,q,q+af),a.arc(c-m,d+g,j,q+af,q+ab),a.closePath();break;case"rect":if(!o){i=Math.SQRT1_2*p,k=e?e/2:i,a.rect(c-k,d-i,2*k,2*i);break}q+=ag;case"rectRot":l=Math.cos(q)*(e?e/2:p),g=Math.cos(q)*p,h=Math.sin(q)*p,m=Math.sin(q)*(e?e/2:p),a.moveTo(c-l,d-h),a.lineTo(c+m,d-g),a.lineTo(c+l,d+h),a.lineTo(c-m,d+g),a.closePath();break;case"crossRot":q+=ag;case"cross":l=Math.cos(q)*(e?e/2:p),g=Math.cos(q)*p,h=Math.sin(q)*p,m=Math.sin(q)*(e?e/2:p),a.moveTo(c-l,d-h),a.lineTo(c+l,d+h),a.moveTo(c+m,d-g),a.lineTo(c-m,d+g);break;case"star":l=Math.cos(q)*(e?e/2:p),g=Math.cos(q)*p,h=Math.sin(q)*p,m=Math.sin(q)*(e?e/2:p),a.moveTo(c-l,d-h),a.lineTo(c+l,d+h),a.moveTo(c+m,d-g),a.lineTo(c-m,d+g),q+=ag,l=Math.cos(q)*(e?e/2:p),g=Math.cos(q)*p,h=Math.sin(q)*p,m=Math.sin(q)*(e?e/2:p),a.moveTo(c-l,d-h),a.lineTo(c+l,d+h),a.moveTo(c+m,d-g),a.lineTo(c-m,d+g);break;case"line":g=e?e/2:Math.cos(q)*p,h=Math.sin(q)*p,a.moveTo(c-g,d-h),a.lineTo(c+g,d+h);break;case"dash":a.moveTo(c,d),a.lineTo(c+Math.cos(q)*(e?e/2:p),d+Math.sin(q)*p);break;case!1:a.closePath()}a.fill(),b.borderWidth>0&&a.stroke()}}function a2(a,b,c){return c=c||.5,!b||a&&a.x>b.left-c&&a.x<b.right+c&&a.y>b.top-c&&a.y<b.bottom+c}function a3(a,b){a.save(),a.beginPath(),a.rect(b.left,b.top,b.right-b.left,b.bottom-b.top),a.clip()}function a4(a){a.restore()}function a5(a,b,c,d,e){if(!b)return a.lineTo(c.x,c.y);if("middle"===e){let d=(b.x+c.x)/2;a.lineTo(d,b.y),a.lineTo(d,c.y)}else"after"===e!=!!d?a.lineTo(b.x,c.y):a.lineTo(c.x,b.y);a.lineTo(c.x,c.y)}function a6(a,b,c,d){if(!b)return a.lineTo(c.x,c.y);a.bezierCurveTo(d?b.cp1x:b.cp2x,d?b.cp1y:b.cp2y,d?c.cp2x:c.cp1x,d?c.cp2y:c.cp1y,c.x,c.y)}function a7(a,b,c,d,e,f={}){let g,h,i=I(b)?b:[b],j=f.strokeWidth>0&&""!==f.strokeColor;for(a.save(),a.font=e.string,f.translation&&a.translate(f.translation[0],f.translation[1]),H(f.rotation)||a.rotate(f.rotation),f.color&&(a.fillStyle=f.color),f.textAlign&&(a.textAlign=f.textAlign),f.textBaseline&&(a.textBaseline=f.textBaseline),g=0;g<i.length;++g)h=i[g],f.backdrop&&function(a,b){let c=a.fillStyle;a.fillStyle=b.color,a.fillRect(b.left,b.top,b.width,b.height),a.fillStyle=c}(a,f.backdrop),j&&(f.strokeColor&&(a.strokeStyle=f.strokeColor),H(f.strokeWidth)||(a.lineWidth=f.strokeWidth),a.strokeText(h,c,d,f.maxWidth)),a.fillText(h,c,d,f.maxWidth),function(a,b,c,d,e){if(e.strikethrough||e.underline){let f=a.measureText(d),g=b-f.actualBoundingBoxLeft,h=b+f.actualBoundingBoxRight,i=c-f.actualBoundingBoxAscent,j=c+f.actualBoundingBoxDescent,k=e.strikethrough?(i+j)/2:j;a.strokeStyle=a.fillStyle,a.beginPath(),a.lineWidth=e.decorationWidth||2,a.moveTo(g,k),a.lineTo(h,k),a.stroke()}}(a,c,d,h,f),d+=Number(e.lineHeight);a.restore()}function a8(a,b){let{x:c,y:d,w:e,h:f,radius:g}=b;a.arc(c+g.topLeft,d+g.topLeft,g.topLeft,1.5*ab,ab,!0),a.lineTo(c,d+f-g.bottomLeft),a.arc(c+g.bottomLeft,d+f-g.bottomLeft,g.bottomLeft,ab,af,!0),a.lineTo(c+e-g.bottomRight,d+f),a.arc(c+e-g.bottomRight,d+f-g.bottomRight,g.bottomRight,af,0,!0),a.lineTo(c+e,d+g.topRight),a.arc(c+e-g.topRight,d+g.topRight,g.topRight,0,-af,!0),a.lineTo(c+g.topLeft,d)}let a9=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,ba=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/,bb=a=>+a||0;function bc(a,b){let c={},d=J(b),e=d?Object.keys(b):b,f=J(a)?d?c=>M(a[c],a[b[c]]):b=>a[b]:()=>a;for(let a of e)c[a]=bb(f(a));return c}function bd(a){return bc(a,{top:"y",right:"x",bottom:"y",left:"x"})}function be(a){return bc(a,["topLeft","topRight","bottomLeft","bottomRight"])}function bf(a){let b=bd(a);return b.width=b.left+b.right,b.height=b.top+b.bottom,b}function bg(a,b){a=a||{},b=b||aY.font;let c=M(a.size,b.size);"string"==typeof c&&(c=parseInt(c,10));let d=M(a.style,b.style);d&&!(""+d).match(ba)&&(console.warn('Invalid font style specified: "'+d+'"'),d=void 0);let e={family:M(a.family,b.family),lineHeight:function(a,b){let c=(""+a).match(a9);if(!c||"normal"===c[1])return 1.2*b;switch(a=+c[2],c[3]){case"px":return a;case"%":a/=100}return b*a}(M(a.lineHeight,b.lineHeight),c),size:c,style:d,weight:M(a.weight,b.weight),string:""};return e.string=!e||H(e.size)||H(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family,e}function bh(a,b,c,d){let e,f,g,h=!0;for(e=0,f=a.length;e<f;++e)if(void 0!==(g=a[e])&&(void 0!==b&&"function"==typeof g&&(g=g(b),h=!1),void 0!==c&&I(g)&&(g=g[c%g.length],h=!1),void 0!==g))return d&&!h&&(d.cacheable=!1),g}function bi(a,b){return Object.assign(Object.create(a),b)}function bj(a,b=[""],c,d,e=()=>a[0]){let f=c||a;return void 0===d&&(d=bs("_fallback",a)),new Proxy({[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:a,_rootScopes:f,_fallback:d,_getTarget:e,override:c=>bj([c,...a],b,f,d)},{deleteProperty:(b,c)=>(delete b[c],delete b._keys,delete a[0][c],!0),get:(c,d)=>bo(c,d,()=>(function(a,b,c,d){let e;for(let f of b)if(void 0!==(e=bs(bm(f,a),c)))return bn(a,e)?bq(c,d,a,e):e})(d,b,a,c)),getOwnPropertyDescriptor:(a,b)=>Reflect.getOwnPropertyDescriptor(a._scopes[0],b),getPrototypeOf:()=>Reflect.getPrototypeOf(a[0]),has:(a,b)=>bt(a).includes(b),ownKeys:a=>bt(a),set(a,b,c){let d=a._storage||(a._storage=e());return a[b]=d[b]=c,delete a._keys,!0}})}function bk(a,b,c,d){return new Proxy({_cacheable:!1,_proxy:a,_context:b,_subProxy:c,_stack:new Set,_descriptors:bl(a,d),setContext:b=>bk(a,b,c,d),override:e=>bk(a.override(e),b,c,d)},{deleteProperty:(b,c)=>(delete b[c],delete a[c],!0),get:(a,b,c)=>bo(a,b,()=>(function(a,b,c){let{_proxy:d,_context:e,_subProxy:f,_descriptors:g}=a,h=d[b];return _(h)&&g.isScriptable(b)&&(h=function(a,b,c,d){let{_proxy:e,_context:f,_subProxy:g,_stack:h}=c;if(h.has(a))throw Error("Recursion detected: "+Array.from(h).join("->")+"->"+a);h.add(a);let i=b(f,g||d);return h.delete(a),bn(a,i)&&(i=bq(e._scopes,e,a,i)),i}(b,h,a,c)),I(h)&&h.length&&(h=function(a,b,c,d){let{_proxy:e,_context:f,_subProxy:g,_descriptors:h}=c;if(void 0!==f.index&&d(a))return b[f.index%b.length];if(J(b[0])){let c=b,d=e._scopes.filter(a=>a!==c);for(let i of(b=[],c)){let c=bq(d,e,a,i);b.push(bk(c,f,g&&g[a],h))}}return b}(b,h,a,g.isIndexable)),bn(b,h)&&(h=bk(h,e,f&&f[b],g)),h})(a,b,c)),getOwnPropertyDescriptor:(b,c)=>b._descriptors.allKeys?Reflect.has(a,c)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(a,c),getPrototypeOf:()=>Reflect.getPrototypeOf(a),has:(b,c)=>Reflect.has(a,c),ownKeys:()=>Reflect.ownKeys(a),set:(b,c,d)=>(a[c]=d,delete b[c],!0)})}function bl(a,b={scriptable:!0,indexable:!0}){let{_scriptable:c=b.scriptable,_indexable:d=b.indexable,_allKeys:e=b.allKeys}=a;return{allKeys:e,scriptable:c,indexable:d,isScriptable:_(c)?c:()=>c,isIndexable:_(d)?d:()=>d}}let bm=(a,b)=>a?a+Z(b):b,bn=(a,b)=>J(b)&&"adapters"!==a&&(null===Object.getPrototypeOf(b)||b.constructor===Object);function bo(a,b,c){if(Object.prototype.hasOwnProperty.call(a,b)||"constructor"===b)return a[b];let d=c();return a[b]=d,d}let bp=(a,b)=>!0===a?b:"string"==typeof a?Y(b,a):void 0;function bq(a,b,c,d){var e;let f=b._rootScopes,g=(e=b._fallback,_(e)?e(c,d):e),h=[...a,...f],i=new Set;i.add(d);let j=br(i,h,c,g||c,d);return null!==j&&(void 0===g||g===c||null!==(j=br(i,h,g,j,d)))&&bj(Array.from(i),[""],f,g,()=>{var a,e,f;let g,h;return a=b,e=c,f=d,e in(g=a._getTarget())||(g[e]={}),I(h=g[e])&&J(f)?f:h||{}})}function br(a,b,c,d,e){for(;c;)c=function(a,b,c,d,e){for(let g of b){let b=bp(c,g);if(b){var f;a.add(b);let g=(f=b._fallback,_(f)?f(c,e):f);if(void 0!==g&&g!==c&&g!==d)return g}else if(!1===b&&void 0!==d&&c!==d)return null}return!1}(a,b,c,d,e);return c}function bs(a,b){for(let c of b){if(!c)continue;let b=c[a];if(void 0!==b)return b}}function bt(a){let b=a._keys;return b||(b=a._keys=function(a){let b=new Set;for(let c of a)for(let a of Object.keys(c).filter(a=>!a.startsWith("_")))b.add(a);return Array.from(b)}(a._scopes)),b}function bu(a,b,c,d){let e,f,g,{iScale:h}=a,{key:i="r"}=this._parsing,j=Array(d);for(e=0;e<d;++e)g=b[f=e+c],j[e]={r:h.parse(Y(g,i),f)};return j}let bv=Number.EPSILON||1e-14,bw=(a,b)=>b<a.length&&!a[b].skip&&a[b],bx=a=>"x"===a?"y":"x";function by(a,b,c){return Math.max(Math.min(a,c),b)}let bz=a=>a.ownerDocument.defaultView.getComputedStyle(a,null),bA=["top","right","bottom","left"];function bB(a,b,c){let d={};c=c?"-"+c:"";for(let e=0;e<4;e++){let f=bA[e];d[f]=parseFloat(a[b+"-"+f+c])||0}return d.width=d.left+d.right,d.height=d.top+d.bottom,d}function bC(a,b){if("native"in a)return a;let{canvas:c,currentDevicePixelRatio:d}=b,e=bz(c),f="border-box"===e.boxSizing,g=bB(e,"padding"),h=bB(e,"border","width"),{x:i,y:j,box:k}=function(a,b){let c,d,e,f=a.touches,g=f&&f.length?f[0]:a,{offsetX:h,offsetY:i}=g,j=!1;if(e=a.target,(h>0||i>0)&&(!e||!e.shadowRoot))c=h,d=i;else{let a=b.getBoundingClientRect();c=g.clientX-a.left,d=g.clientY-a.top,j=!0}return{x:c,y:d,box:j}}(a,c),l=g.left+(k&&h.left),m=g.top+(k&&h.top),{width:n,height:o}=b;return f&&(n-=g.width+h.width,o-=g.height+h.height),{x:Math.round((i-l)/n*c.width/d),y:Math.round((j-m)/o*c.height/d)}}let bD=a=>Math.round(10*a)/10;function bE(a,b,c){let d=b||1,e=bD(a.height*d),f=bD(a.width*d);a.height=bD(a.height),a.width=bD(a.width);let g=a.canvas;return g.style&&(c||!g.style.height&&!g.style.width)&&(g.style.height=`${a.height}px`,g.style.width=`${a.width}px`),(a.currentDevicePixelRatio!==d||g.height!==e||g.width!==f)&&(a.currentDevicePixelRatio=d,g.height=e,g.width=f,a.ctx.setTransform(d,0,0,d,0,0),!0)}function bF(a,b,c,d){return{x:a.x+c*(b.x-a.x),y:a.y+c*(b.y-a.y)}}function bG(a,b,c,d){return{x:a.x+c*(b.x-a.x),y:"middle"===d?c<.5?a.y:b.y:"after"===d?c<1?a.y:b.y:c>0?b.y:a.y}}function bH(a,b,c,d){let e={x:a.cp2x,y:a.cp2y},f={x:b.cp1x,y:b.cp1y},g=bF(a,e,c),h=bF(e,f,c),i=bF(f,b,c),j=bF(g,h,c),k=bF(h,i,c);return bF(j,k,c)}function bI(a,b,c){var d;return a?(d=c,{x:a=>b+b+d-a,setWidth(a){d=a},textAlign:a=>"center"===a?a:"right"===a?"left":"right",xPlus:(a,b)=>a-b,leftForLtr:(a,b)=>a-b}):{x:a=>a,setWidth(a){},textAlign:a=>a,xPlus:(a,b)=>a+b,leftForLtr:(a,b)=>a}}function bJ(a,b){let c,d;("ltr"===b||"rtl"===b)&&(d=[(c=a.canvas.style).getPropertyValue("direction"),c.getPropertyPriority("direction")],c.setProperty("direction",b,"important"),a.prevTextDirection=d)}function bK(a,b){void 0!==b&&(delete a.prevTextDirection,a.canvas.style.setProperty("direction",b[0],b[1]))}function bL(a){return"angle"===a?{between:au,compare:as,normalize:at}:{between:aw,compare:(a,b)=>a-b,normalize:a=>a}}function bM({start:a,end:b,count:c,loop:d,style:e}){return{start:a%c,end:b%c,loop:d&&(b-a+1)%c==0,style:e}}function bN(a,b,c){let d,e,f;if(!c)return[a];let{property:g,start:h,end:i}=c,j=b.length,{compare:k,between:l,normalize:m}=bL(g),{start:n,end:o,loop:p,style:q}=function(a,b,c){let d,{property:e,start:f,end:g}=c,{between:h,normalize:i}=bL(e),j=b.length,{start:k,end:l,loop:m}=a;if(m){for(k+=j,l+=j,d=0;d<j&&h(i(b[k%j][e]),f,g);++d)k--,l--;k%=j,l%=j}return l<k&&(l+=j),{start:k,end:l,loop:m,style:a.style}}(a,b,c),r=[],s=!1,t=null,u=()=>s||l(h,f,d)&&0!==k(h,f),v=()=>!s||0===k(i,d)||l(i,f,d);for(let a=n,c=n;a<=o;++a)(e=b[a%j]).skip||(d=m(e[g]))!==f&&(s=l(d,h,i),null===t&&u()&&(t=0===k(d,h)?a:c),null!==t&&v()&&(r.push(bM({start:t,end:a,loop:p,count:j,style:q})),t=null),c=a,f=d);return null!==t&&r.push(bM({start:t,end:o,loop:p,count:j,style:q})),r}function bO(a,b){let c=[],d=a.segments;for(let e=0;e<d.length;e++){let f=bN(d[e],a.points,b);f.length&&c.push(...f)}return c}function bP(a,b,c,d){return d&&d.setContext&&c?function(a,b,c,d){let e=a._chart.getContext(),f=bQ(a.options),{_datasetIndex:g,options:{spanGaps:h}}=a,i=c.length,j=[],k=f,l=b[0].start,m=l;function n(a,b,d,e){let f=h?-1:1;if(a!==b){for(a+=i;c[a%i].skip;)a-=f;for(;c[b%i].skip;)b+=f;a%i!=b%i&&(j.push({start:a%i,end:b%i,loop:d,style:e}),k=e,l=b%i)}}for(let a of b){let b,f=c[(l=h?l:a.start)%i];for(m=l+1;m<=a.end;m++){let h=c[m%i];(function(a,b){if(!b)return!1;let c=[],d=function(a,b){return aM(b)?(c.includes(b)||c.push(b),c.indexOf(b)):b};return JSON.stringify(a,d)!==JSON.stringify(b,d)})(b=bQ(d.setContext(bi(e,{type:"segment",p0:f,p1:h,p0DataIndex:(m-1)%i,p1DataIndex:m%i,datasetIndex:g}))),k)&&n(l,m-1,a.loop,k),f=h,k=b}l<m-1&&n(l,m-1,a.loop,k)}return j}(a,b,c,d):b}function bQ(a){return{backgroundColor:a.backgroundColor,borderCapStyle:a.borderCapStyle,borderDash:a.borderDash,borderDashOffset:a.borderDashOffset,borderJoinStyle:a.borderJoinStyle,borderWidth:a.borderWidth,borderColor:a.borderColor}}function bR(a,b,c){return a.options.clip?a[c]:b[c]}function bS(a,b){let c=b._clip;if(c.disabled)return!1;let d=function(a,b){let{xScale:c,yScale:d}=a;return c&&d?{left:bR(c,b,"left"),right:bR(c,b,"right"),top:bR(d,b,"top"),bottom:bR(d,b,"bottom")}:b}(b,a.chartArea);return{left:!1===c.left?0:d.left-(!0===c.left?0:c.left),right:!1===c.right?a.width:d.right+(!0===c.right?0:c.right),top:!1===c.top?0:d.top-(!0===c.top?0:c.top),bottom:!1===c.bottom?a.height:d.bottom+(!0===c.bottom?0:c.bottom)}}var bT=new class{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(a,b,c,d){let e=b.listeners[d],f=b.duration;e.forEach(d=>d({chart:a,initial:b.initial,numSteps:f,currentStep:Math.min(c-b.start,f)}))}_refresh(){this._request||(this._running=!0,this._request=aD.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(a=Date.now()){let b=0;this._charts.forEach((c,d)=>{let e;if(!c.running||!c.items.length)return;let f=c.items,g=f.length-1,h=!1;for(;g>=0;--g)(e=f[g])._active?(e._total>c.duration&&(c.duration=e._total),e.tick(a),h=!0):(f[g]=f[f.length-1],f.pop());h&&(d.draw(),this._notify(d,c,a,"progress")),f.length||(c.running=!1,this._notify(d,c,a,"complete"),c.initial=!1),b+=f.length}),this._lastDate=a,0===b&&(this._running=!1)}_getAnims(a){let b=this._charts,c=b.get(a);return c||(c={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},b.set(a,c)),c}listen(a,b,c){this._getAnims(a).listeners[b].push(c)}add(a,b){b&&b.length&&this._getAnims(a).items.push(...b)}has(a){return this._getAnims(a).items.length>0}start(a){let b=this._charts.get(a);b&&(b.running=!0,b.start=Date.now(),b.duration=b.items.reduce((a,b)=>Math.max(a,b._duration),0),this._refresh())}running(a){if(!this._running)return!1;let b=this._charts.get(a);return!!b&&!!b.running&&!!b.items.length}stop(a){let b=this._charts.get(a);if(!b||!b.items.length)return;let c=b.items,d=c.length-1;for(;d>=0;--d)c[d].cancel();b.items=[],this._notify(a,b,Date.now(),"complete")}remove(a){return this._charts.delete(a)}};let bU="transparent",bV={boolean:(a,b,c)=>c>.5?b:a,color(a,b,c){let d=aN(a||bU),e=d.valid&&aN(b||bU);return e&&e.valid?e.mix(d,c).hexString():b},number:(a,b,c)=>a+(b-a)*c};class bW{constructor(a,b,c,d){const e=b[c];d=bh([a.to,d,e,a.from]);const f=bh([a.from,e,d]);this._active=!0,this._fn=a.fn||bV[a.type||typeof f],this._easing=aL[a.easing]||aL.linear,this._start=Math.floor(Date.now()+(a.delay||0)),this._duration=this._total=Math.floor(a.duration),this._loop=!!a.loop,this._target=b,this._prop=c,this._from=f,this._to=d,this._promises=void 0}active(){return this._active}update(a,b,c){if(this._active){this._notify(!1);let d=this._target[this._prop],e=c-this._start,f=this._duration-e;this._start=c,this._duration=Math.floor(Math.max(f,a.duration)),this._total+=e,this._loop=!!a.loop,this._to=bh([a.to,b,d,a.from]),this._from=bh([a.from,d,b])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(a){let b,c=a-this._start,d=this._duration,e=this._prop,f=this._from,g=this._loop,h=this._to;if(this._active=f!==h&&(g||c<d),!this._active){this._target[e]=h,this._notify(!0);return}if(c<0){this._target[e]=f;return}b=c/d%2,b=g&&b>1?2-b:b,b=this._easing(Math.min(1,Math.max(0,b))),this._target[e]=this._fn(f,h,b)}wait(){let a=this._promises||(this._promises=[]);return new Promise((b,c)=>{a.push({res:b,rej:c})})}_notify(a){let b=a?"res":"rej",c=this._promises||[];for(let a=0;a<c.length;a++)c[a][b]()}}class bX{constructor(a,b){this._chart=a,this._properties=new Map,this.configure(b)}configure(a){if(!J(a))return;let b=Object.keys(aY.animation),c=this._properties;Object.getOwnPropertyNames(a).forEach(d=>{let e=a[d];if(!J(e))return;let f={};for(let a of b)f[a]=e[a];(I(e.properties)&&e.properties||[d]).forEach(a=>{a!==d&&c.has(a)||c.set(a,f)})})}_animateOptions(a,b){let c=b.options,d=function(a,b){if(!b)return;let c=a.options;if(!c){a.options=b;return}return c.$shared&&(a.options=c=Object.assign({},c,{$shared:!1,$animations:{}})),c}(a,c);if(!d)return[];let e=this._createAnimations(d,c);return c.$shared&&(function(a,b){let c=[],d=Object.keys(b);for(let b=0;b<d.length;b++){let e=a[d[b]];e&&e.active()&&c.push(e.wait())}return Promise.all(c)})(a.options.$animations,c).then(()=>{a.options=c},()=>{}),e}_createAnimations(a,b){let c,d=this._properties,e=[],f=a.$animations||(a.$animations={}),g=Object.keys(b),h=Date.now();for(c=g.length-1;c>=0;--c){let i=g[c];if("$"===i.charAt(0))continue;if("options"===i){e.push(...this._animateOptions(a,b));continue}let j=b[i],k=f[i],l=d.get(i);if(k)if(l&&k.active()){k.update(l,j,h);continue}else k.cancel();if(!l||!l.duration){a[i]=j;continue}f[i]=k=new bW(l,a,i,j),e.push(k)}return e}update(a,b){if(0===this._properties.size)return void Object.assign(a,b);let c=this._createAnimations(a,b);if(c.length)return bT.add(this._chart,c),!0}}function bY(a,b){let c=a&&a.options||{},d=c.reverse,e=void 0===c.min?b:0,f=void 0===c.max?b:0;return{start:d?f:e,end:d?e:f}}function bZ(a,b){let c,d,e=[],f=a._getSortedDatasetMetas(b);for(c=0,d=f.length;c<d;++c)e.push(f[c].index);return e}function b$(a,b,c,d={}){let e,f,g,h,i=a.keys,j="single"===d.mode;if(null===b)return;let k=!1;for(e=0,f=i.length;e<f;++e){if((g=+i[e])===c){if(k=!0,d.all)continue;break}K(h=a.values[g])&&(j||0===b||aj(b)===aj(h))&&(b+=h)}return k||d.all?b:0}function b_(a,b){let c=a&&a.options.stacked;return c||void 0===c&&void 0!==b.stack}function b0(a,b,c,d){for(let e of b.getMatchingVisibleMetas(d).reverse()){let b=a[e.index];if(c&&b>0||!c&&b<0)return e.index}return null}function b1(a,b){let c,{chart:d,_cachedMeta:e}=a,f=d._stacks||(d._stacks={}),{iScale:g,vScale:h,index:i}=e,j=g.axis,k=h.axis,l=`${g.id}.${h.id}.${e.stack||e.type}`,m=b.length;for(let a=0;a<m;++a){let d=b[a],{[j]:g,[k]:m}=d;(c=(d._stacks||(d._stacks={}))[k]=function(a,b,c){let d=a[b]||(a[b]={});return d[c]||(d[c]={})}(f,l,g))[i]=m,c._top=b0(c,h,!0,e.type),c._bottom=b0(c,h,!1,e.type),(c._visualValues||(c._visualValues={}))[i]=m}}function b2(a,b){let c=a.scales;return Object.keys(c).filter(a=>c[a].axis===b).shift()}function b3(a,b){let c=a.controller.index,d=a.vScale&&a.vScale.axis;if(d)for(let e of b=b||a._parsed){let a=e._stacks;if(!a||void 0===a[d]||void 0===a[d][c])return;delete a[d][c],void 0!==a[d]._visualValues&&void 0!==a[d]._visualValues[c]&&delete a[d]._visualValues[c]}}let b4=a=>"reset"===a||"none"===a,b5=(a,b)=>b?a:Object.assign({},a);class b6{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(a,b){this.chart=a,this._ctx=a.ctx,this.index=b,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(){let a=this._cachedMeta;this.configure(),this.linkScales(),a._stacked=b_(a.vScale,a),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(a){this.index!==a&&b3(this._cachedMeta),this.index=a}linkScales(){let a=this.chart,b=this._cachedMeta,c=this.getDataset(),d=(a,b,c,d)=>"x"===a?b:"r"===a?d:c,e=b.xAxisID=M(c.xAxisID,b2(a,"x")),f=b.yAxisID=M(c.yAxisID,b2(a,"y")),g=b.rAxisID=M(c.rAxisID,b2(a,"r")),h=b.indexAxis,i=b.iAxisID=d(h,e,f,g),j=b.vAxisID=d(h,f,e,g);b.xScale=this.getScaleForId(e),b.yScale=this.getScaleForId(f),b.rScale=this.getScaleForId(g),b.iScale=this.getScaleForId(i),b.vScale=this.getScaleForId(j)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(a){return this.chart.scales[a]}_getOtherScale(a){let b=this._cachedMeta;return a===b.iScale?b.vScale:b.iScale}reset(){this._update("reset")}_destroy(){let a=this._cachedMeta;this._data&&aB(this._data,this),a._stacked&&b3(a)}_dataCheck(){let a=this.getDataset(),b=a.data||(a.data=[]),c=this._data;if(J(b)){let a=this._cachedMeta;this._data=function(a,b){let c,d,e,{iScale:f,vScale:g}=b,h="x"===f.axis?"x":"y",i="x"===g.axis?"x":"y",j=Object.keys(a),k=Array(j.length);for(c=0,d=j.length;c<d;++c)e=j[c],k[c]={[h]:e,[i]:a[e]};return k}(b,a)}else if(c!==b){if(c){aB(c,this);let a=this._cachedMeta;b3(a),a._parsed=[]}b&&Object.isExtensible(b)&&(b._chartjs?b._chartjs.listeners.push(this):(Object.defineProperty(b,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[this]}}),aA.forEach(a=>{let c="_onData"+Z(a),d=b[a];Object.defineProperty(b,a,{configurable:!0,enumerable:!1,value(...a){let e=d.apply(this,a);return b._chartjs.listeners.forEach(b=>{"function"==typeof b[c]&&b[c](...a)}),e}})}))),this._syncList=[],this._data=b}}addElements(){let a=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(a.dataset=new this.datasetElementType)}buildOrUpdateElements(a){let b=this._cachedMeta,c=this.getDataset(),d=!1;this._dataCheck();let e=b._stacked;b._stacked=b_(b.vScale,b),b.stack!==c.stack&&(d=!0,b3(b),b.stack=c.stack),this._resyncElements(a),(d||e!==b._stacked)&&(b1(this,b._parsed),b._stacked=b_(b.vScale,b))}configure(){let a=this.chart.config,b=a.datasetScopeKeys(this._type),c=a.getOptionScopes(this.getDataset(),b,!0);this.options=a.createResolver(c,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(a,b){let c,d,e,{_cachedMeta:f,_data:g}=this,{iScale:h,_stacked:i}=f,j=h.axis,k=0===a&&b===g.length||f._sorted,l=a>0&&f._parsed[a-1];if(!1===this._parsing)f._parsed=g,f._sorted=!0,e=g;else{e=I(g[a])?this.parseArrayData(f,g,a,b):J(g[a])?this.parseObjectData(f,g,a,b):this.parsePrimitiveData(f,g,a,b);let h=()=>null===d[j]||l&&d[j]<l[j];for(c=0;c<b;++c)f._parsed[c+a]=d=e[c],k&&(h()&&(k=!1),l=d);f._sorted=k}i&&b1(this,e)}parsePrimitiveData(a,b,c,d){let e,f,{iScale:g,vScale:h}=a,i=g.axis,j=h.axis,k=g.getLabels(),l=g===h,m=Array(d);for(e=0;e<d;++e)f=e+c,m[e]={[i]:l||g.parse(k[f],f),[j]:h.parse(b[f],f)};return m}parseArrayData(a,b,c,d){let e,f,g,{xScale:h,yScale:i}=a,j=Array(d);for(e=0;e<d;++e)g=b[f=e+c],j[e]={x:h.parse(g[0],f),y:i.parse(g[1],f)};return j}parseObjectData(a,b,c,d){let e,f,g,{xScale:h,yScale:i}=a,{xAxisKey:j="x",yAxisKey:k="y"}=this._parsing,l=Array(d);for(e=0;e<d;++e)g=b[f=e+c],l[e]={x:h.parse(Y(g,j),f),y:i.parse(Y(g,k),f)};return l}getParsed(a){return this._cachedMeta._parsed[a]}getDataElement(a){return this._cachedMeta.data[a]}applyStack(a,b,c){let d=this.chart,e=this._cachedMeta,f=b[a.axis];return b$({keys:bZ(d,!0),values:b._stacks[a.axis]._visualValues},f,e.index,{mode:c})}updateRangeFromParsed(a,b,c,d){let e=c[b.axis],f=null===e?NaN:e,g=d&&c._stacks[b.axis];d&&g&&(d.values=g,f=b$(d,e,this._cachedMeta.index)),a.min=Math.min(a.min,f),a.max=Math.max(a.max,f)}getMinMax(a,b){let c,d,e,f=this._cachedMeta,g=f._parsed,h=f._sorted&&a===f.iScale,i=g.length,j=this._getOtherScale(a),k=(e=this.chart,b&&!f.hidden&&f._stacked&&{keys:bZ(e,!0),values:null}),l={min:1/0,max:-1/0},{min:m,max:n}=function(a){let{min:b,max:c,minDefined:d,maxDefined:e}=a.getUserBounds();return{min:d?b:-1/0,max:e?c:1/0}}(j);function o(){let b=(d=g[c])[j.axis];return!K(d[a.axis])||m>b||n<b}for(c=0;c<i&&(o()||(this.updateRangeFromParsed(l,a,d,k),!h));++c);if(h){for(c=i-1;c>=0;--c)if(!o()){this.updateRangeFromParsed(l,a,d,k);break}}return l}getAllParsedValues(a){let b,c,d,e=this._cachedMeta._parsed,f=[];for(b=0,c=e.length;b<c;++b)K(d=e[b][a.axis])&&f.push(d);return f}getMaxOverflow(){return!1}getLabelAndValue(a){let b=this._cachedMeta,c=b.iScale,d=b.vScale,e=this.getParsed(a);return{label:c?""+c.getLabelForValue(e[c.axis]):"",value:d?""+d.getLabelForValue(e[d.axis]):""}}_update(a){var b;let c,d,e,f,g=this._cachedMeta;this.update(a||"default"),J(b=M(this.options.clip,function(a,b,c){if(!1===c)return!1;let d=bY(a,c),e=bY(b,c);return{top:e.end,right:d.end,bottom:e.start,left:d.start}}(g.xScale,g.yScale,this.getMaxOverflow())))?(c=b.top,d=b.right,e=b.bottom,f=b.left):c=d=e=f=b,g._clip={top:c,right:d,bottom:e,left:f,disabled:!1===b}}update(a){}draw(){let a,b=this._ctx,c=this.chart,d=this._cachedMeta,e=d.data||[],f=c.chartArea,g=[],h=this._drawStart||0,i=this._drawCount||e.length-h,j=this.options.drawActiveElementsOnTop;for(d.dataset&&d.dataset.draw(b,f,h,i),a=h;a<h+i;++a){let c=e[a];c.hidden||(c.active&&j?g.push(c):c.draw(b,f))}for(a=0;a<g.length;++a)g[a].draw(b,f)}getStyle(a,b){let c=b?"active":"default";return void 0===a&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(c):this.resolveDataElementOptions(a||0,c)}getContext(a,b,c){var d,e;let f,g=this.getDataset();if(a>=0&&a<this._cachedMeta.data.length){let b=this._cachedMeta.data[a];(f=b.$context||(d=this.getContext(),b.$context=bi(d,{active:!1,dataIndex:a,parsed:void 0,raw:void 0,element:b,index:a,mode:"default",type:"data"}))).parsed=this.getParsed(a),f.raw=g.data[a],f.index=f.dataIndex=a}else(f=this.$context||(this.$context=bi(this.chart.getContext(),{active:!1,dataset:void 0,datasetIndex:e=this.index,index:e,mode:"default",type:"dataset"}))).dataset=g,f.index=f.datasetIndex=this.index;return f.active=!!b,f.mode=c,f}resolveDatasetElementOptions(a){return this._resolveElementOptions(this.datasetElementType.id,a)}resolveDataElementOptions(a,b){return this._resolveElementOptions(this.dataElementType.id,b,a)}_resolveElementOptions(a,b="default",c){let d="active"===b,e=this._cachedDataOpts,f=a+"-"+b,g=e[f],h=this.enableOptionSharing&&$(c);if(g)return b5(g,h);let i=this.chart.config,j=i.datasetElementScopeKeys(this._type,a),k=d?[`${a}Hover`,"hover",a,""]:[a,""],l=i.getOptionScopes(this.getDataset(),j),m=Object.keys(aY.elements[a]),n=()=>this.getContext(c,d,b),o=i.resolveNamedOptions(l,m,n,k);return o.$shared&&(o.$shared=h,e[f]=Object.freeze(b5(o,h))),o}_resolveAnimations(a,b,c){let d,e=this.chart,f=this._cachedDataOpts,g=`animation-${b}`,h=f[g];if(h)return h;if(!1!==e.options.animation){let e=this.chart.config,f=e.datasetAnimationScopeKeys(this._type,b),g=e.getOptionScopes(this.getDataset(),f);d=e.createResolver(g,this.getContext(a,c,b))}let i=new bX(e,d&&d.animations);return d&&d._cacheable&&(f[g]=Object.freeze(i)),i}getSharedOptions(a){if(a.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},a))}includeOptions(a,b){return!b||b4(a)||this.chart._animationsDisabled}_getSharedOptions(a,b){let c=this.resolveDataElementOptions(a,b),d=this._sharedOptions,e=this.getSharedOptions(c),f=this.includeOptions(b,e)||e!==d;return this.updateSharedOptions(e,b,c),{sharedOptions:e,includeOptions:f}}updateElement(a,b,c,d){b4(d)?Object.assign(a,c):this._resolveAnimations(b,d).update(a,c)}updateSharedOptions(a,b,c){a&&!b4(b)&&this._resolveAnimations(void 0,b).update(a,c)}_setStyle(a,b,c,d){a.active=d;let e=this.getStyle(b,d);this._resolveAnimations(b,c,d).update(a,{options:!d&&this.getSharedOptions(e)||e})}removeHoverStyle(a,b,c){this._setStyle(a,c,"active",!1)}setHoverStyle(a,b,c){this._setStyle(a,c,"active",!0)}_removeDatasetHoverStyle(){let a=this._cachedMeta.dataset;a&&this._setStyle(a,void 0,"active",!1)}_setDatasetHoverStyle(){let a=this._cachedMeta.dataset;a&&this._setStyle(a,void 0,"active",!0)}_resyncElements(a){let b=this._data,c=this._cachedMeta.data;for(let[a,b,c]of this._syncList)this[a](b,c);this._syncList=[];let d=c.length,e=b.length,f=Math.min(e,d);f&&this.parse(0,f),e>d?this._insertElements(d,e-d,a):e<d&&this._removeElements(e,d-e)}_insertElements(a,b,c=!0){let d,e=this._cachedMeta,f=e.data,g=a+b,h=a=>{for(a.length+=b,d=a.length-1;d>=g;d--)a[d]=a[d-b]};for(h(f),d=a;d<g;++d)f[d]=new this.dataElementType;this._parsing&&h(e._parsed),this.parse(a,b),c&&this.updateElements(f,a,b,"reset")}updateElements(a,b,c,d){}_removeElements(a,b){let c=this._cachedMeta;if(this._parsing){let d=c._parsed.splice(a,b);c._stacked&&b3(c,d)}c.data.splice(a,b)}_sync(a){if(this._parsing)this._syncList.push(a);else{let[b,c,d]=a;this[b](c,d)}this.chart._dataChanges.push([this.index,...a])}_onDataPush(){let a=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-a,a])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(a,b){b&&this._sync(["_removeElements",a,b]);let c=arguments.length-2;c&&this._sync(["_insertElements",a,c])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}function b7(a,b,c,d){if(I(a)){let e,f,g,h,i,j;e=c.parse(a[0],d),g=Math.min(e,f=c.parse(a[1],d)),h=Math.max(e,f),i=g,j=h,Math.abs(g)>Math.abs(h)&&(i=h,j=g),b[c.axis]=j,b._custom={barStart:i,barEnd:j,start:e,end:f,min:g,max:h}}else b[c.axis]=c.parse(a,d);return b}function b8(a,b,c,d){let e,f,g,h,i=a.iScale,j=a.vScale,k=i.getLabels(),l=i===j,m=[];for(e=c,f=c+d;e<f;++e)h=b[e],(g={})[i.axis]=l||i.parse(k[e],e),m.push(b7(h,g,j,e));return m}function b9(a){return a&&void 0!==a.barStart&&void 0!==a.barEnd}function ca(a,b,c,d){var e,f,g;return d?cb((e=a,f=b,g=c,a=e===f?g:e===g?f:e),c,b):cb(a,b,c)}function cb(a,b,c){return"start"===a?b:"end"===a?c:a}class cc extends b6{static id="doughnut";static 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"};static descriptors={_scriptable:a=>"spacing"!==a,_indexable:a=>"spacing"!==a&&!a.startsWith("borderDash")&&!a.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(a){let b=a.data,{labels:{pointStyle:c,textAlign:d,color:e,useBorderRadius:f,borderRadius:g}}=a.legend.options;return b.labels.length&&b.datasets.length?b.labels.map((b,h)=>{let i=a.getDatasetMeta(0).controller.getStyle(h);return{text:b,fillStyle:i.backgroundColor,fontColor:e,hidden:!a.getDataVisibility(h),lineDash:i.borderDash,lineDashOffset:i.borderDashOffset,lineJoin:i.borderJoinStyle,lineWidth:i.borderWidth,strokeStyle:i.borderColor,textAlign:d,pointStyle:c,borderRadius:f&&(g||i.borderRadius),index:h}}):[]}},onClick(a,b,c){c.chart.toggleDataVisibility(b.index),c.chart.update()}}}};constructor(a,b){super(a,b),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(a,b){let c=this.getDataset().data,d=this._cachedMeta;if(!1===this._parsing)d._parsed=c;else{let e,f,g=a=>+c[a];if(J(c[a])){let{key:a="value"}=this._parsing;g=b=>+Y(c[b],a)}for(e=a,f=a+b;e<f;++e)d._parsed[e]=g(e)}}_getRotation(){return ao(this.options.rotation-90)}_getCircumference(){return ao(this.options.circumference)}_getRotationExtents(){let a=ac,b=-ac;for(let c=0;c<this.chart.data.datasets.length;++c)if(this.chart.isDatasetVisible(c)&&this.chart.getDatasetMeta(c).type===this._type){let d=this.chart.getDatasetMeta(c).controller,e=d._getRotation(),f=d._getCircumference();a=Math.min(a,e),b=Math.max(b,e+f)}return{rotation:a,circumference:b-a}}update(a){let b,{chartArea:c}=this.chart,d=this._cachedMeta,e=d.data,f=this.getMaxBorderWidth()+this.getMaxOffset(e)+this.options.spacing,g=Math.max((Math.min(c.width,c.height)-f)/2,0),h=Math.min((b=this.options.cutout,"string"==typeof b&&b.endsWith("%")?parseFloat(b)/100:b/g),1),i=this._getRingWeight(this.index),{circumference:j,rotation:k}=this._getRotationExtents(),{ratioX:l,ratioY:m,offsetX:n,offsetY:o}=function(a,b,c){let d=1,e=1,f=0,g=0;if(b<ac){let h=a+b,i=Math.cos(a),j=Math.sin(a),k=Math.cos(h),l=Math.sin(h),m=(b,d,e)=>au(b,a,h,!0)?1:Math.max(d,d*c,e,e*c),n=(b,d,e)=>au(b,a,h,!0)?-1:Math.min(d,d*c,e,e*c),o=m(0,i,k),p=m(af,j,l),q=n(ab,i,k),r=n(ab+af,j,l);d=(o-q)/2,e=(p-r)/2,f=-(o+q)/2,g=-(p+r)/2}return{ratioX:d,ratioY:e,offsetX:f,offsetY:g}}(k,j,h),p=Math.max(Math.min((c.width-f)/l,(c.height-f)/m)/2,0),q=N(this.options.radius,p),r=Math.max(q*h,0),s=(q-r)/this._getVisibleDatasetWeightTotal();this.offsetX=n*q,this.offsetY=o*q,d.total=this.calculateTotal(),this.outerRadius=q-s*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-s*i,0),this.updateElements(e,0,e.length,a)}_circumference(a,b){let c=this.options,d=this._cachedMeta,e=this._getCircumference();return b&&c.animation.animateRotate||!this.chart.getDataVisibility(a)||null===d._parsed[a]||d.data[a].hidden?0:this.calculateCircumference(d._parsed[a]*e/ac)}updateElements(a,b,c,d){let e,f="reset"===d,g=this.chart,h=g.chartArea,i=g.options.animation,j=(h.left+h.right)/2,k=(h.top+h.bottom)/2,l=f&&i.animateScale,m=l?0:this.innerRadius,n=l?0:this.outerRadius,{sharedOptions:o,includeOptions:p}=this._getSharedOptions(b,d),q=this._getRotation();for(e=0;e<b;++e)q+=this._circumference(e,f);for(e=b;e<b+c;++e){let b=this._circumference(e,f),c=a[e],g={x:j+this.offsetX,y:k+this.offsetY,startAngle:q,endAngle:q+b,circumference:b,outerRadius:n,innerRadius:m};p&&(g.options=o||this.resolveDataElementOptions(e,c.active?"active":d)),q+=b,this.updateElement(c,e,g,d)}}calculateTotal(){let a,b=this._cachedMeta,c=b.data,d=0;for(a=0;a<c.length;a++){let e=b._parsed[a];null!==e&&!isNaN(e)&&this.chart.getDataVisibility(a)&&!c[a].hidden&&(d+=Math.abs(e))}return d}calculateCircumference(a){let b=this._cachedMeta.total;return b>0&&!isNaN(a)?Math.abs(a)/b*ac:0}getLabelAndValue(a){let b=this._cachedMeta,c=this.chart,d=c.data.labels||[],e=aS(b._parsed[a],c.options.locale);return{label:d[a]||"",value:e}}getMaxBorderWidth(a){let b,c,d,e,f,g=0,h=this.chart;if(!a){for(b=0,c=h.data.datasets.length;b<c;++b)if(h.isDatasetVisible(b)){a=(d=h.getDatasetMeta(b)).data,e=d.controller;break}}if(!a)return 0;for(b=0,c=a.length;b<c;++b)"inner"!==(f=e.resolveDataElementOptions(b)).borderAlign&&(g=Math.max(g,f.borderWidth||0,f.hoverBorderWidth||0));return g}getMaxOffset(a){let b=0;for(let c=0,d=a.length;c<d;++c){let a=this.resolveDataElementOptions(c);b=Math.max(b,a.offset||0,a.hoverOffset||0)}return b}_getRingWeightOffset(a){let b=0;for(let c=0;c<a;++c)this.chart.isDatasetVisible(c)&&(b+=this._getRingWeight(c));return b}_getRingWeight(a){return Math.max(M(this.chart.data.datasets[a].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}function cd(){throw Error("This method is not implemented: Check that a complete date adapter is provided.")}class ce{static override(a){Object.assign(ce.prototype,a)}options;constructor(a){this.options=a||{}}init(){}formats(){return cd()}parse(){return cd()}format(){return cd()}add(){return cd()}diff(){return cd()}startOf(){return cd()}endOf(){return cd()}}function cf(a,b,c,d,e){let f=a.getSortedVisibleDatasetMetas(),g=c[b];for(let a=0,c=f.length;a<c;++a){let{index:c,data:h}=f[a],{lo:i,hi:j}=function(a,b,c,d){let{controller:e,data:f,_sorted:g}=a,h=e._cachedMeta.iScale,i=a.dataset&&a.dataset.options?a.dataset.options.spanGaps:null;if(h&&b===h.axis&&"r"!==b&&g&&f.length){let g=h._reversePixels?az:ay;if(d){if(e._sharedOptions){let a=f[0],d="function"==typeof a.getRange&&a.getRange(b);if(d){let a=g(f,b,c-d),e=g(f,b,c+d);return{lo:a.lo,hi:e.hi}}}}else{let d=g(f,b,c);if(i){let{vScale:b}=e._cachedMeta,{_parsed:c}=a,f=c.slice(0,d.lo+1).reverse().findIndex(a=>!H(a[b.axis]));d.lo-=Math.max(0,f);let g=c.slice(d.hi).findIndex(a=>!H(a[b.axis]));d.hi+=Math.max(0,g)}return d}}return{lo:0,hi:f.length-1}}(f[a],b,g,e);for(let a=i;a<=j;++a){let b=h[a];b.skip||d(b,c,a)}}}function cg(a,b,c,d,e){let f=[];return(e||a.isPointInArea(b))&&cf(a,c,b,function(c,g,h){(e||a2(c,a.chartArea,0))&&c.inRange(b.x,b.y,d)&&f.push({element:c,datasetIndex:g,index:h})},!0),f}function ch(a,b,c,d,e,f){let g,h,i,j,k,l;return f||a.isPointInArea(b)?"r"!==c||d?(g=[],h=-1!==c.indexOf("x"),i=-1!==c.indexOf("y"),j=function(a,b){return Math.sqrt(Math.pow(h?Math.abs(a.x-b.x):0,2)+Math.pow(i?Math.abs(a.y-b.y):0,2))},k=1/0,cf(a,c,b,function(c,h,i){let l=c.inRange(b.x,b.y,e);if(d&&!l)return;let m=c.getCenterPoint(e);if(!(f||a.isPointInArea(m))&&!l)return;let n=j(b,m);n<k?(g=[{element:c,datasetIndex:h,index:i}],k=n):n===k&&g.push({element:c,datasetIndex:h,index:i})}),g):(l=[],cf(a,c,b,function(a,c,d){let{startAngle:f,endAngle:g}=a.getProps(["startAngle","endAngle"],e),{angle:h}=aq(a,{x:b.x,y:b.y});au(h,f,g)&&l.push({element:a,datasetIndex:c,index:d})}),l):[]}function ci(a,b,c,d,e){let f=[],g="x"===c?"inXRange":"inYRange",h=!1;return(cf(a,c,b,(a,d,i)=>{a[g]&&a[g](b[c],e)&&(f.push({element:a,datasetIndex:d,index:i}),h=h||a.inRange(b.x,b.y,e))}),d&&!h)?[]:f}var cj={modes:{index(a,b,c,d){let e=bC(b,a),f=c.axis||"x",g=c.includeInvisible||!1,h=c.intersect?cg(a,e,f,d,g):ch(a,e,f,!1,d,g),i=[];return h.length?(a.getSortedVisibleDatasetMetas().forEach(a=>{let b=h[0].index,c=a.data[b];c&&!c.skip&&i.push({element:c,datasetIndex:a.index,index:b})}),i):[]},dataset(a,b,c,d){let e=bC(b,a),f=c.axis||"xy",g=c.includeInvisible||!1,h=c.intersect?cg(a,e,f,d,g):ch(a,e,f,!1,d,g);if(h.length>0){let b=h[0].datasetIndex,c=a.getDatasetMeta(b).data;h=[];for(let a=0;a<c.length;++a)h.push({element:c[a],datasetIndex:b,index:a})}return h},point(a,b,c,d){let e=bC(b,a);return cg(a,e,c.axis||"xy",d,c.includeInvisible||!1)},nearest(a,b,c,d){let e=bC(b,a),f=c.axis||"xy",g=c.includeInvisible||!1;return ch(a,e,f,c.intersect,d,g)},x(a,b,c,d){let e=bC(b,a);return ci(a,e,"x",c.intersect,d)},y(a,b,c,d){let e=bC(b,a);return ci(a,e,"y",c.intersect,d)}}};let ck=["left","top","right","bottom"];function cl(a,b){return a.filter(a=>a.pos===b)}function cm(a,b){return a.filter(a=>-1===ck.indexOf(a.pos)&&a.box.axis===b)}function cn(a,b){return a.sort((a,c)=>{let d=b?c:a,e=b?a:c;return d.weight===e.weight?d.index-e.index:d.weight-e.weight})}function co(a,b,c,d){return Math.max(a[c],b[c])+Math.max(a[d],b[d])}function cp(a,b){a.top=Math.max(a.top,b.top),a.left=Math.max(a.left,b.left),a.bottom=Math.max(a.bottom,b.bottom),a.right=Math.max(a.right,b.right)}function cq(a,b,c,d){let e,f,g,h,i,j,k=[];for(e=0,f=a.length,i=0;e<f;++e){(h=(g=a[e]).box).update(g.width||b.w,g.height||b.h,function(a,b){let c=b.maxPadding;return function(a){let d={left:0,top:0,right:0,bottom:0};return a.forEach(a=>{d[a]=Math.max(b[a],c[a])}),d}(a?["left","right"]:["top","bottom"])}(g.horizontal,b));let{same:f,other:l}=function(a,b,c,d){let{pos:e,box:f}=c,g=a.maxPadding;if(!J(e)){c.size&&(a[e]-=c.size);let b=d[c.stack]||{size:0,count:1};b.size=Math.max(b.size,c.horizontal?f.height:f.width),c.size=b.size/b.count,a[e]+=c.size}f.getPadding&&cp(g,f.getPadding());let h=Math.max(0,b.outerWidth-co(g,a,"left","right")),i=Math.max(0,b.outerHeight-co(g,a,"top","bottom")),j=h!==a.w,k=i!==a.h;return a.w=h,a.h=i,c.horizontal?{same:j,other:k}:{same:k,other:j}}(b,c,g,d);i|=f&&k.length,j=j||l,h.fullSize||k.push(g)}return i&&cq(k,b,c,d)||j}function cr(a,b,c,d,e){a.top=c,a.left=b,a.right=b+d,a.bottom=c+e,a.width=d,a.height=e}function cs(a,b,c,d){let e=c.padding,{x:f,y:g}=b;for(let h of a){let a=h.box,i=d[h.stack]||{count:1,placed:0,weight:1},j=h.stackWeight/i.weight||1;if(h.horizontal){let d=b.w*j,f=i.size||a.height;$(i.start)&&(g=i.start),a.fullSize?cr(a,e.left,g,c.outerWidth-e.right-e.left,f):cr(a,b.left+i.placed,g,d,f),i.start=g,i.placed+=d,g=a.bottom}else{let d=b.h*j,g=i.size||a.width;$(i.start)&&(f=i.start),a.fullSize?cr(a,f,e.top,g,c.outerHeight-e.bottom-e.top):cr(a,f,b.top+i.placed,g,d),i.start=f,i.placed+=d,f=a.right}}b.x=f,b.y=g}var ct={addBox(a,b){a.boxes||(a.boxes=[]),b.fullSize=b.fullSize||!1,b.position=b.position||"top",b.weight=b.weight||0,b._layers=b._layers||function(){return[{z:0,draw(a){b.draw(a)}}]},a.boxes.push(b)},removeBox(a,b){let c=a.boxes?a.boxes.indexOf(b):-1;-1!==c&&a.boxes.splice(c,1)},configure(a,b,c){b.fullSize=c.fullSize,b.position=c.position,b.weight=c.weight},update(a,b,c,d){let e,f,g,h,i,j,k,l;if(!a)return;let m=bf(a.options.layout.padding),n=Math.max(b-m.width,0),o=Math.max(c-m.height,0),p=(f=cn((e=function(a){let b,c,d,e,f,g,h=[];for(b=0,c=(a||[]).length;b<c;++b)d=a[b],({position:e,options:{stack:f,stackWeight:g=1}}=d),h.push({index:b,box:d,pos:e,horizontal:d.isHorizontal(),weight:d.weight,stack:f&&e+f,stackWeight:g});return h}(a.boxes)).filter(a=>a.box.fullSize),!0),g=cn(cl(e,"left"),!0),h=cn(cl(e,"right")),i=cn(cl(e,"top"),!0),j=cn(cl(e,"bottom")),k=cm(e,"x"),l=cm(e,"y"),{fullSize:f,leftAndTop:g.concat(i),rightAndBottom:h.concat(l).concat(j).concat(k),chartArea:cl(e,"chartArea"),vertical:g.concat(h).concat(l),horizontal:i.concat(j).concat(k)}),q=p.vertical,r=p.horizontal;P(a.boxes,a=>{"function"==typeof a.beforeLayout&&a.beforeLayout()});let s=Object.freeze({outerWidth:b,outerHeight:c,padding:m,availableWidth:n,availableHeight:o,vBoxMaxWidth:n/2/(q.reduce((a,b)=>b.box.options&&!1===b.box.options.display?a:a+1,0)||1),hBoxMaxHeight:o/2}),t=Object.assign({},m);cp(t,bf(d));let u=Object.assign({maxPadding:t,w:n,h:o,x:m.left,y:m.top},m),v=function(a,b){let c,d,e,f=function(a){let b={};for(let c of a){let{stack:a,pos:d,stackWeight:e}=c;if(!a||!ck.includes(d))continue;let f=b[a]||(b[a]={count:0,placed:0,weight:0,size:0});f.count++,f.weight+=e}return b}(a),{vBoxMaxWidth:g,hBoxMaxHeight:h}=b;for(c=0,d=a.length;c<d;++c){let{fullSize:d}=(e=a[c]).box,i=f[e.stack],j=i&&e.stackWeight/i.weight;e.horizontal?(e.width=j?j*g:d&&b.availableWidth,e.height=h):(e.width=g,e.height=j?j*h:d&&b.availableHeight)}return f}(q.concat(r),s);cq(p.fullSize,u,s,v),cq(q,u,s,v),cq(r,u,s,v)&&cq(q,u,s,v);let w=u.maxPadding;function x(a){let b=Math.max(w[a]-u[a],0);return u[a]+=b,b}u.y+=x("top"),u.x+=x("left"),x("right"),x("bottom"),cs(p.leftAndTop,u,s,v),u.x+=u.w,u.y+=u.h,cs(p.rightAndBottom,u,s,v),a.chartArea={left:u.left,top:u.top,right:u.left+u.w,bottom:u.top+u.h,height:u.h,width:u.w},P(p.chartArea,b=>{let c=b.box;Object.assign(c,a.chartArea),c.update(u.w,u.h,{left:0,top:0,right:0,bottom:0})})}};class cu{acquireContext(a,b){}releaseContext(a){return!1}addEventListener(a,b,c){}removeEventListener(a,b,c){}getDevicePixelRatio(){return 1}getMaximumSize(a,b,c,d){return b=Math.max(0,b||a.width),c=c||a.height,{width:b,height:Math.max(0,d?Math.floor(b/d):c)}}isAttached(a){return!0}updateConfig(a){}}class cv extends cu{acquireContext(a){return a&&a.getContext&&a.getContext("2d")||null}updateConfig(a){a.options.animation=!1}}class cw{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(a){let{x:b,y:c}=this.getProps(["x","y"],a);return{x:b,y:c}}hasValue(){return am(this.x)&&am(this.y)}getProps(a,b){let c=this.$animations;if(!b||!c)return this;let d={};return a.forEach(a=>{d[a]=c[a]&&c[a].active()?c[a]._to:this[a]}),d}}function cx(a,b,c,d,e){let f,g,h,i=M(d,0),j=Math.min(M(e,a.length),a.length),k=0;for(c=Math.ceil(c),e&&(c=(f=e-d)/Math.floor(f/c)),h=i;h<0;)h=Math.round(i+ ++k*c);for(g=Math.max(i,0);g<j;g++)g===h&&(b.push(a[g]),h=Math.round(i+ ++k*c))}let cy=(a,b,c)=>"top"===b||"left"===b?a[b]+c:a[b]-c,cz=(a,b)=>Math.min(b||a,a);function cA(a,b){let c=[],d=a.length/b,e=a.length,f=0;for(;f<e;f+=d)c.push(a[Math.floor(f)]);return c}function cB(a){return a.drawTicks?a.tickLength:0}function cC(a,b){if(!a.display)return 0;let c=bg(a.font,b),d=bf(a.padding);return(I(a.text)?a.text.length:1)*c.lineHeight+d.height}class cD extends cw{constructor(a){super(),this.id=a.id,this.type=a.type,this.options=void 0,this.ctx=a.ctx,this.chart=a.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(a){this.options=a.setContext(this.getContext()),this.axis=a.axis,this._userMin=this.parse(a.min),this._userMax=this.parse(a.max),this._suggestedMin=this.parse(a.suggestedMin),this._suggestedMax=this.parse(a.suggestedMax)}parse(a,b){return a}getUserBounds(){let{_userMin:a,_userMax:b,_suggestedMin:c,_suggestedMax:d}=this;return a=L(a,1/0),b=L(b,-1/0),c=L(c,1/0),d=L(d,-1/0),{min:L(a,c),max:L(b,d),minDefined:K(a),maxDefined:K(b)}}getMinMax(a){let b,{min:c,max:d,minDefined:e,maxDefined:f}=this.getUserBounds();if(e&&f)return{min:c,max:d};let g=this.getMatchingVisibleMetas();for(let h=0,i=g.length;h<i;++h)b=g[h].controller.getMinMax(this,a),e||(c=Math.min(c,b.min)),f||(d=Math.max(d,b.max));return c=f&&c>d?d:c,d=e&&c>d?c:d,{min:L(c,L(d,c)),max:L(d,L(c,d))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){let a=this.chart.data;return this.options.labels||(this.isHorizontal()?a.xLabels:a.yLabels)||a.labels||[]}getLabelItems(a=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(a))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){O(this.options.beforeUpdate,[this])}update(a,b,c){let{beginAtZero:d,grace:e,ticks:f}=this.options,g=f.sampleSize;this.beforeUpdate(),this.maxWidth=a,this.maxHeight=b,this._margins=c=Object.assign({left:0,right:0,top:0,bottom:0},c),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+c.left+c.right:this.height+c.top+c.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=function(a,b,c){let{min:d,max:e}=a,f=N(b,(e-d)/2),g=(a,b)=>c&&0===a?0:a+b;return{min:g(d,-Math.abs(f)),max:g(e,f)}}(this,e,d),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();let h=g<this.ticks.length;this._convertTicksToLabels(h?cA(this.ticks,g):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),f.display&&(f.autoSkip||"auto"===f.source)&&(this.ticks=function(a,b){var c;let d,e,f=a.options.ticks,g=(d=(c=a).options.offset,e=c._tickSize(),Math.floor(Math.min(c._length/e+ +!d,c._maxLength/e))),h=Math.min(f.maxTicksLimit||g,g),i=f.major.enabled?function(a){let b,c,d=[];for(b=0,c=a.length;b<c;b++)a[b].major&&d.push(b);return d}(b):[],j=i.length,k=i[0],l=i[j-1],m=[];if(j>h)return function(a,b,c,d){let e,f=0,g=c[0];for(e=0,d=Math.ceil(d);e<a.length;e++)e===g&&(b.push(a[e]),g=c[++f*d])}(b,m,i,j/h),m;let n=function(a,b,c){let d=function(a){let b,c,d=a.length;if(d<2)return!1;for(c=a[0],b=1;b<d;++b)if(a[b]-a[b-1]!==c)return!1;return c}(a),e=b.length/c;if(!d)return Math.max(e,1);let f=function(a){let b,c=[],d=Math.sqrt(a);for(b=1;b<d;b++)a%b==0&&(c.push(b),c.push(a/b));return d===(0|d)&&c.push(d),c.sort((a,b)=>a-b).pop(),c}(d);for(let a=0,b=f.length-1;a<b;a++){let b=f[a];if(b>e)return b}return Math.max(e,1)}(i,b,h);if(j>0){let a,c,d=j>1?Math.round((l-k)/(j-1)):null;for(cx(b,m,n,H(d)?0:k-d,k),a=0,c=j-1;a<c;a++)cx(b,m,n,i[a],i[a+1]);return cx(b,m,n,l,H(d)?b.length:l+d),m}return cx(b,m,n),m}(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),h&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let a,b,c=this.options.reverse;this.isHorizontal()?(a=this.left,b=this.right):(a=this.top,b=this.bottom,c=!c),this._startPixel=a,this._endPixel=b,this._reversePixels=c,this._length=b-a,this._alignToPixels=this.options.alignToPixels}afterUpdate(){O(this.options.afterUpdate,[this])}beforeSetDimensions(){O(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(){O(this.options.afterSetDimensions,[this])}_callHooks(a){this.chart.notifyPlugins(a,this.getContext()),O(this.options[a],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){O(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(a){let b,c,d,e=this.options.ticks;for(b=0,c=a.length;b<c;b++)(d=a[b]).label=O(e.callback,[d.value,b,a],this)}afterTickToLabelConversion(){O(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){O(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){let a,b,c,d=this.options,e=d.ticks,f=cz(this.ticks.length,d.ticks.maxTicksLimit),g=e.minRotation||0,h=e.maxRotation,i=g;if(!this._isVisible()||!e.display||g>=h||f<=1||!this.isHorizontal()){this.labelRotation=g;return}let j=this._getLabelSizes(),k=j.widest.width,l=j.highest.height,m=av(this.chart.width-k,0,this.maxWidth);k+6>(a=d.offset?this.maxWidth/f:m/(f-1))&&(a=m/(f-(d.offset?.5:1)),b=this.maxHeight-cB(d.grid)-e.padding-cC(d.title,this.chart.options.font),c=Math.sqrt(k*k+l*l),i=Math.max(g,Math.min(h,i=180/ab*Math.min(Math.asin(av((j.highest.height+6)/a,-1,1)),Math.asin(av(b/c,-1,1))-Math.asin(av(l/c,-1,1)))))),this.labelRotation=i}afterCalculateLabelRotation(){O(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){O(this.options.beforeFit,[this])}fit(){let a={width:0,height:0},{chart:b,options:{ticks:c,title:d,grid:e}}=this,f=this._isVisible(),g=this.isHorizontal();if(f){let f=cC(d,b.options.font);if(g?(a.width=this.maxWidth,a.height=cB(e)+f):(a.height=this.maxHeight,a.width=cB(e)+f),c.display&&this.ticks.length){let{first:b,last:d,widest:e,highest:f}=this._getLabelSizes(),h=2*c.padding,i=ao(this.labelRotation),j=Math.cos(i),k=Math.sin(i);if(g){let b=c.mirror?0:k*e.width+j*f.height;a.height=Math.min(this.maxHeight,a.height+b+h)}else{let b=c.mirror?0:j*e.width+k*f.height;a.width=Math.min(this.maxWidth,a.width+b+h)}this._calculatePadding(b,d,k,j)}}this._handleMargins(),g?(this.width=this._length=b.width-this._margins.left-this._margins.right,this.height=a.height):(this.width=a.width,this.height=this._length=b.height-this._margins.top-this._margins.bottom)}_calculatePadding(a,b,c,d){let{ticks:{align:e,padding:f},position:g}=this.options,h=0!==this.labelRotation,i="top"!==g&&"x"===this.axis;if(this.isHorizontal()){let g=this.getPixelForTick(0)-this.left,j=this.right-this.getPixelForTick(this.ticks.length-1),k=0,l=0;h?i?(k=d*a.width,l=c*b.height):(k=c*a.height,l=d*b.width):"start"===e?l=b.width:"end"===e?k=a.width:"inner"!==e&&(k=a.width/2,l=b.width/2),this.paddingLeft=Math.max((k-g+f)*this.width/(this.width-g),0),this.paddingRight=Math.max((l-j+f)*this.width/(this.width-j),0)}else{let c=b.height/2,d=a.height/2;"start"===e?(c=0,d=a.height):"end"===e&&(c=b.height,d=0),this.paddingTop=c+f,this.paddingBottom=d+f}}_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(){O(this.options.afterFit,[this])}isHorizontal(){let{axis:a,position:b}=this.options;return"top"===b||"bottom"===b||"x"===a}isFullSize(){return this.options.fullSize}_convertTicksToLabels(a){let b,c;for(this.beforeTickToLabelConversion(),this.generateTickLabels(a),b=0,c=a.length;b<c;b++)H(a[b].label)&&(a.splice(b,1),c--,b--);this.afterTickToLabelConversion()}_getLabelSizes(){let a=this._labelSizes;if(!a){let b=this.options.ticks.sampleSize,c=this.ticks;b<c.length&&(c=cA(c,b)),this._labelSizes=a=this._computeLabelSizes(c,c.length,this.options.ticks.maxTicksLimit)}return a}_computeLabelSizes(a,b,c){let d,e,f,g,h,i,j,k,l,m,n,{ctx:o,_longestTextCache:p}=this,q=[],r=[],s=Math.floor(b/cz(b,c)),t=0,u=0;for(d=0;d<b;d+=s){if(g=a[d].label,o.font=i=(h=this._resolveTickFontOptions(d)).string,j=p[i]=p[i]||{data:{},gc:[]},k=h.lineHeight,l=m=0,H(g)||I(g)){if(I(g))for(e=0,f=g.length;e<f;++e)H(n=g[e])||I(n)||(l=aZ(o,j.data,j.gc,l,n),m+=k)}else l=aZ(o,j.data,j.gc,l,g),m=k;q.push(l),r.push(m),t=Math.max(l,t),u=Math.max(m,u)}P(p,a=>{let c,d=a.gc,e=d.length/2;if(e>b){for(c=0;c<e;++c)delete a.data[d[c]];d.splice(0,e)}});let v=q.indexOf(t),w=r.indexOf(u),x=a=>({width:q[a]||0,height:r[a]||0});return{first:x(0),last:x(b-1),widest:x(v),highest:x(w),widths:q,heights:r}}getLabelForValue(a){return a}getPixelForValue(a,b){return NaN}getValueForPixel(a){}getPixelForTick(a){let b=this.ticks;return a<0||a>b.length-1?null:this.getPixelForValue(b[a].value)}getPixelForDecimal(a){this._reversePixels&&(a=1-a);let b=this._startPixel+a*this._length;return av(this._alignToPixels?a$(this.chart,b,0):b,-32768,32767)}getDecimalForPixel(a){let b=(a-this._startPixel)/this._length;return this._reversePixels?1-b:b}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){let{min:a,max:b}=this;return a<0&&b<0?b:a>0&&b>0?a:0}getContext(a){var b,c;let d=this.ticks||[];if(a>=0&&a<d.length){let c=d[a];return c.$context||(b=this.getContext(),c.$context=bi(b,{tick:c,index:a,type:"tick"}))}return this.$context||(this.$context=(c=this.chart.getContext(),bi(c,{scale:this,type:"scale"})))}_tickSize(){let a=this.options.ticks,b=ao(this.labelRotation),c=Math.abs(Math.cos(b)),d=Math.abs(Math.sin(b)),e=this._getLabelSizes(),f=a.autoSkipPadding||0,g=e?e.widest.width+f:0,h=e?e.highest.height+f:0;return this.isHorizontal()?h*c>g*d?g/c:h/d:h*d<g*c?h/c:g/d}_isVisible(){let a=this.options.display;return"auto"!==a?!!a:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(a){let b,c,d,e,f,g,h,i,j,k,l,m,n=this.axis,o=this.chart,p=this.options,{grid:q,position:r,border:s}=p,t=q.offset,u=this.isHorizontal(),v=this.ticks.length+ +!!t,w=cB(q),x=[],y=s.setContext(this.getContext()),z=y.display?y.width:0,A=z/2,B=function(a){return a$(o,a,z)};if("top"===r)b=B(this.bottom),g=this.bottom-w,i=b-A,k=B(a.top)+A,m=a.bottom;else if("bottom"===r)b=B(this.top),k=a.top,m=B(a.bottom)-A,g=b+A,i=this.top+w;else if("left"===r)b=B(this.right),f=this.right-w,h=b-A,j=B(a.left)+A,l=a.right;else if("right"===r)b=B(this.left),j=a.left,l=B(a.right)-A,f=b+A,h=this.left+w;else if("x"===n){if("center"===r)b=B((a.top+a.bottom)/2+.5);else if(J(r)){let a=Object.keys(r)[0],c=r[a];b=B(this.chart.scales[a].getPixelForValue(c))}k=a.top,m=a.bottom,i=(g=b+A)+w}else if("y"===n){if("center"===r)b=B((a.left+a.right)/2);else if(J(r)){let a=Object.keys(r)[0],c=r[a];b=B(this.chart.scales[a].getPixelForValue(c))}h=(f=b-A)-w,j=a.left,l=a.right}let C=M(p.ticks.maxTicksLimit,v),D=Math.max(1,Math.ceil(v/C));for(c=0;c<v;c+=D){let a=this.getContext(c),b=q.setContext(a),n=s.setContext(a),p=b.lineWidth,r=b.color,v=n.dash||[],w=n.dashOffset,y=b.tickWidth,z=b.tickColor,A=b.tickBorderDash||[],B=b.tickBorderDashOffset;void 0!==(d=function(a,b,c){let d,e=a.ticks.length,f=Math.min(b,e-1),g=a._startPixel,h=a._endPixel,i=a.getPixelForTick(f);if(!c||(d=1===e?Math.max(i-g,h-i):0===b?(a.getPixelForTick(1)-i)/2:(i-a.getPixelForTick(f-1))/2,!((i+=f<b?d:-d)<g-1e-6)&&!(i>h+1e-6)))return i}(this,c,t))&&(e=a$(o,d,p),u?f=h=j=l=e:g=i=k=m=e,x.push({tx1:f,ty1:g,tx2:h,ty2:i,x1:j,y1:k,x2:l,y2:m,width:p,color:r,borderDash:v,borderDashOffset:w,tickWidth:y,tickColor:z,tickBorderDash:A,tickBorderDashOffset:B}))}return this._ticksLength=v,this._borderValue=b,x}_computeLabelItems(a){let b,c,d,e,f,g,h,i,j,k,l,m=this.axis,n=this.options,{position:o,ticks:p}=n,q=this.isHorizontal(),r=this.ticks,{align:s,crossAlign:t,padding:u,mirror:v}=p,w=cB(n.grid),x=w+u,y=v?-u:x,z=-ao(this.labelRotation),A=[],B="middle";if("top"===o)f=this.bottom-y,g=this._getXAxisLabelAlignment();else if("bottom"===o)f=this.top+y,g=this._getXAxisLabelAlignment();else if("left"===o){let a=this._getYAxisLabelAlignment(w);g=a.textAlign,e=a.x}else if("right"===o){let a=this._getYAxisLabelAlignment(w);g=a.textAlign,e=a.x}else if("x"===m){if("center"===o)f=(a.top+a.bottom)/2+x;else if(J(o)){let a=Object.keys(o)[0],b=o[a];f=this.chart.scales[a].getPixelForValue(b)+x}g=this._getXAxisLabelAlignment()}else if("y"===m){if("center"===o)e=(a.left+a.right)/2-x;else if(J(o)){let a=Object.keys(o)[0],b=o[a];e=this.chart.scales[a].getPixelForValue(b)}g=this._getYAxisLabelAlignment(w).textAlign}"y"===m&&("start"===s?B="top":"end"===s&&(B="bottom"));let C=this._getLabelSizes();for(b=0,c=r.length;b<c;++b){let a;d=r[b].label;let m=p.setContext(this.getContext(b));h=this.getPixelForTick(b)+p.labelOffset,j=(i=this._resolveTickFontOptions(b)).lineHeight;let n=(k=I(d)?d.length:1)/2,s=m.color,u=m.textStrokeColor,w=m.textStrokeWidth,x=g;if(q?(e=h,"inner"===g&&(x=b===c-1?this.options.reverse?"left":"right":0===b?this.options.reverse?"right":"left":"center"),l="top"===o?"near"===t||0!==z?-k*j+j/2:"center"===t?-C.highest.height/2-n*j+j:-C.highest.height+j/2:"near"===t||0!==z?j/2:"center"===t?C.highest.height/2-n*j:C.highest.height-k*j,v&&(l*=-1),0===z||m.showLabelBackdrop||(e+=j/2*Math.sin(z))):(f=h,l=(1-k)*j/2),m.showLabelBackdrop){let d=bf(m.backdropPadding),e=C.heights[b],f=C.widths[b],h=l-d.top,i=0-d.left;switch(B){case"middle":h-=e/2;break;case"bottom":h-=e}switch(g){case"center":i-=f/2;break;case"right":i-=f;break;case"inner":b===c-1?i-=f:b>0&&(i-=f/2)}a={left:i,top:h,width:f+d.width,height:e+d.height,color:m.backdropColor}}A.push({label:d,font:i,textOffset:l,options:{rotation:z,color:s,strokeColor:u,strokeWidth:w,textAlign:x,textBaseline:B,translation:[e,f],backdrop:a}})}return A}_getXAxisLabelAlignment(){let{position:a,ticks:b}=this.options;if(-ao(this.labelRotation))return"top"===a?"left":"right";let c="center";return"start"===b.align?c="left":"end"===b.align?c="right":"inner"===b.align&&(c="inner"),c}_getYAxisLabelAlignment(a){let b,c,{position:d,ticks:{crossAlign:e,mirror:f,padding:g}}=this.options,h=this._getLabelSizes(),i=a+g,j=h.widest.width;return"left"===d?f?(c=this.right+g,"near"===e?b="left":"center"===e?(b="center",c+=j/2):(b="right",c+=j)):(c=this.right-i,"near"===e?b="right":"center"===e?(b="center",c-=j/2):(b="left",c=this.left)):"right"===d?f?(c=this.left+g,"near"===e?b="right":"center"===e?(b="center",c-=j/2):(b="left",c-=j)):(c=this.left+i,"near"===e?b="left":"center"===e?(b="center",c+=j/2):(b="right",c=this.right)):b="right",{textAlign:b,x:c}}_computeLabelArea(){if(this.options.ticks.mirror)return;let a=this.chart,b=this.options.position;return"left"===b||"right"===b?{top:0,left:this.left,bottom:a.height,right:this.right}:"top"===b||"bottom"===b?{top:this.top,left:0,bottom:this.bottom,right:a.width}:void 0}drawBackground(){let{ctx:a,options:{backgroundColor:b},left:c,top:d,width:e,height:f}=this;b&&(a.save(),a.fillStyle=b,a.fillRect(c,d,e,f),a.restore())}getLineWidthForValue(a){let b=this.options.grid;if(!this._isVisible()||!b.display)return 0;let c=this.ticks.findIndex(b=>b.value===a);return c>=0?b.setContext(this.getContext(c)).lineWidth:0}drawGrid(a){let b,c,d=this.options.grid,e=this.ctx,f=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(a)),g=(a,b,c)=>{c.width&&c.color&&(e.save(),e.lineWidth=c.width,e.strokeStyle=c.color,e.setLineDash(c.borderDash||[]),e.lineDashOffset=c.borderDashOffset,e.beginPath(),e.moveTo(a.x,a.y),e.lineTo(b.x,b.y),e.stroke(),e.restore())};if(d.display)for(b=0,c=f.length;b<c;++b){let a=f[b];d.drawOnChartArea&&g({x:a.x1,y:a.y1},{x:a.x2,y:a.y2},a),d.drawTicks&&g({x:a.tx1,y:a.ty1},{x:a.tx2,y:a.ty2},{color:a.tickColor,width:a.tickWidth,borderDash:a.tickBorderDash,borderDashOffset:a.tickBorderDashOffset})}}drawBorder(){let a,b,c,d,{chart:e,ctx:f,options:{border:g,grid:h}}=this,i=g.setContext(this.getContext()),j=g.display?i.width:0;if(!j)return;let k=h.setContext(this.getContext(0)).lineWidth,l=this._borderValue;this.isHorizontal()?(a=a$(e,this.left,j)-j/2,b=a$(e,this.right,k)+k/2,c=d=l):(c=a$(e,this.top,j)-j/2,d=a$(e,this.bottom,k)+k/2,a=b=l),f.save(),f.lineWidth=i.width,f.strokeStyle=i.color,f.beginPath(),f.moveTo(a,c),f.lineTo(b,d),f.stroke(),f.restore()}drawLabels(a){if(!this.options.ticks.display)return;let b=this.ctx,c=this._computeLabelArea();for(let d of(c&&a3(b,c),this.getLabelItems(a))){let a=d.options,c=d.font;a7(b,d.label,0,d.textOffset,c,a)}c&&a4(b)}drawTitle(){let a,b,{ctx:c,options:{position:d,title:e,reverse:f}}=this;if(!e.display)return;let g=bg(e.font),h=bf(e.padding),i=e.align,j=g.lineHeight/2;"bottom"===d||"center"===d||J(d)?(j+=h.bottom,I(e.text)&&(j+=g.lineHeight*(e.text.length-1))):j+=h.top;let{titleX:k,titleY:l,maxWidth:m,rotation:n}=function(a,b,c,d){let e,f,g,{top:h,left:i,bottom:j,right:k,chart:l}=a,{chartArea:m,scales:n}=l,o=0,p=j-h,q=k-i;if(a.isHorizontal()){if(f=aF(d,i,k),J(c)){let a=Object.keys(c)[0],d=c[a];g=n[a].getPixelForValue(d)+p-b}else g="center"===c?(m.bottom+m.top)/2+p-b:cy(a,c,b);e=k-i}else{if(J(c)){let a=Object.keys(c)[0],d=c[a];f=n[a].getPixelForValue(d)-q+b}else f="center"===c?(m.left+m.right)/2-q+b:cy(a,c,b);g=aF(d,j,h),o="left"===c?-af:af}return{titleX:f,titleY:g,maxWidth:e,rotation:o}}(this,j,d,i);a7(c,e.text,0,0,g,{color:e.color,maxWidth:m,rotation:n,textAlign:(a=aE(i),(f&&"right"!==d||!f&&"right"===d)&&(a="left"===(b=a)?"right":"right"===b?"left":b),a),textBaseline:"middle",translation:[k,l]})}draw(a){this._isVisible()&&(this.drawBackground(),this.drawGrid(a),this.drawBorder(),this.drawTitle(),this.drawLabels(a))}_layers(){let a=this.options,b=a.ticks&&a.ticks.z||0,c=M(a.grid&&a.grid.z,-1),d=M(a.border&&a.border.z,0);return this._isVisible()&&this.draw===cD.prototype.draw?[{z:c,draw:a=>{this.drawBackground(),this.drawGrid(a),this.drawTitle()}},{z:d,draw:()=>{this.drawBorder()}},{z:b,draw:a=>{this.drawLabels(a)}}]:[{z:b,draw:a=>{this.draw(a)}}]}getMatchingVisibleMetas(a){let b,c,d=this.chart.getSortedVisibleDatasetMetas(),e=this.axis+"AxisID",f=[];for(b=0,c=d.length;b<c;++b){let c=d[b];c[e]!==this.id||a&&c.type!==a||f.push(c)}return f}_resolveTickFontOptions(a){return bg(this.options.ticks.setContext(this.getContext(a)).font)}_maxDigits(){let a=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/a}}class cE{constructor(a,b,c){this.type=a,this.scope=b,this.override=c,this.items=Object.create(null)}isForType(a){return Object.prototype.isPrototypeOf.call(this.type.prototype,a.prototype)}register(a){var b,c,d,e,f,g;let h,i,j=Object.getPrototypeOf(a);"id"in(b=j)&&"defaults"in b&&(i=this.register(j));let k=this.items,l=a.id,m=this.scope+"."+l;if(!l)throw Error("class does not have id: "+a);return l in k||(k[l]=a,c=a,d=m,e=i,h=U(Object.create(null),[e?aY.get(e):{},aY.get(d),c.defaults]),aY.set(d,h),c.defaultRoutes&&(f=d,Object.keys(g=c.defaultRoutes).forEach(a=>{let b=a.split("."),c=b.pop(),d=[f].concat(b).join("."),e=g[a].split("."),h=e.pop(),i=e.join(".");aY.route(d,c,i,h)})),c.descriptors&&aY.describe(d,c.descriptors),this.override&&aY.override(a.id,a.overrides)),m}get(a){return this.items[a]}unregister(a){let b=this.items,c=a.id,d=this.scope;c in b&&delete b[c],d&&c in aY[d]&&(delete aY[d][c],this.override&&delete aU[c])}}var cF=new class{constructor(){this.controllers=new cE(b6,"datasets",!0),this.elements=new cE(cw,"elements"),this.plugins=new cE(Object,"plugins"),this.scales=new cE(cD,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...a){this._each("register",a)}remove(...a){this._each("unregister",a)}addControllers(...a){this._each("register",a,this.controllers)}addElements(...a){this._each("register",a,this.elements)}addPlugins(...a){this._each("register",a,this.plugins)}addScales(...a){this._each("register",a,this.scales)}getController(a){return this._get(a,this.controllers,"controller")}getElement(a){return this._get(a,this.elements,"element")}getPlugin(a){return this._get(a,this.plugins,"plugin")}getScale(a){return this._get(a,this.scales,"scale")}removeControllers(...a){this._each("unregister",a,this.controllers)}removeElements(...a){this._each("unregister",a,this.elements)}removePlugins(...a){this._each("unregister",a,this.plugins)}removeScales(...a){this._each("unregister",a,this.scales)}_each(a,b,c){[...b].forEach(b=>{let d=c||this._getRegistryForType(b);c||d.isForType(b)||d===this.plugins&&b.id?this._exec(a,d,b):P(b,b=>{let d=c||this._getRegistryForType(b);this._exec(a,d,b)})})}_exec(a,b,c){let d=Z(a);O(c["before"+d],[],c),b[a](c),O(c["after"+d],[],c)}_getRegistryForType(a){for(let b=0;b<this._typedRegistries.length;b++){let c=this._typedRegistries[b];if(c.isForType(a))return c}return this.plugins}_get(a,b,c){let d=b.get(a);if(void 0===d)throw Error('"'+a+'" is not a registered '+c+".");return d}};class cG{constructor(){this._init=void 0}notify(a,b,c,d){if("beforeInit"===b&&(this._init=this._createDescriptors(a,!0),this._notify(this._init,a,"install")),void 0===this._init)return;let e=d?this._descriptors(a).filter(d):this._descriptors(a),f=this._notify(e,a,b,c);return"afterDestroy"===b&&(this._notify(e,a,"stop"),this._notify(this._init,a,"uninstall"),this._init=void 0),f}_notify(a,b,c,d){for(let e of(d=d||{},a)){let a=e.plugin;if(!1===O(a[c],[b,d,e.options],a)&&d.cancelable)return!1}return!0}invalidate(){H(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(a){if(this._cache)return this._cache;let b=this._cache=this._createDescriptors(a);return this._notifyStateChanges(a),b}_createDescriptors(a,b){let c=a&&a.config,d=M(c.options&&c.options.plugins,{}),e=function(a){let b={},c=[],d=Object.keys(cF.plugins.items);for(let a=0;a<d.length;a++)c.push(cF.getPlugin(d[a]));let e=a.plugins||[];for(let a=0;a<e.length;a++){let d=e[a];-1===c.indexOf(d)&&(c.push(d),b[d.id]=!0)}return{plugins:c,localIds:b}}(c);return!1!==d||b?function(a,{plugins:b,localIds:c},d,e){let f=[],g=a.getContext();for(let i of b){var h;let b=i.id,j=(h=d[b],e||!1!==h?!0===h?{}:h:null);null!==j&&f.push({plugin:i,options:function(a,{plugin:b,local:c},d,e){let f=a.pluginScopeKeys(b),g=a.getOptionScopes(d,f);return c&&b.defaults&&g.push(b.defaults),a.createResolver(g,e,[""],{scriptable:!1,indexable:!1,allKeys:!0})}(a.config,{plugin:i,local:c[b]},j,g)})}return f}(a,e,d,b):[]}_notifyStateChanges(a){let b=this._oldCache||[],c=this._cache,d=(a,b)=>a.filter(a=>!b.some(b=>a.plugin.id===b.plugin.id));this._notify(d(b,c),a,"stop"),this._notify(d(c,b),a,"start")}}function cH(a,b){let c=aY.datasets[a]||{};return((b.datasets||{})[a]||{}).indexAxis||b.indexAxis||c.indexAxis||"x"}function cI(a){if("x"===a||"y"===a||"r"===a)return a}function cJ(a,...b){if(cI(a))return a;for(let d of b){var c;let b=d.axis||("top"===(c=d.position)||"bottom"===c?"x":"left"===c||"right"===c?"y":void 0)||a.length>1&&cI(a[0].toLowerCase());if(b)return b}throw Error(`Cannot determine type of '${a}' axis. Please provide 'axis' or 'position' option.`)}function cK(a,b,c){if(c[b+"AxisID"]===a)return{axis:b}}function cL(a){let b,c,d,e,f=a.options||(a.options={});f.plugins=M(f.plugins,{}),b=aU[a.type]||{scales:{}},c=f.scales||{},d=cH(a.type,f),e=Object.create(null),Object.keys(c).forEach(f=>{let g=c[f];if(!J(g))return console.error(`Invalid scale configuration for scale: ${f}`);if(g._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${f}`);let h=cJ(f,g,function(a,b){if(b.data&&b.data.datasets){let c=b.data.datasets.filter(b=>b.xAxisID===a||b.yAxisID===a);if(c.length)return cK(a,"x",c[0])||cK(a,"y",c[0])}return{}}(f,a),aY.scales[g.type]),i=h===d?"_index_":"_value_",j=b.scales||{};e[f]=V(Object.create(null),[{axis:h},g,j[h],j[i]])}),a.data.datasets.forEach(b=>{let d=b.type||a.type,g=b.indexAxis||cH(d,f),h=(aU[d]||{}).scales||{};Object.keys(h).forEach(a=>{let d,f=(d=a,"_index_"===a?d=g:"_value_"===a&&(d="x"===g?"y":"x"),d),i=b[f+"AxisID"]||f;e[i]=e[i]||Object.create(null),V(e[i],[{axis:f},c[i],h[a]])})}),Object.keys(e).forEach(a=>{let b=e[a];V(b,[aY.scales[b.type],aY.scale])}),f.scales=e}function cM(a){return(a=a||{}).datasets=a.datasets||[],a.labels=a.labels||[],a}let cN=new Map,cO=new Set;function cP(a,b){let c=cN.get(a);return c||(c=b(),cN.set(a,c),cO.add(c)),c}let cQ=(a,b,c)=>{let d=Y(b,c);void 0!==d&&a.add(d)};class cR{constructor(a){this._config=function(a){return(a=a||{}).data=cM(a.data),cL(a),a}(a),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(a){this._config.type=a}get data(){return this._config.data}set data(a){this._config.data=cM(a)}get options(){return this._config.options}set options(a){this._config.options=a}get plugins(){return this._config.plugins}update(){let a=this._config;this.clearCache(),cL(a)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(a){return cP(a,()=>[[`datasets.${a}`,""]])}datasetAnimationScopeKeys(a,b){return cP(`${a}.transition.${b}`,()=>[[`datasets.${a}.transitions.${b}`,`transitions.${b}`],[`datasets.${a}`,""]])}datasetElementScopeKeys(a,b){return cP(`${a}-${b}`,()=>[[`datasets.${a}.elements.${b}`,`datasets.${a}`,`elements.${b}`,""]])}pluginScopeKeys(a){let b=a.id,c=this.type;return cP(`${c}-plugin-${b}`,()=>[[`plugins.${b}`,...a.additionalOptionScopes||[]]])}_cachedScopes(a,b){let c=this._scopeCache,d=c.get(a);return(!d||b)&&(d=new Map,c.set(a,d)),d}getOptionScopes(a,b,c){let{options:d,type:e}=this,f=this._cachedScopes(a,c),g=f.get(b);if(g)return g;let h=new Set;b.forEach(b=>{a&&(h.add(a),b.forEach(b=>cQ(h,a,b))),b.forEach(a=>cQ(h,d,a)),b.forEach(a=>cQ(h,aU[e]||{},a)),b.forEach(a=>cQ(h,aY,a)),b.forEach(a=>cQ(h,aV,a))});let i=Array.from(h);return 0===i.length&&i.push(Object.create(null)),cO.has(b)&&f.set(b,i),i}chartOptionScopes(){let{options:a,type:b}=this;return[a,aU[b]||{},aY.datasets[b]||{},{type:b},aY,aV]}resolveNamedOptions(a,b,c,d=[""]){let e={$shared:!0},{resolver:f,subPrefixes:g}=cS(this._resolverCache,a,d),h=f;if(function(a,b){let{isScriptable:c,isIndexable:d}=bl(a);for(let e of b){let b=c(e),f=d(e),g=(f||b)&&a[e];if(b&&(_(g)||cT(g))||f&&I(g))return!0}return!1}(f,b)){e.$shared=!1,c=_(c)?c():c;let b=this.createResolver(a,c,g);h=bk(f,c,b)}for(let a of b)e[a]=h[a];return e}createResolver(a,b,c=[""],d){let{resolver:e}=cS(this._resolverCache,a,c);return J(b)?bk(e,b,void 0,d):e}}function cS(a,b,c){let d=a.get(b);d||(d=new Map,a.set(b,d));let e=c.join(),f=d.get(e);return f||(f={resolver:bj(b,c),subPrefixes:c.filter(a=>!a.toLowerCase().includes("hover"))},d.set(e,f)),f}let cT=a=>J(a)&&Object.getOwnPropertyNames(a).some(b=>_(a[b])),cU=["top","bottom","left","right","chartArea"];function cV(a,b){return"top"===a||"bottom"===a||-1===cU.indexOf(a)&&"x"===b}function cW(a,b){return function(c,d){return c[a]===d[a]?c[b]-d[b]:c[a]-d[a]}}function cX(a){let b=a.chart,c=b.options.animation;b.notifyPlugins("afterRender"),O(c&&c.onComplete,[a],b)}function cY(a){let b=a.chart,c=b.options.animation;O(c&&c.onProgress,[a],b)}function cZ(a){return a&&a.length&&(a=a[0]),a&&a.canvas&&(a=a.canvas),a}let c$={},c_=a=>{let b=cZ(a);return Object.values(c$).filter(a=>a.canvas===b).pop()};class c0{static defaults=aY;static instances=c$;static overrides=aU;static registry=cF;static version="4.5.1";static getChart=c_;static register(...a){cF.add(...a),c1()}static unregister(...a){cF.remove(...a),c1()}constructor(a,b){const c=this.config=new cR(b),d=cZ(a),e=c_(d);if(e)throw Error("Canvas is already in use. Chart with ID '"+e.id+"' must be destroyed before the canvas with ID '"+e.canvas.id+"' can be reused.");const f=c.createResolver(c.chartOptionScopes(),this.getContext());this.platform=new(c.platform||cv),this.platform.updateConfig(c);const g=this.platform.acquireContext(d,f.aspectRatio),h=g&&g.canvas,i=h&&h.height,j=h&&h.width;if(this.id=G(),this.ctx=g,this.canvas=h,this.width=j,this.height=i,this._options=f,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 cG,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=function(a,b){let c;return function(...d){return b?(clearTimeout(c),c=setTimeout(a,b,d)):a.apply(this,d),b}}(a=>this.update(a),f.resizeDelay||0),this._dataChanges=[],c$[this.id]=this,!g||!h)return void console.error("Failed to create chart: can't acquire context from the given item");bT.listen(this,"complete",cX),bT.listen(this,"progress",cY),this._initialize(),this.attached&&this.update()}get aspectRatio(){let{options:{aspectRatio:a,maintainAspectRatio:b},width:c,height:d,_aspectRatio:e}=this;return H(a)?b&&e?e:d?c/d:null:a}get data(){return this.config.data}set data(a){this.config.data=a}get options(){return this._options}set options(a){this.config.options=a}get registry(){return cF}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():bE(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return a_(this.canvas,this.ctx),this}stop(){return bT.stop(this),this}resize(a,b){bT.running(this)?this._resizeBeforeDraw={width:a,height:b}:this._resize(a,b)}_resize(a,b){let c=this.options,d=this.canvas,e=c.maintainAspectRatio&&this.aspectRatio,f=this.platform.getMaximumSize(d,a,b,e),g=c.devicePixelRatio||this.platform.getDevicePixelRatio(),h=this.width?"resize":"attach";this.width=f.width,this.height=f.height,this._aspectRatio=this.aspectRatio,bE(this,g,!0)&&(this.notifyPlugins("resize",{size:f}),O(c.onResize,[this,f],this),this.attached&&this._doResize(h)&&this.render())}ensureScalesHaveIDs(){P(this.options.scales||{},(a,b)=>{a.id=b})}buildOrUpdateScales(){let a=this.options,b=a.scales,c=this.scales,d=Object.keys(c).reduce((a,b)=>(a[b]=!1,a),{}),e=[];b&&(e=e.concat(Object.keys(b).map(a=>{let c=b[a],d=cJ(a,c),e="r"===d,f="x"===d;return{options:c,dposition:e?"chartArea":f?"bottom":"left",dtype:e?"radialLinear":f?"category":"linear"}}))),P(e,b=>{let e=b.options,f=e.id,g=cJ(f,e),h=M(e.type,b.dtype);(void 0===e.position||cV(e.position,g)!==cV(b.dposition))&&(e.position=b.dposition),d[f]=!0;let i=null;f in c&&c[f].type===h?i=c[f]:c[(i=new(cF.getScale(h))({id:f,type:h,ctx:this.ctx,chart:this})).id]=i,i.init(e,a)}),P(d,(a,b)=>{a||delete c[b]}),P(c,a=>{ct.configure(this,a,a.options),ct.addBox(this,a)})}_updateMetasets(){let a=this._metasets,b=this.data.datasets.length,c=a.length;if(a.sort((a,b)=>a.index-b.index),c>b){for(let a=b;a<c;++a)this._destroyDatasetMeta(a);a.splice(b,c-b)}this._sortedMetasets=a.slice(0).sort(cW("order","index"))}_removeUnreferencedMetasets(){let{_metasets:a,data:{datasets:b}}=this;a.length>b.length&&delete this._stacks,a.forEach((a,c)=>{0===b.filter(b=>b===a._dataset).length&&this._destroyDatasetMeta(c)})}buildOrUpdateControllers(){let a,b,c=[],d=this.data.datasets;for(this._removeUnreferencedMetasets(),a=0,b=d.length;a<b;a++){let b=d[a],e=this.getDatasetMeta(a),f=b.type||this.config.type;if(e.type&&e.type!==f&&(this._destroyDatasetMeta(a),e=this.getDatasetMeta(a)),e.type=f,e.indexAxis=b.indexAxis||cH(f,this.options),e.order=b.order||0,e.index=a,e.label=""+b.label,e.visible=this.isDatasetVisible(a),e.controller)e.controller.updateIndex(a),e.controller.linkScales();else{let b=cF.getController(f),{datasetElementType:d,dataElementType:g}=aY.datasets[f];Object.assign(b,{dataElementType:cF.getElement(g),datasetElementType:d&&cF.getElement(d)}),e.controller=new b(this,a),c.push(e.controller)}}return this._updateMetasets(),c}_resetElements(){P(this.data.datasets,(a,b)=>{this.getDatasetMeta(b).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(a){let b=this.config;b.update();let c=this._options=b.createResolver(b.chartOptionScopes(),this.getContext()),d=this._animationsDisabled=!c.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:a,cancelable:!0}))return;let e=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let f=0;for(let a=0,b=this.data.datasets.length;a<b;a++){let{controller:b}=this.getDatasetMeta(a),c=!d&&-1===e.indexOf(b);b.buildOrUpdateElements(c),f=Math.max(+b.getMaxOverflow(),f)}f=this._minPadding=c.layout.autoPadding?f:0,this._updateLayout(f),d||P(e,a=>{a.reset()}),this._updateDatasets(a),this.notifyPlugins("afterUpdate",{mode:a}),this._layers.sort(cW("z","_idx"));let{_active:g,_lastEvent:h}=this;h?this._eventHandler(h,!0):g.length&&this._updateHoverStyles(g,g,!0),this.render()}_updateScales(){P(this.scales,a=>{ct.removeBox(this,a)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){let a=this.options;aa(new Set(Object.keys(this._listeners)),new Set(a.events))&&!!this._responsiveListeners===a.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){let{_hiddenIndices:a}=this;for(let{method:c,start:d,count:e}of this._getUniformDataChanges()||[]){var b="_removeElements"===c?-e:e;for(let c of Object.keys(a)){let e=+c;if(e>=d){let f=a[c];delete a[c],(b>0||e>d)&&(a[e+b]=f)}}}}_getUniformDataChanges(){let a=this._dataChanges;if(!a||!a.length)return;this._dataChanges=[];let b=this.data.datasets.length,c=b=>new Set(a.filter(a=>a[0]===b).map((a,b)=>b+","+a.splice(1).join(","))),d=c(0);for(let a=1;a<b;a++)if(!aa(d,c(a)))return;return Array.from(d).map(a=>a.split(",")).map(a=>({method:a[1],start:+a[2],count:+a[3]}))}_updateLayout(a){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;ct.update(this,this.width,this.height,a);let b=this.chartArea,c=b.width<=0||b.height<=0;this._layers=[],P(this.boxes,a=>{c&&"chartArea"===a.position||(a.configure&&a.configure(),this._layers.push(...a._layers()))},this),this._layers.forEach((a,b)=>{a._idx=b}),this.notifyPlugins("afterLayout")}_updateDatasets(a){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:a,cancelable:!0})){for(let a=0,b=this.data.datasets.length;a<b;++a)this.getDatasetMeta(a).controller.configure();for(let b=0,c=this.data.datasets.length;b<c;++b)this._updateDataset(b,_(a)?a({datasetIndex:b}):a);this.notifyPlugins("afterDatasetsUpdate",{mode:a})}}_updateDataset(a,b){let c=this.getDatasetMeta(a),d={meta:c,index:a,mode:b,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetUpdate",d)&&(c.controller._update(b),d.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",d))}render(){!1!==this.notifyPlugins("beforeRender",{cancelable:!0})&&(bT.has(this)?this.attached&&!bT.running(this)&&bT.start(this):(this.draw(),cX({chart:this})))}draw(){let a;if(this._resizeBeforeDraw){let{width:a,height:b}=this._resizeBeforeDraw;this._resizeBeforeDraw=null,this._resize(a,b)}if(this.clear(),this.width<=0||this.height<=0||!1===this.notifyPlugins("beforeDraw",{cancelable:!0}))return;let b=this._layers;for(a=0;a<b.length&&b[a].z<=0;++a)b[a].draw(this.chartArea);for(this._drawDatasets();a<b.length;++a)b[a].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(a){let b,c,d=this._sortedMetasets,e=[];for(b=0,c=d.length;b<c;++b){let c=d[b];(!a||c.visible)&&e.push(c)}return e}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(!1===this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0}))return;let a=this.getSortedVisibleDatasetMetas();for(let b=a.length-1;b>=0;--b)this._drawDataset(a[b]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(a){let b=this.ctx,c={meta:a,index:a.index,cancelable:!0},d=bS(this,a);!1!==this.notifyPlugins("beforeDatasetDraw",c)&&(d&&a3(b,d),a.controller.draw(),d&&a4(b),c.cancelable=!1,this.notifyPlugins("afterDatasetDraw",c))}isPointInArea(a){return a2(a,this.chartArea,this._minPadding)}getElementsAtEventForMode(a,b,c,d){let e=cj.modes[b];return"function"==typeof e?e(this,a,c,d):[]}getDatasetMeta(a){let b=this.data.datasets[a],c=this._metasets,d=c.filter(a=>a&&a._dataset===b).pop();return d||(d={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:b&&b.order||0,index:a,_dataset:b,_parsed:[],_sorted:!1},c.push(d)),d}getContext(){return this.$context||(this.$context=bi(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(a){let b=this.data.datasets[a];if(!b)return!1;let c=this.getDatasetMeta(a);return"boolean"==typeof c.hidden?!c.hidden:!b.hidden}setDatasetVisibility(a,b){this.getDatasetMeta(a).hidden=!b}toggleDataVisibility(a){this._hiddenIndices[a]=!this._hiddenIndices[a]}getDataVisibility(a){return!this._hiddenIndices[a]}_updateVisibility(a,b,c){let d=c?"show":"hide",e=this.getDatasetMeta(a),f=e.controller._resolveAnimations(void 0,d);$(b)?(e.data[b].hidden=!c,this.update()):(this.setDatasetVisibility(a,c),f.update(e,{visible:c}),this.update(b=>b.datasetIndex===a?d:void 0))}hide(a,b){this._updateVisibility(a,b,!1)}show(a,b){this._updateVisibility(a,b,!0)}_destroyDatasetMeta(a){let b=this._metasets[a];b&&b.controller&&b.controller._destroy(),delete this._metasets[a]}_stop(){let a,b;for(this.stop(),bT.remove(this),a=0,b=this.data.datasets.length;a<b;++a)this._destroyDatasetMeta(a)}destroy(){this.notifyPlugins("beforeDestroy");let{canvas:a,ctx:b}=this;this._stop(),this.config.clearCache(),a&&(this.unbindEvents(),a_(a,b),this.platform.releaseContext(b),this.canvas=null,this.ctx=null),delete c$[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...a){return this.canvas.toDataURL(...a)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){let a=this._listeners,b=this.platform,c=(c,d)=>{b.addEventListener(this,c,d),a[c]=d},d=(a,b,c)=>{a.offsetX=b,a.offsetY=c,this._eventHandler(a)};P(this.options.events,a=>c(a,d))}bindResponsiveEvents(){let a;this._responsiveListeners||(this._responsiveListeners={});let b=this._responsiveListeners,c=this.platform,d=(a,d)=>{c.addEventListener(this,a,d),b[a]=d},e=(a,d)=>{b[a]&&(c.removeEventListener(this,a,d),delete b[a])},f=(a,b)=>{this.canvas&&this.resize(a,b)},g=()=>{e("attach",g),this.attached=!0,this.resize(),d("resize",f),d("detach",a)};a=()=>{this.attached=!1,e("resize",f),this._stop(),this._resize(0,0),d("attach",g)},c.isAttached(this.canvas)?g():a()}unbindEvents(){P(this._listeners,(a,b)=>{this.platform.removeEventListener(this,b,a)}),this._listeners={},P(this._responsiveListeners,(a,b)=>{this.platform.removeEventListener(this,b,a)}),this._responsiveListeners=void 0}updateHoverStyle(a,b,c){let d,e,f,g=c?"set":"remove";for("dataset"===b&&this.getDatasetMeta(a[0].datasetIndex).controller["_"+g+"DatasetHoverStyle"](),e=0,f=a.length;e<f;++e){let b=(d=a[e])&&this.getDatasetMeta(d.datasetIndex).controller;b&&b[g+"HoverStyle"](d.element,d.datasetIndex,d.index)}}getActiveElements(){return this._active||[]}setActiveElements(a){let b=this._active||[],c=a.map(({datasetIndex:a,index:b})=>{let c=this.getDatasetMeta(a);if(!c)throw Error("No dataset found at index "+a);return{datasetIndex:a,element:c.data[b],index:b}});Q(c,b)||(this._active=c,this._lastEvent=null,this._updateHoverStyles(c,b))}notifyPlugins(a,b,c){return this._plugins.notify(this,a,b,c)}isPluginEnabled(a){return 1===this._plugins._cache.filter(b=>b.plugin.id===a).length}_updateHoverStyles(a,b,c){let d=this.options.hover,e=(a,b)=>a.filter(a=>!b.some(b=>a.datasetIndex===b.datasetIndex&&a.index===b.index)),f=e(b,a),g=c?a:e(a,b);f.length&&this.updateHoverStyle(f,d.mode,!1),g.length&&d.mode&&this.updateHoverStyle(g,d.mode,!0)}_eventHandler(a,b){let c={event:a,replay:b,cancelable:!0,inChartArea:this.isPointInArea(a)},d=b=>(b.options.events||this.options.events).includes(a.native.type);if(!1===this.notifyPlugins("beforeEvent",c,d))return;let e=this._handleEvent(a,b,c.inChartArea);return c.cancelable=!1,this.notifyPlugins("afterEvent",c,d),(e||c.changed)&&this.render(),this}_handleEvent(a,b,c){var d;let{_active:e=[],options:f}=this,g=this._getActiveElements(a,e,c,b),h="mouseup"===a.type||"click"===a.type||"contextmenu"===a.type,i=(d=this._lastEvent,c&&"mouseout"!==a.type?h?d:a:null);c&&(this._lastEvent=null,O(f.onHover,[a,g,this],this),h&&O(f.onClick,[a,g,this],this));let j=!Q(g,e);return(j||b)&&(this._active=g,this._updateHoverStyles(g,e,b)),this._lastEvent=i,j}_getActiveElements(a,b,c,d){if("mouseout"===a.type)return[];if(!c)return b;let e=this.options.hover;return this.getElementsAtEventForMode(a,e.mode,e,d)}}function c1(){return P(c0.instances,a=>a._plugins.invalidate())}function c2(a,b,c,d){return{x:c+a*Math.cos(b),y:d+a*Math.sin(b)}}function c3(a,b,c,d,e,f){var g,h,i,j;let k,l,m,n,{x:o,y:p,startAngle:q,pixelMargin:r,innerRadius:s}=b,t=Math.max(b.outerRadius+d+c-r,0),u=s>0?s+d+c+r:0,v=0,w=e-q;if(d){let a=t>0?t-d:0,b=((s>0?s-d:0)+a)/2;v=(w-(0!==b?w*b/(b+d):w))/2}let x=Math.max(.001,w*t-c/ab)/t,y=(w-x)/2,z=q+y+v,A=e-y-v,{outerStart:B,outerEnd:C,innerStart:D,innerEnd:E}=(g=b,h=u,i=t,j=A-z,k=bc(g.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]),m=Math.min(l=(i-h)/2,j*h/2),{outerStart:(n=a=>{let b=(i-Math.min(l,a))*j/2;return av(a,0,Math.min(l,b))})(k.outerStart),outerEnd:n(k.outerEnd),innerStart:av(k.innerStart,0,m),innerEnd:av(k.innerEnd,0,m)}),F=t-B,G=t-C,H=z+B/F,I=A-C/G,J=u+D,K=u+E,L=z+D/J,M=A-E/K;if(a.beginPath(),f){let b=(H+I)/2;if(a.arc(o,p,t,H,b),a.arc(o,p,t,b,I),C>0){let b=c2(G,I,o,p);a.arc(b.x,b.y,C,I,A+af)}let c=c2(K,A,o,p);if(a.lineTo(c.x,c.y),E>0){let b=c2(K,M,o,p);a.arc(b.x,b.y,E,A+af,M+Math.PI)}let d=(A-E/u+(z+D/u))/2;if(a.arc(o,p,u,A-E/u,d,!0),a.arc(o,p,u,d,z+D/u,!0),D>0){let b=c2(J,L,o,p);a.arc(b.x,b.y,D,L+Math.PI,z-af)}let e=c2(F,z,o,p);if(a.lineTo(e.x,e.y),B>0){let b=c2(F,H,o,p);a.arc(b.x,b.y,B,z-af,H)}}else{a.moveTo(o,p);let b=Math.cos(H)*t+o,c=Math.sin(H)*t+p;a.lineTo(b,c);let d=Math.cos(I)*t+o,e=Math.sin(I)*t+p;a.lineTo(d,e)}a.closePath()}function c4(a,b,c=b){a.lineCap=M(c.borderCapStyle,b.borderCapStyle),a.setLineDash(M(c.borderDash,b.borderDash)),a.lineDashOffset=M(c.borderDashOffset,b.borderDashOffset),a.lineJoin=M(c.borderJoinStyle,b.borderJoinStyle),a.lineWidth=M(c.borderWidth,b.borderWidth),a.strokeStyle=M(c.borderColor,b.borderColor)}function c5(a,b,c){a.lineTo(c.x,c.y)}function c6(a,b,c={}){let d=a.length,{start:e=0,end:f=d-1}=c,{start:g,end:h}=b,i=Math.max(e,g),j=Math.min(f,h);return{count:d,start:i,loop:b.loop,ilen:j<i&&!(e<g&&f<g||e>h&&f>h)?d+j-i:j-i}}function c7(a,b,c,d){let e,f,g,{points:h,options:i}=b,{count:j,start:k,loop:l,ilen:m}=c6(h,c,d),n=i.stepped?a5:i.tension||"monotone"===i.cubicInterpolationMode?a6:c5,{move:o=!0,reverse:p}=d||{};for(e=0;e<=m;++e)(f=h[(k+(p?m-e:e))%j]).skip||(o?(a.moveTo(f.x,f.y),o=!1):n(a,g,f,p,i.stepped),g=f);return l&&n(a,g,f=h[(k+(p?m:0))%j],p,i.stepped),!!l}function c8(a,b,c,d){let e,f,g,h,i,j,k=b.points,{count:l,start:m,ilen:n}=c6(k,c,d),{move:o=!0,reverse:p}=d||{},q=0,r=0,s=a=>(m+(p?n-a:a))%l,t=()=>{h!==i&&(a.lineTo(q,i),a.lineTo(q,h),a.lineTo(q,j))};for(o&&(f=k[s(0)],a.moveTo(f.x,f.y)),e=0;e<=n;++e){if((f=k[s(e)]).skip)continue;let b=f.x,c=f.y,d=0|b;d===g?(c<h?h=c:c>i&&(i=c),q=(r*q+b)/++r):(t(),a.lineTo(b,c),g=d,r=0,h=i=c),j=c}t()}function c9(a){let b=a.options,c=b.borderDash&&b.borderDash.length;return a._decimated||a._loop||b.tension||"monotone"===b.cubicInterpolationMode||b.stepped||c?c7:c8}let da="function"==typeof Path2D;class db extends cw{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:a=>"borderDash"!==a&&"fill"!==a};constructor(a){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,a&&Object.assign(this,a)}updateControlPoints(a,b){let c=this.options;if((c.tension||"monotone"===c.cubicInterpolationMode)&&!c.stepped&&!this._pointsUpdated){let d=c.spanGaps?this._loop:this._fullLoop;!function(a,b,c,d,e){let f,g,h,i;if(b.spanGaps&&(a=a.filter(a=>!a.skip)),"monotone"===b.cubicInterpolationMode)!function(a,b="x"){let c,d,e,f=bx(b),g=a.length,h=Array(g).fill(0),i=Array(g),j=bw(a,0);for(c=0;c<g;++c)if(d=e,e=j,j=bw(a,c+1),e){if(j){let a=j[b]-e[b];h[c]=0!==a?(j[f]-e[f])/a:0}i[c]=d?j?aj(h[c-1])!==aj(h[c])?0:(h[c-1]+h[c])/2:h[c-1]:h[c]}!function(a,b,c){let d,e,f,g,h,i=a.length,j=bw(a,0);for(let k=0;k<i-1;++k)if(h=j,j=bw(a,k+1),h&&j){if(ak(b[k],0,bv)){c[k]=c[k+1]=0;continue}(g=Math.pow(d=c[k]/b[k],2)+Math.pow(e=c[k+1]/b[k],2))<=9||(f=3/Math.sqrt(g),c[k]=d*f*b[k],c[k+1]=e*f*b[k])}}(a,h,i),function(a,b,c="x"){let d,e,f,g=bx(c),h=a.length,i=bw(a,0);for(let j=0;j<h;++j){if(e=f,f=i,i=bw(a,j+1),!f)continue;let h=f[c],k=f[g];e&&(d=(h-e[c])/3,f[`cp1${c}`]=h-d,f[`cp1${g}`]=k-d*b[j]),i&&(d=(i[c]-h)/3,f[`cp2${c}`]=h+d,f[`cp2${g}`]=k+d*b[j])}}(a,i,b)}(a,e);else{let c=d?a[a.length-1]:a[0];for(f=0,g=a.length;f<g;++f)i=function(a,b,c,d){let e=a.skip?b:a,f=c.skip?b:c,g=ar(b,e),h=ar(f,b),i=g/(g+h),j=h/(g+h);i=isNaN(i)?0:i,j=isNaN(j)?0:j;let k=d*i,l=d*j;return{previous:{x:b.x-k*(f.x-e.x),y:b.y-k*(f.y-e.y)},next:{x:b.x+l*(f.x-e.x),y:b.y+l*(f.y-e.y)}}}(c,h=a[f],a[Math.min(f+1,g-!d)%g],b.tension),h.cp1x=i.previous.x,h.cp1y=i.previous.y,h.cp2x=i.next.x,h.cp2y=i.next.y,c=h}b.capBezierPoints&&function(a,b){let c,d,e,f,g,h=a2(a[0],b);for(c=0,d=a.length;c<d;++c)g=f,f=h,h=c<d-1&&a2(a[c+1],b),f&&(e=a[c],g&&(e.cp1x=by(e.cp1x,b.left,b.right),e.cp1y=by(e.cp1y,b.top,b.bottom)),h&&(e.cp2x=by(e.cp2x,b.left,b.right),e.cp2y=by(e.cp2y,b.top,b.bottom)))}(a,c)}(this._points,c,a,d,b),this._pointsUpdated=!0}}set points(a){this._points=a,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=function(a,b){let c=a.points,d=a.options.spanGaps,e=c.length;if(!e)return[];let f=!!a._loop,{start:g,end:h}=function(a,b,c,d){let e=0,f=b-1;if(c&&!d)for(;e<b&&!a[e].skip;)e++;for(;e<b&&a[e].skip;)e++;for(e%=b,c&&(f+=e);f>e&&a[f%b].skip;)f--;return{start:e,end:f%=b}}(c,e,f,d);if(!0===d)return bP(a,[{start:g,end:h,loop:f}],c,b);let i=h<g?h+e:h,j=!!a._fullLoop&&0===g&&h===e-1;return bP(a,function(a,b,c,d){let e,f=a.length,g=[],h=b,i=a[b];for(e=b+1;e<=c;++e){let c=a[e%f];c.skip||c.stop?i.skip||(d=!1,g.push({start:b%f,end:(e-1)%f,loop:d}),b=h=c.stop?e:null):(h=e,i.skip&&(b=e)),i=c}return null!==h&&g.push({start:b%f,end:h%f,loop:d}),g}(c,g,i,j),c,b)}(this,this.options.segment))}first(){let a=this.segments,b=this.points;return a.length&&b[a[0].start]}last(){let a=this.segments,b=this.points,c=a.length;return c&&b[a[c-1].end]}interpolate(a,b){let c,d,e=this.options,f=a[b],g=this.points,h=bO(this,{property:b,start:f,end:f});if(!h.length)return;let i=[],j=e.stepped?bG:e.tension||"monotone"===e.cubicInterpolationMode?bH:bF;for(c=0,d=h.length;c<d;++c){let{start:d,end:k}=h[c],l=g[d],m=g[k];if(l===m){i.push(l);continue}let n=Math.abs((f-l[b])/(m[b]-l[b])),o=j(l,m,n,e.stepped);o[b]=a[b],i.push(o)}return 1===i.length?i[0]:i}pathSegment(a,b,c){return c9(this)(a,this,b,c)}path(a,b,c){let d=this.segments,e=c9(this),f=this._loop;for(let g of(b=b||0,c=c||this.points.length-b,d))f&=e(a,this,g,{start:b,end:b+c-1});return!!f}draw(a,b,c,d){let e=this.options||{};(this.points||[]).length&&e.borderWidth&&(a.save(),function(a,b,c,d){if(da&&!b.options.segment){let e;(e=b._path)||(e=b._path=new Path2D,b.path(e,c,d)&&e.closePath()),c4(a,b.options),a.stroke(e)}else!function(a,b,c,d){let{segments:e,options:f}=b,g=c9(b);for(let h of e)c4(a,f,h.style),a.beginPath(),g(a,b,h,{start:c,end:c+d-1})&&a.closePath(),a.stroke()}(a,b,c,d)}(a,this,c,d),a.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}function dc(a,b,c,d){let e=a.options,{[c]:f}=a.getProps([c],d);return Math.abs(b-f)<e.radius+e.hitRadius}function dd(a,b){let c,d,e,f,g,{x:h,y:i,base:j,width:k,height:l}=a.getProps(["x","y","base","width","height"],b);return a.horizontal?(g=l/2,c=Math.min(h,j),d=Math.max(h,j),e=i-g,f=i+g):(c=h-(g=k/2),d=h+g,e=Math.min(i,j),f=Math.max(i,j)),{left:c,top:e,right:d,bottom:f}}function de(a,b,c,d){return a?0:av(b,c,d)}function df(a,b,c,d){let e=null===b,f=null===c,g=a&&!(e&&f)&&dd(a,d);return g&&(e||aw(b,g.left,g.right))&&(f||aw(c,g.top,g.bottom))}function dg(a,b){a.rect(b.x,b.y,b.w,b.h)}function dh(a,b,c={}){let d=a.x!==c.x?-b:0,e=a.y!==c.y?-b:0,f=(a.x+a.w!==c.x+c.w?b:0)-d,g=(a.y+a.h!==c.y+c.h?b:0)-e;return{x:a.x+d,y:a.y+e,w:a.w+f,h:a.h+g,radius:a.radius}}let di=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],dj=di.map(a=>a.replace("rgb(","rgba(").replace(")",", 0.5)")),dk=(a,b)=>{let{boxHeight:c=b,boxWidth:d=b}=a;return a.usePointStyle&&(c=Math.min(c,b),d=a.pointStyleWidth||Math.min(d,b)),{boxWidth:d,boxHeight:c,itemHeight:Math.max(b,c)}};class dl extends cw{constructor(a){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=a.chart,this.options=a.options,this.ctx=a.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(a,b,c){this.maxWidth=a,this.maxHeight=b,this._margins=c,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(){let a=this.options.labels||{},b=O(a.generateLabels,[this.chart],this)||[];a.filter&&(b=b.filter(b=>a.filter(b,this.chart.data))),a.sort&&(b=b.sort((b,c)=>a.sort(b,c,this.chart.data))),this.options.reverse&&b.reverse(),this.legendItems=b}fit(){let a,b,{options:c,ctx:d}=this;if(!c.display){this.width=this.height=0;return}let e=c.labels,f=bg(e.font),g=f.size,h=this._computeTitleHeight(),{boxWidth:i,itemHeight:j}=dk(e,g);d.font=f.string,this.isHorizontal()?(a=this.maxWidth,b=this._fitRows(h,g,i,j)+10):(b=this.maxHeight,a=this._fitCols(h,f,i,j)+10),this.width=Math.min(a,c.maxWidth||this.maxWidth),this.height=Math.min(b,c.maxHeight||this.maxHeight)}_fitRows(a,b,c,d){let{ctx:e,maxWidth:f,options:{labels:{padding:g}}}=this,h=this.legendHitBoxes=[],i=this.lineWidths=[0],j=d+g,k=a;e.textAlign="left",e.textBaseline="middle";let l=-1,m=-j;return this.legendItems.forEach((a,n)=>{let o=c+b/2+e.measureText(a.text).width;(0===n||i[i.length-1]+o+2*g>f)&&(k+=j,i[i.length-(n>0?0:1)]=0,m+=j,l++),h[n]={left:0,top:m,row:l,width:o,height:d},i[i.length-1]+=o+g}),k}_fitCols(a,b,c,d){let{ctx:e,maxHeight:f,options:{labels:{padding:g}}}=this,h=this.legendHitBoxes=[],i=this.columnSizes=[],j=f-a,k=g,l=0,m=0,n=0,o=0;return this.legendItems.forEach((a,f)=>{var p,q,r,s,t,u,v,w,x,y,z,A;let B,C,{itemWidth:D,itemHeight:E}=(p=c,q=b,r=e,s=a,t=d,{itemWidth:(u=s,v=p,w=q,x=r,(B=u.text)&&"string"!=typeof B&&(B=B.reduce((a,b)=>a.length>b.length?a:b)),v+w.size/2+x.measureText(B).width),itemHeight:(y=t,z=s,A=q.lineHeight,C=y,"string"!=typeof z.text&&(C=dm(z,A)),C)});f>0&&m+E+2*g>j&&(k+=l+g,i.push({width:l,height:m}),n+=l+g,o++,l=m=0),h[f]={left:n,top:m,col:o,width:D,height:E},l=Math.max(l,D),m+=E+g}),k+=l,i.push({width:l,height:m}),k}adjustHitBoxes(){if(!this.options.display)return;let a=this._computeTitleHeight(),{legendHitBoxes:b,options:{align:c,labels:{padding:d},rtl:e}}=this,f=bI(e,this.left,this.width);if(this.isHorizontal()){let e=0,g=aF(c,this.left+d,this.right-this.lineWidths[e]);for(let h of b)e!==h.row&&(e=h.row,g=aF(c,this.left+d,this.right-this.lineWidths[e])),h.top+=this.top+a+d,h.left=f.leftForLtr(f.x(g),h.width),g+=h.width+d}else{let e=0,g=aF(c,this.top+a+d,this.bottom-this.columnSizes[e].height);for(let h of b)h.col!==e&&(e=h.col,g=aF(c,this.top+a+d,this.bottom-this.columnSizes[e].height)),h.top=g,h.left+=this.left+d,h.left=f.leftForLtr(f.x(h.left),h.width),g+=h.height+d}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){let a=this.ctx;a3(a,this),this._draw(),a4(a)}}_draw(){let a,{options:b,columnSizes:c,lineWidths:d,ctx:e}=this,{align:f,labels:g}=b,h=aY.color,i=bI(b.rtl,this.left,this.width),j=bg(g.font),{padding:k}=g,l=j.size,m=l/2;this.drawTitle(),e.textAlign=i.textAlign("left"),e.textBaseline="middle",e.lineWidth=.5,e.font=j.string;let{boxWidth:n,boxHeight:o,itemHeight:p}=dk(g,l),q=function(a,b,c){if(isNaN(n)||n<=0||isNaN(o)||o<0)return;e.save();let d=M(c.lineWidth,1);if(e.fillStyle=M(c.fillStyle,h),e.lineCap=M(c.lineCap,"butt"),e.lineDashOffset=M(c.lineDashOffset,0),e.lineJoin=M(c.lineJoin,"miter"),e.lineWidth=d,e.strokeStyle=M(c.strokeStyle,h),e.setLineDash(M(c.lineDash,[])),g.usePointStyle)a1(e,{radius:o*Math.SQRT2/2,pointStyle:c.pointStyle,rotation:c.rotation,borderWidth:d},i.xPlus(a,n/2),b+m,g.pointStyleWidth&&n);else{let f=b+Math.max((l-o)/2,0),g=i.leftForLtr(a,n),h=be(c.borderRadius);e.beginPath(),Object.values(h).some(a=>0!==a)?a8(e,{x:g,y:f,w:n,h:o,radius:h}):e.rect(g,f,n,o),e.fill(),0!==d&&e.stroke()}e.restore()},r=function(a,b,c){a7(e,c.text,a,b+p/2,j,{strikethrough:c.hidden,textAlign:i.textAlign(c.textAlign)})},s=this.isHorizontal(),t=this._computeTitleHeight();a=s?{x:aF(f,this.left+k,this.right-d[0]),y:this.top+k+t,line:0}:{x:this.left+k,y:aF(f,this.top+t+k,this.bottom-c[0].height),line:0},bJ(this.ctx,b.textDirection);let u=p+k;this.legendItems.forEach((h,l)=>{var o,p;e.strokeStyle=h.fontColor,e.fillStyle=h.fontColor;let v=e.measureText(h.text).width,w=i.textAlign(h.textAlign||(h.textAlign=g.textAlign)),x=n+m+v,y=a.x,z=a.y;if(i.setWidth(this.width),s?l>0&&y+x+k>this.right&&(z=a.y+=u,a.line++,y=a.x=aF(f,this.left+k,this.right-d[a.line])):l>0&&z+u>this.bottom&&(y=a.x=y+c[a.line].width+k,a.line++,z=a.y=aF(f,this.top+t+k,this.bottom-c[a.line].height)),q(i.x(y),z,h),o=y+n+m,p=s?y+x:this.right,y=w===(b.rtl?"left":"right")?p:"center"===w?(o+p)/2:o,r(i.x(y),z,h),s)a.x+=x+k;else if("string"!=typeof h.text){let b=j.lineHeight;a.y+=dm(h,b)+k}else a.y+=u}),bK(this.ctx,b.textDirection)}drawTitle(){let a,b=this.options,c=b.title,d=bg(c.font),e=bf(c.padding);if(!c.display)return;let f=bI(b.rtl,this.left,this.width),g=this.ctx,h=c.position,i=d.size/2,j=e.top+i,k=this.left,l=this.width;if(this.isHorizontal())l=Math.max(...this.lineWidths),a=this.top+j,k=aF(b.align,k,this.right-l);else{let c=this.columnSizes.reduce((a,b)=>Math.max(a,b.height),0);a=j+aF(b.align,this.top,this.bottom-c-b.labels.padding-this._computeTitleHeight())}let m=aF(h,k,k+l);g.textAlign=f.textAlign(aE(h)),g.textBaseline="middle",g.strokeStyle=c.color,g.fillStyle=c.color,g.font=d.string,a7(g,c.text,m,a,d)}_computeTitleHeight(){let a=this.options.title,b=bg(a.font),c=bf(a.padding);return a.display?b.lineHeight+c.height:0}_getLegendItemAt(a,b){let c,d,e;if(aw(a,this.left,this.right)&&aw(b,this.top,this.bottom)){for(c=0,e=this.legendHitBoxes;c<e.length;++c)if(aw(a,(d=e[c]).left,d.left+d.width)&&aw(b,d.top,d.top+d.height))return this.legendItems[c]}return null}handleEvent(a){var b,c;let d=this.options;if(b=a.type,c=d,("mousemove"!==b&&"mouseout"!==b||!c.onHover&&!c.onLeave)&&(!c.onClick||"click"!==b&&"mouseup"!==b))return;let e=this._getLegendItemAt(a.x,a.y);if("mousemove"===a.type||"mouseout"===a.type){let b=this._hoveredItem,c=null!==b&&null!==e&&b.datasetIndex===e.datasetIndex&&b.index===e.index;b&&!c&&O(d.onLeave,[a,b,this],this),this._hoveredItem=e,e&&!c&&O(d.onHover,[a,e,this],this)}else e&&O(d.onClick,[a,e,this],this)}}function dm(a,b){return b*(a.text?a.text.length:0)}class dn extends cw{constructor(a){super(),this.chart=a.chart,this.options=a.options,this.ctx=a.ctx,this._padding=void 0,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.position=void 0,this.weight=void 0,this.fullSize=void 0}update(a,b){let c=this.options;if(this.left=0,this.top=0,!c.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=a,this.height=this.bottom=b;let d=I(c.text)?c.text.length:1;this._padding=bf(c.padding);let e=d*bg(c.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=e:this.width=e}isHorizontal(){let a=this.options.position;return"top"===a||"bottom"===a}_drawArgs(a){let b,c,d,{top:e,left:f,bottom:g,right:h,options:i}=this,j=i.align,k=0;return this.isHorizontal()?(c=aF(j,f,h),d=e+a,b=h-f):("left"===i.position?(c=f+a,d=aF(j,g,e),k=-.5*ab):(c=h-a,d=aF(j,e,g),k=.5*ab),b=g-e),{titleX:c,titleY:d,maxWidth:b,rotation:k}}draw(){let a=this.ctx,b=this.options;if(!b.display)return;let c=bg(b.font),d=c.lineHeight/2+this._padding.top,{titleX:e,titleY:f,maxWidth:g,rotation:h}=this._drawArgs(d);a7(a,b.text,0,0,c,{color:b.color,maxWidth:g,rotation:h,textAlign:aE(b.align),textBaseline:"middle",translation:[e,f]})}}new WeakMap;let dp={average(a){let b,c;if(!a.length)return!1;let d=new Set,e=0,f=0;for(b=0,c=a.length;b<c;++b){let c=a[b].element;if(c&&c.hasValue()){let a=c.tooltipPosition();d.add(a.x),e+=a.y,++f}}return 0!==f&&0!==d.size&&{x:[...d].reduce((a,b)=>a+b)/d.size,y:e/f}},nearest(a,b){let c,d,e;if(!a.length)return!1;let f=b.x,g=b.y,h=1/0;for(c=0,d=a.length;c<d;++c){let d=a[c].element;if(d&&d.hasValue()){let a=ar(b,d.getCenterPoint());a<h&&(h=a,e=d)}}if(e){let a=e.tooltipPosition();f=a.x,g=a.y}return{x:f,y:g}}};function dq(a,b){return b&&(I(b)?Array.prototype.push.apply(a,b):a.push(b)),a}function dr(a){return("string"==typeof a||a instanceof String)&&a.indexOf("\n")>-1?a.split("\n"):a}function ds(a,b){let c=a.chart.ctx,{body:d,footer:e,title:f}=a,{boxWidth:g,boxHeight:h}=b,i=bg(b.bodyFont),j=bg(b.titleFont),k=bg(b.footerFont),l=f.length,m=e.length,n=d.length,o=bf(b.padding),p=o.height,q=0,r=d.reduce((a,b)=>a+b.before.length+b.lines.length+b.after.length,0);r+=a.beforeBody.length+a.afterBody.length,l&&(p+=l*j.lineHeight+(l-1)*b.titleSpacing+b.titleMarginBottom),r&&(p+=n*(b.displayColors?Math.max(h,i.lineHeight):i.lineHeight)+(r-n)*i.lineHeight+(r-1)*b.bodySpacing),m&&(p+=b.footerMarginTop+m*k.lineHeight+(m-1)*b.footerSpacing);let s=0,t=function(a){q=Math.max(q,c.measureText(a).width+s)};return c.save(),c.font=j.string,P(a.title,t),c.font=i.string,P(a.beforeBody.concat(a.afterBody),t),s=b.displayColors?g+2+b.boxPadding:0,P(d,a=>{P(a.before,t),P(a.lines,t),P(a.after,t)}),s=0,c.font=k.string,P(a.footer,t),c.restore(),{width:q+=o.width,height:p}}function dt(a,b,c){let d=c.yAlign||b.yAlign||function(a,b){let{y:c,height:d}=b;return c<d/2?"top":c>a.height-d/2?"bottom":"center"}(a,c);return{xAlign:c.xAlign||b.xAlign||function(a,b,c,d){let{x:e,width:f}=c,{width:g,chartArea:{left:h,right:i}}=a,j="center";return"center"===d?j=e<=(h+i)/2?"left":"right":e<=f/2?j="left":e>=g-f/2&&(j="right"),function(a,b,c,d){let{x:e,width:f}=d,g=c.caretSize+c.caretPadding;if("left"===a&&e+f+g>b.width||"right"===a&&e-f-g<0)return!0}(j,a,b,c)&&(j="center"),j}(a,b,c,d),yAlign:d}}function du(a,b,c,d){let{caretSize:e,caretPadding:f,cornerRadius:g}=a,{xAlign:h,yAlign:i}=c,j=e+f,{topLeft:k,topRight:l,bottomLeft:m,bottomRight:n}=be(g),o=function(a,b){let{x:c,width:d}=a;return"right"===b?c-=d:"center"===b&&(c-=d/2),c}(b,h),p=function(a,b,c){let{y:d,height:e}=a;return"top"===b?d+=c:"bottom"===b?d-=e+c:d-=e/2,d}(b,i,j);return"center"===i?"left"===h?o+=j:"right"===h&&(o-=j):"left"===h?o-=Math.max(k,m)+e:"right"===h&&(o+=Math.max(l,n)+e),{x:av(o,0,d.width-b.width),y:av(p,0,d.height-b.height)}}function dv(a,b,c){let d=bf(c.padding);return"center"===b?a.x+a.width/2:"right"===b?a.x+a.width-d.right:a.x+d.left}function dw(a,b){let c=b&&b.dataset&&b.dataset.tooltip&&b.dataset.tooltip.callbacks;return c?a.override(c):a}let dx={beforeTitle:F,title(a){if(a.length>0){let b=a[0],c=b.chart.data.labels,d=c?c.length:0;if(this&&this.options&&"dataset"===this.options.mode)return b.dataset.label||"";if(b.label)return b.label;if(d>0&&b.dataIndex<d)return c[b.dataIndex]}return""},afterTitle:F,beforeBody:F,beforeLabel:F,label(a){if(this&&this.options&&"dataset"===this.options.mode)return a.label+": "+a.formattedValue||a.formattedValue;let b=a.dataset.label||"";b&&(b+=": ");let c=a.formattedValue;return H(c)||(b+=c),b},labelColor(a){let b=a.chart.getDatasetMeta(a.datasetIndex).controller.getStyle(a.dataIndex);return{borderColor:b.borderColor,backgroundColor:b.backgroundColor,borderWidth:b.borderWidth,borderDash:b.borderDash,borderDashOffset:b.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(a){let b=a.chart.getDatasetMeta(a.datasetIndex).controller.getStyle(a.dataIndex);return{pointStyle:b.pointStyle,rotation:b.rotation}},afterLabel:F,afterBody:F,beforeFooter:F,footer:F,afterFooter:F};function dy(a,b,c,d){let e=a[b].call(c,d);return void 0===e?dx[b].call(c,d):e}class dz extends cw{static positioners=dp;constructor(a){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=a.chart,this.options=a.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(a){this.options=a,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){let a=this._cachedAnimations;if(a)return a;let b=this.chart,c=this.options.setContext(this.getContext()),d=c.enabled&&b.options.animation&&c.animations,e=new bX(this.chart,d);return d._cacheable&&(this._cachedAnimations=Object.freeze(e)),e}getContext(){var a;return this.$context||(this.$context=(a=this.chart.getContext(),bi(a,{tooltip:this,tooltipItems:this._tooltipItems,type:"tooltip"})))}getTitle(a,b){let{callbacks:c}=b,d=dy(c,"beforeTitle",this,a),e=dy(c,"title",this,a),f=dy(c,"afterTitle",this,a),g=[];return g=dq(g,dr(d)),g=dq(g,dr(e)),g=dq(g,dr(f))}getBeforeBody(a,b){return dq([],dr(dy(b.callbacks,"beforeBody",this,a)))}getBody(a,b){let{callbacks:c}=b,d=[];return P(a,a=>{let b={before:[],lines:[],after:[]},e=dw(c,a);dq(b.before,dr(dy(e,"beforeLabel",this,a))),dq(b.lines,dy(e,"label",this,a)),dq(b.after,dr(dy(e,"afterLabel",this,a))),d.push(b)}),d}getAfterBody(a,b){return dq([],dr(dy(b.callbacks,"afterBody",this,a)))}getFooter(a,b){let{callbacks:c}=b,d=dy(c,"beforeFooter",this,a),e=dy(c,"footer",this,a),f=dy(c,"afterFooter",this,a),g=[];return g=dq(g,dr(d)),g=dq(g,dr(e)),g=dq(g,dr(f))}_createItems(a){let b,c,d=this._active,e=this.chart.data,f=[],g=[],h=[],i=[];for(b=0,c=d.length;b<c;++b)i.push(function(a,b){let{element:c,datasetIndex:d,index:e}=b,f=a.getDatasetMeta(d).controller,{label:g,value:h}=f.getLabelAndValue(e);return{chart:a,label:g,parsed:f.getParsed(e),raw:a.data.datasets[d].data[e],formattedValue:h,dataset:f.getDataset(),dataIndex:e,datasetIndex:d,element:c}}(this.chart,d[b]));return a.filter&&(i=i.filter((b,c,d)=>a.filter(b,c,d,e))),a.itemSort&&(i=i.sort((b,c)=>a.itemSort(b,c,e))),P(i,b=>{let c=dw(a.callbacks,b);f.push(dy(c,"labelColor",this,b)),g.push(dy(c,"labelPointStyle",this,b)),h.push(dy(c,"labelTextColor",this,b))}),this.labelColors=f,this.labelPointStyles=g,this.labelTextColors=h,this.dataPoints=i,i}update(a,b){let c,d=this.options.setContext(this.getContext()),e=this._active,f=[];if(e.length){let a=dp[d.position].call(this,e,this._eventPosition);f=this._createItems(d),this.title=this.getTitle(f,d),this.beforeBody=this.getBeforeBody(f,d),this.body=this.getBody(f,d),this.afterBody=this.getAfterBody(f,d),this.footer=this.getFooter(f,d);let b=this._size=ds(this,d),g=Object.assign({},a,b),h=dt(this.chart,d,g),i=du(d,g,h,this.chart);this.xAlign=h.xAlign,this.yAlign=h.yAlign,c={opacity:1,x:i.x,y:i.y,width:b.width,height:b.height,caretX:a.x,caretY:a.y}}else 0!==this.opacity&&(c={opacity:0});this._tooltipItems=f,this.$context=void 0,c&&this._resolveAnimations().update(this,c),a&&d.external&&d.external.call(this,{chart:this.chart,tooltip:this,replay:b})}drawCaret(a,b,c,d){let e=this.getCaretPosition(a,c,d);b.lineTo(e.x1,e.y1),b.lineTo(e.x2,e.y2),b.lineTo(e.x3,e.y3)}getCaretPosition(a,b,c){let d,e,f,g,h,i,{xAlign:j,yAlign:k}=this,{caretSize:l,cornerRadius:m}=c,{topLeft:n,topRight:o,bottomLeft:p,bottomRight:q}=be(m),{x:r,y:s}=a,{width:t,height:u}=b;return"center"===k?(h=s+u/2,"left"===j?(e=(d=r)-l,g=h+l,i=h-l):(e=(d=r+t)+l,g=h-l,i=h+l),f=d):(e="left"===j?r+Math.max(n,p)+l:"right"===j?r+t-Math.max(o,q)-l:this.caretX,"top"===k?(h=(g=s)-l,d=e-l,f=e+l):(h=(g=s+u)+l,d=e+l,f=e-l),i=g),{x1:d,x2:e,x3:f,y1:g,y2:h,y3:i}}drawTitle(a,b,c){let d,e,f,g=this.title,h=g.length;if(h){let i=bI(c.rtl,this.x,this.width);for(f=0,a.x=dv(this,c.titleAlign,c),b.textAlign=i.textAlign(c.titleAlign),b.textBaseline="middle",d=bg(c.titleFont),e=c.titleSpacing,b.fillStyle=c.titleColor,b.font=d.string;f<h;++f)b.fillText(g[f],i.x(a.x),a.y+d.lineHeight/2),a.y+=d.lineHeight+e,f+1===h&&(a.y+=c.titleMarginBottom-e)}}_drawColorBox(a,b,c,d,e){let f=this.labelColors[c],g=this.labelPointStyles[c],{boxHeight:h,boxWidth:i}=e,j=bg(e.bodyFont),k=dv(this,"left",e),l=d.x(k),m=h<j.lineHeight?(j.lineHeight-h)/2:0,n=b.y+m;if(e.usePointStyle){let b={radius:Math.min(i,h)/2,pointStyle:g.pointStyle,rotation:g.rotation,borderWidth:1},c=d.leftForLtr(l,i)+i/2,j=n+h/2;a.strokeStyle=e.multiKeyBackground,a.fillStyle=e.multiKeyBackground,a0(a,b,c,j),a.strokeStyle=f.borderColor,a.fillStyle=f.backgroundColor,a0(a,b,c,j)}else{a.lineWidth=J(f.borderWidth)?Math.max(...Object.values(f.borderWidth)):f.borderWidth||1,a.strokeStyle=f.borderColor,a.setLineDash(f.borderDash||[]),a.lineDashOffset=f.borderDashOffset||0;let b=d.leftForLtr(l,i),c=d.leftForLtr(d.xPlus(l,1),i-2),g=be(f.borderRadius);Object.values(g).some(a=>0!==a)?(a.beginPath(),a.fillStyle=e.multiKeyBackground,a8(a,{x:b,y:n,w:i,h:h,radius:g}),a.fill(),a.stroke(),a.fillStyle=f.backgroundColor,a.beginPath(),a8(a,{x:c,y:n+1,w:i-2,h:h-2,radius:g}),a.fill()):(a.fillStyle=e.multiKeyBackground,a.fillRect(b,n,i,h),a.strokeRect(b,n,i,h),a.fillStyle=f.backgroundColor,a.fillRect(c,n+1,i-2,h-2))}a.fillStyle=this.labelTextColors[c]}drawBody(a,b,c){let d,e,f,g,h,i,{body:j}=this,{bodySpacing:k,bodyAlign:l,displayColors:m,boxHeight:n,boxWidth:o,boxPadding:p}=c,q=bg(c.bodyFont),r=q.lineHeight,s=0,t=bI(c.rtl,this.x,this.width),u=function(c){b.fillText(c,t.x(a.x+s),a.y+r/2),a.y+=r+k},v=t.textAlign(l);for(b.textAlign=l,b.textBaseline="middle",b.font=q.string,a.x=dv(this,v,c),b.fillStyle=c.bodyColor,P(this.beforeBody,u),s=m&&"right"!==v?"center"===l?o/2+p:o+2+p:0,f=0,h=j.length;f<h;++f){for(d=j[f],b.fillStyle=this.labelTextColors[f],P(d.before,u),e=d.lines,m&&e.length&&(this._drawColorBox(b,a,f,t,c),r=Math.max(q.lineHeight,n)),g=0,i=e.length;g<i;++g)u(e[g]),r=q.lineHeight;P(d.after,u)}s=0,r=q.lineHeight,P(this.afterBody,u),a.y-=k}drawFooter(a,b,c){let d,e,f=this.footer,g=f.length;if(g){let h=bI(c.rtl,this.x,this.width);for(a.x=dv(this,c.footerAlign,c),a.y+=c.footerMarginTop,b.textAlign=h.textAlign(c.footerAlign),b.textBaseline="middle",d=bg(c.footerFont),b.fillStyle=c.footerColor,b.font=d.string,e=0;e<g;++e)b.fillText(f[e],h.x(a.x),a.y+d.lineHeight/2),a.y+=d.lineHeight+c.footerSpacing}}drawBackground(a,b,c,d){let{xAlign:e,yAlign:f}=this,{x:g,y:h}=a,{width:i,height:j}=c,{topLeft:k,topRight:l,bottomLeft:m,bottomRight:n}=be(d.cornerRadius);b.fillStyle=d.backgroundColor,b.strokeStyle=d.borderColor,b.lineWidth=d.borderWidth,b.beginPath(),b.moveTo(g+k,h),"top"===f&&this.drawCaret(a,b,c,d),b.lineTo(g+i-l,h),b.quadraticCurveTo(g+i,h,g+i,h+l),"center"===f&&"right"===e&&this.drawCaret(a,b,c,d),b.lineTo(g+i,h+j-n),b.quadraticCurveTo(g+i,h+j,g+i-n,h+j),"bottom"===f&&this.drawCaret(a,b,c,d),b.lineTo(g+m,h+j),b.quadraticCurveTo(g,h+j,g,h+j-m),"center"===f&&"left"===e&&this.drawCaret(a,b,c,d),b.lineTo(g,h+k),b.quadraticCurveTo(g,h,g+k,h),b.closePath(),b.fill(),d.borderWidth>0&&b.stroke()}_updateAnimationTarget(a){let b=this.chart,c=this.$animations,d=c&&c.x,e=c&&c.y;if(d||e){let c=dp[a.position].call(this,this._active,this._eventPosition);if(!c)return;let f=this._size=ds(this,a),g=Object.assign({},c,this._size),h=dt(b,a,g),i=du(a,g,h,b);(d._to!==i.x||e._to!==i.y)&&(this.xAlign=h.xAlign,this.yAlign=h.yAlign,this.width=f.width,this.height=f.height,this.caretX=c.x,this.caretY=c.y,this._resolveAnimations().update(this,i))}}_willRender(){return!!this.opacity}draw(a){let b=this.options.setContext(this.getContext()),c=this.opacity;if(!c)return;this._updateAnimationTarget(b);let d={width:this.width,height:this.height},e={x:this.x,y:this.y};c=.001>Math.abs(c)?0:c;let f=bf(b.padding),g=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;b.enabled&&g&&(a.save(),a.globalAlpha=c,this.drawBackground(e,a,d,b),bJ(a,b.textDirection),e.y+=f.top,this.drawTitle(e,a,b),this.drawBody(e,a,b),this.drawFooter(e,a,b),bK(a,b.textDirection),a.restore())}getActiveElements(){return this._active||[]}setActiveElements(a,b){let c=this._active,d=a.map(({datasetIndex:a,index:b})=>{let c=this.chart.getDatasetMeta(a);if(!c)throw Error("Cannot find a dataset at index "+a);return{datasetIndex:a,element:c.data[b],index:b}}),e=!Q(c,d),f=this._positionChanged(d,b);(e||f)&&(this._active=d,this._eventPosition=b,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(a,b,c=!0){if(b&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;let d=this.options,e=this._active||[],f=this._getActiveElements(a,e,b,c),g=this._positionChanged(f,a),h=b||!Q(f,e)||g;return h&&(this._active=f,(d.enabled||d.external)&&(this._eventPosition={x:a.x,y:a.y},this.update(!0,b))),h}_getActiveElements(a,b,c,d){let e=this.options;if("mouseout"===a.type)return[];if(!d)return b.filter(a=>this.chart.data.datasets[a.datasetIndex]&&void 0!==this.chart.getDatasetMeta(a.datasetIndex).controller.getParsed(a.index));let f=this.chart.getElementsAtEventForMode(a,e.mode,e,c);return e.reverse&&f.reverse(),f}_positionChanged(a,b){let{caretX:c,caretY:d,options:e}=this,f=dp[e.position].call(this,a,b);return!1!==f&&(c!==f.x||d!==f.y)}}function dA(a){let b=this.getLabels();return a>=0&&a<b.length?b[a]:a}function dB(a,b,{horizontal:c,minRotation:d}){let e=ao(d),f=(c?Math.sin(e):Math.cos(e))||.001,g=.75*b*(""+a).length;return Math.min(b/f,g)}class dC extends cD{constructor(a){super(a),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(a,b){return H(a)||("number"==typeof a||a instanceof Number)&&!isFinite(+a)?null:+a}handleTickRangeOptions(){let{beginAtZero:a}=this.options,{minDefined:b,maxDefined:c}=this.getUserBounds(),{min:d,max:e}=this,f=a=>d=b?d:a,g=a=>e=c?e:a;if(a){let a=aj(d),b=aj(e);a<0&&b<0?g(0):a>0&&b>0&&f(0)}if(d===e){let b=0===e?1:Math.abs(.05*e);g(e+b),a||f(d-b)}this.min=d,this.max=e}getTickLimit(){let a,{maxTicksLimit:b,stepSize:c}=this.options.ticks;return c?(a=Math.ceil(this.max/c)-Math.floor(this.min/c)+1)>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${c} would result generating up to ${a} ticks. Limiting to 1000.`),a=1e3):(a=this.computeTickLimit(),b=b||11),b&&(a=Math.min(b,a)),a}computeTickLimit(){return 1/0}buildTicks(){let a=this.options,b=a.ticks,c=this.getTickLimit(),d=function(a,b){var c,d;let e,f,g,h,i,j=[],{bounds:k,step:l,min:m,max:n,precision:o,count:p,maxTicks:q,maxDigits:r,includeBounds:s}=a,t=l||1,u=q-1,{min:v,max:w}=b,x=!H(m),y=!H(n),z=!H(p),A=(w-v)/(r+1),B=al((w-v)/u/t)*t;if(B<1e-14&&!x&&!y)return[{value:v},{value:w}];(h=Math.ceil(w/B)-Math.floor(v/B))>u&&(B=al(h*B/u/t)*t),H(o)||(B=Math.ceil(B*(e=Math.pow(10,o)))/e),"ticks"===k?(f=Math.floor(v/B)*B,g=Math.ceil(w/B)*B):(f=v,g=w),x&&y&&l&&(c=(n-m)/l,d=B/1e3,(i=Math.round(c))-d<=c&&i+d>=c)?(h=Math.round(Math.min((n-m)/B,q)),B=(n-m)/h,f=m,g=n):z?(f=x?m:f,B=((g=y?n:g)-f)/(h=p-1)):h=ak(h=(g-f)/B,Math.round(h),B/1e3)?Math.round(h):Math.ceil(h);let C=Math.max(ap(B),ap(f));f=Math.round(f*(e=Math.pow(10,H(o)?C:o)))/e,g=Math.round(g*e)/e;let D=0;for(x&&(s&&f!==m?(j.push({value:m}),f<m&&D++,ak(Math.round((f+D*B)*e)/e,m,dB(m,A,a))&&D++):f<m&&D++);D<h;++D){let a=Math.round((f+D*B)*e)/e;if(y&&a>n)break;j.push({value:a})}return y&&s&&g!==n?j.length&&ak(j[j.length-1].value,n,dB(n,A,a))?j[j.length-1].value=n:j.push({value:n}):y&&g!==n||j.push({value:g}),j}({maxTicks:c=Math.max(2,c),bounds:a.bounds,min:a.min,max:a.max,precision:b.precision,step:b.stepSize,count:b.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:b.minRotation||0,includeBounds:!1!==b.includeBounds},this._range||this);return"ticks"===a.bounds&&an(d,this,"value"),a.reverse?(d.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),d}configure(){let a=this.ticks,b=this.min,c=this.max;if(super.configure(),this.options.offset&&a.length){let d=(c-b)/Math.max(a.length-1,1)/2;b-=d,c+=d}this._startValue=b,this._endValue=c,this._valueRange=c-b}getLabelForValue(a){return aS(a,this.chart.options.locale,this.options.ticks.format)}}class dD extends dC{static id="linear";static defaults={ticks:{callback:aT.numeric}};determineDataLimits(){let{min:a,max:b}=this.getMinMax(!0);this.min=K(a)?a:0,this.max=K(b)?b:1,this.handleTickRangeOptions()}computeTickLimit(){let a=this.isHorizontal(),b=a?this.width:this.height,c=ao(this.options.ticks.minRotation),d=(a?Math.sin(c):Math.cos(c))||.001;return Math.ceil(b/Math.min(40,this._resolveTickFontOptions(0).lineHeight/d))}getPixelForValue(a){return null===a?NaN:this.getPixelForDecimal((a-this._startValue)/this._valueRange)}getValueForPixel(a){return this._startValue+this.getDecimalForPixel(a)*this._valueRange}}let dE=a=>Math.floor(ai(a)),dF=(a,b)=>Math.pow(10,dE(a)+b);function dG(a){return 1==a/Math.pow(10,dE(a))}function dH(a,b,c){let d=Math.pow(10,c),e=Math.floor(a/d);return Math.ceil(b/d)-e}class dI extends cD{static id="logarithmic";static defaults={ticks:{callback:aT.logarithmic,major:{enabled:!0}}};constructor(a){super(a),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(a,b){let c=dC.prototype.parse.apply(this,[a,b]);if(0===c){this._zero=!0;return}return K(c)&&c>0?c:null}determineDataLimits(){let{min:a,max:b}=this.getMinMax(!0);this.min=K(a)?Math.max(0,a):null,this.max=K(b)?Math.max(0,b):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!K(this._userMin)&&(this.min=a===dF(this.min,0)?dF(this.min,-1):dF(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){let{minDefined:a,maxDefined:b}=this.getUserBounds(),c=this.min,d=this.max,e=b=>c=a?c:b,f=a=>d=b?d:a;c===d&&(c<=0?(e(1),f(10)):(e(dF(c,-1)),f(dF(d,1)))),c<=0&&e(dF(d,-1)),d<=0&&f(dF(c,1)),this.min=c,this.max=d}buildTicks(){let a=this.options,b=function(a,{min:b,max:c}){b=L(a.min,b);let d=[],e=dE(b),f=function(a,b){let c=dE(b-a);for(;dH(a,b,c)>10;)c++;for(;10>dH(a,b,c);)c--;return Math.min(c,dE(a))}(b,c),g=f<0?Math.pow(10,Math.abs(f)):1,h=Math.pow(10,f),i=e>f?Math.pow(10,e):0,j=Math.round((b-i)*g)/g,k=Math.floor((b-i)/h/10)*h*10,l=Math.floor((j-k)/Math.pow(10,f)),m=L(a.min,Math.round((i+k+l*Math.pow(10,f))*g)/g);for(;m<c;)d.push({value:m,major:dG(m),significand:l}),l>=10?l=l<15?15:20:l++,l>=20&&(l=2,g=++f>=0?1:g),m=Math.round((i+k+l*Math.pow(10,f))*g)/g;let n=L(a.max,m);return d.push({value:n,major:dG(n),significand:l}),d}({min:this._userMin,max:this._userMax},this);return"ticks"===a.bounds&&an(b,this,"value"),a.reverse?(b.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),b}getLabelForValue(a){return void 0===a?"0":aS(a,this.chart.options.locale,this.options.ticks.format)}configure(){let a=this.min;super.configure(),this._startValue=ai(a),this._valueRange=ai(this.max)-ai(a)}getPixelForValue(a){return((void 0===a||0===a)&&(a=this.min),null===a||isNaN(a))?NaN:this.getPixelForDecimal(a===this.min?0:(ai(a)-this._startValue)/this._valueRange)}getValueForPixel(a){let b=this.getDecimalForPixel(a);return Math.pow(10,this._startValue+b*this._valueRange)}}function dJ(a){let b=a.ticks;if(b.display&&a.display){let a=bf(b.backdropPadding);return M(b.font&&b.font.size,aY.font.size)+a.height}return 0}function dK(a,b,c,d,e){return a===d||a===e?{start:b-c/2,end:b+c/2}:a<d||a>e?{start:b-c,end:b}:{start:b,end:b+c}}function dL(a,b,c,d){let{ctx:e}=a;if(c)e.arc(a.xCenter,a.yCenter,b,0,ac);else{let c=a.getPointPosition(0,b);e.moveTo(c.x,c.y);for(let f=1;f<d;f++)c=a.getPointPosition(f,b),e.lineTo(c.x,c.y)}}class dM extends dC{static id="radialLinear";static defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:aT.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:a=>a,padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};static descriptors={angleLines:{_fallback:"grid"}};constructor(a){super(a),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){let a=this._padding=bf(dJ(this.options)/2),b=this.width=this.maxWidth-a.width,c=this.height=this.maxHeight-a.height;this.xCenter=Math.floor(this.left+b/2+a.left),this.yCenter=Math.floor(this.top+c/2+a.top),this.drawingArea=Math.floor(Math.min(b,c)/2)}determineDataLimits(){let{min:a,max:b}=this.getMinMax(!1);this.min=K(a)&&!isNaN(a)?a:0,this.max=K(b)&&!isNaN(b)?b:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/dJ(this.options))}generateTickLabels(a){dC.prototype.generateTickLabels.call(this,a),this._pointLabels=this.getLabels().map((a,b)=>{let c=O(this.options.pointLabels.callback,[a,b],this);return c||0===c?c:""}).filter((a,b)=>this.chart.getDataVisibility(b))}fit(){let a=this.options;a.display&&a.pointLabels.display?function(a){let b={l:a.left+a._padding.left,r:a.right-a._padding.right,t:a.top+a._padding.top,b:a.bottom-a._padding.bottom},c=Object.assign({},b),d=[],e=[],f=a._pointLabels.length,g=a.options.pointLabels,h=g.centerPointLabels?ab/f:0;for(let k=0;k<f;k++){var i,j;let f=g.setContext(a.getPointLabelContext(k));e[k]=f.padding;let l=a.getPointPosition(k,a.drawingArea+e[k],h),m=bg(f.font),n=(i=a.ctx,j=I(j=a._pointLabels[k])?j:[j],{w:function(a,b,c,d){let e,f,g,h,i,j=(d=d||{}).data=d.data||{},k=d.garbageCollect=d.garbageCollect||[];d.font!==b&&(j=d.data={},k=d.garbageCollect=[],d.font=b),a.save(),a.font=b;let l=0,m=c.length;for(e=0;e<m;e++)if(null==(h=c[e])||I(h)){if(I(h))for(f=0,g=h.length;f<g;f++)null==(i=h[f])||I(i)||(l=aZ(a,j,k,l,i))}else l=aZ(a,j,k,l,h);a.restore();let n=k.length/2;if(n>c.length){for(e=0;e<n;e++)delete j[k[e]];k.splice(0,n)}return l}(i,m.string,j),h:j.length*m.lineHeight});d[k]=n;let o=at(a.getIndexAngle(k)+h),p=Math.round(180/ab*o);!function(a,b,c,d,e){let f=Math.abs(Math.sin(c)),g=Math.abs(Math.cos(c)),h=0,i=0;d.start<b.l?(h=(b.l-d.start)/f,a.l=Math.min(a.l,b.l-h)):d.end>b.r&&(h=(d.end-b.r)/f,a.r=Math.max(a.r,b.r+h)),e.start<b.t?(i=(b.t-e.start)/g,a.t=Math.min(a.t,b.t-i)):e.end>b.b&&(i=(e.end-b.b)/g,a.b=Math.max(a.b,b.b+i))}(c,b,o,dK(p,l.x,n.w,0,180),dK(p,l.y,n.h,90,270))}a.setCenterPoint(b.l-c.l,c.r-b.r,b.t-c.t,c.b-b.b),a._pointLabelItems=function(a,b,c){let d,e=[],f=a._pointLabels.length,g=a.options,{centerPointLabels:h,display:i}=g.pointLabels,j={extra:dJ(g)/2,additionalAngle:h?ab/f:0};for(let g=0;g<f;g++){j.padding=c[g],j.size=b[g];let f=function(a,b,c){var d,e,f,g,h,i,j;let k=a.drawingArea,{extra:l,additionalAngle:m,padding:n,size:o}=c,p=a.getPointPosition(b,k+l+n,m),q=Math.round(180/ab*at(p.angle+af)),r=(d=p.y,e=o.h,90===(f=q)||270===f?d-=e/2:(f>270||f<90)&&(d-=e),d),s=0===(g=q)||180===g?"center":g<180?"left":"right",t=(h=p.x,i=o.w,"right"===(j=s)?h-=i:"center"===j&&(h-=i/2),h);return{visible:!0,x:p.x,y:r,textAlign:s,left:t,top:r,right:t+o.w,bottom:r+o.h}}(a,g,j);e.push(f),"auto"===i&&(f.visible=function(a,b){if(!b)return!0;let{left:c,top:d,right:e,bottom:f}=a;return!(a2({x:c,y:d},b)||a2({x:c,y:f},b)||a2({x:e,y:d},b)||a2({x:e,y:f},b))}(f,d),f.visible&&(d=f))}return e}(a,d,e)}(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(a,b,c,d){this.xCenter+=Math.floor((a-b)/2),this.yCenter+=Math.floor((c-d)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(a,b,c,d))}getIndexAngle(a){return at(a*(ac/(this._pointLabels.length||1))+ao(this.options.startAngle||0))}getDistanceFromCenterForValue(a){if(H(a))return NaN;let b=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-a)*b:(a-this.min)*b}getValueForDistanceFromCenter(a){if(H(a))return NaN;let b=a/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-b:this.min+b}getPointLabelContext(a){let b=this._pointLabels||[];if(a>=0&&a<b.length){var c;let d=b[a];return c=this.getContext(),bi(c,{label:d,index:a,type:"pointLabel"})}}getPointPosition(a,b,c=0){let d=this.getIndexAngle(a)-af+c;return{x:Math.cos(d)*b+this.xCenter,y:Math.sin(d)*b+this.yCenter,angle:d}}getPointPositionForValue(a,b){return this.getPointPosition(a,this.getDistanceFromCenterForValue(b))}getBasePosition(a){return this.getPointPositionForValue(a||0,this.getBaseValue())}getPointLabelPosition(a){let{left:b,top:c,right:d,bottom:e}=this._pointLabelItems[a];return{left:b,top:c,right:d,bottom:e}}drawBackground(){let{backgroundColor:a,grid:{circular:b}}=this.options;if(a){let c=this.ctx;c.save(),c.beginPath(),dL(this,this.getDistanceFromCenterForValue(this._endValue),b,this._pointLabels.length),c.closePath(),c.fillStyle=a,c.fill(),c.restore()}}drawGrid(){let a,b,c,d=this.ctx,e=this.options,{angleLines:f,grid:g,border:h}=e,i=this._pointLabels.length;if(e.pointLabels.display&&function(a,b){let{ctx:c,options:{pointLabels:d}}=a;for(let e=b-1;e>=0;e--){let b=a._pointLabelItems[e];if(!b.visible)continue;let f=d.setContext(a.getPointLabelContext(e));!function(a,b,c){let{left:d,top:e,right:f,bottom:g}=c,{backdropColor:h}=b;if(!H(h)){let c=be(b.borderRadius),i=bf(b.backdropPadding);a.fillStyle=h;let j=d-i.left,k=e-i.top,l=f-d+i.width,m=g-e+i.height;Object.values(c).some(a=>0!==a)?(a.beginPath(),a8(a,{x:j,y:k,w:l,h:m,radius:c}),a.fill()):a.fillRect(j,k,l,m)}}(c,f,b);let g=bg(f.font),{x:h,y:i,textAlign:j}=b;a7(c,a._pointLabels[e],h,i+g.lineHeight/2,g,{color:f.color,textAlign:j,textBaseline:"middle"})}}(this,i),g.display&&this.ticks.forEach((a,c)=>{if(0!==c||0===c&&this.min<0){b=this.getDistanceFromCenterForValue(a.value);let d=this.getContext(c),e=g.setContext(d),f=h.setContext(d);!function(a,b,c,d,e){let f=a.ctx,g=b.circular,{color:h,lineWidth:i}=b;(g||d)&&h&&i&&!(c<0)&&(f.save(),f.strokeStyle=h,f.lineWidth=i,f.setLineDash(e.dash||[]),f.lineDashOffset=e.dashOffset,f.beginPath(),dL(a,c,g,d),f.closePath(),f.stroke(),f.restore())}(this,e,b,i,f)}}),f.display){for(d.save(),a=i-1;a>=0;a--){let g=f.setContext(this.getPointLabelContext(a)),{color:h,lineWidth:i}=g;i&&h&&(d.lineWidth=i,d.strokeStyle=h,d.setLineDash(g.borderDash),d.lineDashOffset=g.borderDashOffset,b=this.getDistanceFromCenterForValue(e.reverse?this.min:this.max),c=this.getPointPosition(a,b),d.beginPath(),d.moveTo(this.xCenter,this.yCenter),d.lineTo(c.x,c.y),d.stroke())}d.restore()}}drawBorder(){}drawLabels(){let a,b,c=this.ctx,d=this.options,e=d.ticks;if(!e.display)return;let f=this.getIndexAngle(0);c.save(),c.translate(this.xCenter,this.yCenter),c.rotate(f),c.textAlign="center",c.textBaseline="middle",this.ticks.forEach((f,g)=>{if(0===g&&this.min>=0&&!d.reverse)return;let h=e.setContext(this.getContext(g)),i=bg(h.font);if(a=this.getDistanceFromCenterForValue(this.ticks[g].value),h.showLabelBackdrop){c.font=i.string,b=c.measureText(f.label).width,c.fillStyle=h.backdropColor;let d=bf(h.backdropPadding);c.fillRect(-b/2-d.left,-a-i.size/2-d.top,b+d.width,i.size+d.height)}a7(c,f.label,0,-a,i,{color:h.color,strokeColor:h.textStrokeColor,strokeWidth:h.textStrokeWidth})}),c.restore()}drawTitle(){}}let dN={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}},dO=Object.keys(dN);function dP(a,b){return a-b}function dQ(a,b){if(H(b))return null;let c=a._adapter,{parser:d,round:e,isoWeekday:f}=a._parseOpts,g=b;return("function"==typeof d&&(g=d(g)),K(g)||(g="string"==typeof d?c.parse(g,d):c.parse(g)),null===g)?null:(e&&(g="week"===e&&(am(f)||!0===f)?c.startOf(g,"isoWeek",f):c.startOf(g,e)),+g)}function dR(a,b,c,d){let e=dO.length;for(let f=dO.indexOf(a);f<e-1;++f){let a=dN[dO[f]],e=a.steps?a.steps:Number.MAX_SAFE_INTEGER;if(a.common&&Math.ceil((c-b)/(e*a.size))<=d)return dO[f]}return dO[e-1]}function dS(a,b,c){if(c){if(c.length){let{lo:d,hi:e}=ax(c,b);a[c[d]>=b?c[d]:c[e]]=!0}}else a[b]=!0}function dT(a,b,c){let d,e,f=[],g={},h=b.length;for(d=0;d<h;++d)g[e=b[d]]=d,f.push({value:e,major:!1});return 0!==h&&c?function(a,b,c,d){let e,f,g=a._adapter,h=+g.startOf(b[0].value,d),i=b[b.length-1].value;for(e=h;e<=i;e=+g.add(e,1,d))(f=c[e])>=0&&(b[f].major=!0);return b}(a,f,g,c):f}class dU extends cD{static id="time";static defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}};constructor(a){super(a),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(a,b={}){let c=a.time||(a.time={}),d=this._adapter=new ce(a.adapters.date);d.init(b),V(c.displayFormats,d.formats()),this._parseOpts={parser:c.parser,round:c.round,isoWeekday:c.isoWeekday},super.init(a),this._normalized=b.normalized}parse(a,b){return void 0===a?null:dQ(this,a)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){let a=this.options,b=this._adapter,c=a.time.unit||"day",{min:d,max:e,minDefined:f,maxDefined:g}=this.getUserBounds();function h(a){f||isNaN(a.min)||(d=Math.min(d,a.min)),g||isNaN(a.max)||(e=Math.max(e,a.max))}f&&g||(h(this._getLabelBounds()),("ticks"!==a.bounds||"labels"!==a.ticks.source)&&h(this.getMinMax(!1))),d=K(d)&&!isNaN(d)?d:+b.startOf(Date.now(),c),e=K(e)&&!isNaN(e)?e:+b.endOf(Date.now(),c)+1,this.min=Math.min(d,e-1),this.max=Math.max(d+1,e)}_getLabelBounds(){let a=this.getLabelTimestamps(),b=1/0,c=-1/0;return a.length&&(b=a[0],c=a[a.length-1]),{min:b,max:c}}buildTicks(){let a=this.options,b=a.time,c=a.ticks,d="labels"===c.source?this.getLabelTimestamps():this._generate();"ticks"===a.bounds&&d.length&&(this.min=this._userMin||d[0],this.max=this._userMax||d[d.length-1]);let e=this.min,f=function(a,b,c){let d=0,e=a.length;for(;d<e&&a[d]<b;)d++;for(;e>d&&a[e-1]>c;)e--;return d>0||e<a.length?a.slice(d,e):a}(d,e,this.max);return this._unit=b.unit||(c.autoSkip?dR(b.minUnit,this.min,this.max,this._getLabelCapacity(e)):function(a,b,c,d,e){for(let f=dO.length-1;f>=dO.indexOf(c);f--){let c=dO[f];if(dN[c].common&&a._adapter.diff(e,d,c)>=b-1)return c}return dO[c?dO.indexOf(c):0]}(this,f.length,b.minUnit,this.min,this.max)),this._majorUnit=c.major.enabled&&"year"!==this._unit?function(a){for(let b=dO.indexOf(a)+1,c=dO.length;b<c;++b)if(dN[dO[b]].common)return dO[b]}(this._unit):void 0,this.initOffsets(d),a.reverse&&f.reverse(),dT(this,f,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map(a=>+a.value))}initOffsets(a=[]){let b,c,d=0,e=0;this.options.offset&&a.length&&(b=this.getDecimalForValue(a[0]),d=1===a.length?1-b:(this.getDecimalForValue(a[1])-b)/2,c=this.getDecimalForValue(a[a.length-1]),e=1===a.length?c:(c-this.getDecimalForValue(a[a.length-2]))/2);let f=a.length<3?.5:.25;d=av(d,0,f),e=av(e,0,f),this._offsets={start:d,end:e,factor:1/(d+1+e)}}_generate(){let a,b,c=this._adapter,d=this.min,e=this.max,f=this.options,g=f.time,h=g.unit||dR(g.minUnit,d,e,this._getLabelCapacity(d)),i=M(f.ticks.stepSize,1),j="week"===h&&g.isoWeekday,k=am(j)||!0===j,l={},m=d;if(k&&(m=+c.startOf(m,"isoWeek",j)),m=+c.startOf(m,k?"day":h),c.diff(e,d,h)>1e5*i)throw Error(d+" and "+e+" are too far apart with stepSize of "+i+" "+h);let n="data"===f.ticks.source&&this.getDataTimestamps();for(a=m,b=0;a<e;a=+c.add(a,i,h),b++)dS(l,a,n);return(a===e||"ticks"===f.bounds||1===b)&&dS(l,a,n),Object.keys(l).sort(dP).map(a=>+a)}getLabelForValue(a){let b=this._adapter,c=this.options.time;return c.tooltipFormat?b.format(a,c.tooltipFormat):b.format(a,c.displayFormats.datetime)}format(a,b){let c=this.options.time.displayFormats,d=this._unit,e=b||c[d];return this._adapter.format(a,e)}_tickFormatFunction(a,b,c,d){let e=this.options,f=e.ticks.callback;if(f)return O(f,[a,b,c],this);let g=e.time.displayFormats,h=this._unit,i=this._majorUnit,j=h&&g[h],k=i&&g[i],l=c[b],m=i&&k&&l&&l.major;return this._adapter.format(a,d||(m?k:j))}generateTickLabels(a){let b,c,d;for(b=0,c=a.length;b<c;++b)(d=a[b]).label=this._tickFormatFunction(d.value,b,a)}getDecimalForValue(a){return null===a?NaN:(a-this.min)/(this.max-this.min)}getPixelForValue(a){let b=this._offsets,c=this.getDecimalForValue(a);return this.getPixelForDecimal((b.start+c)*b.factor)}getValueForPixel(a){let b=this._offsets,c=this.getDecimalForPixel(a)/b.factor-b.end;return this.min+c*(this.max-this.min)}_getLabelSize(a){let b=this.options.ticks,c=this.ctx.measureText(a).width,d=ao(this.isHorizontal()?b.maxRotation:b.minRotation),e=Math.cos(d),f=Math.sin(d),g=this._resolveTickFontOptions(0).size;return{w:c*e+g*f,h:c*f+g*e}}_getLabelCapacity(a){let b=this.options.time,c=b.displayFormats,d=c[b.unit]||c.millisecond,e=this._tickFormatFunction(a,0,dT(this,[a],this._majorUnit),d),f=this._getLabelSize(e),g=Math.floor(this.isHorizontal()?this.width/f.w:this.height/f.h)-1;return g>0?g:1}getDataTimestamps(){let a,b,c=this._cache.data||[];if(c.length)return c;let d=this.getMatchingVisibleMetas();if(this._normalized&&d.length)return this._cache.data=d[0].controller.getAllParsedValues(this);for(a=0,b=d.length;a<b;++a)c=c.concat(d[a].controller.getAllParsedValues(this));return this._cache.data=this.normalize(c)}getLabelTimestamps(){let a,b,c=this._cache.labels||[];if(c.length)return c;let d=this.getLabels();for(a=0,b=d.length;a<b;++a)c.push(dQ(this,d[a]));return this._cache.labels=this._normalized?c:this.normalize(c)}normalize(a){return aC(a.sort(dP))}}function dV(a,b,c){let d,e,f,g,h=0,i=a.length-1;c?(b>=a[h].pos&&b<=a[i].pos&&({lo:h,hi:i}=ay(a,"pos",b)),{pos:d,time:f}=a[h],{pos:e,time:g}=a[i]):(b>=a[h].time&&b<=a[i].time&&({lo:h,hi:i}=ay(a,"time",b)),{time:d,pos:f}=a[h],{time:e,pos:g}=a[i]);let j=e-d;return j?f+(g-f)*(b-d)/j:f}class dW extends dU{static id="timeseries";static defaults=dU.defaults;constructor(a){super(a),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){let a=this._getTimestampsForTable(),b=this._table=this.buildLookupTable(a);this._minPos=dV(b,this.min),this._tableRange=dV(b,this.max)-this._minPos,super.initOffsets(a)}buildLookupTable(a){let b,c,d,{min:e,max:f}=this,g=[],h=[];for(b=0,c=a.length;b<c;++b)(d=a[b])>=e&&d<=f&&g.push(d);if(g.length<2)return[{time:e,pos:0},{time:f,pos:1}];for(b=0,c=g.length;b<c;++b)Math.round((g[b+1]+g[b-1])/2)!==(d=g[b])&&h.push({time:d,pos:b/(c-1)});return h}_generate(){let a=this.min,b=this.max,c=super.getDataTimestamps();return c.includes(a)&&c.length||c.splice(0,0,a),c.includes(b)&&1!==c.length||c.push(b),c.sort((a,b)=>a-b)}_getTimestampsForTable(){let a=this._cache.all||[];if(a.length)return a;let b=this.getDataTimestamps(),c=this.getLabelTimestamps();return a=b.length&&c.length?this.normalize(b.concat(c)):b.length?b:c,a=this._cache.all=a}getDecimalForValue(a){return(dV(this._table,a)-this._minPos)/this._tableRange}getValueForPixel(a){let b=this._offsets,c=this.getDecimalForPixel(a)/b.factor-b.end;return dV(this._table,c*this._tableRange+this._minPos,!0)}}var dX=a.i(572131);let dY="label";function dZ(a,b){"function"==typeof a?a(b):a&&(a.current=b)}function d$(a,b,c=dY){let d=[];a.datasets=b.map(b=>{let e=a.datasets.find(a=>a[c]===b[c]);return!e||!b.data||d.includes(e)?{...b}:(d.push(e),Object.assign(e,b),e)})}let d_=(0,dX.forwardRef)(function(a,b){let{height:c=150,width:e=300,redraw:f=!1,datasetIdKey:g,type:h,data:i,options:j,plugins:k=[],fallbackContent:l,updateMode:m,...n}=a,o=(0,dX.useRef)(null),p=(0,dX.useRef)(null),q=()=>{o.current&&(p.current=new c0(o.current,{type:h,data:function(a,b=dY){let c={labels:[],datasets:[]};return c.labels=a.labels,d$(c,a.datasets,b),c}(i,g),options:j&&{...j},plugins:k}),dZ(b,p.current))},r=()=>{dZ(b,null),p.current&&(p.current.destroy(),p.current=null)};return(0,dX.useEffect)(()=>{var a;let b;!f&&p.current&&j&&(a=p.current,(b=a.options)&&j&&Object.assign(b,j))},[f,j]),(0,dX.useEffect)(()=>{!f&&p.current&&(p.current.config.data.labels=i.labels)},[f,i.labels]),(0,dX.useEffect)(()=>{!f&&p.current&&i.datasets&&d$(p.current.config.data,i.datasets,g)},[f,i.datasets]),(0,dX.useEffect)(()=>{p.current&&(f?(r(),setTimeout(q)):p.current.update(m))},[f,j,i.labels,i.datasets,m]),(0,dX.useEffect)(()=>{p.current&&(r(),setTimeout(q))},[h]),(0,dX.useEffect)(()=>(q(),()=>r()),[]),(0,d.jsx)("canvas",{ref:o,role:"img",height:c,width:e,...n,children:l})});function d0(a,b){return c0.register(b),(0,dX.forwardRef)((b,c)=>(0,d.jsx)(d_,{...b,ref:c,type:a}))}let d1=d0("line",class extends b6{static id="line";static defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1};static overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(a){let b=this._cachedMeta,{dataset:c,data:d=[],_dataset:e}=b,f=this.chart._animationsDisabled,{start:g,count:h}=aG(b,d,f);this._drawStart=g,this._drawCount=h,aH(b)&&(g=0,h=d.length),c._chart=this.chart,c._datasetIndex=this.index,c._decimated=!!e._decimated,c.points=d;let i=this.resolveDatasetElementOptions(a);this.options.showLine||(i.borderWidth=0),i.segment=this.options.segment,this.updateElement(c,void 0,{animated:!f,options:i},a),this.updateElements(d,g,h,a)}updateElements(a,b,c,d){let e="reset"===d,{iScale:f,vScale:g,_stacked:h,_dataset:i}=this._cachedMeta,{sharedOptions:j,includeOptions:k}=this._getSharedOptions(b,d),l=f.axis,m=g.axis,{spanGaps:n,segment:o}=this.options,p=am(n)?n:1/0,q=this.chart._animationsDisabled||e||"none"===d,r=b+c,s=a.length,t=b>0&&this.getParsed(b-1);for(let c=0;c<s;++c){let n=a[c],s=q?n:{};if(c<b||c>=r){s.skip=!0;continue}let u=this.getParsed(c),v=H(u[m]),w=s[l]=f.getPixelForValue(u[l],c),x=s[m]=e||v?g.getBasePixel():g.getPixelForValue(h?this.applyStack(g,u,h):u[m],c);s.skip=isNaN(w)||isNaN(x)||v,s.stop=c>0&&Math.abs(u[l]-t[l])>p,o&&(s.parsed=u,s.raw=i.data[c]),k&&(s.options=j||this.resolveDataElementOptions(c,n.active?"active":d)),q||this.updateElement(n,c,s,d),t=u}}getMaxOverflow(){let a=this._cachedMeta,b=a.dataset,c=b.options&&b.options.borderWidth||0,d=a.data||[];return d.length?Math.max(c,d[0].size(this.resolveDataElementOptions(0)),d[d.length-1].size(this.resolveDataElementOptions(d.length-1)))/2:c}draw(){let a=this._cachedMeta;a.dataset.updateControlPoints(this.chart.chartArea,a.iScale.axis),super.draw()}}),d2=d0("bar",class extends b6{static id="bar";static defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}};static overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};parsePrimitiveData(a,b,c,d){return b8(a,b,c,d)}parseArrayData(a,b,c,d){return b8(a,b,c,d)}parseObjectData(a,b,c,d){let e,f,g,h,{iScale:i,vScale:j}=a,{xAxisKey:k="x",yAxisKey:l="y"}=this._parsing,m="x"===i.axis?k:l,n="x"===j.axis?k:l,o=[];for(e=c,f=c+d;e<f;++e)h=b[e],(g={})[i.axis]=i.parse(Y(h,m),e),o.push(b7(Y(h,n),g,j,e));return o}updateRangeFromParsed(a,b,c,d){super.updateRangeFromParsed(a,b,c,d);let e=c._custom;e&&b===this._cachedMeta.vScale&&(a.min=Math.min(a.min,e.min),a.max=Math.max(a.max,e.max))}getMaxOverflow(){return 0}getLabelAndValue(a){let{iScale:b,vScale:c}=this._cachedMeta,d=this.getParsed(a),e=d._custom,f=b9(e)?"["+e.start+", "+e.end+"]":""+c.getLabelForValue(d[c.axis]);return{label:""+b.getLabelForValue(d[b.axis]),value:f}}initialize(){this.enableOptionSharing=!0,super.initialize(),this._cachedMeta.stack=this.getDataset().stack}update(a){let b=this._cachedMeta;this.updateElements(b.data,0,b.data.length,a)}updateElements(a,b,c,d){let e="reset"===d,{index:f,_cachedMeta:{vScale:g}}=this,h=g.getBasePixel(),i=g.isHorizontal(),j=this._getRuler(),{sharedOptions:k,includeOptions:l}=this._getSharedOptions(b,d);for(let m=b;m<b+c;m++){let b=this.getParsed(m),c=e||H(b[g.axis])?{base:h,head:h}:this._calculateBarValuePixels(m),n=this._calculateBarIndexPixels(m,j),o=(b._stacks||{})[g.axis],p={horizontal:i,base:c.base,enableBorderRadius:!o||b9(b._custom)||f===o._top||f===o._bottom,x:i?c.head:n.center,y:i?n.center:c.head,height:i?n.size:Math.abs(c.size),width:i?Math.abs(c.size):n.size};l&&(p.options=k||this.resolveDataElementOptions(m,a[m].active?"active":d));let q=p.options||a[m].options;!function(a,b,c,d){let e,f,g,h,i,j=b.borderSkipped,k={};if(!j){a.borderSkipped=k;return}if(!0===j){a.borderSkipped={top:!0,right:!0,bottom:!0,left:!0};return}let{start:l,end:m,reverse:n,top:o,bottom:p}=(a.horizontal?(e=a.base>a.x,f="left",g="right"):(e=a.base<a.y,f="bottom",g="top"),e?(h="end",i="start"):(h="start",i="end"),{start:f,end:g,reverse:e,top:h,bottom:i});"middle"===j&&c&&(a.enableBorderRadius=!0,(c._top||0)===d?j=o:(c._bottom||0)===d?j=p:(k[ca(p,l,m,n)]=!0,j=o)),k[ca(j,l,m,n)]=!0,a.borderSkipped=k}(p,q,o,f),function(a,{inflateAmount:b},c){a.inflateAmount="auto"===b?.33*(1===c):b}(p,q,j.ratio),this.updateElement(a[m],m,p,d)}}_getStacks(a,b){let{iScale:c}=this._cachedMeta,d=c.getMatchingVisibleMetas(this._type).filter(a=>a.controller.options.grouped),e=c.options.stacked,f=[],g=this._cachedMeta.controller.getParsed(b),h=g&&g[c.axis],i=a=>{let b=a._parsed.find(a=>a[c.axis]===h),d=b&&b[a.vScale.axis];if(H(d)||isNaN(d))return!0};for(let c of d)if(!(void 0!==b&&i(c))&&((!1===e||-1===f.indexOf(c.stack)||void 0===e&&void 0===c.stack)&&f.push(c.stack),c.index===a))break;return f.length||f.push(void 0),f}_getStackCount(a){return this._getStacks(void 0,a).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){let a=this.chart.scales,b=this.chart.options.indexAxis;return Object.keys(a).filter(c=>a[c].axis===b).shift()}_getAxis(){let a={},b=this.getFirstScaleIdForIndexAxis();for(let c of this.chart.data.datasets)a[M("x"===this.chart.options.indexAxis?c.xAxisID:c.yAxisID,b)]=!0;return Object.keys(a)}_getStackIndex(a,b,c){let d=this._getStacks(a,c),e=void 0!==b?d.indexOf(b):-1;return -1===e?d.length-1:e}_getRuler(){let a,b,c=this.options,d=this._cachedMeta,e=d.iScale,f=[];for(a=0,b=d.data.length;a<b;++a)f.push(e.getPixelForValue(this.getParsed(a)[e.axis],a));let g=c.barThickness;return{min:g||function(a){let b,c,d,e,f=a.iScale,g=function(a,b){if(!a._cache.$bar){let c=a.getMatchingVisibleMetas(b),d=[];for(let b=0,e=c.length;b<e;b++)d=d.concat(c[b].controller.getAllParsedValues(a));a._cache.$bar=aC(d.sort((a,b)=>a-b))}return a._cache.$bar}(f,a.type),h=f._length,i=()=>{32767!==d&&-32768!==d&&($(e)&&(h=Math.min(h,Math.abs(d-e)||h)),e=d)};for(b=0,c=g.length;b<c;++b)d=f.getPixelForValue(g[b]),i();for(b=0,e=void 0,c=f.ticks.length;b<c;++b)d=f.getPixelForTick(b),i();return h}(d),pixels:f,start:e._startPixel,end:e._endPixel,stackCount:this._getStackCount(),scale:e,grouped:c.grouped,ratio:g?1:c.categoryPercentage*c.barPercentage}}_calculateBarValuePixels(a){let b,c,{_cachedMeta:{vScale:d,_stacked:e,index:f},options:{base:g,minBarLength:h}}=this,i=g||0,j=this.getParsed(a),k=j._custom,l=b9(k),m=j[d.axis],n=0,o=e?this.applyStack(d,j,e):m;o!==m&&(n=o-m,o=m),l&&(m=k.barStart,o=k.barEnd-k.barStart,0!==m&&aj(m)!==aj(k.barEnd)&&(n=0),n+=m);let p=H(g)||l?n:g,q=d.getPixelForValue(p);if(Math.abs(c=(b=this.chart.getDataVisibility(a)?d.getPixelForValue(n+o):q)-q)<h){var r;c=(0!==(r=c)?aj(r):(d.isHorizontal()?1:-1)*(d.min>=i?1:-1))*h,m===i&&(q-=c/2);let a=d.getPixelForDecimal(0),g=d.getPixelForDecimal(1),k=Math.min(a,g);b=(q=Math.max(Math.min(q,Math.max(a,g)),k))+c,e&&!l&&(j._stacks[d.axis]._visualValues[f]=d.getValueForPixel(b)-d.getValueForPixel(q))}if(q===d.getPixelForValue(i)){let a=aj(c)*d.getLineWidthForValue(i)/2;q+=a,c-=a}return{size:c,base:q,head:b,center:b+c/2}}_calculateBarIndexPixels(a,b){let c,d,e=b.scale,f=this.options,g=f.skipNull,h=M(f.maxBarThickness,1/0),i=this._getAxisCount();if(b.grouped){var j,k;let e,l,m,n,o,p,q,r,s,t=g?this._getStackCount(a):b.stackCount,u="flex"===f.barThickness?(j=t*i,l=(e=b.pixels)[a],m=a>0?e[a-1]:null,n=a<e.length-1?e[a+1]:null,o=f.categoryPercentage,null===m&&(m=l-(null===n?b.end-b.start:n-l)),null===n&&(n=l+l-m),p=l-(l-Math.min(m,n))/2*o,{chunk:Math.abs(n-m)/2*o/j,ratio:f.barPercentage,start:p}):(k=t*i,H(s=f.barThickness)?(q=b.min*f.categoryPercentage,r=f.barPercentage):(q=s*k,r=1),{chunk:q/k,ratio:r,start:b.pixels[a]-q/2}),v="x"===this.chart.options.indexAxis?this.getDataset().xAxisID:this.getDataset().yAxisID,w=this._getAxis().indexOf(M(v,this.getFirstScaleIdForIndexAxis())),x=this._getStackIndex(this.index,this._cachedMeta.stack,g?a:void 0)+w;c=u.start+u.chunk*x+u.chunk/2,d=Math.min(h,u.chunk*u.ratio)}else c=e.getPixelForValue(this.getParsed(a)[e.axis],a),d=Math.min(h,b.min*b.ratio);return{base:c-d/2,head:c+d/2,center:c,size:d}}draw(){let a=this._cachedMeta,b=a.vScale,c=a.data,d=c.length,e=0;for(;e<d;++e)null===this.getParsed(e)[b.axis]||c[e].hidden||c[e].draw(this._ctx)}}),d3=d0("radar",class extends b6{static id="radar";static defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}};static overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};getLabelAndValue(a){let b=this._cachedMeta.vScale,c=this.getParsed(a);return{label:b.getLabels()[a],value:""+b.getLabelForValue(c[b.axis])}}parseObjectData(a,b,c,d){return bu.bind(this)(a,b,c,d)}update(a){let b=this._cachedMeta,c=b.dataset,d=b.data||[],e=b.iScale.getLabels();if(c.points=d,"resize"!==a){let b=this.resolveDatasetElementOptions(a);this.options.showLine||(b.borderWidth=0);let f={_loop:!0,_fullLoop:e.length===d.length,options:b};this.updateElement(c,void 0,f,a)}this.updateElements(d,0,d.length,a)}updateElements(a,b,c,d){let e=this._cachedMeta.rScale,f="reset"===d;for(let g=b;g<b+c;g++){let b=a[g],c=this.resolveDataElementOptions(g,b.active?"active":d),h=e.getPointPositionForValue(g,this.getParsed(g).r),i=f?e.xCenter:h.x,j=f?e.yCenter:h.y,k={x:i,y:j,angle:h.angle,skip:isNaN(i)||isNaN(j),options:c};this.updateElement(b,g,k,d)}}}),d4=d0("doughnut",cc),d5=d0("polarArea",class a extends b6{static id="polarArea";static defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(a){let b=a.data;if(b.labels.length&&b.datasets.length){let{labels:{pointStyle:c,color:d}}=a.legend.options;return b.labels.map((b,e)=>{let f=a.getDatasetMeta(0).controller.getStyle(e);return{text:b,fillStyle:f.backgroundColor,strokeStyle:f.borderColor,fontColor:d,lineWidth:f.borderWidth,pointStyle:c,hidden:!a.getDataVisibility(e),index:e}})}return[]}},onClick(a,b,c){c.chart.toggleDataVisibility(b.index),c.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(a,b){super(a,b),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(a){let b=this._cachedMeta,c=this.chart,d=c.data.labels||[],e=aS(b._parsed[a].r,c.options.locale);return{label:d[a]||"",value:e}}parseObjectData(a,b,c,d){return bu.bind(this)(a,b,c,d)}update(a){let b=this._cachedMeta.data;this._updateRadius(),this.updateElements(b,0,b.length,a)}getMinMax(){let a=this._cachedMeta,b={min:1/0,max:-1/0};return a.data.forEach((a,c)=>{let d=this.getParsed(c).r;!isNaN(d)&&this.chart.getDataVisibility(c)&&(d<b.min&&(b.min=d),d>b.max&&(b.max=d))}),b}_updateRadius(){let a=this.chart,b=a.chartArea,c=a.options,d=Math.max(Math.min(b.right-b.left,b.bottom-b.top)/2,0),e=Math.max(c.cutoutPercentage?d/100*c.cutoutPercentage:1,0),f=(d-e)/a.getVisibleDatasetCount();this.outerRadius=d-f*this.index,this.innerRadius=this.outerRadius-f}updateElements(a,b,c,d){let e,f="reset"===d,g=this.chart,h=g.options.animation,i=this._cachedMeta.rScale,j=i.xCenter,k=i.yCenter,l=i.getIndexAngle(0)-.5*ab,m=l,n=360/this.countVisibleElements();for(e=0;e<b;++e)m+=this._computeAngle(e,d,n);for(e=b;e<b+c;e++){let b=a[e],c=m,o=m+this._computeAngle(e,d,n),p=g.getDataVisibility(e)?i.getDistanceFromCenterForValue(this.getParsed(e).r):0;m=o,f&&(h.animateScale&&(p=0),h.animateRotate&&(c=o=l));let q={x:j,y:k,innerRadius:0,outerRadius:p,startAngle:c,endAngle:o,options:this.resolveDataElementOptions(e,b.active?"active":d)};this.updateElement(b,e,q,d)}}countVisibleElements(){let a=this._cachedMeta,b=0;return a.data.forEach((a,c)=>{!isNaN(this.getParsed(c).r)&&this.chart.getDataVisibility(c)&&b++}),b}_computeAngle(a,b,c){return this.chart.getDataVisibility(a)?ao(this.resolveDataElementOptions(a,b).angle||c):0}}),d6=d0("bubble",class extends b6{static id="bubble";static defaults={datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}};static overrides={scales:{x:{type:"linear"},y:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(a,b,c,d){let e=super.parsePrimitiveData(a,b,c,d);for(let a=0;a<e.length;a++)e[a]._custom=this.resolveDataElementOptions(a+c).radius;return e}parseArrayData(a,b,c,d){let e=super.parseArrayData(a,b,c,d);for(let a=0;a<e.length;a++){let d=b[c+a];e[a]._custom=M(d[2],this.resolveDataElementOptions(a+c).radius)}return e}parseObjectData(a,b,c,d){let e=super.parseObjectData(a,b,c,d);for(let a=0;a<e.length;a++){let d=b[c+a];e[a]._custom=M(d&&d.r&&+d.r,this.resolveDataElementOptions(a+c).radius)}return e}getMaxOverflow(){let a=this._cachedMeta.data,b=0;for(let c=a.length-1;c>=0;--c)b=Math.max(b,a[c].size(this.resolveDataElementOptions(c))/2);return b>0&&b}getLabelAndValue(a){let b=this._cachedMeta,c=this.chart.data.labels||[],{xScale:d,yScale:e}=b,f=this.getParsed(a),g=d.getLabelForValue(f.x),h=e.getLabelForValue(f.y),i=f._custom;return{label:c[a]||"",value:"("+g+", "+h+(i?", "+i:"")+")"}}update(a){let b=this._cachedMeta.data;this.updateElements(b,0,b.length,a)}updateElements(a,b,c,d){let e="reset"===d,{iScale:f,vScale:g}=this._cachedMeta,{sharedOptions:h,includeOptions:i}=this._getSharedOptions(b,d),j=f.axis,k=g.axis;for(let l=b;l<b+c;l++){let b=a[l],c=!e&&this.getParsed(l),m={},n=m[j]=e?f.getPixelForDecimal(.5):f.getPixelForValue(c[j]),o=m[k]=e?g.getBasePixel():g.getPixelForValue(c[k]);m.skip=isNaN(n)||isNaN(o),i&&(m.options=h||this.resolveDataElementOptions(l,b.active?"active":d),e&&(m.options.radius=0)),this.updateElement(b,l,m,d)}}resolveDataElementOptions(a,b){let c=this.getParsed(a),d=super.resolveDataElementOptions(a,b);d.$shared&&(d=Object.assign({},d,{$shared:!1}));let e=d.radius;return"active"!==b&&(d.radius=0),d.radius+=M(c&&c._custom,e),d}}),d7=d0("pie",class extends cc{static id="pie";static defaults={cutout:0,rotation:0,circumference:360,radius:"100%"}}),d8=d0("scatter",class extends b6{static id="scatter";static defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1};static overrides={interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}};getLabelAndValue(a){let b=this._cachedMeta,c=this.chart.data.labels||[],{xScale:d,yScale:e}=b,f=this.getParsed(a),g=d.getLabelForValue(f.x),h=e.getLabelForValue(f.y);return{label:c[a]||"",value:"("+g+", "+h+")"}}update(a){let b=this._cachedMeta,{data:c=[]}=b,d=this.chart._animationsDisabled,{start:e,count:f}=aG(b,c,d);if(this._drawStart=e,this._drawCount=f,aH(b)&&(e=0,f=c.length),this.options.showLine){this.datasetElementType||this.addElements();let{dataset:e,_dataset:f}=b;e._chart=this.chart,e._datasetIndex=this.index,e._decimated=!!f._decimated,e.points=c;let g=this.resolveDatasetElementOptions(a);g.segment=this.options.segment,this.updateElement(e,void 0,{animated:!d,options:g},a)}else this.datasetElementType&&(delete b.dataset,this.datasetElementType=!1);this.updateElements(c,e,f,a)}addElements(){let{showLine:a}=this.options;!this.datasetElementType&&a&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(a,b,c,d){let e="reset"===d,{iScale:f,vScale:g,_stacked:h,_dataset:i}=this._cachedMeta,j=this.resolveDataElementOptions(b,d),k=this.getSharedOptions(j),l=this.includeOptions(d,k),m=f.axis,n=g.axis,{spanGaps:o,segment:p}=this.options,q=am(o)?o:1/0,r=this.chart._animationsDisabled||e||"none"===d,s=b>0&&this.getParsed(b-1);for(let j=b;j<b+c;++j){let b=a[j],c=this.getParsed(j),o=r?b:{},t=H(c[n]),u=o[m]=f.getPixelForValue(c[m],j),v=o[n]=e||t?g.getBasePixel():g.getPixelForValue(h?this.applyStack(g,c,h):c[n],j);o.skip=isNaN(u)||isNaN(v)||t,o.stop=j>0&&Math.abs(c[m]-s[m])>q,p&&(o.parsed=c,o.raw=i.data[j]),l&&(o.options=k||this.resolveDataElementOptions(j,b.active?"active":d)),r||this.updateElement(b,j,o,d),s=c}this.updateSharedOptions(k,d,j)}getMaxOverflow(){let a=this._cachedMeta,b=a.data||[];if(!this.options.showLine){let a=0;for(let c=b.length-1;c>=0;--c)a=Math.max(a,b[c].size(this.resolveDataElementOptions(c))/2);return a>0&&a}let c=a.dataset,d=c.options&&c.options.borderWidth||0;return b.length?Math.max(d,b[0].size(this.resolveDataElementOptions(0)),b[b.length-1].size(this.resolveDataElementOptions(b.length-1)))/2:d}});c0.register(class extends cD{static id="category";static defaults={ticks:{callback:dA}};constructor(a){super(a),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(a){let b=this._addedLabels;if(b.length){let a=this.getLabels();for(let{index:c,label:d}of b)a[c]===d&&a.splice(c,1);this._addedLabels=[]}super.init(a)}parse(a,b){let c,d;if(H(a))return null;let e=this.getLabels();return c=b=isFinite(b)&&e[b]===a?b:function(a,b,c,d){let e=a.indexOf(b);if(-1===e){var f;return f=c,"string"==typeof b?(f=a.push(b)-1,d.unshift({index:f,label:b})):isNaN(b)&&(f=null),f}return e!==a.lastIndexOf(b)?c:e}(e,a,M(b,a),this._addedLabels),d=e.length-1,null===c?null:av(Math.round(c),0,d)}determineDataLimits(){let{minDefined:a,maxDefined:b}=this.getUserBounds(),{min:c,max:d}=this.getMinMax(!0);"ticks"===this.options.bounds&&(a||(c=0),b||(d=this.getLabels().length-1)),this.min=c,this.max=d}buildTicks(){let a=this.min,b=this.max,c=this.options.offset,d=[],e=this.getLabels();e=0===a&&b===e.length-1?e:e.slice(a,b+1),this._valueRange=Math.max(e.length-!c,1),this._startValue=this.min-.5*!!c;for(let c=a;c<=b;c++)d.push({value:c});return d}getLabelForValue(a){return dA.call(this,a)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(a){return"number"!=typeof a&&(a=this.parse(a)),null===a?NaN:this.getPixelForDecimal((a-this._startValue)/this._valueRange)}getPixelForTick(a){let b=this.ticks;return a<0||a>b.length-1?null:this.getPixelForValue(b[a].value)}getValueForPixel(a){return Math.round(this._startValue+this.getDecimalForPixel(a)*this._valueRange)}getBasePixel(){return this.bottom}},dD,class extends cw{static id="point";parsed;skip;stop;static defaults={borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(a){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,a&&Object.assign(this,a)}inRange(a,b,c){let d=this.options,{x:e,y:f}=this.getProps(["x","y"],c);return Math.pow(a-e,2)+Math.pow(b-f,2)<Math.pow(d.hitRadius+d.radius,2)}inXRange(a,b){return dc(this,a,"x",b)}inYRange(a,b){return dc(this,a,"y",b)}getCenterPoint(a){let{x:b,y:c}=this.getProps(["x","y"],a);return{x:b,y:c}}size(a){let b=(a=a||this.options||{}).radius||0,c=(b=Math.max(b,b&&a.hoverRadius||0))&&a.borderWidth||0;return(b+c)*2}draw(a,b){let c=this.options;!this.skip&&!(c.radius<.1)&&a2(this,b,this.size(c)/2)&&(a.strokeStyle=c.borderColor,a.lineWidth=c.borderWidth,a.fillStyle=c.backgroundColor,a0(a,c,this.x,this.y))}getRange(){let a=this.options||{};return a.radius+a.hitRadius}},db,class extends cw{static id="bar";static defaults={borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(a){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,a&&Object.assign(this,a)}draw(a){var b,c,d;let e,f,g,h,i,j,k,l,{inflateAmount:m,options:{borderColor:n,backgroundColor:o}}=this,{inner:p,outer:q}=(f=(e=dd(this)).right-e.left,g=e.bottom-e.top,b=f/2,c=g/2,h=this.options.borderWidth,i=this.borderSkipped,j=bd(h),k={t:de(i.top,j.top,0,c),r:de(i.right,j.right,0,b),b:de(i.bottom,j.bottom,0,c),l:de(i.left,j.left,0,b)},l=function(a,b,c){let{enableBorderRadius:d}=a.getProps(["enableBorderRadius"]),e=a.options.borderRadius,f=be(e),g=Math.min(b,c),h=a.borderSkipped,i=d||J(e);return{topLeft:de(!i||h.top||h.left,f.topLeft,0,g),topRight:de(!i||h.top||h.right,f.topRight,0,g),bottomLeft:de(!i||h.bottom||h.left,f.bottomLeft,0,g),bottomRight:de(!i||h.bottom||h.right,f.bottomRight,0,g)}}(this,f/2,g/2),{outer:{x:e.left,y:e.top,w:f,h:g,radius:l},inner:{x:e.left+k.l,y:e.top+k.t,w:f-k.l-k.r,h:g-k.t-k.b,radius:{topLeft:Math.max(0,l.topLeft-Math.max(k.t,k.l)),topRight:Math.max(0,l.topRight-Math.max(k.t,k.r)),bottomLeft:Math.max(0,l.bottomLeft-Math.max(k.b,k.l)),bottomRight:Math.max(0,l.bottomRight-Math.max(k.b,k.r))}}}),r=(d=q.radius).topLeft||d.topRight||d.bottomLeft||d.bottomRight?a8:dg;a.save(),(q.w!==p.w||q.h!==p.h)&&(a.beginPath(),r(a,dh(q,m,p)),a.clip(),r(a,dh(p,-m,q)),a.fillStyle=n,a.fill("evenodd")),a.beginPath(),r(a,dh(p,m)),a.fillStyle=o,a.fill(),a.restore()}inRange(a,b,c){return df(this,a,b,c)}inXRange(a,b){return df(this,a,null,b)}inYRange(a,b){return df(this,null,a,b)}getCenterPoint(a){let{x:b,y:c,base:d,horizontal:e}=this.getProps(["x","y","base","horizontal"],a);return{x:e?(b+d)/2:b,y:e?c:(c+d)/2}}getRange(a){return"x"===a?this.width/2:this.height/2}},class extends cw{static id="arc";static defaults={borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1};static defaultRoutes={backgroundColor:"backgroundColor"};static descriptors={_scriptable:!0,_indexable:a=>"borderDash"!==a};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(a){super(),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,a&&Object.assign(this,a)}inRange(a,b,c){let{angle:d,distance:e}=aq(this.getProps(["x","y"],c),{x:a,y:b}),{startAngle:f,endAngle:g,innerRadius:h,outerRadius:i,circumference:j}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],c),k=(this.options.spacing+this.options.borderWidth)/2,l=M(j,g-f),m=au(d,f,g)&&f!==g,n=l>=ac||m,o=aw(e,h+k,i+k);return n&&o}getCenterPoint(a){let{x:b,y:c,startAngle:d,endAngle:e,innerRadius:f,outerRadius:g}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],a),{offset:h,spacing:i}=this.options,j=(d+e)/2,k=(f+g+i+h)/2;return{x:b+Math.cos(j)*k,y:c+Math.sin(j)*k}}tooltipPosition(a){return this.getCenterPoint(a)}draw(a){let{options:b,circumference:c}=this,d=(b.offset||0)/4,e=(b.spacing||0)/2,f=b.circular;if(this.pixelMargin=.33*("inner"===b.borderAlign),this.fullCircles=c>ac?Math.floor(c/ac):0,0===c||this.innerRadius<0||this.outerRadius<0)return;a.save();let g=(this.startAngle+this.endAngle)/2;a.translate(Math.cos(g)*d,Math.sin(g)*d);let h=d*(1-Math.sin(Math.min(ab,c||0)));a.fillStyle=b.backgroundColor,a.strokeStyle=b.borderColor,function(a,b,c,d,e){let{fullCircles:f,startAngle:g,circumference:h}=b,i=b.endAngle;if(f){c3(a,b,c,d,i,e);for(let b=0;b<f;++b)a.fill();isNaN(h)||(i=g+(h%ac||ac))}c3(a,b,c,d,i,e),a.fill()}(a,this,h,e,f),function(a,b,c,d,e){let{fullCircles:f,startAngle:g,circumference:h,options:i}=b,{borderWidth:j,borderJoinStyle:k,borderDash:l,borderDashOffset:m,borderRadius:n}=i,o="inner"===i.borderAlign;if(!j)return;a.setLineDash(l||[]),a.lineDashOffset=m,o?(a.lineWidth=2*j,a.lineJoin=k||"round"):(a.lineWidth=j,a.lineJoin=k||"bevel");let p=b.endAngle;if(f){c3(a,b,c,d,p,e);for(let b=0;b<f;++b)a.stroke();isNaN(h)||(p=g+(h%ac||ac))}o&&function(a,b,c){let{startAngle:d,pixelMargin:e,x:f,y:g,outerRadius:h,innerRadius:i}=b,j=e/h;a.beginPath(),a.arc(f,g,h,d-j,c+j),i>e?(j=e/i,a.arc(f,g,i,c+j,d-j,!0)):a.arc(f,g,e,c+af,d-af),a.closePath(),a.clip()}(a,b,p),i.selfJoin&&p-g>=ab&&0===n&&"miter"!==k&&function(a,b,c){let{startAngle:d,x:e,y:f,outerRadius:g,innerRadius:h,options:i}=b,{borderWidth:j,borderJoinStyle:k}=i,l=Math.min(j/g,at(d-c));if(a.beginPath(),a.arc(e,f,g-j/2,d+l/2,c-l/2),h>0){let b=Math.min(j/h,at(d-c));a.arc(e,f,h+j/2,c-b/2,d+b/2,!0)}else{let b=Math.min(j/2,g*at(d-c));if("round"===k)a.arc(e,f,b,c-ab/2,d+ab/2,!0);else if("bevel"===k){let g=2*b*b,h=-g*Math.cos(c+ab/2)+e,i=-g*Math.sin(c+ab/2)+f,j=g*Math.cos(d+ab/2)+e,k=g*Math.sin(d+ab/2)+f;a.lineTo(h,i),a.lineTo(j,k)}}a.closePath(),a.moveTo(0,0),a.rect(0,0,a.canvas.width,a.canvas.height),a.clip("evenodd")}(a,b,p),f||(c3(a,b,c,d,p,e),a.stroke())}(a,this,h,e,f),a.restore()}},dM,{id:"title",_element:dn,start(a,b,c){let d;d=new dn({ctx:a.ctx,options:c,chart:a}),ct.configure(a,d,c),ct.addBox(a,d),a.titleBlock=d},stop(a){let b=a.titleBlock;ct.removeBox(a,b),delete a.titleBlock},beforeUpdate(a,b,c){let d=a.titleBlock;ct.configure(a,d,c),d.options=c},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}},{id:"tooltip",_element:dz,positioners:dp,afterInit(a,b,c){c&&(a.tooltip=new dz({chart:a,options:c}))},beforeUpdate(a,b,c){a.tooltip&&a.tooltip.initialize(c)},reset(a,b,c){a.tooltip&&a.tooltip.initialize(c)},afterDraw(a){let b=a.tooltip;if(b&&b._willRender()){let c={tooltip:b};if(!1===a.notifyPlugins("beforeTooltipDraw",{...c,cancelable:!0}))return;b.draw(a.ctx),a.notifyPlugins("afterTooltipDraw",c)}},afterEvent(a,b){if(a.tooltip){let c=b.replay;a.tooltip.handleEvent(b.event,c,b.inChartArea)&&(b.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:(a,b)=>b.bodyFont.size,boxWidth:(a,b)=>b.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:dx},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:a=>"filter"!==a&&"itemSort"!==a&&"external"!==a,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},{id:"legend",_element:dl,start(a,b,c){let d=a.legend=new dl({ctx:a.ctx,options:c,chart:a});ct.configure(a,d,c),ct.addBox(a,d)},stop(a){ct.removeBox(a,a.legend),delete a.legend},beforeUpdate(a,b,c){let d=a.legend;ct.configure(a,d,c),d.options=c},afterUpdate(a){let b=a.legend;b.buildLabels(),b.adjustHitBoxes()},afterEvent(a,b){b.replay||a.legend.handleEvent(b.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(a,b,c){let d=b.datasetIndex,e=c.chart;e.isDatasetVisible(d)?(e.hide(d),b.hidden=!0):(e.show(d),b.hidden=!1)},onHover:null,onLeave:null,labels:{color:a=>a.chart.options.color,boxWidth:40,padding:10,generateLabels(a){let b=a.data.datasets,{labels:{usePointStyle:c,pointStyle:d,textAlign:e,color:f,useBorderRadius:g,borderRadius:h}}=a.legend.options;return a._getSortedDatasetMetas().map(a=>{let i=a.controller.getStyle(c?0:void 0),j=bf(i.borderWidth);return{text:b[a.index].label,fillStyle:i.backgroundColor,fontColor:f,hidden:!a.visible,lineCap:i.borderCapStyle,lineDash:i.borderDash,lineDashOffset:i.borderDashOffset,lineJoin:i.borderJoinStyle,lineWidth:(j.width+j.height)/4,strokeStyle:i.borderColor,pointStyle:d||i.pointStyle,rotation:i.rotation,textAlign:e||i.textAlign,borderRadius:g&&(h||i.borderRadius),datasetIndex:a.index}},this)}},title:{color:a=>a.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:a=>!a.startsWith("on"),labels:{_scriptable:a=>!["generateLabels","filter","sort"].includes(a)}}}),a.s(["ChartRenderer",0,({config:a})=>{let{type:b,data:c,options:e}=a,f="pie"===b||"doughnut"===b||"radar"===b||"polarArea"===b,g={responsive:!0,maintainAspectRatio:f,...e},h=()=>{switch(b){case"line":return(0,d.jsx)(d1,{data:c,options:g});case"bar":return(0,d.jsx)(d2,{data:c,options:g});case"pie":return(0,d.jsx)(d7,{data:c,options:g});case"doughnut":return(0,d.jsx)(d4,{data:c,options:g});case"radar":return(0,d.jsx)(d3,{data:c,options:g});case"polarArea":return(0,d.jsx)(d5,{data:c,options:g});case"scatter":return(0,d.jsx)(d8,{data:c,options:g});case"bubble":return(0,d.jsx)(d6,{data:c,options:g});default:return(0,d.jsxs)("div",{className:"text-destructive",children:["Unsupported chart type: ",b]})}};return f?(0,d.jsx)("div",{className:"w-full flex justify-center rounded-lg border bg-background/50 p-4 shadow-sm",children:(0,d.jsx)("div",{className:"w-full max-w-lg h-[400px]",children:h()})}):(0,d.jsx)("div",{className:"w-full h-[400px] rounded-lg border bg-background/50 p-4 shadow-sm",children:h()})}],640672)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_673cb560._.js.map
|