react-semaphor 0.1.16 → 0.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{dashboard-plus-DjvTaefE.js → dashboard-plus-BZfcy33-.js} +1 -1
- package/dist/chunks/{dashboard-plus-CzGgemDY.js → dashboard-plus-CeMMSFt5.js} +1 -1
- package/dist/chunks/{index-CF6ThglO.js → index-7W4r7H3W.js} +2 -2
- package/dist/chunks/{index-B1gyuTuq.js → index-DSZsNnIe.js} +2547 -2601
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +3 -3
- package/dist/surfboard/index.cjs +1 -1
- package/dist/surfboard/index.js +1 -1
- package/package.json +1 -1
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
*/var NP;function qee(){return NP||(NP=1,process.env.NODE_ENV!=="production"&&function(){function e(c,u){return c===u&&(c!==0||1/c===1/u)||c!==c&&u!==u}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var t=N,n=Kk(),r=typeof Object.is=="function"?Object.is:e,o=n.useSyncExternalStore,s=t.useRef,i=t.useEffect,a=t.useMemo,l=t.useDebugValue;uS.useSyncExternalStoreWithSelector=function(c,u,f,h,p){var m=s(null);if(m.current===null){var g={hasValue:!1,value:null};m.current=g}else g=m.current;m=a(function(){function b(E){if(!x){if(x=!0,v=E,E=h(E),p!==void 0&&g.hasValue){var C=g.value;if(p(C,E))return w=C}return w=E}if(C=w,r(v,E))return C;var _=h(E);return p!==void 0&&p(C,_)?(v=E,C):(v=E,w=_)}var x=!1,v,w,S=f===void 0?null:f;return[function(){return b(u())},S===null?void 0:function(){return b(S())}]},[u,f,h,p]);var y=o(c,m[0],m[1]);return i(function(){g.hasValue=!0,g.value=y},[y]),l(y),y},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),uS}process.env.NODE_ENV==="production"?LE.exports=Wee():LE.exports=qee();var Gee=LE.exports;const Yee=Hu(Gee),H$={},{useDebugValue:Zee}=N,{useSyncExternalStoreWithSelector:Kee}=Yee;let kP=!1;const Xee=e=>e;function Qee(e,t=Xee,n){(H$?"production":void 0)!=="production"&&n&&!kP&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),kP=!0);const r=Kee(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return Zee(r),r}const _P=e=>{(H$?"production":void 0)!=="production"&&typeof e!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const t=typeof e=="function"?Vee(e):e,n=(r,o)=>Qee(t,r,o);return Object.assign(n,t),n},Qi=e=>e?_P(e):_P;var U$=Symbol.for("immer-nothing"),jP=Symbol.for("immer-draftable"),Yo=Symbol.for("immer-state"),Jee=process.env.NODE_ENV!=="production"?[function(e){return`The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`},function(e){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`},"This object has been frozen and should not be mutated",function(e){return"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+e},"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.","Immer forbids circular references","The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(e){return`'current' expects a draft, got: ${e}`},"Object.defineProperty() cannot be used on an Immer draft","Object.setPrototypeOf() cannot be used on an Immer draft","Immer only supports deleting array indices","Immer only supports setting array indices and the 'length' property",function(e){return`'original' expects a draft, got: ${e}`}]:[];function Co(e,...t){if(process.env.NODE_ENV!=="production"){const n=Jee[e],r=typeof n=="function"?n.apply(null,t):n;throw new Error(`[Immer] ${r}`)}throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Pf=Object.getPrototypeOf;function Tf(e){return!!e&&!!e[Yo]}function Su(e){var t;return e?W$(e)||Array.isArray(e)||!!e[jP]||!!((t=e.constructor)!=null&&t[jP])||Dv(e)||Pv(e):!1}var ete=Object.prototype.constructor.toString();function W$(e){if(!e||typeof e!="object")return!1;const t=Pf(e);if(t===null)return!0;const n=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return n===Object?!0:typeof n=="function"&&Function.toString.call(n)===ete}function O0(e,t){Mv(e)===0?Reflect.ownKeys(e).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function Mv(e){const t=e[Yo];return t?t.type_:Array.isArray(e)?1:Dv(e)?2:Pv(e)?3:0}function zE(e,t){return Mv(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function q$(e,t,n){const r=Mv(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function tte(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function Dv(e){return e instanceof Map}function Pv(e){return e instanceof Set}function _c(e){return e.copy_||e.base_}function BE(e,t){if(Dv(e))return new Map(e);if(Pv(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const n=W$(e);if(t===!0||t==="class_only"&&!n){const r=Object.getOwnPropertyDescriptors(e);delete r[Yo];let o=Reflect.ownKeys(r);for(let s=0;s<o.length;s++){const i=o[s],a=r[i];a.writable===!1&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(r[i]={configurable:!0,writable:!0,enumerable:a.enumerable,value:e[i]})}return Object.create(Pf(e),r)}else{const r=Pf(e);if(r!==null&&n)return{...e};const o=Object.create(r);return Object.assign(o,e)}}function Xk(e,t=!1){return Tv(e)||Tf(e)||!Su(e)||(Mv(e)>1&&(e.set=e.add=e.clear=e.delete=nte),Object.freeze(e),t&&Object.entries(e).forEach(([n,r])=>Xk(r,!0))),e}function nte(){Co(2)}function Tv(e){return Object.isFrozen(e)}var rte={};function Cu(e){const t=rte[e];return t||Co(0,e),t}var bm;function G$(){return bm}function ote(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function RP(e,t){t&&(Cu("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function VE(e){HE(e),e.drafts_.forEach(ste),e.drafts_=null}function HE(e){e===bm&&(bm=e.parent_)}function MP(e){return bm=ote(bm,e)}function ste(e){const t=e[Yo];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function DP(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];return e!==void 0&&e!==n?(n[Yo].modified_&&(VE(t),Co(4)),Su(e)&&(e=F0(t,e),t.parent_||$0(t,e)),t.patches_&&Cu("Patches").generateReplacementPatches_(n[Yo].base_,e,t.patches_,t.inversePatches_)):e=F0(t,n,[]),VE(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==U$?e:void 0}function F0(e,t,n){if(Tv(t))return t;const r=t[Yo];if(!r)return O0(t,(o,s)=>PP(e,r,t,o,s,n)),t;if(r.scope_!==e)return t;if(!r.modified_)return $0(e,r.base_,!0),r.base_;if(!r.finalized_){r.finalized_=!0,r.scope_.unfinalizedDrafts_--;const o=r.copy_;let s=o,i=!1;r.type_===3&&(s=new Set(o),o.clear(),i=!0),O0(s,(a,l)=>PP(e,r,o,a,l,n,i)),$0(e,o,!1),n&&e.patches_&&Cu("Patches").generatePatches_(r,n,e.patches_,e.inversePatches_)}return r.copy_}function PP(e,t,n,r,o,s,i){if(process.env.NODE_ENV!=="production"&&o===n&&Co(5),Tf(o)){const a=s&&t&&t.type_!==3&&!zE(t.assigned_,r)?s.concat(r):void 0,l=F0(e,o,a);if(q$(n,r,l),Tf(l))e.canAutoFreeze_=!1;else return}else i&&n.add(o);if(Su(o)&&!Tv(o)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;F0(e,o),(!t||!t.scope_.parent_)&&typeof r!="symbol"&&Object.prototype.propertyIsEnumerable.call(n,r)&&$0(e,o)}}function $0(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Xk(t,n)}function ite(e,t){const n=Array.isArray(e),r={type_:n?1:0,scope_:t?t.scope_:G$(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let o=r,s=Qk;n&&(o=[r],s=ym);const{revoke:i,proxy:a}=Proxy.revocable(o,s);return r.draft_=a,r.revoke_=i,a}var Qk={get(e,t){if(t===Yo)return e;const n=_c(e);if(!zE(n,t))return ate(e,n,t);const r=n[t];return e.finalized_||!Su(r)?r:r===dS(e.base_,t)?(fS(e),e.copy_[t]=WE(r,e)):r},has(e,t){return t in _c(e)},ownKeys(e){return Reflect.ownKeys(_c(e))},set(e,t,n){const r=Y$(_c(e),t);if(r!=null&&r.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const o=dS(_c(e),t),s=o==null?void 0:o[Yo];if(s&&s.base_===n)return e.copy_[t]=n,e.assigned_[t]=!1,!0;if(tte(n,o)&&(n!==void 0||zE(e.base_,t)))return!0;fS(e),UE(e)}return e.copy_[t]===n&&(n!==void 0||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_[t]=!0),!0},deleteProperty(e,t){return dS(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,fS(e),UE(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const n=_c(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:r.enumerable,value:n[t]}},defineProperty(){Co(11)},getPrototypeOf(e){return Pf(e.base_)},setPrototypeOf(){Co(12)}},ym={};O0(Qk,(e,t)=>{ym[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});ym.deleteProperty=function(e,t){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(t))&&Co(13),ym.set.call(this,e,t,void 0)};ym.set=function(e,t,n){return process.env.NODE_ENV!=="production"&&t!=="length"&&isNaN(parseInt(t))&&Co(14),Qk.set.call(this,e[0],t,n,e[0])};function dS(e,t){const n=e[Yo];return(n?_c(n):e)[t]}function ate(e,t,n){var o;const r=Y$(t,n);return r?"value"in r?r.value:(o=r.get)==null?void 0:o.call(e.draft_):void 0}function Y$(e,t){if(!(t in e))return;let n=Pf(e);for(;n;){const r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Pf(n)}}function UE(e){e.modified_||(e.modified_=!0,e.parent_&&UE(e.parent_))}function fS(e){e.copy_||(e.copy_=BE(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var lte=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(t,n,r)=>{if(typeof t=="function"&&typeof n!="function"){const s=n;n=t;const i=this;return function(l=s,...c){return i.produce(l,u=>n.call(this,u,...c))}}typeof n!="function"&&Co(6),r!==void 0&&typeof r!="function"&&Co(7);let o;if(Su(t)){const s=MP(this),i=WE(t,void 0);let a=!0;try{o=n(i),a=!1}finally{a?VE(s):HE(s)}return RP(s,r),DP(o,s)}else if(!t||typeof t!="object"){if(o=n(t),o===void 0&&(o=t),o===U$&&(o=void 0),this.autoFreeze_&&Xk(o,!0),r){const s=[],i=[];Cu("Patches").generateReplacementPatches_(t,o,s,i),r(s,i)}return o}else Co(1,t)},this.produceWithPatches=(t,n)=>{if(typeof t=="function")return(i,...a)=>this.produceWithPatches(i,l=>t(l,...a));let r,o;return[this.produce(t,n,(i,a)=>{r=i,o=a}),r,o]},typeof(e==null?void 0:e.autoFreeze)=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof(e==null?void 0:e.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy)}createDraft(e){Su(e)||Co(8),Tf(e)&&(e=cte(e));const t=MP(this),n=WE(e,void 0);return n[Yo].isManual_=!0,HE(t),n}finishDraft(e,t){const n=e&&e[Yo];(!n||!n.isManual_)&&Co(9);const{scope_:r}=n;return RP(r,t),DP(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){const o=t[n];if(o.path.length===0&&o.op==="replace"){e=o.value;break}}n>-1&&(t=t.slice(n+1));const r=Cu("Patches").applyPatches_;return Tf(e)?r(e,t):this.produce(e,o=>r(o,t))}};function WE(e,t){const n=Dv(e)?Cu("MapSet").proxyMap_(e,t):Pv(e)?Cu("MapSet").proxySet_(e,t):ite(e,t);return(t?t.scope_:G$()).drafts_.push(n),n}function cte(e){return Tf(e)||Co(10,e),Z$(e)}function Z$(e){if(!Su(e)||Tv(e))return e;const t=e[Yo];let n;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=BE(e,t.scope_.immer_.useStrictShallowCopy_)}else n=BE(e,!0);return O0(n,(r,o)=>{q$(n,r,Z$(o))}),t&&(t.finalized_=!1),n}var Zo=new lte,ute=Zo.produce;Zo.produceWithPatches.bind(Zo);Zo.setAutoFreeze.bind(Zo);Zo.setUseStrictShallowCopy.bind(Zo);Zo.applyPatches.bind(Zo);Zo.createDraft.bind(Zo);Zo.finishDraft.bind(Zo);const dte=e=>(t,n,r)=>(r.setState=(o,s,...i)=>{const a=typeof o=="function"?ute(o):o;return t(a,s,...i)},e(r.setState,n,r)),_g=dte;var qE,Lb=kn;if(process.env.NODE_ENV==="production")qE=Lb.createRoot,Lb.hydrateRoot;else{var TP=Lb.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;qE=function(e,t){TP.usingClientEntryPoint=!0;try{return Lb.createRoot(e,t)}finally{TP.usingClientEntryPoint=!1}}}var K$={},X$={},Jk={exports:{}},mt=String,Q$=function(){return{isColorSupported:!1,reset:mt,bold:mt,dim:mt,italic:mt,underline:mt,inverse:mt,hidden:mt,strikethrough:mt,black:mt,red:mt,green:mt,yellow:mt,blue:mt,magenta:mt,cyan:mt,white:mt,gray:mt,bgBlack:mt,bgRed:mt,bgGreen:mt,bgYellow:mt,bgBlue:mt,bgMagenta:mt,bgCyan:mt,bgWhite:mt,blackBright:mt,redBright:mt,greenBright:mt,yellowBright:mt,blueBright:mt,magentaBright:mt,cyanBright:mt,whiteBright:mt,bgBlackBright:mt,bgRedBright:mt,bgGreenBright:mt,bgYellowBright:mt,bgBlueBright:mt,bgMagentaBright:mt,bgCyanBright:mt,bgWhiteBright:mt}};Jk.exports=Q$();Jk.exports.createColors=Q$;var fte=Jk.exports;(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(l,c){for(var u in c)Object.defineProperty(l,u,{enumerable:!0,get:c[u]})}t(e,{dim:function(){return i},default:function(){return a}});const n=r(fte);function r(l){return l&&l.__esModule?l:{default:l}}let o=new Set;function s(l,c,u){typeof process<"u"&&process.env.JEST_WORKER_ID||u&&o.has(u)||(u&&o.add(u),console.warn(""),c.forEach(f=>console.warn(l,"-",f)))}function i(l){return n.default.dim(l)}const a={info(l,c){s(n.default.bold(n.default.cyan("info")),...Array.isArray(l)?[l]:[c,l])},warn(l,c){s(n.default.bold(n.default.yellow("warn")),...Array.isArray(l)?[l]:[c,l])},risk(l,c){s(n.default.bold(n.default.magenta("risk")),...Array.isArray(l)?[l]:[c,l])}}})(X$);(function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return o}});const t=n(X$);function n(s){return s&&s.__esModule?s:{default:s}}function r({version:s,from:i,to:a}){t.default.warn(`${i}-color-renamed`,[`As of Tailwind CSS ${s}, \`${i}\` has been renamed to \`${a}\`.`,"Update your configuration file to silence this warning."])}const o={inherit:"inherit",current:"currentColor",transparent:"transparent",black:"#000",white:"#fff",slate:{50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a",950:"#020617"},gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827",950:"#030712"},zinc:{50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b",950:"#09090b"},neutral:{50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717",950:"#0a0a0a"},stone:{50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917",950:"#0c0a09"},red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d",950:"#450a0a"},orange:{50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12",950:"#431407"},amber:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f",950:"#451a03"},yellow:{50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12",950:"#422006"},lime:{50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314",950:"#1a2e05"},green:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d",950:"#052e16"},emerald:{50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b",950:"#022c22"},teal:{50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a",950:"#042f2e"},cyan:{50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63",950:"#083344"},sky:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e",950:"#082f49"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a",950:"#172554"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81",950:"#1e1b4b"},violet:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95",950:"#2e1065"},purple:{50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87",950:"#3b0764"},fuchsia:{50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75",950:"#4a044e"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843",950:"#500724"},rose:{50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337",950:"#4c0519"},get lightBlue(){return r({version:"v2.2",from:"lightBlue",to:"sky"}),this.sky},get warmGray(){return r({version:"v3.0",from:"warmGray",to:"stone"}),this.stone},get trueGray(){return r({version:"v3.0",from:"trueGray",to:"neutral"}),this.neutral},get coolGray(){return r({version:"v3.0",from:"coolGray",to:"gray"}),this.gray},get blueGray(){return r({version:"v3.0",from:"blueGray",to:"slate"}),this.slate}}})(K$);let hS=K$;var hte=(hS.__esModule?hS:{default:hS}).default;const fn=Hu(hte),Av=!1,e_=`import pandas as pd
|
|
34
34
|
df = pd.DataFrame(data) # 'data' contains the query result
|
|
35
35
|
result = df.to_dict('records') # must return 'result' as [dict] type
|
|
36
|
-
`,J$=["_forecast"],L0="dm",pte=[{locale:"en-US",currency:"USD",currencyName:"US Dollar"},{locale:"en-GB",currency:"GBP",currencyName:"British Pound"},{locale:"en-CA",currency:"CAD",currencyName:"Canadian Dollar"},{locale:"en-AU",currency:"AUD",currencyName:"Australian Dollar"},{locale:"en-IN",currency:"INR",currencyName:"Indian Rupee"},{locale:"ja-JP",currency:"JPY",currencyName:"Japanese Yen"},{locale:"de-DE",currency:"EUR",currencyName:"Germany (Eurozone)"},{locale:"fr-FR",currency:"EUR",currencyName:"France (Eurozone)"},{locale:"es-ES",currency:"EUR",currencyName:"Spain (Eurozone)"},{locale:"it-IT",currency:"EUR",currencyName:"Italy (Eurozone)"},{locale:"fi-FI",currency:"EUR",currencyName:"Finland (Eurozone)"},{locale:"nl-NL",currency:"EUR",currencyName:"Netherlands (Eurozone)"},{locale:"zh-CN",currency:"CNY",currencyName:"Chinese Yuan"},{locale:"ru-RU",currency:"RUB",currencyName:"Russian Ruble"},{locale:"pt-BR",currency:"BRL",currencyName:"Brazilian Real"},{locale:"ko-KR",currency:"KRW",currencyName:"South Korean Won"},{locale:"ar-SA",currency:"SAR",currencyName:"Saudi Riyal"},{locale:"sv-SE",currency:"SEK",currencyName:"Swedish Krona"},{locale:"no-NO",currency:"NOK",currencyName:"Norwegian Krone"},{locale:"da-DK",currency:"DKK",currencyName:"Danish Krone"},{locale:"pl-PL",currency:"PLN",currencyName:"Polish Zloty"},{locale:"tr-TR",currency:"TRY",currencyName:"Turkish Lira"},{locale:"he-IL",currency:"ILS",currencyName:"Israeli Shekel"},{locale:"th-TH",currency:"THB",currencyName:"Thai Baht"},{locale:"vi-VN",currency:"VND",currencyName:"Vietnamese Dong"},{locale:"id-ID",currency:"IDR",currencyName:"Indonesian Rupiah"},{locale:"mx-MX",currency:"MXN",currencyName:"Mexican Peso"},{locale:"za-ZA",currency:"ZAR",currencyName:"South African Rand"},{locale:"sg-SG",currency:"SGD",currencyName:"Singapore Dollar"},{locale:"hk-HK",currency:"HKD",currencyName:"Hong Kong Dollar"},{locale:"ch-CH",currency:"CHF",currencyName:"Swiss Franc"},{locale:"my-MY",currency:"MYR",currencyName:"Malaysian Ringgit"},{locale:"ph-PH",currency:"PHP",currencyName:"Philippine Peso"},{locale:"eg-EG",currency:"EGP",currencyName:"Egyptian Pound"},{locale:"nz-NZ",currency:"NZD",currencyName:"New Zealand Dollar"}],t_=["lg","md","sm","xs","xxs"],z0={default:{dashboardPanel:"",dashboardTabsContainer:"",gridLayout:{className:""},chart:{font:{family:"Open Sans, Arial, sans-serif"},dataset:{backgroundColor:[fn.teal[500],fn.teal[300],fn.gray[700],fn.gray[500],fn.gray[300]],borderColor:[fn.teal[500],fn.teal[300],fn.gray[700],fn.gray[500],fn.gray[300]]},options:{interaction:{mode:"index"},plugins:{datalabels:{display:!1,color:GE},title:{display:!0},tooltip:{backgroundColor:"#fff",bodyColor:"#000",borderWidth:.25,titleColor:"#000",borderColor:"rgb(128,131,139)",cornerRadius:4,usePointStyle:!0,pointStyle:"rectRounded",boxPadding:4},legend:{position:"top",align:"center",maxHeight:0,labels:{useBorderRadius:!0,borderRadius:2}}},scales:{y:{grid:{display:!0},title:{display:!0,text:""},beginAtZero:!0,ticks:{precision:0}},x:{grid:{display:!0},title:{display:!0}}},layout:{padding:{top:-40}},borderRadius:2,responsive:!0,maintainAspectRatio:!1}}},dark:{chart:{dataset:{datalables:{color:GE},backgroundColor:[fn.teal[500],fn.teal[300],fn.gray[700],fn.gray[500],fn.gray[300]],borderColor:[fn.teal[500],fn.teal[300],fn.gray[700],fn.gray[500],fn.gray[300]]},options:{plugins:{tooltip:{backgroundColor:"#000",bodyColor:"#fff",borderWidth:.25,titleColor:"#fff",borderColor:"rgb(128,131,139)",cornerRadius:2,boxPadding:4}},datalabels:{display:!1},scales:{x:{grid:{display:!0,color:fn.slate[800]}},y:{grid:{display:!0,color:fn.slate[800]}}}}}}};function GE(e){var r,o,s,i,a,l;const t=(a=(i=(s=(o=(r=e==null?void 0:e.chart)==null?void 0:r.config)==null?void 0:o._config)==null?void 0:s.options)==null?void 0:i.plugins)==null?void 0:a.datalabels;let n=(l=e==null?void 0:e.dataset)==null?void 0:l.backgroundColor;return(t==null?void 0:t.align)==="end"&&(t==null?void 0:t.anchor)==="end"&&(n=Al()),(t==null?void 0:t.align)==="start"&&(t==null?void 0:t.anchor)==="start"&&(n=Al()),Fa(n)}function Al(){return ee.getState().theme==="dark"?"#000000":"#FFFFFF"}function Fa(e){let t=0,n=0,r=0,o=0;const s=u=>{if(!u)return fn.gray[500];const f=u.replace("#",""),h=parseInt(f.substring(0,2),16),p=parseInt(f.substring(2,4),16),m=parseInt(f.substring(4,6),16);t+=h,n+=p,r+=m,o++};Array.isArray(e)?e.forEach(u=>{s(u)}):s(e);const i=t/o,a=n/o,l=r/o;return(i*299+a*587+l*114)/1e3>=180?"black":"white"}const mte=["text","nullable(string)","name","enum","varchar","nvarchar","nvarchar2","char","character","longtext","nchar","char varying","nchar varying","character varying","string"],gte=["number","integer","int","int64","bigint","smallint","tinyint","byteint","numeric","decimal","dec","double","real","double precision","float","float4","float8","float64"],bte=["date","datetime","time","timestamp","timestamp without time zone","timestamp_ns"],yte=["boolean"];function n_(e){return e.match(/[A-Z]/)?`"${e}"`:e}function Iv(e){return mte.includes(e.toLowerCase())||/varchar/i.test(e)}function jg(e){return gte.includes(e.toLowerCase())||/int|decimal|float|double/i.test(e)}function Uu(e){return bte.includes(e.toLowerCase())||/date|time|timestamp/i.test(e)}function r_(e){return yte.includes(e.toLowerCase())||/boolean/i.test(e)}function xte(e,t,n,r,o,s){const{measures:i,dimensions:a}=e,l=i==null?void 0:i.map(h=>`${h.calc}(${h.name}) as ${h.calc}_${h.name.replace(/"/g,"")}`).join(", "),c=(a==null?void 0:a.join(", "))||"";let u="";const f=r?`${L0}.${r}`:o_({schemaName:t,tableName:n,connectionType:o,databaseName:s});if(l&&c)return u=`SELECT ${c}, COUNT(*) as count, ${l} FROM ${f} GROUP BY ${c} ORDER BY ${c} DESC LIMIT 100`,u;if(!l&&c)return u=`SELECT ${c}, COUNT(*) as count FROM ${f} GROUP BY ${c} ORDER BY ${c} DESC LIMIT 100`,u;if(l&&!c)return u=`SELECT ${l} FROM ${f} LIMIT 100`,u}function vte(e,t,n="AVG"){var s,i,a,l;let r={};const o=n_(e.column_name);return Iv(e.data_type)&&(((s=t.dimensions)==null?void 0:s.includes(o))?r={...t,dimensions:(i=t.dimensions)==null?void 0:i.filter(u=>u!==o)}:r={...t,dimensions:[...t.dimensions||[],o]}),jg(e.data_type)&&(((a=t.measures)==null?void 0:a.some(u=>u.name===o&&u.calc===n))?r={...t,measures:(l=t.measures)==null?void 0:l.filter(u=>!(u.name===o&&u.calc===n))}:r={...t,measures:[...t.measures||[],{name:o,calc:n||"SUM"}]}),r}function Qd(e){return Iv(e.dataType)?"string":jg(e.dataType)?"number":Uu(e.dataType)?"date":r_(e.dataType)?"boolean":"string"}function wte(e){let t;const n=e.data_type.toLowerCase();return Iv(n)?t="T":jg(n)?t="#":Uu(n)?t="D":r_(n)?t="B":t="?",t}function Ste(e,t){const{dimensions:n,measures:r}=t,o=n==null?void 0:n.includes(e.column_name),s=r==null?void 0:r.some(i=>i.name===e.column_name);return o||s}function e3(e){return e?e!=null&&e.startsWith(`${L0}.`)?e:`${L0}.${e}`:""}function t3({schemaName:e,tableName:t,modelName:n,connectionType:r,databaseName:o}){let s=o_({schemaName:e,tableName:t,connectionType:r,databaseName:o});n&&(s=e3(n));let i=s;return(l=>/[A-Z]/.test(l))(t)&&(i=i.split(".").map(c=>`"${c}"`).join(".")),i}function o_({schemaName:e,tableName:t,connectionType:n,databaseName:r}){return t==="api"||e===n_("NA")||n==="S3"||n==="API"?t:n==="S3Tables"?`${r}.${e}.${t}`:e?`${e}.${t}`:`${t}`}const Cte=e=>{const t=new Date(e);return!isNaN(t.getTime())},Ete=e=>!isNaN(Number(e))&&!isNaN(parseFloat(e)),Ov=e=>{let t;return typeof e=="number"?t="number":typeof e=="string"?Cte(e)?t="date":Ete(e)?t="number":t="string":typeof e=="boolean"?t="boolean":e instanceof Date?t="date":t="unknown",t};function Nte({get:e,dataPoint:t,card:n}){var h;const{addOrUpdateFilterValue:r,addFilteringCard:o,removeFilterValues:s,replaceFilterValue:i,removeFilteringCard:a}=e().actions,l=e().filteringCards,{columnName:c,columnValue:u}=t,f={filterId:n.id,connectionId:n==null?void 0:n.connectionId,tableName:n.lastSelectedTable,name:c,expression:(h=n.preferences)==null?void 0:h.filterOnClickField,valueType:Ov(u),operation:"=",values:[u]};if(l!=null&&l.find(p=>p.id===n.id)){const p=n.id;if(u==null){a(n),s(p);return}else i(f)}o(n),r(f)}function AP({id:e,layouts:t,initialHeight:n,y:r,x:o,w:s,minH:i}){const a={i:e,x:o??0,y:r??1/0,w:s||20,h:n||35,minW:6,minH:i||10},l=t?{...t}:{};return t_.forEach(c=>{l[c]||(l[c]=[]);const u=l[c].reduce((f,h)=>Math.max(f,h.y+h.h),0);a.y=a.y===1/0?u:a.y,l[c].push({...a})}),l}function IP(e,t){if(!t)return;const n={...t};return t_.forEach(r=>{n[r]&&(n[r]=n[r].filter(o=>o.i!==e))}),n}function s_(e){const t=ee.getState().dashboard.globalCacheConfig,{card:n,filter:r}=e;return t}const kte=["new","edit","delete","create","update","remove"];function OP(e,t,n){if(n&&t===n)return!0;const r=e.sheets||[];for(const o of r){const s=o.frames||[];for(const i of s){const a=i.cards||[];for(const l of a)if(l.id===t)return!1}}return!0}function _te(e){return!e||e.trim().length===0?{isValid:!1,error:"Card ID cannot be empty"}:e.length<3?{isValid:!1,error:"Card ID must be at least 3 characters"}:e.length>50?{isValid:!1,error:"Card ID must be less than 50 characters"}:/^[a-zA-Z0-9-_]+$/.test(e)?/^[a-zA-Z0-9]/.test(e)?kte.includes(e.toLowerCase())?{isValid:!1,error:`"${e}" is a reserved keyword and cannot be used`}:{isValid:!0}:{isValid:!1,error:"Card ID must start with a letter or number"}:{isValid:!1,error:"Card ID can only contain letters, numbers, hyphens, and underscores"}}function jte(e){return e.trim().toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9-_]/g,"")}const ee=Qi()(_g((e,t)=>({isSessionExpired:!1,currentBreakpoint:"lg",dashboard:{id:"",style:z0},showContext:!1,selectedSheetId:null,selectedCardId:null,selectedFrameId:null,selectedCard:null,showFilters:!1,isDashboardEditing:!1,isVisualEditing:!1,showDashboardJSON:!1,filteringCards:[],isDashboardPanelOpen:!1,actions:{setInitStore:()=>{e(n=>{n.isSessionExpired=!1,n.currentBreakpoint="lg",n.dashboard={id:"",style:z0},n.showContext=!1,n.selectedSheetId=null,n.selectedCardId=null,n.selectedFrameId=null,n.selectedCard=null,n.showFilters=!1,n.isDashboardEditing=!1,n.isVisualEditing=!1,n.showDashboardJSON=!1,n.filteringCards=[],n.selectedLensId=void 0,n.filterValues=void 0})},setAiContext:n=>{e(r=>{r.dashboard.aiContext=n})},setHandleOpenAssistantProfile:n=>{e(r=>{r.handleOpenAssistantProfile=n})},setFilterMode:(n,r)=>{const o=r==="exclude"?"not in":"in";e(s=>{var a,l,c;const i=(a=s.dashboard.filters)==null?void 0:a.find(u=>u.id===n);i&&(i.operation=o,s.dashboard.filters=(l=s.dashboard.filters)==null?void 0:l.map(u=>u.id===n?i:u),s.filterValues&&s.filterValues.length>0&&(s.filterValues=(c=s.filterValues)==null?void 0:c.map(u=>u.filterId===n?{...u,operation:o}:u)))})},updateEmailSettings:n=>{e(r=>{r.dashboard.emailSettings=n})},setDefaultFilterValues:n=>{e(r=>{r.dashboard.defaultFilterValues=n})},setIsDownloadingPdf:n=>{e(r=>{r.isDownloadingPdf=n})},setGlobalCacheConfig:n=>{e(r=>{r.dashboard.globalCacheConfig=n})},setLenses:n=>{e(r=>{r.lenses=n})},setSelectedLensId:n=>{e(r=>{r.selectedLensId=n})},deleteSheet:n=>{e(r=>{var s,i,a,l,c,u,f,h;const o=(s=r.dashboard.sheets)==null?void 0:s.findIndex(p=>p.id===n);if(o!==void 0&&o>-1){(i=r.dashboard.sheets)==null||i.splice(o,1);const p=(a=r.dashboard.filters)==null?void 0:a.filter(g=>g.sheetId===n),m=(l=r.filterValues)==null?void 0:l.filter(g=>p==null?void 0:p.some(y=>y.id===g.filterId));if(r.filterValues=(c=r.filterValues)==null?void 0:c.filter(g=>!(m!=null&&m.some(y=>y.filterId===g.filterId))),r.dashboard.filters=(u=r.dashboard.filters)==null?void 0:u.filter(g=>g.sheetId!==n),r.selectedSheetId=(h=(f=r.dashboard.sheets)==null?void 0:f[0])==null?void 0:h.id,r.dashboard.id)try{const g=`semaphor-default-sheet-${r.dashboard.id}`;localStorage.getItem(g)===n&&localStorage.removeItem(g)}catch(g){console.error("Error clearing default sheet preference:",g)}}})},addSheet:n=>{e(r=>{r.dashboard.sheets||(r.dashboard.sheets=[]);const o=r.dashboard.filters;let s={};o==null||o.forEach(a=>{t_.forEach(l=>{s!=null&&s[l]||(s={...s,[l]:[]});const c={i:a.id,x:0,y:0,w:10,h:8};s[l].push(c)})});const i={...n,layouts:s};r.dashboard.sheets.push(i)})},setGlobalStyle:n=>{e(r=>{r.dashboard.globalStyle=n})},setAIScopeTables:n=>{e(r=>{r.dashboard.aiScopeTables=n})},addToAIScope:n=>{e(r=>{const{connectionId:o,connectionType:s,databaseName:i,schemaName:a,tableName:l,datamodelName:c,datamodelId:u}=n,f={connectionId:o||"",connectionType:s||"",databaseName:i||"",schemaName:a||"",tableName:l||"",datamodelName:c||"",datamodelId:u||""};let p=[...r.dashboard.aiScopeTables||[],f];p=p.filter((m,g,y)=>y.findIndex(b=>b.tableName===m.tableName&&b.datamodelName===m.datamodelName)===g),r.dashboard.aiScopeTables=p})},removeFromAIScope:n=>{e(r=>{const{connectionId:o,tableName:s,datamodelName:i}=n,a=r.dashboard.aiScopeTables||[];if(i){const l=a.filter(c=>!(c.datamodelName===i&&c.connectionId===o));r.dashboard.aiScopeTables=l}else if(s){const l=a.filter(c=>!(c.tableName===s&&c.connectionId===o));r.dashboard.aiScopeTables=l}})},setIsSessionExpired:n=>{e(()=>({isSessionExpired:n}))},setCardPython:(n,r)=>{e(o=>{var i,a,l;const s=(a=(i=o.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(c=>c.id===o.selectedSheetId);s&&((l=s==null?void 0:s.frames)==null||l.forEach(c=>{var f;const u=(f=c.cards)==null?void 0:f.find(h=>h.id===n);u&&(u.python=r)}))})},addBaseQuery:n=>{e(r=>{var o;r.dashboard.baseQueries||(r.dashboard.baseQueries=[]),(o=r.dashboard.baseQueries)==null||o.push(n)})},removeBaseQuery:n=>{e(r=>{var s,i;const o=(s=r.dashboard.baseQueries)==null?void 0:s.findIndex(a=>a.id===n);o!=null&&o>-1&&((i=r.dashboard.baseQueries)==null||i.splice(o,1))})},setBaseQueries:n=>{e(r=>{r.dashboard.baseQueries=n})},setCurrentBreakpoint:n=>{e(()=>({currentBreakpoint:n}))},setFilteringCards:n=>{e(()=>({filteringCards:n}))},addFilteringCard:n=>{e(r=>{var o;(o=r.filteringCards)==null||o.push(n)})},removeFilteringCard:n=>{e(r=>{var s,i;const o=(s=r.filteringCards)==null?void 0:s.findIndex(a=>a.id===n.id);o!==void 0&&o>-1&&((i=r.filteringCards)==null||i.splice(o,1))})},setCustomCards:n=>{e(r=>{r.dashboard.customCards=n})},setAuthToken:n=>{e(()=>({authToken:n}))},setThemeStyle:n=>{e(()=>({themeStyle:n}))},setDashboard:n=>e({dashboard:n}),setDashboardWithFilterValues:(n,r)=>{e(o=>{o.dashboard=n,o.filterValues=r})},setDashboardTheme:n=>{e(r=>{r.theme=n})},setSheets:n=>{e(r=>{r.dashboard&&(r.dashboard.sheets=n)})},setSheetTitle:(n,r)=>{e(o=>{var i,a;const s=(a=(i=o.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(l=>l.id===n);s&&(s.title=r)})},setCardTitle:(n,r,o)=>{e(s=>{var a,l,c;const i=(l=(a=s.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(u=>u.id===n);i&&((c=i==null?void 0:i.frames)==null||c.forEach(u=>{var h;const f=(h=u.cards)==null?void 0:h.find(p=>p.id===r);f&&(f.title=o)}))})},setCardInfo:(n,r)=>{e(o=>{var i,a,l;const s=(a=(i=o.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(c=>c.id===o.selectedSheetId);s&&((l=s==null?void 0:s.frames)==null||l.forEach(c=>{var f;const u=(f=c.cards)==null?void 0:f.find(h=>h.id===n);u&&(u.info=r)}))})},setCardDescription:(n,r,o)=>{e(s=>{var a,l,c;const i=(l=(a=s.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(u=>u.id===n);i&&((c=i==null?void 0:i.frames)==null||c.forEach(u=>{var h;const f=(h=u.cards)==null?void 0:h.find(p=>p.id===r);f&&(f.description=o)}))})},setCardKpiOptions:(n,r,o)=>{e(s=>{var a,l,c;const i=(l=(a=s.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(u=>u.id===n);i&&((c=i==null?void 0:i.frames)==null||c.forEach(u=>{var h;const f=(h=u.cards)==null?void 0:h.find(p=>p.id===r);f&&(f.preferences||(f.preferences={}),f.preferences.kpiVisualOptions||(f.preferences.kpiVisualOptions={}),f.preferences.kpiVisualOptions={...f.preferences.kpiVisualOptions,...o})}))})},updateCardFilters:(n,r)=>{e(o=>{var i,a;const s=(i=o.dashboard)==null?void 0:i.sheets;if(s)for(const l of s){const c=l.frames||[];for(const u of c){const f=(a=u.cards)==null?void 0:a.find(h=>h.id===n);if(f){f.config||(f.config={}),f.config.filters=r;return}}}})},clearCardFilters:n=>{e(r=>{var s,i;const o=(s=r.dashboard)==null?void 0:s.sheets;if(o)for(const a of o){const l=a.frames||[];for(const c of l){const u=(i=c.cards)==null?void 0:i.find(f=>f.id===n);if(u&&u.config){u.config.filters=void 0;return}}}})},setCardSql:(n,r,o)=>{e(s=>{var a,l,c,u;const i=(l=(a=s.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(f=>f.id===n);if(i){const f=(c=i.cards)==null?void 0:c.find(h=>h.id===r);f&&(f.sql=o,(u=s.onUpdateCard)==null||u.call(s,f,n))}})},setSheetLayout:(n,r)=>{e(o=>{var i,a;const s=(a=(i=o.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(l=>l.id===n);s&&(s.layout=r)})},setSheetLayouts:(n,r)=>{e(o=>{var i,a;const s=(a=(i=o.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(l=>l.id===n);s&&(s.layouts=r)})},setShowContext:n=>{e(()=>({showContext:n}))},setShowFilters:n=>{e(()=>({showFilters:n}))},setFilterValues:n=>{e(()=>({filterValues:n}))},addOrUpdateFilterValue:n=>{e(r=>{if(r.filterValues){const o=r.filterValues.findIndex(s=>s.filterId===n.filterId);o>-1?r.filterValues.splice(o,1,n):r.filterValues.push(n)}else r.filterValues=[n]})},addOrUpdateFilterValues:n=>{e(r=>{r.filterValues?n.forEach(o=>{var i,a,l,c;const s=(i=r==null?void 0:r.filterValues)==null?void 0:i.findIndex(u=>u.filterId===o.filterId);if(o.values.length===0){r.filterValues=(a=r.filterValues)==null?void 0:a.filter(u=>u.filterId!==o.filterId);return}s!==void 0&&s>-1?(l=r.filterValues)==null||l.splice(s,1,o):(c=r.filterValues)==null||c.push(o)}):r.filterValues=n})},removeFilterValues:n=>{e(r=>{if(r.filterValues){const o=r.filterValues.filter(s=>s.filterId!==n&&!s.filterId.startsWith(n));r.filterValues=o}})},replaceFilterValue:n=>{e(r=>{if(r.filterValues){const o=r.filterValues.findIndex(s=>s.filterId===n.filterId);o>-1&&r.filterValues.splice(o,1,n)}})},addFilter:n=>{e(r=>{var s,i;r.dashboard.filters?(s=r.dashboard.filters)==null||s.push(n):r.dashboard.filters=[n],(i=r.dashboard.sheets)==null||i.find(a=>a.id===r.selectedSheetId);const o=r.dashboard.sheets;o==null||o.forEach(a=>{AP({id:n.id,layouts:a.layouts,y:0,initialHeight:8,minH:7,w:10})})})},removeFilter:n=>{e(r=>{var o,s,i;if(r.dashboard.filters){const a=(o=r.dashboard.filters)==null?void 0:o.findIndex(l=>l.id===n);if(a>-1){(s=r.dashboard.filters)==null||s.splice(a,1),(i=r.dashboard.sheets)==null||i.find(c=>c.id===r.selectedSheetId);const l=r.dashboard.sheets;l==null||l.forEach(c=>{const u=IP(n,c.layouts);c.layouts=u})}}})},updateCurrentDashboardCard:n=>{e(r=>{var a,l,c,u,f;const o=(l=(a=r.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(h=>h.id===r.selectedSheetId),s=(c=o==null?void 0:o.frames)==null?void 0:c.find(h=>h.id===r.selectedFrameId),i=(u=s==null?void 0:s.cards)==null?void 0:u.findIndex(h=>h.id===n.id);typeof i=="number"&&i>=0&&((f=s==null?void 0:s.cards)==null||f.splice(i,1,n))})},updateFrameCard:(n,r,o)=>{e(s=>{var l,c,u,f,h;const i=(c=(l=s.dashboard)==null?void 0:l.sheets)==null?void 0:c.find(p=>p.id===n);if(!i)return;const a=(u=i==null?void 0:i.frames)==null?void 0:u.find(p=>p.id===r);if(a){const p=(f=a.cards)==null?void 0:f.findIndex(m=>m.id===o.id);p>-1&&((h=a.cards)==null||h.splice(p,1,o))}})},updateFilter:n=>{e(r=>{var o,s;if(r.dashboard.filters){const i=(o=r.dashboard.filters)==null?void 0:o.findIndex(a=>a.id===n.id);i>-1&&((s=r.dashboard.filters)==null||s.splice(i,1,n))}})},updateFilterId:(n,r)=>{e(o=>{var a,l;const s=(a=o.dashboard.filters)==null?void 0:a.find(c=>c.id===n),i=(l=o.dashboard.filters)==null?void 0:l.some(c=>c.id===r);s&&!i&&(s.id=r)})},setIsDashboardEditing:n=>{e(()=>({isDashboardEditing:n}))},setShowDashboardJSON:n=>{e(()=>({showDashboardJSON:n}))},setIsVisualEditing:n=>{e(()=>({isVisualEditing:n}))},addFrame:(n,r,o)=>{e(s=>{var a,l,c,u;const i=(l=(a=s.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(f=>f.id===n);if(i){i.frames||(i.frames=[]),(c=i.frames)==null||c.push(r);let f=1/0;const h=0;o==="start"&&(f=0);const p=AP({id:r.id,layouts:i.layouts,minH:10,x:h,y:f});i.layouts=p,(u=s.onAddFrame)==null||u.call(s,r,n)}})},removeFrame:(n,r)=>{e(o=>{var i,a,l,c,u;const s=(a=(i=o.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(f=>f.id===n);if(s){const f=(l=s.frames)==null?void 0:l.findIndex(h=>h.id===r);console.log(f),typeof f=="number"&&f>-1&&((c=s.frames)==null||c.splice(f,1),(u=s.layout)==null||u.splice(f,1),IP(r,s.layouts))}})},updateFrame:(n,r)=>{e(o=>{var a,l,c;const s=(l=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(u=>u.id===n);if(!(s!=null&&s.frames))return;const i=s.frames.findIndex(u=>u.id===r.id);if(i===-1){console.warn("updateFrame: frame not found",r.id,n);return}s.frames.splice(i,1,r),(c=o.onAcceptChanges)==null||c.call(o,r,o.dashboard)})},updateCard:(n,r)=>{e(o=>{var a,l,c,u,f;const s=(l=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(h=>h.id===n),i=(c=s==null?void 0:s.cards)==null?void 0:c.findIndex(h=>h.id===r.id);s&&((u=s.cards)==null||u.splice(i,1,r),(f=o.onUpdateCard)==null||f.call(o,r,n))})},removeCard:(n,r)=>{e(o=>{var a,l,c,u,f,h;const s=(l=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(p=>p.id===n),i=(c=s==null?void 0:s.cards)==null?void 0:c.findIndex(p=>p.id===r.id);s&&((u=s.cards)==null||u.splice(i,1),(f=s.layout)==null||f.splice(i,1),(h=o.onRemoveCard)==null||h.call(o,r,n))})},setStyle:n=>{e(r=>{r.dashboard&&(r.dashboard.style=n)})},setSelectedCardId:(n,r)=>{e(o=>{var i,a,l;const s=(a=(i=o.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(c=>c.id===n);s&&(((l=s.cards)==null?void 0:l.find(u=>u.id===r))?o.selectedCardId=r:o.selectedCardId=null)})},setSelectedFrameId:n=>{e(r=>{var s,i;((i=(s=r.dashboard)==null?void 0:s.sheets)==null?void 0:i.find(a=>a.id===r.selectedSheetId))&&(r.selectedFrameId=n)})},clearSelectedFrameId:()=>{e(n=>{n.selectedFrameId=null})},setSelectedSheetId:n=>{e(r=>{var s,i;((i=(s=r.dashboard)==null?void 0:s.sheets)==null?void 0:i.find(a=>a.id===n))&&(r.selectedSheetId=n)})},setOnSaveFunction:n=>{e(()=>({onSaveFunction:n}))},setOnAddCard:n=>{e(()=>({onAddCard:n}))},setOnAcceptChanges:n=>{e(()=>({onAcceptChanges:n}))},setOnUpdateCard:n=>{e(()=>({onUpdateCard:n}))},setOnRemoveCard:n=>{e(()=>({onRemoveCard:n}))},setOnEvent:n=>{e(()=>({onEvent:n}))},getDashboard:()=>t().dashboard,getSelectedSheet:()=>{var n,r;return(r=(n=t().dashboard)==null?void 0:n.sheets)==null?void 0:r.find(o=>o.id===t().selectedSheetId)},getCardFrame:n=>{var o,s;const r=(o=t().dashboard)==null?void 0:o.sheets;if(r)for(let i=0;i<r.length;i++){const a=r[i].frames;if(a){for(let l=0;l<a.length;l++)if((s=a[l].cards)==null?void 0:s.find(u=>u.id===n))return a[l]}}},getSelectedFrame:()=>{var r,o,s;const n=(o=(r=t().dashboard)==null?void 0:r.sheets)==null?void 0:o.find(i=>i.id===t().selectedSheetId);return(s=n==null?void 0:n.frames)==null?void 0:s.find(i=>i.id===t().selectedFrameId)},getCard:n=>{var o,s;const r=(o=t().dashboard)==null?void 0:o.sheets;if(r)for(let i=0;i<r.length;i++){const a=r[i].frames;if(a)for(let l=0;l<a.length;l++){const c=(s=a[l].cards)==null?void 0:s.find(u=>u.id===n);if(c)return c}}},getSelectedSheetLayout:()=>{var r,o;const n=(o=(r=t().dashboard)==null?void 0:r.sheets)==null?void 0:o.find(s=>s.id===t().selectedSheetId);return n==null?void 0:n.layout},getSelectedSheetLayouts:()=>{var r,o;const n=(o=(r=t().dashboard)==null?void 0:r.sheets)==null?void 0:o.find(s=>s.id===t().selectedSheetId);return n==null?void 0:n.layouts},getStyle:()=>{var n;return(n=t().dashboard)==null?void 0:n.style},getCardSheet(n){var o,s;const r=(o=t().dashboard)==null?void 0:o.sheets;if(r)for(let i=0;i<r.length;i++){const a=r[i].frames;if(a){for(let l=0;l<a.length;l++)if((s=a[l].cards)==null?void 0:s.find(u=>u.id===n))return r[i]}}},handleDataPointClickAction:(n,r)=>{Nte({card:n,dataPoint:r,get:t})},setIsDashboardPanelOpen:n=>{e(()=>({isDashboardPanelOpen:n}))},updateCardId:(n,r)=>{const o=t(),s=_te(r);return s.isValid?OP(o.dashboard,r,n)?(e(i=>{var l;const a=i.dashboard.sheets||[];for(const c of a){const u=c.frames||[];for(const f of u){const h=f.cards||[];for(let p=0;p<h.length;p++)h[p].id===n&&(h[p].id=r);f.activeCardId===n&&(f.activeCardId=r)}}i.selectedCardId===n&&(i.selectedCardId=r),((l=i.selectedCard)==null?void 0:l.id)===n&&(i.selectedCard.id=r)}),{success:!0}):{success:!1,error:"This Card ID already exists in the dashboard"}:{success:!1,error:s.error}},isCardIdUnique:(n,r)=>OP(t().dashboard,n,r)}}))),n3=()=>ee(t=>{var s,i,a,l,c;const n=(i=(s=t.dashboard)==null?void 0:s.sheets)==null?void 0:i.find(u=>u.id===t.selectedSheetId),r=(a=n==null?void 0:n.frames)==null?void 0:a.find(u=>u.id===t.selectedFrameId);return((l=r==null?void 0:r.cards)==null?void 0:l.find(u=>u.id===(r==null?void 0:r.activeCardId)))||((c=r==null?void 0:r.cards)==null?void 0:c[0])}),r3=()=>{var n;const e=ee(r=>{var o,s;return(s=(o=r.dashboard)==null?void 0:o.sheets)==null?void 0:s.find(i=>i.id===r.selectedSheetId)});return(((n=e==null?void 0:e.frames)==null?void 0:n.map(r=>{var o;return(o=r.cards)==null?void 0:o.find(s=>s.id===r.activeCardId)}))||[]).filter(r=>r!==void 0)},o3=()=>{var t,n,r;const e=n3();return{metricFields:((t=e==null?void 0:e.config)==null?void 0:t.metricColumns)||[],groupByFields:((n=e==null?void 0:e.config)==null?void 0:n.groupByColumns)||[],pivotByFields:((r=e==null?void 0:e.config)==null?void 0:r.pivotByColumns)||[]}},en=()=>ee(e=>e.actions);async function Rte(e,t){const n=t.slice(0,16),r=new TextEncoder,o=await window.crypto.subtle.importKey("raw",r.encode(n),{name:"PBKDF2"},!1,["deriveKey"]),s=await window.crypto.subtle.deriveKey({name:"PBKDF2",salt:r.encode(n),iterations:1e5,hash:"SHA-256"},o,{name:"AES-GCM",length:256},!1,["encrypt"]),i=window.crypto.getRandomValues(new Uint8Array(12)),a=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:i},s,r.encode(e)),l=new Uint8Array(i.length+a.byteLength);return l.set(i,0),l.set(new Uint8Array(a),i.length),{payload:btoa(String.fromCharCode(...l))}}async function s3(e,t){const n=t.slice(0,16),r=new TextEncoder,o=new TextDecoder,s=await window.crypto.subtle.importKey("raw",r.encode(n),{name:"PBKDF2"},!1,["deriveKey"]),i=await window.crypto.subtle.deriveKey({name:"PBKDF2",salt:r.encode(n),iterations:1e5,hash:"SHA-256"},s,{name:"AES-GCM",length:256},!1,["decrypt"]),a=Uint8Array.from(atob(e),h=>h.charCodeAt(0)),l=a.slice(0,12),c=a.slice(a.length-16),u=a.slice(12,a.length-16),f=new Uint8Array(u.length+c.length);f.set(u),f.set(c,u.length);try{const h=await window.crypto.subtle.decrypt({name:"AES-GCM",iv:l},i,f);return{decryptedData:o.decode(h)}}catch(h){throw new Error(`Decryption failed: ${h}`)}}function K(...e){return $ee(wu(e))}const Mte=e=>Object.keys(e).length===0;async function Ln(e,t,n={}){try{const r=new URLSearchParams(n).toString(),o=`${e}?${r}`,s=await fetch(o,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`}});if(!s.ok){const a=await s.json();throw new Error((a==null?void 0:a.error)||`HTTP error! status: ${s.status}`)}return await s.json()}catch(r){throw console.error("Error during fetch:",r),r}}async function i3(e,t,n={}){try{const r=JSON.stringify(n),o=await Rte(r,t),s=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},body:JSON.stringify(o)});if(!s.ok)throw await s.json();const i=await s.json();if(i.payload){const a=await s3(i.payload,t);return JSON.parse(a.decryptedData)}return i}catch(r){throw console.error("Error during fetch:",r),r}}async function rc(e,t,n={},r="POST"){try{const o=await fetch(e,{method:r,headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},body:JSON.stringify(n)});if(!o.ok)throw await o.json();return await o.json()}catch(o){throw console.error("Error during fetch:",o),o}}function Dte(e){return e?Rv(e).assistantProfileId:void 0}function Pte(e){if(!e)return;const t=Rv(e);if(t.params&&t.params.currencyFormat)return t.params.currencyFormat}function a3(e){return e?Rv(e).params:void 0}function Fv(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Li(e){return e.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substring(1).toLowerCase())}function i_(e){return e.replace(/[_-]+/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase())}const Ar="focus:ring-1 focus:ring-offset-0 focus-visible:ring-1 focus-visible:ring-offset-0",Jd="focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0 focus:ring-0 focus:ring-ring focus:ring-offset-0";async function Tte(e){var s,i;const t=(i=(s=ee.getState())==null?void 0:s.authToken)==null?void 0:i.accessToken;if(!t)return;const n=`${e}/v1/invalidate-token`,r=await fetch(n,{method:"POST",headers:{Authorization:`Bearer ${t}`}});if(!r.ok)throw new Error("Failed to invalidate token");const o=await r.json();return console.log("invalidateToken",o),o}async function Ate(e,t,n={}){if(!t)return null;let r=`${e}/v1/dashboard`;const o=Object.fromEntries(Object.entries(n).filter(([l,c])=>c!==void 0)),s=new URLSearchParams(o).toString();s&&(r+=`?${s}`);let a=await(await fetch(r,{headers:{Authorization:`Bearer ${t}`}})).json();if("payload"in a){const l=await s3(atob(a.payload),t);a=JSON.parse(l.decryptedData)}return a}async function Ite(e,t){if(!t)return null;const n=`${e}/v1/plugins`;return await(await fetch(n,{headers:{Authorization:`Bearer ${t}`}})).json()}const $v=e=>/boolean/i.test(e)?"boolean":/date|timestamp/i.test(e)?"date":/int|decimal|float|double|num/i.test(e)?"number":/json/i.test(e)?"json":/geo|geography|geometry/i.test(e)?"geo":"string";var B0={exports:{}};B0.exports;(function(e,t){var n=200,r="__lodash_hash_undefined__",o=800,s=16,i=9007199254740991,a="[object Arguments]",l="[object Array]",c="[object AsyncFunction]",u="[object Boolean]",f="[object Date]",h="[object Error]",p="[object Function]",m="[object GeneratorFunction]",g="[object Map]",y="[object Number]",b="[object Null]",x="[object Object]",v="[object Proxy]",w="[object RegExp]",S="[object Set]",E="[object String]",C="[object Undefined]",_="[object WeakMap]",j="[object ArrayBuffer]",R="[object DataView]",P="[object Float32Array]",M="[object Float64Array]",O="[object Int8Array]",I="[object Int16Array]",A="[object Int32Array]",F="[object Uint8Array]",H="[object Uint8ClampedArray]",W="[object Uint16Array]",$="[object Uint32Array]",T=/[\\^$.*+?()[\]{}|]/g,B=/^\[object .+?Constructor\]$/,z=/^(?:0|[1-9]\d*)$/,D={};D[P]=D[M]=D[O]=D[I]=D[A]=D[F]=D[H]=D[W]=D[$]=!0,D[a]=D[l]=D[j]=D[u]=D[R]=D[f]=D[h]=D[p]=D[g]=D[y]=D[x]=D[w]=D[S]=D[E]=D[_]=!1;var U=typeof _a=="object"&&_a&&_a.Object===Object&&_a,G=typeof self=="object"&&self&&self.Object===Object&&self,Z=U||G||Function("return this")(),V=t&&!t.nodeType&&t,L=V&&!0&&e&&!e.nodeType&&e,q=L&&L.exports===V,Y=q&&U.process,ne=function(){try{var X=L&&L.require&&L.require("util").types;return X||Y&&Y.binding&&Y.binding("util")}catch{}}(),Q=ne&&ne.isTypedArray;function le(X,re,ue){switch(ue.length){case 0:return X.call(re);case 1:return X.call(re,ue[0]);case 2:return X.call(re,ue[0],ue[1]);case 3:return X.call(re,ue[0],ue[1],ue[2])}return X.apply(re,ue)}function te(X,re){for(var ue=-1,Le=Array(X);++ue<X;)Le[ue]=re(ue);return Le}function se(X){return function(re){return X(re)}}function oe(X,re){return X==null?void 0:X[re]}function Ce(X,re){return function(ue){return X(re(ue))}}var de=Array.prototype,ye=Function.prototype,Pe=Object.prototype,it=Z["__core-js_shared__"],Ve=ye.toString,We=Pe.hasOwnProperty,wn=function(){var X=/[^.]+$/.exec(it&&it.keys&&it.keys.IE_PROTO||"");return X?"Symbol(src)_1."+X:""}(),Mn=Pe.toString,ie=Ve.call(Object),be=RegExp("^"+Ve.call(We).replace(T,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Me=q?Z.Buffer:void 0,Be=Z.Symbol,Ze=Z.Uint8Array;Me&&Me.allocUnsafe;var Ct=Ce(Object.getPrototypeOf,Object),sn=Object.create,zt=Pe.propertyIsEnumerable,Yt=de.splice,xe=Be?Be.toStringTag:void 0,bt=function(){try{var X=X1(Object,"defineProperty");return X({},"",{}),X}catch{}}(),bn=Me?Me.isBuffer:void 0,ce=Math.max,ge=Date.now,je=X1(Z,"Map"),Ee=X1(Object,"create"),Re=function(){function X(){}return function(re){if(!bc(re))return{};if(sn)return sn(re);X.prototype=re;var ue=new X;return X.prototype=void 0,ue}}();function ze(X){var re=-1,ue=X==null?0:X.length;for(this.clear();++re<ue;){var Le=X[re];this.set(Le[0],Le[1])}}function Ie(){this.__data__=Ee?Ee(null):{},this.size=0}function Fe(X){var re=this.has(X)&&delete this.__data__[X];return this.size-=re?1:0,re}function Ye(X){var re=this.__data__;if(Ee){var ue=re[X];return ue===r?void 0:ue}return We.call(re,X)?re[X]:void 0}function et(X){var re=this.__data__;return Ee?re[X]!==void 0:We.call(re,X)}function Vt(X,re){var ue=this.__data__;return this.size+=this.has(X)?0:1,ue[X]=Ee&&re===void 0?r:re,this}ze.prototype.clear=Ie,ze.prototype.delete=Fe,ze.prototype.get=Ye,ze.prototype.has=et,ze.prototype.set=Vt;function Mt(X){var re=-1,ue=X==null?0:X.length;for(this.clear();++re<ue;){var Le=X[re];this.set(Le[0],Le[1])}}function Ht(){this.__data__=[],this.size=0}function Xn(X){var re=this.__data__,ue=Tb(re,X);if(ue<0)return!1;var Le=re.length-1;return ue==Le?re.pop():Yt.call(re,ue,1),--this.size,!0}function un(X){var re=this.__data__,ue=Tb(re,X);return ue<0?void 0:re[ue][1]}function In(X){return Tb(this.__data__,X)>-1}function gi(X,re){var ue=this.__data__,Le=Tb(ue,X);return Le<0?(++this.size,ue.push([X,re])):ue[Le][1]=re,this}Mt.prototype.clear=Ht,Mt.prototype.delete=Xn,Mt.prototype.get=un,Mt.prototype.has=In,Mt.prototype.set=gi;function Zr(X){var re=-1,ue=X==null?0:X.length;for(this.clear();++re<ue;){var Le=X[re];this.set(Le[0],Le[1])}}function Mo(){this.size=0,this.__data__={hash:new ze,map:new(je||Mt),string:new ze}}function bi(X){var re=Ib(this,X).delete(X);return this.size-=re?1:0,re}function ol(X){return Ib(this,X).get(X)}function yJ(X){return Ib(this,X).has(X)}function xJ(X,re){var ue=Ib(this,X),Le=ue.size;return ue.set(X,re),this.size+=ue.size==Le?0:1,this}Zr.prototype.clear=Mo,Zr.prototype.delete=bi,Zr.prototype.get=ol,Zr.prototype.has=yJ,Zr.prototype.set=xJ;function ud(X){var re=this.__data__=new Mt(X);this.size=re.size}function vJ(){this.__data__=new Mt,this.size=0}function wJ(X){var re=this.__data__,ue=re.delete(X);return this.size=re.size,ue}function SJ(X){return this.__data__.get(X)}function CJ(X){return this.__data__.has(X)}function EJ(X,re){var ue=this.__data__;if(ue instanceof Mt){var Le=ue.__data__;if(!je||Le.length<n-1)return Le.push([X,re]),this.size=++ue.size,this;ue=this.__data__=new Zr(Le)}return ue.set(X,re),this.size=ue.size,this}ud.prototype.clear=vJ,ud.prototype.delete=wJ,ud.prototype.get=SJ,ud.prototype.has=CJ,ud.prototype.set=EJ;function NJ(X,re){var ue=eS(X),Le=!ue&&J1(X),Ot=!ue&&!Le&&uP(X),dn=!ue&&!Le&&!Ot&&fP(X),Dn=ue||Le||Ot||dn,Ut=Dn?te(X.length,String):[],Pn=Ut.length;for(var Ts in X)Dn&&(Ts=="length"||Ot&&(Ts=="offset"||Ts=="parent")||dn&&(Ts=="buffer"||Ts=="byteLength"||Ts=="byteOffset")||lP(Ts,Pn))||Ut.push(Ts);return Ut}function Z1(X,re,ue){(ue!==void 0&&!Ob(X[re],ue)||ue===void 0&&!(re in X))&&K1(X,re,ue)}function kJ(X,re,ue){var Le=X[re];(!(We.call(X,re)&&Ob(Le,ue))||ue===void 0&&!(re in X))&&K1(X,re,ue)}function Tb(X,re){for(var ue=X.length;ue--;)if(Ob(X[ue][0],re))return ue;return-1}function K1(X,re,ue){re=="__proto__"&&bt?bt(X,re,{configurable:!0,enumerable:!0,value:ue,writable:!0}):X[re]=ue}var _J=zJ();function Ab(X){return X==null?X===void 0?C:b:xe&&xe in Object(X)?BJ(X):GJ(X)}function iP(X){return Vh(X)&&Ab(X)==a}function jJ(X){if(!bc(X)||WJ(X))return!1;var re=nS(X)?be:B;return re.test(XJ(X))}function RJ(X){return Vh(X)&&dP(X.length)&&!!D[Ab(X)]}function MJ(X){if(!bc(X))return qJ(X);var re=cP(X),ue=[];for(var Le in X)Le=="constructor"&&(re||!We.call(X,Le))||ue.push(Le);return ue}function aP(X,re,ue,Le,Ot){X!==re&&_J(re,function(dn,Dn){if(Ot||(Ot=new ud),bc(dn))DJ(X,re,Dn,ue,aP,Le,Ot);else{var Ut=Le?Le(Q1(X,Dn),dn,Dn+"",X,re,Ot):void 0;Ut===void 0&&(Ut=dn),Z1(X,Dn,Ut)}},hP)}function DJ(X,re,ue,Le,Ot,dn,Dn){var Ut=Q1(X,ue),Pn=Q1(re,ue),Ts=Dn.get(Pn);if(Ts){Z1(X,ue,Ts);return}var Do=dn?dn(Ut,Pn,ue+"",X,re,Dn):void 0,Hh=Do===void 0;if(Hh){var rS=eS(Pn),oS=!rS&&uP(Pn),mP=!rS&&!oS&&fP(Pn);Do=Pn,rS||oS||mP?eS(Ut)?Do=Ut:QJ(Ut)?Do=FJ(Ut):oS?(Hh=!1,Do=AJ(Pn)):mP?(Hh=!1,Do=OJ(Pn)):Do=[]:JJ(Pn)||J1(Pn)?(Do=Ut,J1(Ut)?Do=eee(Ut):(!bc(Ut)||nS(Ut))&&(Do=VJ(Pn))):Hh=!1}Hh&&(Dn.set(Pn,Do),Ot(Do,Pn,Le,dn,Dn),Dn.delete(Pn)),Z1(X,ue,Do)}function PJ(X,re){return ZJ(YJ(X,re,pP),X+"")}var TJ=bt?function(X,re){return bt(X,"toString",{configurable:!0,enumerable:!1,value:nee(re),writable:!0})}:pP;function AJ(X,re){return X.slice()}function IJ(X){var re=new X.constructor(X.byteLength);return new Ze(re).set(new Ze(X)),re}function OJ(X,re){var ue=IJ(X.buffer);return new X.constructor(ue,X.byteOffset,X.length)}function FJ(X,re){var ue=-1,Le=X.length;for(re||(re=Array(Le));++ue<Le;)re[ue]=X[ue];return re}function $J(X,re,ue,Le){var Ot=!ue;ue||(ue={});for(var dn=-1,Dn=re.length;++dn<Dn;){var Ut=re[dn],Pn=void 0;Pn===void 0&&(Pn=X[Ut]),Ot?K1(ue,Ut,Pn):kJ(ue,Ut,Pn)}return ue}function LJ(X){return PJ(function(re,ue){var Le=-1,Ot=ue.length,dn=Ot>1?ue[Ot-1]:void 0,Dn=Ot>2?ue[2]:void 0;for(dn=X.length>3&&typeof dn=="function"?(Ot--,dn):void 0,Dn&&HJ(ue[0],ue[1],Dn)&&(dn=Ot<3?void 0:dn,Ot=1),re=Object(re);++Le<Ot;){var Ut=ue[Le];Ut&&X(re,Ut,Le,dn)}return re})}function zJ(X){return function(re,ue,Le){for(var Ot=-1,dn=Object(re),Dn=Le(re),Ut=Dn.length;Ut--;){var Pn=Dn[++Ot];if(ue(dn[Pn],Pn,dn)===!1)break}return re}}function Ib(X,re){var ue=X.__data__;return UJ(re)?ue[typeof re=="string"?"string":"hash"]:ue.map}function X1(X,re){var ue=oe(X,re);return jJ(ue)?ue:void 0}function BJ(X){var re=We.call(X,xe),ue=X[xe];try{X[xe]=void 0;var Le=!0}catch{}var Ot=Mn.call(X);return Le&&(re?X[xe]=ue:delete X[xe]),Ot}function VJ(X){return typeof X.constructor=="function"&&!cP(X)?Re(Ct(X)):{}}function lP(X,re){var ue=typeof X;return re=re??i,!!re&&(ue=="number"||ue!="symbol"&&z.test(X))&&X>-1&&X%1==0&&X<re}function HJ(X,re,ue){if(!bc(ue))return!1;var Le=typeof re;return(Le=="number"?tS(ue)&&lP(re,ue.length):Le=="string"&&re in ue)?Ob(ue[re],X):!1}function UJ(X){var re=typeof X;return re=="string"||re=="number"||re=="symbol"||re=="boolean"?X!=="__proto__":X===null}function WJ(X){return!!wn&&wn in X}function cP(X){var re=X&&X.constructor,ue=typeof re=="function"&&re.prototype||Pe;return X===ue}function qJ(X){var re=[];if(X!=null)for(var ue in Object(X))re.push(ue);return re}function GJ(X){return Mn.call(X)}function YJ(X,re,ue){return re=ce(re===void 0?X.length-1:re,0),function(){for(var Le=arguments,Ot=-1,dn=ce(Le.length-re,0),Dn=Array(dn);++Ot<dn;)Dn[Ot]=Le[re+Ot];Ot=-1;for(var Ut=Array(re+1);++Ot<re;)Ut[Ot]=Le[Ot];return Ut[re]=ue(Dn),le(X,this,Ut)}}function Q1(X,re){if(!(re==="constructor"&&typeof X[re]=="function")&&re!="__proto__")return X[re]}var ZJ=KJ(TJ);function KJ(X){var re=0,ue=0;return function(){var Le=ge(),Ot=s-(Le-ue);if(ue=Le,Ot>0){if(++re>=o)return arguments[0]}else re=0;return X.apply(void 0,arguments)}}function XJ(X){if(X!=null){try{return Ve.call(X)}catch{}try{return X+""}catch{}}return""}function Ob(X,re){return X===re||X!==X&&re!==re}var J1=iP(function(){return arguments}())?iP:function(X){return Vh(X)&&We.call(X,"callee")&&!zt.call(X,"callee")},eS=Array.isArray;function tS(X){return X!=null&&dP(X.length)&&!nS(X)}function QJ(X){return Vh(X)&&tS(X)}var uP=bn||ree;function nS(X){if(!bc(X))return!1;var re=Ab(X);return re==p||re==m||re==c||re==v}function dP(X){return typeof X=="number"&&X>-1&&X%1==0&&X<=i}function bc(X){var re=typeof X;return X!=null&&(re=="object"||re=="function")}function Vh(X){return X!=null&&typeof X=="object"}function JJ(X){if(!Vh(X)||Ab(X)!=x)return!1;var re=Ct(X);if(re===null)return!0;var ue=We.call(re,"constructor")&&re.constructor;return typeof ue=="function"&&ue instanceof ue&&Ve.call(ue)==ie}var fP=Q?se(Q):RJ;function eee(X){return $J(X,hP(X))}function hP(X){return tS(X)?NJ(X):MJ(X)}var tee=LJ(function(X,re,ue){aP(X,re,ue)});function nee(X){return function(){return X}}function pP(X){return X}function ree(){return!1}e.exports=tee})(B0,B0.exports);var Ote=B0.exports;const xm=Hu(Ote),Fte={theme:"system",setTheme:()=>null},l3=N.createContext(Fte);function $te({children:e,defaultTheme:t="system",storageKey:n="vite-ui-theme",...r}){const[o,s]=N.useState(()=>localStorage.getItem(n)||t);N.useEffect(()=>{const a=window.document.documentElement;if(a.classList.remove("light","dark"),o==="system"){const l=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";a.classList.add(l);return}a.classList.add(o)},[o]);const i={theme:o,setTheme:a=>{localStorage.setItem(n,a),s(a)}};return d.jsx(l3.Provider,{...r,value:i,children:e})}const a_=()=>{const e=N.useContext(l3);if(e===void 0)throw new Error("useTheme must be used within a ThemeProvider");return e};var Wu=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Eu=typeof window>"u"||"Deno"in globalThis;function ds(){}function Lte(e,t){return typeof e=="function"?e(t):e}function YE(e){return typeof e=="number"&&e>=0&&e!==1/0}function c3(e,t){return Math.max(e+(t||0)-Date.now(),0)}function ef(e,t){return typeof e=="function"?e(t):e}function Bs(e,t){return typeof e=="function"?e(t):e}function FP(e,t){const{type:n="all",exact:r,fetchStatus:o,predicate:s,queryKey:i,stale:a}=e;if(i){if(r){if(t.queryHash!==l_(i,t.options))return!1}else if(!vm(t.queryKey,i))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof a=="boolean"&&t.isStale()!==a||o&&o!==t.state.fetchStatus||s&&!s(t))}function $P(e,t){const{exact:n,status:r,predicate:o,mutationKey:s}=e;if(s){if(!t.options.mutationKey)return!1;if(n){if(Nu(t.options.mutationKey)!==Nu(s))return!1}else if(!vm(t.options.mutationKey,s))return!1}return!(r&&t.state.status!==r||o&&!o(t))}function l_(e,t){return((t==null?void 0:t.queryKeyHashFn)||Nu)(e)}function Nu(e){return JSON.stringify(e,(t,n)=>ZE(n)?Object.keys(n).sort().reduce((r,o)=>(r[o]=n[o],r),{}):n)}function vm(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(n=>!vm(e[n],t[n])):!1}function V0(e,t){if(e===t)return e;const n=LP(e)&&LP(t);if(n||ZE(e)&&ZE(t)){const r=n?e:Object.keys(e),o=r.length,s=n?t:Object.keys(t),i=s.length,a=n?[]:{};let l=0;for(let c=0;c<i;c++){const u=n?c:s[c];(!n&&r.includes(u)||n)&&e[u]===void 0&&t[u]===void 0?(a[u]=void 0,l++):(a[u]=V0(e[u],t[u]),a[u]===e[u]&&e[u]!==void 0&&l++)}return o===i&&l===o?e:a}return t}function H0(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function LP(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function ZE(e){if(!zP(e))return!1;const t=e.constructor;if(t===void 0)return!0;const n=t.prototype;return!(!zP(n)||!n.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function zP(e){return Object.prototype.toString.call(e)==="[object Object]"}function zte(e){return new Promise(t=>{setTimeout(t,e)})}function KE(e,t,n){if(typeof n.structuralSharing=="function")return n.structuralSharing(e,t);if(n.structuralSharing!==!1){if(process.env.NODE_ENV!=="production")try{return V0(e,t)}catch(r){console.error(`Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${n.queryHash}]: ${r}`)}return V0(e,t)}return t}function Bte(e){return e}function Vte(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}function Hte(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var U0=Symbol();function u3(e,t){return process.env.NODE_ENV!=="production"&&e.queryFn===U0&&console.error(`Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${e.queryHash}'`),!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===U0?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}var Zc,xl,bf,k$,Ute=(k$=class extends Wu{constructor(){super();Oe(this,Zc);Oe(this,xl);Oe(this,bf);ke(this,bf,t=>{if(!Eu&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){J(this,xl)||this.setEventListener(J(this,bf))}onUnsubscribe(){var t;this.hasListeners()||((t=J(this,xl))==null||t.call(this),ke(this,xl,void 0))}setEventListener(t){var n;ke(this,bf,t),(n=J(this,xl))==null||n.call(this),ke(this,xl,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){J(this,Zc)!==t&&(ke(this,Zc,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(n=>{n(t)})}isFocused(){var t;return typeof J(this,Zc)=="boolean"?J(this,Zc):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},Zc=new WeakMap,xl=new WeakMap,bf=new WeakMap,k$),c_=new Ute,yf,vl,xf,_$,Wte=(_$=class extends Wu{constructor(){super();Oe(this,yf,!0);Oe(this,vl);Oe(this,xf);ke(this,xf,t=>{if(!Eu&&window.addEventListener){const n=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){J(this,vl)||this.setEventListener(J(this,xf))}onUnsubscribe(){var t;this.hasListeners()||((t=J(this,vl))==null||t.call(this),ke(this,vl,void 0))}setEventListener(t){var n;ke(this,xf,t),(n=J(this,vl))==null||n.call(this),ke(this,vl,t(this.setOnline.bind(this)))}setOnline(t){J(this,yf)!==t&&(ke(this,yf,t),this.listeners.forEach(r=>{r(t)}))}isOnline(){return J(this,yf)}},yf=new WeakMap,vl=new WeakMap,xf=new WeakMap,_$),W0=new Wte;function XE(){let e,t;const n=new Promise((o,s)=>{e=o,t=s});n.status="pending",n.catch(()=>{});function r(o){Object.assign(n,o),delete n.resolve,delete n.reject}return n.resolve=o=>{r({status:"fulfilled",value:o}),e(o)},n.reject=o=>{r({status:"rejected",reason:o}),t(o)},n}function qte(e){return Math.min(1e3*2**e,3e4)}function d3(e){return(e??"online")==="online"?W0.isOnline():!0}var f3=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function pS(e){return e instanceof f3}function h3(e){let t=!1,n=0,r=!1,o;const s=XE(),i=g=>{var y;r||(h(new f3(g)),(y=e.abort)==null||y.call(e))},a=()=>{t=!0},l=()=>{t=!1},c=()=>c_.isFocused()&&(e.networkMode==="always"||W0.isOnline())&&e.canRun(),u=()=>d3(e.networkMode)&&e.canRun(),f=g=>{var y;r||(r=!0,(y=e.onSuccess)==null||y.call(e,g),o==null||o(),s.resolve(g))},h=g=>{var y;r||(r=!0,(y=e.onError)==null||y.call(e,g),o==null||o(),s.reject(g))},p=()=>new Promise(g=>{var y;o=b=>{(r||c())&&g(b)},(y=e.onPause)==null||y.call(e)}).then(()=>{var g;o=void 0,r||(g=e.onContinue)==null||g.call(e)}),m=()=>{if(r)return;let g;const y=n===0?e.initialPromise:void 0;try{g=y??e.fn()}catch(b){g=Promise.reject(b)}Promise.resolve(g).then(f).catch(b=>{var E;if(r)return;const x=e.retry??(Eu?0:3),v=e.retryDelay??qte,w=typeof v=="function"?v(n,b):v,S=x===!0||typeof x=="number"&&n<x||typeof x=="function"&&x(n,b);if(t||!S){h(b);return}n++,(E=e.onFail)==null||E.call(e,n,b),zte(w).then(()=>c()?void 0:p()).then(()=>{t?h(b):m()})})};return{promise:s,cancel:i,continue:()=>(o==null||o(),s),cancelRetry:a,continueRetry:l,canStart:u,start:()=>(u()?m():p().then(m),s)}}function Gte(){let e=[],t=0,n=a=>{a()},r=a=>{a()},o=a=>setTimeout(a,0);const s=a=>{t?e.push(a):o(()=>{n(a)})},i=()=>{const a=e;e=[],a.length&&o(()=>{r(()=>{a.forEach(l=>{n(l)})})})};return{batch:a=>{let l;t++;try{l=a()}finally{t--,t||i()}return l},batchCalls:a=>(...l)=>{s(()=>{a(...l)})},schedule:s,setNotifyFunction:a=>{n=a},setBatchNotifyFunction:a=>{r=a},setScheduler:a=>{o=a}}}var Un=Gte(),Kc,j$,p3=(j$=class{constructor(){Oe(this,Kc)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),YE(this.gcTime)&&ke(this,Kc,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Eu?1/0:5*60*1e3))}clearGcTimeout(){J(this,Kc)&&(clearTimeout(J(this,Kc)),ke(this,Kc,void 0))}},Kc=new WeakMap,j$),vf,wf,ls,Xc,Or,vg,Qc,Ls,ma,R$,Yte=(R$=class extends p3{constructor(t){super();Oe(this,Ls);Oe(this,vf);Oe(this,wf);Oe(this,ls);Oe(this,Xc);Oe(this,Or);Oe(this,vg);Oe(this,Qc);ke(this,Qc,!1),ke(this,vg,t.defaultOptions),this.setOptions(t.options),this.observers=[],ke(this,Xc,t.client),ke(this,ls,J(this,Xc).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,ke(this,vf,Zte(this.options)),this.state=t.state??J(this,vf),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var t;return(t=J(this,Or))==null?void 0:t.promise}setOptions(t){this.options={...J(this,vg),...t},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&J(this,ls).remove(this)}setData(t,n){const r=KE(this.state.data,t,this.options);return Ke(this,Ls,ma).call(this,{data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t,n){Ke(this,Ls,ma).call(this,{type:"setState",state:t,setStateOptions:n})}cancel(t){var r,o;const n=(r=J(this,Or))==null?void 0:r.promise;return(o=J(this,Or))==null||o.cancel(t),n?n.then(ds).catch(ds):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(J(this,vf))}isActive(){return this.observers.some(t=>Bs(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===U0||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStale(){return this.state.isInvalidated?!0:this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0}isStaleByTime(t=0){return this.state.isInvalidated||this.state.data===void 0||!c3(this.state.dataUpdatedAt,t)}onFocus(){var n;const t=this.observers.find(r=>r.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(n=J(this,Or))==null||n.continue()}onOnline(){var n;const t=this.observers.find(r=>r.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(n=J(this,Or))==null||n.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),J(this,ls).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(J(this,Or)&&(J(this,Qc)?J(this,Or).cancel({revert:!0}):J(this,Or).cancelRetry()),this.scheduleGc()),J(this,ls).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||Ke(this,Ls,ma).call(this,{type:"invalidate"})}fetch(t,n){var l,c,u;if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(J(this,Or))return J(this,Or).continueRetry(),J(this,Or).promise}if(t&&this.setOptions(t),!this.options.queryFn){const f=this.observers.find(h=>h.options.queryFn);f&&this.setOptions(f.options)}process.env.NODE_ENV!=="production"&&(Array.isArray(this.options.queryKey)||console.error("As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']"));const r=new AbortController,o=f=>{Object.defineProperty(f,"signal",{enumerable:!0,get:()=>(ke(this,Qc,!0),r.signal)})},s=()=>{const f=u3(this.options,n),h={client:J(this,Xc),queryKey:this.queryKey,meta:this.meta};return o(h),ke(this,Qc,!1),this.options.persister?this.options.persister(f,h,this):f(h)},i={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:J(this,Xc),state:this.state,fetchFn:s};o(i),(l=this.options.behavior)==null||l.onFetch(i,this),ke(this,wf,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((c=i.fetchOptions)==null?void 0:c.meta))&&Ke(this,Ls,ma).call(this,{type:"fetch",meta:(u=i.fetchOptions)==null?void 0:u.meta});const a=f=>{var h,p,m,g;pS(f)&&f.silent||Ke(this,Ls,ma).call(this,{type:"error",error:f}),pS(f)||((p=(h=J(this,ls).config).onError)==null||p.call(h,f,this),(g=(m=J(this,ls).config).onSettled)==null||g.call(m,this.state.data,f,this)),this.scheduleGc()};return ke(this,Or,h3({initialPromise:n==null?void 0:n.initialPromise,fn:i.fetchFn,abort:r.abort.bind(r),onSuccess:f=>{var h,p,m,g;if(f===void 0){process.env.NODE_ENV!=="production"&&console.error(`Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`),a(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(f)}catch(y){a(y);return}(p=(h=J(this,ls).config).onSuccess)==null||p.call(h,f,this),(g=(m=J(this,ls).config).onSettled)==null||g.call(m,f,this.state.error,this),this.scheduleGc()},onError:a,onFail:(f,h)=>{Ke(this,Ls,ma).call(this,{type:"failed",failureCount:f,error:h})},onPause:()=>{Ke(this,Ls,ma).call(this,{type:"pause"})},onContinue:()=>{Ke(this,Ls,ma).call(this,{type:"continue"})},retry:i.options.retry,retryDelay:i.options.retryDelay,networkMode:i.options.networkMode,canRun:()=>!0})),J(this,Or).start()}},vf=new WeakMap,wf=new WeakMap,ls=new WeakMap,Xc=new WeakMap,Or=new WeakMap,vg=new WeakMap,Qc=new WeakMap,Ls=new WeakSet,ma=function(t){const n=r=>{switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...m3(r.data,this.options),fetchMeta:t.meta??null};case"success":return{...r,data:t.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:t.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const o=t.error;return pS(o)&&o.revert&&J(this,wf)?{...J(this,wf),fetchStatus:"idle"}:{...r,error:o,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),Un.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),J(this,ls).notify({query:this,type:"updated",action:t})})},R$);function m3(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:d3(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function Zte(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var Ci,M$,g3=(M$=class extends Wu{constructor(t={}){super();Oe(this,Ci);this.config=t,ke(this,Ci,new Map)}build(t,n,r){const o=n.queryKey,s=n.queryHash??l_(o,n);let i=this.get(s);return i||(i=new Yte({client:t,queryKey:o,queryHash:s,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(o)}),this.add(i)),i}add(t){J(this,Ci).has(t.queryHash)||(J(this,Ci).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const n=J(this,Ci).get(t.queryHash);n&&(t.destroy(),n===t&&J(this,Ci).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Un.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return J(this,Ci).get(t)}getAll(){return[...J(this,Ci).values()]}find(t){const n={exact:!0,...t};return this.getAll().find(r=>FP(n,r))}findAll(t={}){const n=this.getAll();return Object.keys(t).length>0?n.filter(r=>FP(t,r)):n}notify(t){Un.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){Un.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Un.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Ci=new WeakMap,M$),Ei,Jr,Jc,Ni,fl,D$,Kte=(D$=class extends p3{constructor(t){super();Oe(this,Ni);Oe(this,Ei);Oe(this,Jr);Oe(this,Jc);this.mutationId=t.mutationId,ke(this,Jr,t.mutationCache),ke(this,Ei,[]),this.state=t.state||b3(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){J(this,Ei).includes(t)||(J(this,Ei).push(t),this.clearGcTimeout(),J(this,Jr).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){ke(this,Ei,J(this,Ei).filter(n=>n!==t)),this.scheduleGc(),J(this,Jr).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){J(this,Ei).length||(this.state.status==="pending"?this.scheduleGc():J(this,Jr).remove(this))}continue(){var t;return((t=J(this,Jc))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var o,s,i,a,l,c,u,f,h,p,m,g,y,b,x,v,w,S,E,C;ke(this,Jc,h3({fn:()=>this.options.mutationFn?this.options.mutationFn(t):Promise.reject(new Error("No mutationFn found")),onFail:(_,j)=>{Ke(this,Ni,fl).call(this,{type:"failed",failureCount:_,error:j})},onPause:()=>{Ke(this,Ni,fl).call(this,{type:"pause"})},onContinue:()=>{Ke(this,Ni,fl).call(this,{type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>J(this,Jr).canRun(this)}));const n=this.state.status==="pending",r=!J(this,Jc).canStart();try{if(!n){Ke(this,Ni,fl).call(this,{type:"pending",variables:t,isPaused:r}),await((s=(o=J(this,Jr).config).onMutate)==null?void 0:s.call(o,t,this));const j=await((a=(i=this.options).onMutate)==null?void 0:a.call(i,t));j!==this.state.context&&Ke(this,Ni,fl).call(this,{type:"pending",context:j,variables:t,isPaused:r})}const _=await J(this,Jc).start();return await((c=(l=J(this,Jr).config).onSuccess)==null?void 0:c.call(l,_,t,this.state.context,this)),await((f=(u=this.options).onSuccess)==null?void 0:f.call(u,_,t,this.state.context)),await((p=(h=J(this,Jr).config).onSettled)==null?void 0:p.call(h,_,null,this.state.variables,this.state.context,this)),await((g=(m=this.options).onSettled)==null?void 0:g.call(m,_,null,t,this.state.context)),Ke(this,Ni,fl).call(this,{type:"success",data:_}),_}catch(_){try{throw await((b=(y=J(this,Jr).config).onError)==null?void 0:b.call(y,_,t,this.state.context,this)),await((v=(x=this.options).onError)==null?void 0:v.call(x,_,t,this.state.context)),await((S=(w=J(this,Jr).config).onSettled)==null?void 0:S.call(w,void 0,_,this.state.variables,this.state.context,this)),await((C=(E=this.options).onSettled)==null?void 0:C.call(E,void 0,_,t,this.state.context)),_}finally{Ke(this,Ni,fl).call(this,{type:"error",error:_})}}finally{J(this,Jr).runNext(this)}}},Ei=new WeakMap,Jr=new WeakMap,Jc=new WeakMap,Ni=new WeakSet,fl=function(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=n(this.state),Un.batch(()=>{J(this,Ei).forEach(r=>{r.onMutationUpdate(t)}),J(this,Jr).notify({mutation:this,type:"updated",action:t})})},D$);function b3(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Sa,zs,wg,P$,Xte=(P$=class extends Wu{constructor(t={}){super();Oe(this,Sa);Oe(this,zs);Oe(this,wg);this.config=t,ke(this,Sa,new Set),ke(this,zs,new Map),ke(this,wg,0)}build(t,n,r){const o=new Kte({mutationCache:this,mutationId:++Fb(this,wg)._,options:t.defaultMutationOptions(n),state:r});return this.add(o),o}add(t){J(this,Sa).add(t);const n=zb(t);if(typeof n=="string"){const r=J(this,zs).get(n);r?r.push(t):J(this,zs).set(n,[t])}this.notify({type:"added",mutation:t})}remove(t){if(J(this,Sa).delete(t)){const n=zb(t);if(typeof n=="string"){const r=J(this,zs).get(n);if(r)if(r.length>1){const o=r.indexOf(t);o!==-1&&r.splice(o,1)}else r[0]===t&&J(this,zs).delete(n)}}this.notify({type:"removed",mutation:t})}canRun(t){const n=zb(t);if(typeof n=="string"){const r=J(this,zs).get(n),o=r==null?void 0:r.find(s=>s.state.status==="pending");return!o||o===t}else return!0}runNext(t){var r;const n=zb(t);if(typeof n=="string"){const o=(r=J(this,zs).get(n))==null?void 0:r.find(s=>s!==t&&s.state.isPaused);return(o==null?void 0:o.continue())??Promise.resolve()}else return Promise.resolve()}clear(){Un.batch(()=>{J(this,Sa).forEach(t=>{this.notify({type:"removed",mutation:t})}),J(this,Sa).clear(),J(this,zs).clear()})}getAll(){return Array.from(J(this,Sa))}find(t){const n={exact:!0,...t};return this.getAll().find(r=>$P(n,r))}findAll(t={}){return this.getAll().filter(n=>$P(t,n))}notify(t){Un.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){const t=this.getAll().filter(n=>n.state.isPaused);return Un.batch(()=>Promise.all(t.map(n=>n.continue().catch(ds))))}},Sa=new WeakMap,zs=new WeakMap,wg=new WeakMap,P$);function zb(e){var t;return(t=e.options.scope)==null?void 0:t.id}function BP(e){return{onFetch:(t,n)=>{var u,f,h,p,m;const r=t.options,o=(h=(f=(u=t.fetchOptions)==null?void 0:u.meta)==null?void 0:f.fetchMore)==null?void 0:h.direction,s=((p=t.state.data)==null?void 0:p.pages)||[],i=((m=t.state.data)==null?void 0:m.pageParams)||[];let a={pages:[],pageParams:[]},l=0;const c=async()=>{let g=!1;const y=v=>{Object.defineProperty(v,"signal",{enumerable:!0,get:()=>(t.signal.aborted?g=!0:t.signal.addEventListener("abort",()=>{g=!0}),t.signal)})},b=u3(t.options,t.fetchOptions),x=async(v,w,S)=>{if(g)return Promise.reject();if(w==null&&v.pages.length)return Promise.resolve(v);const E={client:t.client,queryKey:t.queryKey,pageParam:w,direction:S?"backward":"forward",meta:t.options.meta};y(E);const C=await b(E),{maxPages:_}=t.options,j=S?Hte:Vte;return{pages:j(v.pages,C,_),pageParams:j(v.pageParams,w,_)}};if(o&&s.length){const v=o==="backward",w=v?Qte:VP,S={pages:s,pageParams:i},E=w(r,S);a=await x(S,E,v)}else{const v=e??s.length;do{const w=l===0?i[0]??r.initialPageParam:VP(r,a);if(l>0&&w==null)break;a=await x(a,w),l++}while(l<v)}return a};t.options.persister?t.fetchFn=()=>{var g,y;return(y=(g=t.options).persister)==null?void 0:y.call(g,c,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=c}}}function VP(e,{pages:t,pageParams:n}){const r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function Qte(e,{pages:t,pageParams:n}){var r;return t.length>0?(r=e.getPreviousPageParam)==null?void 0:r.call(e,t[0],t,n[0],n):void 0}var Hn,wl,Sl,Sf,Cf,Cl,Ef,Nf,T$,Jte=(T$=class{constructor(e={}){Oe(this,Hn);Oe(this,wl);Oe(this,Sl);Oe(this,Sf);Oe(this,Cf);Oe(this,Cl);Oe(this,Ef);Oe(this,Nf);ke(this,Hn,e.queryCache||new g3),ke(this,wl,e.mutationCache||new Xte),ke(this,Sl,e.defaultOptions||{}),ke(this,Sf,new Map),ke(this,Cf,new Map),ke(this,Cl,0)}mount(){Fb(this,Cl)._++,J(this,Cl)===1&&(ke(this,Ef,c_.subscribe(async e=>{e&&(await this.resumePausedMutations(),J(this,Hn).onFocus())})),ke(this,Nf,W0.subscribe(async e=>{e&&(await this.resumePausedMutations(),J(this,Hn).onOnline())})))}unmount(){var e,t;Fb(this,Cl)._--,J(this,Cl)===0&&((e=J(this,Ef))==null||e.call(this),ke(this,Ef,void 0),(t=J(this,Nf))==null||t.call(this),ke(this,Nf,void 0))}isFetching(e){return J(this,Hn).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return J(this,wl).findAll({...e,status:"pending"}).length}getQueryData(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=J(this,Hn).get(t.queryHash))==null?void 0:n.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),n=J(this,Hn).build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(ef(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return J(this,Hn).findAll(e).map(({queryKey:t,state:n})=>{const r=n.data;return[t,r]})}setQueryData(e,t,n){const r=this.defaultQueryOptions({queryKey:e}),o=J(this,Hn).get(r.queryHash),s=o==null?void 0:o.state.data,i=Lte(t,s);if(i!==void 0)return J(this,Hn).build(this,r).setData(i,{...n,manual:!0})}setQueriesData(e,t,n){return Un.batch(()=>J(this,Hn).findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=J(this,Hn).get(t.queryHash))==null?void 0:n.state}removeQueries(e){const t=J(this,Hn);Un.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=J(this,Hn);return Un.batch(()=>(n.findAll(e).forEach(r=>{r.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const n={revert:!0,...t},r=Un.batch(()=>J(this,Hn).findAll(e).map(o=>o.cancel(n)));return Promise.all(r).then(ds).catch(ds)}invalidateQueries(e,t={}){return Un.batch(()=>(J(this,Hn).findAll(e).forEach(n=>{n.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const n={...t,cancelRefetch:t.cancelRefetch??!0},r=Un.batch(()=>J(this,Hn).findAll(e).filter(o=>!o.isDisabled()).map(o=>{let s=o.fetch(void 0,n);return n.throwOnError||(s=s.catch(ds)),o.state.fetchStatus==="paused"?Promise.resolve():s}));return Promise.all(r).then(ds)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const n=J(this,Hn).build(this,t);return n.isStaleByTime(ef(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(ds).catch(ds)}fetchInfiniteQuery(e){return e.behavior=BP(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(ds).catch(ds)}ensureInfiniteQueryData(e){return e.behavior=BP(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return W0.isOnline()?J(this,wl).resumePausedMutations():Promise.resolve()}getQueryCache(){return J(this,Hn)}getMutationCache(){return J(this,wl)}getDefaultOptions(){return J(this,Sl)}setDefaultOptions(e){ke(this,Sl,e)}setQueryDefaults(e,t){J(this,Sf).set(Nu(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...J(this,Sf).values()],n={};return t.forEach(r=>{vm(e,r.queryKey)&&Object.assign(n,r.defaultOptions)}),n}setMutationDefaults(e,t){J(this,Cf).set(Nu(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...J(this,Cf).values()],n={};return t.forEach(r=>{vm(e,r.mutationKey)&&Object.assign(n,r.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...J(this,Sl).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=l_(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===U0&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...J(this,Sl).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){J(this,Hn).clear(),J(this,wl).clear()}},Hn=new WeakMap,wl=new WeakMap,Sl=new WeakMap,Sf=new WeakMap,Cf=new WeakMap,Cl=new WeakMap,Ef=new WeakMap,Nf=new WeakMap,T$),xo,Dt,Sg,eo,eu,kf,El,ki,Cg,_f,jf,tu,nu,Nl,Rf,Jt,pp,QE,JE,e2,t2,n2,r2,o2,y3,A$,u_=(A$=class extends Wu{constructor(t,n){super();Oe(this,Jt);Oe(this,xo);Oe(this,Dt);Oe(this,Sg);Oe(this,eo);Oe(this,eu);Oe(this,kf);Oe(this,El);Oe(this,ki);Oe(this,Cg);Oe(this,_f);Oe(this,jf);Oe(this,tu);Oe(this,nu);Oe(this,Nl);Oe(this,Rf,new Set);this.options=n,ke(this,xo,t),ke(this,ki,null),ke(this,El,XE()),this.options.experimental_prefetchInRender||J(this,El).reject(new Error("experimental_prefetchInRender feature flag is not enabled")),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(J(this,Dt).addObserver(this),HP(J(this,Dt),this.options)?Ke(this,Jt,pp).call(this):this.updateResult(),Ke(this,Jt,t2).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return s2(J(this,Dt),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return s2(J(this,Dt),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,Ke(this,Jt,n2).call(this),Ke(this,Jt,r2).call(this),J(this,Dt).removeObserver(this)}setOptions(t,n){const r=this.options,o=J(this,Dt);if(this.options=J(this,xo).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Bs(this.options.enabled,J(this,Dt))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");Ke(this,Jt,o2).call(this),J(this,Dt).setOptions(this.options),r._defaulted&&!H0(this.options,r)&&J(this,xo).getQueryCache().notify({type:"observerOptionsUpdated",query:J(this,Dt),observer:this});const s=this.hasListeners();s&&UP(J(this,Dt),o,this.options,r)&&Ke(this,Jt,pp).call(this),this.updateResult(n),s&&(J(this,Dt)!==o||Bs(this.options.enabled,J(this,Dt))!==Bs(r.enabled,J(this,Dt))||ef(this.options.staleTime,J(this,Dt))!==ef(r.staleTime,J(this,Dt)))&&Ke(this,Jt,QE).call(this);const i=Ke(this,Jt,JE).call(this);s&&(J(this,Dt)!==o||Bs(this.options.enabled,J(this,Dt))!==Bs(r.enabled,J(this,Dt))||i!==J(this,Nl))&&Ke(this,Jt,e2).call(this,i)}getOptimisticResult(t){const n=J(this,xo).getQueryCache().build(J(this,xo),t),r=this.createResult(n,t);return tne(this,r)&&(ke(this,eo,r),ke(this,kf,this.options),ke(this,eu,J(this,Dt).state)),r}getCurrentResult(){return J(this,eo)}trackResult(t,n){const r={};return Object.keys(t).forEach(o=>{Object.defineProperty(r,o,{configurable:!1,enumerable:!0,get:()=>(this.trackProp(o),n==null||n(o),t[o])})}),r}trackProp(t){J(this,Rf).add(t)}getCurrentQuery(){return J(this,Dt)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const n=J(this,xo).defaultQueryOptions(t),r=J(this,xo).getQueryCache().build(J(this,xo),n);return r.fetch().then(()=>this.createResult(r,n))}fetch(t){return Ke(this,Jt,pp).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),J(this,eo)))}createResult(t,n){var _;const r=J(this,Dt),o=this.options,s=J(this,eo),i=J(this,eu),a=J(this,kf),c=t!==r?t.state:J(this,Sg),{state:u}=t;let f={...u},h=!1,p;if(n._optimisticResults){const j=this.hasListeners(),R=!j&&HP(t,n),P=j&&UP(t,r,n,o);(R||P)&&(f={...f,...m3(u.data,t.options)}),n._optimisticResults==="isRestoring"&&(f.fetchStatus="idle")}let{error:m,errorUpdatedAt:g,status:y}=f;if(n.select&&f.data!==void 0)if(s&&f.data===(i==null?void 0:i.data)&&n.select===J(this,Cg))p=J(this,_f);else try{ke(this,Cg,n.select),p=n.select(f.data),p=KE(s==null?void 0:s.data,p,n),ke(this,_f,p),ke(this,ki,null)}catch(j){ke(this,ki,j)}else p=f.data;if(n.placeholderData!==void 0&&p===void 0&&y==="pending"){let j;if(s!=null&&s.isPlaceholderData&&n.placeholderData===(a==null?void 0:a.placeholderData))j=s.data;else if(j=typeof n.placeholderData=="function"?n.placeholderData((_=J(this,jf))==null?void 0:_.state.data,J(this,jf)):n.placeholderData,n.select&&j!==void 0)try{j=n.select(j),ke(this,ki,null)}catch(R){ke(this,ki,R)}j!==void 0&&(y="success",p=KE(s==null?void 0:s.data,j,n),h=!0)}J(this,ki)&&(m=J(this,ki),p=J(this,_f),g=Date.now(),y="error");const b=f.fetchStatus==="fetching",x=y==="pending",v=y==="error",w=x&&b,S=p!==void 0,C={status:y,fetchStatus:f.fetchStatus,isPending:x,isSuccess:y==="success",isError:v,isInitialLoading:w,isLoading:w,data:p,dataUpdatedAt:f.dataUpdatedAt,error:m,errorUpdatedAt:g,failureCount:f.fetchFailureCount,failureReason:f.fetchFailureReason,errorUpdateCount:f.errorUpdateCount,isFetched:f.dataUpdateCount>0||f.errorUpdateCount>0,isFetchedAfterMount:f.dataUpdateCount>c.dataUpdateCount||f.errorUpdateCount>c.errorUpdateCount,isFetching:b,isRefetching:b&&!x,isLoadingError:v&&!S,isPaused:f.fetchStatus==="paused",isPlaceholderData:h,isRefetchError:v&&S,isStale:d_(t,n),refetch:this.refetch,promise:J(this,El)};if(this.options.experimental_prefetchInRender){const j=M=>{C.status==="error"?M.reject(C.error):C.data!==void 0&&M.resolve(C.data)},R=()=>{const M=ke(this,El,C.promise=XE());j(M)},P=J(this,El);switch(P.status){case"pending":t.queryHash===r.queryHash&&j(P);break;case"fulfilled":(C.status==="error"||C.data!==P.value)&&R();break;case"rejected":(C.status!=="error"||C.error!==P.reason)&&R();break}}return C}updateResult(t){const n=J(this,eo),r=this.createResult(J(this,Dt),this.options);if(ke(this,eu,J(this,Dt).state),ke(this,kf,this.options),J(this,eu).data!==void 0&&ke(this,jf,J(this,Dt)),H0(r,n))return;ke(this,eo,r);const o={},s=()=>{if(!n)return!0;const{notifyOnChangeProps:i}=this.options,a=typeof i=="function"?i():i;if(a==="all"||!a&&!J(this,Rf).size)return!0;const l=new Set(a??J(this,Rf));return this.options.throwOnError&&l.add("error"),Object.keys(J(this,eo)).some(c=>{const u=c;return J(this,eo)[u]!==n[u]&&l.has(u)})};(t==null?void 0:t.listeners)!==!1&&s()&&(o.listeners=!0),Ke(this,Jt,y3).call(this,{...o,...t})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&Ke(this,Jt,t2).call(this)}},xo=new WeakMap,Dt=new WeakMap,Sg=new WeakMap,eo=new WeakMap,eu=new WeakMap,kf=new WeakMap,El=new WeakMap,ki=new WeakMap,Cg=new WeakMap,_f=new WeakMap,jf=new WeakMap,tu=new WeakMap,nu=new WeakMap,Nl=new WeakMap,Rf=new WeakMap,Jt=new WeakSet,pp=function(t){Ke(this,Jt,o2).call(this);let n=J(this,Dt).fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(ds)),n},QE=function(){Ke(this,Jt,n2).call(this);const t=ef(this.options.staleTime,J(this,Dt));if(Eu||J(this,eo).isStale||!YE(t))return;const r=c3(J(this,eo).dataUpdatedAt,t)+1;ke(this,tu,setTimeout(()=>{J(this,eo).isStale||this.updateResult()},r))},JE=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(J(this,Dt)):this.options.refetchInterval)??!1},e2=function(t){Ke(this,Jt,r2).call(this),ke(this,Nl,t),!(Eu||Bs(this.options.enabled,J(this,Dt))===!1||!YE(J(this,Nl))||J(this,Nl)===0)&&ke(this,nu,setInterval(()=>{(this.options.refetchIntervalInBackground||c_.isFocused())&&Ke(this,Jt,pp).call(this)},J(this,Nl)))},t2=function(){Ke(this,Jt,QE).call(this),Ke(this,Jt,e2).call(this,Ke(this,Jt,JE).call(this))},n2=function(){J(this,tu)&&(clearTimeout(J(this,tu)),ke(this,tu,void 0))},r2=function(){J(this,nu)&&(clearInterval(J(this,nu)),ke(this,nu,void 0))},o2=function(){const t=J(this,xo).getQueryCache().build(J(this,xo),this.options);if(t===J(this,Dt))return;const n=J(this,Dt);ke(this,Dt,t),ke(this,Sg,t.state),this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))},y3=function(t){Un.batch(()=>{t.listeners&&this.listeners.forEach(n=>{n(J(this,eo))}),J(this,xo).getQueryCache().notify({query:J(this,Dt),type:"observerResultsUpdated"})})},A$);function ene(e,t){return Bs(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function HP(e,t){return ene(e,t)||e.state.data!==void 0&&s2(e,t,t.refetchOnMount)}function s2(e,t,n){if(Bs(t.enabled,e)!==!1){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&d_(e,t)}return!1}function UP(e,t,n,r){return(e!==t||Bs(r.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&d_(e,n)}function d_(e,t){return Bs(t.enabled,e)!==!1&&e.isStaleByTime(ef(t.staleTime,e))}function tne(e,t){return!H0(e.getCurrentResult(),t)}function WP(e,t){return e.filter(n=>!t.includes(n))}function nne(e,t,n){const r=e.slice(0);return r[t]=n,r}var ru,cs,Mf,Df,us,kl,Eg,Ng,kg,Dr,i2,a2,l2,c2,u2,I$,rne=(I$=class extends Wu{constructor(t,n,r){super();Oe(this,Dr);Oe(this,ru);Oe(this,cs);Oe(this,Mf);Oe(this,Df);Oe(this,us);Oe(this,kl);Oe(this,Eg);Oe(this,Ng);Oe(this,kg,[]);ke(this,ru,t),ke(this,Df,r),ke(this,Mf,[]),ke(this,us,[]),ke(this,cs,[]),this.setQueries(n)}onSubscribe(){this.listeners.size===1&&J(this,us).forEach(t=>{t.subscribe(n=>{Ke(this,Dr,c2).call(this,t,n)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,J(this,us).forEach(t=>{t.destroy()})}setQueries(t,n,r){if(ke(this,Mf,t),ke(this,Df,n),process.env.NODE_ENV!=="production"){const o=t.map(s=>J(this,ru).defaultQueryOptions(s).queryHash);new Set(o).size!==o.length&&console.warn("[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.")}Un.batch(()=>{const o=J(this,us),s=Ke(this,Dr,l2).call(this,J(this,Mf));ke(this,kg,s),s.forEach(c=>c.observer.setOptions(c.defaultedQueryOptions,r));const i=s.map(c=>c.observer),a=i.map(c=>c.getCurrentResult()),l=i.some((c,u)=>c!==o[u]);o.length===i.length&&!l||(ke(this,us,i),ke(this,cs,a),this.hasListeners()&&(WP(o,i).forEach(c=>{c.destroy()}),WP(i,o).forEach(c=>{c.subscribe(u=>{Ke(this,Dr,c2).call(this,c,u)})}),Ke(this,Dr,u2).call(this)))})}getCurrentResult(){return J(this,cs)}getQueries(){return J(this,us).map(t=>t.getCurrentQuery())}getObservers(){return J(this,us)}getOptimisticResult(t,n){const r=Ke(this,Dr,l2).call(this,t),o=r.map(s=>s.observer.getOptimisticResult(s.defaultedQueryOptions));return[o,s=>Ke(this,Dr,a2).call(this,s??o,n),()=>Ke(this,Dr,i2).call(this,o,r)]}},ru=new WeakMap,cs=new WeakMap,Mf=new WeakMap,Df=new WeakMap,us=new WeakMap,kl=new WeakMap,Eg=new WeakMap,Ng=new WeakMap,kg=new WeakMap,Dr=new WeakSet,i2=function(t,n){return n.map((r,o)=>{const s=t[o];return r.defaultedQueryOptions.notifyOnChangeProps?s:r.observer.trackResult(s,i=>{n.forEach(a=>{a.observer.trackProp(i)})})})},a2=function(t,n){return n?((!J(this,kl)||J(this,cs)!==J(this,Ng)||n!==J(this,Eg))&&(ke(this,Eg,n),ke(this,Ng,J(this,cs)),ke(this,kl,V0(J(this,kl),n(t)))),J(this,kl)):t},l2=function(t){const n=new Map(J(this,us).map(o=>[o.options.queryHash,o])),r=[];return t.forEach(o=>{const s=J(this,ru).defaultQueryOptions(o),i=n.get(s.queryHash);i?r.push({defaultedQueryOptions:s,observer:i}):r.push({defaultedQueryOptions:s,observer:new u_(J(this,ru),s)})}),r},c2=function(t,n){const r=J(this,us).indexOf(t);r!==-1&&(ke(this,cs,nne(J(this,cs),r,n)),Ke(this,Dr,u2).call(this))},u2=function(){var t;if(this.hasListeners()){const n=J(this,kl),r=Ke(this,Dr,i2).call(this,J(this,cs),J(this,kg)),o=Ke(this,Dr,a2).call(this,r,(t=J(this,Df))==null?void 0:t.combine);n!==o&&Un.batch(()=>{this.listeners.forEach(s=>{s(J(this,cs))})})}},I$),_l,jl,vo,Ca,Va,d0,d2,O$,one=(O$=class extends Wu{constructor(n,r){super();Oe(this,Va);Oe(this,_l);Oe(this,jl);Oe(this,vo);Oe(this,Ca);ke(this,_l,n),this.setOptions(r),this.bindMethods(),Ke(this,Va,d0).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(n){var o;const r=this.options;this.options=J(this,_l).defaultMutationOptions(n),H0(this.options,r)||J(this,_l).getMutationCache().notify({type:"observerOptionsUpdated",mutation:J(this,vo),observer:this}),r!=null&&r.mutationKey&&this.options.mutationKey&&Nu(r.mutationKey)!==Nu(this.options.mutationKey)?this.reset():((o=J(this,vo))==null?void 0:o.state.status)==="pending"&&J(this,vo).setOptions(this.options)}onUnsubscribe(){var n;this.hasListeners()||(n=J(this,vo))==null||n.removeObserver(this)}onMutationUpdate(n){Ke(this,Va,d0).call(this),Ke(this,Va,d2).call(this,n)}getCurrentResult(){return J(this,jl)}reset(){var n;(n=J(this,vo))==null||n.removeObserver(this),ke(this,vo,void 0),Ke(this,Va,d0).call(this),Ke(this,Va,d2).call(this)}mutate(n,r){var o;return ke(this,Ca,r),(o=J(this,vo))==null||o.removeObserver(this),ke(this,vo,J(this,_l).getMutationCache().build(J(this,_l),this.options)),J(this,vo).addObserver(this),J(this,vo).execute(n)}},_l=new WeakMap,jl=new WeakMap,vo=new WeakMap,Ca=new WeakMap,Va=new WeakSet,d0=function(){var r;const n=((r=J(this,vo))==null?void 0:r.state)??b3();ke(this,jl,{...n,isPending:n.status==="pending",isSuccess:n.status==="success",isError:n.status==="error",isIdle:n.status==="idle",mutate:this.mutate,reset:this.reset})},d2=function(n){Un.batch(()=>{var r,o,s,i,a,l,c,u;if(J(this,Ca)&&this.hasListeners()){const f=J(this,jl).variables,h=J(this,jl).context;(n==null?void 0:n.type)==="success"?((o=(r=J(this,Ca)).onSuccess)==null||o.call(r,n.data,f,h),(i=(s=J(this,Ca)).onSettled)==null||i.call(s,n.data,null,f,h)):(n==null?void 0:n.type)==="error"&&((l=(a=J(this,Ca)).onError)==null||l.call(a,n.error,f,h),(u=(c=J(this,Ca)).onSettled)==null||u.call(c,void 0,n.error,f,h))}this.listeners.forEach(f=>{f(J(this,jl))})})},O$),f_=k.createContext(void 0),ts=e=>{const t=k.useContext(f_);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},sne=({client:e,children:t})=>(k.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),d.jsx(f_.Provider,{value:e,children:t})),x3=k.createContext(!1),v3=()=>k.useContext(x3);x3.Provider;function ine(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var ane=k.createContext(ine()),w3=()=>k.useContext(ane);function S3(e,t){return typeof e=="function"?e(...t):!!e}function q0(){}var C3=(e,t)=>{(e.suspense||e.throwOnError||e.experimental_prefetchInRender)&&(t.isReset()||(e.retryOnMount=!1))},E3=e=>{k.useEffect(()=>{e.clearReset()},[e])},N3=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:o})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(o&&e.data===void 0||S3(n,[e.error,r])),k3=e=>{const t=e.staleTime;e.suspense&&(e.staleTime=typeof t=="function"?(...n)=>Math.max(t(...n),1e3):Math.max(t??1e3,1e3),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3)))},_3=(e,t)=>e.isLoading&&e.isFetching&&!t,f2=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,G0=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function h_({queries:e,...t},n){const r=ts(),o=v3(),s=w3(),i=k.useMemo(()=>e.map(g=>{const y=r.defaultQueryOptions(g);return y._optimisticResults=o?"isRestoring":"optimistic",y}),[e,r,o]);i.forEach(g=>{k3(g),C3(g,s)}),E3(s);const[a]=k.useState(()=>new rne(r,i,t)),[l,c,u]=a.getOptimisticResult(i,t.combine),f=!o&&t.subscribed!==!1;k.useSyncExternalStore(k.useCallback(g=>f?a.subscribe(Un.batchCalls(g)):q0,[a,f]),()=>a.getCurrentResult(),()=>a.getCurrentResult()),k.useEffect(()=>{a.setQueries(i,t,{listeners:!1})},[i,t,a]);const p=l.some((g,y)=>f2(i[y],g))?l.flatMap((g,y)=>{const b=i[y];if(b){const x=new u_(r,b);if(f2(b,g))return G0(b,x,s);_3(g,o)&&G0(b,x,s)}return[]}):[];if(p.length>0)throw Promise.all(p);const m=l.find((g,y)=>{const b=i[y];return b&&N3({result:g,errorResetBoundary:s,throwOnError:b.throwOnError,query:r.getQueryCache().get(b.queryHash),suspense:b.suspense})});if(m!=null&&m.error)throw m.error;return c(u())}function lne(e,t,n){var f,h,p,m,g;if(process.env.NODE_ENV!=="production"&&(typeof e!="object"||Array.isArray(e)))throw new Error('Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object');const r=ts(),o=v3(),s=w3(),i=r.defaultQueryOptions(e);(h=(f=r.getDefaultOptions().queries)==null?void 0:f._experimental_beforeQuery)==null||h.call(f,i),process.env.NODE_ENV!=="production"&&(i.queryFn||console.error(`[${i.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`)),i._optimisticResults=o?"isRestoring":"optimistic",k3(i),C3(i,s),E3(s);const a=!r.getQueryCache().get(i.queryHash),[l]=k.useState(()=>new t(r,i)),c=l.getOptimisticResult(i),u=!o&&e.subscribed!==!1;if(k.useSyncExternalStore(k.useCallback(y=>{const b=u?l.subscribe(Un.batchCalls(y)):q0;return l.updateResult(),b},[l,u]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),k.useEffect(()=>{l.setOptions(i,{listeners:!1})},[i,l]),f2(i,c))throw G0(i,l,s);if(N3({result:c,errorResetBoundary:s,throwOnError:i.throwOnError,query:r.getQueryCache().get(i.queryHash),suspense:i.suspense}))throw c.error;if((m=(p=r.getDefaultOptions().queries)==null?void 0:p._experimental_afterQuery)==null||m.call(p,i,c),i.experimental_prefetchInRender&&!Eu&&_3(c,o)){const y=a?G0(i,l,s):(g=r.getQueryCache().get(i.queryHash))==null?void 0:g.promise;y==null||y.catch(q0).finally(()=>{l.updateResult()})}return i.notifyOnChangeProps?c:l.trackResult(c)}function xn(e,t){return lne(e,u_)}function Ji(e,t){const n=ts(),[r]=k.useState(()=>new one(n,e));k.useEffect(()=>{r.setOptions(e)},[r,e]);const o=k.useSyncExternalStore(k.useCallback(i=>r.subscribe(Un.batchCalls(i)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),s=k.useCallback((i,a)=>{r.mutate(i,a).catch(q0)},[r]);if(o.error&&S3(r.options.throwOnError,[o.error]))throw o.error;return{...o,mutate:s,mutateAsync:o.mutate}}function cne(){const e=N.useContext(f_);if(e&&e.isSemaphorClient)return e}function j3({children:e}){const{setIsSessionExpired:t}=en(),n=cne(),[r]=N.useState(()=>{const o=new Jte({queryCache:new g3({onError:s=>{s instanceof Error?(console.error(`Something went wrong: ${s.message}`),s.message==="invalid token"&&t(!0)):console.error("Something went wrong:",s)}}),defaultOptions:{queries:{gcTime:36e5,staleTime:3e5,refetchOnWindowFocus:!1,retry:1}}});return o.isSemaphorClient=!0,o});return n?d.jsx(d.Fragment,{children:e}):d.jsx(sne,{client:r,children:e})}const une={id:"",authToken:void 0,tokenProps:{}},Rg=N.createContext(une),R3=({children:e,dashboardProps:t})=>{const n=N.useMemo(()=>{let r={};const o=t.authToken;return o&&(r=Rv(o.accessToken)),{...t,tokenProps:r}},[t]);return d.jsx(j3,{children:d.jsx(Rg.Provider,{value:n,children:e})})};function qe(){const e=N.useContext(Rg);if(e===void 0)throw new Error("useApplicationContext must be used within a ApplicationContextProvider");return e}const Ho=Qi()(_g(e=>({initialDashboard:null,selectedDashboard:null,selectedVisual:null,lastSelectedDashboard:null,lastSelectedVisual:null,actions:{setInitialDashboard:t=>{e(n=>{n.initialDashboard=t})},selectDashboard:t=>{e(n=>{var r;((r=n.selectedDashboard)==null?void 0:r.id)!==t.id&&(n.lastSelectedDashboard=n.selectedDashboard,n.selectedDashboard=t)})},updateSelectedDashboard:t=>{e(n=>{n.selectedDashboard=t})},selectVisual:t=>{e(n=>{n.lastSelectedVisual=n.selectedVisual,n.selectedVisual=t})},clearSelectedDashboard:()=>{e(t=>{t.lastSelectedDashboard=t.selectedDashboard,t.selectedDashboard=null})},clearSelectedVisual:()=>{e(t=>{t.lastSelectedVisual=t.selectedVisual,t.selectedVisual=null})}}}))),dne=()=>Ho(e=>e.selectedDashboard),fne=()=>Ho(e=>e.selectedVisual),p_=()=>Ho(e=>e.actions),hne=e=>Ho(t=>{var n;return((n=t.selectedDashboard)==null?void 0:n.id)===e}),pne=e=>Ho(t=>{var n;return((n=t.selectedVisual)==null?void 0:n.id)===e});function mne(){const{authToken:e,version:t,tokenProps:n,id:r}=qe(),o=Ho(h=>h.selectedDashboard);function s(){return o!=null&&o.id?o==null?void 0:o.id:r||(n!=null&&n.dashboard_id?n.dashboard_id:null)}const i=ee(h=>h.selectedLensId);function a(){return!(!(e!=null&&e.accessToken)||!s())}const{data:l,isLoading:c,isFetching:u,isError:f}=xn({queryKey:["dashboard",i,e==null?void 0:e.accessToken,s()],queryFn:()=>Ate(n.apiServiceUrl,e==null?void 0:e.accessToken,{lensId:i,version:t,dashboardId:s()}),enabled:a()});return{data:l,isLoading:c,isFetching:u,isError:f}}function gne(){const{authToken:e}=qe(),t=ee(r=>r.authToken),{setAuthToken:n}=en();return N.useEffect(()=>{e&&(e==null?void 0:e.toString())!==(t==null?void 0:t.toString())&&n(e)},[e,t,n]),e}const M3=(e,t)=>{const n={};if(e===null||t===null)return t;const r=new Set([...Object.keys(e),...Object.keys(t)]);for(const o of r){if(!(o in e)&&o in t){n[o]=t[o];continue}if(o in e&&!(o in t)){n[o]=void 0;continue}const s=e[o],i=t[o];if(!h2(s,i))if(Array.isArray(s)&&Array.isArray(i))n[o]=i;else if(qP(s)&&qP(i)){const a=M3(s,i);Object.keys(a).length>0&&(n[o]=a)}else n[o]=i}return n},h2=(e,t)=>{if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(Array.isArray(e)&&Array.isArray(t))return e.length!==t.length?!1:e.every((o,s)=>h2(o,t[s]));const n=Object.keys(e),r=Object.keys(t);return n.length!==r.length?!1:n.every(o=>h2(e[o],t[o]))}return!1},qP=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),wm=e=>{if(e===null||typeof e!="object")return e;if(e instanceof Date)return new Date(e);if(e instanceof RegExp)return new RegExp(e);if(Array.isArray(e))return e.map(n=>wm(n));const t={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=wm(e[n]));return t};function D3(e){const t=N.useCallback(s=>`semaphor-default-sheet-${s}`,[]),n=N.useCallback(()=>{if(!e)return null;try{const s=t(e);return localStorage.getItem(s)}catch(s){return console.error("Error reading default sheet preference:",s),null}},[e,t]),r=N.useCallback(s=>{if(!(!e||!s))try{const i=t(e);localStorage.setItem(i,s)}catch(i){console.error("Error saving default sheet preference:",i)}},[e,t]),o=N.useCallback(()=>{if(e)try{const s=t(e);localStorage.removeItem(s)}catch(s){console.error("Error clearing default sheet preference:",s)}},[e,t]);return{getDefaultSheetId:n,setDefaultSheetId:r,clearDefaultSheetId:o}}function P3(e){return e==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e}function GP(e,t){const n=P3(e);return n==="dark"?xm({...t==null?void 0:t.default},{...t==null?void 0:t.dark}):t==null?void 0:t.default}function bne({customStyle:e,currentTheme:t,onSave:n,onEvent:r,defaultFilterValues:o,selectedSheetId:s,onFilterValuesChange:i}){var $;const{authToken:a}=qe();gne();const l=ee(T=>T.selectedLensId),{data:c,isLoading:u,isFetching:f,isError:h}=mne(),p=($=c==null?void 0:c.dashboard)==null?void 0:$.id,{getDefaultSheetId:m,clearDefaultSheetId:g}=D3(p),[y,b]=N.useState(o||[]),{theme:x,setTheme:v}=a_(),w=ee(T=>T.dashboard.globalStyle),{setDashboard:S,setDashboardWithFilterValues:E,setSelectedSheetId:C,setStyle:_,setOnSaveFunction:j,setLenses:R,setSelectedLensId:P,setInitStore:M}=en();ee(T=>T.actions.setCustomCards);const O=ee(T=>T.actions.setFilterValues),I=ee(T=>T.filterValues),A=ee(T=>T.actions.setThemeStyle),F=ee(T=>T.actions.setDashboardTheme),H=ee(T=>T.actions.setOnEvent);N.useEffect(()=>{a&&M()},[a,M]),N.useEffect(()=>{if(x){const T=P3(x);F(T)}},[x,F]),N.useEffect(()=>{t&&v(t)},[t,v]);const W=N.useCallback(()=>{const T=wm(z0),B=xm(T,w);if(e){const z=xm(B,e),D=GP(x,z);A(D),_(z)}else{const z=GP(x,B);A(z),_(z0)}},[x,e,w,A,_]);return N.useEffect(()=>{c&&c.dashboard&&W()},[x,e,w,W,c]),N.useEffect(()=>{var L,q,Y;function T(ne,Q){const le=ne.filters||[],te=[];for(const se of Q){const oe=le.find(Ce=>Ce.id===se.filterId);oe&&te.push({filterId:se.filterId,connectionType:oe.database==="NA"?"api":"database",name:oe.column,operation:se.operation,valueType:Qd(oe),values:se.values})}return te}if(!c||!c.dashboard)return;const{dashboard:B,filterValues:z,defaultLensId:D,lenses:U}=c;function G(){var Q;if(z&&(z==null?void 0:z.length)>0)return z;const ne=T(B,y||[]);return ne&&(ne==null?void 0:ne.length)>0?ne:B.defaultFilterValues&&((Q=B.defaultFilterValues)==null?void 0:Q.length)>0?B.defaultFilterValues:[]}E(B,G()),U&&R(U),D&&P(D);let Z=m();Z&&((L=B==null?void 0:B.sheets)!=null&&L.some(Q=>Q.id===Z)||(g(),Z=null));const V=s||Z||((Y=(q=B==null?void 0:B.sheets)==null?void 0:q[0])==null?void 0:Y.id)||null;C(V)},[c,S,C,O,l,R,E,P,y,s,m,g]),N.useEffect(()=>{i&&I&&i(I)},[I,i]),N.useEffect(()=>{n&&j(n),r&&H(r)},[n,j,r,H]),{isFetching:f,isLoading:u,isError:h}}function $a({className:e,...t}){return d.jsx("div",{className:K("animate-pulse rounded-md bg-muted",e),...t})}const zi=k.forwardRef(({className:e,...t},n)=>d.jsx("div",{ref:n,className:K("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));zi.displayName="Card";const Bi=k.forwardRef(({className:e,...t},n)=>d.jsx("div",{ref:n,className:K("flex flex-col space-y-1.5 p-6",e),...t}));Bi.displayName="CardHeader";const Vi=k.forwardRef(({className:e,...t},n)=>d.jsx("h3",{ref:n,className:K("text-2xl font-semibold leading-none tracking-tight",e),...t}));Vi.displayName="CardTitle";const T3=k.forwardRef(({className:e,...t},n)=>d.jsx("p",{ref:n,className:K("text-sm text-muted-foreground",e),...t}));T3.displayName="CardDescription";const Ua=k.forwardRef(({className:e,...t},n)=>d.jsx("div",{ref:n,className:K("px-6 pt-0",e),...t}));Ua.displayName="CardContent";const A3=k.forwardRef(({className:e,...t},n)=>d.jsx("div",{ref:n,className:K("flex items-center p-6 pt-0",e),...t}));A3.displayName="CardFooter";/**
|
|
36
|
+
`,J$=["_forecast"],L0="dm",pte=[{locale:"en-US",currency:"USD",currencyName:"US Dollar"},{locale:"en-GB",currency:"GBP",currencyName:"British Pound"},{locale:"en-CA",currency:"CAD",currencyName:"Canadian Dollar"},{locale:"en-AU",currency:"AUD",currencyName:"Australian Dollar"},{locale:"en-IN",currency:"INR",currencyName:"Indian Rupee"},{locale:"ja-JP",currency:"JPY",currencyName:"Japanese Yen"},{locale:"de-DE",currency:"EUR",currencyName:"Germany (Eurozone)"},{locale:"fr-FR",currency:"EUR",currencyName:"France (Eurozone)"},{locale:"es-ES",currency:"EUR",currencyName:"Spain (Eurozone)"},{locale:"it-IT",currency:"EUR",currencyName:"Italy (Eurozone)"},{locale:"fi-FI",currency:"EUR",currencyName:"Finland (Eurozone)"},{locale:"nl-NL",currency:"EUR",currencyName:"Netherlands (Eurozone)"},{locale:"zh-CN",currency:"CNY",currencyName:"Chinese Yuan"},{locale:"ru-RU",currency:"RUB",currencyName:"Russian Ruble"},{locale:"pt-BR",currency:"BRL",currencyName:"Brazilian Real"},{locale:"ko-KR",currency:"KRW",currencyName:"South Korean Won"},{locale:"ar-SA",currency:"SAR",currencyName:"Saudi Riyal"},{locale:"sv-SE",currency:"SEK",currencyName:"Swedish Krona"},{locale:"no-NO",currency:"NOK",currencyName:"Norwegian Krone"},{locale:"da-DK",currency:"DKK",currencyName:"Danish Krone"},{locale:"pl-PL",currency:"PLN",currencyName:"Polish Zloty"},{locale:"tr-TR",currency:"TRY",currencyName:"Turkish Lira"},{locale:"he-IL",currency:"ILS",currencyName:"Israeli Shekel"},{locale:"th-TH",currency:"THB",currencyName:"Thai Baht"},{locale:"vi-VN",currency:"VND",currencyName:"Vietnamese Dong"},{locale:"id-ID",currency:"IDR",currencyName:"Indonesian Rupiah"},{locale:"mx-MX",currency:"MXN",currencyName:"Mexican Peso"},{locale:"za-ZA",currency:"ZAR",currencyName:"South African Rand"},{locale:"sg-SG",currency:"SGD",currencyName:"Singapore Dollar"},{locale:"hk-HK",currency:"HKD",currencyName:"Hong Kong Dollar"},{locale:"ch-CH",currency:"CHF",currencyName:"Swiss Franc"},{locale:"my-MY",currency:"MYR",currencyName:"Malaysian Ringgit"},{locale:"ph-PH",currency:"PHP",currencyName:"Philippine Peso"},{locale:"eg-EG",currency:"EGP",currencyName:"Egyptian Pound"},{locale:"nz-NZ",currency:"NZD",currencyName:"New Zealand Dollar"}],t_=["lg","md","sm","xs","xxs"],z0={default:{dashboardPanel:"",dashboardTabsContainer:"",gridLayout:{className:""},chart:{font:{family:"Open Sans, Arial, sans-serif"},dataset:{backgroundColor:[fn.teal[500],fn.teal[300],fn.gray[700],fn.gray[500],fn.gray[300]],borderColor:[fn.teal[500],fn.teal[300],fn.gray[700],fn.gray[500],fn.gray[300]]},options:{interaction:{mode:"index"},plugins:{datalabels:{display:!1,color:GE},title:{display:!0},tooltip:{backgroundColor:"#fff",bodyColor:"#000",borderWidth:.25,titleColor:"#000",borderColor:"rgb(128,131,139)",cornerRadius:4,usePointStyle:!0,pointStyle:"rectRounded",boxPadding:4},legend:{position:"top",align:"center",maxHeight:0,labels:{useBorderRadius:!0,borderRadius:2}}},scales:{y:{grid:{display:!0},title:{display:!0,text:""},beginAtZero:!0,ticks:{precision:0}},x:{grid:{display:!0},title:{display:!0}}},layout:{padding:{top:-40}},borderRadius:2,responsive:!0,maintainAspectRatio:!1}}},dark:{chart:{dataset:{datalables:{color:GE},backgroundColor:[fn.teal[500],fn.teal[300],fn.gray[700],fn.gray[500],fn.gray[300]],borderColor:[fn.teal[500],fn.teal[300],fn.gray[700],fn.gray[500],fn.gray[300]]},options:{plugins:{tooltip:{backgroundColor:"#000",bodyColor:"#fff",borderWidth:.25,titleColor:"#fff",borderColor:"rgb(128,131,139)",cornerRadius:2,boxPadding:4}},datalabels:{display:!1},scales:{x:{grid:{display:!0,color:fn.slate[800]}},y:{grid:{display:!0,color:fn.slate[800]}}}}}}};function GE(e){var r,o,s,i,a,l;const t=(a=(i=(s=(o=(r=e==null?void 0:e.chart)==null?void 0:r.config)==null?void 0:o._config)==null?void 0:s.options)==null?void 0:i.plugins)==null?void 0:a.datalabels;let n=(l=e==null?void 0:e.dataset)==null?void 0:l.backgroundColor;return(t==null?void 0:t.align)==="end"&&(t==null?void 0:t.anchor)==="end"&&(n=Al()),(t==null?void 0:t.align)==="start"&&(t==null?void 0:t.anchor)==="start"&&(n=Al()),Fa(n)}function Al(){return ee.getState().theme==="dark"?"#000000":"#FFFFFF"}function Fa(e){let t=0,n=0,r=0,o=0;const s=u=>{if(!u)return fn.gray[500];const f=u.replace("#",""),h=parseInt(f.substring(0,2),16),p=parseInt(f.substring(2,4),16),m=parseInt(f.substring(4,6),16);t+=h,n+=p,r+=m,o++};Array.isArray(e)?e.forEach(u=>{s(u)}):s(e);const i=t/o,a=n/o,l=r/o;return(i*299+a*587+l*114)/1e3>=180?"black":"white"}const mte=["text","nullable(string)","name","enum","varchar","nvarchar","nvarchar2","char","character","longtext","nchar","char varying","nchar varying","character varying","string"],gte=["real","number","integer","int","int64","bigint","smallint","tinyint","byteint","numeric","decimal","dec","double","real","double precision","float","float4","float8","float64"],bte=["date","datetime","time","timestamp","timestamp without time zone","timestamp_ns"],yte=["boolean"];function n_(e){return e.match(/[A-Z]/)?`"${e}"`:e}function Iv(e){return mte.includes(e.toLowerCase())||/varchar/i.test(e)}function jg(e){return gte.includes(e.toLowerCase())||/int|decimal|float|double/i.test(e)}function Uu(e){return bte.includes(e.toLowerCase())||/date|time|timestamp/i.test(e)}function r_(e){return yte.includes(e.toLowerCase())||/boolean/i.test(e)}function xte(e,t,n,r,o,s){const{measures:i,dimensions:a}=e,l=i==null?void 0:i.map(h=>`${h.calc}(${h.name}) as ${h.calc}_${h.name.replace(/"/g,"")}`).join(", "),c=(a==null?void 0:a.join(", "))||"";let u="";const f=r?`${L0}.${r}`:o_({schemaName:t,tableName:n,connectionType:o,databaseName:s});if(l&&c)return u=`SELECT ${c}, COUNT(*) as count, ${l} FROM ${f} GROUP BY ${c} ORDER BY ${c} DESC LIMIT 100`,u;if(!l&&c)return u=`SELECT ${c}, COUNT(*) as count FROM ${f} GROUP BY ${c} ORDER BY ${c} DESC LIMIT 100`,u;if(l&&!c)return u=`SELECT ${l} FROM ${f} LIMIT 100`,u}function vte(e,t,n="AVG"){var s,i,a,l;let r={};const o=n_(e.column_name);return Iv(e.data_type)&&(((s=t.dimensions)==null?void 0:s.includes(o))?r={...t,dimensions:(i=t.dimensions)==null?void 0:i.filter(u=>u!==o)}:r={...t,dimensions:[...t.dimensions||[],o]}),jg(e.data_type)&&(((a=t.measures)==null?void 0:a.some(u=>u.name===o&&u.calc===n))?r={...t,measures:(l=t.measures)==null?void 0:l.filter(u=>!(u.name===o&&u.calc===n))}:r={...t,measures:[...t.measures||[],{name:o,calc:n||"SUM"}]}),r}function Qd(e){return Iv(e.dataType)?"string":jg(e.dataType)?"number":Uu(e.dataType)?"date":r_(e.dataType)?"boolean":"string"}function wte(e){let t;const n=e.data_type.toLowerCase();return Iv(n)?t="T":jg(n)?t="#":Uu(n)?t="D":r_(n)?t="B":t="?",t}function Ste(e,t){const{dimensions:n,measures:r}=t,o=n==null?void 0:n.includes(e.column_name),s=r==null?void 0:r.some(i=>i.name===e.column_name);return o||s}function e3(e){return e?e!=null&&e.startsWith(`${L0}.`)?e:`${L0}.${e}`:""}function t3({schemaName:e,tableName:t,modelName:n,connectionType:r,databaseName:o}){let s=o_({schemaName:e,tableName:t,connectionType:r,databaseName:o});n&&(s=e3(n));let i=s;return(l=>/[A-Z]/.test(l))(t)&&(i=i.split(".").map(c=>`"${c}"`).join(".")),i}function o_({schemaName:e,tableName:t,connectionType:n,databaseName:r}){return t==="api"||e===n_("NA")||n==="S3"||n==="API"?t:n==="S3Tables"?`${r}.${e}.${t}`:e?`${e}.${t}`:`${t}`}const Cte=e=>{const t=new Date(e);return!isNaN(t.getTime())},Ete=e=>!isNaN(Number(e))&&!isNaN(parseFloat(e)),Ov=e=>{let t;return typeof e=="number"?t="number":typeof e=="string"?Cte(e)?t="date":Ete(e)?t="number":t="string":typeof e=="boolean"?t="boolean":e instanceof Date?t="date":t="unknown",t};function Nte({get:e,dataPoint:t,card:n}){var h;const{addOrUpdateFilterValue:r,addFilteringCard:o,removeFilterValues:s,replaceFilterValue:i,removeFilteringCard:a}=e().actions,l=e().filteringCards,{columnName:c,columnValue:u}=t,f={filterId:n.id,connectionId:n==null?void 0:n.connectionId,tableName:n.lastSelectedTable,name:c,expression:(h=n.preferences)==null?void 0:h.filterOnClickField,valueType:Ov(u),operation:"=",values:[u]};if(l!=null&&l.find(p=>p.id===n.id)){const p=n.id;if(u==null){a(n),s(p);return}else i(f)}o(n),r(f)}function AP({id:e,layouts:t,initialHeight:n,y:r,x:o,w:s,minH:i}){const a={i:e,x:o??0,y:r??1/0,w:s||20,h:n||35,minW:6,minH:i||10},l=t?{...t}:{};return t_.forEach(c=>{l[c]||(l[c]=[]);const u=l[c].reduce((f,h)=>Math.max(f,h.y+h.h),0);a.y=a.y===1/0?u:a.y,l[c].push({...a})}),l}function IP(e,t){if(!t)return;const n={...t};return t_.forEach(r=>{n[r]&&(n[r]=n[r].filter(o=>o.i!==e))}),n}function s_(e){const t=ee.getState().dashboard.globalCacheConfig,{card:n,filter:r}=e;return t}const kte=["new","edit","delete","create","update","remove"];function OP(e,t,n){if(n&&t===n)return!0;const r=e.sheets||[];for(const o of r){const s=o.frames||[];for(const i of s){const a=i.cards||[];for(const l of a)if(l.id===t)return!1}}return!0}function _te(e){return!e||e.trim().length===0?{isValid:!1,error:"Card ID cannot be empty"}:e.length<3?{isValid:!1,error:"Card ID must be at least 3 characters"}:e.length>50?{isValid:!1,error:"Card ID must be less than 50 characters"}:/^[a-zA-Z0-9-_]+$/.test(e)?/^[a-zA-Z0-9]/.test(e)?kte.includes(e.toLowerCase())?{isValid:!1,error:`"${e}" is a reserved keyword and cannot be used`}:{isValid:!0}:{isValid:!1,error:"Card ID must start with a letter or number"}:{isValid:!1,error:"Card ID can only contain letters, numbers, hyphens, and underscores"}}function jte(e){return e.trim().toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9-_]/g,"")}const ee=Qi()(_g((e,t)=>({isSessionExpired:!1,currentBreakpoint:"lg",dashboard:{id:"",style:z0},showContext:!1,selectedSheetId:null,selectedCardId:null,selectedFrameId:null,selectedCard:null,showFilters:!1,isDashboardEditing:!1,isVisualEditing:!1,showDashboardJSON:!1,filteringCards:[],isDashboardPanelOpen:!1,actions:{setInitStore:()=>{e(n=>{n.isSessionExpired=!1,n.currentBreakpoint="lg",n.dashboard={id:"",style:z0},n.showContext=!1,n.selectedSheetId=null,n.selectedCardId=null,n.selectedFrameId=null,n.selectedCard=null,n.showFilters=!1,n.isDashboardEditing=!1,n.isVisualEditing=!1,n.showDashboardJSON=!1,n.filteringCards=[],n.selectedLensId=void 0,n.filterValues=void 0})},setAiContext:n=>{e(r=>{r.dashboard.aiContext=n})},setHandleOpenAssistantProfile:n=>{e(r=>{r.handleOpenAssistantProfile=n})},setFilterMode:(n,r)=>{const o=r==="exclude"?"not in":"in";e(s=>{var a,l,c;const i=(a=s.dashboard.filters)==null?void 0:a.find(u=>u.id===n);i&&(i.operation=o,s.dashboard.filters=(l=s.dashboard.filters)==null?void 0:l.map(u=>u.id===n?i:u),s.filterValues&&s.filterValues.length>0&&(s.filterValues=(c=s.filterValues)==null?void 0:c.map(u=>u.filterId===n?{...u,operation:o}:u)))})},updateEmailSettings:n=>{e(r=>{r.dashboard.emailSettings=n})},setDefaultFilterValues:n=>{e(r=>{r.dashboard.defaultFilterValues=n})},setIsDownloadingPdf:n=>{e(r=>{r.isDownloadingPdf=n})},setGlobalCacheConfig:n=>{e(r=>{r.dashboard.globalCacheConfig=n})},setLenses:n=>{e(r=>{r.lenses=n})},setSelectedLensId:n=>{e(r=>{r.selectedLensId=n})},deleteSheet:n=>{e(r=>{var s,i,a,l,c,u,f,h;const o=(s=r.dashboard.sheets)==null?void 0:s.findIndex(p=>p.id===n);if(o!==void 0&&o>-1){(i=r.dashboard.sheets)==null||i.splice(o,1);const p=(a=r.dashboard.filters)==null?void 0:a.filter(g=>g.sheetId===n),m=(l=r.filterValues)==null?void 0:l.filter(g=>p==null?void 0:p.some(y=>y.id===g.filterId));if(r.filterValues=(c=r.filterValues)==null?void 0:c.filter(g=>!(m!=null&&m.some(y=>y.filterId===g.filterId))),r.dashboard.filters=(u=r.dashboard.filters)==null?void 0:u.filter(g=>g.sheetId!==n),r.selectedSheetId=(h=(f=r.dashboard.sheets)==null?void 0:f[0])==null?void 0:h.id,r.dashboard.id)try{const g=`semaphor-default-sheet-${r.dashboard.id}`;localStorage.getItem(g)===n&&localStorage.removeItem(g)}catch(g){console.error("Error clearing default sheet preference:",g)}}})},addSheet:n=>{e(r=>{r.dashboard.sheets||(r.dashboard.sheets=[]);const o=r.dashboard.filters;let s={};o==null||o.forEach(a=>{t_.forEach(l=>{s!=null&&s[l]||(s={...s,[l]:[]});const c={i:a.id,x:0,y:0,w:10,h:8};s[l].push(c)})});const i={...n,layouts:s};r.dashboard.sheets.push(i)})},setGlobalStyle:n=>{e(r=>{r.dashboard.globalStyle=n})},setAIScopeTables:n=>{e(r=>{r.dashboard.aiScopeTables=n})},addToAIScope:n=>{e(r=>{const{connectionId:o,connectionType:s,databaseName:i,schemaName:a,tableName:l,datamodelName:c,datamodelId:u}=n,f={connectionId:o||"",connectionType:s||"",databaseName:i||"",schemaName:a||"",tableName:l||"",datamodelName:c||"",datamodelId:u||""};let p=[...r.dashboard.aiScopeTables||[],f];p=p.filter((m,g,y)=>y.findIndex(b=>b.tableName===m.tableName&&b.datamodelName===m.datamodelName)===g),r.dashboard.aiScopeTables=p})},removeFromAIScope:n=>{e(r=>{const{connectionId:o,tableName:s,datamodelName:i}=n,a=r.dashboard.aiScopeTables||[];if(i){const l=a.filter(c=>!(c.datamodelName===i&&c.connectionId===o));r.dashboard.aiScopeTables=l}else if(s){const l=a.filter(c=>!(c.tableName===s&&c.connectionId===o));r.dashboard.aiScopeTables=l}})},setIsSessionExpired:n=>{e(()=>({isSessionExpired:n}))},setCardPython:(n,r)=>{e(o=>{var i,a,l;const s=(a=(i=o.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(c=>c.id===o.selectedSheetId);s&&((l=s==null?void 0:s.frames)==null||l.forEach(c=>{var f;const u=(f=c.cards)==null?void 0:f.find(h=>h.id===n);u&&(u.python=r)}))})},addBaseQuery:n=>{e(r=>{var o;r.dashboard.baseQueries||(r.dashboard.baseQueries=[]),(o=r.dashboard.baseQueries)==null||o.push(n)})},removeBaseQuery:n=>{e(r=>{var s,i;const o=(s=r.dashboard.baseQueries)==null?void 0:s.findIndex(a=>a.id===n);o!=null&&o>-1&&((i=r.dashboard.baseQueries)==null||i.splice(o,1))})},setBaseQueries:n=>{e(r=>{r.dashboard.baseQueries=n})},setCurrentBreakpoint:n=>{e(()=>({currentBreakpoint:n}))},setFilteringCards:n=>{e(()=>({filteringCards:n}))},addFilteringCard:n=>{e(r=>{var o;(o=r.filteringCards)==null||o.push(n)})},removeFilteringCard:n=>{e(r=>{var s,i;const o=(s=r.filteringCards)==null?void 0:s.findIndex(a=>a.id===n.id);o!==void 0&&o>-1&&((i=r.filteringCards)==null||i.splice(o,1))})},setCustomCards:n=>{e(r=>{r.dashboard.customCards=n})},setAuthToken:n=>{e(()=>({authToken:n}))},setThemeStyle:n=>{e(()=>({themeStyle:n}))},setDashboard:n=>e({dashboard:n}),setDashboardWithFilterValues:(n,r)=>{e(o=>{o.dashboard=n,o.filterValues=r})},setDashboardTheme:n=>{e(r=>{r.theme=n})},setSheets:n=>{e(r=>{r.dashboard&&(r.dashboard.sheets=n)})},setSheetTitle:(n,r)=>{e(o=>{var i,a;const s=(a=(i=o.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(l=>l.id===n);s&&(s.title=r)})},setCardTitle:(n,r,o)=>{e(s=>{var a,l,c;const i=(l=(a=s.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(u=>u.id===n);i&&((c=i==null?void 0:i.frames)==null||c.forEach(u=>{var h;const f=(h=u.cards)==null?void 0:h.find(p=>p.id===r);f&&(f.title=o)}))})},setCardInfo:(n,r)=>{e(o=>{var i,a,l;const s=(a=(i=o.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(c=>c.id===o.selectedSheetId);s&&((l=s==null?void 0:s.frames)==null||l.forEach(c=>{var f;const u=(f=c.cards)==null?void 0:f.find(h=>h.id===n);u&&(u.info=r)}))})},setCardDescription:(n,r,o)=>{e(s=>{var a,l,c;const i=(l=(a=s.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(u=>u.id===n);i&&((c=i==null?void 0:i.frames)==null||c.forEach(u=>{var h;const f=(h=u.cards)==null?void 0:h.find(p=>p.id===r);f&&(f.description=o)}))})},setCardKpiOptions:(n,r,o)=>{e(s=>{var a,l,c;const i=(l=(a=s.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(u=>u.id===n);i&&((c=i==null?void 0:i.frames)==null||c.forEach(u=>{var h;const f=(h=u.cards)==null?void 0:h.find(p=>p.id===r);f&&(f.preferences||(f.preferences={}),f.preferences.kpiVisualOptions||(f.preferences.kpiVisualOptions={}),f.preferences.kpiVisualOptions={...f.preferences.kpiVisualOptions,...o})}))})},updateCardFilters:(n,r)=>{e(o=>{var i,a;const s=(i=o.dashboard)==null?void 0:i.sheets;if(s)for(const l of s){const c=l.frames||[];for(const u of c){const f=(a=u.cards)==null?void 0:a.find(h=>h.id===n);if(f){f.config||(f.config={}),f.config.filters=r;return}}}})},clearCardFilters:n=>{e(r=>{var s,i;const o=(s=r.dashboard)==null?void 0:s.sheets;if(o)for(const a of o){const l=a.frames||[];for(const c of l){const u=(i=c.cards)==null?void 0:i.find(f=>f.id===n);if(u&&u.config){u.config.filters=void 0;return}}}})},setCardSql:(n,r,o)=>{e(s=>{var a,l,c,u;const i=(l=(a=s.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(f=>f.id===n);if(i){const f=(c=i.cards)==null?void 0:c.find(h=>h.id===r);f&&(f.sql=o,(u=s.onUpdateCard)==null||u.call(s,f,n))}})},setSheetLayout:(n,r)=>{e(o=>{var i,a;const s=(a=(i=o.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(l=>l.id===n);s&&(s.layout=r)})},setSheetLayouts:(n,r)=>{e(o=>{var i,a;const s=(a=(i=o.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(l=>l.id===n);s&&(s.layouts=r)})},setShowContext:n=>{e(()=>({showContext:n}))},setShowFilters:n=>{e(()=>({showFilters:n}))},setFilterValues:n=>{e(()=>({filterValues:n}))},addOrUpdateFilterValue:n=>{e(r=>{if(r.filterValues){const o=r.filterValues.findIndex(s=>s.filterId===n.filterId);o>-1?r.filterValues.splice(o,1,n):r.filterValues.push(n)}else r.filterValues=[n]})},addOrUpdateFilterValues:n=>{e(r=>{r.filterValues?n.forEach(o=>{var i,a,l,c;const s=(i=r==null?void 0:r.filterValues)==null?void 0:i.findIndex(u=>u.filterId===o.filterId);if(o.values.length===0){r.filterValues=(a=r.filterValues)==null?void 0:a.filter(u=>u.filterId!==o.filterId);return}s!==void 0&&s>-1?(l=r.filterValues)==null||l.splice(s,1,o):(c=r.filterValues)==null||c.push(o)}):r.filterValues=n})},removeFilterValues:n=>{e(r=>{if(r.filterValues){const o=r.filterValues.filter(s=>s.filterId!==n&&!s.filterId.startsWith(n));r.filterValues=o}})},replaceFilterValue:n=>{e(r=>{if(r.filterValues){const o=r.filterValues.findIndex(s=>s.filterId===n.filterId);o>-1&&r.filterValues.splice(o,1,n)}})},addFilter:n=>{e(r=>{var s,i;r.dashboard.filters?(s=r.dashboard.filters)==null||s.push(n):r.dashboard.filters=[n],(i=r.dashboard.sheets)==null||i.find(a=>a.id===r.selectedSheetId);const o=r.dashboard.sheets;o==null||o.forEach(a=>{AP({id:n.id,layouts:a.layouts,y:0,initialHeight:8,minH:7,w:10})})})},removeFilter:n=>{e(r=>{var o,s,i;if(r.dashboard.filters){const a=(o=r.dashboard.filters)==null?void 0:o.findIndex(l=>l.id===n);if(a>-1){(s=r.dashboard.filters)==null||s.splice(a,1),(i=r.dashboard.sheets)==null||i.find(c=>c.id===r.selectedSheetId);const l=r.dashboard.sheets;l==null||l.forEach(c=>{const u=IP(n,c.layouts);c.layouts=u})}}})},updateCurrentDashboardCard:n=>{e(r=>{var a,l,c,u,f;const o=(l=(a=r.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(h=>h.id===r.selectedSheetId),s=(c=o==null?void 0:o.frames)==null?void 0:c.find(h=>h.id===r.selectedFrameId),i=(u=s==null?void 0:s.cards)==null?void 0:u.findIndex(h=>h.id===n.id);typeof i=="number"&&i>=0&&((f=s==null?void 0:s.cards)==null||f.splice(i,1,n))})},updateFrameCard:(n,r,o)=>{e(s=>{var l,c,u,f,h;const i=(c=(l=s.dashboard)==null?void 0:l.sheets)==null?void 0:c.find(p=>p.id===n);if(!i)return;const a=(u=i==null?void 0:i.frames)==null?void 0:u.find(p=>p.id===r);if(a){const p=(f=a.cards)==null?void 0:f.findIndex(m=>m.id===o.id);p>-1&&((h=a.cards)==null||h.splice(p,1,o))}})},updateFilter:n=>{e(r=>{var o,s;if(r.dashboard.filters){const i=(o=r.dashboard.filters)==null?void 0:o.findIndex(a=>a.id===n.id);i>-1&&((s=r.dashboard.filters)==null||s.splice(i,1,n))}})},updateFilterId:(n,r)=>{e(o=>{var a,l;const s=(a=o.dashboard.filters)==null?void 0:a.find(c=>c.id===n),i=(l=o.dashboard.filters)==null?void 0:l.some(c=>c.id===r);s&&!i&&(s.id=r)})},setIsDashboardEditing:n=>{e(()=>({isDashboardEditing:n}))},setShowDashboardJSON:n=>{e(()=>({showDashboardJSON:n}))},setIsVisualEditing:n=>{e(()=>({isVisualEditing:n}))},addFrame:(n,r,o)=>{e(s=>{var a,l,c,u;const i=(l=(a=s.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(f=>f.id===n);if(i){i.frames||(i.frames=[]),(c=i.frames)==null||c.push(r);let f=1/0;const h=0;o==="start"&&(f=0);const p=AP({id:r.id,layouts:i.layouts,minH:10,x:h,y:f});i.layouts=p,(u=s.onAddFrame)==null||u.call(s,r,n)}})},removeFrame:(n,r)=>{e(o=>{var i,a,l,c,u;const s=(a=(i=o.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(f=>f.id===n);if(s){const f=(l=s.frames)==null?void 0:l.findIndex(h=>h.id===r);console.log(f),typeof f=="number"&&f>-1&&((c=s.frames)==null||c.splice(f,1),(u=s.layout)==null||u.splice(f,1),IP(r,s.layouts))}})},updateFrame:(n,r)=>{e(o=>{var a,l,c;const s=(l=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(u=>u.id===n);if(!(s!=null&&s.frames))return;const i=s.frames.findIndex(u=>u.id===r.id);if(i===-1){console.warn("updateFrame: frame not found",r.id,n);return}s.frames.splice(i,1,r),(c=o.onAcceptChanges)==null||c.call(o,r,o.dashboard)})},updateCard:(n,r)=>{e(o=>{var a,l,c,u,f;const s=(l=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(h=>h.id===n),i=(c=s==null?void 0:s.cards)==null?void 0:c.findIndex(h=>h.id===r.id);s&&((u=s.cards)==null||u.splice(i,1,r),(f=o.onUpdateCard)==null||f.call(o,r,n))})},removeCard:(n,r)=>{e(o=>{var a,l,c,u,f,h;const s=(l=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(p=>p.id===n),i=(c=s==null?void 0:s.cards)==null?void 0:c.findIndex(p=>p.id===r.id);s&&((u=s.cards)==null||u.splice(i,1),(f=s.layout)==null||f.splice(i,1),(h=o.onRemoveCard)==null||h.call(o,r,n))})},setStyle:n=>{e(r=>{r.dashboard&&(r.dashboard.style=n)})},setSelectedCardId:(n,r)=>{e(o=>{var i,a,l;const s=(a=(i=o.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(c=>c.id===n);s&&(((l=s.cards)==null?void 0:l.find(u=>u.id===r))?o.selectedCardId=r:o.selectedCardId=null)})},setSelectedFrameId:n=>{e(r=>{var s,i;((i=(s=r.dashboard)==null?void 0:s.sheets)==null?void 0:i.find(a=>a.id===r.selectedSheetId))&&(r.selectedFrameId=n)})},clearSelectedFrameId:()=>{e(n=>{n.selectedFrameId=null})},setSelectedSheetId:n=>{e(r=>{var s,i;((i=(s=r.dashboard)==null?void 0:s.sheets)==null?void 0:i.find(a=>a.id===n))&&(r.selectedSheetId=n)})},setOnSaveFunction:n=>{e(()=>({onSaveFunction:n}))},setOnAddCard:n=>{e(()=>({onAddCard:n}))},setOnAcceptChanges:n=>{e(()=>({onAcceptChanges:n}))},setOnUpdateCard:n=>{e(()=>({onUpdateCard:n}))},setOnRemoveCard:n=>{e(()=>({onRemoveCard:n}))},setOnEvent:n=>{e(()=>({onEvent:n}))},getDashboard:()=>t().dashboard,getSelectedSheet:()=>{var n,r;return(r=(n=t().dashboard)==null?void 0:n.sheets)==null?void 0:r.find(o=>o.id===t().selectedSheetId)},getCardFrame:n=>{var o,s;const r=(o=t().dashboard)==null?void 0:o.sheets;if(r)for(let i=0;i<r.length;i++){const a=r[i].frames;if(a){for(let l=0;l<a.length;l++)if((s=a[l].cards)==null?void 0:s.find(u=>u.id===n))return a[l]}}},getSelectedFrame:()=>{var r,o,s;const n=(o=(r=t().dashboard)==null?void 0:r.sheets)==null?void 0:o.find(i=>i.id===t().selectedSheetId);return(s=n==null?void 0:n.frames)==null?void 0:s.find(i=>i.id===t().selectedFrameId)},getCard:n=>{var o,s;const r=(o=t().dashboard)==null?void 0:o.sheets;if(r)for(let i=0;i<r.length;i++){const a=r[i].frames;if(a)for(let l=0;l<a.length;l++){const c=(s=a[l].cards)==null?void 0:s.find(u=>u.id===n);if(c)return c}}},getSelectedSheetLayout:()=>{var r,o;const n=(o=(r=t().dashboard)==null?void 0:r.sheets)==null?void 0:o.find(s=>s.id===t().selectedSheetId);return n==null?void 0:n.layout},getSelectedSheetLayouts:()=>{var r,o;const n=(o=(r=t().dashboard)==null?void 0:r.sheets)==null?void 0:o.find(s=>s.id===t().selectedSheetId);return n==null?void 0:n.layouts},getStyle:()=>{var n;return(n=t().dashboard)==null?void 0:n.style},getCardSheet(n){var o,s;const r=(o=t().dashboard)==null?void 0:o.sheets;if(r)for(let i=0;i<r.length;i++){const a=r[i].frames;if(a){for(let l=0;l<a.length;l++)if((s=a[l].cards)==null?void 0:s.find(u=>u.id===n))return r[i]}}},handleDataPointClickAction:(n,r)=>{Nte({card:n,dataPoint:r,get:t})},setIsDashboardPanelOpen:n=>{e(()=>({isDashboardPanelOpen:n}))},updateCardId:(n,r)=>{const o=t(),s=_te(r);return s.isValid?OP(o.dashboard,r,n)?(e(i=>{var l;const a=i.dashboard.sheets||[];for(const c of a){const u=c.frames||[];for(const f of u){const h=f.cards||[];for(let p=0;p<h.length;p++)h[p].id===n&&(h[p].id=r);f.activeCardId===n&&(f.activeCardId=r)}}i.selectedCardId===n&&(i.selectedCardId=r),((l=i.selectedCard)==null?void 0:l.id)===n&&(i.selectedCard.id=r)}),{success:!0}):{success:!1,error:"This Card ID already exists in the dashboard"}:{success:!1,error:s.error}},isCardIdUnique:(n,r)=>OP(t().dashboard,n,r)}}))),n3=()=>ee(t=>{var s,i,a,l,c;const n=(i=(s=t.dashboard)==null?void 0:s.sheets)==null?void 0:i.find(u=>u.id===t.selectedSheetId),r=(a=n==null?void 0:n.frames)==null?void 0:a.find(u=>u.id===t.selectedFrameId);return((l=r==null?void 0:r.cards)==null?void 0:l.find(u=>u.id===(r==null?void 0:r.activeCardId)))||((c=r==null?void 0:r.cards)==null?void 0:c[0])}),r3=()=>{var n;const e=ee(r=>{var o,s;return(s=(o=r.dashboard)==null?void 0:o.sheets)==null?void 0:s.find(i=>i.id===r.selectedSheetId)});return(((n=e==null?void 0:e.frames)==null?void 0:n.map(r=>{var o;return(o=r.cards)==null?void 0:o.find(s=>s.id===r.activeCardId)}))||[]).filter(r=>r!==void 0)},o3=()=>{var t,n,r;const e=n3();return{metricFields:((t=e==null?void 0:e.config)==null?void 0:t.metricColumns)||[],groupByFields:((n=e==null?void 0:e.config)==null?void 0:n.groupByColumns)||[],pivotByFields:((r=e==null?void 0:e.config)==null?void 0:r.pivotByColumns)||[]}},en=()=>ee(e=>e.actions);async function Rte(e,t){const n=t.slice(0,16),r=new TextEncoder,o=await window.crypto.subtle.importKey("raw",r.encode(n),{name:"PBKDF2"},!1,["deriveKey"]),s=await window.crypto.subtle.deriveKey({name:"PBKDF2",salt:r.encode(n),iterations:1e5,hash:"SHA-256"},o,{name:"AES-GCM",length:256},!1,["encrypt"]),i=window.crypto.getRandomValues(new Uint8Array(12)),a=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:i},s,r.encode(e)),l=new Uint8Array(i.length+a.byteLength);return l.set(i,0),l.set(new Uint8Array(a),i.length),{payload:btoa(String.fromCharCode(...l))}}async function s3(e,t){const n=t.slice(0,16),r=new TextEncoder,o=new TextDecoder,s=await window.crypto.subtle.importKey("raw",r.encode(n),{name:"PBKDF2"},!1,["deriveKey"]),i=await window.crypto.subtle.deriveKey({name:"PBKDF2",salt:r.encode(n),iterations:1e5,hash:"SHA-256"},s,{name:"AES-GCM",length:256},!1,["decrypt"]),a=Uint8Array.from(atob(e),h=>h.charCodeAt(0)),l=a.slice(0,12),c=a.slice(a.length-16),u=a.slice(12,a.length-16),f=new Uint8Array(u.length+c.length);f.set(u),f.set(c,u.length);try{const h=await window.crypto.subtle.decrypt({name:"AES-GCM",iv:l},i,f);return{decryptedData:o.decode(h)}}catch(h){throw new Error(`Decryption failed: ${h}`)}}function K(...e){return $ee(wu(e))}const Mte=e=>Object.keys(e).length===0;async function Ln(e,t,n={}){try{const r=new URLSearchParams(n).toString(),o=`${e}?${r}`,s=await fetch(o,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`}});if(!s.ok){const a=await s.json();throw new Error((a==null?void 0:a.error)||`HTTP error! status: ${s.status}`)}return await s.json()}catch(r){throw console.error("Error during fetch:",r),r}}async function i3(e,t,n={}){try{const r=JSON.stringify(n),o=await Rte(r,t),s=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},body:JSON.stringify(o)});if(!s.ok)throw await s.json();const i=await s.json();if(i.payload){const a=await s3(i.payload,t);return JSON.parse(a.decryptedData)}return i}catch(r){throw console.error("Error during fetch:",r),r}}async function rc(e,t,n={},r="POST"){try{const o=await fetch(e,{method:r,headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},body:JSON.stringify(n)});if(!o.ok)throw await o.json();return await o.json()}catch(o){throw console.error("Error during fetch:",o),o}}function Dte(e){return e?Rv(e).assistantProfileId:void 0}function Pte(e){if(!e)return;const t=Rv(e);if(t.params&&t.params.currencyFormat)return t.params.currencyFormat}function a3(e){return e?Rv(e).params:void 0}function Fv(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Li(e){return e.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substring(1).toLowerCase())}function i_(e){return e.replace(/[_-]+/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase())}const Ar="focus:ring-1 focus:ring-offset-0 focus-visible:ring-1 focus-visible:ring-offset-0",Jd="focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0 focus:ring-0 focus:ring-ring focus:ring-offset-0";async function Tte(e){var s,i;const t=(i=(s=ee.getState())==null?void 0:s.authToken)==null?void 0:i.accessToken;if(!t)return;const n=`${e}/v1/invalidate-token`,r=await fetch(n,{method:"POST",headers:{Authorization:`Bearer ${t}`}});if(!r.ok)throw new Error("Failed to invalidate token");const o=await r.json();return console.log("invalidateToken",o),o}async function Ate(e,t,n={}){if(!t)return null;let r=`${e}/v1/dashboard`;const o=Object.fromEntries(Object.entries(n).filter(([l,c])=>c!==void 0)),s=new URLSearchParams(o).toString();s&&(r+=`?${s}`);let a=await(await fetch(r,{headers:{Authorization:`Bearer ${t}`}})).json();if("payload"in a){const l=await s3(atob(a.payload),t);a=JSON.parse(l.decryptedData)}return a}async function Ite(e,t){if(!t)return null;const n=`${e}/v1/plugins`;return await(await fetch(n,{headers:{Authorization:`Bearer ${t}`}})).json()}const $v=e=>/boolean/i.test(e)?"boolean":/date|timestamp/i.test(e)?"date":/int|decimal|float|double|num|real/i.test(e)?"number":/json/i.test(e)?"json":/geo|geography|geometry/i.test(e)?"geo":"string";var B0={exports:{}};B0.exports;(function(e,t){var n=200,r="__lodash_hash_undefined__",o=800,s=16,i=9007199254740991,a="[object Arguments]",l="[object Array]",c="[object AsyncFunction]",u="[object Boolean]",f="[object Date]",h="[object Error]",p="[object Function]",m="[object GeneratorFunction]",g="[object Map]",y="[object Number]",b="[object Null]",x="[object Object]",v="[object Proxy]",w="[object RegExp]",S="[object Set]",E="[object String]",C="[object Undefined]",_="[object WeakMap]",j="[object ArrayBuffer]",R="[object DataView]",P="[object Float32Array]",M="[object Float64Array]",O="[object Int8Array]",I="[object Int16Array]",A="[object Int32Array]",F="[object Uint8Array]",H="[object Uint8ClampedArray]",W="[object Uint16Array]",$="[object Uint32Array]",T=/[\\^$.*+?()[\]{}|]/g,B=/^\[object .+?Constructor\]$/,z=/^(?:0|[1-9]\d*)$/,D={};D[P]=D[M]=D[O]=D[I]=D[A]=D[F]=D[H]=D[W]=D[$]=!0,D[a]=D[l]=D[j]=D[u]=D[R]=D[f]=D[h]=D[p]=D[g]=D[y]=D[x]=D[w]=D[S]=D[E]=D[_]=!1;var U=typeof _a=="object"&&_a&&_a.Object===Object&&_a,G=typeof self=="object"&&self&&self.Object===Object&&self,Z=U||G||Function("return this")(),V=t&&!t.nodeType&&t,L=V&&!0&&e&&!e.nodeType&&e,q=L&&L.exports===V,Y=q&&U.process,ne=function(){try{var X=L&&L.require&&L.require("util").types;return X||Y&&Y.binding&&Y.binding("util")}catch{}}(),Q=ne&&ne.isTypedArray;function le(X,re,ue){switch(ue.length){case 0:return X.call(re);case 1:return X.call(re,ue[0]);case 2:return X.call(re,ue[0],ue[1]);case 3:return X.call(re,ue[0],ue[1],ue[2])}return X.apply(re,ue)}function te(X,re){for(var ue=-1,Le=Array(X);++ue<X;)Le[ue]=re(ue);return Le}function se(X){return function(re){return X(re)}}function oe(X,re){return X==null?void 0:X[re]}function Ce(X,re){return function(ue){return X(re(ue))}}var de=Array.prototype,ye=Function.prototype,Pe=Object.prototype,it=Z["__core-js_shared__"],Ve=ye.toString,We=Pe.hasOwnProperty,wn=function(){var X=/[^.]+$/.exec(it&&it.keys&&it.keys.IE_PROTO||"");return X?"Symbol(src)_1."+X:""}(),Mn=Pe.toString,ie=Ve.call(Object),be=RegExp("^"+Ve.call(We).replace(T,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Me=q?Z.Buffer:void 0,Be=Z.Symbol,Ze=Z.Uint8Array;Me&&Me.allocUnsafe;var Ct=Ce(Object.getPrototypeOf,Object),sn=Object.create,zt=Pe.propertyIsEnumerable,Yt=de.splice,xe=Be?Be.toStringTag:void 0,bt=function(){try{var X=X1(Object,"defineProperty");return X({},"",{}),X}catch{}}(),bn=Me?Me.isBuffer:void 0,ce=Math.max,ge=Date.now,je=X1(Z,"Map"),Ee=X1(Object,"create"),Re=function(){function X(){}return function(re){if(!bc(re))return{};if(sn)return sn(re);X.prototype=re;var ue=new X;return X.prototype=void 0,ue}}();function ze(X){var re=-1,ue=X==null?0:X.length;for(this.clear();++re<ue;){var Le=X[re];this.set(Le[0],Le[1])}}function Ie(){this.__data__=Ee?Ee(null):{},this.size=0}function Fe(X){var re=this.has(X)&&delete this.__data__[X];return this.size-=re?1:0,re}function Ye(X){var re=this.__data__;if(Ee){var ue=re[X];return ue===r?void 0:ue}return We.call(re,X)?re[X]:void 0}function et(X){var re=this.__data__;return Ee?re[X]!==void 0:We.call(re,X)}function Vt(X,re){var ue=this.__data__;return this.size+=this.has(X)?0:1,ue[X]=Ee&&re===void 0?r:re,this}ze.prototype.clear=Ie,ze.prototype.delete=Fe,ze.prototype.get=Ye,ze.prototype.has=et,ze.prototype.set=Vt;function Mt(X){var re=-1,ue=X==null?0:X.length;for(this.clear();++re<ue;){var Le=X[re];this.set(Le[0],Le[1])}}function Ht(){this.__data__=[],this.size=0}function Xn(X){var re=this.__data__,ue=Tb(re,X);if(ue<0)return!1;var Le=re.length-1;return ue==Le?re.pop():Yt.call(re,ue,1),--this.size,!0}function un(X){var re=this.__data__,ue=Tb(re,X);return ue<0?void 0:re[ue][1]}function In(X){return Tb(this.__data__,X)>-1}function gi(X,re){var ue=this.__data__,Le=Tb(ue,X);return Le<0?(++this.size,ue.push([X,re])):ue[Le][1]=re,this}Mt.prototype.clear=Ht,Mt.prototype.delete=Xn,Mt.prototype.get=un,Mt.prototype.has=In,Mt.prototype.set=gi;function Zr(X){var re=-1,ue=X==null?0:X.length;for(this.clear();++re<ue;){var Le=X[re];this.set(Le[0],Le[1])}}function Mo(){this.size=0,this.__data__={hash:new ze,map:new(je||Mt),string:new ze}}function bi(X){var re=Ib(this,X).delete(X);return this.size-=re?1:0,re}function ol(X){return Ib(this,X).get(X)}function yJ(X){return Ib(this,X).has(X)}function xJ(X,re){var ue=Ib(this,X),Le=ue.size;return ue.set(X,re),this.size+=ue.size==Le?0:1,this}Zr.prototype.clear=Mo,Zr.prototype.delete=bi,Zr.prototype.get=ol,Zr.prototype.has=yJ,Zr.prototype.set=xJ;function ud(X){var re=this.__data__=new Mt(X);this.size=re.size}function vJ(){this.__data__=new Mt,this.size=0}function wJ(X){var re=this.__data__,ue=re.delete(X);return this.size=re.size,ue}function SJ(X){return this.__data__.get(X)}function CJ(X){return this.__data__.has(X)}function EJ(X,re){var ue=this.__data__;if(ue instanceof Mt){var Le=ue.__data__;if(!je||Le.length<n-1)return Le.push([X,re]),this.size=++ue.size,this;ue=this.__data__=new Zr(Le)}return ue.set(X,re),this.size=ue.size,this}ud.prototype.clear=vJ,ud.prototype.delete=wJ,ud.prototype.get=SJ,ud.prototype.has=CJ,ud.prototype.set=EJ;function NJ(X,re){var ue=eS(X),Le=!ue&&J1(X),Ot=!ue&&!Le&&uP(X),dn=!ue&&!Le&&!Ot&&fP(X),Dn=ue||Le||Ot||dn,Ut=Dn?te(X.length,String):[],Pn=Ut.length;for(var Ts in X)Dn&&(Ts=="length"||Ot&&(Ts=="offset"||Ts=="parent")||dn&&(Ts=="buffer"||Ts=="byteLength"||Ts=="byteOffset")||lP(Ts,Pn))||Ut.push(Ts);return Ut}function Z1(X,re,ue){(ue!==void 0&&!Ob(X[re],ue)||ue===void 0&&!(re in X))&&K1(X,re,ue)}function kJ(X,re,ue){var Le=X[re];(!(We.call(X,re)&&Ob(Le,ue))||ue===void 0&&!(re in X))&&K1(X,re,ue)}function Tb(X,re){for(var ue=X.length;ue--;)if(Ob(X[ue][0],re))return ue;return-1}function K1(X,re,ue){re=="__proto__"&&bt?bt(X,re,{configurable:!0,enumerable:!0,value:ue,writable:!0}):X[re]=ue}var _J=zJ();function Ab(X){return X==null?X===void 0?C:b:xe&&xe in Object(X)?BJ(X):GJ(X)}function iP(X){return Vh(X)&&Ab(X)==a}function jJ(X){if(!bc(X)||WJ(X))return!1;var re=nS(X)?be:B;return re.test(XJ(X))}function RJ(X){return Vh(X)&&dP(X.length)&&!!D[Ab(X)]}function MJ(X){if(!bc(X))return qJ(X);var re=cP(X),ue=[];for(var Le in X)Le=="constructor"&&(re||!We.call(X,Le))||ue.push(Le);return ue}function aP(X,re,ue,Le,Ot){X!==re&&_J(re,function(dn,Dn){if(Ot||(Ot=new ud),bc(dn))DJ(X,re,Dn,ue,aP,Le,Ot);else{var Ut=Le?Le(Q1(X,Dn),dn,Dn+"",X,re,Ot):void 0;Ut===void 0&&(Ut=dn),Z1(X,Dn,Ut)}},hP)}function DJ(X,re,ue,Le,Ot,dn,Dn){var Ut=Q1(X,ue),Pn=Q1(re,ue),Ts=Dn.get(Pn);if(Ts){Z1(X,ue,Ts);return}var Do=dn?dn(Ut,Pn,ue+"",X,re,Dn):void 0,Hh=Do===void 0;if(Hh){var rS=eS(Pn),oS=!rS&&uP(Pn),mP=!rS&&!oS&&fP(Pn);Do=Pn,rS||oS||mP?eS(Ut)?Do=Ut:QJ(Ut)?Do=FJ(Ut):oS?(Hh=!1,Do=AJ(Pn)):mP?(Hh=!1,Do=OJ(Pn)):Do=[]:JJ(Pn)||J1(Pn)?(Do=Ut,J1(Ut)?Do=eee(Ut):(!bc(Ut)||nS(Ut))&&(Do=VJ(Pn))):Hh=!1}Hh&&(Dn.set(Pn,Do),Ot(Do,Pn,Le,dn,Dn),Dn.delete(Pn)),Z1(X,ue,Do)}function PJ(X,re){return ZJ(YJ(X,re,pP),X+"")}var TJ=bt?function(X,re){return bt(X,"toString",{configurable:!0,enumerable:!1,value:nee(re),writable:!0})}:pP;function AJ(X,re){return X.slice()}function IJ(X){var re=new X.constructor(X.byteLength);return new Ze(re).set(new Ze(X)),re}function OJ(X,re){var ue=IJ(X.buffer);return new X.constructor(ue,X.byteOffset,X.length)}function FJ(X,re){var ue=-1,Le=X.length;for(re||(re=Array(Le));++ue<Le;)re[ue]=X[ue];return re}function $J(X,re,ue,Le){var Ot=!ue;ue||(ue={});for(var dn=-1,Dn=re.length;++dn<Dn;){var Ut=re[dn],Pn=void 0;Pn===void 0&&(Pn=X[Ut]),Ot?K1(ue,Ut,Pn):kJ(ue,Ut,Pn)}return ue}function LJ(X){return PJ(function(re,ue){var Le=-1,Ot=ue.length,dn=Ot>1?ue[Ot-1]:void 0,Dn=Ot>2?ue[2]:void 0;for(dn=X.length>3&&typeof dn=="function"?(Ot--,dn):void 0,Dn&&HJ(ue[0],ue[1],Dn)&&(dn=Ot<3?void 0:dn,Ot=1),re=Object(re);++Le<Ot;){var Ut=ue[Le];Ut&&X(re,Ut,Le,dn)}return re})}function zJ(X){return function(re,ue,Le){for(var Ot=-1,dn=Object(re),Dn=Le(re),Ut=Dn.length;Ut--;){var Pn=Dn[++Ot];if(ue(dn[Pn],Pn,dn)===!1)break}return re}}function Ib(X,re){var ue=X.__data__;return UJ(re)?ue[typeof re=="string"?"string":"hash"]:ue.map}function X1(X,re){var ue=oe(X,re);return jJ(ue)?ue:void 0}function BJ(X){var re=We.call(X,xe),ue=X[xe];try{X[xe]=void 0;var Le=!0}catch{}var Ot=Mn.call(X);return Le&&(re?X[xe]=ue:delete X[xe]),Ot}function VJ(X){return typeof X.constructor=="function"&&!cP(X)?Re(Ct(X)):{}}function lP(X,re){var ue=typeof X;return re=re??i,!!re&&(ue=="number"||ue!="symbol"&&z.test(X))&&X>-1&&X%1==0&&X<re}function HJ(X,re,ue){if(!bc(ue))return!1;var Le=typeof re;return(Le=="number"?tS(ue)&&lP(re,ue.length):Le=="string"&&re in ue)?Ob(ue[re],X):!1}function UJ(X){var re=typeof X;return re=="string"||re=="number"||re=="symbol"||re=="boolean"?X!=="__proto__":X===null}function WJ(X){return!!wn&&wn in X}function cP(X){var re=X&&X.constructor,ue=typeof re=="function"&&re.prototype||Pe;return X===ue}function qJ(X){var re=[];if(X!=null)for(var ue in Object(X))re.push(ue);return re}function GJ(X){return Mn.call(X)}function YJ(X,re,ue){return re=ce(re===void 0?X.length-1:re,0),function(){for(var Le=arguments,Ot=-1,dn=ce(Le.length-re,0),Dn=Array(dn);++Ot<dn;)Dn[Ot]=Le[re+Ot];Ot=-1;for(var Ut=Array(re+1);++Ot<re;)Ut[Ot]=Le[Ot];return Ut[re]=ue(Dn),le(X,this,Ut)}}function Q1(X,re){if(!(re==="constructor"&&typeof X[re]=="function")&&re!="__proto__")return X[re]}var ZJ=KJ(TJ);function KJ(X){var re=0,ue=0;return function(){var Le=ge(),Ot=s-(Le-ue);if(ue=Le,Ot>0){if(++re>=o)return arguments[0]}else re=0;return X.apply(void 0,arguments)}}function XJ(X){if(X!=null){try{return Ve.call(X)}catch{}try{return X+""}catch{}}return""}function Ob(X,re){return X===re||X!==X&&re!==re}var J1=iP(function(){return arguments}())?iP:function(X){return Vh(X)&&We.call(X,"callee")&&!zt.call(X,"callee")},eS=Array.isArray;function tS(X){return X!=null&&dP(X.length)&&!nS(X)}function QJ(X){return Vh(X)&&tS(X)}var uP=bn||ree;function nS(X){if(!bc(X))return!1;var re=Ab(X);return re==p||re==m||re==c||re==v}function dP(X){return typeof X=="number"&&X>-1&&X%1==0&&X<=i}function bc(X){var re=typeof X;return X!=null&&(re=="object"||re=="function")}function Vh(X){return X!=null&&typeof X=="object"}function JJ(X){if(!Vh(X)||Ab(X)!=x)return!1;var re=Ct(X);if(re===null)return!0;var ue=We.call(re,"constructor")&&re.constructor;return typeof ue=="function"&&ue instanceof ue&&Ve.call(ue)==ie}var fP=Q?se(Q):RJ;function eee(X){return $J(X,hP(X))}function hP(X){return tS(X)?NJ(X):MJ(X)}var tee=LJ(function(X,re,ue){aP(X,re,ue)});function nee(X){return function(){return X}}function pP(X){return X}function ree(){return!1}e.exports=tee})(B0,B0.exports);var Ote=B0.exports;const xm=Hu(Ote),Fte={theme:"system",setTheme:()=>null},l3=N.createContext(Fte);function $te({children:e,defaultTheme:t="system",storageKey:n="vite-ui-theme",...r}){const[o,s]=N.useState(()=>localStorage.getItem(n)||t);N.useEffect(()=>{const a=window.document.documentElement;if(a.classList.remove("light","dark"),o==="system"){const l=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";a.classList.add(l);return}a.classList.add(o)},[o]);const i={theme:o,setTheme:a=>{localStorage.setItem(n,a),s(a)}};return d.jsx(l3.Provider,{...r,value:i,children:e})}const a_=()=>{const e=N.useContext(l3);if(e===void 0)throw new Error("useTheme must be used within a ThemeProvider");return e};var Wu=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Eu=typeof window>"u"||"Deno"in globalThis;function ds(){}function Lte(e,t){return typeof e=="function"?e(t):e}function YE(e){return typeof e=="number"&&e>=0&&e!==1/0}function c3(e,t){return Math.max(e+(t||0)-Date.now(),0)}function ef(e,t){return typeof e=="function"?e(t):e}function Bs(e,t){return typeof e=="function"?e(t):e}function FP(e,t){const{type:n="all",exact:r,fetchStatus:o,predicate:s,queryKey:i,stale:a}=e;if(i){if(r){if(t.queryHash!==l_(i,t.options))return!1}else if(!vm(t.queryKey,i))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof a=="boolean"&&t.isStale()!==a||o&&o!==t.state.fetchStatus||s&&!s(t))}function $P(e,t){const{exact:n,status:r,predicate:o,mutationKey:s}=e;if(s){if(!t.options.mutationKey)return!1;if(n){if(Nu(t.options.mutationKey)!==Nu(s))return!1}else if(!vm(t.options.mutationKey,s))return!1}return!(r&&t.state.status!==r||o&&!o(t))}function l_(e,t){return((t==null?void 0:t.queryKeyHashFn)||Nu)(e)}function Nu(e){return JSON.stringify(e,(t,n)=>ZE(n)?Object.keys(n).sort().reduce((r,o)=>(r[o]=n[o],r),{}):n)}function vm(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(n=>!vm(e[n],t[n])):!1}function V0(e,t){if(e===t)return e;const n=LP(e)&&LP(t);if(n||ZE(e)&&ZE(t)){const r=n?e:Object.keys(e),o=r.length,s=n?t:Object.keys(t),i=s.length,a=n?[]:{};let l=0;for(let c=0;c<i;c++){const u=n?c:s[c];(!n&&r.includes(u)||n)&&e[u]===void 0&&t[u]===void 0?(a[u]=void 0,l++):(a[u]=V0(e[u],t[u]),a[u]===e[u]&&e[u]!==void 0&&l++)}return o===i&&l===o?e:a}return t}function H0(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function LP(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function ZE(e){if(!zP(e))return!1;const t=e.constructor;if(t===void 0)return!0;const n=t.prototype;return!(!zP(n)||!n.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function zP(e){return Object.prototype.toString.call(e)==="[object Object]"}function zte(e){return new Promise(t=>{setTimeout(t,e)})}function KE(e,t,n){if(typeof n.structuralSharing=="function")return n.structuralSharing(e,t);if(n.structuralSharing!==!1){if(process.env.NODE_ENV!=="production")try{return V0(e,t)}catch(r){console.error(`Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${n.queryHash}]: ${r}`)}return V0(e,t)}return t}function Bte(e){return e}function Vte(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}function Hte(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var U0=Symbol();function u3(e,t){return process.env.NODE_ENV!=="production"&&e.queryFn===U0&&console.error(`Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${e.queryHash}'`),!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===U0?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}var Zc,xl,bf,k$,Ute=(k$=class extends Wu{constructor(){super();Oe(this,Zc);Oe(this,xl);Oe(this,bf);ke(this,bf,t=>{if(!Eu&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){J(this,xl)||this.setEventListener(J(this,bf))}onUnsubscribe(){var t;this.hasListeners()||((t=J(this,xl))==null||t.call(this),ke(this,xl,void 0))}setEventListener(t){var n;ke(this,bf,t),(n=J(this,xl))==null||n.call(this),ke(this,xl,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){J(this,Zc)!==t&&(ke(this,Zc,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(n=>{n(t)})}isFocused(){var t;return typeof J(this,Zc)=="boolean"?J(this,Zc):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},Zc=new WeakMap,xl=new WeakMap,bf=new WeakMap,k$),c_=new Ute,yf,vl,xf,_$,Wte=(_$=class extends Wu{constructor(){super();Oe(this,yf,!0);Oe(this,vl);Oe(this,xf);ke(this,xf,t=>{if(!Eu&&window.addEventListener){const n=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){J(this,vl)||this.setEventListener(J(this,xf))}onUnsubscribe(){var t;this.hasListeners()||((t=J(this,vl))==null||t.call(this),ke(this,vl,void 0))}setEventListener(t){var n;ke(this,xf,t),(n=J(this,vl))==null||n.call(this),ke(this,vl,t(this.setOnline.bind(this)))}setOnline(t){J(this,yf)!==t&&(ke(this,yf,t),this.listeners.forEach(r=>{r(t)}))}isOnline(){return J(this,yf)}},yf=new WeakMap,vl=new WeakMap,xf=new WeakMap,_$),W0=new Wte;function XE(){let e,t;const n=new Promise((o,s)=>{e=o,t=s});n.status="pending",n.catch(()=>{});function r(o){Object.assign(n,o),delete n.resolve,delete n.reject}return n.resolve=o=>{r({status:"fulfilled",value:o}),e(o)},n.reject=o=>{r({status:"rejected",reason:o}),t(o)},n}function qte(e){return Math.min(1e3*2**e,3e4)}function d3(e){return(e??"online")==="online"?W0.isOnline():!0}var f3=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function pS(e){return e instanceof f3}function h3(e){let t=!1,n=0,r=!1,o;const s=XE(),i=g=>{var y;r||(h(new f3(g)),(y=e.abort)==null||y.call(e))},a=()=>{t=!0},l=()=>{t=!1},c=()=>c_.isFocused()&&(e.networkMode==="always"||W0.isOnline())&&e.canRun(),u=()=>d3(e.networkMode)&&e.canRun(),f=g=>{var y;r||(r=!0,(y=e.onSuccess)==null||y.call(e,g),o==null||o(),s.resolve(g))},h=g=>{var y;r||(r=!0,(y=e.onError)==null||y.call(e,g),o==null||o(),s.reject(g))},p=()=>new Promise(g=>{var y;o=b=>{(r||c())&&g(b)},(y=e.onPause)==null||y.call(e)}).then(()=>{var g;o=void 0,r||(g=e.onContinue)==null||g.call(e)}),m=()=>{if(r)return;let g;const y=n===0?e.initialPromise:void 0;try{g=y??e.fn()}catch(b){g=Promise.reject(b)}Promise.resolve(g).then(f).catch(b=>{var E;if(r)return;const x=e.retry??(Eu?0:3),v=e.retryDelay??qte,w=typeof v=="function"?v(n,b):v,S=x===!0||typeof x=="number"&&n<x||typeof x=="function"&&x(n,b);if(t||!S){h(b);return}n++,(E=e.onFail)==null||E.call(e,n,b),zte(w).then(()=>c()?void 0:p()).then(()=>{t?h(b):m()})})};return{promise:s,cancel:i,continue:()=>(o==null||o(),s),cancelRetry:a,continueRetry:l,canStart:u,start:()=>(u()?m():p().then(m),s)}}function Gte(){let e=[],t=0,n=a=>{a()},r=a=>{a()},o=a=>setTimeout(a,0);const s=a=>{t?e.push(a):o(()=>{n(a)})},i=()=>{const a=e;e=[],a.length&&o(()=>{r(()=>{a.forEach(l=>{n(l)})})})};return{batch:a=>{let l;t++;try{l=a()}finally{t--,t||i()}return l},batchCalls:a=>(...l)=>{s(()=>{a(...l)})},schedule:s,setNotifyFunction:a=>{n=a},setBatchNotifyFunction:a=>{r=a},setScheduler:a=>{o=a}}}var Un=Gte(),Kc,j$,p3=(j$=class{constructor(){Oe(this,Kc)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),YE(this.gcTime)&&ke(this,Kc,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Eu?1/0:5*60*1e3))}clearGcTimeout(){J(this,Kc)&&(clearTimeout(J(this,Kc)),ke(this,Kc,void 0))}},Kc=new WeakMap,j$),vf,wf,ls,Xc,Or,vg,Qc,Ls,ma,R$,Yte=(R$=class extends p3{constructor(t){super();Oe(this,Ls);Oe(this,vf);Oe(this,wf);Oe(this,ls);Oe(this,Xc);Oe(this,Or);Oe(this,vg);Oe(this,Qc);ke(this,Qc,!1),ke(this,vg,t.defaultOptions),this.setOptions(t.options),this.observers=[],ke(this,Xc,t.client),ke(this,ls,J(this,Xc).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,ke(this,vf,Zte(this.options)),this.state=t.state??J(this,vf),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var t;return(t=J(this,Or))==null?void 0:t.promise}setOptions(t){this.options={...J(this,vg),...t},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&J(this,ls).remove(this)}setData(t,n){const r=KE(this.state.data,t,this.options);return Ke(this,Ls,ma).call(this,{data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t,n){Ke(this,Ls,ma).call(this,{type:"setState",state:t,setStateOptions:n})}cancel(t){var r,o;const n=(r=J(this,Or))==null?void 0:r.promise;return(o=J(this,Or))==null||o.cancel(t),n?n.then(ds).catch(ds):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(J(this,vf))}isActive(){return this.observers.some(t=>Bs(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===U0||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStale(){return this.state.isInvalidated?!0:this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0}isStaleByTime(t=0){return this.state.isInvalidated||this.state.data===void 0||!c3(this.state.dataUpdatedAt,t)}onFocus(){var n;const t=this.observers.find(r=>r.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(n=J(this,Or))==null||n.continue()}onOnline(){var n;const t=this.observers.find(r=>r.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(n=J(this,Or))==null||n.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),J(this,ls).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(J(this,Or)&&(J(this,Qc)?J(this,Or).cancel({revert:!0}):J(this,Or).cancelRetry()),this.scheduleGc()),J(this,ls).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||Ke(this,Ls,ma).call(this,{type:"invalidate"})}fetch(t,n){var l,c,u;if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(J(this,Or))return J(this,Or).continueRetry(),J(this,Or).promise}if(t&&this.setOptions(t),!this.options.queryFn){const f=this.observers.find(h=>h.options.queryFn);f&&this.setOptions(f.options)}process.env.NODE_ENV!=="production"&&(Array.isArray(this.options.queryKey)||console.error("As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']"));const r=new AbortController,o=f=>{Object.defineProperty(f,"signal",{enumerable:!0,get:()=>(ke(this,Qc,!0),r.signal)})},s=()=>{const f=u3(this.options,n),h={client:J(this,Xc),queryKey:this.queryKey,meta:this.meta};return o(h),ke(this,Qc,!1),this.options.persister?this.options.persister(f,h,this):f(h)},i={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:J(this,Xc),state:this.state,fetchFn:s};o(i),(l=this.options.behavior)==null||l.onFetch(i,this),ke(this,wf,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((c=i.fetchOptions)==null?void 0:c.meta))&&Ke(this,Ls,ma).call(this,{type:"fetch",meta:(u=i.fetchOptions)==null?void 0:u.meta});const a=f=>{var h,p,m,g;pS(f)&&f.silent||Ke(this,Ls,ma).call(this,{type:"error",error:f}),pS(f)||((p=(h=J(this,ls).config).onError)==null||p.call(h,f,this),(g=(m=J(this,ls).config).onSettled)==null||g.call(m,this.state.data,f,this)),this.scheduleGc()};return ke(this,Or,h3({initialPromise:n==null?void 0:n.initialPromise,fn:i.fetchFn,abort:r.abort.bind(r),onSuccess:f=>{var h,p,m,g;if(f===void 0){process.env.NODE_ENV!=="production"&&console.error(`Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`),a(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(f)}catch(y){a(y);return}(p=(h=J(this,ls).config).onSuccess)==null||p.call(h,f,this),(g=(m=J(this,ls).config).onSettled)==null||g.call(m,f,this.state.error,this),this.scheduleGc()},onError:a,onFail:(f,h)=>{Ke(this,Ls,ma).call(this,{type:"failed",failureCount:f,error:h})},onPause:()=>{Ke(this,Ls,ma).call(this,{type:"pause"})},onContinue:()=>{Ke(this,Ls,ma).call(this,{type:"continue"})},retry:i.options.retry,retryDelay:i.options.retryDelay,networkMode:i.options.networkMode,canRun:()=>!0})),J(this,Or).start()}},vf=new WeakMap,wf=new WeakMap,ls=new WeakMap,Xc=new WeakMap,Or=new WeakMap,vg=new WeakMap,Qc=new WeakMap,Ls=new WeakSet,ma=function(t){const n=r=>{switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...m3(r.data,this.options),fetchMeta:t.meta??null};case"success":return{...r,data:t.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:t.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const o=t.error;return pS(o)&&o.revert&&J(this,wf)?{...J(this,wf),fetchStatus:"idle"}:{...r,error:o,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),Un.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),J(this,ls).notify({query:this,type:"updated",action:t})})},R$);function m3(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:d3(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function Zte(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var Ci,M$,g3=(M$=class extends Wu{constructor(t={}){super();Oe(this,Ci);this.config=t,ke(this,Ci,new Map)}build(t,n,r){const o=n.queryKey,s=n.queryHash??l_(o,n);let i=this.get(s);return i||(i=new Yte({client:t,queryKey:o,queryHash:s,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(o)}),this.add(i)),i}add(t){J(this,Ci).has(t.queryHash)||(J(this,Ci).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const n=J(this,Ci).get(t.queryHash);n&&(t.destroy(),n===t&&J(this,Ci).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Un.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return J(this,Ci).get(t)}getAll(){return[...J(this,Ci).values()]}find(t){const n={exact:!0,...t};return this.getAll().find(r=>FP(n,r))}findAll(t={}){const n=this.getAll();return Object.keys(t).length>0?n.filter(r=>FP(t,r)):n}notify(t){Un.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){Un.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Un.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Ci=new WeakMap,M$),Ei,Jr,Jc,Ni,fl,D$,Kte=(D$=class extends p3{constructor(t){super();Oe(this,Ni);Oe(this,Ei);Oe(this,Jr);Oe(this,Jc);this.mutationId=t.mutationId,ke(this,Jr,t.mutationCache),ke(this,Ei,[]),this.state=t.state||b3(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){J(this,Ei).includes(t)||(J(this,Ei).push(t),this.clearGcTimeout(),J(this,Jr).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){ke(this,Ei,J(this,Ei).filter(n=>n!==t)),this.scheduleGc(),J(this,Jr).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){J(this,Ei).length||(this.state.status==="pending"?this.scheduleGc():J(this,Jr).remove(this))}continue(){var t;return((t=J(this,Jc))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var o,s,i,a,l,c,u,f,h,p,m,g,y,b,x,v,w,S,E,C;ke(this,Jc,h3({fn:()=>this.options.mutationFn?this.options.mutationFn(t):Promise.reject(new Error("No mutationFn found")),onFail:(_,j)=>{Ke(this,Ni,fl).call(this,{type:"failed",failureCount:_,error:j})},onPause:()=>{Ke(this,Ni,fl).call(this,{type:"pause"})},onContinue:()=>{Ke(this,Ni,fl).call(this,{type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>J(this,Jr).canRun(this)}));const n=this.state.status==="pending",r=!J(this,Jc).canStart();try{if(!n){Ke(this,Ni,fl).call(this,{type:"pending",variables:t,isPaused:r}),await((s=(o=J(this,Jr).config).onMutate)==null?void 0:s.call(o,t,this));const j=await((a=(i=this.options).onMutate)==null?void 0:a.call(i,t));j!==this.state.context&&Ke(this,Ni,fl).call(this,{type:"pending",context:j,variables:t,isPaused:r})}const _=await J(this,Jc).start();return await((c=(l=J(this,Jr).config).onSuccess)==null?void 0:c.call(l,_,t,this.state.context,this)),await((f=(u=this.options).onSuccess)==null?void 0:f.call(u,_,t,this.state.context)),await((p=(h=J(this,Jr).config).onSettled)==null?void 0:p.call(h,_,null,this.state.variables,this.state.context,this)),await((g=(m=this.options).onSettled)==null?void 0:g.call(m,_,null,t,this.state.context)),Ke(this,Ni,fl).call(this,{type:"success",data:_}),_}catch(_){try{throw await((b=(y=J(this,Jr).config).onError)==null?void 0:b.call(y,_,t,this.state.context,this)),await((v=(x=this.options).onError)==null?void 0:v.call(x,_,t,this.state.context)),await((S=(w=J(this,Jr).config).onSettled)==null?void 0:S.call(w,void 0,_,this.state.variables,this.state.context,this)),await((C=(E=this.options).onSettled)==null?void 0:C.call(E,void 0,_,t,this.state.context)),_}finally{Ke(this,Ni,fl).call(this,{type:"error",error:_})}}finally{J(this,Jr).runNext(this)}}},Ei=new WeakMap,Jr=new WeakMap,Jc=new WeakMap,Ni=new WeakSet,fl=function(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=n(this.state),Un.batch(()=>{J(this,Ei).forEach(r=>{r.onMutationUpdate(t)}),J(this,Jr).notify({mutation:this,type:"updated",action:t})})},D$);function b3(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Sa,zs,wg,P$,Xte=(P$=class extends Wu{constructor(t={}){super();Oe(this,Sa);Oe(this,zs);Oe(this,wg);this.config=t,ke(this,Sa,new Set),ke(this,zs,new Map),ke(this,wg,0)}build(t,n,r){const o=new Kte({mutationCache:this,mutationId:++Fb(this,wg)._,options:t.defaultMutationOptions(n),state:r});return this.add(o),o}add(t){J(this,Sa).add(t);const n=zb(t);if(typeof n=="string"){const r=J(this,zs).get(n);r?r.push(t):J(this,zs).set(n,[t])}this.notify({type:"added",mutation:t})}remove(t){if(J(this,Sa).delete(t)){const n=zb(t);if(typeof n=="string"){const r=J(this,zs).get(n);if(r)if(r.length>1){const o=r.indexOf(t);o!==-1&&r.splice(o,1)}else r[0]===t&&J(this,zs).delete(n)}}this.notify({type:"removed",mutation:t})}canRun(t){const n=zb(t);if(typeof n=="string"){const r=J(this,zs).get(n),o=r==null?void 0:r.find(s=>s.state.status==="pending");return!o||o===t}else return!0}runNext(t){var r;const n=zb(t);if(typeof n=="string"){const o=(r=J(this,zs).get(n))==null?void 0:r.find(s=>s!==t&&s.state.isPaused);return(o==null?void 0:o.continue())??Promise.resolve()}else return Promise.resolve()}clear(){Un.batch(()=>{J(this,Sa).forEach(t=>{this.notify({type:"removed",mutation:t})}),J(this,Sa).clear(),J(this,zs).clear()})}getAll(){return Array.from(J(this,Sa))}find(t){const n={exact:!0,...t};return this.getAll().find(r=>$P(n,r))}findAll(t={}){return this.getAll().filter(n=>$P(t,n))}notify(t){Un.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){const t=this.getAll().filter(n=>n.state.isPaused);return Un.batch(()=>Promise.all(t.map(n=>n.continue().catch(ds))))}},Sa=new WeakMap,zs=new WeakMap,wg=new WeakMap,P$);function zb(e){var t;return(t=e.options.scope)==null?void 0:t.id}function BP(e){return{onFetch:(t,n)=>{var u,f,h,p,m;const r=t.options,o=(h=(f=(u=t.fetchOptions)==null?void 0:u.meta)==null?void 0:f.fetchMore)==null?void 0:h.direction,s=((p=t.state.data)==null?void 0:p.pages)||[],i=((m=t.state.data)==null?void 0:m.pageParams)||[];let a={pages:[],pageParams:[]},l=0;const c=async()=>{let g=!1;const y=v=>{Object.defineProperty(v,"signal",{enumerable:!0,get:()=>(t.signal.aborted?g=!0:t.signal.addEventListener("abort",()=>{g=!0}),t.signal)})},b=u3(t.options,t.fetchOptions),x=async(v,w,S)=>{if(g)return Promise.reject();if(w==null&&v.pages.length)return Promise.resolve(v);const E={client:t.client,queryKey:t.queryKey,pageParam:w,direction:S?"backward":"forward",meta:t.options.meta};y(E);const C=await b(E),{maxPages:_}=t.options,j=S?Hte:Vte;return{pages:j(v.pages,C,_),pageParams:j(v.pageParams,w,_)}};if(o&&s.length){const v=o==="backward",w=v?Qte:VP,S={pages:s,pageParams:i},E=w(r,S);a=await x(S,E,v)}else{const v=e??s.length;do{const w=l===0?i[0]??r.initialPageParam:VP(r,a);if(l>0&&w==null)break;a=await x(a,w),l++}while(l<v)}return a};t.options.persister?t.fetchFn=()=>{var g,y;return(y=(g=t.options).persister)==null?void 0:y.call(g,c,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=c}}}function VP(e,{pages:t,pageParams:n}){const r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function Qte(e,{pages:t,pageParams:n}){var r;return t.length>0?(r=e.getPreviousPageParam)==null?void 0:r.call(e,t[0],t,n[0],n):void 0}var Hn,wl,Sl,Sf,Cf,Cl,Ef,Nf,T$,Jte=(T$=class{constructor(e={}){Oe(this,Hn);Oe(this,wl);Oe(this,Sl);Oe(this,Sf);Oe(this,Cf);Oe(this,Cl);Oe(this,Ef);Oe(this,Nf);ke(this,Hn,e.queryCache||new g3),ke(this,wl,e.mutationCache||new Xte),ke(this,Sl,e.defaultOptions||{}),ke(this,Sf,new Map),ke(this,Cf,new Map),ke(this,Cl,0)}mount(){Fb(this,Cl)._++,J(this,Cl)===1&&(ke(this,Ef,c_.subscribe(async e=>{e&&(await this.resumePausedMutations(),J(this,Hn).onFocus())})),ke(this,Nf,W0.subscribe(async e=>{e&&(await this.resumePausedMutations(),J(this,Hn).onOnline())})))}unmount(){var e,t;Fb(this,Cl)._--,J(this,Cl)===0&&((e=J(this,Ef))==null||e.call(this),ke(this,Ef,void 0),(t=J(this,Nf))==null||t.call(this),ke(this,Nf,void 0))}isFetching(e){return J(this,Hn).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return J(this,wl).findAll({...e,status:"pending"}).length}getQueryData(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=J(this,Hn).get(t.queryHash))==null?void 0:n.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),n=J(this,Hn).build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(ef(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return J(this,Hn).findAll(e).map(({queryKey:t,state:n})=>{const r=n.data;return[t,r]})}setQueryData(e,t,n){const r=this.defaultQueryOptions({queryKey:e}),o=J(this,Hn).get(r.queryHash),s=o==null?void 0:o.state.data,i=Lte(t,s);if(i!==void 0)return J(this,Hn).build(this,r).setData(i,{...n,manual:!0})}setQueriesData(e,t,n){return Un.batch(()=>J(this,Hn).findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=J(this,Hn).get(t.queryHash))==null?void 0:n.state}removeQueries(e){const t=J(this,Hn);Un.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=J(this,Hn);return Un.batch(()=>(n.findAll(e).forEach(r=>{r.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const n={revert:!0,...t},r=Un.batch(()=>J(this,Hn).findAll(e).map(o=>o.cancel(n)));return Promise.all(r).then(ds).catch(ds)}invalidateQueries(e,t={}){return Un.batch(()=>(J(this,Hn).findAll(e).forEach(n=>{n.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const n={...t,cancelRefetch:t.cancelRefetch??!0},r=Un.batch(()=>J(this,Hn).findAll(e).filter(o=>!o.isDisabled()).map(o=>{let s=o.fetch(void 0,n);return n.throwOnError||(s=s.catch(ds)),o.state.fetchStatus==="paused"?Promise.resolve():s}));return Promise.all(r).then(ds)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const n=J(this,Hn).build(this,t);return n.isStaleByTime(ef(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(ds).catch(ds)}fetchInfiniteQuery(e){return e.behavior=BP(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(ds).catch(ds)}ensureInfiniteQueryData(e){return e.behavior=BP(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return W0.isOnline()?J(this,wl).resumePausedMutations():Promise.resolve()}getQueryCache(){return J(this,Hn)}getMutationCache(){return J(this,wl)}getDefaultOptions(){return J(this,Sl)}setDefaultOptions(e){ke(this,Sl,e)}setQueryDefaults(e,t){J(this,Sf).set(Nu(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...J(this,Sf).values()],n={};return t.forEach(r=>{vm(e,r.queryKey)&&Object.assign(n,r.defaultOptions)}),n}setMutationDefaults(e,t){J(this,Cf).set(Nu(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...J(this,Cf).values()],n={};return t.forEach(r=>{vm(e,r.mutationKey)&&Object.assign(n,r.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...J(this,Sl).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=l_(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===U0&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...J(this,Sl).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){J(this,Hn).clear(),J(this,wl).clear()}},Hn=new WeakMap,wl=new WeakMap,Sl=new WeakMap,Sf=new WeakMap,Cf=new WeakMap,Cl=new WeakMap,Ef=new WeakMap,Nf=new WeakMap,T$),xo,Dt,Sg,eo,eu,kf,El,ki,Cg,_f,jf,tu,nu,Nl,Rf,Jt,pp,QE,JE,e2,t2,n2,r2,o2,y3,A$,u_=(A$=class extends Wu{constructor(t,n){super();Oe(this,Jt);Oe(this,xo);Oe(this,Dt);Oe(this,Sg);Oe(this,eo);Oe(this,eu);Oe(this,kf);Oe(this,El);Oe(this,ki);Oe(this,Cg);Oe(this,_f);Oe(this,jf);Oe(this,tu);Oe(this,nu);Oe(this,Nl);Oe(this,Rf,new Set);this.options=n,ke(this,xo,t),ke(this,ki,null),ke(this,El,XE()),this.options.experimental_prefetchInRender||J(this,El).reject(new Error("experimental_prefetchInRender feature flag is not enabled")),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(J(this,Dt).addObserver(this),HP(J(this,Dt),this.options)?Ke(this,Jt,pp).call(this):this.updateResult(),Ke(this,Jt,t2).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return s2(J(this,Dt),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return s2(J(this,Dt),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,Ke(this,Jt,n2).call(this),Ke(this,Jt,r2).call(this),J(this,Dt).removeObserver(this)}setOptions(t,n){const r=this.options,o=J(this,Dt);if(this.options=J(this,xo).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Bs(this.options.enabled,J(this,Dt))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");Ke(this,Jt,o2).call(this),J(this,Dt).setOptions(this.options),r._defaulted&&!H0(this.options,r)&&J(this,xo).getQueryCache().notify({type:"observerOptionsUpdated",query:J(this,Dt),observer:this});const s=this.hasListeners();s&&UP(J(this,Dt),o,this.options,r)&&Ke(this,Jt,pp).call(this),this.updateResult(n),s&&(J(this,Dt)!==o||Bs(this.options.enabled,J(this,Dt))!==Bs(r.enabled,J(this,Dt))||ef(this.options.staleTime,J(this,Dt))!==ef(r.staleTime,J(this,Dt)))&&Ke(this,Jt,QE).call(this);const i=Ke(this,Jt,JE).call(this);s&&(J(this,Dt)!==o||Bs(this.options.enabled,J(this,Dt))!==Bs(r.enabled,J(this,Dt))||i!==J(this,Nl))&&Ke(this,Jt,e2).call(this,i)}getOptimisticResult(t){const n=J(this,xo).getQueryCache().build(J(this,xo),t),r=this.createResult(n,t);return tne(this,r)&&(ke(this,eo,r),ke(this,kf,this.options),ke(this,eu,J(this,Dt).state)),r}getCurrentResult(){return J(this,eo)}trackResult(t,n){const r={};return Object.keys(t).forEach(o=>{Object.defineProperty(r,o,{configurable:!1,enumerable:!0,get:()=>(this.trackProp(o),n==null||n(o),t[o])})}),r}trackProp(t){J(this,Rf).add(t)}getCurrentQuery(){return J(this,Dt)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const n=J(this,xo).defaultQueryOptions(t),r=J(this,xo).getQueryCache().build(J(this,xo),n);return r.fetch().then(()=>this.createResult(r,n))}fetch(t){return Ke(this,Jt,pp).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),J(this,eo)))}createResult(t,n){var _;const r=J(this,Dt),o=this.options,s=J(this,eo),i=J(this,eu),a=J(this,kf),c=t!==r?t.state:J(this,Sg),{state:u}=t;let f={...u},h=!1,p;if(n._optimisticResults){const j=this.hasListeners(),R=!j&&HP(t,n),P=j&&UP(t,r,n,o);(R||P)&&(f={...f,...m3(u.data,t.options)}),n._optimisticResults==="isRestoring"&&(f.fetchStatus="idle")}let{error:m,errorUpdatedAt:g,status:y}=f;if(n.select&&f.data!==void 0)if(s&&f.data===(i==null?void 0:i.data)&&n.select===J(this,Cg))p=J(this,_f);else try{ke(this,Cg,n.select),p=n.select(f.data),p=KE(s==null?void 0:s.data,p,n),ke(this,_f,p),ke(this,ki,null)}catch(j){ke(this,ki,j)}else p=f.data;if(n.placeholderData!==void 0&&p===void 0&&y==="pending"){let j;if(s!=null&&s.isPlaceholderData&&n.placeholderData===(a==null?void 0:a.placeholderData))j=s.data;else if(j=typeof n.placeholderData=="function"?n.placeholderData((_=J(this,jf))==null?void 0:_.state.data,J(this,jf)):n.placeholderData,n.select&&j!==void 0)try{j=n.select(j),ke(this,ki,null)}catch(R){ke(this,ki,R)}j!==void 0&&(y="success",p=KE(s==null?void 0:s.data,j,n),h=!0)}J(this,ki)&&(m=J(this,ki),p=J(this,_f),g=Date.now(),y="error");const b=f.fetchStatus==="fetching",x=y==="pending",v=y==="error",w=x&&b,S=p!==void 0,C={status:y,fetchStatus:f.fetchStatus,isPending:x,isSuccess:y==="success",isError:v,isInitialLoading:w,isLoading:w,data:p,dataUpdatedAt:f.dataUpdatedAt,error:m,errorUpdatedAt:g,failureCount:f.fetchFailureCount,failureReason:f.fetchFailureReason,errorUpdateCount:f.errorUpdateCount,isFetched:f.dataUpdateCount>0||f.errorUpdateCount>0,isFetchedAfterMount:f.dataUpdateCount>c.dataUpdateCount||f.errorUpdateCount>c.errorUpdateCount,isFetching:b,isRefetching:b&&!x,isLoadingError:v&&!S,isPaused:f.fetchStatus==="paused",isPlaceholderData:h,isRefetchError:v&&S,isStale:d_(t,n),refetch:this.refetch,promise:J(this,El)};if(this.options.experimental_prefetchInRender){const j=M=>{C.status==="error"?M.reject(C.error):C.data!==void 0&&M.resolve(C.data)},R=()=>{const M=ke(this,El,C.promise=XE());j(M)},P=J(this,El);switch(P.status){case"pending":t.queryHash===r.queryHash&&j(P);break;case"fulfilled":(C.status==="error"||C.data!==P.value)&&R();break;case"rejected":(C.status!=="error"||C.error!==P.reason)&&R();break}}return C}updateResult(t){const n=J(this,eo),r=this.createResult(J(this,Dt),this.options);if(ke(this,eu,J(this,Dt).state),ke(this,kf,this.options),J(this,eu).data!==void 0&&ke(this,jf,J(this,Dt)),H0(r,n))return;ke(this,eo,r);const o={},s=()=>{if(!n)return!0;const{notifyOnChangeProps:i}=this.options,a=typeof i=="function"?i():i;if(a==="all"||!a&&!J(this,Rf).size)return!0;const l=new Set(a??J(this,Rf));return this.options.throwOnError&&l.add("error"),Object.keys(J(this,eo)).some(c=>{const u=c;return J(this,eo)[u]!==n[u]&&l.has(u)})};(t==null?void 0:t.listeners)!==!1&&s()&&(o.listeners=!0),Ke(this,Jt,y3).call(this,{...o,...t})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&Ke(this,Jt,t2).call(this)}},xo=new WeakMap,Dt=new WeakMap,Sg=new WeakMap,eo=new WeakMap,eu=new WeakMap,kf=new WeakMap,El=new WeakMap,ki=new WeakMap,Cg=new WeakMap,_f=new WeakMap,jf=new WeakMap,tu=new WeakMap,nu=new WeakMap,Nl=new WeakMap,Rf=new WeakMap,Jt=new WeakSet,pp=function(t){Ke(this,Jt,o2).call(this);let n=J(this,Dt).fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(ds)),n},QE=function(){Ke(this,Jt,n2).call(this);const t=ef(this.options.staleTime,J(this,Dt));if(Eu||J(this,eo).isStale||!YE(t))return;const r=c3(J(this,eo).dataUpdatedAt,t)+1;ke(this,tu,setTimeout(()=>{J(this,eo).isStale||this.updateResult()},r))},JE=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(J(this,Dt)):this.options.refetchInterval)??!1},e2=function(t){Ke(this,Jt,r2).call(this),ke(this,Nl,t),!(Eu||Bs(this.options.enabled,J(this,Dt))===!1||!YE(J(this,Nl))||J(this,Nl)===0)&&ke(this,nu,setInterval(()=>{(this.options.refetchIntervalInBackground||c_.isFocused())&&Ke(this,Jt,pp).call(this)},J(this,Nl)))},t2=function(){Ke(this,Jt,QE).call(this),Ke(this,Jt,e2).call(this,Ke(this,Jt,JE).call(this))},n2=function(){J(this,tu)&&(clearTimeout(J(this,tu)),ke(this,tu,void 0))},r2=function(){J(this,nu)&&(clearInterval(J(this,nu)),ke(this,nu,void 0))},o2=function(){const t=J(this,xo).getQueryCache().build(J(this,xo),this.options);if(t===J(this,Dt))return;const n=J(this,Dt);ke(this,Dt,t),ke(this,Sg,t.state),this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))},y3=function(t){Un.batch(()=>{t.listeners&&this.listeners.forEach(n=>{n(J(this,eo))}),J(this,xo).getQueryCache().notify({query:J(this,Dt),type:"observerResultsUpdated"})})},A$);function ene(e,t){return Bs(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function HP(e,t){return ene(e,t)||e.state.data!==void 0&&s2(e,t,t.refetchOnMount)}function s2(e,t,n){if(Bs(t.enabled,e)!==!1){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&d_(e,t)}return!1}function UP(e,t,n,r){return(e!==t||Bs(r.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&d_(e,n)}function d_(e,t){return Bs(t.enabled,e)!==!1&&e.isStaleByTime(ef(t.staleTime,e))}function tne(e,t){return!H0(e.getCurrentResult(),t)}function WP(e,t){return e.filter(n=>!t.includes(n))}function nne(e,t,n){const r=e.slice(0);return r[t]=n,r}var ru,cs,Mf,Df,us,kl,Eg,Ng,kg,Dr,i2,a2,l2,c2,u2,I$,rne=(I$=class extends Wu{constructor(t,n,r){super();Oe(this,Dr);Oe(this,ru);Oe(this,cs);Oe(this,Mf);Oe(this,Df);Oe(this,us);Oe(this,kl);Oe(this,Eg);Oe(this,Ng);Oe(this,kg,[]);ke(this,ru,t),ke(this,Df,r),ke(this,Mf,[]),ke(this,us,[]),ke(this,cs,[]),this.setQueries(n)}onSubscribe(){this.listeners.size===1&&J(this,us).forEach(t=>{t.subscribe(n=>{Ke(this,Dr,c2).call(this,t,n)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,J(this,us).forEach(t=>{t.destroy()})}setQueries(t,n,r){if(ke(this,Mf,t),ke(this,Df,n),process.env.NODE_ENV!=="production"){const o=t.map(s=>J(this,ru).defaultQueryOptions(s).queryHash);new Set(o).size!==o.length&&console.warn("[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.")}Un.batch(()=>{const o=J(this,us),s=Ke(this,Dr,l2).call(this,J(this,Mf));ke(this,kg,s),s.forEach(c=>c.observer.setOptions(c.defaultedQueryOptions,r));const i=s.map(c=>c.observer),a=i.map(c=>c.getCurrentResult()),l=i.some((c,u)=>c!==o[u]);o.length===i.length&&!l||(ke(this,us,i),ke(this,cs,a),this.hasListeners()&&(WP(o,i).forEach(c=>{c.destroy()}),WP(i,o).forEach(c=>{c.subscribe(u=>{Ke(this,Dr,c2).call(this,c,u)})}),Ke(this,Dr,u2).call(this)))})}getCurrentResult(){return J(this,cs)}getQueries(){return J(this,us).map(t=>t.getCurrentQuery())}getObservers(){return J(this,us)}getOptimisticResult(t,n){const r=Ke(this,Dr,l2).call(this,t),o=r.map(s=>s.observer.getOptimisticResult(s.defaultedQueryOptions));return[o,s=>Ke(this,Dr,a2).call(this,s??o,n),()=>Ke(this,Dr,i2).call(this,o,r)]}},ru=new WeakMap,cs=new WeakMap,Mf=new WeakMap,Df=new WeakMap,us=new WeakMap,kl=new WeakMap,Eg=new WeakMap,Ng=new WeakMap,kg=new WeakMap,Dr=new WeakSet,i2=function(t,n){return n.map((r,o)=>{const s=t[o];return r.defaultedQueryOptions.notifyOnChangeProps?s:r.observer.trackResult(s,i=>{n.forEach(a=>{a.observer.trackProp(i)})})})},a2=function(t,n){return n?((!J(this,kl)||J(this,cs)!==J(this,Ng)||n!==J(this,Eg))&&(ke(this,Eg,n),ke(this,Ng,J(this,cs)),ke(this,kl,V0(J(this,kl),n(t)))),J(this,kl)):t},l2=function(t){const n=new Map(J(this,us).map(o=>[o.options.queryHash,o])),r=[];return t.forEach(o=>{const s=J(this,ru).defaultQueryOptions(o),i=n.get(s.queryHash);i?r.push({defaultedQueryOptions:s,observer:i}):r.push({defaultedQueryOptions:s,observer:new u_(J(this,ru),s)})}),r},c2=function(t,n){const r=J(this,us).indexOf(t);r!==-1&&(ke(this,cs,nne(J(this,cs),r,n)),Ke(this,Dr,u2).call(this))},u2=function(){var t;if(this.hasListeners()){const n=J(this,kl),r=Ke(this,Dr,i2).call(this,J(this,cs),J(this,kg)),o=Ke(this,Dr,a2).call(this,r,(t=J(this,Df))==null?void 0:t.combine);n!==o&&Un.batch(()=>{this.listeners.forEach(s=>{s(J(this,cs))})})}},I$),_l,jl,vo,Ca,Va,d0,d2,O$,one=(O$=class extends Wu{constructor(n,r){super();Oe(this,Va);Oe(this,_l);Oe(this,jl);Oe(this,vo);Oe(this,Ca);ke(this,_l,n),this.setOptions(r),this.bindMethods(),Ke(this,Va,d0).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(n){var o;const r=this.options;this.options=J(this,_l).defaultMutationOptions(n),H0(this.options,r)||J(this,_l).getMutationCache().notify({type:"observerOptionsUpdated",mutation:J(this,vo),observer:this}),r!=null&&r.mutationKey&&this.options.mutationKey&&Nu(r.mutationKey)!==Nu(this.options.mutationKey)?this.reset():((o=J(this,vo))==null?void 0:o.state.status)==="pending"&&J(this,vo).setOptions(this.options)}onUnsubscribe(){var n;this.hasListeners()||(n=J(this,vo))==null||n.removeObserver(this)}onMutationUpdate(n){Ke(this,Va,d0).call(this),Ke(this,Va,d2).call(this,n)}getCurrentResult(){return J(this,jl)}reset(){var n;(n=J(this,vo))==null||n.removeObserver(this),ke(this,vo,void 0),Ke(this,Va,d0).call(this),Ke(this,Va,d2).call(this)}mutate(n,r){var o;return ke(this,Ca,r),(o=J(this,vo))==null||o.removeObserver(this),ke(this,vo,J(this,_l).getMutationCache().build(J(this,_l),this.options)),J(this,vo).addObserver(this),J(this,vo).execute(n)}},_l=new WeakMap,jl=new WeakMap,vo=new WeakMap,Ca=new WeakMap,Va=new WeakSet,d0=function(){var r;const n=((r=J(this,vo))==null?void 0:r.state)??b3();ke(this,jl,{...n,isPending:n.status==="pending",isSuccess:n.status==="success",isError:n.status==="error",isIdle:n.status==="idle",mutate:this.mutate,reset:this.reset})},d2=function(n){Un.batch(()=>{var r,o,s,i,a,l,c,u;if(J(this,Ca)&&this.hasListeners()){const f=J(this,jl).variables,h=J(this,jl).context;(n==null?void 0:n.type)==="success"?((o=(r=J(this,Ca)).onSuccess)==null||o.call(r,n.data,f,h),(i=(s=J(this,Ca)).onSettled)==null||i.call(s,n.data,null,f,h)):(n==null?void 0:n.type)==="error"&&((l=(a=J(this,Ca)).onError)==null||l.call(a,n.error,f,h),(u=(c=J(this,Ca)).onSettled)==null||u.call(c,void 0,n.error,f,h))}this.listeners.forEach(f=>{f(J(this,jl))})})},O$),f_=k.createContext(void 0),ts=e=>{const t=k.useContext(f_);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},sne=({client:e,children:t})=>(k.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),d.jsx(f_.Provider,{value:e,children:t})),x3=k.createContext(!1),v3=()=>k.useContext(x3);x3.Provider;function ine(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var ane=k.createContext(ine()),w3=()=>k.useContext(ane);function S3(e,t){return typeof e=="function"?e(...t):!!e}function q0(){}var C3=(e,t)=>{(e.suspense||e.throwOnError||e.experimental_prefetchInRender)&&(t.isReset()||(e.retryOnMount=!1))},E3=e=>{k.useEffect(()=>{e.clearReset()},[e])},N3=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:o})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(o&&e.data===void 0||S3(n,[e.error,r])),k3=e=>{const t=e.staleTime;e.suspense&&(e.staleTime=typeof t=="function"?(...n)=>Math.max(t(...n),1e3):Math.max(t??1e3,1e3),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3)))},_3=(e,t)=>e.isLoading&&e.isFetching&&!t,f2=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,G0=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function h_({queries:e,...t},n){const r=ts(),o=v3(),s=w3(),i=k.useMemo(()=>e.map(g=>{const y=r.defaultQueryOptions(g);return y._optimisticResults=o?"isRestoring":"optimistic",y}),[e,r,o]);i.forEach(g=>{k3(g),C3(g,s)}),E3(s);const[a]=k.useState(()=>new rne(r,i,t)),[l,c,u]=a.getOptimisticResult(i,t.combine),f=!o&&t.subscribed!==!1;k.useSyncExternalStore(k.useCallback(g=>f?a.subscribe(Un.batchCalls(g)):q0,[a,f]),()=>a.getCurrentResult(),()=>a.getCurrentResult()),k.useEffect(()=>{a.setQueries(i,t,{listeners:!1})},[i,t,a]);const p=l.some((g,y)=>f2(i[y],g))?l.flatMap((g,y)=>{const b=i[y];if(b){const x=new u_(r,b);if(f2(b,g))return G0(b,x,s);_3(g,o)&&G0(b,x,s)}return[]}):[];if(p.length>0)throw Promise.all(p);const m=l.find((g,y)=>{const b=i[y];return b&&N3({result:g,errorResetBoundary:s,throwOnError:b.throwOnError,query:r.getQueryCache().get(b.queryHash),suspense:b.suspense})});if(m!=null&&m.error)throw m.error;return c(u())}function lne(e,t,n){var f,h,p,m,g;if(process.env.NODE_ENV!=="production"&&(typeof e!="object"||Array.isArray(e)))throw new Error('Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object');const r=ts(),o=v3(),s=w3(),i=r.defaultQueryOptions(e);(h=(f=r.getDefaultOptions().queries)==null?void 0:f._experimental_beforeQuery)==null||h.call(f,i),process.env.NODE_ENV!=="production"&&(i.queryFn||console.error(`[${i.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`)),i._optimisticResults=o?"isRestoring":"optimistic",k3(i),C3(i,s),E3(s);const a=!r.getQueryCache().get(i.queryHash),[l]=k.useState(()=>new t(r,i)),c=l.getOptimisticResult(i),u=!o&&e.subscribed!==!1;if(k.useSyncExternalStore(k.useCallback(y=>{const b=u?l.subscribe(Un.batchCalls(y)):q0;return l.updateResult(),b},[l,u]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),k.useEffect(()=>{l.setOptions(i,{listeners:!1})},[i,l]),f2(i,c))throw G0(i,l,s);if(N3({result:c,errorResetBoundary:s,throwOnError:i.throwOnError,query:r.getQueryCache().get(i.queryHash),suspense:i.suspense}))throw c.error;if((m=(p=r.getDefaultOptions().queries)==null?void 0:p._experimental_afterQuery)==null||m.call(p,i,c),i.experimental_prefetchInRender&&!Eu&&_3(c,o)){const y=a?G0(i,l,s):(g=r.getQueryCache().get(i.queryHash))==null?void 0:g.promise;y==null||y.catch(q0).finally(()=>{l.updateResult()})}return i.notifyOnChangeProps?c:l.trackResult(c)}function xn(e,t){return lne(e,u_)}function Ji(e,t){const n=ts(),[r]=k.useState(()=>new one(n,e));k.useEffect(()=>{r.setOptions(e)},[r,e]);const o=k.useSyncExternalStore(k.useCallback(i=>r.subscribe(Un.batchCalls(i)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),s=k.useCallback((i,a)=>{r.mutate(i,a).catch(q0)},[r]);if(o.error&&S3(r.options.throwOnError,[o.error]))throw o.error;return{...o,mutate:s,mutateAsync:o.mutate}}function cne(){const e=N.useContext(f_);if(e&&e.isSemaphorClient)return e}function j3({children:e}){const{setIsSessionExpired:t}=en(),n=cne(),[r]=N.useState(()=>{const o=new Jte({queryCache:new g3({onError:s=>{s instanceof Error?(console.error(`Something went wrong: ${s.message}`),s.message==="invalid token"&&t(!0)):console.error("Something went wrong:",s)}}),defaultOptions:{queries:{gcTime:36e5,staleTime:3e5,refetchOnWindowFocus:!1,retry:1}}});return o.isSemaphorClient=!0,o});return n?d.jsx(d.Fragment,{children:e}):d.jsx(sne,{client:r,children:e})}const une={id:"",authToken:void 0,tokenProps:{}},Rg=N.createContext(une),R3=({children:e,dashboardProps:t})=>{const n=N.useMemo(()=>{let r={};const o=t.authToken;return o&&(r=Rv(o.accessToken)),{...t,tokenProps:r}},[t]);return d.jsx(j3,{children:d.jsx(Rg.Provider,{value:n,children:e})})};function qe(){const e=N.useContext(Rg);if(e===void 0)throw new Error("useApplicationContext must be used within a ApplicationContextProvider");return e}const Ho=Qi()(_g(e=>({initialDashboard:null,selectedDashboard:null,selectedVisual:null,lastSelectedDashboard:null,lastSelectedVisual:null,actions:{setInitialDashboard:t=>{e(n=>{n.initialDashboard=t})},selectDashboard:t=>{e(n=>{var r;((r=n.selectedDashboard)==null?void 0:r.id)!==t.id&&(n.lastSelectedDashboard=n.selectedDashboard,n.selectedDashboard=t)})},updateSelectedDashboard:t=>{e(n=>{n.selectedDashboard=t})},selectVisual:t=>{e(n=>{n.lastSelectedVisual=n.selectedVisual,n.selectedVisual=t})},clearSelectedDashboard:()=>{e(t=>{t.lastSelectedDashboard=t.selectedDashboard,t.selectedDashboard=null})},clearSelectedVisual:()=>{e(t=>{t.lastSelectedVisual=t.selectedVisual,t.selectedVisual=null})}}}))),dne=()=>Ho(e=>e.selectedDashboard),fne=()=>Ho(e=>e.selectedVisual),p_=()=>Ho(e=>e.actions),hne=e=>Ho(t=>{var n;return((n=t.selectedDashboard)==null?void 0:n.id)===e}),pne=e=>Ho(t=>{var n;return((n=t.selectedVisual)==null?void 0:n.id)===e});function mne(){const{authToken:e,version:t,tokenProps:n,id:r}=qe(),o=Ho(h=>h.selectedDashboard);function s(){return o!=null&&o.id?o==null?void 0:o.id:r||(n!=null&&n.dashboard_id?n.dashboard_id:null)}const i=ee(h=>h.selectedLensId);function a(){return!(!(e!=null&&e.accessToken)||!s())}const{data:l,isLoading:c,isFetching:u,isError:f}=xn({queryKey:["dashboard",i,e==null?void 0:e.accessToken,s()],queryFn:()=>Ate(n.apiServiceUrl,e==null?void 0:e.accessToken,{lensId:i,version:t,dashboardId:s()}),enabled:a()});return{data:l,isLoading:c,isFetching:u,isError:f}}function gne(){const{authToken:e}=qe(),t=ee(r=>r.authToken),{setAuthToken:n}=en();return N.useEffect(()=>{e&&(e==null?void 0:e.toString())!==(t==null?void 0:t.toString())&&n(e)},[e,t,n]),e}const M3=(e,t)=>{const n={};if(e===null||t===null)return t;const r=new Set([...Object.keys(e),...Object.keys(t)]);for(const o of r){if(!(o in e)&&o in t){n[o]=t[o];continue}if(o in e&&!(o in t)){n[o]=void 0;continue}const s=e[o],i=t[o];if(!h2(s,i))if(Array.isArray(s)&&Array.isArray(i))n[o]=i;else if(qP(s)&&qP(i)){const a=M3(s,i);Object.keys(a).length>0&&(n[o]=a)}else n[o]=i}return n},h2=(e,t)=>{if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(Array.isArray(e)&&Array.isArray(t))return e.length!==t.length?!1:e.every((o,s)=>h2(o,t[s]));const n=Object.keys(e),r=Object.keys(t);return n.length!==r.length?!1:n.every(o=>h2(e[o],t[o]))}return!1},qP=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),wm=e=>{if(e===null||typeof e!="object")return e;if(e instanceof Date)return new Date(e);if(e instanceof RegExp)return new RegExp(e);if(Array.isArray(e))return e.map(n=>wm(n));const t={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=wm(e[n]));return t};function D3(e){const t=N.useCallback(s=>`semaphor-default-sheet-${s}`,[]),n=N.useCallback(()=>{if(!e)return null;try{const s=t(e);return localStorage.getItem(s)}catch(s){return console.error("Error reading default sheet preference:",s),null}},[e,t]),r=N.useCallback(s=>{if(!(!e||!s))try{const i=t(e);localStorage.setItem(i,s)}catch(i){console.error("Error saving default sheet preference:",i)}},[e,t]),o=N.useCallback(()=>{if(e)try{const s=t(e);localStorage.removeItem(s)}catch(s){console.error("Error clearing default sheet preference:",s)}},[e,t]);return{getDefaultSheetId:n,setDefaultSheetId:r,clearDefaultSheetId:o}}function P3(e){return e==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e}function GP(e,t){const n=P3(e);return n==="dark"?xm({...t==null?void 0:t.default},{...t==null?void 0:t.dark}):t==null?void 0:t.default}function bne({customStyle:e,currentTheme:t,onSave:n,onEvent:r,defaultFilterValues:o,selectedSheetId:s,onFilterValuesChange:i}){var $;const{authToken:a}=qe();gne();const l=ee(T=>T.selectedLensId),{data:c,isLoading:u,isFetching:f,isError:h}=mne(),p=($=c==null?void 0:c.dashboard)==null?void 0:$.id,{getDefaultSheetId:m,clearDefaultSheetId:g}=D3(p),[y,b]=N.useState(o||[]),{theme:x,setTheme:v}=a_(),w=ee(T=>T.dashboard.globalStyle),{setDashboard:S,setDashboardWithFilterValues:E,setSelectedSheetId:C,setStyle:_,setOnSaveFunction:j,setLenses:R,setSelectedLensId:P,setInitStore:M}=en();ee(T=>T.actions.setCustomCards);const O=ee(T=>T.actions.setFilterValues),I=ee(T=>T.filterValues),A=ee(T=>T.actions.setThemeStyle),F=ee(T=>T.actions.setDashboardTheme),H=ee(T=>T.actions.setOnEvent);N.useEffect(()=>{a&&M()},[a,M]),N.useEffect(()=>{if(x){const T=P3(x);F(T)}},[x,F]),N.useEffect(()=>{t&&v(t)},[t,v]);const W=N.useCallback(()=>{const T=wm(z0),B=xm(T,w);if(e){const z=xm(B,e),D=GP(x,z);A(D),_(z)}else{const z=GP(x,B);A(z),_(z0)}},[x,e,w,A,_]);return N.useEffect(()=>{c&&c.dashboard&&W()},[x,e,w,W,c]),N.useEffect(()=>{var L,q,Y;function T(ne,Q){const le=ne.filters||[],te=[];for(const se of Q){const oe=le.find(Ce=>Ce.id===se.filterId);oe&&te.push({filterId:se.filterId,connectionType:oe.database==="NA"?"api":"database",name:oe.column,operation:se.operation,valueType:Qd(oe),values:se.values})}return te}if(!c||!c.dashboard)return;const{dashboard:B,filterValues:z,defaultLensId:D,lenses:U}=c;function G(){var Q;if(z&&(z==null?void 0:z.length)>0)return z;const ne=T(B,y||[]);return ne&&(ne==null?void 0:ne.length)>0?ne:B.defaultFilterValues&&((Q=B.defaultFilterValues)==null?void 0:Q.length)>0?B.defaultFilterValues:[]}E(B,G()),U&&R(U),D&&P(D);let Z=m();Z&&((L=B==null?void 0:B.sheets)!=null&&L.some(Q=>Q.id===Z)||(g(),Z=null));const V=s||Z||((Y=(q=B==null?void 0:B.sheets)==null?void 0:q[0])==null?void 0:Y.id)||null;C(V)},[c,S,C,O,l,R,E,P,y,s,m,g]),N.useEffect(()=>{i&&I&&i(I)},[I,i]),N.useEffect(()=>{n&&j(n),r&&H(r)},[n,j,r,H]),{isFetching:f,isLoading:u,isError:h}}function $a({className:e,...t}){return d.jsx("div",{className:K("animate-pulse rounded-md bg-muted",e),...t})}const zi=k.forwardRef(({className:e,...t},n)=>d.jsx("div",{ref:n,className:K("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));zi.displayName="Card";const Bi=k.forwardRef(({className:e,...t},n)=>d.jsx("div",{ref:n,className:K("flex flex-col space-y-1.5 p-6",e),...t}));Bi.displayName="CardHeader";const Vi=k.forwardRef(({className:e,...t},n)=>d.jsx("h3",{ref:n,className:K("text-2xl font-semibold leading-none tracking-tight",e),...t}));Vi.displayName="CardTitle";const T3=k.forwardRef(({className:e,...t},n)=>d.jsx("p",{ref:n,className:K("text-sm text-muted-foreground",e),...t}));T3.displayName="CardDescription";const Ua=k.forwardRef(({className:e,...t},n)=>d.jsx("div",{ref:n,className:K("px-6 pt-0",e),...t}));Ua.displayName="CardContent";const A3=k.forwardRef(({className:e,...t},n)=>d.jsx("div",{ref:n,className:K("flex items-center p-6 pt-0",e),...t}));A3.displayName="CardFooter";/**
|
|
37
37
|
* @license lucide-react v0.453.0 - ISC
|
|
38
38
|
*
|
|
39
39
|
* This source code is licensed under the ISC license.
|
|
@@ -700,7 +700,7 @@ Valid keys: `+JSON.stringify(Object.keys(T),null," "));var Q=ne(V,Y,U,G,Z+"."+Y
|
|
|
700
700
|
* Released under the MIT License
|
|
701
701
|
*/class f0e{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,n,r,o){const s=n.listeners[o],i=n.duration;s.forEach(a=>a({chart:t,initial:n.initial,numSteps:i,currentStep:Math.min(r-n.start,i)}))}_refresh(){this._request||(this._running=!0,this._request=K7.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((r,o)=>{if(!r.running||!r.items.length)return;const s=r.items;let i=s.length-1,a=!1,l;for(;i>=0;--i)l=s[i],l._active?(l._total>r.duration&&(r.duration=l._total),l.tick(t),a=!0):(s[i]=s[s.length-1],s.pop());a&&(o.draw(),this._notify(o,r,t,"progress")),s.length||(r.running=!1,this._notify(o,r,t,"complete"),r.initial=!1),n+=s.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let r=n.get(t);return r||(r={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,r)),r}listen(t,n,r){this._getAnims(t).listeners[n].push(r)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((r,o)=>Math.max(r,o._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const r=n.items;let o=r.length-1;for(;o>=0;--o)r[o].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var ga=new f0e;const mI="transparent",h0e={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const r=sI(e||mI),o=r.valid&&sI(t||mI);return o&&o.valid?o.mix(r,n).hexString():t},number(e,t,n){return e+(t-e)*n}};let p0e=class{constructor(t,n,r,o){const s=n[r];o=En([t.to,o,s,t.from]);const i=En([t.from,s,o]);this._active=!0,this._fn=t.fn||h0e[t.type||typeof i],this._easing=Qp[t.easing]||Qp.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=r,this._from=i,this._to=o,this._promises=void 0}active(){return this._active}update(t,n,r){if(this._active){this._notify(!1);const o=this._target[this._prop],s=r-this._start,i=this._duration-s;this._start=r,this._duration=Math.floor(Math.max(i,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=En([t.to,n,o,t.from]),this._from=En([t.from,o,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,r=this._duration,o=this._prop,s=this._from,i=this._loop,a=this._to;let l;if(this._active=s!==a&&(i||n<r),!this._active){this._target[o]=a,this._notify(!0);return}if(n<0){this._target[o]=s;return}l=n/r%2,l=i&&l>1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[o]=this._fn(s,a,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,r)=>{t.push({res:n,rej:r})})}_notify(t){const n=t?"res":"rej",r=this._promises||[];for(let o=0;o<r.length;o++)r[o][n]()}};class pB{constructor(t,n){this._chart=t,this._properties=new Map,this.configure(n)}configure(t){if(!kt(t))return;const n=Object.keys(jn.animation),r=this._properties;Object.getOwnPropertyNames(t).forEach(o=>{const s=t[o];if(!kt(s))return;const i={};for(const a of n)i[a]=s[a];(Nn(s.properties)&&s.properties||[o]).forEach(a=>{(a===o||!r.has(a))&&r.set(a,i)})})}_animateOptions(t,n){const r=n.options,o=g0e(t,r);if(!o)return[];const s=this._createAnimations(o,r);return r.$shared&&m0e(t.options.$animations,r).then(()=>{t.options=r},()=>{}),s}_createAnimations(t,n){const r=this._properties,o=[],s=t.$animations||(t.$animations={}),i=Object.keys(n),a=Date.now();let l;for(l=i.length-1;l>=0;--l){const c=i[l];if(c.charAt(0)==="$")continue;if(c==="options"){o.push(...this._animateOptions(t,n));continue}const u=n[c];let f=s[c];const h=r.get(c);if(f)if(h&&f.active()){f.update(h,u,a);continue}else f.cancel();if(!h||!h.duration){t[c]=u;continue}s[c]=f=new p0e(h,t,c,u),o.push(f)}return o}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const r=this._createAnimations(t,n);if(r.length)return ga.add(this._chart,r),!0}}function m0e(e,t){const n=[],r=Object.keys(t);for(let o=0;o<r.length;o++){const s=e[r[o]];s&&s.active()&&n.push(s.wait())}return Promise.all(n)}function g0e(e,t){if(!t)return;let n=e.options;if(!n){e.options=t;return}return n.$shared&&(e.options=n=Object.assign({},n,{$shared:!1,$animations:{}})),n}function gI(e,t){const n=e&&e.options||{},r=n.reverse,o=n.min===void 0?t:0,s=n.max===void 0?t:0;return{start:r?s:o,end:r?o:s}}function b0e(e,t,n){if(n===!1)return!1;const r=gI(e,n),o=gI(t,n);return{top:o.end,right:r.end,bottom:o.start,left:r.start}}function y0e(e){let t,n,r,o;return kt(e)?(t=e.top,n=e.right,r=e.bottom,o=e.left):t=n=r=o=e,{top:t,right:n,bottom:r,left:o,disabled:e===!1}}function mB(e,t){const n=[],r=e._getSortedDatasetMetas(t);let o,s;for(o=0,s=r.length;o<s;++o)n.push(r[o].index);return n}function bI(e,t,n,r={}){const o=e.keys,s=r.mode==="single";let i,a,l,c;if(t===null)return;let u=!1;for(i=0,a=o.length;i<a;++i){if(l=+o[i],l===n){if(u=!0,r.all)continue;break}c=e.values[l],Gn(c)&&(s||t===0||Ti(t)===Ti(c))&&(t+=c)}return!u&&!r.all?0:t}function x0e(e,t){const{iScale:n,vScale:r}=t,o=n.axis==="x"?"x":"y",s=r.axis==="x"?"x":"y",i=Object.keys(e),a=new Array(i.length);let l,c,u;for(l=0,c=i.length;l<c;++l)u=i[l],a[l]={[o]:u,[s]:e[u]};return a}function cC(e,t){const n=e&&e.options.stacked;return n||n===void 0&&t.stack!==void 0}function v0e(e,t,n){return`${e.id}.${t.id}.${n.stack||n.type}`}function w0e(e){const{min:t,max:n,minDefined:r,maxDefined:o}=e.getUserBounds();return{min:r?t:Number.NEGATIVE_INFINITY,max:o?n:Number.POSITIVE_INFINITY}}function S0e(e,t,n){const r=e[t]||(e[t]={});return r[n]||(r[n]={})}function yI(e,t,n,r){for(const o of t.getMatchingVisibleMetas(r).reverse()){const s=e[o.index];if(n&&s>0||!n&&s<0)return o.index}return null}function xI(e,t){const{chart:n,_cachedMeta:r}=e,o=n._stacks||(n._stacks={}),{iScale:s,vScale:i,index:a}=r,l=s.axis,c=i.axis,u=v0e(s,i,r),f=t.length;let h;for(let p=0;p<f;++p){const m=t[p],{[l]:g,[c]:y}=m,b=m._stacks||(m._stacks={});h=b[c]=S0e(o,u,g),h[a]=y,h._top=yI(h,i,!0,r.type),h._bottom=yI(h,i,!1,r.type);const x=h._visualValues||(h._visualValues={});x[a]=y}}function uC(e,t){const n=e.scales;return Object.keys(n).filter(r=>n[r].axis===t).shift()}function C0e(e,t){return cc(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function E0e(e,t,n){return cc(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function Jh(e,t){const n=e.controller.index,r=e.vScale&&e.vScale.axis;if(r){t=t||e._parsed;for(const o of t){const s=o._stacks;if(!s||s[r]===void 0||s[r][n]===void 0)return;delete s[r][n],s[r]._visualValues!==void 0&&s[r]._visualValues[n]!==void 0&&delete s[r]._visualValues[n]}}}const dC=e=>e==="reset"||e==="none",vI=(e,t)=>t?e:Object.assign({},e),N0e=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:mB(n,!0),values:null};class ys{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=cC(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Jh(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,r=this.getDataset(),o=(f,h,p,m)=>f==="x"?h:f==="r"?m:p,s=n.xAxisID=rt(r.xAxisID,uC(t,"x")),i=n.yAxisID=rt(r.yAxisID,uC(t,"y")),a=n.rAxisID=rt(r.rAxisID,uC(t,"r")),l=n.indexAxis,c=n.iAxisID=o(l,s,i,a),u=n.vAxisID=o(l,i,s,a);n.xScale=this.getScaleForId(s),n.yScale=this.getScaleForId(i),n.rScale=this.getScaleForId(a),n.iScale=this.getScaleForId(c),n.vScale=this.getScaleForId(u)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&nI(this._data,this),t._stacked&&Jh(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),r=this._data;if(kt(n)){const o=this._cachedMeta;this._data=x0e(n,o)}else if(r!==n){if(r){nI(r,this);const o=this._cachedMeta;Jh(o),o._parsed=[]}n&&Object.isExtensible(n)&&uye(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,r=this.getDataset();let o=!1;this._dataCheck();const s=n._stacked;n._stacked=cC(n.vScale,n),n.stack!==r.stack&&(o=!0,Jh(n),n.stack=r.stack),this._resyncElements(t),(o||s!==n._stacked)&&(xI(this,n._parsed),n._stacked=cC(n.vScale,n))}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),r=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(r,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:r,_data:o}=this,{iScale:s,_stacked:i}=r,a=s.axis;let l=t===0&&n===o.length?!0:r._sorted,c=t>0&&r._parsed[t-1],u,f,h;if(this._parsing===!1)r._parsed=o,r._sorted=!0,h=o;else{Nn(o[t])?h=this.parseArrayData(r,o,t,n):kt(o[t])?h=this.parseObjectData(r,o,t,n):h=this.parsePrimitiveData(r,o,t,n);const p=()=>f[a]===null||c&&f[a]<c[a];for(u=0;u<n;++u)r._parsed[u+t]=f=h[u],l&&(p()&&(l=!1),c=f);r._sorted=l}i&&xI(this,h)}parsePrimitiveData(t,n,r,o){const{iScale:s,vScale:i}=t,a=s.axis,l=i.axis,c=s.getLabels(),u=s===i,f=new Array(o);let h,p,m;for(h=0,p=o;h<p;++h)m=h+r,f[h]={[a]:u||s.parse(c[m],m),[l]:i.parse(n[m],m)};return f}parseArrayData(t,n,r,o){const{xScale:s,yScale:i}=t,a=new Array(o);let l,c,u,f;for(l=0,c=o;l<c;++l)u=l+r,f=n[u],a[l]={x:s.parse(f[0],u),y:i.parse(f[1],u)};return a}parseObjectData(t,n,r,o){const{xScale:s,yScale:i}=t,{xAxisKey:a="x",yAxisKey:l="y"}=this._parsing,c=new Array(o);let u,f,h,p;for(u=0,f=o;u<f;++u)h=u+r,p=n[h],c[u]={x:s.parse(Gl(p,a),h),y:i.parse(Gl(p,l),h)};return c}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,n,r){const o=this.chart,s=this._cachedMeta,i=n[t.axis],a={keys:mB(o,!0),values:n._stacks[t.axis]._visualValues};return bI(a,i,s.index,{mode:r})}updateRangeFromParsed(t,n,r,o){const s=r[n.axis];let i=s===null?NaN:s;const a=o&&r._stacks[n.axis];o&&a&&(o.values=a,i=bI(o,s,this._cachedMeta.index)),t.min=Math.min(t.min,i),t.max=Math.max(t.max,i)}getMinMax(t,n){const r=this._cachedMeta,o=r._parsed,s=r._sorted&&t===r.iScale,i=o.length,a=this._getOtherScale(t),l=N0e(n,r,this.chart),c={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:u,max:f}=w0e(a);let h,p;function m(){p=o[h];const g=p[a.axis];return!Gn(p[t.axis])||u>g||f<g}for(h=0;h<i&&!(!m()&&(this.updateRangeFromParsed(c,t,p,l),s));++h);if(s){for(h=i-1;h>=0;--h)if(!m()){this.updateRangeFromParsed(c,t,p,l);break}}return c}getAllParsedValues(t){const n=this._cachedMeta._parsed,r=[];let o,s,i;for(o=0,s=n.length;o<s;++o)i=n[o][t.axis],Gn(i)&&r.push(i);return r}getMaxOverflow(){return!1}getLabelAndValue(t){const n=this._cachedMeta,r=n.iScale,o=n.vScale,s=this.getParsed(t);return{label:r?""+r.getLabelForValue(s[r.axis]):"",value:o?""+o.getLabelForValue(s[o.axis]):""}}_update(t){const n=this._cachedMeta;this.update(t||"default"),n._clip=y0e(rt(this.options.clip,b0e(n.xScale,n.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,n=this.chart,r=this._cachedMeta,o=r.data||[],s=n.chartArea,i=[],a=this._drawStart||0,l=this._drawCount||o.length-a,c=this.options.drawActiveElementsOnTop;let u;for(r.dataset&&r.dataset.draw(t,s,a,l),u=a;u<a+l;++u){const f=o[u];f.hidden||(f.active&&c?i.push(f):f.draw(t,s))}for(u=0;u<i.length;++u)i[u].draw(t,s)}getStyle(t,n){const r=n?"active":"default";return t===void 0&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(r):this.resolveDataElementOptions(t||0,r)}getContext(t,n,r){const o=this.getDataset();let s;if(t>=0&&t<this._cachedMeta.data.length){const i=this._cachedMeta.data[t];s=i.$context||(i.$context=E0e(this.getContext(),t,i)),s.parsed=this.getParsed(t),s.raw=o.data[t],s.index=s.dataIndex=t}else s=this.$context||(this.$context=C0e(this.chart.getContext(),this.index)),s.dataset=o,s.index=s.datasetIndex=this.index;return s.active=!!n,s.mode=r,s}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,n){return this._resolveElementOptions(this.dataElementType.id,n,t)}_resolveElementOptions(t,n="default",r){const o=n==="active",s=this._cachedDataOpts,i=t+"-"+n,a=s[i],l=this.enableOptionSharing&&Im(r);if(a)return vI(a,l);const c=this.chart.config,u=c.datasetElementScopeKeys(this._type,t),f=o?[`${t}Hover`,"hover",t,""]:[t,""],h=c.getOptionScopes(this.getDataset(),u),p=Object.keys(jn.elements[t]),m=()=>this.getContext(r,o,n),g=c.resolveNamedOptions(h,p,m,f);return g.$shared&&(g.$shared=l,s[i]=Object.freeze(vI(g,l))),g}_resolveAnimations(t,n,r){const o=this.chart,s=this._cachedDataOpts,i=`animation-${n}`,a=s[i];if(a)return a;let l;if(o.options.animation!==!1){const u=this.chart.config,f=u.datasetAnimationScopeKeys(this._type,n),h=u.getOptionScopes(this.getDataset(),f);l=u.createResolver(h,this.getContext(t,r,n))}const c=new pB(o,l&&l.animations);return l&&l._cacheable&&(s[i]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||dC(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const r=this.resolveDataElementOptions(t,n),o=this._sharedOptions,s=this.getSharedOptions(r),i=this.includeOptions(n,s)||s!==o;return this.updateSharedOptions(s,n,r),{sharedOptions:s,includeOptions:i}}updateElement(t,n,r,o){dC(o)?Object.assign(t,r):this._resolveAnimations(n,o).update(t,r)}updateSharedOptions(t,n,r){t&&!dC(n)&&this._resolveAnimations(void 0,n).update(t,r)}_setStyle(t,n,r,o){t.active=o;const s=this.getStyle(n,o);this._resolveAnimations(n,r,o).update(t,{options:!o&&this.getSharedOptions(s)||s})}removeHoverStyle(t,n,r){this._setStyle(t,r,"active",!1)}setHoverStyle(t,n,r){this._setStyle(t,r,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,r=this._cachedMeta.data;for(const[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];const o=r.length,s=n.length,i=Math.min(s,o);i&&this.parse(0,i),s>o?this._insertElements(o,s-o,t):s<o&&this._removeElements(s,o-s)}_insertElements(t,n,r=!0){const o=this._cachedMeta,s=o.data,i=t+n;let a;const l=c=>{for(c.length+=n,a=c.length-1;a>=i;a--)c[a]=c[a-n]};for(l(s),a=t;a<i;++a)s[a]=new this.dataElementType;this._parsing&&l(o._parsed),this.parse(t,n),r&&this.updateElements(s,t,n,"reset")}updateElements(t,n,r,o){}_removeElements(t,n){const r=this._cachedMeta;if(this._parsing){const o=r._parsed.splice(t,n);r._stacked&&Jh(r,o)}r.data.splice(t,n)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[n,r,o]=t;this[n](r,o)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,n){n&&this._sync(["_removeElements",t,n]);const r=arguments.length-2;r&&this._sync(["_insertElements",t,r])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}_e(ys,"defaults",{}),_e(ys,"datasetElementType",null),_e(ys,"dataElementType",null);function k0e(e,t){if(!e._cache.$bar){const n=e.getMatchingVisibleMetas(t);let r=[];for(let o=0,s=n.length;o<s;o++)r=r.concat(n[o].controller.getAllParsedValues(e));e._cache.$bar=Z7(r.sort((o,s)=>o-s))}return e._cache.$bar}function _0e(e){const t=e.iScale,n=k0e(t,e.type);let r=t._length,o,s,i,a;const l=()=>{i===32767||i===-32768||(Im(a)&&(r=Math.min(r,Math.abs(i-a)||r)),a=i)};for(o=0,s=n.length;o<s;++o)i=t.getPixelForValue(n[o]),l();for(a=void 0,o=0,s=t.ticks.length;o<s;++o)i=t.getPixelForTick(o),l();return r}function j0e(e,t,n,r){const o=n.barThickness;let s,i;return ft(o)?(s=t.min*n.categoryPercentage,i=n.barPercentage):(s=o*r,i=1),{chunk:s/r,ratio:i,start:t.pixels[e]-s/2}}function R0e(e,t,n,r){const o=t.pixels,s=o[e];let i=e>0?o[e-1]:null,a=e<o.length-1?o[e+1]:null;const l=n.categoryPercentage;i===null&&(i=s-(a===null?t.end-t.start:a-s)),a===null&&(a=s+s-i);const c=s-(s-Math.min(i,a))/2*l;return{chunk:Math.abs(a-i)/2*l/r,ratio:n.barPercentage,start:c}}function M0e(e,t,n,r){const o=n.parse(e[0],r),s=n.parse(e[1],r),i=Math.min(o,s),a=Math.max(o,s);let l=i,c=a;Math.abs(i)>Math.abs(a)&&(l=a,c=i),t[n.axis]=c,t._custom={barStart:l,barEnd:c,start:o,end:s,min:i,max:a}}function gB(e,t,n,r){return Nn(e)?M0e(e,t,n,r):t[n.axis]=n.parse(e,r),t}function wI(e,t,n,r){const o=e.iScale,s=e.vScale,i=o.getLabels(),a=o===s,l=[];let c,u,f,h;for(c=n,u=n+r;c<u;++c)h=t[c],f={},f[o.axis]=a||o.parse(i[c],c),l.push(gB(h,f,s,c));return l}function fC(e){return e&&e.barStart!==void 0&&e.barEnd!==void 0}function D0e(e,t,n){return e!==0?Ti(e):(t.isHorizontal()?1:-1)*(t.min>=n?1:-1)}function P0e(e){let t,n,r,o,s;return e.horizontal?(t=e.base>e.x,n="left",r="right"):(t=e.base<e.y,n="bottom",r="top"),t?(o="end",s="start"):(o="start",s="end"),{start:n,end:r,reverse:t,top:o,bottom:s}}function T0e(e,t,n,r){let o=t.borderSkipped;const s={};if(!o){e.borderSkipped=s;return}if(o===!0){e.borderSkipped={top:!0,right:!0,bottom:!0,left:!0};return}const{start:i,end:a,reverse:l,top:c,bottom:u}=P0e(e);o==="middle"&&n&&(e.enableBorderRadius=!0,(n._top||0)===r?o=c:(n._bottom||0)===r?o=u:(s[SI(u,i,a,l)]=!0,o=c)),s[SI(o,i,a,l)]=!0,e.borderSkipped=s}function SI(e,t,n,r){return r?(e=A0e(e,t,n),e=CI(e,n,t)):e=CI(e,t,n),e}function A0e(e,t,n){return e===t?n:e===n?t:e}function CI(e,t,n){return e==="start"?t:e==="end"?n:e}function I0e(e,{inflateAmount:t},n){e.inflateAmount=t==="auto"?n===1?.33:0:t}class hu extends ys{parsePrimitiveData(t,n,r,o){return wI(t,n,r,o)}parseArrayData(t,n,r,o){return wI(t,n,r,o)}parseObjectData(t,n,r,o){const{iScale:s,vScale:i}=t,{xAxisKey:a="x",yAxisKey:l="y"}=this._parsing,c=s.axis==="x"?a:l,u=i.axis==="x"?a:l,f=[];let h,p,m,g;for(h=r,p=r+o;h<p;++h)g=n[h],m={},m[s.axis]=s.parse(Gl(g,c),h),f.push(gB(Gl(g,u),m,i,h));return f}updateRangeFromParsed(t,n,r,o){super.updateRangeFromParsed(t,n,r,o);const s=r._custom;s&&n===this._cachedMeta.vScale&&(t.min=Math.min(t.min,s.min),t.max=Math.max(t.max,s.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const n=this._cachedMeta,{iScale:r,vScale:o}=n,s=this.getParsed(t),i=s._custom,a=fC(i)?"["+i.start+", "+i.end+"]":""+o.getLabelForValue(s[o.axis]);return{label:""+r.getLabelForValue(s[r.axis]),value:a}}initialize(){this.enableOptionSharing=!0,super.initialize();const t=this._cachedMeta;t.stack=this.getDataset().stack}update(t){const n=this._cachedMeta;this.updateElements(n.data,0,n.data.length,t)}updateElements(t,n,r,o){const s=o==="reset",{index:i,_cachedMeta:{vScale:a}}=this,l=a.getBasePixel(),c=a.isHorizontal(),u=this._getRuler(),{sharedOptions:f,includeOptions:h}=this._getSharedOptions(n,o);for(let p=n;p<n+r;p++){const m=this.getParsed(p),g=s||ft(m[a.axis])?{base:l,head:l}:this._calculateBarValuePixels(p),y=this._calculateBarIndexPixels(p,u),b=(m._stacks||{})[a.axis],x={horizontal:c,base:g.base,enableBorderRadius:!b||fC(m._custom)||i===b._top||i===b._bottom,x:c?g.head:y.center,y:c?y.center:g.head,height:c?y.size:Math.abs(g.size),width:c?Math.abs(g.size):y.size};h&&(x.options=f||this.resolveDataElementOptions(p,t[p].active?"active":o));const v=x.options||t[p].options;T0e(x,v,b,i),I0e(x,v,u.ratio),this.updateElement(t[p],p,x,o)}}_getStacks(t,n){const{iScale:r}=this._cachedMeta,o=r.getMatchingVisibleMetas(this._type).filter(u=>u.controller.options.grouped),s=r.options.stacked,i=[],a=this._cachedMeta.controller.getParsed(n),l=a&&a[r.axis],c=u=>{const f=u._parsed.find(p=>p[r.axis]===l),h=f&&f[u.vScale.axis];if(ft(h)||isNaN(h))return!0};for(const u of o)if(!(n!==void 0&&c(u))&&((s===!1||i.indexOf(u.stack)===-1||s===void 0&&u.stack===void 0)&&i.push(u.stack),u.index===t))break;return i.length||i.push(void 0),i}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,r){const o=this._getStacks(t,r),s=n!==void 0?o.indexOf(n):-1;return s===-1?o.length-1:s}_getRuler(){const t=this.options,n=this._cachedMeta,r=n.iScale,o=[];let s,i;for(s=0,i=n.data.length;s<i;++s)o.push(r.getPixelForValue(this.getParsed(s)[r.axis],s));const a=t.barThickness;return{min:a||_0e(n),pixels:o,start:r._startPixel,end:r._endPixel,stackCount:this._getStackCount(),scale:r,grouped:t.grouped,ratio:a?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:n,_stacked:r,index:o},options:{base:s,minBarLength:i}}=this,a=s||0,l=this.getParsed(t),c=l._custom,u=fC(c);let f=l[n.axis],h=0,p=r?this.applyStack(n,l,r):f,m,g;p!==f&&(h=p-f,p=f),u&&(f=c.barStart,p=c.barEnd-c.barStart,f!==0&&Ti(f)!==Ti(c.barEnd)&&(h=0),h+=f);const y=!ft(s)&&!u?s:h;let b=n.getPixelForValue(y);if(this.chart.getDataVisibility(t)?m=n.getPixelForValue(h+p):m=b,g=m-b,Math.abs(g)<i){g=D0e(g,n,a)*i,f===a&&(b-=g/2);const x=n.getPixelForDecimal(0),v=n.getPixelForDecimal(1),w=Math.min(x,v),S=Math.max(x,v);b=Math.max(Math.min(b,S),w),m=b+g,r&&!u&&(l._stacks[n.axis]._visualValues[o]=n.getValueForPixel(m)-n.getValueForPixel(b))}if(b===n.getPixelForValue(a)){const x=Ti(g)*n.getLineWidthForValue(a)/2;b+=x,g-=x}return{size:g,base:b,head:m,center:m+g/2}}_calculateBarIndexPixels(t,n){const r=n.scale,o=this.options,s=o.skipNull,i=rt(o.maxBarThickness,1/0);let a,l;if(n.grouped){const c=s?this._getStackCount(t):n.stackCount,u=o.barThickness==="flex"?R0e(t,n,o,c):j0e(t,n,o,c),f=this._getStackIndex(this.index,this._cachedMeta.stack,s?t:void 0);a=u.start+u.chunk*f+u.chunk/2,l=Math.min(i,u.chunk*u.ratio)}else a=r.getPixelForValue(this.getParsed(t)[r.axis],t),l=Math.min(i,n.min*n.ratio);return{base:a-l/2,head:a+l/2,center:a,size:l}}draw(){const t=this._cachedMeta,n=t.vScale,r=t.data,o=r.length;let s=0;for(;s<o;++s)this.getParsed(s)[n.axis]!==null&&!r[s].hidden&&r[s].draw(this._ctx)}}_e(hu,"id","bar"),_e(hu,"defaults",{datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}}),_e(hu,"overrides",{scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}});class w0 extends ys{initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(t,n,r,o){const s=super.parsePrimitiveData(t,n,r,o);for(let i=0;i<s.length;i++)s[i]._custom=this.resolveDataElementOptions(i+r).radius;return s}parseArrayData(t,n,r,o){const s=super.parseArrayData(t,n,r,o);for(let i=0;i<s.length;i++){const a=n[r+i];s[i]._custom=rt(a[2],this.resolveDataElementOptions(i+r).radius)}return s}parseObjectData(t,n,r,o){const s=super.parseObjectData(t,n,r,o);for(let i=0;i<s.length;i++){const a=n[r+i];s[i]._custom=rt(a&&a.r&&+a.r,this.resolveDataElementOptions(i+r).radius)}return s}getMaxOverflow(){const t=this._cachedMeta.data;let n=0;for(let r=t.length-1;r>=0;--r)n=Math.max(n,t[r].size(this.resolveDataElementOptions(r))/2);return n>0&&n}getLabelAndValue(t){const n=this._cachedMeta,r=this.chart.data.labels||[],{xScale:o,yScale:s}=n,i=this.getParsed(t),a=o.getLabelForValue(i.x),l=s.getLabelForValue(i.y),c=i._custom;return{label:r[t]||"",value:"("+a+", "+l+(c?", "+c:"")+")"}}update(t){const n=this._cachedMeta.data;this.updateElements(n,0,n.length,t)}updateElements(t,n,r,o){const s=o==="reset",{iScale:i,vScale:a}=this._cachedMeta,{sharedOptions:l,includeOptions:c}=this._getSharedOptions(n,o),u=i.axis,f=a.axis;for(let h=n;h<n+r;h++){const p=t[h],m=!s&&this.getParsed(h),g={},y=g[u]=s?i.getPixelForDecimal(.5):i.getPixelForValue(m[u]),b=g[f]=s?a.getBasePixel():a.getPixelForValue(m[f]);g.skip=isNaN(y)||isNaN(b),c&&(g.options=l||this.resolveDataElementOptions(h,p.active?"active":o),s&&(g.options.radius=0)),this.updateElement(p,h,g,o)}}resolveDataElementOptions(t,n){const r=this.getParsed(t);let o=super.resolveDataElementOptions(t,n);o.$shared&&(o=Object.assign({},o,{$shared:!1}));const s=o.radius;return n!=="active"&&(o.radius=0),o.radius+=rt(r&&r._custom,s),o}}_e(w0,"id","bubble"),_e(w0,"defaults",{datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}}),_e(w0,"overrides",{scales:{x:{type:"linear"},y:{type:"linear"}}});function O0e(e,t,n){let r=1,o=1,s=0,i=0;if(t<_n){const a=e,l=a+t,c=Math.cos(a),u=Math.sin(a),f=Math.cos(l),h=Math.sin(l),p=(v,w,S)=>Om(v,a,l,!0)?1:Math.max(w,w*n,S,S*n),m=(v,w,S)=>Om(v,a,l,!0)?-1:Math.min(w,w*n,S,S*n),g=p(0,c,f),y=p(er,u,h),b=m(Rn,c,f),x=m(Rn+er,u,h);r=(g-b)/2,o=(y-x)/2,s=-(g+b)/2,i=-(y+x)/2}return{ratioX:r,ratioY:o,offsetX:s,offsetY:i}}class Vc extends ys{constructor(t,n){super(t,n),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,n){const r=this.getDataset().data,o=this._cachedMeta;if(this._parsing===!1)o._parsed=r;else{let s=l=>+r[l];if(kt(r[t])){const{key:l="value"}=this._parsing;s=c=>+Gl(r[c],l)}let i,a;for(i=t,a=t+n;i<a;++i)o._parsed[i]=s(i)}}_getRotation(){return qs(this.options.rotation-90)}_getCircumference(){return qs(this.options.circumference)}_getRotationExtents(){let t=_n,n=-_n;for(let r=0;r<this.chart.data.datasets.length;++r)if(this.chart.isDatasetVisible(r)&&this.chart.getDatasetMeta(r).type===this._type){const o=this.chart.getDatasetMeta(r).controller,s=o._getRotation(),i=o._getCircumference();t=Math.min(t,s),n=Math.max(n,s+i)}return{rotation:t,circumference:n-t}}update(t){const n=this.chart,{chartArea:r}=n,o=this._cachedMeta,s=o.data,i=this.getMaxBorderWidth()+this.getMaxOffset(s)+this.options.spacing,a=Math.max((Math.min(r.width,r.height)-i)/2,0),l=Math.min(Zbe(this.options.cutout,a),1),c=this._getRingWeight(this.index),{circumference:u,rotation:f}=this._getRotationExtents(),{ratioX:h,ratioY:p,offsetX:m,offsetY:g}=O0e(f,u,l),y=(r.width-i)/h,b=(r.height-i)/p,x=Math.max(Math.min(y,b)/2,0),v=U7(this.options.radius,x),w=Math.max(v*l,0),S=(v-w)/this._getVisibleDatasetWeightTotal();this.offsetX=m*v,this.offsetY=g*v,o.total=this.calculateTotal(),this.outerRadius=v-S*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-S*c,0),this.updateElements(s,0,s.length,t)}_circumference(t,n){const r=this.options,o=this._cachedMeta,s=this._getCircumference();return n&&r.animation.animateRotate||!this.chart.getDataVisibility(t)||o._parsed[t]===null||o.data[t].hidden?0:this.calculateCircumference(o._parsed[t]*s/_n)}updateElements(t,n,r,o){const s=o==="reset",i=this.chart,a=i.chartArea,c=i.options.animation,u=(a.left+a.right)/2,f=(a.top+a.bottom)/2,h=s&&c.animateScale,p=h?0:this.innerRadius,m=h?0:this.outerRadius,{sharedOptions:g,includeOptions:y}=this._getSharedOptions(n,o);let b=this._getRotation(),x;for(x=0;x<n;++x)b+=this._circumference(x,s);for(x=n;x<n+r;++x){const v=this._circumference(x,s),w=t[x],S={x:u+this.offsetX,y:f+this.offsetY,startAngle:b,endAngle:b+v,circumference:v,outerRadius:m,innerRadius:p};y&&(S.options=g||this.resolveDataElementOptions(x,w.active?"active":o)),b+=v,this.updateElement(w,x,S,o)}}calculateTotal(){const t=this._cachedMeta,n=t.data;let r=0,o;for(o=0;o<n.length;o++){const s=t._parsed[o];s!==null&&!isNaN(s)&&this.chart.getDataVisibility(o)&&!n[o].hidden&&(r+=Math.abs(s))}return r}calculateCircumference(t){const n=this._cachedMeta.total;return n>0&&!isNaN(t)?_n*(Math.abs(t)/n):0}getLabelAndValue(t){const n=this._cachedMeta,r=this.chart,o=r.data.labels||[],s=tb(n._parsed[t],r.options.locale);return{label:o[t]||"",value:s}}getMaxBorderWidth(t){let n=0;const r=this.chart;let o,s,i,a,l;if(!t){for(o=0,s=r.data.datasets.length;o<s;++o)if(r.isDatasetVisible(o)){i=r.getDatasetMeta(o),t=i.data,a=i.controller;break}}if(!t)return 0;for(o=0,s=t.length;o<s;++o)l=a.resolveDataElementOptions(o),l.borderAlign!=="inner"&&(n=Math.max(n,l.borderWidth||0,l.hoverBorderWidth||0));return n}getMaxOffset(t){let n=0;for(let r=0,o=t.length;r<o;++r){const s=this.resolveDataElementOptions(r);n=Math.max(n,s.offset||0,s.hoverOffset||0)}return n}_getRingWeightOffset(t){let n=0;for(let r=0;r<t;++r)this.chart.isDatasetVisible(r)&&(n+=this._getRingWeight(r));return n}_getRingWeight(t){return Math.max(rt(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}_e(Vc,"id","doughnut"),_e(Vc,"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"}),_e(Vc,"descriptors",{_scriptable:t=>t!=="spacing",_indexable:t=>t!=="spacing"&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")}),_e(Vc,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const n=t.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:r,color:o}}=t.legend.options;return n.labels.map((s,i)=>{const l=t.getDatasetMeta(0).controller.getStyle(i);return{text:s,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:o,lineWidth:l.borderWidth,pointStyle:r,hidden:!t.getDataVisibility(i),index:i}})}return[]}},onClick(t,n,r){r.chart.toggleDataVisibility(n.index),r.chart.update()}}}});class S0 extends ys{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const n=this._cachedMeta,{dataset:r,data:o=[],_dataset:s}=n,i=this.chart._animationsDisabled;let{start:a,count:l}=Q7(n,o,i);this._drawStart=a,this._drawCount=l,J7(n)&&(a=0,l=o.length),r._chart=this.chart,r._datasetIndex=this.index,r._decimated=!!s._decimated,r.points=o;const c=this.resolveDatasetElementOptions(t);this.options.showLine||(c.borderWidth=0),c.segment=this.options.segment,this.updateElement(r,void 0,{animated:!i,options:c},t),this.updateElements(o,a,l,t)}updateElements(t,n,r,o){const s=o==="reset",{iScale:i,vScale:a,_stacked:l,_dataset:c}=this._cachedMeta,{sharedOptions:u,includeOptions:f}=this._getSharedOptions(n,o),h=i.axis,p=a.axis,{spanGaps:m,segment:g}=this.options,y=Hf(m)?m:Number.POSITIVE_INFINITY,b=this.chart._animationsDisabled||s||o==="none",x=n+r,v=t.length;let w=n>0&&this.getParsed(n-1);for(let S=0;S<v;++S){const E=t[S],C=b?E:{};if(S<n||S>=x){C.skip=!0;continue}const _=this.getParsed(S),j=ft(_[p]),R=C[h]=i.getPixelForValue(_[h],S),P=C[p]=s||j?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,_,l):_[p],S);C.skip=isNaN(R)||isNaN(P)||j,C.stop=S>0&&Math.abs(_[h]-w[h])>y,g&&(C.parsed=_,C.raw=c.data[S]),f&&(C.options=u||this.resolveDataElementOptions(S,E.active?"active":o)),b||this.updateElement(E,S,C,o),w=_}}getMaxOverflow(){const t=this._cachedMeta,n=t.dataset,r=n.options&&n.options.borderWidth||0,o=t.data||[];if(!o.length)return r;const s=o[0].size(this.resolveDataElementOptions(0)),i=o[o.length-1].size(this.resolveDataElementOptions(o.length-1));return Math.max(r,s,i)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}_e(S0,"id","line"),_e(S0,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),_e(S0,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class em extends ys{constructor(t,n){super(t,n),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const n=this._cachedMeta,r=this.chart,o=r.data.labels||[],s=tb(n._parsed[t].r,r.options.locale);return{label:o[t]||"",value:s}}parseObjectData(t,n,r,o){return aB.bind(this)(t,n,r,o)}update(t){const n=this._cachedMeta.data;this._updateRadius(),this.updateElements(n,0,n.length,t)}getMinMax(){const t=this._cachedMeta,n={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((r,o)=>{const s=this.getParsed(o).r;!isNaN(s)&&this.chart.getDataVisibility(o)&&(s<n.min&&(n.min=s),s>n.max&&(n.max=s))}),n}_updateRadius(){const t=this.chart,n=t.chartArea,r=t.options,o=Math.min(n.right-n.left,n.bottom-n.top),s=Math.max(o/2,0),i=Math.max(r.cutoutPercentage?s/100*r.cutoutPercentage:1,0),a=(s-i)/t.getVisibleDatasetCount();this.outerRadius=s-a*this.index,this.innerRadius=this.outerRadius-a}updateElements(t,n,r,o){const s=o==="reset",i=this.chart,l=i.options.animation,c=this._cachedMeta.rScale,u=c.xCenter,f=c.yCenter,h=c.getIndexAngle(0)-.5*Rn;let p=h,m;const g=360/this.countVisibleElements();for(m=0;m<n;++m)p+=this._computeAngle(m,o,g);for(m=n;m<n+r;m++){const y=t[m];let b=p,x=p+this._computeAngle(m,o,g),v=i.getDataVisibility(m)?c.getDistanceFromCenterForValue(this.getParsed(m).r):0;p=x,s&&(l.animateScale&&(v=0),l.animateRotate&&(b=x=h));const w={x:u,y:f,innerRadius:0,outerRadius:v,startAngle:b,endAngle:x,options:this.resolveDataElementOptions(m,y.active?"active":o)};this.updateElement(y,m,w,o)}}countVisibleElements(){const t=this._cachedMeta;let n=0;return t.data.forEach((r,o)=>{!isNaN(this.getParsed(o).r)&&this.chart.getDataVisibility(o)&&n++}),n}_computeAngle(t,n,r){return this.chart.getDataVisibility(t)?qs(this.resolveDataElementOptions(t,n).angle||r):0}}_e(em,"id","polarArea"),_e(em,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),_e(em,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const n=t.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:r,color:o}}=t.legend.options;return n.labels.map((s,i)=>{const l=t.getDatasetMeta(0).controller.getStyle(i);return{text:s,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:o,lineWidth:l.borderWidth,pointStyle:r,hidden:!t.getDataVisibility(i),index:i}})}return[]}},onClick(t,n,r){r.chart.toggleDataVisibility(n.index),r.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}});class fN extends Vc{}_e(fN,"id","pie"),_e(fN,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});class C0 extends ys{getLabelAndValue(t){const n=this._cachedMeta.vScale,r=this.getParsed(t);return{label:n.getLabels()[t],value:""+n.getLabelForValue(r[n.axis])}}parseObjectData(t,n,r,o){return aB.bind(this)(t,n,r,o)}update(t){const n=this._cachedMeta,r=n.dataset,o=n.data||[],s=n.iScale.getLabels();if(r.points=o,t!=="resize"){const i=this.resolveDatasetElementOptions(t);this.options.showLine||(i.borderWidth=0);const a={_loop:!0,_fullLoop:s.length===o.length,options:i};this.updateElement(r,void 0,a,t)}this.updateElements(o,0,o.length,t)}updateElements(t,n,r,o){const s=this._cachedMeta.rScale,i=o==="reset";for(let a=n;a<n+r;a++){const l=t[a],c=this.resolveDataElementOptions(a,l.active?"active":o),u=s.getPointPositionForValue(a,this.getParsed(a).r),f=i?s.xCenter:u.x,h=i?s.yCenter:u.y,p={x:f,y:h,angle:u.angle,skip:isNaN(f)||isNaN(h),options:c};this.updateElement(l,a,p,o)}}}_e(C0,"id","radar"),_e(C0,"defaults",{datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}}),_e(C0,"overrides",{aspectRatio:1,scales:{r:{type:"radialLinear"}}});class E0 extends ys{getLabelAndValue(t){const n=this._cachedMeta,r=this.chart.data.labels||[],{xScale:o,yScale:s}=n,i=this.getParsed(t),a=o.getLabelForValue(i.x),l=s.getLabelForValue(i.y);return{label:r[t]||"",value:"("+a+", "+l+")"}}update(t){const n=this._cachedMeta,{data:r=[]}=n,o=this.chart._animationsDisabled;let{start:s,count:i}=Q7(n,r,o);if(this._drawStart=s,this._drawCount=i,J7(n)&&(s=0,i=r.length),this.options.showLine){this.datasetElementType||this.addElements();const{dataset:a,_dataset:l}=n;a._chart=this.chart,a._datasetIndex=this.index,a._decimated=!!l._decimated,a.points=r;const c=this.resolveDatasetElementOptions(t);c.segment=this.options.segment,this.updateElement(a,void 0,{animated:!o,options:c},t)}else this.datasetElementType&&(delete n.dataset,this.datasetElementType=!1);this.updateElements(r,s,i,t)}addElements(){const{showLine:t}=this.options;!this.datasetElementType&&t&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(t,n,r,o){const s=o==="reset",{iScale:i,vScale:a,_stacked:l,_dataset:c}=this._cachedMeta,u=this.resolveDataElementOptions(n,o),f=this.getSharedOptions(u),h=this.includeOptions(o,f),p=i.axis,m=a.axis,{spanGaps:g,segment:y}=this.options,b=Hf(g)?g:Number.POSITIVE_INFINITY,x=this.chart._animationsDisabled||s||o==="none";let v=n>0&&this.getParsed(n-1);for(let w=n;w<n+r;++w){const S=t[w],E=this.getParsed(w),C=x?S:{},_=ft(E[m]),j=C[p]=i.getPixelForValue(E[p],w),R=C[m]=s||_?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,E,l):E[m],w);C.skip=isNaN(j)||isNaN(R)||_,C.stop=w>0&&Math.abs(E[p]-v[p])>b,y&&(C.parsed=E,C.raw=c.data[w]),h&&(C.options=f||this.resolveDataElementOptions(w,S.active?"active":o)),x||this.updateElement(S,w,C,o),v=E}this.updateSharedOptions(f,o,u)}getMaxOverflow(){const t=this._cachedMeta,n=t.data||[];if(!this.options.showLine){let a=0;for(let l=n.length-1;l>=0;--l)a=Math.max(a,n[l].size(this.resolveDataElementOptions(l))/2);return a>0&&a}const r=t.dataset,o=r.options&&r.options.borderWidth||0;if(!n.length)return o;const s=n[0].size(this.resolveDataElementOptions(0)),i=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(o,s,i)/2}}_e(E0,"id","scatter"),_e(E0,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),_e(E0,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});var F0e=Object.freeze({__proto__:null,BarController:hu,BubbleController:w0,DoughnutController:Vc,LineController:S0,PieController:fN,PolarAreaController:em,RadarController:C0,ScatterController:E0});function Sc(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class xR{constructor(t){_e(this,"options");this.options=t||{}}static override(t){Object.assign(xR.prototype,t)}init(){}formats(){return Sc()}parse(){return Sc()}format(){return Sc()}add(){return Sc()}diff(){return Sc()}startOf(){return Sc()}endOf(){return Sc()}}var $0e={_date:xR};function L0e(e,t,n,r){const{controller:o,data:s,_sorted:i}=e,a=o._cachedMeta.iScale,l=e.dataset&&e.dataset.options?e.dataset.options.spanGaps:null;if(a&&t===a.axis&&t!=="r"&&i&&s.length){const c=a._reversePixels?lye:Ma;if(r){if(o._sharedOptions){const u=s[0],f=typeof u.getRange=="function"&&u.getRange(t);if(f){const h=c(s,t,n-f),p=c(s,t,n+f);return{lo:h.lo,hi:p.hi}}}}else{const u=c(s,t,n);if(l){const{vScale:f}=o._cachedMeta,{_parsed:h}=e,p=h.slice(0,u.lo+1).reverse().findIndex(g=>!ft(g[f.axis]));u.lo-=Math.max(0,p);const m=h.slice(u.hi).findIndex(g=>!ft(g[f.axis]));u.hi+=Math.max(0,m)}return u}}return{lo:0,hi:s.length-1}}function Vw(e,t,n,r,o){const s=e.getSortedVisibleDatasetMetas(),i=n[t];for(let a=0,l=s.length;a<l;++a){const{index:c,data:u}=s[a],{lo:f,hi:h}=L0e(s[a],t,i,o);for(let p=f;p<=h;++p){const m=u[p];m.skip||r(m,c,p)}}}function z0e(e){const t=e.indexOf("x")!==-1,n=e.indexOf("y")!==-1;return function(r,o){const s=t?Math.abs(r.x-o.x):0,i=n?Math.abs(r.y-o.y):0;return Math.sqrt(Math.pow(s,2)+Math.pow(i,2))}}function hC(e,t,n,r,o){const s=[];return!o&&!e.isPointInArea(t)||Vw(e,n,t,function(a,l,c){!o&&!Da(a,e.chartArea,0)||a.inRange(t.x,t.y,r)&&s.push({element:a,datasetIndex:l,index:c})},!0),s}function B0e(e,t,n,r){let o=[];function s(i,a,l){const{startAngle:c,endAngle:u}=i.getProps(["startAngle","endAngle"],r),{angle:f}=G7(i,{x:t.x,y:t.y});Om(f,c,u)&&o.push({element:i,datasetIndex:a,index:l})}return Vw(e,n,t,s),o}function V0e(e,t,n,r,o,s){let i=[];const a=z0e(n);let l=Number.POSITIVE_INFINITY;function c(u,f,h){const p=u.inRange(t.x,t.y,o);if(r&&!p)return;const m=u.getCenterPoint(o);if(!(!!s||e.isPointInArea(m))&&!p)return;const y=a(t,m);y<l?(i=[{element:u,datasetIndex:f,index:h}],l=y):y===l&&i.push({element:u,datasetIndex:f,index:h})}return Vw(e,n,t,c),i}function pC(e,t,n,r,o,s){return!s&&!e.isPointInArea(t)?[]:n==="r"&&!r?B0e(e,t,n,o):V0e(e,t,n,r,o,s)}function EI(e,t,n,r,o){const s=[],i=n==="x"?"inXRange":"inYRange";let a=!1;return Vw(e,n,t,(l,c,u)=>{l[i]&&l[i](t[n],o)&&(s.push({element:l,datasetIndex:c,index:u}),a=a||l.inRange(t.x,t.y,o))}),r&&!a?[]:s}var H0e={modes:{index(e,t,n,r){const o=Rc(t,e),s=n.axis||"x",i=n.includeInvisible||!1,a=n.intersect?hC(e,o,s,r,i):pC(e,o,s,!1,r,i),l=[];return a.length?(e.getSortedVisibleDatasetMetas().forEach(c=>{const u=a[0].index,f=c.data[u];f&&!f.skip&&l.push({element:f,datasetIndex:c.index,index:u})}),l):[]},dataset(e,t,n,r){const o=Rc(t,e),s=n.axis||"xy",i=n.includeInvisible||!1;let a=n.intersect?hC(e,o,s,r,i):pC(e,o,s,!1,r,i);if(a.length>0){const l=a[0].datasetIndex,c=e.getDatasetMeta(l).data;a=[];for(let u=0;u<c.length;++u)a.push({element:c[u],datasetIndex:l,index:u})}return a},point(e,t,n,r){const o=Rc(t,e),s=n.axis||"xy",i=n.includeInvisible||!1;return hC(e,o,s,r,i)},nearest(e,t,n,r){const o=Rc(t,e),s=n.axis||"xy",i=n.includeInvisible||!1;return pC(e,o,s,n.intersect,r,i)},x(e,t,n,r){const o=Rc(t,e);return EI(e,o,"x",n.intersect,r)},y(e,t,n,r){const o=Rc(t,e);return EI(e,o,"y",n.intersect,r)}}};const bB=["left","top","right","bottom"];function ep(e,t){return e.filter(n=>n.pos===t)}function NI(e,t){return e.filter(n=>bB.indexOf(n.pos)===-1&&n.box.axis===t)}function tp(e,t){return e.sort((n,r)=>{const o=t?r:n,s=t?n:r;return o.weight===s.weight?o.index-s.index:o.weight-s.weight})}function U0e(e){const t=[];let n,r,o,s,i,a;for(n=0,r=(e||[]).length;n<r;++n)o=e[n],{position:s,options:{stack:i,stackWeight:a=1}}=o,t.push({index:n,box:o,pos:s,horizontal:o.isHorizontal(),weight:o.weight,stack:i&&s+i,stackWeight:a});return t}function W0e(e){const t={};for(const n of e){const{stack:r,pos:o,stackWeight:s}=n;if(!r||!bB.includes(o))continue;const i=t[r]||(t[r]={count:0,placed:0,weight:0,size:0});i.count++,i.weight+=s}return t}function q0e(e,t){const n=W0e(e),{vBoxMaxWidth:r,hBoxMaxHeight:o}=t;let s,i,a;for(s=0,i=e.length;s<i;++s){a=e[s];const{fullSize:l}=a.box,c=n[a.stack],u=c&&a.stackWeight/c.weight;a.horizontal?(a.width=u?u*r:l&&t.availableWidth,a.height=o):(a.width=r,a.height=u?u*o:l&&t.availableHeight)}return n}function G0e(e){const t=U0e(e),n=tp(t.filter(c=>c.box.fullSize),!0),r=tp(ep(t,"left"),!0),o=tp(ep(t,"right")),s=tp(ep(t,"top"),!0),i=tp(ep(t,"bottom")),a=NI(t,"x"),l=NI(t,"y");return{fullSize:n,leftAndTop:r.concat(s),rightAndBottom:o.concat(l).concat(i).concat(a),chartArea:ep(t,"chartArea"),vertical:r.concat(o).concat(l),horizontal:s.concat(i).concat(a)}}function kI(e,t,n,r){return Math.max(e[n],t[n])+Math.max(e[r],t[r])}function yB(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function Y0e(e,t,n,r){const{pos:o,box:s}=n,i=e.maxPadding;if(!kt(o)){n.size&&(e[o]-=n.size);const f=r[n.stack]||{size:0,count:1};f.size=Math.max(f.size,n.horizontal?s.height:s.width),n.size=f.size/f.count,e[o]+=n.size}s.getPadding&&yB(i,s.getPadding());const a=Math.max(0,t.outerWidth-kI(i,e,"left","right")),l=Math.max(0,t.outerHeight-kI(i,e,"top","bottom")),c=a!==e.w,u=l!==e.h;return e.w=a,e.h=l,n.horizontal?{same:c,other:u}:{same:u,other:c}}function Z0e(e){const t=e.maxPadding;function n(r){const o=Math.max(t[r]-e[r],0);return e[r]+=o,o}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function K0e(e,t){const n=t.maxPadding;function r(o){const s={left:0,top:0,right:0,bottom:0};return o.forEach(i=>{s[i]=Math.max(t[i],n[i])}),s}return r(e?["left","right"]:["top","bottom"])}function xp(e,t,n,r){const o=[];let s,i,a,l,c,u;for(s=0,i=e.length,c=0;s<i;++s){a=e[s],l=a.box,l.update(a.width||t.w,a.height||t.h,K0e(a.horizontal,t));const{same:f,other:h}=Y0e(t,n,a,r);c|=f&&o.length,u=u||h,l.fullSize||o.push(a)}return c&&xp(o,t,n,r)||u}function gy(e,t,n,r,o){e.top=n,e.left=t,e.right=t+r,e.bottom=n+o,e.width=r,e.height=o}function _I(e,t,n,r){const o=n.padding;let{x:s,y:i}=t;for(const a of e){const l=a.box,c=r[a.stack]||{placed:0,weight:1},u=a.stackWeight/c.weight||1;if(a.horizontal){const f=t.w*u,h=c.size||l.height;Im(c.start)&&(i=c.start),l.fullSize?gy(l,o.left,i,n.outerWidth-o.right-o.left,h):gy(l,t.left+c.placed,i,f,h),c.start=i,c.placed+=f,i=l.bottom}else{const f=t.h*u,h=c.size||l.width;Im(c.start)&&(s=c.start),l.fullSize?gy(l,s,o.top,h,n.outerHeight-o.bottom-o.top):gy(l,s,t.top+c.placed,h,f),c.start=s,c.placed+=f,s=l.right}}t.x=s,t.y=i}var Br={addBox(e,t){e.boxes||(e.boxes=[]),t.fullSize=t.fullSize||!1,t.position=t.position||"top",t.weight=t.weight||0,t._layers=t._layers||function(){return[{z:0,draw(n){t.draw(n)}}]},e.boxes.push(t)},removeBox(e,t){const n=e.boxes?e.boxes.indexOf(t):-1;n!==-1&&e.boxes.splice(n,1)},configure(e,t,n){t.fullSize=n.fullSize,t.position=n.position,t.weight=n.weight},update(e,t,n,r){if(!e)return;const o=Mr(e.options.layout.padding),s=Math.max(t-o.width,0),i=Math.max(n-o.height,0),a=G0e(e.boxes),l=a.vertical,c=a.horizontal;Xt(e.boxes,g=>{typeof g.beforeLayout=="function"&&g.beforeLayout()});const u=l.reduce((g,y)=>y.box.options&&y.box.options.display===!1?g:g+1,0)||1,f=Object.freeze({outerWidth:t,outerHeight:n,padding:o,availableWidth:s,availableHeight:i,vBoxMaxWidth:s/2/u,hBoxMaxHeight:i/2}),h=Object.assign({},o);yB(h,Mr(r));const p=Object.assign({maxPadding:h,w:s,h:i,x:o.left,y:o.top},o),m=q0e(l.concat(c),f);xp(a.fullSize,p,f,m),xp(l,p,f,m),xp(c,p,f,m)&&xp(l,p,f,m),Z0e(p),_I(a.leftAndTop,p,f,m),p.x+=p.w,p.y+=p.h,_I(a.rightAndBottom,p,f,m),e.chartArea={left:p.left,top:p.top,right:p.left+p.w,bottom:p.top+p.h,height:p.h,width:p.w},Xt(a.chartArea,g=>{const y=g.box;Object.assign(y,e.chartArea),y.update(p.w,p.h,{left:0,top:0,right:0,bottom:0})})}};class xB{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,r){}removeEventListener(t,n,r){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,r,o){return n=Math.max(0,n||t.width),r=r||t.height,{width:n,height:Math.max(0,o?Math.floor(n/o):r)}}isAttached(t){return!0}updateConfig(t){}}class X0e extends xB{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const N0="$chartjs",Q0e={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},jI=e=>e===null||e==="";function J0e(e,t){const n=e.style,r=e.getAttribute("height"),o=e.getAttribute("width");if(e[N0]={initial:{height:r,width:o,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",jI(o)){const s=dI(e,"width");s!==void 0&&(e.width=s)}if(jI(r))if(e.style.height==="")e.height=e.width/(t||2);else{const s=dI(e,"height");s!==void 0&&(e.height=s)}return e}const vB=t0e?{passive:!0}:!1;function exe(e,t,n){e&&e.addEventListener(t,n,vB)}function txe(e,t,n){e&&e.canvas&&e.canvas.removeEventListener(t,n,vB)}function nxe(e,t){const n=Q0e[e.type]||e.type,{x:r,y:o}=Rc(e,t);return{type:n,chart:t,native:e,x:r!==void 0?r:null,y:o!==void 0?o:null}}function _x(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function rxe(e,t,n){const r=e.canvas,o=new MutationObserver(s=>{let i=!1;for(const a of s)i=i||_x(a.addedNodes,r),i=i&&!_x(a.removedNodes,r);i&&n()});return o.observe(document,{childList:!0,subtree:!0}),o}function oxe(e,t,n){const r=e.canvas,o=new MutationObserver(s=>{let i=!1;for(const a of s)i=i||_x(a.removedNodes,r),i=i&&!_x(a.addedNodes,r);i&&n()});return o.observe(document,{childList:!0,subtree:!0}),o}const $m=new Map;let RI=0;function wB(){const e=window.devicePixelRatio;e!==RI&&(RI=e,$m.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function sxe(e,t){$m.size||window.addEventListener("resize",wB),$m.set(e,t)}function ixe(e){$m.delete(e),$m.size||window.removeEventListener("resize",wB)}function axe(e,t,n){const r=e.canvas,o=r&&yR(r);if(!o)return;const s=X7((a,l)=>{const c=o.clientWidth;n(a,l),c<o.clientWidth&&n()},window),i=new ResizeObserver(a=>{const l=a[0],c=l.contentRect.width,u=l.contentRect.height;c===0&&u===0||s(c,u)});return i.observe(o),sxe(e,s),i}function mC(e,t,n){n&&n.disconnect(),t==="resize"&&ixe(e)}function lxe(e,t,n){const r=e.canvas,o=X7(s=>{e.ctx!==null&&n(nxe(s,e))},e);return exe(r,t,o),o}class cxe extends xB{acquireContext(t,n){const r=t&&t.getContext&&t.getContext("2d");return r&&r.canvas===t?(J0e(t,n),r):null}releaseContext(t){const n=t.canvas;if(!n[N0])return!1;const r=n[N0].initial;["height","width"].forEach(s=>{const i=r[s];ft(i)?n.removeAttribute(s):n.setAttribute(s,i)});const o=r.style||{};return Object.keys(o).forEach(s=>{n.style[s]=o[s]}),n.width=n.width,delete n[N0],!0}addEventListener(t,n,r){this.removeEventListener(t,n);const o=t.$proxies||(t.$proxies={}),i={attach:rxe,detach:oxe,resize:axe}[n]||lxe;o[n]=i(t,n,r)}removeEventListener(t,n){const r=t.$proxies||(t.$proxies={}),o=r[n];if(!o)return;({attach:mC,detach:mC,resize:mC}[n]||txe)(t,n,o),r[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,r,o){return e0e(t,n,r,o)}isAttached(t){const n=t&&yR(t);return!!(n&&n.isConnected)}}function uxe(e){return!bR()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?X0e:cxe}var u0;let aa=(u0=class{constructor(){_e(this,"x");_e(this,"y");_e(this,"active",!1);_e(this,"options");_e(this,"$animations")}tooltipPosition(t){const{x:n,y:r}=this.getProps(["x","y"],t);return{x:n,y:r}}hasValue(){return Hf(this.x)&&Hf(this.y)}getProps(t,n){const r=this.$animations;if(!n||!r)return this;const o={};return t.forEach(s=>{o[s]=r[s]&&r[s].active()?r[s]._to:this[s]}),o}},_e(u0,"defaults",{}),_e(u0,"defaultRoutes"),u0);function dxe(e,t){const n=e.options.ticks,r=fxe(e),o=Math.min(n.maxTicksLimit||r,r),s=n.major.enabled?pxe(t):[],i=s.length,a=s[0],l=s[i-1],c=[];if(i>o)return mxe(t,c,s,i/o),c;const u=hxe(s,t,o);if(i>0){let f,h;const p=i>1?Math.round((l-a)/(i-1)):null;for(by(t,c,u,ft(p)?0:a-p,a),f=0,h=i-1;f<h;f++)by(t,c,u,s[f],s[f+1]);return by(t,c,u,l,ft(p)?t.length:l+p),c}return by(t,c,u),c}function fxe(e){const t=e.options.offset,n=e._tickSize(),r=e._length/n+(t?0:1),o=e._maxLength/n;return Math.floor(Math.min(r,o))}function hxe(e,t,n){const r=gxe(e),o=t.length/n;if(!r)return Math.max(o,1);const s=rye(r);for(let i=0,a=s.length-1;i<a;i++){const l=s[i];if(l>o)return l}return Math.max(o,1)}function pxe(e){const t=[];let n,r;for(n=0,r=e.length;n<r;n++)e[n].major&&t.push(n);return t}function mxe(e,t,n,r){let o=0,s=n[0],i;for(r=Math.ceil(r),i=0;i<e.length;i++)i===s&&(t.push(e[i]),o++,s=n[o*r])}function by(e,t,n,r,o){const s=rt(r,0),i=Math.min(rt(o,e.length),e.length);let a=0,l,c,u;for(n=Math.ceil(n),o&&(l=o-r,n=l/Math.floor(l/n)),u=s;u<0;)a++,u=Math.round(s+a*n);for(c=Math.max(s,0);c<i;c++)c===u&&(t.push(e[c]),a++,u=Math.round(s+a*n))}function gxe(e){const t=e.length;let n,r;if(t<2)return!1;for(r=e[0],n=1;n<t;++n)if(e[n]-e[n-1]!==r)return!1;return r}const bxe=e=>e==="left"?"right":e==="right"?"left":e,MI=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,DI=(e,t)=>Math.min(t||e,e);function PI(e,t){const n=[],r=e.length/t,o=e.length;let s=0;for(;s<o;s+=r)n.push(e[Math.floor(s)]);return n}function yxe(e,t,n){const r=e.ticks.length,o=Math.min(t,r-1),s=e._startPixel,i=e._endPixel,a=1e-6;let l=e.getPixelForTick(o),c;if(!(n&&(r===1?c=Math.max(l-s,i-l):t===0?c=(e.getPixelForTick(1)-l)/2:c=(l-e.getPixelForTick(o-1))/2,l+=o<t?c:-c,l<s-a||l>i+a)))return l}function xxe(e,t){Xt(e,n=>{const r=n.gc,o=r.length/2;let s;if(o>t){for(s=0;s<o;++s)delete n.data[r[s]];r.splice(0,o)}})}function np(e){return e.drawTicks?e.tickLength:0}function TI(e,t){if(!e.display)return 0;const n=lr(e.font,t),r=Mr(e.padding);return(Nn(e.text)?e.text.length:1)*n.lineHeight+r.height}function vxe(e,t){return cc(e,{scale:t,type:"scale"})}function wxe(e,t,n){return cc(e,{tick:n,index:t,type:"tick"})}function Sxe(e,t,n){let r=dR(e);return(n&&t!=="right"||!n&&t==="right")&&(r=bxe(r)),r}function Cxe(e,t,n,r){const{top:o,left:s,bottom:i,right:a,chart:l}=e,{chartArea:c,scales:u}=l;let f=0,h,p,m;const g=i-o,y=a-s;if(e.isHorizontal()){if(p=Fr(r,s,a),kt(n)){const b=Object.keys(n)[0],x=n[b];m=u[b].getPixelForValue(x)+g-t}else n==="center"?m=(c.bottom+c.top)/2+g-t:m=MI(e,n,t);h=a-s}else{if(kt(n)){const b=Object.keys(n)[0],x=n[b];p=u[b].getPixelForValue(x)-y+t}else n==="center"?p=(c.left+c.right)/2-y+t:p=MI(e,n,t);m=Fr(r,i,o),f=n==="left"?-er:er}return{titleX:p,titleY:m,maxWidth:h,rotation:f}}class uc extends aa{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,n){return t}getUserBounds(){let{_userMin:t,_userMax:n,_suggestedMin:r,_suggestedMax:o}=this;return t=Io(t,Number.POSITIVE_INFINITY),n=Io(n,Number.NEGATIVE_INFINITY),r=Io(r,Number.POSITIVE_INFINITY),o=Io(o,Number.NEGATIVE_INFINITY),{min:Io(t,r),max:Io(n,o),minDefined:Gn(t),maxDefined:Gn(n)}}getMinMax(t){let{min:n,max:r,minDefined:o,maxDefined:s}=this.getUserBounds(),i;if(o&&s)return{min:n,max:r};const a=this.getMatchingVisibleMetas();for(let l=0,c=a.length;l<c;++l)i=a[l].controller.getMinMax(this,t),o||(n=Math.min(n,i.min)),s||(r=Math.max(r,i.max));return n=s&&n>r?r:n,r=o&&n>r?n:r,{min:Io(n,Io(r,n)),max:Io(r,Io(n,r))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){an(this.options.beforeUpdate,[this])}update(t,n,r){const{beginAtZero:o,grace:s,ticks:i}=this.options,a=i.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=r=Object.assign({left:0,right:0,top:0,bottom:0},r),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+r.left+r.right:this.height+r.top+r.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Pye(this,s,o),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a<this.ticks.length;this._convertTicksToLabels(l?PI(this.ticks,a):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),i.display&&(i.autoSkip||i.source==="auto")&&(this.ticks=dxe(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),l&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t=this.options.reverse,n,r;this.isHorizontal()?(n=this.left,r=this.right):(n=this.top,r=this.bottom,t=!t),this._startPixel=n,this._endPixel=r,this._reversePixels=t,this._length=r-n,this._alignToPixels=this.options.alignToPixels}afterUpdate(){an(this.options.afterUpdate,[this])}beforeSetDimensions(){an(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(){an(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),an(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){an(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){const n=this.options.ticks;let r,o,s;for(r=0,o=t.length;r<o;r++)s=t[r],s.label=an(n.callback,[s.value,r,t],this)}afterTickToLabelConversion(){an(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){an(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const t=this.options,n=t.ticks,r=DI(this.ticks.length,t.ticks.maxTicksLimit),o=n.minRotation||0,s=n.maxRotation;let i=o,a,l,c;if(!this._isVisible()||!n.display||o>=s||r<=1||!this.isHorizontal()){this.labelRotation=o;return}const u=this._getLabelSizes(),f=u.widest.width,h=u.highest.height,p=Sr(this.chart.width-f,0,this.maxWidth);a=t.offset?this.maxWidth/r:p/(r-1),f+6>a&&(a=p/(r-(t.offset?.5:1)),l=this.maxHeight-np(t.grid)-n.padding-TI(t.title,this.chart.options.font),c=Math.sqrt(f*f+h*h),i=cR(Math.min(Math.asin(Sr((u.highest.height+6)/a,-1,1)),Math.asin(Sr(l/c,-1,1))-Math.asin(Sr(h/c,-1,1)))),i=Math.max(o,Math.min(s,i))),this.labelRotation=i}afterCalculateLabelRotation(){an(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){an(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:r,title:o,grid:s}}=this,i=this._isVisible(),a=this.isHorizontal();if(i){const l=TI(o,n.options.font);if(a?(t.width=this.maxWidth,t.height=np(s)+l):(t.height=this.maxHeight,t.width=np(s)+l),r.display&&this.ticks.length){const{first:c,last:u,widest:f,highest:h}=this._getLabelSizes(),p=r.padding*2,m=qs(this.labelRotation),g=Math.cos(m),y=Math.sin(m);if(a){const b=r.mirror?0:y*f.width+g*h.height;t.height=Math.min(this.maxHeight,t.height+b+p)}else{const b=r.mirror?0:g*f.width+y*h.height;t.width=Math.min(this.maxWidth,t.width+b+p)}this._calculatePadding(c,u,y,g)}}this._handleMargins(),a?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,r,o){const{ticks:{align:s,padding:i},position:a}=this.options,l=this.labelRotation!==0,c=a!=="top"&&this.axis==="x";if(this.isHorizontal()){const u=this.getPixelForTick(0)-this.left,f=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,p=0;l?c?(h=o*t.width,p=r*n.height):(h=r*t.height,p=o*n.width):s==="start"?p=n.width:s==="end"?h=t.width:s!=="inner"&&(h=t.width/2,p=n.width/2),this.paddingLeft=Math.max((h-u+i)*this.width/(this.width-u),0),this.paddingRight=Math.max((p-f+i)*this.width/(this.width-f),0)}else{let u=n.height/2,f=t.height/2;s==="start"?(u=0,f=t.height):s==="end"&&(u=n.height,f=0),this.paddingTop=u+i,this.paddingBottom=f+i}}_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(){an(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,r;for(n=0,r=t.length;n<r;n++)ft(t[n].label)&&(t.splice(n,1),r--,n--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){const n=this.options.ticks.sampleSize;let r=this.ticks;n<r.length&&(r=PI(r,n)),this._labelSizes=t=this._computeLabelSizes(r,r.length,this.options.ticks.maxTicksLimit)}return t}_computeLabelSizes(t,n,r){const{ctx:o,_longestTextCache:s}=this,i=[],a=[],l=Math.floor(n/DI(n,r));let c=0,u=0,f,h,p,m,g,y,b,x,v,w,S;for(f=0;f<n;f+=l){if(m=t[f].label,g=this._resolveTickFontOptions(f),o.font=y=g.string,b=s[y]=s[y]||{data:{},gc:[]},x=g.lineHeight,v=w=0,!ft(m)&&!Nn(m))v=Ex(o,b.data,b.gc,v,m),w=x;else if(Nn(m))for(h=0,p=m.length;h<p;++h)S=m[h],!ft(S)&&!Nn(S)&&(v=Ex(o,b.data,b.gc,v,S),w+=x);i.push(v),a.push(w),c=Math.max(v,c),u=Math.max(w,u)}xxe(s,n);const E=i.indexOf(c),C=a.indexOf(u),_=j=>({width:i[j]||0,height:a[j]||0});return{first:_(0),last:_(n-1),widest:_(E),highest:_(C),widths:i,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return aye(this._alignToPixels?wc(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&t<n.length){const r=n[t];return r.$context||(r.$context=wxe(this.getContext(),t,r))}return this.$context||(this.$context=vxe(this.chart.getContext(),this))}_tickSize(){const t=this.options.ticks,n=qs(this.labelRotation),r=Math.abs(Math.cos(n)),o=Math.abs(Math.sin(n)),s=this._getLabelSizes(),i=t.autoSkipPadding||0,a=s?s.widest.width+i:0,l=s?s.highest.height+i:0;return this.isHorizontal()?l*r>a*o?a/r:l/o:l*o<a*r?l/r:a/o}_isVisible(){const t=this.options.display;return t!=="auto"?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){const n=this.axis,r=this.chart,o=this.options,{grid:s,position:i,border:a}=o,l=s.offset,c=this.isHorizontal(),f=this.ticks.length+(l?1:0),h=np(s),p=[],m=a.setContext(this.getContext()),g=m.display?m.width:0,y=g/2,b=function(F){return wc(r,F,g)};let x,v,w,S,E,C,_,j,R,P,M,O;if(i==="top")x=b(this.bottom),C=this.bottom-h,j=x-y,P=b(t.top)+y,O=t.bottom;else if(i==="bottom")x=b(this.top),P=t.top,O=b(t.bottom)-y,C=x+y,j=this.top+h;else if(i==="left")x=b(this.right),E=this.right-h,_=x-y,R=b(t.left)+y,M=t.right;else if(i==="right")x=b(this.left),R=t.left,M=b(t.right)-y,E=x+y,_=this.left+h;else if(n==="x"){if(i==="center")x=b((t.top+t.bottom)/2+.5);else if(kt(i)){const F=Object.keys(i)[0],H=i[F];x=b(this.chart.scales[F].getPixelForValue(H))}P=t.top,O=t.bottom,C=x+y,j=C+h}else if(n==="y"){if(i==="center")x=b((t.left+t.right)/2);else if(kt(i)){const F=Object.keys(i)[0],H=i[F];x=b(this.chart.scales[F].getPixelForValue(H))}E=x-y,_=E-h,R=t.left,M=t.right}const I=rt(o.ticks.maxTicksLimit,f),A=Math.max(1,Math.ceil(f/I));for(v=0;v<f;v+=A){const F=this.getContext(v),H=s.setContext(F),W=a.setContext(F),$=H.lineWidth,T=H.color,B=W.dash||[],z=W.dashOffset,D=H.tickWidth,U=H.tickColor,G=H.tickBorderDash||[],Z=H.tickBorderDashOffset;w=yxe(this,v,l),w!==void 0&&(S=wc(r,w,$),c?E=_=R=M=S:C=j=P=O=S,p.push({tx1:E,ty1:C,tx2:_,ty2:j,x1:R,y1:P,x2:M,y2:O,width:$,color:T,borderDash:B,borderDashOffset:z,tickWidth:D,tickColor:U,tickBorderDash:G,tickBorderDashOffset:Z}))}return this._ticksLength=f,this._borderValue=x,p}_computeLabelItems(t){const n=this.axis,r=this.options,{position:o,ticks:s}=r,i=this.isHorizontal(),a=this.ticks,{align:l,crossAlign:c,padding:u,mirror:f}=s,h=np(r.grid),p=h+u,m=f?-u:p,g=-qs(this.labelRotation),y=[];let b,x,v,w,S,E,C,_,j,R,P,M,O="middle";if(o==="top")E=this.bottom-m,C=this._getXAxisLabelAlignment();else if(o==="bottom")E=this.top+m,C=this._getXAxisLabelAlignment();else if(o==="left"){const A=this._getYAxisLabelAlignment(h);C=A.textAlign,S=A.x}else if(o==="right"){const A=this._getYAxisLabelAlignment(h);C=A.textAlign,S=A.x}else if(n==="x"){if(o==="center")E=(t.top+t.bottom)/2+p;else if(kt(o)){const A=Object.keys(o)[0],F=o[A];E=this.chart.scales[A].getPixelForValue(F)+p}C=this._getXAxisLabelAlignment()}else if(n==="y"){if(o==="center")S=(t.left+t.right)/2-p;else if(kt(o)){const A=Object.keys(o)[0],F=o[A];S=this.chart.scales[A].getPixelForValue(F)}C=this._getYAxisLabelAlignment(h).textAlign}n==="y"&&(l==="start"?O="top":l==="end"&&(O="bottom"));const I=this._getLabelSizes();for(b=0,x=a.length;b<x;++b){v=a[b],w=v.label;const A=s.setContext(this.getContext(b));_=this.getPixelForTick(b)+s.labelOffset,j=this._resolveTickFontOptions(b),R=j.lineHeight,P=Nn(w)?w.length:1;const F=P/2,H=A.color,W=A.textStrokeColor,$=A.textStrokeWidth;let T=C;i?(S=_,C==="inner"&&(b===x-1?T=this.options.reverse?"left":"right":b===0?T=this.options.reverse?"right":"left":T="center"),o==="top"?c==="near"||g!==0?M=-P*R+R/2:c==="center"?M=-I.highest.height/2-F*R+R:M=-I.highest.height+R/2:c==="near"||g!==0?M=R/2:c==="center"?M=I.highest.height/2-F*R:M=I.highest.height-P*R,f&&(M*=-1),g!==0&&!A.showLabelBackdrop&&(S+=R/2*Math.sin(g))):(E=_,M=(1-P)*R/2);let B;if(A.showLabelBackdrop){const z=Mr(A.backdropPadding),D=I.heights[b],U=I.widths[b];let G=M-z.top,Z=0-z.left;switch(O){case"middle":G-=D/2;break;case"bottom":G-=D;break}switch(C){case"center":Z-=U/2;break;case"right":Z-=U;break;case"inner":b===x-1?Z-=U:b>0&&(Z-=U/2);break}B={left:Z,top:G,width:U+z.width,height:D+z.height,color:A.backdropColor}}y.push({label:w,font:j,textOffset:M,options:{rotation:g,color:H,strokeColor:W,strokeWidth:$,textAlign:T,textBaseline:O,translation:[S,E],backdrop:B}})}return y}_getXAxisLabelAlignment(){const{position:t,ticks:n}=this.options;if(-qs(this.labelRotation))return t==="top"?"left":"right";let o="center";return n.align==="start"?o="left":n.align==="end"?o="right":n.align==="inner"&&(o="inner"),o}_getYAxisLabelAlignment(t){const{position:n,ticks:{crossAlign:r,mirror:o,padding:s}}=this.options,i=this._getLabelSizes(),a=t+s,l=i.widest.width;let c,u;return n==="left"?o?(u=this.right+s,r==="near"?c="left":r==="center"?(c="center",u+=l/2):(c="right",u+=l)):(u=this.right-a,r==="near"?c="right":r==="center"?(c="center",u-=l/2):(c="left",u=this.left)):n==="right"?o?(u=this.left+s,r==="near"?c="right":r==="center"?(c="center",u-=l/2):(c="left",u-=l)):(u=this.left+a,r==="near"?c="left":r==="center"?(c="center",u+=l/2):(c="right",u=this.right)):c="right",{textAlign:c,x:u}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,n=this.options.position;if(n==="left"||n==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(n==="top"||n==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:n},left:r,top:o,width:s,height:i}=this;n&&(t.save(),t.fillStyle=n,t.fillRect(r,o,s,i),t.restore())}getLineWidthForValue(t){const n=this.options.grid;if(!this._isVisible()||!n.display)return 0;const o=this.ticks.findIndex(s=>s.value===t);return o>=0?n.setContext(this.getContext(o)).lineWidth:0}drawGrid(t){const n=this.options.grid,r=this.ctx,o=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,i;const a=(l,c,u)=>{!u.width||!u.color||(r.save(),r.lineWidth=u.width,r.strokeStyle=u.color,r.setLineDash(u.borderDash||[]),r.lineDashOffset=u.borderDashOffset,r.beginPath(),r.moveTo(l.x,l.y),r.lineTo(c.x,c.y),r.stroke(),r.restore())};if(n.display)for(s=0,i=o.length;s<i;++s){const l=o[s];n.drawOnChartArea&&a({x:l.x1,y:l.y1},{x:l.x2,y:l.y2},l),n.drawTicks&&a({x:l.tx1,y:l.ty1},{x:l.tx2,y:l.ty2},{color:l.tickColor,width:l.tickWidth,borderDash:l.tickBorderDash,borderDashOffset:l.tickBorderDashOffset})}}drawBorder(){const{chart:t,ctx:n,options:{border:r,grid:o}}=this,s=r.setContext(this.getContext()),i=r.display?s.width:0;if(!i)return;const a=o.setContext(this.getContext(0)).lineWidth,l=this._borderValue;let c,u,f,h;this.isHorizontal()?(c=wc(t,this.left,i)-i/2,u=wc(t,this.right,a)+a/2,f=h=l):(f=wc(t,this.top,i)-i/2,h=wc(t,this.bottom,a)+a/2,c=u=l),n.save(),n.lineWidth=s.width,n.strokeStyle=s.color,n.beginPath(),n.moveTo(c,f),n.lineTo(u,h),n.stroke(),n.restore()}drawLabels(t){if(!this.options.ticks.display)return;const r=this.ctx,o=this._computeLabelArea();o&&cu(r,o);const s=this.getLabelItems(t);for(const i of s){const a=i.options,l=i.font,c=i.label,u=i.textOffset;Pu(r,c,0,u,l,a)}o&&uu(r)}drawTitle(){const{ctx:t,options:{position:n,title:r,reverse:o}}=this;if(!r.display)return;const s=lr(r.font),i=Mr(r.padding),a=r.align;let l=s.lineHeight/2;n==="bottom"||n==="center"||kt(n)?(l+=i.bottom,Nn(r.text)&&(l+=s.lineHeight*(r.text.length-1))):l+=i.top;const{titleX:c,titleY:u,maxWidth:f,rotation:h}=Cxe(this,l,n,a);Pu(t,r.text,0,0,s,{color:r.color,maxWidth:f,rotation:h,textAlign:Sxe(a,n,o),textBaseline:"middle",translation:[c,u]})}draw(t){this._isVisible()&&(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){const t=this.options,n=t.ticks&&t.ticks.z||0,r=rt(t.grid&&t.grid.z,-1),o=rt(t.border&&t.border.z,0);return!this._isVisible()||this.draw!==uc.prototype.draw?[{z:n,draw:s=>{this.draw(s)}}]:[{z:r,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:o,draw:()=>{this.drawBorder()}},{z:n,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),r=this.axis+"AxisID",o=[];let s,i;for(s=0,i=n.length;s<i;++s){const a=n[s];a[r]===this.id&&(!t||a.type===t)&&o.push(a)}return o}_resolveTickFontOptions(t){const n=this.options.ticks.setContext(this.getContext(t));return lr(n.font)}_maxDigits(){const t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class yy{constructor(t,n,r){this.type=t,this.scope=n,this.override=r,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){const n=Object.getPrototypeOf(t);let r;kxe(n)&&(r=this.register(n));const o=this.items,s=t.id,i=this.scope+"."+s;if(!s)throw new Error("class does not have id: "+t);return s in o||(o[s]=t,Exe(t,i,r),this.override&&jn.override(t.id,t.overrides)),i}get(t){return this.items[t]}unregister(t){const n=this.items,r=t.id,o=this.scope;r in n&&delete n[r],o&&r in jn[o]&&(delete jn[o][r],this.override&&delete Du[r])}}function Exe(e,t,n){const r=cr(Object.create(null),[n?jn.get(n):{},jn.get(t),e.defaults]);jn.set(t,r),e.defaultRoutes&&Nxe(t,e.defaultRoutes),e.descriptors&&jn.describe(t,e.descriptors)}function Nxe(e,t){Object.keys(t).forEach(n=>{const r=n.split("."),o=r.pop(),s=[e].concat(r).join("."),i=t[n].split("."),a=i.pop(),l=i.join(".");jn.route(s,o,l,a)})}function kxe(e){return"id"in e&&"defaults"in e}class _xe{constructor(){this.controllers=new yy(ys,"datasets",!0),this.elements=new yy(aa,"elements"),this.plugins=new yy(Object,"plugins"),this.scales=new yy(uc,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,r){[...n].forEach(o=>{const s=r||this._getRegistryForType(o);r||s.isForType(o)||s===this.plugins&&o.id?this._exec(t,s,o):Xt(o,i=>{const a=r||this._getRegistryForType(i);this._exec(t,a,i)})})}_exec(t,n,r){const o=lR(t);an(r["before"+o],[],r),n[t](r),an(r["after"+o],[],r)}_getRegistryForType(t){for(let n=0;n<this._typedRegistries.length;n++){const r=this._typedRegistries[n];if(r.isForType(t))return r}return this.plugins}_get(t,n,r){const o=n.get(t);if(o===void 0)throw new Error('"'+t+'" is not a registered '+r+".");return o}}var sr=new _xe;class jxe{constructor(){this._init=[]}notify(t,n,r,o){n==="beforeInit"&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const s=o?this._descriptors(t).filter(o):this._descriptors(t),i=this._notify(s,t,n,r);return n==="afterDestroy"&&(this._notify(s,t,"stop"),this._notify(this._init,t,"uninstall")),i}_notify(t,n,r,o){o=o||{};for(const s of t){const i=s.plugin,a=i[r],l=[n,o,s.options];if(an(a,l,i)===!1&&o.cancelable)return!1}return!0}invalidate(){ft(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const n=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),n}_createDescriptors(t,n){const r=t&&t.config,o=rt(r.options&&r.options.plugins,{}),s=Rxe(r);return o===!1&&!n?[]:Dxe(t,s,o,n)}_notifyStateChanges(t){const n=this._oldCache||[],r=this._cache,o=(s,i)=>s.filter(a=>!i.some(l=>a.plugin.id===l.plugin.id));this._notify(o(n,r),t,"stop"),this._notify(o(r,n),t,"start")}}function Rxe(e){const t={},n=[],r=Object.keys(sr.plugins.items);for(let s=0;s<r.length;s++)n.push(sr.getPlugin(r[s]));const o=e.plugins||[];for(let s=0;s<o.length;s++){const i=o[s];n.indexOf(i)===-1&&(n.push(i),t[i.id]=!0)}return{plugins:n,localIds:t}}function Mxe(e,t){return!t&&e===!1?null:e===!0?{}:e}function Dxe(e,{plugins:t,localIds:n},r,o){const s=[],i=e.getContext();for(const a of t){const l=a.id,c=Mxe(r[l],o);c!==null&&s.push({plugin:a,options:Pxe(e.config,{plugin:a,local:n[l]},c,i)})}return s}function Pxe(e,{plugin:t,local:n},r,o){const s=e.pluginScopeKeys(t),i=e.getOptionScopes(r,s);return n&&t.defaults&&i.push(t.defaults),e.createResolver(i,o,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function hN(e,t){const n=jn.datasets[e]||{};return((t.datasets||{})[e]||{}).indexAxis||t.indexAxis||n.indexAxis||"x"}function Txe(e,t){let n=e;return e==="_index_"?n=t:e==="_value_"&&(n=t==="x"?"y":"x"),n}function Axe(e,t){return e===t?"_index_":"_value_"}function AI(e){if(e==="x"||e==="y"||e==="r")return e}function Ixe(e){if(e==="top"||e==="bottom")return"x";if(e==="left"||e==="right")return"y"}function pN(e,...t){if(AI(e))return e;for(const n of t){const r=n.axis||Ixe(n.position)||e.length>1&&AI(e[0].toLowerCase());if(r)return r}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function II(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function Oxe(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(r=>r.xAxisID===e||r.yAxisID===e);if(n.length)return II(e,"x",n[0])||II(e,"y",n[0])}return{}}function Fxe(e,t){const n=Du[e.type]||{scales:{}},r=t.scales||{},o=hN(e.type,t),s=Object.create(null);return Object.keys(r).forEach(i=>{const a=r[i];if(!kt(a))return console.error(`Invalid scale configuration for scale: ${i}`);if(a._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${i}`);const l=pN(i,a,Oxe(i,e),jn.scales[a.type]),c=Axe(l,o),u=n.scales||{};s[i]=Kp(Object.create(null),[{axis:l},a,u[l],u[c]])}),e.data.datasets.forEach(i=>{const a=i.type||e.type,l=i.indexAxis||hN(a,t),u=(Du[a]||{}).scales||{};Object.keys(u).forEach(f=>{const h=Txe(f,l),p=i[h+"AxisID"]||h;s[p]=s[p]||Object.create(null),Kp(s[p],[{axis:h},r[p],u[f]])})}),Object.keys(s).forEach(i=>{const a=s[i];Kp(a,[jn.scales[a.type],jn.scale])}),s}function SB(e){const t=e.options||(e.options={});t.plugins=rt(t.plugins,{}),t.scales=Fxe(e,t)}function CB(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function $xe(e){return e=e||{},e.data=CB(e.data),SB(e),e}const OI=new Map,EB=new Set;function xy(e,t){let n=OI.get(e);return n||(n=t(),OI.set(e,n),EB.add(n)),n}const rp=(e,t,n)=>{const r=Gl(t,n);r!==void 0&&e.add(r)};class Lxe{constructor(t){this._config=$xe(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=CB(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),SB(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return xy(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return xy(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return xy(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,r=this.type;return xy(`${r}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const r=this._scopeCache;let o=r.get(t);return(!o||n)&&(o=new Map,r.set(t,o)),o}getOptionScopes(t,n,r){const{options:o,type:s}=this,i=this._cachedScopes(t,r),a=i.get(n);if(a)return a;const l=new Set;n.forEach(u=>{t&&(l.add(t),u.forEach(f=>rp(l,t,f))),u.forEach(f=>rp(l,o,f)),u.forEach(f=>rp(l,Du[s]||{},f)),u.forEach(f=>rp(l,jn,f)),u.forEach(f=>rp(l,dN,f))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),EB.has(n)&&i.set(n,c),c}chartOptionScopes(){const{options:t,type:n}=this;return[t,Du[n]||{},jn.datasets[n]||{},{type:n},jn,dN]}resolveNamedOptions(t,n,r,o=[""]){const s={$shared:!0},{resolver:i,subPrefixes:a}=FI(this._resolverCache,t,o);let l=i;if(Bxe(i,n)){s.$shared=!1,r=Yl(r)?r():r;const c=this.createResolver(t,r,a);l=Uf(i,r,c)}for(const c of n)s[c]=l[c];return s}createResolver(t,n,r=[""],o){const{resolver:s}=FI(this._resolverCache,t,r);return kt(n)?Uf(s,n,void 0,o):s}}function FI(e,t,n){let r=e.get(t);r||(r=new Map,e.set(t,r));const o=n.join();let s=r.get(o);return s||(s={resolver:pR(t,n),subPrefixes:n.filter(a=>!a.toLowerCase().includes("hover"))},r.set(o,s)),s}const zxe=e=>kt(e)&&Object.getOwnPropertyNames(e).some(t=>Yl(e[t]));function Bxe(e,t){const{isScriptable:n,isIndexable:r}=rB(e);for(const o of t){const s=n(o),i=r(o),a=(i||s)&&e[o];if(s&&(Yl(a)||zxe(a))||i&&Nn(a))return!0}return!1}var Vxe="4.4.8";const Hxe=["top","bottom","left","right","chartArea"];function $I(e,t){return e==="top"||e==="bottom"||Hxe.indexOf(e)===-1&&t==="x"}function LI(e,t){return function(n,r){return n[e]===r[e]?n[t]-r[t]:n[e]-r[e]}}function zI(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),an(n&&n.onComplete,[e],t)}function Uxe(e){const t=e.chart,n=t.options.animation;an(n&&n.onProgress,[e],t)}function NB(e){return bR()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const k0={},BI=e=>{const t=NB(e);return Object.values(k0).filter(n=>n.canvas===t).pop()};function Wxe(e,t,n){const r=Object.keys(e);for(const o of r){const s=+o;if(s>=t){const i=e[o];delete e[o],(n>0||s>t)&&(e[s+n]=i)}}}function qxe(e,t,n,r){return!n||e.type==="mouseout"?null:r?t:e}function vy(e,t,n){return e.options.clip?e[n]:t[n]}function Gxe(e,t){const{xScale:n,yScale:r}=e;return n&&r?{left:vy(n,t,"left"),right:vy(n,t,"right"),top:vy(r,t,"top"),bottom:vy(r,t,"bottom")}:t}class hn{static register(...t){sr.add(...t),VI()}static unregister(...t){sr.remove(...t),VI()}constructor(t,n){const r=this.config=new Lxe(n),o=NB(t),s=BI(o);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const i=r.createResolver(r.chartOptionScopes(),this.getContext());this.platform=new(r.platform||uxe(o)),this.platform.updateConfig(r);const a=this.platform.acquireContext(o,i.aspectRatio),l=a&&a.canvas,c=l&&l.height,u=l&&l.width;if(this.id=Ybe(),this.ctx=a,this.canvas=l,this.width=u,this.height=c,this._options=i,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 jxe,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=dye(f=>this.update(f),i.resizeDelay||0),this._dataChanges=[],k0[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}ga.listen(this,"complete",zI),ga.listen(this,"progress",Uxe),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:r,height:o,_aspectRatio:s}=this;return ft(t)?n&&s?s:o?r/o:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return sr}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():uI(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return aI(this.canvas,this.ctx),this}stop(){return ga.stop(this),this}resize(t,n){ga.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const r=this.options,o=this.canvas,s=r.maintainAspectRatio&&this.aspectRatio,i=this.platform.getMaximumSize(o,t,n,s),a=r.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=i.width,this.height=i.height,this._aspectRatio=this.aspectRatio,uI(this,a,!0)&&(this.notifyPlugins("resize",{size:i}),an(r.onResize,[this,i],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};Xt(n,(r,o)=>{r.id=o})}buildOrUpdateScales(){const t=this.options,n=t.scales,r=this.scales,o=Object.keys(r).reduce((i,a)=>(i[a]=!1,i),{});let s=[];n&&(s=s.concat(Object.keys(n).map(i=>{const a=n[i],l=pN(i,a),c=l==="r",u=l==="x";return{options:a,dposition:c?"chartArea":u?"bottom":"left",dtype:c?"radialLinear":u?"category":"linear"}}))),Xt(s,i=>{const a=i.options,l=a.id,c=pN(l,a),u=rt(a.type,i.dtype);(a.position===void 0||$I(a.position,c)!==$I(i.dposition))&&(a.position=i.dposition),o[l]=!0;let f=null;if(l in r&&r[l].type===u)f=r[l];else{const h=sr.getScale(u);f=new h({id:l,type:u,ctx:this.ctx,chart:this}),r[f.id]=f}f.init(a,t)}),Xt(o,(i,a)=>{i||delete r[a]}),Xt(r,i=>{Br.configure(this,i,i.options),Br.addBox(this,i)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,r=t.length;if(t.sort((o,s)=>o.index-s.index),r>n){for(let o=n;o<r;++o)this._destroyDatasetMeta(o);t.splice(n,r-n)}this._sortedMetasets=t.slice(0).sort(LI("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:n}}=this;t.length>n.length&&delete this._stacks,t.forEach((r,o)=>{n.filter(s=>s===r._dataset).length===0&&this._destroyDatasetMeta(o)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let r,o;for(this._removeUnreferencedMetasets(),r=0,o=n.length;r<o;r++){const s=n[r];let i=this.getDatasetMeta(r);const a=s.type||this.config.type;if(i.type&&i.type!==a&&(this._destroyDatasetMeta(r),i=this.getDatasetMeta(r)),i.type=a,i.indexAxis=s.indexAxis||hN(a,this.options),i.order=s.order||0,i.index=r,i.label=""+s.label,i.visible=this.isDatasetVisible(r),i.controller)i.controller.updateIndex(r),i.controller.linkScales();else{const l=sr.getController(a),{datasetElementType:c,dataElementType:u}=jn.datasets[a];Object.assign(l,{dataElementType:sr.getElement(u),datasetElementType:c&&sr.getElement(c)}),i.controller=new l(this,r),t.push(i.controller)}}return this._updateMetasets(),t}_resetElements(){Xt(this.data.datasets,(t,n)=>{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const r=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),o=this._animationsDisabled=!r.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let i=0;for(let c=0,u=this.data.datasets.length;c<u;c++){const{controller:f}=this.getDatasetMeta(c),h=!o&&s.indexOf(f)===-1;f.buildOrUpdateElements(h),i=Math.max(+f.getMaxOverflow(),i)}i=this._minPadding=r.layout.autoPadding?i:0,this._updateLayout(i),o||Xt(s,c=>{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(LI("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){Xt(this.scales,t=>{Br.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),r=new Set(t.events);(!QA(n,r)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:r,start:o,count:s}of n){const i=r==="_removeElements"?-s:s;Wxe(t,o,i)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,r=s=>new Set(t.filter(i=>i[0]===s).map((i,a)=>a+","+i.splice(1).join(","))),o=r(0);for(let s=1;s<n;s++)if(!QA(o,r(s)))return;return Array.from(o).map(s=>s.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Br.update(this,this.width,this.height,t);const n=this.chartArea,r=n.width<=0||n.height<=0;this._layers=[],Xt(this.boxes,o=>{r&&o.position==="chartArea"||(o.configure&&o.configure(),this._layers.push(...o._layers()))},this),this._layers.forEach((o,s)=>{o._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,r=this.data.datasets.length;n<r;++n)this.getDatasetMeta(n).controller.configure();for(let n=0,r=this.data.datasets.length;n<r;++n)this._updateDataset(n,Yl(t)?t({datasetIndex:n}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,n){const r=this.getDatasetMeta(t),o={meta:r,index:t,mode:n,cancelable:!0};this.notifyPlugins("beforeDatasetUpdate",o)!==!1&&(r.controller._update(n),o.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",o))}render(){this.notifyPlugins("beforeRender",{cancelable:!0})!==!1&&(ga.has(this)?this.attached&&!ga.running(this)&&ga.start(this):(this.draw(),zI({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:r,height:o}=this._resizeBeforeDraw;this._resizeBeforeDraw=null,this._resize(r,o)}if(this.clear(),this.width<=0||this.height<=0||this.notifyPlugins("beforeDraw",{cancelable:!0})===!1)return;const n=this._layers;for(t=0;t<n.length&&n[t].z<=0;++t)n[t].draw(this.chartArea);for(this._drawDatasets();t<n.length;++t)n[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const n=this._sortedMetasets,r=[];let o,s;for(o=0,s=n.length;o<s;++o){const i=n[o];(!t||i.visible)&&r.push(i)}return r}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0})===!1)return;const t=this.getSortedVisibleDatasetMetas();for(let n=t.length-1;n>=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,r=t._clip,o=!r.disabled,s=Gxe(t,this.chartArea),i={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",i)!==!1&&(o&&cu(n,{left:r.left===!1?0:s.left-r.left,right:r.right===!1?this.width:s.right+r.right,top:r.top===!1?0:s.top-r.top,bottom:r.bottom===!1?this.height:s.bottom+r.bottom}),t.controller.draw(),o&&uu(n),i.cancelable=!1,this.notifyPlugins("afterDatasetDraw",i))}isPointInArea(t){return Da(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,r,o){const s=H0e.modes[n];return typeof s=="function"?s(this,t,r,o):[]}getDatasetMeta(t){const n=this.data.datasets[t],r=this._metasets;let o=r.filter(s=>s&&s._dataset===n).pop();return o||(o={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},r.push(o)),o}getContext(){return this.$context||(this.$context=cc(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const r=this.getDatasetMeta(t);return typeof r.hidden=="boolean"?!r.hidden:!n.hidden}setDatasetVisibility(t,n){const r=this.getDatasetMeta(t);r.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,r){const o=r?"show":"hide",s=this.getDatasetMeta(t),i=s.controller._resolveAnimations(void 0,o);Im(n)?(s.data[n].hidden=!r,this.update()):(this.setDatasetVisibility(t,r),i.update(s,{visible:r}),this.update(a=>a.datasetIndex===t?o:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),ga.remove(this),t=0,n=this.data.datasets.length;t<n;++t)this._destroyDatasetMeta(t)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:t,ctx:n}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),aI(t,n),this.platform.releaseContext(n),this.canvas=null,this.ctx=null),delete k0[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,n=this.platform,r=(s,i)=>{n.addEventListener(this,s,i),t[s]=i},o=(s,i,a)=>{s.offsetX=i,s.offsetY=a,this._eventHandler(s)};Xt(this.options.events,s=>r(s,o))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,r=(l,c)=>{n.addEventListener(this,l,c),t[l]=c},o=(l,c)=>{t[l]&&(n.removeEventListener(this,l,c),delete t[l])},s=(l,c)=>{this.canvas&&this.resize(l,c)};let i;const a=()=>{o("attach",a),this.attached=!0,this.resize(),r("resize",s),r("detach",i)};i=()=>{this.attached=!1,o("resize",s),this._stop(),this._resize(0,0),r("attach",a)},n.isAttached(this.canvas)?a():i()}unbindEvents(){Xt(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},Xt(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,r){const o=r?"set":"remove";let s,i,a,l;for(n==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+o+"DatasetHoverStyle"]()),a=0,l=t.length;a<l;++a){i=t[a];const c=i&&this.getDatasetMeta(i.datasetIndex).controller;c&&c[o+"HoverStyle"](i.element,i.datasetIndex,i.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const n=this._active||[],r=t.map(({datasetIndex:s,index:i})=>{const a=this.getDatasetMeta(s);if(!a)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:a.data[i],index:i}});!wx(r,n)&&(this._active=r,this._lastEvent=null,this._updateHoverStyles(r,n))}notifyPlugins(t,n,r){return this._plugins.notify(this,t,n,r)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,r){const o=this.options.hover,s=(l,c)=>l.filter(u=>!c.some(f=>u.datasetIndex===f.datasetIndex&&u.index===f.index)),i=s(n,t),a=r?t:s(t,n);i.length&&this.updateHoverStyle(i,o.mode,!1),a.length&&o.mode&&this.updateHoverStyle(a,o.mode,!0)}_eventHandler(t,n){const r={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},o=i=>(i.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",r,o)===!1)return;const s=this._handleEvent(t,n,r.inChartArea);return r.cancelable=!1,this.notifyPlugins("afterEvent",r,o),(s||r.changed)&&this.render(),this}_handleEvent(t,n,r){const{_active:o=[],options:s}=this,i=n,a=this._getActiveElements(t,o,r,i),l=eye(t),c=qxe(t,this._lastEvent,r,l);r&&(this._lastEvent=null,an(s.onHover,[t,a,this],this),l&&an(s.onClick,[t,a,this],this));const u=!wx(a,o);return(u||n)&&(this._active=a,this._updateHoverStyles(a,o,n)),this._lastEvent=c,u}_getActiveElements(t,n,r,o){if(t.type==="mouseout")return[];if(!r)return n;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,o)}}_e(hn,"defaults",jn),_e(hn,"instances",k0),_e(hn,"overrides",Du),_e(hn,"registry",sr),_e(hn,"version",Vxe),_e(hn,"getChart",BI);function VI(){return Xt(hn.instances,e=>e._plugins.invalidate())}function Yxe(e,t,n){const{startAngle:r,pixelMargin:o,x:s,y:i,outerRadius:a,innerRadius:l}=t;let c=o/a;e.beginPath(),e.arc(s,i,a,r-c,n+c),l>o?(c=o/l,e.arc(s,i,l,n+c,r-c,!0)):e.arc(s,i,o,n+er,r-er),e.closePath(),e.clip()}function Zxe(e){return hR(e,["outerStart","outerEnd","innerStart","innerEnd"])}function Kxe(e,t,n,r){const o=Zxe(e.options.borderRadius),s=(n-t)/2,i=Math.min(s,r*t/2),a=l=>{const c=(n-Math.min(s,l))*r/2;return Sr(l,0,Math.min(s,c))};return{outerStart:a(o.outerStart),outerEnd:a(o.outerEnd),innerStart:Sr(o.innerStart,0,i),innerEnd:Sr(o.innerEnd,0,i)}}function vd(e,t,n,r){return{x:n+e*Math.cos(t),y:r+e*Math.sin(t)}}function jx(e,t,n,r,o,s){const{x:i,y:a,startAngle:l,pixelMargin:c,innerRadius:u}=t,f=Math.max(t.outerRadius+r+n-c,0),h=u>0?u+r+n+c:0;let p=0;const m=o-l;if(r){const A=u>0?u-r:0,F=f>0?f-r:0,H=(A+F)/2,W=H!==0?m*H/(H+r):m;p=(m-W)/2}const g=Math.max(.001,m*f-n/Rn)/f,y=(m-g)/2,b=l+y+p,x=o-y-p,{outerStart:v,outerEnd:w,innerStart:S,innerEnd:E}=Kxe(t,h,f,x-b),C=f-v,_=f-w,j=b+v/C,R=x-w/_,P=h+S,M=h+E,O=b+S/P,I=x-E/M;if(e.beginPath(),s){const A=(j+R)/2;if(e.arc(i,a,f,j,A),e.arc(i,a,f,A,R),w>0){const $=vd(_,R,i,a);e.arc($.x,$.y,w,R,x+er)}const F=vd(M,x,i,a);if(e.lineTo(F.x,F.y),E>0){const $=vd(M,I,i,a);e.arc($.x,$.y,E,x+er,I+Math.PI)}const H=(x-E/h+(b+S/h))/2;if(e.arc(i,a,h,x-E/h,H,!0),e.arc(i,a,h,H,b+S/h,!0),S>0){const $=vd(P,O,i,a);e.arc($.x,$.y,S,O+Math.PI,b-er)}const W=vd(C,b,i,a);if(e.lineTo(W.x,W.y),v>0){const $=vd(C,j,i,a);e.arc($.x,$.y,v,b-er,j)}}else{e.moveTo(i,a);const A=Math.cos(j)*f+i,F=Math.sin(j)*f+a;e.lineTo(A,F);const H=Math.cos(R)*f+i,W=Math.sin(R)*f+a;e.lineTo(H,W)}e.closePath()}function Xxe(e,t,n,r,o){const{fullCircles:s,startAngle:i,circumference:a}=t;let l=t.endAngle;if(s){jx(e,t,n,r,l,o);for(let c=0;c<s;++c)e.fill();isNaN(a)||(l=i+(a%_n||_n))}return jx(e,t,n,r,l,o),e.fill(),l}function Qxe(e,t,n,r,o){const{fullCircles:s,startAngle:i,circumference:a,options:l}=t,{borderWidth:c,borderJoinStyle:u,borderDash:f,borderDashOffset:h}=l,p=l.borderAlign==="inner";if(!c)return;e.setLineDash(f||[]),e.lineDashOffset=h,p?(e.lineWidth=c*2,e.lineJoin=u||"round"):(e.lineWidth=c,e.lineJoin=u||"bevel");let m=t.endAngle;if(s){jx(e,t,n,r,m,o);for(let g=0;g<s;++g)e.stroke();isNaN(a)||(m=i+(a%_n||_n))}p&&Yxe(e,t,m),s||(jx(e,t,n,r,m,o),e.stroke())}class Vd extends aa{constructor(n){super();_e(this,"circumference");_e(this,"endAngle");_e(this,"fullCircles");_e(this,"innerRadius");_e(this,"outerRadius");_e(this,"pixelMargin");_e(this,"startAngle");this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,n&&Object.assign(this,n)}inRange(n,r,o){const s=this.getProps(["x","y"],o),{angle:i,distance:a}=G7(s,{x:n,y:r}),{startAngle:l,endAngle:c,innerRadius:u,outerRadius:f,circumference:h}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],o),p=(this.options.spacing+this.options.borderWidth)/2,m=rt(h,c-l),g=Om(i,l,c)&&l!==c,y=m>=_n||g,b=Ra(a,u+p,f+p);return y&&b}getCenterPoint(n){const{x:r,y:o,startAngle:s,endAngle:i,innerRadius:a,outerRadius:l}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],n),{offset:c,spacing:u}=this.options,f=(s+i)/2,h=(a+l+u+c)/2;return{x:r+Math.cos(f)*h,y:o+Math.sin(f)*h}}tooltipPosition(n){return this.getCenterPoint(n)}draw(n){const{options:r,circumference:o}=this,s=(r.offset||0)/4,i=(r.spacing||0)/2,a=r.circular;if(this.pixelMargin=r.borderAlign==="inner"?.33:0,this.fullCircles=o>_n?Math.floor(o/_n):0,o===0||this.innerRadius<0||this.outerRadius<0)return;n.save();const l=(this.startAngle+this.endAngle)/2;n.translate(Math.cos(l)*s,Math.sin(l)*s);const c=1-Math.sin(Math.min(Rn,o||0)),u=s*c;n.fillStyle=r.backgroundColor,n.strokeStyle=r.borderColor,Xxe(n,this,u,i,a),Qxe(n,this,u,i,a),n.restore()}}_e(Vd,"id","arc"),_e(Vd,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0}),_e(Vd,"defaultRoutes",{backgroundColor:"backgroundColor"}),_e(Vd,"descriptors",{_scriptable:!0,_indexable:n=>n!=="borderDash"});function kB(e,t,n=t){e.lineCap=rt(n.borderCapStyle,t.borderCapStyle),e.setLineDash(rt(n.borderDash,t.borderDash)),e.lineDashOffset=rt(n.borderDashOffset,t.borderDashOffset),e.lineJoin=rt(n.borderJoinStyle,t.borderJoinStyle),e.lineWidth=rt(n.borderWidth,t.borderWidth),e.strokeStyle=rt(n.borderColor,t.borderColor)}function Jxe(e,t,n){e.lineTo(n.x,n.y)}function eve(e){return e.stepped?Cye:e.tension||e.cubicInterpolationMode==="monotone"?Eye:Jxe}function _B(e,t,n={}){const r=e.length,{start:o=0,end:s=r-1}=n,{start:i,end:a}=t,l=Math.max(o,i),c=Math.min(s,a),u=o<i&&s<i||o>a&&s>a;return{count:r,start:l,loop:t.loop,ilen:c<l&&!u?r+c-l:c-l}}function tve(e,t,n,r){const{points:o,options:s}=t,{count:i,start:a,loop:l,ilen:c}=_B(o,n,r),u=eve(s);let{move:f=!0,reverse:h}=r||{},p,m,g;for(p=0;p<=c;++p)m=o[(a+(h?c-p:p))%i],!m.skip&&(f?(e.moveTo(m.x,m.y),f=!1):u(e,g,m,h,s.stepped),g=m);return l&&(m=o[(a+(h?c:0))%i],u(e,g,m,h,s.stepped)),!!l}function nve(e,t,n,r){const o=t.points,{count:s,start:i,ilen:a}=_B(o,n,r),{move:l=!0,reverse:c}=r||{};let u=0,f=0,h,p,m,g,y,b;const x=w=>(i+(c?a-w:w))%s,v=()=>{g!==y&&(e.lineTo(u,y),e.lineTo(u,g),e.lineTo(u,b))};for(l&&(p=o[x(0)],e.moveTo(p.x,p.y)),h=0;h<=a;++h){if(p=o[x(h)],p.skip)continue;const w=p.x,S=p.y,E=w|0;E===m?(S<g?g=S:S>y&&(y=S),u=(f*u+w)/++f):(v(),e.lineTo(w,S),m=E,f=0,g=y=S),b=S}v()}function mN(e){const t=e.options,n=t.borderDash&&t.borderDash.length;return!e._decimated&&!e._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!n?nve:tve}function rve(e){return e.stepped?n0e:e.tension||e.cubicInterpolationMode==="monotone"?r0e:Mc}function ove(e,t,n,r){let o=t._path;o||(o=t._path=new Path2D,t.path(o,n,r)&&o.closePath()),kB(e,t.options),e.stroke(o)}function sve(e,t,n,r){const{segments:o,options:s}=t,i=mN(t);for(const a of o)kB(e,s,a.style),e.beginPath(),i(e,t,a,{start:n,end:n+r-1})&&e.closePath(),e.stroke()}const ive=typeof Path2D=="function";function ave(e,t,n,r){ive&&!t.options.segment?ove(e,t,n,r):sve(e,t,n,r)}class Dl extends aa{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,n){const r=this.options;if((r.tension||r.cubicInterpolationMode==="monotone")&&!r.stepped&&!this._pointsUpdated){const o=r.spanGaps?this._loop:this._fullLoop;Yye(this._points,r,t,o,n),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=c0e(this,this.options.segment))}first(){const t=this.segments,n=this.points;return t.length&&n[t[0].start]}last(){const t=this.segments,n=this.points,r=t.length;return r&&n[t[r-1].end]}interpolate(t,n){const r=this.options,o=t[n],s=this.points,i=hB(this,{property:n,start:o,end:o});if(!i.length)return;const a=[],l=rve(r);let c,u;for(c=0,u=i.length;c<u;++c){const{start:f,end:h}=i[c],p=s[f],m=s[h];if(p===m){a.push(p);continue}const g=Math.abs((o-p[n])/(m[n]-p[n])),y=l(p,m,g,r.stepped);y[n]=t[n],a.push(y)}return a.length===1?a[0]:a}pathSegment(t,n,r){return mN(this)(t,this,n,r)}path(t,n,r){const o=this.segments,s=mN(this);let i=this._loop;n=n||0,r=r||this.points.length-n;for(const a of o)i&=s(t,this,a,{start:n,end:n+r-1});return!!i}draw(t,n,r,o){const s=this.options||{};(this.points||[]).length&&s.borderWidth&&(t.save(),ave(t,this,r,o),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}_e(Dl,"id","line"),_e(Dl,"defaults",{borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0}),_e(Dl,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"}),_e(Dl,"descriptors",{_scriptable:!0,_indexable:t=>t!=="borderDash"&&t!=="fill"});function HI(e,t,n,r){const o=e.options,{[n]:s}=e.getProps([n],r);return Math.abs(t-s)<o.radius+o.hitRadius}class pu extends aa{constructor(n){super();_e(this,"parsed");_e(this,"skip");_e(this,"stop");this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,n&&Object.assign(this,n)}inRange(n,r,o){const s=this.options,{x:i,y:a}=this.getProps(["x","y"],o);return Math.pow(n-i,2)+Math.pow(r-a,2)<Math.pow(s.hitRadius+s.radius,2)}inXRange(n,r){return HI(this,n,"x",r)}inYRange(n,r){return HI(this,n,"y",r)}getCenterPoint(n){const{x:r,y:o}=this.getProps(["x","y"],n);return{x:r,y:o}}size(n){n=n||this.options||{};let r=n.radius||0;r=Math.max(r,r&&n.hoverRadius||0);const o=r&&n.borderWidth||0;return(r+o)*2}draw(n,r){const o=this.options;this.skip||o.radius<.1||!Da(this,r,this.size(o)/2)||(n.strokeStyle=o.borderColor,n.lineWidth=o.borderWidth,n.fillStyle=o.backgroundColor,Nx(n,o,this.x,this.y))}getRange(){const n=this.options||{};return n.radius+n.hitRadius}}_e(pu,"id","point"),_e(pu,"defaults",{borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0}),_e(pu,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});function jB(e,t){const{x:n,y:r,base:o,width:s,height:i}=e.getProps(["x","y","base","width","height"],t);let a,l,c,u,f;return e.horizontal?(f=i/2,a=Math.min(n,o),l=Math.max(n,o),c=r-f,u=r+f):(f=s/2,a=n-f,l=n+f,c=Math.min(r,o),u=Math.max(r,o)),{left:a,top:c,right:l,bottom:u}}function Pl(e,t,n,r){return e?0:Sr(t,n,r)}function lve(e,t,n){const r=e.options.borderWidth,o=e.borderSkipped,s=nB(r);return{t:Pl(o.top,s.top,0,n),r:Pl(o.right,s.right,0,t),b:Pl(o.bottom,s.bottom,0,n),l:Pl(o.left,s.left,0,t)}}function cve(e,t,n){const{enableBorderRadius:r}=e.getProps(["enableBorderRadius"]),o=e.options.borderRadius,s=du(o),i=Math.min(t,n),a=e.borderSkipped,l=r||kt(o);return{topLeft:Pl(!l||a.top||a.left,s.topLeft,0,i),topRight:Pl(!l||a.top||a.right,s.topRight,0,i),bottomLeft:Pl(!l||a.bottom||a.left,s.bottomLeft,0,i),bottomRight:Pl(!l||a.bottom||a.right,s.bottomRight,0,i)}}function uve(e){const t=jB(e),n=t.right-t.left,r=t.bottom-t.top,o=lve(e,n/2,r/2),s=cve(e,n/2,r/2);return{outer:{x:t.left,y:t.top,w:n,h:r,radius:s},inner:{x:t.left+o.l,y:t.top+o.t,w:n-o.l-o.r,h:r-o.t-o.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(o.t,o.l)),topRight:Math.max(0,s.topRight-Math.max(o.t,o.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(o.b,o.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(o.b,o.r))}}}}function gC(e,t,n,r){const o=t===null,s=n===null,a=e&&!(o&&s)&&jB(e,r);return a&&(o||Ra(t,a.left,a.right))&&(s||Ra(n,a.top,a.bottom))}function dve(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function fve(e,t){e.rect(t.x,t.y,t.w,t.h)}function bC(e,t,n={}){const r=e.x!==n.x?-t:0,o=e.y!==n.y?-t:0,s=(e.x+e.w!==n.x+n.w?t:0)-r,i=(e.y+e.h!==n.y+n.h?t:0)-o;return{x:e.x+r,y:e.y+o,w:e.w+s,h:e.h+i,radius:e.radius}}class Ai extends aa{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:r,backgroundColor:o}}=this,{inner:s,outer:i}=uve(this),a=dve(i.radius)?Fm:fve;t.save(),(i.w!==s.w||i.h!==s.h)&&(t.beginPath(),a(t,bC(i,n,s)),t.clip(),a(t,bC(s,-n,i)),t.fillStyle=r,t.fill("evenodd")),t.beginPath(),a(t,bC(s,n)),t.fillStyle=o,t.fill(),t.restore()}inRange(t,n,r){return gC(this,t,n,r)}inXRange(t,n){return gC(this,t,null,n)}inYRange(t,n){return gC(this,null,t,n)}getCenterPoint(t){const{x:n,y:r,base:o,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(n+o)/2:n,y:s?r:(r+o)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}_e(Ai,"id","bar"),_e(Ai,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),_e(Ai,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});var hve=Object.freeze({__proto__:null,ArcElement:Vd,BarElement:Ai,LineElement:Dl,PointElement:pu});const gN=["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)"],UI=gN.map(e=>e.replace("rgb(","rgba(").replace(")",", 0.5)"));function RB(e){return gN[e%gN.length]}function MB(e){return UI[e%UI.length]}function pve(e,t){return e.borderColor=RB(t),e.backgroundColor=MB(t),++t}function mve(e,t){return e.backgroundColor=e.data.map(()=>RB(t++)),t}function gve(e,t){return e.backgroundColor=e.data.map(()=>MB(t++)),t}function bve(e){let t=0;return(n,r)=>{const o=e.getDatasetMeta(r).controller;o instanceof Vc?t=mve(n,t):o instanceof em?t=gve(n,t):o&&(t=pve(n,t))}}function WI(e){let t;for(t in e)if(e[t].borderColor||e[t].backgroundColor)return!0;return!1}function yve(e){return e&&(e.borderColor||e.backgroundColor)}function xve(){return jn.borderColor!=="rgba(0,0,0,0.1)"||jn.backgroundColor!=="rgba(0,0,0,0.1)"}var vve={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(e,t,n){if(!n.enabled)return;const{data:{datasets:r},options:o}=e.config,{elements:s}=o,i=WI(r)||yve(o)||s&&WI(s)||xve();if(!n.forceOverride&&i)return;const a=bve(e);r.forEach(a)}};function wve(e,t,n,r,o){const s=o.samples||r;if(s>=n)return e.slice(t,t+n);const i=[],a=(n-2)/(s-2);let l=0;const c=t+n-1;let u=t,f,h,p,m,g;for(i[l++]=e[u],f=0;f<s-2;f++){let y=0,b=0,x;const v=Math.floor((f+1)*a)+1+t,w=Math.min(Math.floor((f+2)*a)+1,n)+t,S=w-v;for(x=v;x<w;x++)y+=e[x].x,b+=e[x].y;y/=S,b/=S;const E=Math.floor(f*a)+1+t,C=Math.min(Math.floor((f+1)*a)+1,n)+t,{x:_,y:j}=e[u];for(p=m=-1,x=E;x<C;x++)m=.5*Math.abs((_-y)*(e[x].y-j)-(_-e[x].x)*(b-j)),m>p&&(p=m,h=e[x],g=x);i[l++]=h,u=g}return i[l++]=e[c],i}function Sve(e,t,n,r){let o=0,s=0,i,a,l,c,u,f,h,p,m,g;const y=[],b=t+n-1,x=e[t].x,w=e[b].x-x;for(i=t;i<t+n;++i){a=e[i],l=(a.x-x)/w*r,c=a.y;const S=l|0;if(S===u)c<m?(m=c,f=i):c>g&&(g=c,h=i),o=(s*o+a.x)/++s;else{const E=i-1;if(!ft(f)&&!ft(h)){const C=Math.min(f,h),_=Math.max(f,h);C!==p&&C!==E&&y.push({...e[C],x:o}),_!==p&&_!==E&&y.push({...e[_],x:o})}i>0&&E!==p&&y.push(e[E]),y.push(a),u=S,s=0,m=g=c,f=h=p=i}}return y}function DB(e){if(e._decimated){const t=e._data;delete e._decimated,delete e._data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function qI(e){e.data.datasets.forEach(t=>{DB(t)})}function Cve(e,t){const n=t.length;let r=0,o;const{iScale:s}=e,{min:i,max:a,minDefined:l,maxDefined:c}=s.getUserBounds();return l&&(r=Sr(Ma(t,s.axis,i).lo,0,n-1)),c?o=Sr(Ma(t,s.axis,a).hi+1,r,n)-r:o=n-r,{start:r,count:o}}var Eve={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(e,t,n)=>{if(!n.enabled){qI(e);return}const r=e.width;e.data.datasets.forEach((o,s)=>{const{_data:i,indexAxis:a}=o,l=e.getDatasetMeta(s),c=i||o.data;if(En([a,e.options.indexAxis])==="y"||!l.controller.supportsDecimation)return;const u=e.scales[l.xAxisID];if(u.type!=="linear"&&u.type!=="time"||e.options.parsing)return;let{start:f,count:h}=Cve(l,c);const p=n.threshold||4*r;if(h<=p){DB(o);return}ft(i)&&(o._data=c,delete o.data,Object.defineProperty(o,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(g){this._data=g}}));let m;switch(n.algorithm){case"lttb":m=wve(c,f,h,r,n);break;case"min-max":m=Sve(c,f,h,r);break;default:throw new Error(`Unsupported decimation algorithm '${n.algorithm}'`)}o._decimated=m})},destroy(e){qI(e)}};function Nve(e,t,n){const r=e.segments,o=e.points,s=t.points,i=[];for(const a of r){let{start:l,end:c}=a;c=vR(l,c,o);const u=bN(n,o[l],o[c],a.loop);if(!t.segments){i.push({source:a,target:u,start:o[l],end:o[c]});continue}const f=hB(t,u);for(const h of f){const p=bN(n,s[h.start],s[h.end],h.loop),m=fB(a,o,p);for(const g of m)i.push({source:g,target:h,start:{[n]:GI(u,p,"start",Math.max)},end:{[n]:GI(u,p,"end",Math.min)}})}}return i}function bN(e,t,n,r){if(r)return;let o=t[e],s=n[e];return e==="angle"&&(o=$o(o),s=$o(s)),{property:e,start:o,end:s}}function kve(e,t){const{x:n=null,y:r=null}=e||{},o=t.points,s=[];return t.segments.forEach(({start:i,end:a})=>{a=vR(i,a,o);const l=o[i],c=o[a];r!==null?(s.push({x:l.x,y:r}),s.push({x:c.x,y:r})):n!==null&&(s.push({x:n,y:l.y}),s.push({x:n,y:c.y}))}),s}function vR(e,t,n){for(;t>e;t--){const r=n[t];if(!isNaN(r.x)&&!isNaN(r.y))break}return t}function GI(e,t,n,r){return e&&t?r(e[n],t[n]):e?e[n]:t?t[n]:0}function PB(e,t){let n=[],r=!1;return Nn(e)?(r=!0,n=e):n=kve(e,t),n.length?new Dl({points:n,options:{tension:0},_loop:r,_fullLoop:r}):null}function YI(e){return e&&e.fill!==!1}function _ve(e,t,n){let o=e[t].fill;const s=[t];let i;if(!n)return o;for(;o!==!1&&s.indexOf(o)===-1;){if(!Gn(o))return o;if(i=e[o],!i)return!1;if(i.visible)return o;s.push(o),o=i.fill}return!1}function jve(e,t,n){const r=Pve(e);if(kt(r))return isNaN(r.value)?!1:r;let o=parseFloat(r);return Gn(o)&&Math.floor(o)===o?Rve(r[0],t,o,n):["origin","start","end","stack","shape"].indexOf(r)>=0&&r}function Rve(e,t,n,r){return(e==="-"||e==="+")&&(n=t+n),n===t||n<0||n>=r?!1:n}function Mve(e,t){let n=null;return e==="start"?n=t.bottom:e==="end"?n=t.top:kt(e)?n=t.getPixelForValue(e.value):t.getBasePixel&&(n=t.getBasePixel()),n}function Dve(e,t,n){let r;return e==="start"?r=n:e==="end"?r=t.options.reverse?t.min:t.max:kt(e)?r=e.value:r=t.getBaseValue(),r}function Pve(e){const t=e.options,n=t.fill;let r=rt(n&&n.target,n);return r===void 0&&(r=!!t.backgroundColor),r===!1||r===null?!1:r===!0?"origin":r}function Tve(e){const{scale:t,index:n,line:r}=e,o=[],s=r.segments,i=r.points,a=Ave(t,n);a.push(PB({x:null,y:t.bottom},r));for(let l=0;l<s.length;l++){const c=s[l];for(let u=c.start;u<=c.end;u++)Ive(o,i[u],a)}return new Dl({points:o,options:{}})}function Ave(e,t){const n=[],r=e.getMatchingVisibleMetas("line");for(let o=0;o<r.length;o++){const s=r[o];if(s.index===t)break;s.hidden||n.unshift(s.dataset)}return n}function Ive(e,t,n){const r=[];for(let o=0;o<n.length;o++){const s=n[o],{first:i,last:a,point:l}=Ove(s,t,"x");if(!(!l||i&&a)){if(i)r.unshift(l);else if(e.push(l),!a)break}}e.push(...r)}function Ove(e,t,n){const r=e.interpolate(t,n);if(!r)return{};const o=r[n],s=e.segments,i=e.points;let a=!1,l=!1;for(let c=0;c<s.length;c++){const u=s[c],f=i[u.start][n],h=i[u.end][n];if(Ra(o,f,h)){a=o===f,l=o===h;break}}return{first:a,last:l,point:r}}class TB{constructor(t){this.x=t.x,this.y=t.y,this.radius=t.radius}pathSegment(t,n,r){const{x:o,y:s,radius:i}=this;return n=n||{start:0,end:_n},t.arc(o,s,i,n.end,n.start,!0),!r.bounds}interpolate(t){const{x:n,y:r,radius:o}=this,s=t.angle;return{x:n+Math.cos(s)*o,y:r+Math.sin(s)*o,angle:s}}}function Fve(e){const{chart:t,fill:n,line:r}=e;if(Gn(n))return $ve(t,n);if(n==="stack")return Tve(e);if(n==="shape")return!0;const o=Lve(e);return o instanceof TB?o:PB(o,r)}function $ve(e,t){const n=e.getDatasetMeta(t);return n&&e.isDatasetVisible(t)?n.dataset:null}function Lve(e){return(e.scale||{}).getPointPositionForValue?Bve(e):zve(e)}function zve(e){const{scale:t={},fill:n}=e,r=Mve(n,t);if(Gn(r)){const o=t.isHorizontal();return{x:o?r:null,y:o?null:r}}return null}function Bve(e){const{scale:t,fill:n}=e,r=t.options,o=t.getLabels().length,s=r.reverse?t.max:t.min,i=Dve(n,t,s),a=[];if(r.grid.circular){const l=t.getPointPositionForValue(0,s);return new TB({x:l.x,y:l.y,radius:t.getDistanceFromCenterForValue(i)})}for(let l=0;l<o;++l)a.push(t.getPointPositionForValue(l,i));return a}function yC(e,t,n){const r=Fve(t),{line:o,scale:s,axis:i}=t,a=o.options,l=a.fill,c=a.backgroundColor,{above:u=c,below:f=c}=l||{};r&&o.points.length&&(cu(e,n),Vve(e,{line:o,target:r,above:u,below:f,area:n,scale:s,axis:i}),uu(e))}function Vve(e,t){const{line:n,target:r,above:o,below:s,area:i,scale:a}=t,l=n._loop?"angle":t.axis;e.save(),l==="x"&&s!==o&&(ZI(e,r,i.top),KI(e,{line:n,target:r,color:o,scale:a,property:l}),e.restore(),e.save(),ZI(e,r,i.bottom)),KI(e,{line:n,target:r,color:s,scale:a,property:l}),e.restore()}function ZI(e,t,n){const{segments:r,points:o}=t;let s=!0,i=!1;e.beginPath();for(const a of r){const{start:l,end:c}=a,u=o[l],f=o[vR(l,c,o)];s?(e.moveTo(u.x,u.y),s=!1):(e.lineTo(u.x,n),e.lineTo(u.x,u.y)),i=!!t.pathSegment(e,a,{move:i}),i?e.closePath():e.lineTo(f.x,n)}e.lineTo(t.first().x,n),e.closePath(),e.clip()}function KI(e,t){const{line:n,target:r,property:o,color:s,scale:i}=t,a=Nve(n,r,o);for(const{source:l,target:c,start:u,end:f}of a){const{style:{backgroundColor:h=s}={}}=l,p=r!==!0;e.save(),e.fillStyle=h,Hve(e,i,p&&bN(o,u,f)),e.beginPath();const m=!!n.pathSegment(e,l);let g;if(p){m?e.closePath():XI(e,r,f,o);const y=!!r.pathSegment(e,c,{move:m,reverse:!0});g=m&&y,g||XI(e,r,u,o)}e.closePath(),e.fill(g?"evenodd":"nonzero"),e.restore()}}function Hve(e,t,n){const{top:r,bottom:o}=t.chart.chartArea,{property:s,start:i,end:a}=n||{};s==="x"&&(e.beginPath(),e.rect(i,r,a-i,o-r),e.clip())}function XI(e,t,n,r){const o=t.interpolate(n,r);o&&e.lineTo(o.x,o.y)}var Uve={id:"filler",afterDatasetsUpdate(e,t,n){const r=(e.data.datasets||[]).length,o=[];let s,i,a,l;for(i=0;i<r;++i)s=e.getDatasetMeta(i),a=s.dataset,l=null,a&&a.options&&a instanceof Dl&&(l={visible:e.isDatasetVisible(i),index:i,fill:jve(a,i,r),chart:e,axis:s.controller.options.indexAxis,scale:s.vScale,line:a}),s.$filler=l,o.push(l);for(i=0;i<r;++i)l=o[i],!(!l||l.fill===!1)&&(l.fill=_ve(o,i,n.propagate))},beforeDraw(e,t,n){const r=n.drawTime==="beforeDraw",o=e.getSortedVisibleDatasetMetas(),s=e.chartArea;for(let i=o.length-1;i>=0;--i){const a=o[i].$filler;a&&(a.line.updateControlPoints(s,a.axis),r&&a.fill&&yC(e.ctx,a,s))}},beforeDatasetsDraw(e,t,n){if(n.drawTime!=="beforeDatasetsDraw")return;const r=e.getSortedVisibleDatasetMetas();for(let o=r.length-1;o>=0;--o){const s=r[o].$filler;YI(s)&&yC(e.ctx,s,e.chartArea)}},beforeDatasetDraw(e,t,n){const r=t.meta.$filler;!YI(r)||n.drawTime!=="beforeDatasetDraw"||yC(e.ctx,r,e.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const QI=(e,t)=>{let{boxHeight:n=t,boxWidth:r=t}=e;return e.usePointStyle&&(n=Math.min(n,t),r=e.pointStyleWidth||Math.min(r,t)),{boxWidth:r,boxHeight:n,itemHeight:Math.max(t,n)}},Wve=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class JI extends aa{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,r){this.maxWidth=t,this.maxHeight=n,this._margins=r,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=an(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(r=>t.filter(r,this.chart.data))),t.sort&&(n=n.sort((r,o)=>t.sort(r,o,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const r=t.labels,o=lr(r.font),s=o.size,i=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=QI(r,s);let c,u;n.font=o.string,this.isHorizontal()?(c=this.maxWidth,u=this._fitRows(i,s,a,l)+10):(u=this.maxHeight,c=this._fitCols(i,o,a,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(u,t.maxHeight||this.maxHeight)}_fitRows(t,n,r,o){const{ctx:s,maxWidth:i,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],u=o+a;let f=t;s.textAlign="left",s.textBaseline="middle";let h=-1,p=-u;return this.legendItems.forEach((m,g)=>{const y=r+n/2+s.measureText(m.text).width;(g===0||c[c.length-1]+y+2*a>i)&&(f+=u,c[c.length-(g>0?0:1)]=0,p+=u,h++),l[g]={left:0,top:p,row:h,width:y,height:o},c[c.length-1]+=y+a}),f}_fitCols(t,n,r,o){const{ctx:s,maxHeight:i,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],u=i-t;let f=a,h=0,p=0,m=0,g=0;return this.legendItems.forEach((y,b)=>{const{itemWidth:x,itemHeight:v}=qve(r,n,s,y,o);b>0&&p+v+2*a>u&&(f+=h+a,c.push({width:h,height:p}),m+=h+a,g++,h=p=0),l[b]={left:m,top:p,col:g,width:x,height:v},h=Math.max(h,x),p+=v+a}),f+=h,c.push({width:h,height:p}),f}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:r,labels:{padding:o},rtl:s}}=this,i=cf(s,this.left,this.width);if(this.isHorizontal()){let a=0,l=Fr(r,this.left+o,this.right-this.lineWidths[a]);for(const c of n)a!==c.row&&(a=c.row,l=Fr(r,this.left+o,this.right-this.lineWidths[a])),c.top+=this.top+t+o,c.left=i.leftForLtr(i.x(l),c.width),l+=c.width+o}else{let a=0,l=Fr(r,this.top+t+o,this.bottom-this.columnSizes[a].height);for(const c of n)c.col!==a&&(a=c.col,l=Fr(r,this.top+t+o,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+o,c.left=i.leftForLtr(i.x(c.left),c.width),l+=c.height+o}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;cu(t,this),this._draw(),uu(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:r,ctx:o}=this,{align:s,labels:i}=t,a=jn.color,l=cf(t.rtl,this.left,this.width),c=lr(i.font),{padding:u}=i,f=c.size,h=f/2;let p;this.drawTitle(),o.textAlign=l.textAlign("left"),o.textBaseline="middle",o.lineWidth=.5,o.font=c.string;const{boxWidth:m,boxHeight:g,itemHeight:y}=QI(i,f),b=function(E,C,_){if(isNaN(m)||m<=0||isNaN(g)||g<0)return;o.save();const j=rt(_.lineWidth,1);if(o.fillStyle=rt(_.fillStyle,a),o.lineCap=rt(_.lineCap,"butt"),o.lineDashOffset=rt(_.lineDashOffset,0),o.lineJoin=rt(_.lineJoin,"miter"),o.lineWidth=j,o.strokeStyle=rt(_.strokeStyle,a),o.setLineDash(rt(_.lineDash,[])),i.usePointStyle){const R={radius:g*Math.SQRT2/2,pointStyle:_.pointStyle,rotation:_.rotation,borderWidth:j},P=l.xPlus(E,m/2),M=C+h;tB(o,R,P,M,i.pointStyleWidth&&m)}else{const R=C+Math.max((f-g)/2,0),P=l.leftForLtr(E,m),M=du(_.borderRadius);o.beginPath(),Object.values(M).some(O=>O!==0)?Fm(o,{x:P,y:R,w:m,h:g,radius:M}):o.rect(P,R,m,g),o.fill(),j!==0&&o.stroke()}o.restore()},x=function(E,C,_){Pu(o,_.text,E,C+y/2,c,{strikethrough:_.hidden,textAlign:l.textAlign(_.textAlign)})},v=this.isHorizontal(),w=this._computeTitleHeight();v?p={x:Fr(s,this.left+u,this.right-r[0]),y:this.top+u+w,line:0}:p={x:this.left+u,y:Fr(s,this.top+w+u,this.bottom-n[0].height),line:0},cB(this.ctx,t.textDirection);const S=y+u;this.legendItems.forEach((E,C)=>{o.strokeStyle=E.fontColor,o.fillStyle=E.fontColor;const _=o.measureText(E.text).width,j=l.textAlign(E.textAlign||(E.textAlign=i.textAlign)),R=m+h+_;let P=p.x,M=p.y;l.setWidth(this.width),v?C>0&&P+R+u>this.right&&(M=p.y+=S,p.line++,P=p.x=Fr(s,this.left+u,this.right-r[p.line])):C>0&&M+S>this.bottom&&(P=p.x=P+n[p.line].width+u,p.line++,M=p.y=Fr(s,this.top+w+u,this.bottom-n[p.line].height));const O=l.x(P);if(b(O,M,E),P=fye(j,P+m+h,v?P+R:this.right,t.rtl),x(l.x(P),M,E),v)p.x+=R+u;else if(typeof E.text!="string"){const I=c.lineHeight;p.y+=AB(E,I)+u}else p.y+=S}),uB(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,r=lr(n.font),o=Mr(n.padding);if(!n.display)return;const s=cf(t.rtl,this.left,this.width),i=this.ctx,a=n.position,l=r.size/2,c=o.top+l;let u,f=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),u=this.top+c,f=Fr(t.align,f,this.right-h);else{const m=this.columnSizes.reduce((g,y)=>Math.max(g,y.height),0);u=c+Fr(t.align,this.top,this.bottom-m-t.labels.padding-this._computeTitleHeight())}const p=Fr(a,f,f+h);i.textAlign=s.textAlign(dR(a)),i.textBaseline="middle",i.strokeStyle=n.color,i.fillStyle=n.color,i.font=r.string,Pu(i,n.text,p,u,r)}_computeTitleHeight(){const t=this.options.title,n=lr(t.font),r=Mr(t.padding);return t.display?n.lineHeight+r.height:0}_getLegendItemAt(t,n){let r,o,s;if(Ra(t,this.left,this.right)&&Ra(n,this.top,this.bottom)){for(s=this.legendHitBoxes,r=0;r<s.length;++r)if(o=s[r],Ra(t,o.left,o.left+o.width)&&Ra(n,o.top,o.top+o.height))return this.legendItems[r]}return null}handleEvent(t){const n=this.options;if(!Zve(t.type,n))return;const r=this._getLegendItemAt(t.x,t.y);if(t.type==="mousemove"||t.type==="mouseout"){const o=this._hoveredItem,s=Wve(o,r);o&&!s&&an(n.onLeave,[t,o,this],this),this._hoveredItem=r,r&&!s&&an(n.onHover,[t,r,this],this)}else r&&an(n.onClick,[t,r,this],this)}}function qve(e,t,n,r,o){const s=Gve(r,e,t,n),i=Yve(o,r,t.lineHeight);return{itemWidth:s,itemHeight:i}}function Gve(e,t,n,r){let o=e.text;return o&&typeof o!="string"&&(o=o.reduce((s,i)=>s.length>i.length?s:i)),t+n.size/2+r.measureText(o).width}function Yve(e,t,n){let r=e;return typeof t.text!="string"&&(r=AB(t,n)),r}function AB(e,t){const n=e.text?e.text.length:0;return t*n}function Zve(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var Kve={id:"legend",_element:JI,start(e,t,n){const r=e.legend=new JI({ctx:e.ctx,options:n,chart:e});Br.configure(e,r,n),Br.addBox(e,r)},stop(e){Br.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const r=e.legend;Br.configure(e,r,n),r.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const r=t.datasetIndex,o=n.chart;o.isDatasetVisible(r)?(o.hide(r),t.hidden=!0):(o.show(r),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:r,textAlign:o,color:s,useBorderRadius:i,borderRadius:a}}=e.legend.options;return e._getSortedDatasetMetas().map(l=>{const c=l.controller.getStyle(n?0:void 0),u=Mr(c.borderWidth);return{text:t[l.index].label,fillStyle:c.backgroundColor,fontColor:s,hidden:!l.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(u.width+u.height)/4,strokeStyle:c.borderColor,pointStyle:r||c.pointStyle,rotation:c.rotation,textAlign:o||c.textAlign,borderRadius:i&&(a||c.borderRadius),datasetIndex:l.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};let wR=class extends aa{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.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(t,n){const r=this.options;if(this.left=0,this.top=0,!r.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const o=Nn(r.text)?r.text.length:1;this._padding=Mr(r.padding);const s=o*lr(r.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:r,bottom:o,right:s,options:i}=this,a=i.align;let l=0,c,u,f;return this.isHorizontal()?(u=Fr(a,r,s),f=n+t,c=s-r):(i.position==="left"?(u=r+t,f=Fr(a,o,n),l=Rn*-.5):(u=s-t,f=Fr(a,n,o),l=Rn*.5),c=o-n),{titleX:u,titleY:f,maxWidth:c,rotation:l}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const r=lr(n.font),s=r.lineHeight/2+this._padding.top,{titleX:i,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(s);Pu(t,n.text,0,0,r,{color:n.color,maxWidth:l,rotation:c,textAlign:dR(n.align),textBaseline:"middle",translation:[i,a]})}};function Xve(e,t){const n=new wR({ctx:e.ctx,options:t,chart:e});Br.configure(e,n,t),Br.addBox(e,n),e.titleBlock=n}var Qve={id:"title",_element:wR,start(e,t,n){Xve(e,n)},stop(e){const t=e.titleBlock;Br.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const r=e.titleBlock;Br.configure(e,r,n),r.options=n},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}};const wy=new WeakMap;var Jve={id:"subtitle",start(e,t,n){const r=new wR({ctx:e.ctx,options:n,chart:e});Br.configure(e,r,n),Br.addBox(e,r),wy.set(e,r)},stop(e){Br.removeBox(e,wy.get(e)),wy.delete(e)},beforeUpdate(e,t,n){const r=wy.get(e);Br.configure(e,r,n),r.options=n},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const vp={average(e){if(!e.length)return!1;let t,n,r=new Set,o=0,s=0;for(t=0,n=e.length;t<n;++t){const a=e[t].element;if(a&&a.hasValue()){const l=a.tooltipPosition();r.add(l.x),o+=l.y,++s}}return s===0||r.size===0?!1:{x:[...r].reduce((a,l)=>a+l)/r.size,y:o/s}},nearest(e,t){if(!e.length)return!1;let n=t.x,r=t.y,o=Number.POSITIVE_INFINITY,s,i,a;for(s=0,i=e.length;s<i;++s){const l=e[s].element;if(l&&l.hasValue()){const c=l.getCenterPoint(),u=uN(t,c);u<o&&(o=u,a=l)}}if(a){const l=a.tooltipPosition();n=l.x,r=l.y}return{x:n,y:r}}};function yi(e,t){return t&&(Nn(t)?Array.prototype.push.apply(e,t):e.push(t)),e}function ba(e){return(typeof e=="string"||e instanceof String)&&e.indexOf(`
|
|
702
702
|
`)>-1?e.split(`
|
|
703
|
-
`):e}function ewe(e,t){const{element:n,datasetIndex:r,index:o}=t,s=e.getDatasetMeta(r).controller,{label:i,value:a}=s.getLabelAndValue(o);return{chart:e,label:i,parsed:s.getParsed(o),raw:e.data.datasets[r].data[o],formattedValue:a,dataset:s.getDataset(),dataIndex:o,datasetIndex:r,element:n}}function eO(e,t){const n=e.chart.ctx,{body:r,footer:o,title:s}=e,{boxWidth:i,boxHeight:a}=t,l=lr(t.bodyFont),c=lr(t.titleFont),u=lr(t.footerFont),f=s.length,h=o.length,p=r.length,m=Mr(t.padding);let g=m.height,y=0,b=r.reduce((w,S)=>w+S.before.length+S.lines.length+S.after.length,0);if(b+=e.beforeBody.length+e.afterBody.length,f&&(g+=f*c.lineHeight+(f-1)*t.titleSpacing+t.titleMarginBottom),b){const w=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;g+=p*w+(b-p)*l.lineHeight+(b-1)*t.bodySpacing}h&&(g+=t.footerMarginTop+h*u.lineHeight+(h-1)*t.footerSpacing);let x=0;const v=function(w){y=Math.max(y,n.measureText(w).width+x)};return n.save(),n.font=c.string,Xt(e.title,v),n.font=l.string,Xt(e.beforeBody.concat(e.afterBody),v),x=t.displayColors?i+2+t.boxPadding:0,Xt(r,w=>{Xt(w.before,v),Xt(w.lines,v),Xt(w.after,v)}),x=0,n.font=u.string,Xt(e.footer,v),n.restore(),y+=m.width,{width:y,height:g}}function twe(e,t){const{y:n,height:r}=t;return n<r/2?"top":n>e.height-r/2?"bottom":"center"}function nwe(e,t,n,r){const{x:o,width:s}=r,i=n.caretSize+n.caretPadding;if(e==="left"&&o+s+i>t.width||e==="right"&&o-s-i<0)return!0}function rwe(e,t,n,r){const{x:o,width:s}=n,{width:i,chartArea:{left:a,right:l}}=e;let c="center";return r==="center"?c=o<=(a+l)/2?"left":"right":o<=s/2?c="left":o>=i-s/2&&(c="right"),nwe(c,e,t,n)&&(c="center"),c}function tO(e,t,n){const r=n.yAlign||t.yAlign||twe(e,n);return{xAlign:n.xAlign||t.xAlign||rwe(e,t,n,r),yAlign:r}}function owe(e,t){let{x:n,width:r}=e;return t==="right"?n-=r:t==="center"&&(n-=r/2),n}function swe(e,t,n){let{y:r,height:o}=e;return t==="top"?r+=n:t==="bottom"?r-=o+n:r-=o/2,r}function nO(e,t,n,r){const{caretSize:o,caretPadding:s,cornerRadius:i}=e,{xAlign:a,yAlign:l}=n,c=o+s,{topLeft:u,topRight:f,bottomLeft:h,bottomRight:p}=du(i);let m=owe(t,a);const g=swe(t,l,c);return l==="center"?a==="left"?m+=c:a==="right"&&(m-=c):a==="left"?m-=Math.max(u,h)+o:a==="right"&&(m+=Math.max(f,p)+o),{x:Sr(m,0,r.width-t.width),y:Sr(g,0,r.height-t.height)}}function Sy(e,t,n){const r=Mr(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-r.right:e.x+r.left}function rO(e){return yi([],ba(e))}function iwe(e,t,n){return cc(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function oO(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const IB={beforeTitle:fa,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,r=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(r>0&&t.dataIndex<r)return n[t.dataIndex]}return""},afterTitle:fa,beforeBody:fa,beforeLabel:fa,label(e){if(this&&this.options&&this.options.mode==="dataset")return e.label+": "+e.formattedValue||e.formattedValue;let t=e.dataset.label||"";t&&(t+=": ");const n=e.formattedValue;return ft(n)||(t+=n),t},labelColor(e){const n=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{borderColor:n.borderColor,backgroundColor:n.backgroundColor,borderWidth:n.borderWidth,borderDash:n.borderDash,borderDashOffset:n.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(e){const n=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{pointStyle:n.pointStyle,rotation:n.rotation}},afterLabel:fa,afterBody:fa,beforeFooter:fa,footer:fa,afterFooter:fa};function mo(e,t,n,r){const o=e[t].call(n,r);return typeof o>"u"?IB[t].call(n,r):o}var FE;let sO=(FE=class extends aa{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,r=this.options.setContext(this.getContext()),o=r.enabled&&n.options.animation&&r.animations,s=new pB(this.chart,o);return o._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=iwe(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:r}=n,o=mo(r,"beforeTitle",this,t),s=mo(r,"title",this,t),i=mo(r,"afterTitle",this,t);let a=[];return a=yi(a,ba(o)),a=yi(a,ba(s)),a=yi(a,ba(i)),a}getBeforeBody(t,n){return rO(mo(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:r}=n,o=[];return Xt(t,s=>{const i={before:[],lines:[],after:[]},a=oO(r,s);yi(i.before,ba(mo(a,"beforeLabel",this,s))),yi(i.lines,mo(a,"label",this,s)),yi(i.after,ba(mo(a,"afterLabel",this,s))),o.push(i)}),o}getAfterBody(t,n){return rO(mo(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:r}=n,o=mo(r,"beforeFooter",this,t),s=mo(r,"footer",this,t),i=mo(r,"afterFooter",this,t);let a=[];return a=yi(a,ba(o)),a=yi(a,ba(s)),a=yi(a,ba(i)),a}_createItems(t){const n=this._active,r=this.chart.data,o=[],s=[],i=[];let a=[],l,c;for(l=0,c=n.length;l<c;++l)a.push(ewe(this.chart,n[l]));return t.filter&&(a=a.filter((u,f,h)=>t.filter(u,f,h,r))),t.itemSort&&(a=a.sort((u,f)=>t.itemSort(u,f,r))),Xt(a,u=>{const f=oO(t.callbacks,u);o.push(mo(f,"labelColor",this,u)),s.push(mo(f,"labelPointStyle",this,u)),i.push(mo(f,"labelTextColor",this,u))}),this.labelColors=o,this.labelPointStyles=s,this.labelTextColors=i,this.dataPoints=a,a}update(t,n){const r=this.options.setContext(this.getContext()),o=this._active;let s,i=[];if(!o.length)this.opacity!==0&&(s={opacity:0});else{const a=vp[r.position].call(this,o,this._eventPosition);i=this._createItems(r),this.title=this.getTitle(i,r),this.beforeBody=this.getBeforeBody(i,r),this.body=this.getBody(i,r),this.afterBody=this.getAfterBody(i,r),this.footer=this.getFooter(i,r);const l=this._size=eO(this,r),c=Object.assign({},a,l),u=tO(this.chart,r,c),f=nO(r,c,u,this.chart);this.xAlign=u.xAlign,this.yAlign=u.yAlign,s={opacity:1,x:f.x,y:f.y,width:l.width,height:l.height,caretX:a.x,caretY:a.y}}this._tooltipItems=i,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&r.external&&r.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,r,o){const s=this.getCaretPosition(t,r,o);n.lineTo(s.x1,s.y1),n.lineTo(s.x2,s.y2),n.lineTo(s.x3,s.y3)}getCaretPosition(t,n,r){const{xAlign:o,yAlign:s}=this,{caretSize:i,cornerRadius:a}=r,{topLeft:l,topRight:c,bottomLeft:u,bottomRight:f}=du(a),{x:h,y:p}=t,{width:m,height:g}=n;let y,b,x,v,w,S;return s==="center"?(w=p+g/2,o==="left"?(y=h,b=y-i,v=w+i,S=w-i):(y=h+m,b=y+i,v=w-i,S=w+i),x=y):(o==="left"?b=h+Math.max(l,u)+i:o==="right"?b=h+m-Math.max(c,f)-i:b=this.caretX,s==="top"?(v=p,w=v-i,y=b-i,x=b+i):(v=p+g,w=v+i,y=b+i,x=b-i),S=v),{x1:y,x2:b,x3:x,y1:v,y2:w,y3:S}}drawTitle(t,n,r){const o=this.title,s=o.length;let i,a,l;if(s){const c=cf(r.rtl,this.x,this.width);for(t.x=Sy(this,r.titleAlign,r),n.textAlign=c.textAlign(r.titleAlign),n.textBaseline="middle",i=lr(r.titleFont),a=r.titleSpacing,n.fillStyle=r.titleColor,n.font=i.string,l=0;l<s;++l)n.fillText(o[l],c.x(t.x),t.y+i.lineHeight/2),t.y+=i.lineHeight+a,l+1===s&&(t.y+=r.titleMarginBottom-a)}}_drawColorBox(t,n,r,o,s){const i=this.labelColors[r],a=this.labelPointStyles[r],{boxHeight:l,boxWidth:c}=s,u=lr(s.bodyFont),f=Sy(this,"left",s),h=o.x(f),p=l<u.lineHeight?(u.lineHeight-l)/2:0,m=n.y+p;if(s.usePointStyle){const g={radius:Math.min(c,l)/2,pointStyle:a.pointStyle,rotation:a.rotation,borderWidth:1},y=o.leftForLtr(h,c)+c/2,b=m+l/2;t.strokeStyle=s.multiKeyBackground,t.fillStyle=s.multiKeyBackground,Nx(t,g,y,b),t.strokeStyle=i.borderColor,t.fillStyle=i.backgroundColor,Nx(t,g,y,b)}else{t.lineWidth=kt(i.borderWidth)?Math.max(...Object.values(i.borderWidth)):i.borderWidth||1,t.strokeStyle=i.borderColor,t.setLineDash(i.borderDash||[]),t.lineDashOffset=i.borderDashOffset||0;const g=o.leftForLtr(h,c),y=o.leftForLtr(o.xPlus(h,1),c-2),b=du(i.borderRadius);Object.values(b).some(x=>x!==0)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,Fm(t,{x:g,y:m,w:c,h:l,radius:b}),t.fill(),t.stroke(),t.fillStyle=i.backgroundColor,t.beginPath(),Fm(t,{x:y,y:m+1,w:c-2,h:l-2,radius:b}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(g,m,c,l),t.strokeRect(g,m,c,l),t.fillStyle=i.backgroundColor,t.fillRect(y,m+1,c-2,l-2))}t.fillStyle=this.labelTextColors[r]}drawBody(t,n,r){const{body:o}=this,{bodySpacing:s,bodyAlign:i,displayColors:a,boxHeight:l,boxWidth:c,boxPadding:u}=r,f=lr(r.bodyFont);let h=f.lineHeight,p=0;const m=cf(r.rtl,this.x,this.width),g=function(_){n.fillText(_,m.x(t.x+p),t.y+h/2),t.y+=h+s},y=m.textAlign(i);let b,x,v,w,S,E,C;for(n.textAlign=i,n.textBaseline="middle",n.font=f.string,t.x=Sy(this,y,r),n.fillStyle=r.bodyColor,Xt(this.beforeBody,g),p=a&&y!=="right"?i==="center"?c/2+u:c+2+u:0,w=0,E=o.length;w<E;++w){for(b=o[w],x=this.labelTextColors[w],n.fillStyle=x,Xt(b.before,g),v=b.lines,a&&v.length&&(this._drawColorBox(n,t,w,m,r),h=Math.max(f.lineHeight,l)),S=0,C=v.length;S<C;++S)g(v[S]),h=f.lineHeight;Xt(b.after,g)}p=0,h=f.lineHeight,Xt(this.afterBody,g),t.y-=s}drawFooter(t,n,r){const o=this.footer,s=o.length;let i,a;if(s){const l=cf(r.rtl,this.x,this.width);for(t.x=Sy(this,r.footerAlign,r),t.y+=r.footerMarginTop,n.textAlign=l.textAlign(r.footerAlign),n.textBaseline="middle",i=lr(r.footerFont),n.fillStyle=r.footerColor,n.font=i.string,a=0;a<s;++a)n.fillText(o[a],l.x(t.x),t.y+i.lineHeight/2),t.y+=i.lineHeight+r.footerSpacing}}drawBackground(t,n,r,o){const{xAlign:s,yAlign:i}=this,{x:a,y:l}=t,{width:c,height:u}=r,{topLeft:f,topRight:h,bottomLeft:p,bottomRight:m}=du(o.cornerRadius);n.fillStyle=o.backgroundColor,n.strokeStyle=o.borderColor,n.lineWidth=o.borderWidth,n.beginPath(),n.moveTo(a+f,l),i==="top"&&this.drawCaret(t,n,r,o),n.lineTo(a+c-h,l),n.quadraticCurveTo(a+c,l,a+c,l+h),i==="center"&&s==="right"&&this.drawCaret(t,n,r,o),n.lineTo(a+c,l+u-m),n.quadraticCurveTo(a+c,l+u,a+c-m,l+u),i==="bottom"&&this.drawCaret(t,n,r,o),n.lineTo(a+p,l+u),n.quadraticCurveTo(a,l+u,a,l+u-p),i==="center"&&s==="left"&&this.drawCaret(t,n,r,o),n.lineTo(a,l+f),n.quadraticCurveTo(a,l,a+f,l),n.closePath(),n.fill(),o.borderWidth>0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,r=this.$animations,o=r&&r.x,s=r&&r.y;if(o||s){const i=vp[t.position].call(this,this._active,this._eventPosition);if(!i)return;const a=this._size=eO(this,t),l=Object.assign({},i,this._size),c=tO(n,t,l),u=nO(t,l,c,n);(o._to!==u.x||s._to!==u.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=a.width,this.height=a.height,this.caretX=i.x,this.caretY=i.y,this._resolveAnimations().update(this,u))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let r=this.opacity;if(!r)return;this._updateAnimationTarget(n);const o={width:this.width,height:this.height},s={x:this.x,y:this.y};r=Math.abs(r)<.001?0:r;const i=Mr(n.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&a&&(t.save(),t.globalAlpha=r,this.drawBackground(s,t,o,n),cB(t,n.textDirection),s.y+=i.top,this.drawTitle(s,t,n),this.drawBody(s,t,n),this.drawFooter(s,t,n),uB(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const r=this._active,o=t.map(({datasetIndex:a,index:l})=>{const c=this.chart.getDatasetMeta(a);if(!c)throw new Error("Cannot find a dataset at index "+a);return{datasetIndex:a,element:c.data[l],index:l}}),s=!wx(r,o),i=this._positionChanged(o,n);(s||i)&&(this._active=o,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,r=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const o=this.options,s=this._active||[],i=this._getActiveElements(t,s,n,r),a=this._positionChanged(i,t),l=n||!wx(i,s)||a;return l&&(this._active=i,(o.enabled||o.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),l}_getActiveElements(t,n,r,o){const s=this.options;if(t.type==="mouseout")return[];if(!o)return n.filter(a=>this.chart.data.datasets[a.datasetIndex]&&this.chart.getDatasetMeta(a.datasetIndex).controller.getParsed(a.index)!==void 0);const i=this.chart.getElementsAtEventForMode(t,s.mode,s,r);return s.reverse&&i.reverse(),i}_positionChanged(t,n){const{caretX:r,caretY:o,options:s}=this,i=vp[s.position].call(this,t,n);return i!==!1&&(r!==i.x||o!==i.y)}},_e(FE,"positioners",vp),FE);var OB={id:"tooltip",_element:sO,positioners:vp,afterInit(e,t,n){n&&(e.tooltip=new sO({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:IB},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},awe=Object.freeze({__proto__:null,Colors:vve,Decimation:Eve,Filler:Uve,Legend:Kve,SubTitle:Jve,Title:Qve,Tooltip:OB});const lwe=(e,t,n,r)=>(typeof t=="string"?(n=e.push(t)-1,r.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function cwe(e,t,n,r){const o=e.indexOf(t);if(o===-1)return lwe(e,t,n,r);const s=e.lastIndexOf(t);return o!==s?n:o}const uwe=(e,t)=>e===null?null:Sr(Math.round(e),0,t);function iO(e){const t=this.getLabels();return e>=0&&e<t.length?t[e]:e}class Lm extends uc{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const n=this._addedLabels;if(n.length){const r=this.getLabels();for(const{index:o,label:s}of n)r[o]===s&&r.splice(o,1);this._addedLabels=[]}super.init(t)}parse(t,n){if(ft(t))return null;const r=this.getLabels();return n=isFinite(n)&&r[n]===t?n:cwe(r,t,rt(n,t),this._addedLabels),uwe(n,r.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let{min:r,max:o}=this.getMinMax(!0);this.options.bounds==="ticks"&&(t||(r=0),n||(o=this.getLabels().length-1)),this.min=r,this.max=o}buildTicks(){const t=this.min,n=this.max,r=this.options.offset,o=[];let s=this.getLabels();s=t===0&&n===s.length-1?s:s.slice(t,n+1),this._valueRange=Math.max(s.length-(r?0:1),1),this._startValue=this.min-(r?.5:0);for(let i=t;i<=n;i++)o.push({value:i});return o}getLabelForValue(t){return iO.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return typeof t!="number"&&(t=this.parse(t)),t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}_e(Lm,"id","category"),_e(Lm,"defaults",{ticks:{callback:iO}});function dwe(e,t){const n=[],{bounds:o,step:s,min:i,max:a,precision:l,count:c,maxTicks:u,maxDigits:f,includeBounds:h}=e,p=s||1,m=u-1,{min:g,max:y}=t,b=!ft(i),x=!ft(a),v=!ft(c),w=(y-g)/(f+1);let S=eI((y-g)/m/p)*p,E,C,_,j;if(S<1e-14&&!b&&!x)return[{value:g},{value:y}];j=Math.ceil(y/S)-Math.floor(g/S),j>m&&(S=eI(j*S/m/p)*p),ft(l)||(E=Math.pow(10,l),S=Math.ceil(S*E)/E),o==="ticks"?(C=Math.floor(g/S)*S,_=Math.ceil(y/S)*S):(C=g,_=y),b&&x&&s&&sye((a-i)/s,S/1e3)?(j=Math.round(Math.min((a-i)/S,u)),S=(a-i)/j,C=i,_=a):v?(C=b?i:C,_=x?a:_,j=c-1,S=(_-C)/j):(j=(_-C)/S,Xp(j,Math.round(j),S/1e3)?j=Math.round(j):j=Math.ceil(j));const R=Math.max(tI(S),tI(C));E=Math.pow(10,ft(l)?R:l),C=Math.round(C*E)/E,_=Math.round(_*E)/E;let P=0;for(b&&(h&&C!==i?(n.push({value:i}),C<i&&P++,Xp(Math.round((C+P*S)*E)/E,i,aO(i,w,e))&&P++):C<i&&P++);P<j;++P){const M=Math.round((C+P*S)*E)/E;if(x&&M>a)break;n.push({value:M})}return x&&h&&_!==a?n.length&&Xp(n[n.length-1].value,a,aO(a,w,e))?n[n.length-1].value=a:n.push({value:a}):(!x||_===a)&&n.push({value:_}),n}function aO(e,t,{horizontal:n,minRotation:r}){const o=qs(r),s=(n?Math.sin(o):Math.cos(o))||.001,i=.75*t*(""+e).length;return Math.min(t/s,i)}class Rx extends uc{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return ft(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:r}=this.getUserBounds();let{min:o,max:s}=this;const i=l=>o=n?o:l,a=l=>s=r?s:l;if(t){const l=Ti(o),c=Ti(s);l<0&&c<0?a(0):l>0&&c>0&&i(0)}if(o===s){let l=s===0?1:Math.abs(s*.05);a(s+l),t||i(o-l)}this.min=o,this.max=s}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:r}=t,o;return r?(o=Math.ceil(this.max/r)-Math.floor(this.min/r)+1,o>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${r} would result generating up to ${o} ticks. Limiting to 1000.`),o=1e3)):(o=this.computeTickLimit(),n=n||11),n&&(o=Math.min(n,o)),o}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let r=this.getTickLimit();r=Math.max(2,r);const o={maxTicks:r,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},s=this._range||this,i=dwe(o,s);return t.bounds==="ticks"&&q7(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}configure(){const t=this.ticks;let n=this.min,r=this.max;if(super.configure(),this.options.offset&&t.length){const o=(r-n)/Math.max(t.length-1,1)/2;n-=o,r+=o}this._startValue=n,this._endValue=r,this._valueRange=r-n}getLabelForValue(t){return tb(t,this.chart.options.locale,this.options.ticks.format)}}class Tu extends Rx{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=Gn(t)?t:0,this.max=Gn(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,r=qs(this.options.ticks.minRotation),o=(t?Math.sin(r):Math.cos(r))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,s.lineHeight/o))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}_e(Tu,"id","linear"),_e(Tu,"defaults",{ticks:{callback:zw.formatters.numeric}});const zm=e=>Math.floor(Ml(e)),Cc=(e,t)=>Math.pow(10,zm(e)+t);function lO(e){return e/Math.pow(10,zm(e))===1}function cO(e,t,n){const r=Math.pow(10,n),o=Math.floor(e/r);return Math.ceil(t/r)-o}function fwe(e,t){const n=t-e;let r=zm(n);for(;cO(e,t,r)>10;)r++;for(;cO(e,t,r)<10;)r--;return Math.min(r,zm(e))}function hwe(e,{min:t,max:n}){t=Io(e.min,t);const r=[],o=zm(t);let s=fwe(t,n),i=s<0?Math.pow(10,Math.abs(s)):1;const a=Math.pow(10,s),l=o>s?Math.pow(10,o):0,c=Math.round((t-l)*i)/i,u=Math.floor((t-l)/a/10)*a*10;let f=Math.floor((c-u)/Math.pow(10,s)),h=Io(e.min,Math.round((l+u+f*Math.pow(10,s))*i)/i);for(;h<n;)r.push({value:h,major:lO(h),significand:f}),f>=10?f=f<15?15:20:f++,f>=20&&(s++,f=2,i=s>=0?1:i),h=Math.round((l+u+f*Math.pow(10,s))*i)/i;const p=Io(e.max,h);return r.push({value:p,major:lO(p),significand:f}),r}class qf extends uc{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const r=Rx.prototype.parse.apply(this,[t,n]);if(r===0){this._zero=!0;return}return Gn(r)&&r>0?r:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=Gn(t)?Math.max(0,t):null,this.max=Gn(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!Gn(this._userMin)&&(this.min=t===Cc(this.min,0)?Cc(this.min,-1):Cc(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let r=this.min,o=this.max;const s=a=>r=t?r:a,i=a=>o=n?o:a;r===o&&(r<=0?(s(1),i(10)):(s(Cc(r,-1)),i(Cc(o,1)))),r<=0&&s(Cc(o,-1)),o<=0&&i(Cc(r,1)),this.min=r,this.max=o}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},r=hwe(n,this);return t.bounds==="ticks"&&q7(r,this,"value"),t.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}getLabelForValue(t){return t===void 0?"0":tb(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=Ml(t),this._valueRange=Ml(this.max)-Ml(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(Ml(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}_e(qf,"id","logarithmic"),_e(qf,"defaults",{ticks:{callback:zw.formatters.logarithmic,major:{enabled:!0}}});function yN(e){const t=e.ticks;if(t.display&&e.display){const n=Mr(t.backdropPadding);return rt(t.font&&t.font.size,jn.font.size)+n.height}return 0}function pwe(e,t,n){return n=Nn(n)?n:[n],{w:Sye(e,t.string,n),h:n.length*t.lineHeight}}function uO(e,t,n,r,o){return e===r||e===o?{start:t-n/2,end:t+n/2}:e<r||e>o?{start:t-n,end:t}:{start:t,end:t+n}}function mwe(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),r=[],o=[],s=e._pointLabels.length,i=e.options.pointLabels,a=i.centerPointLabels?Rn/s:0;for(let l=0;l<s;l++){const c=i.setContext(e.getPointLabelContext(l));o[l]=c.padding;const u=e.getPointPosition(l,e.drawingArea+o[l],a),f=lr(c.font),h=pwe(e.ctx,f,e._pointLabels[l]);r[l]=h;const p=$o(e.getIndexAngle(l)+a),m=Math.round(cR(p)),g=uO(m,u.x,h.w,0,180),y=uO(m,u.y,h.h,90,270);gwe(n,t,p,g,y)}e.setCenterPoint(t.l-n.l,n.r-t.r,t.t-n.t,n.b-t.b),e._pointLabelItems=xwe(e,r,o)}function gwe(e,t,n,r,o){const s=Math.abs(Math.sin(n)),i=Math.abs(Math.cos(n));let a=0,l=0;r.start<t.l?(a=(t.l-r.start)/s,e.l=Math.min(e.l,t.l-a)):r.end>t.r&&(a=(r.end-t.r)/s,e.r=Math.max(e.r,t.r+a)),o.start<t.t?(l=(t.t-o.start)/i,e.t=Math.min(e.t,t.t-l)):o.end>t.b&&(l=(o.end-t.b)/i,e.b=Math.max(e.b,t.b+l))}function bwe(e,t,n){const r=e.drawingArea,{extra:o,additionalAngle:s,padding:i,size:a}=n,l=e.getPointPosition(t,r+o+i,s),c=Math.round(cR($o(l.angle+er))),u=Swe(l.y,a.h,c),f=vwe(c),h=wwe(l.x,a.w,f);return{visible:!0,x:l.x,y:u,textAlign:f,left:h,top:u,right:h+a.w,bottom:u+a.h}}function ywe(e,t){if(!t)return!0;const{left:n,top:r,right:o,bottom:s}=e;return!(Da({x:n,y:r},t)||Da({x:n,y:s},t)||Da({x:o,y:r},t)||Da({x:o,y:s},t))}function xwe(e,t,n){const r=[],o=e._pointLabels.length,s=e.options,{centerPointLabels:i,display:a}=s.pointLabels,l={extra:yN(s)/2,additionalAngle:i?Rn/o:0};let c;for(let u=0;u<o;u++){l.padding=n[u],l.size=t[u];const f=bwe(e,u,l);r.push(f),a==="auto"&&(f.visible=ywe(f,c),f.visible&&(c=f))}return r}function vwe(e){return e===0||e===180?"center":e<180?"left":"right"}function wwe(e,t,n){return n==="right"?e-=t:n==="center"&&(e-=t/2),e}function Swe(e,t,n){return n===90||n===270?e-=t/2:(n>270||n<90)&&(e-=t),e}function Cwe(e,t,n){const{left:r,top:o,right:s,bottom:i}=n,{backdropColor:a}=t;if(!ft(a)){const l=du(t.borderRadius),c=Mr(t.backdropPadding);e.fillStyle=a;const u=r-c.left,f=o-c.top,h=s-r+c.width,p=i-o+c.height;Object.values(l).some(m=>m!==0)?(e.beginPath(),Fm(e,{x:u,y:f,w:h,h:p,radius:l}),e.fill()):e.fillRect(u,f,h,p)}}function Ewe(e,t){const{ctx:n,options:{pointLabels:r}}=e;for(let o=t-1;o>=0;o--){const s=e._pointLabelItems[o];if(!s.visible)continue;const i=r.setContext(e.getPointLabelContext(o));Cwe(n,i,s);const a=lr(i.font),{x:l,y:c,textAlign:u}=s;Pu(n,e._pointLabels[o],l,c+a.lineHeight/2,a,{color:i.color,textAlign:u,textBaseline:"middle"})}}function FB(e,t,n,r){const{ctx:o}=e;if(n)o.arc(e.xCenter,e.yCenter,t,0,_n);else{let s=e.getPointPosition(0,t);o.moveTo(s.x,s.y);for(let i=1;i<r;i++)s=e.getPointPosition(i,t),o.lineTo(s.x,s.y)}}function Nwe(e,t,n,r,o){const s=e.ctx,i=t.circular,{color:a,lineWidth:l}=t;!i&&!r||!a||!l||n<0||(s.save(),s.strokeStyle=a,s.lineWidth=l,s.setLineDash(o.dash||[]),s.lineDashOffset=o.dashOffset,s.beginPath(),FB(e,n,i,r),s.closePath(),s.stroke(),s.restore())}function kwe(e,t,n){return cc(e,{label:n,index:t,type:"pointLabel"})}class wp extends Rx{constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=Mr(yN(this.options)/2),n=this.width=this.maxWidth-t.width,r=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+n/2+t.left),this.yCenter=Math.floor(this.top+r/2+t.top),this.drawingArea=Math.floor(Math.min(n,r)/2)}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!1);this.min=Gn(t)&&!isNaN(t)?t:0,this.max=Gn(n)&&!isNaN(n)?n:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/yN(this.options))}generateTickLabels(t){Rx.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map((n,r)=>{const o=an(this.options.pointLabels.callback,[n,r],this);return o||o===0?o:""}).filter((n,r)=>this.chart.getDataVisibility(r))}fit(){const t=this.options;t.display&&t.pointLabels.display?mwe(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,r,o){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((r-o)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,r,o))}getIndexAngle(t){const n=_n/(this._pointLabels.length||1),r=this.options.startAngle||0;return $o(t*n+qs(r))}getDistanceFromCenterForValue(t){if(ft(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(ft(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t<n.length){const r=n[t];return kwe(this.getContext(),t,r)}}getPointPosition(t,n,r=0){const o=this.getIndexAngle(t)-er+r;return{x:Math.cos(o)*n+this.xCenter,y:Math.sin(o)*n+this.yCenter,angle:o}}getPointPositionForValue(t,n){return this.getPointPosition(t,this.getDistanceFromCenterForValue(n))}getBasePosition(t){return this.getPointPositionForValue(t||0,this.getBaseValue())}getPointLabelPosition(t){const{left:n,top:r,right:o,bottom:s}=this._pointLabelItems[t];return{left:n,top:r,right:o,bottom:s}}drawBackground(){const{backgroundColor:t,grid:{circular:n}}=this.options;if(t){const r=this.ctx;r.save(),r.beginPath(),FB(this,this.getDistanceFromCenterForValue(this._endValue),n,this._pointLabels.length),r.closePath(),r.fillStyle=t,r.fill(),r.restore()}}drawGrid(){const t=this.ctx,n=this.options,{angleLines:r,grid:o,border:s}=n,i=this._pointLabels.length;let a,l,c;if(n.pointLabels.display&&Ewe(this,i),o.display&&this.ticks.forEach((u,f)=>{if(f!==0||f===0&&this.min<0){l=this.getDistanceFromCenterForValue(u.value);const h=this.getContext(f),p=o.setContext(h),m=s.setContext(h);Nwe(this,p,l,i,m)}}),r.display){for(t.save(),a=i-1;a>=0;a--){const u=r.setContext(this.getPointLabelContext(a)),{color:f,lineWidth:h}=u;!h||!f||(t.lineWidth=h,t.strokeStyle=f,t.setLineDash(u.borderDash),t.lineDashOffset=u.borderDashOffset,l=this.getDistanceFromCenterForValue(n.reverse?this.min:this.max),c=this.getPointPosition(a,l),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(c.x,c.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,r=n.ticks;if(!r.display)return;const o=this.getIndexAngle(0);let s,i;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(o),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((a,l)=>{if(l===0&&this.min>=0&&!n.reverse)return;const c=r.setContext(this.getContext(l)),u=lr(c.font);if(s=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=u.string,i=t.measureText(a.label).width,t.fillStyle=c.backdropColor;const f=Mr(c.backdropPadding);t.fillRect(-i/2-f.left,-s-u.size/2-f.top,i+f.width,u.size+f.height)}Pu(t,a.label,0,-s,u,{color:c.color,strokeColor:c.textStrokeColor,strokeWidth:c.textStrokeWidth})}),t.restore()}drawTitle(){}}_e(wp,"id","radialLinear"),_e(wp,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:zw.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),_e(wp,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),_e(wp,"descriptors",{angleLines:{_fallback:"grid"}});const Hw={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}},Eo=Object.keys(Hw);function dO(e,t){return e-t}function fO(e,t){if(ft(t))return null;const n=e._adapter,{parser:r,round:o,isoWeekday:s}=e._parseOpts;let i=t;return typeof r=="function"&&(i=r(i)),Gn(i)||(i=typeof r=="string"?n.parse(i,r):n.parse(i)),i===null?null:(o&&(i=o==="week"&&(Hf(s)||s===!0)?n.startOf(i,"isoWeek",s):n.startOf(i,o)),+i)}function hO(e,t,n,r){const o=Eo.length;for(let s=Eo.indexOf(e);s<o-1;++s){const i=Hw[Eo[s]],a=i.steps?i.steps:Number.MAX_SAFE_INTEGER;if(i.common&&Math.ceil((n-t)/(a*i.size))<=r)return Eo[s]}return Eo[o-1]}function _we(e,t,n,r,o){for(let s=Eo.length-1;s>=Eo.indexOf(n);s--){const i=Eo[s];if(Hw[i].common&&e._adapter.diff(o,r,i)>=t-1)return i}return Eo[n?Eo.indexOf(n):0]}function jwe(e){for(let t=Eo.indexOf(e)+1,n=Eo.length;t<n;++t)if(Hw[Eo[t]].common)return Eo[t]}function pO(e,t,n){if(!n)e[t]=!0;else if(n.length){const{lo:r,hi:o}=uR(n,t),s=n[r]>=t?n[r]:n[o];e[s]=!0}}function Rwe(e,t,n,r){const o=e._adapter,s=+o.startOf(t[0].value,r),i=t[t.length-1].value;let a,l;for(a=s;a<=i;a=+o.add(a,1,r))l=n[a],l>=0&&(t[l].major=!0);return t}function mO(e,t,n){const r=[],o={},s=t.length;let i,a;for(i=0;i<s;++i)a=t[i],o[a]=i,r.push({value:a,major:!1});return s===0||!n?r:Rwe(e,r,o,n)}class Bm extends uc{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,n={}){const r=t.time||(t.time={}),o=this._adapter=new $0e._date(t.adapters.date);o.init(n),Kp(r.displayFormats,o.formats()),this._parseOpts={parser:r.parser,round:r.round,isoWeekday:r.isoWeekday},super.init(t),this._normalized=n.normalized}parse(t,n){return t===void 0?null:fO(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,n=this._adapter,r=t.time.unit||"day";let{min:o,max:s,minDefined:i,maxDefined:a}=this.getUserBounds();function l(c){!i&&!isNaN(c.min)&&(o=Math.min(o,c.min)),!a&&!isNaN(c.max)&&(s=Math.max(s,c.max))}(!i||!a)&&(l(this._getLabelBounds()),(t.bounds!=="ticks"||t.ticks.source!=="labels")&&l(this.getMinMax(!1))),o=Gn(o)&&!isNaN(o)?o:+n.startOf(Date.now(),r),s=Gn(s)&&!isNaN(s)?s:+n.endOf(Date.now(),r)+1,this.min=Math.min(o,s-1),this.max=Math.max(o+1,s)}_getLabelBounds(){const t=this.getLabelTimestamps();let n=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY;return t.length&&(n=t[0],r=t[t.length-1]),{min:n,max:r}}buildTicks(){const t=this.options,n=t.time,r=t.ticks,o=r.source==="labels"?this.getLabelTimestamps():this._generate();t.bounds==="ticks"&&o.length&&(this.min=this._userMin||o[0],this.max=this._userMax||o[o.length-1]);const s=this.min,i=this.max,a=cye(o,s,i);return this._unit=n.unit||(r.autoSkip?hO(n.minUnit,this.min,this.max,this._getLabelCapacity(s)):_we(this,a.length,n.minUnit,this.min,this.max)),this._majorUnit=!r.major.enabled||this._unit==="year"?void 0:jwe(this._unit),this.initOffsets(o),t.reverse&&a.reverse(),mO(this,a,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map(t=>+t.value))}initOffsets(t=[]){let n=0,r=0,o,s;this.options.offset&&t.length&&(o=this.getDecimalForValue(t[0]),t.length===1?n=1-o:n=(this.getDecimalForValue(t[1])-o)/2,s=this.getDecimalForValue(t[t.length-1]),t.length===1?r=s:r=(s-this.getDecimalForValue(t[t.length-2]))/2);const i=t.length<3?.5:.25;n=Sr(n,0,i),r=Sr(r,0,i),this._offsets={start:n,end:r,factor:1/(n+1+r)}}_generate(){const t=this._adapter,n=this.min,r=this.max,o=this.options,s=o.time,i=s.unit||hO(s.minUnit,n,r,this._getLabelCapacity(n)),a=rt(o.ticks.stepSize,1),l=i==="week"?s.isoWeekday:!1,c=Hf(l)||l===!0,u={};let f=n,h,p;if(c&&(f=+t.startOf(f,"isoWeek",l)),f=+t.startOf(f,c?"day":i),t.diff(r,n,i)>1e5*a)throw new Error(n+" and "+r+" are too far apart with stepSize of "+a+" "+i);const m=o.ticks.source==="data"&&this.getDataTimestamps();for(h=f,p=0;h<r;h=+t.add(h,a,i),p++)pO(u,h,m);return(h===r||o.bounds==="ticks"||p===1)&&pO(u,h,m),Object.keys(u).sort(dO).map(g=>+g)}getLabelForValue(t){const n=this._adapter,r=this.options.time;return r.tooltipFormat?n.format(t,r.tooltipFormat):n.format(t,r.displayFormats.datetime)}format(t,n){const o=this.options.time.displayFormats,s=this._unit,i=n||o[s];return this._adapter.format(t,i)}_tickFormatFunction(t,n,r,o){const s=this.options,i=s.ticks.callback;if(i)return an(i,[t,n,r],this);const a=s.time.displayFormats,l=this._unit,c=this._majorUnit,u=l&&a[l],f=c&&a[c],h=r[n],p=c&&f&&h&&h.major;return this._adapter.format(t,o||(p?f:u))}generateTickLabels(t){let n,r,o;for(n=0,r=t.length;n<r;++n)o=t[n],o.label=this._tickFormatFunction(o.value,n,t)}getDecimalForValue(t){return t===null?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const n=this._offsets,r=this.getDecimalForValue(t);return this.getPixelForDecimal((n.start+r)*n.factor)}getValueForPixel(t){const n=this._offsets,r=this.getDecimalForPixel(t)/n.factor-n.end;return this.min+r*(this.max-this.min)}_getLabelSize(t){const n=this.options.ticks,r=this.ctx.measureText(t).width,o=qs(this.isHorizontal()?n.maxRotation:n.minRotation),s=Math.cos(o),i=Math.sin(o),a=this._resolveTickFontOptions(0).size;return{w:r*s+a*i,h:r*i+a*s}}_getLabelCapacity(t){const n=this.options.time,r=n.displayFormats,o=r[n.unit]||r.millisecond,s=this._tickFormatFunction(t,0,mO(this,[t],this._majorUnit),o),i=this._getLabelSize(s),a=Math.floor(this.isHorizontal()?this.width/i.w:this.height/i.h)-1;return a>0?a:1}getDataTimestamps(){let t=this._cache.data||[],n,r;if(t.length)return t;const o=this.getMatchingVisibleMetas();if(this._normalized&&o.length)return this._cache.data=o[0].controller.getAllParsedValues(this);for(n=0,r=o.length;n<r;++n)t=t.concat(o[n].controller.getAllParsedValues(this));return this._cache.data=this.normalize(t)}getLabelTimestamps(){const t=this._cache.labels||[];let n,r;if(t.length)return t;const o=this.getLabels();for(n=0,r=o.length;n<r;++n)t.push(fO(this,o[n]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return Z7(t.sort(dO))}}_e(Bm,"id","time"),_e(Bm,"defaults",{bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}});function Cy(e,t,n){let r=0,o=e.length-1,s,i,a,l;n?(t>=e[r].pos&&t<=e[o].pos&&({lo:r,hi:o}=Ma(e,"pos",t)),{pos:s,time:a}=e[r],{pos:i,time:l}=e[o]):(t>=e[r].time&&t<=e[o].time&&({lo:r,hi:o}=Ma(e,"time",t)),{time:s,pos:a}=e[r],{time:i,pos:l}=e[o]);const c=i-s;return c?a+(l-a)*(t-s)/c:a}class xN extends Bm{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=Cy(n,this.min),this._tableRange=Cy(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:r}=this,o=[],s=[];let i,a,l,c,u;for(i=0,a=t.length;i<a;++i)c=t[i],c>=n&&c<=r&&o.push(c);if(o.length<2)return[{time:n,pos:0},{time:r,pos:1}];for(i=0,a=o.length;i<a;++i)u=o[i+1],l=o[i-1],c=o[i],Math.round((u+l)/2)!==c&&s.push({time:c,pos:i/(a-1)});return s}_generate(){const t=this.min,n=this.max;let r=super.getDataTimestamps();return(!r.includes(t)||!r.length)&&r.splice(0,0,t),(!r.includes(n)||r.length===1)&&r.push(n),r.sort((o,s)=>o-s)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const n=this.getDataTimestamps(),r=this.getLabelTimestamps();return n.length&&r.length?t=this.normalize(n.concat(r)):t=n.length?n:r,t=this._cache.all=t,t}getDecimalForValue(t){return(Cy(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const n=this._offsets,r=this.getDecimalForPixel(t)/n.factor-n.end;return Cy(this._table,r*this._tableRange+this._minPos,!0)}}_e(xN,"id","timeseries"),_e(xN,"defaults",Bm.defaults);var Mwe=Object.freeze({__proto__:null,CategoryScale:Lm,LinearScale:Tu,LogarithmicScale:qf,RadialLinearScale:wp,TimeScale:Bm,TimeSeriesScale:xN});const Dwe=[F0e,hve,awe,Mwe];class Zl{constructor(){this._partials=new Float64Array(32),this._n=0}add(t){const n=this._partials;let r=0;for(let o=0;o<this._n&&o<32;o++){const s=n[o],i=t+s,a=Math.abs(t)<Math.abs(s)?t-(i-s):s-(i-t);a&&(n[r++]=a),t=i}return n[r]=t,this._n=r+1,this}valueOf(){const t=this._partials;let n=this._n,r,o,s,i=0;if(n>0){for(i=t[--n];n>0&&(r=i,o=t[--n],i=r+o,s=o-(i-r),!s););n>0&&(s<0&&t[n-1]<0||s>0&&t[n-1]>0)&&(o=s*2,r=i+o,o==r-i&&(i=r))}return i}}function*Pwe(e){for(const t of e)yield*t}function $B(e){return Array.from(Pwe(e))}function Hd(e,t,n){e=+e,t=+t,n=(o=arguments.length)<2?(t=e,e=0,1):o<3?1:+n;for(var r=-1,o=Math.max(0,Math.ceil((t-e)/n))|0,s=new Array(o);++r<o;)s[r]=e+r*n;return s}var Je=1e-6,LB=1e-12,vt=Math.PI,qn=vt/2,gO=vt/4,Qo=vt*2,to=180/vt,ln=vt/180,Bt=Math.abs,kh=Math.atan,Gi=Math.atan2,dt=Math.cos,Ey=Math.ceil,zB=Math.exp,Mx=Math.log,xC=Math.pow,st=Math.sin,bs=Math.sign||function(e){return e>0?1:e<0?-1:0},ao=Math.sqrt,SR=Math.tan;function BB(e){return e>1?0:e<-1?vt:Math.acos(e)}function Ns(e){return e>1?qn:e<-1?-qn:Math.asin(e)}function xr(){}function Dx(e,t){e&&yO.hasOwnProperty(e.type)&&yO[e.type](e,t)}var bO={Feature:function(e,t){Dx(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,o=n.length;++r<o;)Dx(n[r].geometry,t)}},yO={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)e=n[r],t.point(e[0],e[1],e[2])},LineString:function(e,t){vN(e.coordinates,t,0)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)vN(n[r],t,0)},Polygon:function(e,t){xO(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)xO(n[r],t)},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,o=n.length;++r<o;)Dx(n[r],t)}};function vN(e,t,n){var r=-1,o=e.length-n,s;for(t.lineStart();++r<o;)s=e[r],t.point(s[0],s[1],s[2]);t.lineEnd()}function xO(e,t){var n=-1,r=e.length;for(t.polygonStart();++n<r;)vN(e[n],t,1);t.polygonEnd()}function Oc(e,t){e&&bO.hasOwnProperty(e.type)?bO[e.type](e,t):Dx(e,t)}function wN(e){return[Gi(e[1],e[0]),Ns(e[2])]}function Gf(e){var t=e[0],n=e[1],r=dt(n);return[r*dt(t),r*st(t),st(n)]}function Ny(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Px(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function vC(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function ky(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function SN(e){var t=ao(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}function CN(e,t){function n(r,o){return r=e(r,o),t(r[0],r[1])}return e.invert&&t.invert&&(n.invert=function(r,o){return r=t.invert(r,o),r&&e.invert(r[0],r[1])}),n}function EN(e,t){return Bt(e)>vt&&(e-=Math.round(e/Qo)*Qo),[e,t]}EN.invert=EN;function VB(e,t,n){return(e%=Qo)?t||n?CN(wO(e),SO(t,n)):wO(e):t||n?SO(t,n):EN}function vO(e){return function(t,n){return t+=e,Bt(t)>vt&&(t-=Math.round(t/Qo)*Qo),[t,n]}}function wO(e){var t=vO(e);return t.invert=vO(-e),t}function SO(e,t){var n=dt(e),r=st(e),o=dt(t),s=st(t);function i(a,l){var c=dt(l),u=dt(a)*c,f=st(a)*c,h=st(l),p=h*n+u*r;return[Gi(f*o-p*s,u*n-h*r),Ns(p*o+f*s)]}return i.invert=function(a,l){var c=dt(l),u=dt(a)*c,f=st(a)*c,h=st(l),p=h*o-f*s;return[Gi(f*o+h*s,u*n+p*r),Ns(p*n-u*r)]},i}function Twe(e){e=VB(e[0]*ln,e[1]*ln,e.length>2?e[2]*ln:0);function t(n){return n=e(n[0]*ln,n[1]*ln),n[0]*=to,n[1]*=to,n}return t.invert=function(n){return n=e.invert(n[0]*ln,n[1]*ln),n[0]*=to,n[1]*=to,n},t}function Awe(e,t,n,r,o,s){if(n){var i=dt(t),a=st(t),l=r*n;o==null?(o=t+r*Qo,s=t-l/2):(o=CO(i,o),s=CO(i,s),(r>0?o<s:o>s)&&(o+=r*Qo));for(var c,u=o;r>0?u>s:u<s;u-=l)c=wN([i,-a*dt(u),-a*st(u)]),e.point(c[0],c[1])}}function CO(e,t){t=Gf(t),t[0]-=e,SN(t);var n=BB(-t[1]);return((-t[2]<0?-n:n)+Qo-Je)%Qo}function HB(){var e=[],t;return{point:function(n,r,o){t.push([n,r,o])},lineStart:function(){e.push(t=[])},lineEnd:xr,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function _0(e,t){return Bt(e[0]-t[0])<Je&&Bt(e[1]-t[1])<Je}function _y(e,t,n,r){this.x=e,this.z=t,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function UB(e,t,n,r,o){var s=[],i=[],a,l;if(e.forEach(function(m){if(!((g=m.length-1)<=0)){var g,y=m[0],b=m[g],x;if(_0(y,b)){if(!y[2]&&!b[2]){for(o.lineStart(),a=0;a<g;++a)o.point((y=m[a])[0],y[1]);o.lineEnd();return}b[0]+=2*Je}s.push(x=new _y(y,m,null,!0)),i.push(x.o=new _y(y,null,x,!1)),s.push(x=new _y(b,m,null,!1)),i.push(x.o=new _y(b,null,x,!0))}}),!!s.length){for(i.sort(t),EO(s),EO(i),a=0,l=i.length;a<l;++a)i[a].e=n=!n;for(var c=s[0],u,f;;){for(var h=c,p=!0;h.v;)if((h=h.n)===c)return;u=h.z,o.lineStart();do{if(h.v=h.o.v=!0,h.e){if(p)for(a=0,l=u.length;a<l;++a)o.point((f=u[a])[0],f[1]);else r(h.x,h.n.x,1,o);h=h.n}else{if(p)for(u=h.p.z,a=u.length-1;a>=0;--a)o.point((f=u[a])[0],f[1]);else r(h.x,h.p.x,-1,o);h=h.p}h=h.o,u=h.z,p=!p}while(!h.v);o.lineEnd()}}}function EO(e){if(t=e.length){for(var t,n=0,r=e[0],o;++n<t;)r.n=o=e[n],o.p=r,r=o;r.n=o=e[0],o.p=r}}function wC(e){return Bt(e[0])<=vt?e[0]:bs(e[0])*((Bt(e[0])+vt)%Qo-vt)}function WB(e,t){var n=wC(t),r=t[1],o=st(r),s=[st(n),-dt(n),0],i=0,a=0,l=new Zl;o===1?r=qn+Je:o===-1&&(r=-qn-Je);for(var c=0,u=e.length;c<u;++c)if(h=(f=e[c]).length)for(var f,h,p=f[h-1],m=wC(p),g=p[1]/2+gO,y=st(g),b=dt(g),x=0;x<h;++x,m=w,y=E,b=C,p=v){var v=f[x],w=wC(v),S=v[1]/2+gO,E=st(S),C=dt(S),_=w-m,j=_>=0?1:-1,R=j*_,P=R>vt,M=y*E;if(l.add(Gi(M*j*st(R),b*C+M*dt(R))),i+=P?_+j*Qo:_,P^m>=n^w>=n){var O=Px(Gf(p),Gf(v));SN(O);var I=Px(s,O);SN(I);var A=(P^_>=0?-1:1)*Ns(I[2]);(r>A||r===A&&(O[0]||O[1]))&&(a+=P^_>=0?1:-1)}}return(i<-1e-6||i<Je&&l<-1e-12)^a&1}function qB(e,t,n,r){return function(o){var s=t(o),i=HB(),a=t(i),l=!1,c,u,f,h={point:p,lineStart:g,lineEnd:y,polygonStart:function(){h.point=b,h.lineStart=x,h.lineEnd=v,u=[],c=[]},polygonEnd:function(){h.point=p,h.lineStart=g,h.lineEnd=y,u=$B(u);var w=WB(c,r);u.length?(l||(o.polygonStart(),l=!0),UB(u,Owe,w,n,o)):w&&(l||(o.polygonStart(),l=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),l&&(o.polygonEnd(),l=!1),u=c=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function p(w,S){e(w,S)&&o.point(w,S)}function m(w,S){s.point(w,S)}function g(){h.point=m,s.lineStart()}function y(){h.point=p,s.lineEnd()}function b(w,S){f.push([w,S]),a.point(w,S)}function x(){a.lineStart(),f=[]}function v(){b(f[0][0],f[0][1]),a.lineEnd();var w=a.clean(),S=i.result(),E,C=S.length,_,j,R;if(f.pop(),c.push(f),f=null,!!C){if(w&1){if(j=S[0],(_=j.length-1)>0){for(l||(o.polygonStart(),l=!0),o.lineStart(),E=0;E<_;++E)o.point((R=j[E])[0],R[1]);o.lineEnd()}return}C>1&&w&2&&S.push(S.pop().concat(S.shift())),u.push(S.filter(Iwe))}}return h}}function Iwe(e){return e.length>1}function Owe(e,t){return((e=e.x)[0]<0?e[1]-qn-Je:qn-e[1])-((t=t.x)[0]<0?t[1]-qn-Je:qn-t[1])}const NO=qB(function(){return!0},Fwe,Lwe,[-vt,-qn]);function Fwe(e){var t=NaN,n=NaN,r=NaN,o;return{lineStart:function(){e.lineStart(),o=1},point:function(s,i){var a=s>0?vt:-vt,l=Bt(s-t);Bt(l-vt)<Je?(e.point(t,n=(n+i)/2>0?qn:-qn),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(a,n),e.point(s,n),o=0):r!==a&&l>=vt&&(Bt(t-r)<Je&&(t-=r*Je),Bt(s-a)<Je&&(s-=a*Je),n=$we(t,n,s,i),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(a,n),o=0),e.point(t=s,n=i),r=a},lineEnd:function(){e.lineEnd(),t=n=NaN},clean:function(){return 2-o}}}function $we(e,t,n,r){var o,s,i=st(e-n);return Bt(i)>Je?kh((st(t)*(s=dt(r))*st(n)-st(r)*(o=dt(t))*st(e))/(o*s*i)):(t+r)/2}function Lwe(e,t,n,r){var o;if(e==null)o=n*qn,r.point(-vt,o),r.point(0,o),r.point(vt,o),r.point(vt,0),r.point(vt,-o),r.point(0,-o),r.point(-vt,-o),r.point(-vt,0),r.point(-vt,o);else if(Bt(e[0]-t[0])>Je){var s=e[0]<t[0]?vt:-vt;o=n*s/2,r.point(-s,o),r.point(0,o),r.point(s,o)}else r.point(t[0],t[1])}function zwe(e){var t=dt(e),n=2*ln,r=t>0,o=Bt(t)>Je;function s(u,f,h,p){Awe(p,e,n,h,u,f)}function i(u,f){return dt(u)*dt(f)>t}function a(u){var f,h,p,m,g;return{lineStart:function(){m=p=!1,g=1},point:function(y,b){var x=[y,b],v,w=i(y,b),S=r?w?0:c(y,b):w?c(y+(y<0?vt:-vt),b):0;if(!f&&(m=p=w)&&u.lineStart(),w!==p&&(v=l(f,x),(!v||_0(f,v)||_0(x,v))&&(x[2]=1)),w!==p)g=0,w?(u.lineStart(),v=l(x,f),u.point(v[0],v[1])):(v=l(f,x),u.point(v[0],v[1],2),u.lineEnd()),f=v;else if(o&&f&&r^w){var E;!(S&h)&&(E=l(x,f,!0))&&(g=0,r?(u.lineStart(),u.point(E[0][0],E[0][1]),u.point(E[1][0],E[1][1]),u.lineEnd()):(u.point(E[1][0],E[1][1]),u.lineEnd(),u.lineStart(),u.point(E[0][0],E[0][1],3)))}w&&(!f||!_0(f,x))&&u.point(x[0],x[1]),f=x,p=w,h=S},lineEnd:function(){p&&u.lineEnd(),f=null},clean:function(){return g|(m&&p)<<1}}}function l(u,f,h){var p=Gf(u),m=Gf(f),g=[1,0,0],y=Px(p,m),b=Ny(y,y),x=y[0],v=b-x*x;if(!v)return!h&&u;var w=t*b/v,S=-t*x/v,E=Px(g,y),C=ky(g,w),_=ky(y,S);vC(C,_);var j=E,R=Ny(C,j),P=Ny(j,j),M=R*R-P*(Ny(C,C)-1);if(!(M<0)){var O=ao(M),I=ky(j,(-R-O)/P);if(vC(I,C),I=wN(I),!h)return I;var A=u[0],F=f[0],H=u[1],W=f[1],$;F<A&&($=A,A=F,F=$);var T=F-A,B=Bt(T-vt)<Je,z=B||T<Je;if(!B&&W<H&&($=H,H=W,W=$),z?B?H+W>0^I[1]<(Bt(I[0]-A)<Je?H:W):H<=I[1]&&I[1]<=W:T>vt^(A<=I[0]&&I[0]<=F)){var D=ky(j,(-R+O)/P);return vC(D,C),[I,wN(D)]}}}function c(u,f){var h=r?e:vt-e,p=0;return u<-h?p|=1:u>h&&(p|=2),f<-h?p|=4:f>h&&(p|=8),p}return qB(i,a,s,r?[0,-e]:[-vt,e-vt])}function Bwe(e,t,n,r,o,s){var i=e[0],a=e[1],l=t[0],c=t[1],u=0,f=1,h=l-i,p=c-a,m;if(m=n-i,!(!h&&m>0)){if(m/=h,h<0){if(m<u)return;m<f&&(f=m)}else if(h>0){if(m>f)return;m>u&&(u=m)}if(m=o-i,!(!h&&m<0)){if(m/=h,h<0){if(m>f)return;m>u&&(u=m)}else if(h>0){if(m<u)return;m<f&&(f=m)}if(m=r-a,!(!p&&m>0)){if(m/=p,p<0){if(m<u)return;m<f&&(f=m)}else if(p>0){if(m>f)return;m>u&&(u=m)}if(m=s-a,!(!p&&m<0)){if(m/=p,p<0){if(m>f)return;m>u&&(u=m)}else if(p>0){if(m<u)return;m<f&&(f=m)}return u>0&&(e[0]=i+u*h,e[1]=a+u*p),f<1&&(t[0]=i+f*h,t[1]=a+f*p),!0}}}}}var jy=1e9,Ry=-1e9;function Vwe(e,t,n,r){function o(c,u){return e<=c&&c<=n&&t<=u&&u<=r}function s(c,u,f,h){var p=0,m=0;if(c==null||(p=i(c,f))!==(m=i(u,f))||l(c,u)<0^f>0)do h.point(p===0||p===3?e:n,p>1?r:t);while((p=(p+f+4)%4)!==m);else h.point(u[0],u[1])}function i(c,u){return Bt(c[0]-e)<Je?u>0?0:3:Bt(c[0]-n)<Je?u>0?2:1:Bt(c[1]-t)<Je?u>0?1:0:u>0?3:2}function a(c,u){return l(c.x,u.x)}function l(c,u){var f=i(c,1),h=i(u,1);return f!==h?f-h:f===0?u[1]-c[1]:f===1?c[0]-u[0]:f===2?c[1]-u[1]:u[0]-c[0]}return function(c){var u=c,f=HB(),h,p,m,g,y,b,x,v,w,S,E,C={point:_,lineStart:M,lineEnd:O,polygonStart:R,polygonEnd:P};function _(A,F){o(A,F)&&u.point(A,F)}function j(){for(var A=0,F=0,H=p.length;F<H;++F)for(var W=p[F],$=1,T=W.length,B=W[0],z,D,U=B[0],G=B[1];$<T;++$)z=U,D=G,B=W[$],U=B[0],G=B[1],D<=r?G>r&&(U-z)*(r-D)>(G-D)*(e-z)&&++A:G<=r&&(U-z)*(r-D)<(G-D)*(e-z)&&--A;return A}function R(){u=f,h=[],p=[],E=!0}function P(){var A=j(),F=E&&A,H=(h=$B(h)).length;(F||H)&&(c.polygonStart(),F&&(c.lineStart(),s(null,null,1,c),c.lineEnd()),H&&UB(h,a,A,s,c),c.polygonEnd()),u=c,h=p=m=null}function M(){C.point=I,p&&p.push(m=[]),S=!0,w=!1,x=v=NaN}function O(){h&&(I(g,y),b&&w&&f.rejoin(),h.push(f.result())),C.point=_,w&&u.lineEnd()}function I(A,F){var H=o(A,F);if(p&&m.push([A,F]),S)g=A,y=F,b=H,S=!1,H&&(u.lineStart(),u.point(A,F));else if(H&&w)u.point(A,F);else{var W=[x=Math.max(Ry,Math.min(jy,x)),v=Math.max(Ry,Math.min(jy,v))],$=[A=Math.max(Ry,Math.min(jy,A)),F=Math.max(Ry,Math.min(jy,F))];Bwe(W,$,e,t,n,r)?(w||(u.lineStart(),u.point(W[0],W[1])),u.point($[0],$[1]),H||u.lineEnd(),E=!1):H&&(u.lineStart(),u.point(A,F),E=!1)}x=A,v=F,w=H}return C}}var NN,kN,j0,R0,Yf={sphere:xr,point:xr,lineStart:Hwe,lineEnd:xr,polygonStart:xr,polygonEnd:xr};function Hwe(){Yf.point=Wwe,Yf.lineEnd=Uwe}function Uwe(){Yf.point=Yf.lineEnd=xr}function Wwe(e,t){e*=ln,t*=ln,kN=e,j0=st(t),R0=dt(t),Yf.point=qwe}function qwe(e,t){e*=ln,t*=ln;var n=st(t),r=dt(t),o=Bt(e-kN),s=dt(o),i=st(o),a=r*i,l=R0*n-j0*r*s,c=j0*n+R0*r*s;NN.add(Gi(ao(a*a+l*l),c)),kN=e,j0=n,R0=r}function Gwe(e){return NN=new Zl,Oc(e,Yf),+NN}var _N=[null,null],Ywe={type:"LineString",coordinates:_N};function jN(e,t){return _N[0]=e,_N[1]=t,Gwe(Ywe)}var kO={Feature:function(e,t){return Tx(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,o=n.length;++r<o;)if(Tx(n[r].geometry,t))return!0;return!1}},_O={Sphere:function(){return!0},Point:function(e,t){return jO(e.coordinates,t)},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)if(jO(n[r],t))return!0;return!1},LineString:function(e,t){return RO(e.coordinates,t)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)if(RO(n[r],t))return!0;return!1},Polygon:function(e,t){return MO(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)if(MO(n[r],t))return!0;return!1},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,o=n.length;++r<o;)if(Tx(n[r],t))return!0;return!1}};function Tx(e,t){return e&&_O.hasOwnProperty(e.type)?_O[e.type](e,t):!1}function jO(e,t){return jN(e,t)===0}function RO(e,t){for(var n,r,o,s=0,i=e.length;s<i;s++){if(r=jN(e[s],t),r===0||s>0&&(o=jN(e[s],e[s-1]),o>0&&n<=o&&r<=o&&(n+r-o)*(1-Math.pow((n-r)/o,2))<LB*o))return!0;n=r}return!1}function MO(e,t){return!!WB(e.map(Zwe),GB(t))}function Zwe(e){return e=e.map(GB),e.pop(),e}function GB(e){return[e[0]*ln,e[1]*ln]}function Kwe(e,t){return(e&&kO.hasOwnProperty(e.type)?kO[e.type]:Tx)(e,t)}function DO(e,t,n){var r=Hd(e,t-Je,n).concat(t);return function(o){return r.map(function(s){return[o,s]})}}function PO(e,t,n){var r=Hd(e,t-Je,n).concat(t);return function(o){return r.map(function(s){return[s,o]})}}function YB(){var e,t,n,r,o,s,i,a,l=10,c=l,u=90,f=360,h,p,m,g,y=2.5;function b(){return{type:"MultiLineString",coordinates:x()}}function x(){return Hd(Ey(r/u)*u,n,u).map(m).concat(Hd(Ey(a/f)*f,i,f).map(g)).concat(Hd(Ey(t/l)*l,e,l).filter(function(v){return Bt(v%u)>Je}).map(h)).concat(Hd(Ey(s/c)*c,o,c).filter(function(v){return Bt(v%f)>Je}).map(p))}return b.lines=function(){return x().map(function(v){return{type:"LineString",coordinates:v}})},b.outline=function(){return{type:"Polygon",coordinates:[m(r).concat(g(i).slice(1),m(n).reverse().slice(1),g(a).reverse().slice(1))]}},b.extent=function(v){return arguments.length?b.extentMajor(v).extentMinor(v):b.extentMinor()},b.extentMajor=function(v){return arguments.length?(r=+v[0][0],n=+v[1][0],a=+v[0][1],i=+v[1][1],r>n&&(v=r,r=n,n=v),a>i&&(v=a,a=i,i=v),b.precision(y)):[[r,a],[n,i]]},b.extentMinor=function(v){return arguments.length?(t=+v[0][0],e=+v[1][0],s=+v[0][1],o=+v[1][1],t>e&&(v=t,t=e,e=v),s>o&&(v=s,s=o,o=v),b.precision(y)):[[t,s],[e,o]]},b.step=function(v){return arguments.length?b.stepMajor(v).stepMinor(v):b.stepMinor()},b.stepMajor=function(v){return arguments.length?(u=+v[0],f=+v[1],b):[u,f]},b.stepMinor=function(v){return arguments.length?(l=+v[0],c=+v[1],b):[l,c]},b.precision=function(v){return arguments.length?(y=+v,h=DO(s,o,90),p=PO(t,e,y),m=DO(a,i,90),g=PO(r,n,y),b):y},b.extentMajor([[-180,-90+Je],[180,90-Je]]).extentMinor([[-180,-80-Je],[180,80+Je]])}function Xwe(){return YB()()}const RN=e=>e;var SC=new Zl,MN=new Zl,ZB,KB,DN,PN,Ea={point:xr,lineStart:xr,lineEnd:xr,polygonStart:function(){Ea.lineStart=Qwe,Ea.lineEnd=e1e},polygonEnd:function(){Ea.lineStart=Ea.lineEnd=Ea.point=xr,SC.add(Bt(MN)),MN=new Zl},result:function(){var e=SC/2;return SC=new Zl,e}};function Qwe(){Ea.point=Jwe}function Jwe(e,t){Ea.point=XB,ZB=DN=e,KB=PN=t}function XB(e,t){MN.add(PN*e-DN*t),DN=e,PN=t}function e1e(){XB(ZB,KB)}var Zf=1/0,Ax=Zf,Vm=-Zf,Ix=Vm,Ox={point:t1e,lineStart:xr,lineEnd:xr,polygonStart:xr,polygonEnd:xr,result:function(){var e=[[Zf,Ax],[Vm,Ix]];return Vm=Ix=-(Ax=Zf=1/0),e}};function t1e(e,t){e<Zf&&(Zf=e),e>Vm&&(Vm=e),t<Ax&&(Ax=t),t>Ix&&(Ix=t)}var TN=0,AN=0,Sp=0,Fx=0,$x=0,Ud=0,IN=0,ON=0,Cp=0,QB,JB,ji,Ri,ms={point:Au,lineStart:TO,lineEnd:AO,polygonStart:function(){ms.lineStart=o1e,ms.lineEnd=s1e},polygonEnd:function(){ms.point=Au,ms.lineStart=TO,ms.lineEnd=AO},result:function(){var e=Cp?[IN/Cp,ON/Cp]:Ud?[Fx/Ud,$x/Ud]:Sp?[TN/Sp,AN/Sp]:[NaN,NaN];return TN=AN=Sp=Fx=$x=Ud=IN=ON=Cp=0,e}};function Au(e,t){TN+=e,AN+=t,++Sp}function TO(){ms.point=n1e}function n1e(e,t){ms.point=r1e,Au(ji=e,Ri=t)}function r1e(e,t){var n=e-ji,r=t-Ri,o=ao(n*n+r*r);Fx+=o*(ji+e)/2,$x+=o*(Ri+t)/2,Ud+=o,Au(ji=e,Ri=t)}function AO(){ms.point=Au}function o1e(){ms.point=i1e}function s1e(){eV(QB,JB)}function i1e(e,t){ms.point=eV,Au(QB=ji=e,JB=Ri=t)}function eV(e,t){var n=e-ji,r=t-Ri,o=ao(n*n+r*r);Fx+=o*(ji+e)/2,$x+=o*(Ri+t)/2,Ud+=o,o=Ri*e-ji*t,IN+=o*(ji+e),ON+=o*(Ri+t),Cp+=o*3,Au(ji=e,Ri=t)}function tV(e){this._context=e}tV.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:{this._context.moveTo(e,t),this._point=1;break}case 1:{this._context.lineTo(e,t);break}default:{this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,Qo);break}}},result:xr};var FN=new Zl,CC,nV,rV,Ep,Np,Hm={point:xr,lineStart:function(){Hm.point=a1e},lineEnd:function(){CC&&oV(nV,rV),Hm.point=xr},polygonStart:function(){CC=!0},polygonEnd:function(){CC=null},result:function(){var e=+FN;return FN=new Zl,e}};function a1e(e,t){Hm.point=oV,nV=Ep=e,rV=Np=t}function oV(e,t){Ep-=e,Np-=t,FN.add(ao(Ep*Ep+Np*Np)),Ep=e,Np=t}let IO,Lx,OO,FO;class $O{constructor(t){this._append=t==null?sV:l1e(t),this._radius=4.5,this._=""}pointRadius(t){return this._radius=+t,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z"),this._point=NaN}point(t,n){switch(this._point){case 0:{this._append`M${t},${n}`,this._point=1;break}case 1:{this._append`L${t},${n}`;break}default:{if(this._append`M${t},${n}`,this._radius!==OO||this._append!==Lx){const r=this._radius,o=this._;this._="",this._append`m0,${r}a${r},${r} 0 1,1 0,${-2*r}a${r},${r} 0 1,1 0,${2*r}z`,OO=r,Lx=this._append,FO=this._,this._=o}this._+=FO;break}}}result(){const t=this._;return this._="",t.length?t:null}}function sV(e){let t=1;this._+=e[0];for(const n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function l1e(e){const t=Math.floor(e);if(!(t>=0))throw new RangeError(`invalid digits: ${e}`);if(t>15)return sV;if(t!==IO){const n=10**t;IO=t,Lx=function(o){let s=1;this._+=o[0];for(const i=o.length;s<i;++s)this._+=Math.round(arguments[s]*n)/n+o[s]}}return Lx}function LO(e,t){let n=3,r=4.5,o,s;function i(a){return a&&(typeof r=="function"&&s.pointRadius(+r.apply(this,arguments)),Oc(a,o(s))),s.result()}return i.area=function(a){return Oc(a,o(Ea)),Ea.result()},i.measure=function(a){return Oc(a,o(Hm)),Hm.result()},i.bounds=function(a){return Oc(a,o(Ox)),Ox.result()},i.centroid=function(a){return Oc(a,o(ms)),ms.result()},i.projection=function(a){return arguments.length?(o=a==null?(e=null,RN):(e=a).stream,i):e},i.context=function(a){return arguments.length?(s=a==null?(t=null,new $O(n)):new tV(t=a),typeof r!="function"&&s.pointRadius(r),i):t},i.pointRadius=function(a){return arguments.length?(r=typeof a=="function"?a:(s.pointRadius(+a),+a),i):r},i.digits=function(a){if(!arguments.length)return n;if(a==null)n=null;else{const l=Math.floor(a);if(!(l>=0))throw new RangeError(`invalid digits: ${a}`);n=l}return t===null&&(s=new $O(n)),i},i.projection(e).digits(n).context(t)}function CR(e){return function(t){var n=new $N;for(var r in e)n[r]=e[r];return n.stream=t,n}}function $N(){}$N.prototype={constructor:$N,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function ER(e,t,n){var r=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),r!=null&&e.clipExtent(null),Oc(n,e.stream(Ox)),t(Ox.result()),r!=null&&e.clipExtent(r),e}function NR(e,t,n){return ER(e,function(r){var o=t[1][0]-t[0][0],s=t[1][1]-t[0][1],i=Math.min(o/(r[1][0]-r[0][0]),s/(r[1][1]-r[0][1])),a=+t[0][0]+(o-i*(r[1][0]+r[0][0]))/2,l=+t[0][1]+(s-i*(r[1][1]+r[0][1]))/2;e.scale(150*i).translate([a,l])},n)}function iV(e,t,n){return NR(e,[[0,0],t],n)}function aV(e,t,n){return ER(e,function(r){var o=+t,s=o/(r[1][0]-r[0][0]),i=(o-s*(r[1][0]+r[0][0]))/2,a=-s*r[0][1];e.scale(150*s).translate([i,a])},n)}function lV(e,t,n){return ER(e,function(r){var o=+t,s=o/(r[1][1]-r[0][1]),i=-s*r[0][0],a=(o-s*(r[1][1]+r[0][1]))/2;e.scale(150*s).translate([i,a])},n)}var zO=16,c1e=dt(30*ln);function BO(e,t){return+t?d1e(e,t):u1e(e)}function u1e(e){return CR({point:function(t,n){t=e(t,n),this.stream.point(t[0],t[1])}})}function d1e(e,t){function n(r,o,s,i,a,l,c,u,f,h,p,m,g,y){var b=c-r,x=u-o,v=b*b+x*x;if(v>4*t&&g--){var w=i+h,S=a+p,E=l+m,C=ao(w*w+S*S+E*E),_=Ns(E/=C),j=Bt(Bt(E)-1)<Je||Bt(s-f)<Je?(s+f)/2:Gi(S,w),R=e(j,_),P=R[0],M=R[1],O=P-r,I=M-o,A=x*O-b*I;(A*A/v>t||Bt((b*O+x*I)/v-.5)>.3||i*h+a*p+l*m<c1e)&&(n(r,o,s,i,a,l,P,M,j,w/=C,S/=C,E,g,y),y.point(P,M),n(P,M,j,w,S,E,c,u,f,h,p,m,g,y))}}return function(r){var o,s,i,a,l,c,u,f,h,p,m,g,y={point:b,lineStart:x,lineEnd:w,polygonStart:function(){r.polygonStart(),y.lineStart=S},polygonEnd:function(){r.polygonEnd(),y.lineStart=x}};function b(_,j){_=e(_,j),r.point(_[0],_[1])}function x(){f=NaN,y.point=v,r.lineStart()}function v(_,j){var R=Gf([_,j]),P=e(_,j);n(f,h,u,p,m,g,f=P[0],h=P[1],u=_,p=R[0],m=R[1],g=R[2],zO,r),r.point(f,h)}function w(){y.point=b,r.lineEnd()}function S(){x(),y.point=E,y.lineEnd=C}function E(_,j){v(o=_,j),s=f,i=h,a=p,l=m,c=g,y.point=v}function C(){n(f,h,u,p,m,g,s,i,o,a,l,c,zO,r),y.lineEnd=w,w()}return y}}var f1e=CR({point:function(e,t){this.stream.point(e*ln,t*ln)}});function h1e(e){return CR({point:function(t,n){var r=e(t,n);return this.stream.point(r[0],r[1])}})}function p1e(e,t,n,r,o){function s(i,a){return i*=r,a*=o,[t+e*i,n-e*a]}return s.invert=function(i,a){return[(i-t)/e*r,(n-a)/e*o]},s}function VO(e,t,n,r,o,s){if(!s)return p1e(e,t,n,r,o);var i=dt(s),a=st(s),l=i*e,c=a*e,u=i/e,f=a/e,h=(a*n-i*t)/e,p=(a*t+i*n)/e;function m(g,y){return g*=r,y*=o,[l*g-c*y+t,n-c*g-l*y]}return m.invert=function(g,y){return[r*(u*g-f*y+h),o*(p-f*g-u*y)]},m}function Qa(e){return cV(function(){return e})()}function cV(e){var t,n=150,r=480,o=250,s=0,i=0,a=0,l=0,c=0,u,f=0,h=1,p=1,m=null,g=NO,y=null,b,x,v,w=RN,S=.5,E,C,_,j,R;function P(A){return _(A[0]*ln,A[1]*ln)}function M(A){return A=_.invert(A[0],A[1]),A&&[A[0]*to,A[1]*to]}P.stream=function(A){return j&&R===A?j:j=f1e(h1e(u)(g(E(w(R=A)))))},P.preclip=function(A){return arguments.length?(g=A,m=void 0,I()):g},P.postclip=function(A){return arguments.length?(w=A,y=b=x=v=null,I()):w},P.clipAngle=function(A){return arguments.length?(g=+A?zwe(m=A*ln):(m=null,NO),I()):m*to},P.clipExtent=function(A){return arguments.length?(w=A==null?(y=b=x=v=null,RN):Vwe(y=+A[0][0],b=+A[0][1],x=+A[1][0],v=+A[1][1]),I()):y==null?null:[[y,b],[x,v]]},P.scale=function(A){return arguments.length?(n=+A,O()):n},P.translate=function(A){return arguments.length?(r=+A[0],o=+A[1],O()):[r,o]},P.center=function(A){return arguments.length?(s=A[0]%360*ln,i=A[1]%360*ln,O()):[s*to,i*to]},P.rotate=function(A){return arguments.length?(a=A[0]%360*ln,l=A[1]%360*ln,c=A.length>2?A[2]%360*ln:0,O()):[a*to,l*to,c*to]},P.angle=function(A){return arguments.length?(f=A%360*ln,O()):f*to},P.reflectX=function(A){return arguments.length?(h=A?-1:1,O()):h<0},P.reflectY=function(A){return arguments.length?(p=A?-1:1,O()):p<0},P.precision=function(A){return arguments.length?(E=BO(C,S=A*A),I()):ao(S)},P.fitExtent=function(A,F){return NR(P,A,F)},P.fitSize=function(A,F){return iV(P,A,F)},P.fitWidth=function(A,F){return aV(P,A,F)},P.fitHeight=function(A,F){return lV(P,A,F)};function O(){var A=VO(n,0,0,h,p,f).apply(null,t(s,i)),F=VO(n,r-A[0],o-A[1],h,p,f);return u=VB(a,l,c),C=CN(t,F),_=CN(u,C),E=BO(C,S),I()}function I(){return j=R=null,P}return function(){return t=e.apply(this,arguments),P.invert=t.invert&&M,O()}}function kR(e){var t=0,n=vt/3,r=cV(e),o=r(t,n);return o.parallels=function(s){return arguments.length?r(t=s[0]*ln,n=s[1]*ln):[t*to,n*to]},o}function m1e(e){var t=dt(e);function n(r,o){return[r*t,st(o)/t]}return n.invert=function(r,o){return[r/t,Ns(o*t)]},n}function g1e(e,t){var n=st(e),r=(n+st(t))/2;if(Bt(r)<Je)return m1e(e);var o=1+n*(2*r-n),s=ao(o)/r;function i(a,l){var c=ao(o-2*r*st(l))/r;return[c*st(a*=r),s-c*dt(a)]}return i.invert=function(a,l){var c=s-l,u=Gi(a,Bt(c))*bs(c);return c*r<0&&(u-=vt*bs(a)*bs(c)),[u/r,Ns((o-(a*a+c*c)*r*r)/(2*r))]},i}function zx(){return kR(g1e).scale(155.424).center([0,33.6442])}function uV(){return zx().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function b1e(e){var t=e.length;return{point:function(n,r){for(var o=-1;++o<t;)e[o].point(n,r)},sphere:function(){for(var n=-1;++n<t;)e[n].sphere()},lineStart:function(){for(var n=-1;++n<t;)e[n].lineStart()},lineEnd:function(){for(var n=-1;++n<t;)e[n].lineEnd()},polygonStart:function(){for(var n=-1;++n<t;)e[n].polygonStart()},polygonEnd:function(){for(var n=-1;++n<t;)e[n].polygonEnd()}}}function y1e(){var e,t,n=uV(),r,o=zx().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s,i=zx().rotate([157,0]).center([-3,19.9]).parallels([8,18]),a,l,c={point:function(h,p){l=[h,p]}};function u(h){var p=h[0],m=h[1];return l=null,r.point(p,m),l||(s.point(p,m),l)||(a.point(p,m),l)}u.invert=function(h){var p=n.scale(),m=n.translate(),g=(h[0]-m[0])/p,y=(h[1]-m[1])/p;return(y>=.12&&y<.234&&g>=-.425&&g<-.214?o:y>=.166&&y<.234&&g>=-.214&&g<-.115?i:n).invert(h)},u.stream=function(h){return e&&t===h?e:e=b1e([n.stream(t=h),o.stream(h),i.stream(h)])},u.precision=function(h){return arguments.length?(n.precision(h),o.precision(h),i.precision(h),f()):n.precision()},u.scale=function(h){return arguments.length?(n.scale(h),o.scale(h*.35),i.scale(h),u.translate(n.translate())):n.scale()},u.translate=function(h){if(!arguments.length)return n.translate();var p=n.scale(),m=+h[0],g=+h[1];return r=n.translate(h).clipExtent([[m-.455*p,g-.238*p],[m+.455*p,g+.238*p]]).stream(c),s=o.translate([m-.307*p,g+.201*p]).clipExtent([[m-.425*p+Je,g+.12*p+Je],[m-.214*p-Je,g+.234*p-Je]]).stream(c),a=i.translate([m-.205*p,g+.212*p]).clipExtent([[m-.214*p+Je,g+.166*p+Je],[m-.115*p-Je,g+.234*p-Je]]).stream(c),f()},u.fitExtent=function(h,p){return NR(u,h,p)},u.fitSize=function(h,p){return iV(u,h,p)},u.fitWidth=function(h,p){return aV(u,h,p)},u.fitHeight=function(h,p){return lV(u,h,p)};function f(){return e=t=null,u}return u.scale(1070)}function dV(e){return function(t,n){var r=dt(t),o=dt(n),s=e(r*o);return s===1/0?[2,0]:[s*o*st(t),s*st(n)]}}function nb(e){return function(t,n){var r=ao(t*t+n*n),o=e(r),s=st(o),i=dt(o);return[Gi(t*s,r*i),Ns(r&&n*s/r)]}}var fV=dV(function(e){return ao(2/(1+e))});fV.invert=nb(function(e){return 2*Ns(e/2)});function x1e(){return Qa(fV).scale(124.75).clipAngle(180-.001)}var hV=dV(function(e){return(e=BB(e))&&e/st(e)});hV.invert=nb(function(e){return e});function v1e(){return Qa(hV).scale(79.4188).clipAngle(180-.001)}function Uw(e,t){return[e,Mx(SR((qn+t)/2))]}Uw.invert=function(e,t){return[e,2*kh(zB(t))-qn]};function w1e(){return pV(Uw).scale(961/Qo)}function pV(e){var t=Qa(e),n=t.center,r=t.scale,o=t.translate,s=t.clipExtent,i=null,a,l,c;t.scale=function(f){return arguments.length?(r(f),u()):r()},t.translate=function(f){return arguments.length?(o(f),u()):o()},t.center=function(f){return arguments.length?(n(f),u()):n()},t.clipExtent=function(f){return arguments.length?(f==null?i=a=l=c=null:(i=+f[0][0],a=+f[0][1],l=+f[1][0],c=+f[1][1]),u()):i==null?null:[[i,a],[l,c]]};function u(){var f=vt*r(),h=t(Twe(t.rotate()).invert([0,0]));return s(i==null?[[h[0]-f,h[1]-f],[h[0]+f,h[1]+f]]:e===Uw?[[Math.max(h[0]-f,i),a],[Math.min(h[0]+f,l),c]]:[[i,Math.max(h[1]-f,a)],[l,Math.min(h[1]+f,c)]])}return u()}function My(e){return SR((qn+e)/2)}function S1e(e,t){var n=dt(e),r=e===t?st(e):Mx(n/dt(t))/Mx(My(t)/My(e)),o=n*xC(My(e),r)/r;if(!r)return Uw;function s(i,a){o>0?a<-qn+Je&&(a=-qn+Je):a>qn-Je&&(a=qn-Je);var l=o/xC(My(a),r);return[l*st(r*i),o-l*dt(r*i)]}return s.invert=function(i,a){var l=o-a,c=bs(r)*ao(i*i+l*l),u=Gi(i,Bt(l))*bs(l);return l*r<0&&(u-=vt*bs(i)*bs(l)),[u/r,2*kh(xC(o/c,1/r))-qn]},s}function C1e(){return kR(S1e).scale(109.5).parallels([30,30])}function Bx(e,t){return[e,t]}Bx.invert=Bx;function E1e(){return Qa(Bx).scale(152.63)}function N1e(e,t){var n=dt(e),r=e===t?st(e):(n-dt(t))/(t-e),o=n/r+e;if(Bt(r)<Je)return Bx;function s(i,a){var l=o-a,c=r*i;return[l*st(c),o-l*dt(c)]}return s.invert=function(i,a){var l=o-a,c=Gi(i,Bt(l))*bs(l);return l*r<0&&(c-=vt*bs(i)*bs(l)),[c/r,o-bs(r)*ao(i*i+l*l)]},s}function k1e(){return kR(N1e).scale(131.154).center([0,13.9389])}var tm=1.340264,nm=-.081106,rm=893e-6,om=.003796,Vx=ao(3)/2,_1e=12;function mV(e,t){var n=Ns(Vx*st(t)),r=n*n,o=r*r*r;return[e*dt(n)/(Vx*(tm+3*nm*r+o*(7*rm+9*om*r))),n*(tm+nm*r+o*(rm+om*r))]}mV.invert=function(e,t){for(var n=t,r=n*n,o=r*r*r,s=0,i,a,l;s<_1e&&(a=n*(tm+nm*r+o*(rm+om*r))-t,l=tm+3*nm*r+o*(7*rm+9*om*r),n-=i=a/l,r=n*n,o=r*r*r,!(Bt(i)<LB));++s);return[Vx*e*(tm+3*nm*r+o*(7*rm+9*om*r))/dt(n),Ns(st(n)/Vx)]};function j1e(){return Qa(mV).scale(177.158)}function gV(e,t){var n=dt(t),r=dt(e)*n;return[n*st(e)/r,st(t)/r]}gV.invert=nb(kh);function R1e(){return Qa(gV).scale(144.049).clipAngle(60)}function bV(e,t){var n=t*t,r=n*n;return[e*(.8707-.131979*n+r*(-.013791+r*(.003971*n-.001529*r))),t*(1.007226+n*(.015085+r*(-.044475+.028874*n-.005916*r)))]}bV.invert=function(e,t){var n=t,r=25,o;do{var s=n*n,i=s*s;n-=o=(n*(1.007226+s*(.015085+i*(-.044475+.028874*s-.005916*i)))-t)/(1.007226+s*(.015085*3+i*(-.044475*7+.028874*9*s-.005916*11*i)))}while(Bt(o)>Je&&--r>0);return[e/(.8707+(s=n*n)*(-.131979+s*(-.013791+s*s*s*(.003971-.001529*s)))),n]};function M1e(){return Qa(bV).scale(175.295)}function yV(e,t){return[dt(t)*st(e),st(t)]}yV.invert=nb(Ns);function D1e(){return Qa(yV).scale(249.5).clipAngle(90+Je)}function xV(e,t){var n=dt(t),r=1+dt(e)*n;return[n*st(e)/r,st(t)/r]}xV.invert=nb(function(e){return 2*kh(e)});function P1e(){return Qa(xV).scale(250).clipAngle(142)}function vV(e,t){return[Mx(SR((qn+t)/2)),-e]}vV.invert=function(e,t){return[-t,2*kh(zB(e))-qn]};function T1e(){var e=pV(vV),t=e.center,n=e.rotate;return e.center=function(r){return arguments.length?t([-r[1],r[0]]):(r=t(),[r[1],-r[0]])},e.rotate=function(r){return arguments.length?n([r[0],r[1],r.length>2?r[2]+90:90]):(r=n(),[r[0],r[1],r[2]-90])},n([0,0,90]).scale(159.155)}function Gt(e){for(var t=e.length/6|0,n=new Array(t),r=0;r<t;)n[r]="#"+e.slice(r*6,++r*6);return n}function Ww(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function _R(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function _h(){}var Iu=.7,Kf=1/Iu,uf="\\s*([+-]?\\d+)\\s*",Um="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ii="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",A1e=/^#([0-9a-f]{3,8})$/,I1e=new RegExp(`^rgb\\(${uf},${uf},${uf}\\)$`),O1e=new RegExp(`^rgb\\(${Ii},${Ii},${Ii}\\)$`),F1e=new RegExp(`^rgba\\(${uf},${uf},${uf},${Um}\\)$`),$1e=new RegExp(`^rgba\\(${Ii},${Ii},${Ii},${Um}\\)$`),L1e=new RegExp(`^hsl\\(${Um},${Ii},${Ii}\\)$`),z1e=new RegExp(`^hsla\\(${Um},${Ii},${Ii},${Um}\\)$`),HO={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Ww(_h,jR,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:UO,formatHex:UO,formatHex8:B1e,formatHsl:V1e,formatRgb:WO,toString:WO});function UO(){return this.rgb().formatHex()}function B1e(){return this.rgb().formatHex8()}function V1e(){return SV(this).formatHsl()}function WO(){return this.rgb().formatRgb()}function jR(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=A1e.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?qO(t):n===3?new Vr(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Dy(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Dy(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=I1e.exec(e))?new Vr(t[1],t[2],t[3],1):(t=O1e.exec(e))?new Vr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=F1e.exec(e))?Dy(t[1],t[2],t[3],t[4]):(t=$1e.exec(e))?Dy(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=L1e.exec(e))?ZO(t[1],t[2]/100,t[3]/100,1):(t=z1e.exec(e))?ZO(t[1],t[2]/100,t[3]/100,t[4]):HO.hasOwnProperty(e)?qO(HO[e]):e==="transparent"?new Vr(NaN,NaN,NaN,0):null}function qO(e){return new Vr(e>>16&255,e>>8&255,e&255,1)}function Dy(e,t,n,r){return r<=0&&(e=t=n=NaN),new Vr(e,t,n,r)}function wV(e){return e instanceof _h||(e=jR(e)),e?(e=e.rgb(),new Vr(e.r,e.g,e.b,e.opacity)):new Vr}function Wm(e,t,n,r){return arguments.length===1?wV(e):new Vr(e,t,n,r??1)}function Vr(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Ww(Vr,Wm,_R(_h,{brighter(e){return e=e==null?Kf:Math.pow(Kf,e),new Vr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Iu:Math.pow(Iu,e),new Vr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Vr(mu(this.r),mu(this.g),mu(this.b),Hx(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:GO,formatHex:GO,formatHex8:H1e,formatRgb:YO,toString:YO}));function GO(){return`#${Hc(this.r)}${Hc(this.g)}${Hc(this.b)}`}function H1e(){return`#${Hc(this.r)}${Hc(this.g)}${Hc(this.b)}${Hc((isNaN(this.opacity)?1:this.opacity)*255)}`}function YO(){const e=Hx(this.opacity);return`${e===1?"rgb(":"rgba("}${mu(this.r)}, ${mu(this.g)}, ${mu(this.b)}${e===1?")":`, ${e})`}`}function Hx(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function mu(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Hc(e){return e=mu(e),(e<16?"0":"")+e.toString(16)}function ZO(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Us(e,t,n,r)}function SV(e){if(e instanceof Us)return new Us(e.h,e.s,e.l,e.opacity);if(e instanceof _h||(e=jR(e)),!e)return new Us;if(e instanceof Us)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,o=Math.min(t,n,r),s=Math.max(t,n,r),i=NaN,a=s-o,l=(s+o)/2;return a?(t===s?i=(n-r)/a+(n<r)*6:n===s?i=(r-t)/a+2:i=(t-n)/a+4,a/=l<.5?s+o:2-s-o,i*=60):a=l>0&&l<1?0:i,new Us(i,a,l,e.opacity)}function U1e(e,t,n,r){return arguments.length===1?SV(e):new Us(e,t,n,r??1)}function Us(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Ww(Us,U1e,_R(_h,{brighter(e){return e=e==null?Kf:Math.pow(Kf,e),new Us(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Iu:Math.pow(Iu,e),new Us(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,o=2*n-r;return new Vr(EC(e>=240?e-240:e+120,o,r),EC(e,o,r),EC(e<120?e+240:e-120,o,r),this.opacity)},clamp(){return new Us(KO(this.h),Py(this.s),Py(this.l),Hx(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Hx(this.opacity);return`${e===1?"hsl(":"hsla("}${KO(this.h)}, ${Py(this.s)*100}%, ${Py(this.l)*100}%${e===1?")":`, ${e})`}`}}));function KO(e){return e=(e||0)%360,e<0?e+360:e}function Py(e){return Math.max(0,Math.min(1,e||0))}function EC(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const W1e=Math.PI/180,q1e=180/Math.PI;var CV=-.14861,RR=1.78277,MR=-.29227,qw=-.90649,qm=1.97294,XO=qm*qw,QO=qm*RR,JO=RR*MR-qw*CV;function G1e(e){if(e instanceof gu)return new gu(e.h,e.s,e.l,e.opacity);e instanceof Vr||(e=wV(e));var t=e.r/255,n=e.g/255,r=e.b/255,o=(JO*r+XO*t-QO*n)/(JO+XO-QO),s=r-o,i=(qm*(n-o)-MR*s)/qw,a=Math.sqrt(i*i+s*s)/(qm*o*(1-o)),l=a?Math.atan2(i,s)*q1e-120:NaN;return new gu(l<0?l+360:l,a,o,e.opacity)}function Yi(e,t,n,r){return arguments.length===1?G1e(e):new gu(e,t,n,r??1)}function gu(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Ww(gu,Yi,_R(_h,{brighter(e){return e=e==null?Kf:Math.pow(Kf,e),new gu(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Iu:Math.pow(Iu,e),new gu(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*W1e,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),r=Math.cos(e),o=Math.sin(e);return new Vr(255*(t+n*(CV*r+RR*o)),255*(t+n*(MR*r+qw*o)),255*(t+n*(qm*r)),this.opacity)}}));function Y1e(e,t,n,r,o){var s=e*e,i=s*e;return((1-3*e+3*s-i)*t+(4-6*s+3*i)*n+(1+3*e+3*s-3*i)*r+i*o)/6}function Z1e(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),o=e[r],s=e[r+1],i=r>0?e[r-1]:2*o-s,a=r<t-1?e[r+2]:2*s-o;return Y1e((n-r/t)*t,i,o,s,a)}}const DR=e=>()=>e;function EV(e,t){return function(n){return e+n*t}}function K1e(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function X1e(e,t){var n=t-e;return n?EV(e,n>180||n<-180?n-360*Math.round(n/360):n):DR(isNaN(e)?t:e)}function Q1e(e){return(e=+e)==1?df:function(t,n){return n-t?K1e(t,n,e):DR(isNaN(t)?n:t)}}function df(e,t){var n=t-e;return n?EV(e,n):DR(isNaN(e)?t:e)}(function e(t){var n=Q1e(t);function r(o,s){var i=n((o=Wm(o)).r,(s=Wm(s)).r),a=n(o.g,s.g),l=n(o.b,s.b),c=df(o.opacity,s.opacity);return function(u){return o.r=i(u),o.g=a(u),o.b=l(u),o.opacity=c(u),o+""}}return r.gamma=e,r})(1);function J1e(e){return function(t){var n=t.length,r=new Array(n),o=new Array(n),s=new Array(n),i,a;for(i=0;i<n;++i)a=Wm(t[i]),r[i]=a.r||0,o[i]=a.g||0,s[i]=a.b||0;return r=e(r),o=e(o),s=e(s),a.opacity=1,function(l){return a.r=r(l),a.g=o(l),a.b=s(l),a+""}}}var eSe=J1e(Z1e);function NV(e){return function t(n){n=+n;function r(o,s){var i=e((o=Yi(o)).h,(s=Yi(s)).h),a=df(o.s,s.s),l=df(o.l,s.l),c=df(o.opacity,s.opacity);return function(u){return o.h=i(u),o.s=a(u),o.l=l(Math.pow(u,n)),o.opacity=c(u),o+""}}return r.gamma=t,r}(1)}NV(X1e);var PR=NV(df);const gn=e=>eSe(e[e.length-1]);var tSe=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(Gt);const nSe=gn(tSe);var rSe=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(Gt);const oSe=gn(rSe);var sSe=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(Gt);const iSe=gn(sSe);var aSe=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(Gt);const lSe=gn(aSe);var cSe=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(Gt);const uSe=gn(cSe);var dSe=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(Gt);const fSe=gn(dSe);var hSe=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(Gt);const pSe=gn(hSe);var mSe=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(Gt);const gSe=gn(mSe);var bSe=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(Gt);const ySe=gn(bSe);var xSe=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(Gt);const vSe=gn(xSe);var wSe=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(Gt);const SSe=gn(wSe);var CSe=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(Gt);const ESe=gn(CSe);var NSe=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(Gt);const kSe=gn(NSe);var _Se=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(Gt);const jSe=gn(_Se);var RSe=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(Gt);const MSe=gn(RSe);var DSe=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(Gt);const PSe=gn(DSe);var TSe=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(Gt);const ASe=gn(TSe);var ISe=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(Gt);const OSe=gn(ISe);var FSe=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(Gt);const $Se=gn(FSe);var LSe=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(Gt);const zSe=gn(LSe);var BSe=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(Gt);const VSe=gn(BSe);var HSe=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(Gt);const USe=gn(HSe);var WSe=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(Gt);const qSe=gn(WSe);var GSe=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(Gt);const YSe=gn(GSe);var ZSe=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(Gt);const KSe=gn(ZSe);var XSe=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(Gt);const QSe=gn(XSe);var JSe=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(Gt);const eCe=gn(JSe);function tCe(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-e*(35.34-e*(2381.73-e*(6402.7-e*(7024.72-e*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+e*(170.73+e*(52.82-e*(131.46-e*(176.58-e*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+e*(442.36-e*(2482.43-e*(6167.24-e*(6614.94-e*2475.67)))))))+")"}const nCe=PR(Yi(300,.5,0),Yi(-240,.5,1));var rCe=PR(Yi(-100,.75,.35),Yi(80,1.5,.8)),oCe=PR(Yi(260,.75,.35),Yi(80,1.5,.8)),Ty=Yi();function sCe(e){(e<0||e>1)&&(e-=Math.floor(e));var t=Math.abs(e-.5);return Ty.h=360*e-100,Ty.s=1.5-1.5*t,Ty.l=.8-.9*t,Ty+""}var Ay=Wm(),iCe=Math.PI/3,aCe=Math.PI*2/3;function lCe(e){var t;return e=(.5-e)*Math.PI,Ay.r=255*(t=Math.sin(e))*t,Ay.g=255*(t=Math.sin(e+iCe))*t,Ay.b=255*(t=Math.sin(e+aCe))*t,Ay+""}function cCe(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+e*(1172.33-e*(10793.56-e*(33300.12-e*(38394.49-e*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+e*(557.33+e*(1225.33-e*(3574.96-e*(1073.77+e*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+e*(3211.1-e*(15327.97-e*(27814-e*(22569.18-e*6838.66)))))))+")"}function Gw(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}const uCe=Gw(Gt("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var dCe=Gw(Gt("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),fCe=Gw(Gt("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),hCe=Gw(Gt("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function pCe(e){return e}function mCe(e){if(e==null)return pCe;var t,n,r=e.scale[0],o=e.scale[1],s=e.translate[0],i=e.translate[1];return function(a,l){l||(t=n=0);var c=2,u=a.length,f=new Array(u);for(f[0]=(t+=a[0])*r+s,f[1]=(n+=a[1])*o+i;c<u;)f[c]=a[c],++c;return f}}function gCe(e,t){for(var n,r=e.length,o=r-t;o<--r;)n=e[o],e[o++]=e[r],e[r]=n}function bCe(e,t){return typeof t=="string"&&(t=e.objects[t]),t.type==="GeometryCollection"?{type:"FeatureCollection",features:t.geometries.map(function(n){return eF(e,n)})}:eF(e,t)}function eF(e,t){var n=t.id,r=t.bbox,o=t.properties==null?{}:t.properties,s=yCe(e,t);return n==null&&r==null?{type:"Feature",properties:o,geometry:s}:r==null?{type:"Feature",id:n,properties:o,geometry:s}:{type:"Feature",id:n,bbox:r,properties:o,geometry:s}}function yCe(e,t){var n=mCe(e.transform),r=e.arcs;function o(u,f){f.length&&f.pop();for(var h=r[u<0?~u:u],p=0,m=h.length;p<m;++p)f.push(n(h[p],p));u<0&&gCe(f,m)}function s(u){return n(u)}function i(u){for(var f=[],h=0,p=u.length;h<p;++h)o(u[h],f);return f.length<2&&f.push(f[0]),f}function a(u){for(var f=i(u);f.length<4;)f.push(f[0]);return f}function l(u){return u.map(a)}function c(u){var f=u.type,h;switch(f){case"GeometryCollection":return{type:f,geometries:u.geometries.map(c)};case"Point":h=s(u.coordinates);break;case"MultiPoint":h=u.coordinates.map(s);break;case"LineString":h=i(u.arcs);break;case"MultiLineString":h=u.arcs.map(i);break;case"Polygon":h=l(u.arcs);break;case"MultiPolygon":h=u.arcs.map(l);break;default:return null}return{type:f,coordinates:h}}return c(t)}const sm={geoAzimuthalEqualArea:x1e,geoAzimuthalEquidistant:v1e,geoGnomonic:R1e,geoOrthographic:D1e,geoStereographic:P1e,geoEqualEarth:j1e,geoAlbers:uV,geoAlbersUsa:y1e,geoConicConformal:C1e,geoConicEqualArea:zx,geoConicEquidistant:k1e,geoEquirectangular:E1e,geoMercator:w1e,geoTransverseMercator:T1e,geoNaturalEarth1:M1e};Object.keys(sm).forEach(e=>{sm[`${e.charAt(3).toLowerCase()}${e.slice(4)}`]=sm[e]});class ed extends uc{constructor(t){super(t),this.outlineBounds=null,this.oldChartBounds=null,this.geoPath=LO()}init(t){t.position="chartArea",super.init(t),typeof t.projection=="function"?this.projection=t.projection:this.projection=(sm[t.projection]||sm.albersUsa)(),this.geoPath.projection(this.projection),this.outlineBounds=null,this.oldChartBounds=null}computeBounds(t){const n=LO(this.projection.fitWidth(1e3,t)).bounds(t),r=Math.ceil(n[1][1]-n[0][1]),o=Math.ceil(n[1][0]-n[0][0]),s=this.projection.translate();this.outlineBounds={width:o,height:r,aspectRatio:o/r,refScale:this.projection.scale(),refX:s[0],refY:s[1]}}updateBounds(){const t=this.chart.chartArea,n=this.outlineBounds;if(!n)return!1;const r=this.options.padding,o=typeof r=="number"?r:r.top,s=typeof r=="number"?r:r.left,i=typeof r=="number"?r:r.bottom,a=typeof r=="number"?r:r.right,l=t.right-t.left-s-a,c=t.bottom-t.top-o-i,u=this.oldChartBounds;this.oldChartBounds={chartWidth:l,chartHeight:c};const f=Math.min(l/n.width,c/n.height),h=n.width*f,p=n.height*f,m=(l-h)*.5+t.left+s,g=(c-p)*.5+t.top+o,y=this.options;return this.projection.scale(n.refScale*f*y.projectionScale).translate([f*n.refX+m+y.projectionOffset[0],f*n.refY+g+y.projectionOffset[1]]),!u||u.chartWidth!==this.oldChartBounds.chartWidth||u.chartHeight!==this.oldChartBounds.chartHeight}}ed.id="projection";ed.defaults={projection:"albersUsa",projectionScale:1,projectionOffset:[0,0],padding:0};ed.descriptors={_scriptable:e=>e!=="projection",_indexable:e=>e!=="projectionOffset"};const Yw={position:"chartArea",property:"value",grid:{z:1,drawOnChartArea:!1},ticks:{z:1},legend:{align:"right",position:"bottom-right",length:100,width:50,margin:8,indicatorWidth:10}};function xCe(e){const{indicatorWidth:t,align:n,margin:r}=e,o=(typeof r=="number"?r:r.left)+(n==="right"?t:0),s=(typeof r=="number"?r:r.top)+(n==="bottom"?t:0),i=(typeof r=="number"?r:r.right)+(n==="left"?t:0),a=(typeof r=="number"?r:r.bottom)+(n==="top"?t:0);return{left:o,top:s,right:i,bottom:a}}function vCe(e,t,n,r,o){const{indicatorWidth:s,align:i,position:a}=t,l=i==="top"||i==="bottom",c=(i==="left"?o.w:n)+(l?s:0),u=(i==="top"?o.h:r)+(l?0:s),f=xCe(t);if(typeof a=="string")switch(a){case"top-left":return[f.left,f.top];case"top":return[(e.right-c)/2,f.top];case"left":return[f.left,(e.bottom-u)/2];case"top-right":return[e.right-c-f.right,f.top];case"bottom-right":return[e.right-c-f.right,e.bottom-u-f.bottom];case"bottom":return[(e.right-c)/2,e.bottom-u-f.bottom];case"bottom-left":return[f.left,e.bottom-u-f.bottom];default:return[e.right-c-f.right,(e.bottom-u)/2]}return[a.x,a.y]}class Wd extends Tu{constructor(){super(...arguments),this.legendSize={w:0,h:0}}init(t){t.position="chartArea",super.init(t),this.axis="r"}parse(t,n){return t&&typeof t[this.options.property]=="number"?t[this.options.property]:super.parse(t,n)}isHorizontal(){return this.options.legend.align==="top"||this.options.legend.align==="bottom"}_getNormalizedValue(t){return t==null||Number.isNaN(t)?null:(t-this._startValue)/this._valueRange}update(t,n,r){const o=Math.min(n,this.bottom==null?Number.POSITIVE_INFINITY:this.bottom),s=Math.min(t,this.right==null?Number.POSITIVE_INFINITY:this.right),i=this.options.legend,a=this.isHorizontal(),l=(p,m)=>p<1?m*p:p,c=Math.min(s,l(a?i.length:i.width,s))-(a?0:i.indicatorWidth),u=Math.min(o,l(a?i.width:i.length,o))-(a?i.indicatorWidth:0);this.legendSize={w:c,h:u},this.bottom=u,this.height=u,this.right=c,this.width=c;const f=this.options.position;this.options.position=this.options.legend.align;const h=super.update(c,u,r);return this.options.position=f,this.height=Math.min(u,this.height),this.width=Math.min(c,this.width),h}_computeLabelArea(){}draw(t){if(!this._isVisible())return;const n=vCe(t,this.options.legend,this.width,this.height,this.legendSize),{ctx:r}=this;r.save(),r.translate(n[0],n[1]);const o=this.options.position;this.options.position=this.options.legend.align,super.draw({...t,bottom:this.height+10,right:this.width}),this.options.position=o;const{indicatorWidth:s}=this.options.legend;switch(this.options.legend.align){case"left":r.translate(this.legendSize.w,0);break;case"top":r.translate(0,this.legendSize.h);break;case"bottom":r.translate(0,-s);break;default:r.translate(-s,0);break}this._drawIndicator(),r.restore()}_drawIndicator(){}}class kV extends qf{constructor(){super(...arguments),this.legendSize={w:0,h:0}}init(t){Wd.prototype.init.call(this,t)}parse(t,n){return Wd.prototype.parse.call(this,t,n)}isHorizontal(){return this.options.legend.align==="top"||this.options.legend.align==="bottom"}_getNormalizedValue(t){return t==null||Number.isNaN(t)?null:(Math.log10(t)-this._startValue)/this._valueRange}update(t,n,r){return Wd.prototype.update.call(this,t,n,r)}_computeLabelArea(){}draw(t){return Wd.prototype.draw.call(this,t)}_drawIndicator(){}}const Na={interpolateBlues:USe,interpolateBrBG:nSe,interpolateBuGn:vSe,interpolateBuPu:SSe,interpolateCividis:tCe,interpolateCool:oCe,interpolateCubehelixDefault:nCe,interpolateGnBu:ESe,interpolateGreens:qSe,interpolateGreys:YSe,interpolateInferno:fCe,interpolateMagma:dCe,interpolateOrRd:kSe,interpolateOranges:eCe,interpolatePRGn:oSe,interpolatePiYG:iSe,interpolatePlasma:hCe,interpolatePuBu:MSe,interpolatePuBuGn:jSe,interpolatePuOr:lSe,interpolatePuRd:PSe,interpolatePurples:KSe,interpolateRainbow:sCe,interpolateRdBu:uSe,interpolateRdGy:fSe,interpolateRdPu:ASe,interpolateRdYlBu:pSe,interpolateRdYlGn:gSe,interpolateReds:QSe,interpolateSinebow:lCe,interpolateSpectral:ySe,interpolateTurbo:cCe,interpolateViridis:uCe,interpolateWarm:rCe,interpolateYlGn:$Se,interpolateYlGnBu:OSe,interpolateYlOrBr:zSe,interpolateYlOrRd:VSe};Object.keys(Na).forEach(e=>{Na[`${e.charAt(11).toLowerCase()}${e.slice(12)}`]=Na[e],Na[e.slice(11)]=Na[e]});function _V(e,t){const n=1/t;if(e<=n)return 0;if(e>=1-n)return 1;for(let r=0;r<1;r+=n)if(e<r)return r-n/2;return e}const jV={interpolate:"blues",missing:"transparent",quantize:0};class Kl extends Wd{get interpolate(){const t=this.options;return t?typeof t.interpolate=="function"?t.interpolate:Na[t.interpolate]||Na.blues:n=>`rgb(${n},${n},${n})`}getColorForValue(t){const n=this._getNormalizedValue(t);return n==null||Number.isNaN(n)?this.options.missing:this.getColor(n)}getColor(t){let n=t;return this.options.quantize>0&&(n=_V(n,this.options.quantize)),this.interpolate(n)}_drawIndicator(){const{indicatorWidth:t}=this.options.legend,n=this._reversePixels;if(this.isHorizontal()){const r=this.width;if(this.options.quantize>0){const o=r/this.options.quantize,s=n?i=>r-o-i:i=>i;for(let i=0;i<r;i+=o){const a=(i+o/2)/r;this.ctx.fillStyle=this.getColor(a),this.ctx.fillRect(s(i),0,o,t)}}else{const o=n?s=>r-1-s:s=>s;for(let s=0;s<r;s+=1)this.ctx.fillStyle=this.getColor((s+.5)/r),this.ctx.fillRect(o(s),0,1,t)}}else{const r=this.height;if(this.options.quantize>0){const o=r/this.options.quantize,s=n?i=>r-o-i:i=>i;for(let i=0;i<r;i+=o){const a=(i+o/2)/r;this.ctx.fillStyle=this.getColor(a),this.ctx.fillRect(0,s(i),t,o)}}else{const o=n?s=>r-1-s:s=>s;for(let s=0;s<r;s+=1)this.ctx.fillStyle=this.getColor((s+.5)/r),this.ctx.fillRect(0,o(s),t,1)}}}}Kl.id="color";Kl.defaults=cr({},[Tu.defaults,Yw,jV]);Kl.descriptors={_scriptable:e=>e!=="interpolate",_indexable:!1};class TR extends kV{constructor(){super(...arguments),this.interpolate=t=>`rgb(${t},${t},${t})`}init(t){super.init(t),typeof t.interpolate=="function"?this.interpolate=t.interpolate:this.interpolate=Na[t.interpolate]||Na.blues}getColorForValue(t){return Kl.prototype.getColorForValue.call(this,t)}getColor(t){let n=t;return this.options.quantize>0&&(n=_V(n,this.options.quantize)),this.interpolate(n)}_drawIndicator(){return Kl.prototype._drawIndicator.call(this)}}TR.id="colorLogarithmic";TR.defaults=cr({},[qf.defaults,Yw,jV]);TR.descriptors={_scriptable:e=>e!=="interpolate",_indexable:!1};const RV={missing:1,mode:"area",range:[2,20],legend:{align:"bottom",length:90,width:70,indicatorWidth:42}};class Xl extends Wd{constructor(){super(...arguments),this._model=null}getSizeForValue(t){const n=this._getNormalizedValue(t);return n==null||Number.isNaN(n)?this.options.missing:this.getSizeImpl(n)}getSizeImpl(t){const[n,r]=this.options.range;if(this.options.mode==="area"){const s=r*r*Math.PI,i=n*n*Math.PI,a=s-i,l=t*a+i;return Math.sqrt(l/Math.PI)}const o=r-n;return t*o+n}_drawIndicator(){const{ctx:t}=this,n=this.options.legend.indicatorWidth/2,r=this.isHorizontal(),o=this.ticks,s=this.getLabelItems(),i=s?s.map(a=>({[r?"x":"y"]:a.options.translation[r?0:1]})):o.map((a,l)=>({[r?"x":"y"]:this.getPixelForTick(l)}));if((this._gridLineItems||[]).forEach(a=>{if(t.save(),t.strokeStyle=a.color,t.lineWidth=a.width,t.setLineDash&&(t.setLineDash(a.borderDash),t.lineDashOffset=a.borderDashOffset),t.beginPath(),this.options.grid.drawTicks)switch(this.options.legend.align){case"left":t.moveTo(0,a.ty1),t.lineTo(n,a.ty2);break;case"top":t.moveTo(a.tx1,0),t.lineTo(a.tx2,n);break;case"bottom":t.moveTo(a.tx1,n),t.lineTo(a.tx2,n*2);break;default:t.moveTo(n,a.ty1),t.lineTo(n*2,a.ty2);break}t.stroke(),t.restore()}),this._model){const a=this._model;t.strokeStyle=a.borderColor,t.lineWidth=a.borderWidth||0,t.fillStyle=a.backgroundColor}else t.fillStyle="blue";o.forEach((a,l)=>{const c=i[l],u=this.getSizeForValue(a.value),f=r?c.x:n,h=r?n:c.y,p={pointStyle:"circle",borderWidth:0,...this._model||{},radius:u};Nx(t,p,f,h)})}}Xl.id="size";Xl.defaults=cr({},[Tu.defaults,Yw,RV]);Xl.descriptors={_scriptable:!0,_indexable:e=>e!=="range"};class MV extends kV{constructor(){super(...arguments),this._model=null}getSizeForValue(t){const n=this._getNormalizedValue(t);return n==null||Number.isNaN(n)?this.options.missing:this.getSizeImpl(n)}getSizeImpl(t){return Xl.prototype.getSizeImpl.call(this,t)}_drawIndicator(){Xl.prototype._drawIndicator.call(this)}}MV.id="sizeLogarithmic";MV.defaults=cr({},[qf.defaults,Yw,RV]);function wCe(e,t){return[[e[0][0]-t,e[0][1]-t],[e[1][0]+t,e[1][1]+t]]}class Za extends aa{constructor(){super(...arguments),this.cache=void 0}inRange(t,n){const r=this.getBounds(),o=(Number.isNaN(t)||t>=r.x&&t<=r.x2)&&(Number.isNaN(n)||n>=r.y&&n<=r.y2),s=this.projectionScale.geoPath.projection();if(o&&!Number.isNaN(t)&&!Number.isNaN(n)&&typeof s.invert=="function"){const i=s.invert([t,n]);return i!=null&&Kwe(this.feature,i)}return o}inXRange(t){return this.inRange(t,Number.NaN)}inYRange(t){return this.inRange(Number.NaN,t)}getCenterPoint(){if(this.cache&&this.cache.center)return this.cache.center;let t;if(this.center){const n=this.projectionScale.projection([this.center.longitude,this.center.latitude]);t={x:n[0],y:n[1]}}else{const n=this.projectionScale.geoPath.centroid(this.feature);t={x:n[0],y:n[1]}}return this.cache={...this.cache||{},center:t},t}getBounds(){if(this.cache&&this.cache.bounds)return this.cache.bounds;const t=wCe(this.projectionScale.geoPath.bounds(this.feature),this.options.borderWidth/2),n={x:t[0][0],x2:t[1][0],y:t[0][1],y2:t[1][1],width:t[1][0]-t[0][0],height:t[1][1]-t[0][1]};return this.cache={...this.cache||{},bounds:n},n}_drawInCache(t){const n=this.getBounds();if(!Number.isFinite(n.x))return;const r=this.cache&&this.cache.canvas?this.cache.canvas:t.createElement("canvas"),o=Math.floor(n.x),s=Math.floor(n.y),i=Math.ceil(n.x+n.width),a=Math.ceil(n.y+n.height),l=this.pixelRatio||1,c=Math.ceil(Math.max(i-o,1)*l),u=Math.ceil(Math.max(a-s,1)*l);if(c<=0||u<=0)return;r.width=c,r.height=u;const f=r.getContext("2d");f&&(f.clearRect(0,0,r.width,r.height),f.save(),f.scale(l,l),f.translate(-o,-s),this._drawImpl(f),f.restore(),this.cache={...this.cache||{},canvas:r,canvasKey:this._optionsToKey()})}_optionsToKey(){const{options:t}=this;return`${t.backgroundColor};${t.borderColor};${t.borderWidth};${this.pixelRatio}`}_drawImpl(t){const{feature:n}=this,{options:r}=this;t.beginPath(),this.projectionScale.geoPath.context(t)(n),r.backgroundColor&&(t.fillStyle=r.backgroundColor,t.fill()),r.borderColor&&(t.strokeStyle=r.borderColor,t.lineWidth=r.borderWidth,t.stroke())}draw(t){const{feature:n}=this;if(!n)return;(!this.cache||this.cache.canvasKey!==this._optionsToKey())&&t.canvas.ownerDocument!=null&&this._drawInCache(t.canvas.ownerDocument);const r=this.getBounds();if(this.cache&&this.cache.canvas&&this.cache.canvas.width>0&&this.cache.canvas.height>0){const o=Math.floor(r.x),s=Math.floor(r.y),i=Math.ceil(r.x+r.width),a=Math.ceil(r.y+r.height),l=i-o,c=a-s;l>0&&c>0&&t.drawImage(this.cache.canvas,o,s,i-o,a-s)}else Number.isFinite(r.x)&&(t.save(),this._drawImpl(t),t.restore())}}Za.id="geoFeature";Za.defaults={...Ai.defaults,outlineBackgroundColor:null,outlineBorderWidth:0,graticuleBorderColor:"#CCCCCC",graticuleBorderWidth:0};Za.defaultRoutes={outlineBorderColor:"borderColor",...Ai.defaultRoutes||{}};const DV={showOutline:!1,showGraticule:!1,clipMap:!0},PV={scales:{projection:{axis:"x",type:ed.id,position:"chartArea",display:!1}}};function tF(e){const t={...e};return Object.keys(e).forEach(n=>{let r=n;if(n.startsWith("outline")){const o=n.slice(7);r=o[0].toLowerCase()+o.slice(1)}else if(n.startsWith("hoverOutline"))r=`hover${n.slice(12)}`;else return;delete t[n],t[r]=e[n]}),t}class TV extends ys{getGeoDataset(){return super.getDataset()}getGeoOptions(){return this.chart.options}getProjectionScale(){return this.getScaleForId("projection")}linkScales(){const t=this.getGeoDataset(),n=this.getMeta();n.xAxisID="projection",t.xAxisID="projection",n.yAxisID="projection",t.yAxisID="projection",n.xScale=this.getScaleForId("projection"),n.yScale=this.getScaleForId("projection"),this.getProjectionScale().computeBounds(this.resolveOutline())}showOutline(){return rt(this.getGeoDataset().showOutline,this.getGeoOptions().showOutline)}clipMap(){return rt(this.getGeoDataset().clipMap,this.getGeoOptions().clipMap)}getGraticule(){return rt(this.getGeoDataset().showGraticule,this.getGeoOptions().showGraticule)}update(t){super.update(t);const n=this.getMeta(),r=this.getProjectionScale(),o=r.updateBounds();if(this.showOutline()){const s=n.dataset;if(o&&delete s.cache,s.projectionScale=r,s.pixelRatio=this.chart.currentDevicePixelRatio,t!=="resize"){const i=tF(this.resolveDatasetElementOptions(t)),a={feature:this.resolveOutline(),options:i};this.updateElement(s,void 0,a,t),this.getGraticule()&&(n.graticule=i)}}else this.getGraticule()&&t!=="resize"&&(n.graticule=tF(this.resolveDatasetElementOptions(t)));this.updateElements(n.data,0,n.data.length,t),o&&n.data.forEach(s=>delete s.cache)}resolveOutline(){const n=this.getGeoDataset().outline||{type:"Sphere"};return Array.isArray(n)?{type:"FeatureCollection",features:n}:n}showGraticule(){const t=this.getGraticule(),n=this.getMeta().graticule;if(!t||!n)return;const{ctx:r}=this.chart,s=this.getProjectionScale().geoPath.context(r);if(r.save(),r.beginPath(),typeof t=="boolean")t&&s(Xwe());else{const i=YB();t.stepMajor&&i.stepMajor(t.stepMajor),t.stepMinor&&i.stepMinor(t.stepMinor),s(i())}r.strokeStyle=n.graticuleBorderColor,r.lineWidth=n.graticuleBorderWidth,r.stroke(),r.restore()}draw(){const{chart:t}=this,n=this.clipMap();let r=!1;(n===!0||n==="outline"||n==="outline+graticule")&&(r=!0,cu(t.ctx,t.chartArea)),this.showOutline()&&this.getMeta().dataset&&this.getMeta().dataset.draw.call(this.getMeta().dataset,t.ctx,t.chartArea),n===!0||n==="graticule"||n==="outline+graticule"?r||cu(t.ctx,t.chartArea):r&&(r=!1,uu(t.ctx)),this.showGraticule(),n===!0||n==="items"?r||cu(t.ctx,t.chartArea):r&&(r=!1,uu(t.ctx)),this.getMeta().data.forEach(o=>o.draw.call(o,t.ctx,t.chartArea)),r&&(r=!1,uu(t.ctx))}}function AV(e,t,n,r=[],o=[]){sr.addControllers(n),Array.isArray(r)?sr.addElements(...r):sr.addElements(r),Array.isArray(o)?sr.addScales(...o):sr.addScales(o);const s=t;return s.type=e,s}class jh extends TV{initialize(){super.initialize(),this.enableOptionSharing=!0}linkScales(){super.linkScales();const t=this.getGeoDataset(),n=this.getMeta();n.vAxisID="color",n.rAxisID="color",t.vAxisID="color",t.rAxisID="color",n.rScale=this.getScaleForId("color"),n.vScale=n.rScale,n.iScale=n.xScale,n.iAxisID=n.xAxisID,t.iAxisID=n.xAxisID}_getOtherScale(t){return t}parse(t,n){const r=this.getMeta().rScale,{data:o}=this.getDataset(),s=this._cachedMeta;for(let i=t;i<t+n;i+=1)s._parsed[i]={[r.axis]:r.parse(o[i],i)}}updateElements(t,n,r,o){const s=this.resolveDataElementOptions(n,o),i=this.getSharedOptions(s),a=this.includeOptions(o,i),l=this.getProjectionScale();this.updateSharedOptions(i,o,s);for(let c=n;c<n+r;c+=1){const u=t[c];u.projectionScale=l,u.feature=this._data[c].feature,u.center=this._data[c].center,u.pixelRatio=this.chart.currentDevicePixelRatio;const f=u.getCenterPoint(),h={x:f.x,y:f.y};a&&(h.options=i||this.resolveDataElementOptions(c,o)),this.updateElement(u,c,h,o)}}indexToColor(t){const n=this.getMeta().rScale;return n.getColorForValue(this.getParsed(t)[n.axis])}}jh.id="choropleth";jh.defaults=cr({},[DV,{datasetElementType:Za.id,dataElementType:Za.id}]);jh.overrides=cr({},[PV,{plugins:{tooltip:{callbacks:{title(){return""},label(e){var t,n,r,o;return e.formattedValue==null?(n=(t=e.chart.data)===null||t===void 0?void 0:t.labels)===null||n===void 0?void 0:n[e.dataIndex]:`${(o=(r=e.chart.data)===null||r===void 0?void 0:r.labels)===null||o===void 0?void 0:o[e.dataIndex]}: ${e.formattedValue}`}}},colors:{enabled:!1}},scales:{color:{type:Kl.id,axis:"x"}},elements:{geoFeature:{backgroundColor(e){return e.dataIndex==null?null:e.chart.getDatasetMeta(e.datasetIndex).controller.indexToColor(e.dataIndex)}}}}]);class SCe extends hn{constructor(t,n){super(t,AV("choropleth",n,jh,Za,[Kl,ed]))}}SCe.id=jh.id;class Rh extends TV{initialize(){super.initialize(),this.enableOptionSharing=!0}linkScales(){super.linkScales();const t=this.getGeoDataset(),n=this.getMeta();n.vAxisID="size",n.rAxisID="size",t.vAxisID="size",t.rAxisID="size",n.rScale=this.getScaleForId("size"),n.vScale=n.rScale,n.iScale=n.xScale,n.iAxisID=n.xAxisID,t.iAxisID=n.xAxisID}_getOtherScale(t){return t}parse(t,n){const r=this.getMeta().rScale,o=this.getDataset().data,s=this._cachedMeta;for(let i=t;i<t+n;i+=1){const a=o[i];s._parsed[i]={x:a.longitude==null?a.x:a.longitude,y:a.latitude==null?a.y:a.latitude,[r.axis]:r.parse(a,i)}}}updateElements(t,n,r,o){const s=o==="reset",i=this.resolveDataElementOptions(n,o),a=this.getSharedOptions(i),l=this.includeOptions(o,a),c=this.getProjectionScale();this.getMeta().rScale._model=i,this.updateSharedOptions(a,o,i);for(let u=n;u<n+r;u+=1){const f=t[u],h=this.getParsed(u),p=c.projection([h.x,h.y]),m={x:p?p[0]:0,y:p?p[1]:0,skip:Number.isNaN(h.x)||Number.isNaN(h.y)};l&&(m.options=a||this.resolveDataElementOptions(u,o),s&&(m.options.radius=0)),this.updateElement(f,u,m,o)}}indexToRadius(t){const n=this.getMeta().rScale;return n.getSizeForValue(this.getParsed(t)[n.axis])}}Rh.id="bubbleMap";Rh.defaults=cr({},[DV,{dataElementType:pu.id,datasetElementType:Za.id,showOutline:!0,clipMap:"outline+graticule"}]);Rh.overrides=cr({},[PV,{plugins:{tooltip:{callbacks:{title(){return""},label(e){var t,n,r,o;return e.formattedValue==null?(n=(t=e.chart.data)===null||t===void 0?void 0:t.labels)===null||n===void 0?void 0:n[e.dataIndex]:`${(o=(r=e.chart.data)===null||r===void 0?void 0:r.labels)===null||o===void 0?void 0:o[e.dataIndex]}: ${e.formattedValue}`}}}},scales:{size:{axis:"x",type:Xl.id}},elements:{point:{radius(e){return e.dataIndex==null?null:e.chart.getDatasetMeta(e.datasetIndex).controller.indexToRadius(e.dataIndex)},hoverRadius(e){return e.dataIndex==null?null:e.chart.getDatasetMeta(e.datasetIndex).controller.indexToRadius(e.dataIndex)+1}}}}]);class CCe extends hn{constructor(t,n){super(t,AV("bubbleMap",n,Rh,Za,[Xl,ed]))}}CCe.id=Rh.id;function ECe(e){var n;return{...e,type:"bar",options:{...e==null?void 0:e.options,indexAxis:"y",scales:{x:{display:!0},y:{display:!0}},plugins:{...(n=e==null?void 0:e.options)==null?void 0:n.plugins,legend:{position:"bottom",align:"center"}}}}}function NCe(e){var n;return{...e,type:"bar",options:{...e==null?void 0:e.options,indexAxis:"y",scales:{x:{beginAtZero:!0,stack:1,reverse:!0},y:{stacked:!0,beginAtZero:!0}},plugins:{...(n=e==null?void 0:e.options)==null?void 0:n.plugins,legend:{position:"bottom",align:"center"}}}}}function kCe(e){var n;return{...e,type:"bar",options:{...e==null?void 0:e.options,scales:{x:{display:!0},y:{display:!0}},plugins:{...(n=e==null?void 0:e.options)==null?void 0:n.plugins,legend:{position:"bottom",align:"center"}}}}}function _Ce(e,t=!1){var r;return{...e,type:"bar",options:{...e==null?void 0:e.options,indexAxis:"y",scales:{x:{display:!0,beginAtZero:!1},y:{display:!0,stacked:t}},plugins:{...(r=e==null?void 0:e.options)==null?void 0:r.plugins,legend:{position:"bottom",align:"center"}}}}}function jCe(e,t){var r,o,s,i,a;return{...e,type:t==="stackedBar"?"bar":"line",options:{...e==null?void 0:e.options,scales:{x:{...(o=(r=e==null?void 0:e.options)==null?void 0:r.scales)==null?void 0:o.x,display:!0,stacked:!0},y:{...(i=(s=e==null?void 0:e.options)==null?void 0:s.scales)==null?void 0:i.y,display:!0,stacked:t==="stackedBar"}},plugins:{...(a=e==null?void 0:e.options)==null?void 0:a.plugins,legend:{display:!1,position:"bottom",align:"center"}}}}}function RCe(e){var n;return{...e,type:"line",options:{...e==null?void 0:e.options,scales:{x:{display:!0},y:{display:!0}},plugins:{...(n=e==null?void 0:e.options)==null?void 0:n.plugins,legend:{position:"bottom",align:"center"}}}}}function MCe(e,t){var r;return{...t,type:e,options:{...t==null?void 0:t.options,scales:{x:{display:!1},y:{display:!1}},plugins:{...(r=t==null?void 0:t.options)==null?void 0:r.plugins,legend:{position:"bottom",align:"center",maxHeight:0,labels:{useBorderRadius:!0,borderRadius:2}}},borderRadius:0}}}function DCe(e){var r,o;const t=ee.getState().theme;let n={...e,type:"radar",options:{...e==null?void 0:e.options,scales:{x:{display:!1},y:{display:!1},r:{grid:{display:!0},angleLines:{},ticks:{}}},plugins:{...(r=e==null?void 0:e.options)==null?void 0:r.plugins,legend:{position:"bottom",align:"center"}}}};return t==="dark"&&(n={...n,options:{...n.options,scales:{...(o=n==null?void 0:n.options)==null?void 0:o.scales,r:{grid:{color:fn.slate[800]},angleLines:{color:fn.slate[800]},ticks:{color:fn.slate[800],showLabelBackdrop:!1}}}}}),n}function PCe(e,t,n){const r={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{label:function(s){var p;const i=s.dataset.label,a=s.dataIndex,l=s.dataset.data,c=(p=l==null?void 0:l[a])==null?void 0:p.label,u=n==null?void 0:n[0],f=n==null?void 0:n[1],h=n==null?void 0:n[2];if(t==="bubble")return c?`${i} (${c}): ${u}: ${s.raw.x.toFixed(2)}, ${f}: ${s.raw.y.toFixed(2)}, ${h}: ${s.raw.r.toFixed(2)}`:`${i}: ${u}: ${s.raw.x.toFixed(2)}, ${f}: ${s.raw.y.toFixed(2)}, ${h}: ${s.raw.r.toFixed(2)}`;if(t==="scatter")return c?`${i} (${c}): ${u}: ${s.raw.x.toFixed(2)}, ${f}: ${s.raw.y.toFixed(2)}`:`${i}: ${u}: ${s.raw.x.toFixed(2)}, ${f}: ${s.raw.y.toFixed(2)}`}}},datalabels:{display:!1}},scales:{x:{title:{display:!0,text:n[0]},beginAtZero:!0,ticks:{precision:0}},y:{title:{display:!0,text:n[1]},beginAtZero:!0,ticks:{precision:0}}}};return{...e,options:{...e==null?void 0:e.options,...r}}}function ko({number:e,decimalPlaces:t=0,useSuffix:n=!1,customSuffix:r="",currency:o="",locale:s="en-US"}){let i=1,a=r,l=s;const c=t;n&&!r&&(e>=1e9?(i=1e9,a="B"):e>=1e7&&s==="en-IN"?(i=1e7,a="Cr"):e>=1e5&&s==="en-IN"?(i=1e5,a="L"):e>=1e6?(i=1e6,a="M"):e>=1e3&&(i=1e3,a="K"));const u=e/i,f={maximumFractionDigits:c,minimumFractionDigits:c,useGrouping:!0};if(o){f.style="currency",f.currency=o;try{new Intl.NumberFormat(s,f).format(0)}catch{}}try{new Intl.NumberFormat(s,f).format(0)}catch{l="en-US"}let p=new Intl.NumberFormat(l,f).format(u);return n&&(p+=a),p}function Zw(e,t){if(!t)return"";const n=t.find(r=>e>=r.start&&e<=r.end);return(n==null?void 0:n.color)||""}function TCe({data:e,cfg:t,customCfg:n,preferences:r,cardType:o}){var R,P,M,O,I;const s=((R=r==null?void 0:r.chartOptions)==null?void 0:R.indexAxis)||"y",i={...t,options:{indexAxis:s}},{keys:a}=Jn(e),l=[a[1]],c=a==null?void 0:a[0],u=Dz(l,e,r,c),f=au(u,n);f.forEach((A,F)=>{var H,W,$;A.shrinkAnchor=(($=(W=(H=n==null?void 0:n.data)==null?void 0:H.datasets)==null?void 0:W[F])==null?void 0:$.shrinkAnchor)||"top"});const{plugins:h,options:p}=Lw((r==null?void 0:r.customVisualCode)||""),m=a[0],g=Og(e,m),y=_r((i==null?void 0:i.options)||{},(n==null?void 0:n.options)||{}),b=_r(y,(r==null?void 0:r.chartOptions)||{});Array(f.length).fill(!0);const x=e.map(A=>A[m]),v=e.map(A=>A[l[0]]),w=(P=f[0])==null?void 0:P.backgroundColor.slice(),S={...b,plugins:{...b.plugins,legend:{...(M=b.plugins)==null?void 0:M.legend,labels:{generateLabels:A=>{const F=A.data.labels;return x.map((H,W)=>({text:H,fillStyle:w[W],hidden:!F.includes(H.toString()),index:W,datasetIndex:0,lineWidth:0}))}},onClick:(A,F,H)=>{const W=H.chart,$=F.index,T=x[$],B=W.data.datasets[0],z=W.data.labels,D=B.data,U=B.backgroundColor,G=z.indexOf(T.toString());G>=0?(z.splice(G,1),D.splice(G,1),U.splice(G,1)):(z.splice($,0,x[$].toString()),D.splice($,0,Number(v[$])),U.splice($,0,w[$])),W.update()}},datalabels:{...(O=b.plugins)==null?void 0:O.datalabels,anchor:A=>A.dataset.data[A.dataIndex]<.02?"end":"start",align:A=>A.dataset.data[A.dataIndex]<.02?"end":"center",textAlign:"center",font:{size:14},formatter:(A,F)=>{var H,W,$,T;return ko({number:Number(A),decimalPlaces:((H=r==null?void 0:r.numberAxisFormat)==null?void 0:H.decimalPlaces)||0,useSuffix:!!((W=r==null?void 0:r.numberAxisFormat)!=null&&W.suffix),customSuffix:"",locale:(($=r==null?void 0:r.numberAxisFormat)==null?void 0:$.locale)||"",currency:((T=r==null?void 0:r.numberAxisFormat)==null?void 0:T.currency)||""})}},tooltip:{...(I=b.plugins)==null?void 0:I.tooltip,callbacks:{title:function(A){var T,B,z,D;const H=((B=(T=A==null?void 0:A[0])==null?void 0:T.dataset)==null?void 0:B.data).reduce((U,G)=>U+G,0),$=(((z=A==null?void 0:A[0])==null?void 0:z.parsed[s==="x"?"y":"x"])/H*100).toFixed(2);return`${(D=A==null?void 0:A[0])==null?void 0:D.label} (${$}%)`},label:function(A){var D,U,G,Z;A.dataset.label;const F=A.dataset.data;F.reduce((V,L)=>V+L,0);const H=A.parsed[s==="x"?"y":"x"],W=F.indexOf(H),$=F[W-1],T=ko({number:Number(H),decimalPlaces:((D=r==null?void 0:r.numberAxisFormat)==null?void 0:D.decimalPlaces)||0,useSuffix:!!((U=r==null?void 0:r.numberAxisFormat)!=null&&U.suffix),customSuffix:"",locale:((G=r==null?void 0:r.numberAxisFormat)==null?void 0:G.locale)||"",currency:((Z=r==null?void 0:r.numberAxisFormat)==null?void 0:Z.currency)||""});let B=0;return $!==void 0&&(B=Number((H/$*100).toFixed(2))),T+($!==void 0?` | Conversion: ${B}%`:"")}}}}},E=_r(b,S),C=r!=null&&r.dataLabelsConfig?oR(E,r.dataLabelsConfig,r,"funnel"):E,_=_r(C,p);return delete _.scales,{type:o,data:{labels:g,datasets:f},options:_,plugins:[...h]}}function ACe({data:e,cfg:t,customCfg:n,preferences:r}){var S,E;const o=_Ce(t),s=ICe(e),i=au(s,n),{plugins:a,options:l}=Lw((r==null?void 0:r.customVisualCode)||""),c=_r((o==null?void 0:o.options)||{},(t==null?void 0:t.options)||{}),u=_r(c,(r==null?void 0:r.chartOptions)||{}),f=_r(u,(n==null?void 0:n.options)||{}),h={...f,plugins:{...f==null?void 0:f.plugins,tooltip:{...(S=f==null?void 0:f.plugins)==null?void 0:S.tooltip,callbacks:{label:function(C){if(Array.isArray(C.raw)&&C.raw.every(_=>_===null))return null}}}}},p=_r(h,l),m=L7(t,r),g=_r(p,m);let y;r!=null&&r.dataLabelsConfig?y=oR(g,r.dataLabelsConfig,r,"range"):y={...g,plugins:{...g==null?void 0:g.plugins,datalabels:{...(E=g==null?void 0:g.plugins)==null?void 0:E.datalabels,formatter:(C,_)=>C.map(R=>{var P,M,O,I;return ko({number:Number(R),decimalPlaces:((P=r==null?void 0:r.numberAxisFormat)==null?void 0:P.decimalPlaces)||0,useSuffix:!!((M=r==null?void 0:r.numberAxisFormat)!=null&&M.suffix),customSuffix:"",locale:((O=r==null?void 0:r.numberAxisFormat)==null?void 0:O.locale)||"",currency:((I=r==null?void 0:r.numberAxisFormat)==null?void 0:I.currency)||""})}).slice(0,2).join(" - ")}}};const{keys:b}=Jn(e),x=b[0];return{type:"bar",data:{labels:[...new Set(Og(e,x))],datasets:i},options:y,plugins:[...a]}}function ICe(e){var h,p,m,g;const{keys:t}=Jn(e),n=t.slice(0,2),r=t.slice(2),o=ee.getState().themeStyle,s=(p=(h=o==null?void 0:o.chart)==null?void 0:h.dataset)==null?void 0:p.backgroundColor,i=(g=(m=o==null?void 0:o.chart)==null?void 0:m.dataset)==null?void 0:g.borderColor,a=n[1],l=n[0],c=[...new Set(e.map(y=>y==null?void 0:y[l]))];return[...new Set(e.map(y=>y==null?void 0:y[a]))].map((y,b)=>{const x=e.filter(S=>(S==null?void 0:S[a])===y),w=c.map(S=>{const E=x.filter(C=>(C==null?void 0:C[l])===S);return E.length===0?[[null,null,null]]:E.map(C=>[C==null?void 0:C[r[0]],C==null?void 0:C[r[1]],C==null?void 0:C[r[2]],S])}).flat();return{label:y,data:w,backgroundColor:s==null?void 0:s[b%s.length],borderColor:i==null?void 0:i[b%i.length],borderSkipped:!1}})}function OCe({data:e,cfg:t,customCfg:n,preferences:r,cardType:o}){var v;const s=NCe(t),{keys:i}=Jn(e),a=fw({dataArray:e,groupKey:i[0],pivotKey:i[1],valueKey:i[2]}),{keys:l}=Jn(a),c=l.slice(1),u=Mz(c,a,r),f=au(u,n),h=l[0],p=Og(a,h),{options:m,plugins:g}=Zp({cardType:o,cfg:s,preferences:r,customCfg:n}),y={type:(n==null?void 0:n.type)||(s==null?void 0:s.type)||"bar",data:{labels:p,datasets:f},options:m,plugins:g},b="x2";return{...y,data:{...y.data,datasets:y.data.datasets.map((w,S)=>S===1?{...w,xAxisID:b}:w)},options:{...y.options,scales:{...(v=y==null?void 0:y.options)==null?void 0:v.scales,[b]:{beginAtZero:!0,stack:1}}}}}function AR({card:e,data:t,cardType:n="bar",cfg:r,customCfg:o,provider:s="chartjs",userSettings:i,preferences:a,topoJson:l,queryConfig:c}){var m,g,y,b,x,v,w,S;const u=e.config;let f=t;const h=u&&u.pivotByColumns&&u.pivotByColumns.length>0,p=u&&u.groupByColumns&&u.groupByColumns.length>0;if(h&&p&&(f=gbe(t,(u==null?void 0:u.metricColumns)||[])),n==="map"){if(!l)return null;const E=(m=a==null?void 0:a.mapVisualOptions)==null?void 0:m.objectKey;if(!E)return null;const C=bCe(l,(g=l==null?void 0:l.objects)==null?void 0:g[E]).features;if(!C)return null;const _={plugins:{datalabels:{display:!1}},scales:{x:{display:!1,grid:{display:!1}},y:{display:!1,grid:{display:!1}},projection:{axis:"x",projection:((y=a==null?void 0:a.mapVisualOptions)==null?void 0:y.projection)||"mercator",projectionScale:((b=a==null?void 0:a.mapVisualOptions)==null?void 0:b.projectionScale)||1,projectionOffset:((x=a==null?void 0:a.mapVisualOptions)==null?void 0:x.projectionOffset)||[0,0]},color:{axis:"x",interpolate:((v=a==null?void 0:a.mapVisualOptions)==null?void 0:v.colorScale)||"blues",quantize:5,legend:{position:"bottom-right",align:"right"}}}},{keys:j}=Jn(f),R=C.map(F=>{var T;const H=j==null?void 0:j[0],W=j==null?void 0:j[1],$=(T=f.find(B=>(B==null?void 0:B[H])===F.properties.NAME||(B==null?void 0:B[H])===F.properties.name))==null?void 0:T[W];return{feature:F,value:$}}),M=au([{label:E,data:R,borderColor:"lightgray"}],o),O={type:"choropleth",data:{labels:C.map(F=>F.properties.NAME||F.properties.name),datasets:M},options:_},{options:I}=Zp({cfg:O,preferences:a,customCfg:o,cardType:n});return{...O,options:I}}if(n==="bar"){const E=kCe(r);return yd({card:e,data:f,cfg:E,customCfg:o,cardType:n,preferences:a})}if(n==="horizontalBar"){const E=ECe(r);return yd({card:e,data:f,cfg:E,customCfg:o,cardType:n,preferences:a})}if(n==="funnel")return TCe({data:f,cfg:r,customCfg:o,preferences:a,cardType:n});if(n==="tornado"||n==="pyramid")return OCe({data:f,cfg:r,customCfg:o,preferences:a,cardType:n});if(n==="stackedBar"||n==="stackedLine"){const E=jCe(r,n),{keys:C}=Jn(f);return(!h||!p)&&(f=fw({dataArray:f,groupKey:C[0],pivotKey:C[1],valueKey:C[2],sortChart:a==null?void 0:a.sortChart})),yd({card:e,data:f,cfg:E,customCfg:o,cardType:n,preferences:a})}if(n==="line"){const E=RCe(r);return yd({card:e,data:f,cfg:E,customCfg:o,cardType:n,preferences:a})}if(n==="range")return ACe({data:f,cfg:r,customCfg:o,preferences:a});if(n==="pie"||n==="doughnut"||n==="polarArea"){const E=MCe(n,r),{keys:C}=Jn(f),_=C.slice(0,1),j=C.slice(1),R=Dz(j,f,a,_==null?void 0:_[0]),P=au(R,o),{plugins:M,options:O}=Lw((a==null?void 0:a.customVisualCode)||""),I=_[0],A=Og(f,I),F=_r((E==null?void 0:E.options)||{},(o==null?void 0:o.options)||{}),H=_r(F,(a==null?void 0:a.chartOptions)||{}),W={...H,plugins:{...H.plugins,datalabels:{...(w=H.plugins)==null?void 0:w.datalabels,formatter:(U,G)=>{var Z,V,L,q;return ko({number:Number(U),decimalPlaces:((Z=a==null?void 0:a.numberAxisFormat)==null?void 0:Z.decimalPlaces)||0,useSuffix:!!((V=a==null?void 0:a.numberAxisFormat)!=null&&V.suffix),customSuffix:"",locale:((L=a==null?void 0:a.numberAxisFormat)==null?void 0:L.locale)||"",currency:((q=a==null?void 0:a.numberAxisFormat)==null?void 0:q.currency)||""})}},tooltip:{...(S=H.plugins)==null?void 0:S.tooltip,callbacks:{label:function(U){var Y,ne,Q,le;U.dataset.label;const Z=U.dataset.data.reduce((te,se)=>te+se,0),V=U.parsed,L=ko({number:Number(V),decimalPlaces:((Y=a==null?void 0:a.numberAxisFormat)==null?void 0:Y.decimalPlaces)||0,useSuffix:!!((ne=a==null?void 0:a.numberAxisFormat)!=null&&ne.suffix),customSuffix:"",locale:((Q=a==null?void 0:a.numberAxisFormat)==null?void 0:Q.locale)||"",currency:((le=a==null?void 0:a.numberAxisFormat)==null?void 0:le.currency)||""}),q=(V/Z*100).toFixed(2);return L+` (${q}%)`}}}}},$=_r(H,W),{options:T}=Zp({cfg:{options:$},preferences:a,customCfg:o,cardType:n}),B=_r(T,O);return{type:n,data:{labels:A,datasets:P},options:B,plugins:[n==="doughnut"?{id:"doughnutLabel",beforeDatasetsDraw:function(U,G,Z){var se,oe,Ce,de;const{ctx:V,data:L}=U;V.save();const q=U.getDatasetMeta(0).data[0].x,Y=U.getDatasetMeta(0).data[0].y,ne=Fa(Al()),Q=window.getComputedStyle(V.canvas).fontFamily;V.font=`1em ${Q}`,V.fontWeight="bolder",V.fillStyle=ne,V.textAlign="center",V.textBaseline="middle";const le=L.datasets[0].data.reduce((ye,Pe)=>ye+Pe,0),te=ko({number:Number(le),decimalPlaces:((se=a==null?void 0:a.numberAxisFormat)==null?void 0:se.decimalPlaces)||0,useSuffix:!!((oe=a==null?void 0:a.numberAxisFormat)!=null&&oe.suffix),customSuffix:"",locale:((Ce=a==null?void 0:a.numberAxisFormat)==null?void 0:Ce.locale)||"",currency:((de=a==null?void 0:a.numberAxisFormat)==null?void 0:de.currency)||""});V.fillText(te,q,Y)}}:"",...M]}}if(n==="radar"){const E=DCe(r);return yd({card:e,data:f,cfg:E,customCfg:o,cardType:n,preferences:a})}if(n==="bubble"||n==="scatter"){const{metricKeys:E}=Jn(f),C=Oce(f,n),_=au(C,o),j=PCe(r,n,E),{options:R}=Zp({cardType:n,cfg:j,preferences:a,customCfg:o});return{type:n,data:{datasets:_},options:R}}return yd({card:e,data:f,cfg:r,customCfg:o,cardType:n,preferences:a})}function FCe({chart:e,elementIndex:t,datasetIndex:n,cardType:r,cfg:o,apply:s}){const i=ee.getState().theme;if(!o)return;const a=i==="dark"?"rgb(238,238,238,0.2)":"rgb(238,238,238,0.8)";["bar","line","horizontalBar","bubble","scatter"].includes(r)&&LCe(e,t,o,s,a),["pie","doughnut","polarArea","funnel"].includes(r)&&zCe(e,t,o,s,a),["stackedBar","pyramid"].includes(r)&&$Ce({chart:e,elementIndex:t,datasetIndex:n,cfg:o,apply:s,blurColor:a})}function $Ce(e){var a,l,c,u;const{chart:t,elementIndex:n,datasetIndex:r,cfg:o,apply:s,blurColor:i}=e;s?(l=(a=t==null?void 0:t.data)==null?void 0:a.datasets)==null||l.forEach((f,h)=>{var p,m;typeof f.backgroundColor=="string"&&(f.backgroundColor=new Array(f.data.length).fill(f.backgroundColor),f.borderColor=new Array(f.data.length).fill(f.borderColor)),f.backgroundColor=(p=f==null?void 0:f.backgroundColor)==null?void 0:p.map((g,y)=>y===n&&h===r?g:i),f.borderColor=(m=f==null?void 0:f.borderColor)==null?void 0:m.map((g,y)=>y===n&&h===r?g:i)}):(u=(c=t==null?void 0:t.data)==null?void 0:c.datasets)==null||u.forEach((f,h)=>{var p,m,g,y,b,x;f.backgroundColor=new Array(f.data.length).fill((g=(m=(p=o==null?void 0:o.data)==null?void 0:p.datasets)==null?void 0:m[h])==null?void 0:g.backgroundColor),f.borderColor=new Array(f.data.length).fill((x=(b=(y=o==null?void 0:o.data)==null?void 0:y.datasets)==null?void 0:b[h])==null?void 0:x.borderColor)}),t==null||t.update()}function LCe(e,t,n,r,o){var s,i,a,l;r?(i=(s=e==null?void 0:e.data)==null?void 0:s.datasets)==null||i.forEach(c=>{var u,f;typeof c.backgroundColor=="string"&&(c.backgroundColor=new Array(c.data.length).fill(c.backgroundColor),c.borderColor=new Array(c.data.length).fill(c.borderColor)),c.backgroundColor=(u=c==null?void 0:c.backgroundColor)==null?void 0:u.map((h,p)=>p===t?h:o),c.borderColor=(f=c==null?void 0:c.borderColor)==null?void 0:f.map((h,p)=>p===t?h:o)}):(l=(a=e==null?void 0:e.data)==null?void 0:a.datasets)==null||l.forEach((c,u)=>{var f,h,p,m,g,y;c.backgroundColor=new Array(c.data.length).fill((p=(h=(f=n==null?void 0:n.data)==null?void 0:f.datasets)==null?void 0:h[u])==null?void 0:p.backgroundColor),c.borderColor=new Array(c.data.length).fill((y=(g=(m=n==null?void 0:n.data)==null?void 0:m.datasets)==null?void 0:g[u])==null?void 0:y.borderColor)}),e==null||e.update()}function zCe(e,t,n,r,o){var s,i,a,l;r?(i=(s=e==null?void 0:e.data)==null?void 0:s.datasets)==null||i.forEach(c=>{var u,f;c.backgroundColor=(u=c==null?void 0:c.backgroundColor)==null?void 0:u.map((h,p)=>p===t?h:o),c.borderColor=(f=c==null?void 0:c.borderColor)==null?void 0:f.map((h,p)=>p===t?h:o)}):(l=(a=e==null?void 0:e.data)==null?void 0:a.datasets)==null||l.forEach((c,u)=>{var f,h,p,m,g,y,b,x;typeof c.backgroundColor=="string"&&(c.backgroundColor=(p=(h=(f=n==null?void 0:n.data)==null?void 0:f.datasets)==null?void 0:h[u])==null?void 0:p.backgroundColor,c.borderColor=(y=(g=(m=n==null?void 0:n.data)==null?void 0:m.datasets)==null?void 0:g[u])==null?void 0:y.borderColor),c.backgroundColor=(b=c==null?void 0:c.backgroundColor)==null?void 0:b.map((v,w)=>{var S;return(S=n.data.datasets[u].backgroundColor)==null?void 0:S[w]}),c.borderColor=(x=c==null?void 0:c.borderColor)==null?void 0:x.map((v,w)=>{var S;return(S=n.data.datasets[u].borderColor)==null?void 0:S[w]})}),e==null||e.update()}function BCe({card:e,data:t,datasetIndex:n,clickIndex:r,value:o}){var s,i,a,l,c,u,f;try{if(!t)return;const{keys:h}=Jn(t);if(e.type==="map"){const p=h[0],m=((i=(s=o==null?void 0:o.feature)==null?void 0:s.properties)==null?void 0:i.name)||((l=(a=o==null?void 0:o.feature)==null?void 0:a.properties)==null?void 0:l.NAME);return[{columnName:p,columnValue:m}]}if(["bar","horizontalBar","line","pie","doughnut","radar","polarArea","funnel"].includes(e.type)){const p=h[0],m=h.slice(1),g=(c=t[r])==null?void 0:c[p];return[{columnName:p,columnValue:g,metric:m[n],value:o}]}if(["stackedBar","pyramid"].includes(e.type)){const p=fw({dataArray:t,groupKey:h[0],pivotKey:h[1],valueKey:h[2]}),m=h[0],g=(u=p[r])==null?void 0:u[m],y=h[1],{keys:b}=Jn(p),v=b.slice(1)[n];return[{columnName:m,columnValue:g,metric:h[2],value:o},{columnName:y,columnValue:v,metric:h[2],value:o}]}if(e.type==="bubble"||e.type==="scatter"){const p=h[0],m=(f=t[n])==null?void 0:f[p];return console.log(o,"bubble"),[{columnName:p,columnValue:m,metric1:h[1],value1:o.x,metric2:h[2],value2:o.y,metric3:h==null?void 0:h[3],value3:o==null?void 0:o.r}]}}catch(h){console.error("Error in getAdhocFilter",h)}}function VCe(e,t){var r,o;if((((r=e.data.datasets)==null?void 0:r.filter(s=>!!s.fill))||[]).length>0){const s=(o=e==null?void 0:e.data.datasets)==null?void 0:o.map(a=>({...a,backgroundColor:[a.backgroundColor].map(l=>{const c=t.createLinearGradient(0,0,0,400);return c.addColorStop(0,l),c.addColorStop(.7,mbe("--semaphor-background")),c})}));return{...e,data:{...e.data,datasets:s}}}return e}function IV(e){var a,l,c,u,f,h;const t=(((l=(a=e.preferences)==null?void 0:a.mapVisualOptions)==null?void 0:l.topoJsonUrl)==="custom"?(u=(c=e.preferences)==null?void 0:c.mapVisualOptions)==null?void 0:u.customTopoJsonUrl:(h=(f=e.preferences)==null?void 0:f.mapVisualOptions)==null?void 0:h.topoJsonUrl)||"",n=!!t&&e.type==="map",{data:r,isLoading:o,isFetching:s,isError:i}=xn({queryKey:["topojson",t],queryFn:()=>fetch(t).then(p=>p.json()),enabled:n,staleTime:1/0});return{data:r,isLoading:o,isFetching:s,isError:i}}function HCe(e,t,n){if(e===t)return!0;const r=new Map;for(const i of n){const a=i.source.name,l=i.target.name;r.has(a)||r.set(a,new Set),r.get(a).add(l),r.has(l)||r.set(l,new Set),r.get(l).add(a)}const o=new Set,s=[e];for(o.add(e);s.length>0;){const i=s.shift(),a=r.get(i);if(a)for(const l of a){if(l===t)return!0;o.has(l)||(o.add(l),s.push(l))}}return!1}function OV(e,t){var m,g,y,b,x,v,w;const{joinabilityMap:n,selectedFields:r,cardConfig:o,autoJoinMetadata:s,baseEntityName:i}=t;if(!n)return{state:"draggable"};if(r.length===0)return{state:"draggable",tooltip:"Select to establish base dataset"};let a;const l=(g=(m=o==null?void 0:o.joinPlan)==null?void 0:m.baseEntity)==null?void 0:g.name,c=(b=(y=s==null?void 0:s.resolvedJoinPlan)==null?void 0:y.baseEntity)==null?void 0:b.name;if(l)a=l,console.log("🔷 [Field State] Using MANUAL base from cardConfig.joinPlan:",{manualBase:l,fieldBeingChecked:e.name,fieldEntity:e.entityName});else if(c)a=c,console.log("🟦 [Field State] Using AUTO-RESOLVED base from backend:",{autoResolvedBase:c,fieldBeingChecked:e.name,fieldEntity:e.entityName});else if(i)a=i,console.log("🔵 [Field State] Using LEGACY baseEntityName parameter:",{baseEntityName:i,fieldBeingChecked:e.name,fieldEntity:e.entityName});else{const S=[...new Set(r.map(E=>E.entityName))].filter(Boolean);a=S[0],console.log("🟡 [Field State] Using INFERRED base from selectedFields:",{inferredBase:a,selectedDatasets:S,selectedFieldsCount:r.length,fieldBeingChecked:e.name,fieldEntity:e.entityName})}const u=r.some(S=>S.entityName===e.entityName&&(S.name===e.name||S.id===e.id));if(e.entityName===a){const S={state:"base",tooltip:u?"Field already in query (base dataset)":"From base dataset",isSelected:u};return console.log("🔵 [Field State] Field is BASE dataset:",{field:e.name,fieldEntity:e.entityName,baseDataset:a,isSelected:u}),S}const f=n[a];if(!f)return{state:"unreachable",tooltip:"No relationships defined for base dataset"};if(f.canJoinTo.includes(e.entityName)){const S={state:"draggable",tooltip:`Direct join from ${a}`,joinPath:[a,e.entityName],isSelected:u};return console.log("🟢 [Field State] Field is DRAGGABLE (1-hop):",{field:e.name,fieldEntity:e.entityName,baseDataset:a,isSelected:u}),S}const h=(x=f.indirectJoins)==null?void 0:x[e.entityName];if(h&&h.length>0){const S=[a,...h,e.entityName],E={state:"indirect",joinPath:S,tooltip:`Multi-hop join: ${S.join(" → ")}`,isSelected:u};return console.log("🟡 [Field State] Field is INDIRECT (2-hop):",{field:e.name,fieldEntity:e.entityName,baseDataset:a,joinPath:S,isSelected:u}),E}const p=n[e.entityName];if(p){if(p.canJoinTo.includes(a))return{state:"draggable",tooltip:`Direct join to ${a}`,joinPath:[e.entityName,a],isSelected:u};const S=(v=p.indirectJoins)==null?void 0:v[a];if(S&&S.length>0){const E=[e.entityName,...S,a];return{state:"indirect",joinPath:E,tooltip:`Multi-hop join: ${E.join(" → ")}`,isSelected:u}}}return(w=o==null?void 0:o.joinPlan)!=null&&w.joins&&o.joinPlan.joins.length>0&&HCe(a,e.entityName,o.joinPlan.joins)?(console.log("🔧 [Field State] Field reachable via MANUAL join plan:",{field:e.name,fieldEntity:e.entityName,baseDataset:a,isSelected:u}),{state:"draggable",tooltip:"Manual join configured",isSelected:u}):{state:"unreachable",tooltip:`Cannot join ${e.entityName} to ${a}`,isSelected:u}}function FV(e,t,n){var r;return!n||!((r=n.baseEntity)!=null&&r.name)||!n.joins?!1:e===t||e===Ld(n.baseEntity)||t===Ld(n.baseEntity)?!0:n.joins.some(o=>{const s=Ld(o.source),i=Ld(o.target);return s===e&&i===t||s===t&&i===e})}function UCe(e,t,n){var a;const{joinPlan:r,joinabilityMap:o,semanticDomainId:s}=n;if(t.length===0)return{isValid:!0};const i=t[0].qualifiedEntityName;if(!i)return{isValid:!0};if(i===e.qualifiedEntityName)return{isValid:!0};if(e.qualifiedEntityName){if(s&&o)return OV(e,{joinabilityMap:o,selectedFields:t,baseEntityName:(a=r==null?void 0:r.baseEntity)==null?void 0:a.name}).state==="unreachable"?{isValid:!1,showError:!0}:{isValid:!0};if(!r)return{isValid:!1,showError:!0};if(!FV(i,e.qualifiedEntityName,r))return{isValid:!1,showError:!0}}return{isValid:!0}}function WCe(){Ue.error("Join Configuration Required",{richColors:!0,description:"To combine fields from two different tables, you need to define a join between them first.",position:"top-center",duration:4e3})}function qCe(e,t){return t.some(n=>{if(!(n.name===e.name&&n.qualifiedEntityName===e.qualifiedEntityName))return!1;if((e.role==="metric"||!e.role)&&n.role==="metric"){const o=e,s=n;if(o.aggregate!==s.aggregate||o.expression!==s.expression)return!1;if(o.parameters||s.parameters){const i=o.parameters||{},a=s.parameters||{},l=JSON.stringify(i),c=JSON.stringify(a);if(l!==c)return!1}return!1}return!0})}function GCe(e){if(e.role!=="metric")return e.label||e.name;const t=e,n=e.label||e.name;if(!t.parameters||!t.parameters.filters)return n;const r=t.parameters.filters;return typeof r=="string"?`${n} (${r})`:typeof r=="object"?(JSON.stringify(r),`${n} (Filtered)`):n}function YCe(e,t,n){const r=e.label||e.name,o=t.filter(s=>s.name===e.name&&s.qualifiedEntityName===e.qualifiedEntityName&&(s.role==="metric"||n==="metrics")).length;return o===0?r:`${r} (${o+1})`}function $V(e,t){return`${e}-${t.qualifiedEntityName}-${t.name}-${Date.now()}`}function LV(e,t){const n=Li(e.replace(/_/g," "));switch(t){case"SUM":return`Sum of ${n}`;case"COUNT":return`Count of ${n}`;case"DISTINCT":return`Unique ${n}`;case"AVG":return`Average of ${n}`;case"MIN":return`Min of ${n}`;case"MAX":return`Max of ${n}`;default:return n}}function ZCe(e,t){if(t.length===0)return"metrics";const n=$v(e.dataType);return n==="number"?"metrics":n==="date"||n==="string"||n==="boolean"?"groupBy":"metrics"}function KCe(e,t,n=[]){const r=$V(t,e),o=$v(e.dataType),s=o==="date",i={id:r,name:e.name,dataType:e.dataType,label:i_(e.name),qualifiedEntityName:e.qualifiedEntityName,entityId:e.entityId,entityName:e.entityName,entityType:e.entityType};if(t==="metrics"){const a=o==="number"?"SUM":"COUNT",l=LV(e.label,a),c=YCe({...i,label:l},n,t);return{...i,role:"metric",label:c,aggregate:a}}return t==="groupBy"?{...i,role:"groupby",...s&&{granularity:"month",dateFormat:"YYYY-MM"}}:t==="pivotBy"?{...i,role:"pivotby"}:t==="sortBy"?{...i,role:"sortby",label:e.label,direction:"asc"}:null}function XCe(e){var o,s,i;const t=(o=e.config)==null?void 0:o.metricColumns,n=(s=e.config)==null?void 0:s.groupByColumns,r=(i=e.config)==null?void 0:i.pivotByColumns;return!!(t&&(t==null?void 0:t.length)>0||n&&(n==null?void 0:n.length)>0||r&&(r==null?void 0:r.length)>0)}function QCe(e){var i,a;const[t]=N.useState({id:"",title:"",type:"bar"}),{getCard:n}=en(),r=n(e),o=Kw(r||t),s={...r,data:((i=o==null?void 0:o.data)==null?void 0:i.records)||[]};return{...o,data:((a=o==null?void 0:o.data)==null?void 0:a.records)||[],card:s}}function Kw(e){var M;const{onChartElementClicked:t}=qe(),[n,r]=N.useState(0),o=ee(O=>O.themeStyle),s=ee(O=>O.filteringCards),i=ee(O=>O.selectedSheetId),a=ee(O=>O.selectedLensId),l=ee(O=>O.filterValues),c=N.useRef(l),u=(M=e==null?void 0:e.preferences)==null?void 0:M.onClickFilter,{addFilteringCard:f,addOrUpdateFilterValues:h,removeFilterValues:p,removeFilteringCard:m}=en(),{data:g,isLoading:y,isFetching:b,isError:x,isPending:v,queryKey:w,isFilteringCard:S,isSingleCardFrame:E,pagination:C}=qa(e),{data:_}=IV(e);let j;j=N.useMemo(()=>{if(!(!(g!=null&&g.records)||!(g!=null&&g.records.length)))return AR({card:e,data:g==null?void 0:g.records,cardType:e.type,queryConfig:e.queryConfig,customCfg:e.customCfg,preferences:e.preferences,topoJson:_})},[g==null?void 0:g.records,e,_,o]);const R=N.useRef({filteringCards:s});N.useEffect(()=>{e.connectionId&&!S&&(c.current=l)},[l,a,e.connectionId,S]),N.useEffect(()=>{var I;S&&(R.current.filteringCards=[...s||[]]),!S&&((I=R.current.filteringCards)==null?void 0:I.find(A=>A.id===e.id))&&E&&r(A=>A+1)},[S,E,e.id,s]);function P(O,I,A,F){var $;if(XCe(e))return;let H=!1;if(!(g!=null&&g.records))return;const W=BCe({card:e,data:g==null?void 0:g.records,datasetIndex:I,clickIndex:A,value:F});if(console.log("fieldValues",W),t==null||t(e,W),!!((($=e==null?void 0:e.preferences)==null?void 0:$.onClickFilter)??[]).length){if(S){const T=e.id;p(T),m(e)}else{if(H=!0,!W)return;const T=[];W.forEach((B,z)=>{const D=u==null?void 0:u.find(G=>G.columnIndex===z);if(!D)return;const U={filterId:e.id+"-"+B.columnName+"-"+i,connectionId:e==null?void 0:e.connectionId,tableName:e.lastSelectedTable,name:B.columnName,expression:D.expression,valueType:Ov(W[D.columnIndex].columnValue),operation:"=",values:[W[D.columnIndex].columnValue]};T.push(U)}),h(T),f(e)}FCe({chart:O,elementIndex:A,datasetIndex:I,cardType:e.type,cfg:j,apply:H})}}return{isPending:v,isError:x,isLoading:y,isFetching:b,data:g,visualKey:n,handleDatapointClick:P,cfg:j,queryKey:w,pagination:C}}function NC(e,t){if(e==null)return"-";if(!t)return e.toString();const n=t.locale?new Intl.NumberFormat(t.locale).format(e):e.toFixed(t.decimalPlaces||0);return`${t.prefix||""}${n}${t.suffix||""}`}function nF(e,t){return t.map(n=>{const r=n.alias||n.name,o=e[r];return typeof o=="object"&&o!==null&&"label"in o?String(o.label??""):String(o??"")}).join(" | ")}function zV(e,t=0,n=[],r){if(!(e!=null&&e.length)||t>=e[0].fieldValues.length)return[];const o=l=>n.every((c,u)=>l.fieldValues[u]===c),s=e.filter(o),i=[],a=new Set;for(const l of s){const c=l.fieldValues[t];if(a.has(c))continue;a.add(c);const u=[...n,c],f=u.join(" | ");if(r&&!r.has(f))continue;if(t===l.fieldValues.length-1)i.push({name:c,level:t,rowKey:l.rowKey});else{const p=zV(s.filter(m=>m.fieldValues[t]===c),t+1,u,r);p.length>0&&i.push({name:c,level:t,children:p})}}return i}function JCe(e,t={},n){const r=e.records,o=e.pivotSchema||[],s=e.columnSubtotalMeta||[],i=e.groupByColumns||[],a=e.columnMetadata,l=o.filter(M=>M.isPivotColumn),c=o.filter(M=>M.isMetricColumn),u=()=>({rowHeaders:[],columnHeaders:[],cells:{},columnGroups:[],rowGroups:[],columnDisplayNames:{},groupByColumns:i,columnSubtotalMeta:s,columnMetadata:a});if(l.length===0&&c.length===0)return console.warn("No pivot or metric fields found in pivotSchema:",o),u();const{columnGroups:f,columnHeaders:h,columnDisplayNames:p}=eEe(o,s,n==null?void 0:n.config);if(!r.length)return u();const m=r.filter(M=>M.isGrandTotal),g=r.filter(M=>M.isSubtotal&&!M.isGrandTotal),y=r.filter(M=>!M.isSubtotal&&!M.isGrandTotal),b=[],x=new Set;y.forEach(M=>{const O=nF(M,i),I=i.map(A=>{const F=A.alias||A.name,H=M[F];return typeof H=="object"&&H!==null&&"label"in H?String(H.label??""):String(H??"")});O&&!x.has(O)&&(x.add(O),b.push({rowKey:O,fieldValues:I}))}),b.sort((M,O)=>{const I=Math.min(M.fieldValues.length,O.fieldValues.length);for(let A=0;A<I;A++){const F=(M.fieldValues[A]||"").localeCompare(O.fieldValues[A]||"");if(F!==0)return F}return M.fieldValues.length-O.fieldValues.length});const v=[],w=[],S=new Set;for(let M=0;M<b.length;M++){const O=b[M];v.push(O),w.push(O.rowKey);const I=b[M+1];for(let A=i.length-1;A>=0;A--){const F=i[A];F.alias||F.name;let H=!1;if(!I)H=!0;else{H=O.fieldValues[A]!==I.fieldValues[A];for(let W=0;W<A&&!H;W++)O.fieldValues[W]!==I.fieldValues[W]&&(H=!0)}H&&g.filter($=>{const T=F.alias||F.name;if($.subtotalLevel!==T&&$.subtotalLevel!==F.id)return!1;if($.subtotalContext){if($.subtotalContext.value!==O.fieldValues[A])return!1;const B=$.subtotalContext.groupByValues||{};for(let z=0;z<A;z++){const D=i[z],U=D.alias||D.name;if(B[U]!==O.fieldValues[z])return!1}return!0}for(let B=0;B<A;B++){const z=i[B],D=z.alias||z.name,U=$[D],G=O.fieldValues[B],Z=typeof U=="object"&&(U!=null&&U.label)?U.label:String(U??"");if(G!==Z)return!1}return!0}).forEach($=>{var U;const T=JSON.stringify({level:$.subtotalLevel,context:$.subtotalContext});if(S.has(T))return;const B=[...O.fieldValues],z=`${O.fieldValues[A]} Total`;B[A]=z;for(let G=A+1;G<B.length;G++)B[G]="";const D=B.join(" | ");v.push({rowKey:D,fieldValues:B,isSubtotal:!0,subtotalLevel:$.subtotalLevel,aggregateDisplayLabel:$.aggregate,aggregateFunction:(U=$.aggregate)==null?void 0:U.toUpperCase(),subtotalContext:$.subtotalContext}),w.push(D),S.add(T)})}}const E=v,C=w,_=new Set(E.map(M=>M.rowKey)),j=zV(E,0,[],_),R={};C.forEach(M=>{R[M]={},h.forEach(O=>{R[M][O]={value:null,metricId:"",formattedValue:"-"}})}),y.forEach(M=>{const O=nF(M,i);R[O]&&h.forEach(I=>{if(!(I in M))return;const A=M[I],F=o.find(H=>H.isMetricColumn&&I.startsWith(H.alias));R[O][I]={value:A,metricId:(F==null?void 0:F.metricId)||"",formattedValue:NC(A,t.numberFormat)}})}),g.forEach(M=>{const O=E.find(I=>I.isSubtotal&&I.subtotalLevel===M.subtotalLevel&&JSON.stringify(I.subtotalContext)===JSON.stringify(M.subtotalContext));if(O){const I=O.rowKey;R[I]||(R[I]={}),h.forEach(A=>{if(!(A in M))return;const F=M[A],H=o.find(W=>W.isMetricColumn&&A.startsWith(W.alias));R[I][A]={value:F,metricId:(H==null?void 0:H.metricId)||"",formattedValue:NC(F,t.numberFormat)}})}});const P=[];return m.forEach(M=>{const O={};h.forEach(W=>{if(W in M){const $=M[W];O[W]={value:$,metricId:"",formattedValue:NC($,t.numberFormat)}}});const I=M.aggregate||"Total";let A="SUM";const F=I.toUpperCase();["SUM","AVG","COUNT","MIN","MAX","MEDIAN"].includes(F)&&(A=F);const H=I.charAt(0).toUpperCase()+I.slice(1).toLowerCase();P.push({aggregateDisplayLabel:H,aggregateFunction:A,data:O})}),{rowHeaders:C,columnHeaders:h,cells:R,columnGroups:f,rowGroups:j,columnDisplayNames:p,groupByColumns:i,columnSubtotalMeta:s,columnMetadata:a,grandTotalRows:P,rowData:E}}function eEe(e,t,n){const r=e.filter(u=>u.isPivotColumn),o=new Map;e.filter(u=>u.isMetricColumn).forEach(u=>{o.has(u.alias)||o.set(u.alias,u)});const s=Array.from(o.values());function i(u){return u.displayLabel||u.metricLabel||u.metricName||u.alias}function a(u,f=[]){if(u>=r.length){const m=[],g=[],y={};return s.forEach(b=>{const x=[b.alias,...f].join("_"),v=i(b);m.push({name:v,level:u,colspan:1,columnKey:x}),g.push(x),y[x]=v}),{groups:m,leafKeys:g,displayNames:y}}const h=r[u],p={groups:[],leafKeys:[],displayNames:{}};return h.pivotValues.forEach(m=>{const g=[...f,m],y=a(u+1,g);t.filter(x=>x.subtotalLevel===m).forEach(x=>{y.groups.push({name:x.aggregate,level:u+1,colspan:1,columnKey:x.columnName}),y.leafKeys.push(x.columnName),y.displayNames[x.columnName]=`${x.aggregate} (${m})`}),p.groups.push({name:m,level:u,colspan:y.groups.reduce((x,v)=>x+(v.colspan||1),0),children:y.groups}),p.leafKeys.push(...y.leafKeys),Object.assign(p.displayNames,y.displayNames)}),p}const l=a(0),c=t.filter(u=>u.subtotalLevel==="grandTotal"||u.subtotalLevel==="ALL");return c.length>0&&c.forEach(u=>{var m,g,y;const f=(m=u.aggregate)==null?void 0:m.toUpperCase(),p=((y=(g=n==null?void 0:n.columnAggregates)==null?void 0:g.find(b=>b.function===f&&b.pivotLevel==="ALL"))==null?void 0:y.label)||u.aggregate||"Total";l.groups.push({name:p,level:0,colspan:1,columnKey:u.columnName}),l.leafKeys.push(u.columnName),l.displayNames[u.columnName]=p}),{columnGroups:l.groups,columnHeaders:l.leafKeys,columnDisplayNames:l.displayNames}}function tEe({data:e,card:t}){var s;if(!t.config)throw new Error("Card configuration is required for pivot table");const n=e.records.some(i=>i.isGrandTotal),r=((s=t.config)==null?void 0:s.rowAggregates)&&t.config.rowAggregates.length>0,o={showRowTotals:!1,showColumnTotals:n||r,showGrandTotal:!1};return{type:"pivotTable",data:JCe(e,o,t),config:t.config,options:o,pivotSchema:e.pivotSchema}}function rb(e,t){return N.useMemo(()=>!e||e.type!=="pivotTable"||!t||!Array.isArray(t.records)||t.records.length===0?null:tEe({card:e,data:{records:t.records||[],columnSubtotalMeta:t.columnSubtotalMeta,subtotalColumns:t.subtotalColumns,pivotSchema:t.pivotSchema||[],groupByColumns:t.groupByColumns}}),[e,t])}function nEe({records:e,tablePreferences:t}){if(!e||e.length===0)return null;const n=(t==null?void 0:t.columnSettingsMap)||{},r=Object.keys(e[0]);let o=r;if(t!=null&&t.columnVisibility&&(o=r.filter(a=>{var l;return((l=t.columnVisibility)==null?void 0:l[a])!==!1})),t!=null&&t.columnSizing){const l=Object.keys(t.columnSizing).filter(u=>o.includes(u)),c=o.filter(u=>!l.includes(u));o=[...l,...c]}const s=o.map(a=>{const l=n[a],u=((l==null?void 0:l.textAlign)||"left")==="right";return{text:a,colspan:1,rowspan:1,className:u?"numeric":"",columnId:a,isHeader:!0,isNumeric:u}}),i=e.map(a=>({cells:o.map(l=>{const c=n[l],u=rEe(a[l],c),h=((c==null?void 0:c.textAlign)||"left")==="right";return{text:u,colspan:1,rowspan:1,className:h?"numeric":"",columnId:l,isHeader:!1,isNumeric:h}})}));return{headers:[{cells:s}],rows:i,metadata:{tableType:"data",totalRows:i.length,totalColumns:o.length}}}function rEe(e,t){if(e==null)return"";if((t==null?void 0:t.type)==="number"&&typeof e=="number"){const n=t.numberFormat;try{return new Intl.NumberFormat(n.locale||"en-US",{style:n.style,currency:n.style==="currency"?n.currency:void 0,minimumFractionDigits:n.minimumFractionDigits,maximumFractionDigits:n.maximumFractionDigits}).format(e)}catch{return e.toLocaleString()}}if((t==null?void 0:t.type)==="date")try{const n=t.dateFormat.timezone&&t.dateFormat.timezone!=="auto"?t.dateFormat.timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,r=t.dateFormat.useCustomFormat?t.dateFormat.customFormat:t.dateFormat.format;return Qg(String(e),r,n,t.dateFormat.sourceTimezone||"auto")}catch{return String(e)}return typeof e=="number"?e.toLocaleString():String(e)}function oEe({records:e,groupByColumns:t=[],pivotSchema:n=[],card:r,columnSettings:o={}}){var f,h,p;if(!e||e.length===0)return null;const s=Kj(e,t),i=Xj(e),a=n.filter(m=>m.isMetricColumn),l=[...t.map(m=>({text:m.label||m.name,colspan:1,rowspan:1,className:"",columnId:m.alias||m.name,isHeader:!0,isNumeric:!1})),...a.map(m=>({text:m.metricLabel||m.metricName||m.alias,colspan:1,rowspan:1,className:"numeric",columnId:m.alias,isHeader:!0,isNumeric:!0}))],c=s.map(m=>{const g=[],y=m.isSubtotal&&!m.isGrandTotal;return t.forEach(b=>{var w,S,E;const x=b.alias||b.name;let v=m[x];if(y){const C=m.aggregate||"SUM",_=(E=(S=(w=r==null?void 0:r.config)==null?void 0:w.rowAggregates)==null?void 0:S.find(j=>j.groupLevel===m.subtotalLevel&&j.function===C))==null?void 0:E.label;v=v7(m,x,C,_)}else m.isGrandTotal&&(v="");g.push({text:v&&v!=="__TOTAL__"?String(v):"",colspan:1,rowspan:1,className:"",columnId:x,isHeader:!1,isNumeric:!1})}),a.forEach(b=>{const x=b.alias,v=o[x],w=rF(m[x],v);g.push({text:w,colspan:1,rowspan:1,className:"numeric",columnId:x,isHeader:!1,isNumeric:!0})}),{type:y?"subtotal":void 0,cells:g}});let u=null;if(i){const m=i.aggregate||"SUM",g=(p=(h=(f=r==null?void 0:r.config)==null?void 0:f.rowAggregates)==null?void 0:h.find(x=>x.groupLevel==="ALL"))==null?void 0:p.label,y=w7(m,g),b=[];t.forEach((x,v)=>{b.push({text:v===0?y:"",colspan:1,rowspan:1,className:"",isHeader:!1,isNumeric:!1})}),a.forEach(x=>{const v=x.alias,w=o[v];let S=i[v];(S==null||S==="")&&(S=e.filter(C=>!C.isSubtotal&&!C.isGrandTotal).reduce((C,_)=>{const j=Number(String(_[v]??"0").replace(/,/g,""));return C+(Number.isFinite(j)?j:0)},0));const E=rF(S,w);b.push({text:E,colspan:1,rowspan:1,className:"numeric",columnId:v,isHeader:!1,isNumeric:!0})}),u={cells:b}}return{headers:[{cells:l}],rows:c,grandTotal:u,metadata:{tableType:"aggregate",totalRows:c.length,totalColumns:l.length,groupByCount:t.length,hasGrandTotal:!!u}}}function rF(e,t){if(e==null)return"";if((t==null?void 0:t.type)==="number"&&typeof e=="number"){const n=t.numberFormat;try{return new Intl.NumberFormat(n.locale||"en-US",{style:n.style,currency:n.style==="currency"?n.currency:void 0,minimumFractionDigits:n.minimumFractionDigits??0,maximumFractionDigits:n.maximumFractionDigits??2}).format(e)}catch{return e.toLocaleString()}}return typeof e=="number"?e.toLocaleString():String(e)}function sEe({pivotConfig:e,card:t,showRowTotals:n}){var c,u,f;if(!(e!=null&&e.data))return null;const r=e.data,o=iEe(r,t,!!n),{tableData:s,grandTotalRows:i}=eR(r),a=s.map(h=>{const p=[];h.fieldValues.forEach(g=>{p.push({text:g||"",colspan:1,rowspan:1,className:"",isHeader:!1,isNumeric:!1})});let m=0;if(r.columnHeaders.forEach(g=>{var S,E,C;const y=h.cells[g],b=(C=(E=(S=t.preferences)==null?void 0:S.tablePrefs)==null?void 0:E.columnSettingsMap)==null?void 0:C[g],x=ja((y==null?void 0:y.value)??(y==null?void 0:y.formattedValue)??"",b),v=((b==null?void 0:b.textAlign)||"right")==="right";p.push({text:x==="-"?"":String(x),colspan:1,rowspan:1,className:v?"numeric":"",columnId:g,isHeader:!1,isNumeric:v});const w=typeof(y==null?void 0:y.value)=="number"?y.value:Number(String((y==null?void 0:y.formattedValue)??"").replace(/,/g,""));Number.isFinite(w)&&(m+=w)}),n){const g=ja(m,void 0);p.push({text:g==="-"?"":String(g),colspan:1,rowspan:1,className:"numeric",isHeader:!1,isNumeric:!0})}return{type:h.isSubtotal?"subtotal":void 0,cells:p}});let l=null;if(i&&i.length>0){const h=i[0],p=[],m=h.aggregateDisplayLabel||h.aggregateFunction||"Total";r.groupByColumns&&r.groupByColumns.length>0&&r.groupByColumns.forEach((y,b)=>{p.push({text:b===0?m:"",colspan:1,rowspan:1,className:"",isHeader:!1,isNumeric:!1})});let g=0;if(r.columnHeaders.forEach(y=>{var E,C,_;const b=(_=(C=(E=t.preferences)==null?void 0:E.tablePrefs)==null?void 0:C.columnSettingsMap)==null?void 0:_[y],x=h.data?h.data[y]:void 0;let v=(x==null?void 0:x.value)??(x==null?void 0:x.formattedValue)??"";(v===""||v===void 0||v===null)&&(v=s.reduce((j,R)=>{const P=R.cells[y],M=typeof(P==null?void 0:P.value)=="number"?P.value:Number(String((P==null?void 0:P.formattedValue)??(P==null?void 0:P.value)??"0").replace(/,/g,""));return j+(Number.isFinite(M)?M:0)},0));const w=ja(v,b);p.push({text:w==="-"?"":String(w),colspan:1,rowspan:1,className:"numeric",columnId:y,isHeader:!1,isNumeric:!0});const S=typeof v=="number"?v:Number(String(v).replace(/,/g,""));Number.isFinite(S)&&(g+=S)}),n){const y=ja(g,void 0);p.push({text:y==="-"?"":String(y),colspan:1,rowspan:1,className:"numeric",isHeader:!1,isNumeric:!0})}l={cells:p}}return{headers:o,rows:a,grandTotal:l,metadata:{tableType:"pivot",totalRows:a.length,rowLevels:((c=r.groupByColumns)==null?void 0:c.length)??0,pivotLevels:((f=(u=t.config)==null?void 0:u.pivotByColumns)==null?void 0:f.length)??0,hasGrandTotal:!!l}}}function iEe(e,t,n){var c,u;const o=(((c=t.config)==null?void 0:c.pivotByColumns)||[]).length,s=((u=e.groupByColumns)==null?void 0:u.length)||0;if(!e.columnGroups||e.columnGroups.length===0||o===0){const f=[];return e.groupByColumns&&e.groupByColumns.forEach(h=>{f.push({text:h.label||h.name,colspan:1,rowspan:1,className:"",isHeader:!0,isNumeric:!1})}),e.columnHeaders.forEach(h=>{var p;f.push({text:((p=e.columnDisplayNames)==null?void 0:p[h])||h,colspan:1,rowspan:1,className:"numeric",columnId:h,isHeader:!0,isNumeric:!0})}),n&&f.push({text:"Total",colspan:1,rowspan:1,className:"numeric",isHeader:!0,isNumeric:!0}),[{headerType:"simple",headerRowIndex:0,repeatHeader:!0,cells:f}]}const i=Array.from({length:o+1},()=>({cells:[]}));if(s>0&&e.groupByColumns){const f=i[o];e.groupByColumns.forEach(h=>{f.cells.push({text:h.label||h.name,colspan:1,rowspan:1,className:"",isHeader:!0,isNumeric:!1})});for(let h=0;h<o;h+=1)for(let p=0;p<s;p+=1)i[h].cells.push({text:"",colspan:1,rowspan:1,className:"",isHeader:!0,isNumeric:!1})}const a=Array.from({length:o},()=>[]);BV(e.columnGroups,a,o);for(let f=0;f<o;f+=1)i[f].cells.push(...a[f]);const l=[];if(e.columnGroups&&e.columnGroups.length>0?VV(e.columnGroups,l,e.columnDisplayNames||{}):e.columnHeaders.forEach(f=>{var h;l.push({text:((h=e.columnDisplayNames)==null?void 0:h[f])||f,colspan:1,rowspan:1,className:"numeric",columnId:f,isHeader:!0,isNumeric:!0})}),i[o].cells.push(...l),n){i[o].cells.push({text:"Total",colspan:1,rowspan:1,className:"numeric",isHeader:!0,isNumeric:!0});for(let f=0;f<o;f+=1)i[f].cells.push({text:"",colspan:1,rowspan:1,className:"",isHeader:!0,isNumeric:!1})}return i.map((f,h)=>({headerType:h<o?"pivot-level":"metrics",headerRowIndex:h,repeatHeader:!0,cells:f.cells}))}function BV(e,t,n){e.forEach(r=>{const o=r.level;if(o<n){t[o].push({text:r.name||"",colspan:r.colspan||1,rowspan:1,className:"",isHeader:!0,isNumeric:!1});for(let s=1;s<(r.colspan||1);s+=1)t[o].push({text:"",colspan:1,rowspan:1,className:"",isHeader:!0,isNumeric:!1});r.children&&BV(r.children,t,n)}})}function VV(e,t,n){e.forEach(r=>{r.columnKey?t.push({text:n[r.columnKey]||r.name||"Metric",colspan:1,rowspan:1,className:"numeric",columnId:r.columnKey,isHeader:!0,isNumeric:!0}):r.children&&VV(r.children,t,n)})}function HV(e,t){var r,o;if(t==="table-print")return"disabled";const n=Hl(e.config);return e.sql&&!n?(o=(r=e.preferences)==null?void 0:r.tablePrefs)!=null&&o.enableDevModePagination?"server":"client":n&&_m(e)?"server":"client"}function UV({isOpen:e,onClose:t,frame:n,card:r,data:o}){var _;const{tokenProps:s}=qe(),i=r?Qj(r.type):["pdf"],a=r?Jj(r.type):"pdf",[l,c]=N.useState(!1),[u,f]=N.useState(!1),[h,p]=N.useState({format:a,pageSize:"letter",orientation:"portrait",protectPdf:!1,pdfPassword:"",delimiter:",",includeHeaders:!0});ee(j=>j.authToken),ee(j=>{var R;return(R=j.dashboard)==null?void 0:R.id}),ee(j=>{var R;return(R=j.dashboard)==null?void 0:R.title});const{cardFilterValues:m}=dw((r==null?void 0:r.id)||""),g={id:"",type:"table"},y=Kw(r||g),b=(_=r==null?void 0:r.preferences)==null?void 0:_.tablePrefs,x=r?(y==null?void 0:y.data)||o:null,v=rb(r||g,x),w=(r==null?void 0:r.title)||"Visual Report",S=y7(m||[]),E=()=>{p(j=>({...j,pdfPassword:"",protectPdf:!1})),f(!1),t()},C=async()=>{var A,F,H,W,$,T;if(!r){Ue.error("No card selected");return}const j=(y==null?void 0:y.data)||o;if(!j){Ue.error("No data to export");return}const P=(()=>{var z,D;if(!r||!["table","aggregateTable","pivotTable"].includes(r.type))return 0;if(r.type==="pivotTable"){const U=Array.isArray(j==null?void 0:j.records)?j==null?void 0:j.records:Array.isArray(j)?j:[];return U.length>0?U.length:(z=v==null?void 0:v.data)!=null&&z.rowData&&v.data.rowData.length>0?v.data.rowData.length:((D=x==null?void 0:x.records)==null?void 0:D.length)||0}return(Array.isArray(j==null?void 0:j.records)?j==null?void 0:j.records:Array.isArray(j)?j:[]).length})();let M=null;if(r.type==="table"){const B=Array.isArray(j)?j:Array.isArray(j==null?void 0:j.records)?j.records:[];B.length>0&&(M=nEe({records:B,tablePreferences:b}))}else if(r.type==="aggregateTable"){const B=Array.isArray(j)?j:Array.isArray(j==null?void 0:j.records)?j.records:[];if(B.length>0){const z=(j==null?void 0:j.groupByColumns)||((A=r.config)==null?void 0:A.groupByColumns)||[],D=(j==null?void 0:j.pivotSchema)||[];M=oEe({records:B,groupByColumns:z,pivotSchema:D,card:r,columnSettings:b==null?void 0:b.columnSettingsMap})}}else r.type==="pivotTable"&&v&&(M=sEe({pivotConfig:v,card:r,showRowTotals:(F=v.options)==null?void 0:F.showRowTotals}));const I=(r?HV(r):"client")==="server";c(!0);try{if(h.format==="csv"){let B="";const z=`${w.replace(/[^a-z0-9]/gi,"_")}.csv`;if((r==null?void 0:r.type)&&["table","aggregateTable","pivotTable"].includes(r.type))switch(r.type){case"table":{const U=Array.isArray(j)?j:(j==null?void 0:j.records)||[];if(!U||U.length===0){Ue.error("No data available to export");return}ame(U,z,b,{delimiter:h.delimiter,includeHeaders:h.includeHeaders,useFormattedValues:!0}),Ue.success("CSV exported successfully"),E();return}case"aggregateTable":{const U=Array.isArray(j)?j:(j==null?void 0:j.records)||[];if(!U||U.length===0){Ue.error("No data available to export");return}const G=(j==null?void 0:j.groupByColumns)||((H=r.config)==null?void 0:H.groupByColumns)||[],Z=(j==null?void 0:j.pivotSchema)||[],V=Kj(U,G),L=Xj(U),q=($=(W=r==null?void 0:r.preferences)==null?void 0:W.tablePrefs)==null?void 0:$.columnSettingsMap,Y=x7(V,L,G,Z,r,q);if(!Y){Ue.error("Failed to generate CSV content");return}fx(Y,z),Ue.success("CSV exported successfully"),E();return}case"pivotTable":if(v){T7(v.data,r,z,{delimiter:h.delimiter,includeHeaders:h.includeHeaders,includeSubtotals:!0,includeGrandTotal:!0,showRowTotals:(T=v.options)==null?void 0:T.showRowTotals}),Ue.success("CSV exported successfully"),t();return}else{Ue.error("Unable to export pivot table data");return}default:throw new Error(`Unsupported table type: ${r.type}`)}else{const U=Array.isArray(j)?j:(j==null?void 0:j.records)||[];if(!U||U.length===0){Ue.error("No data available to export");return}const G=Object.keys(U[0]),Z=L=>{if(L==null)return"";const q=String(L);return q.includes(h.delimiter)||q.includes('"')||q.includes(`
|
|
703
|
+
`):e}function ewe(e,t){const{element:n,datasetIndex:r,index:o}=t,s=e.getDatasetMeta(r).controller,{label:i,value:a}=s.getLabelAndValue(o);return{chart:e,label:i,parsed:s.getParsed(o),raw:e.data.datasets[r].data[o],formattedValue:a,dataset:s.getDataset(),dataIndex:o,datasetIndex:r,element:n}}function eO(e,t){const n=e.chart.ctx,{body:r,footer:o,title:s}=e,{boxWidth:i,boxHeight:a}=t,l=lr(t.bodyFont),c=lr(t.titleFont),u=lr(t.footerFont),f=s.length,h=o.length,p=r.length,m=Mr(t.padding);let g=m.height,y=0,b=r.reduce((w,S)=>w+S.before.length+S.lines.length+S.after.length,0);if(b+=e.beforeBody.length+e.afterBody.length,f&&(g+=f*c.lineHeight+(f-1)*t.titleSpacing+t.titleMarginBottom),b){const w=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;g+=p*w+(b-p)*l.lineHeight+(b-1)*t.bodySpacing}h&&(g+=t.footerMarginTop+h*u.lineHeight+(h-1)*t.footerSpacing);let x=0;const v=function(w){y=Math.max(y,n.measureText(w).width+x)};return n.save(),n.font=c.string,Xt(e.title,v),n.font=l.string,Xt(e.beforeBody.concat(e.afterBody),v),x=t.displayColors?i+2+t.boxPadding:0,Xt(r,w=>{Xt(w.before,v),Xt(w.lines,v),Xt(w.after,v)}),x=0,n.font=u.string,Xt(e.footer,v),n.restore(),y+=m.width,{width:y,height:g}}function twe(e,t){const{y:n,height:r}=t;return n<r/2?"top":n>e.height-r/2?"bottom":"center"}function nwe(e,t,n,r){const{x:o,width:s}=r,i=n.caretSize+n.caretPadding;if(e==="left"&&o+s+i>t.width||e==="right"&&o-s-i<0)return!0}function rwe(e,t,n,r){const{x:o,width:s}=n,{width:i,chartArea:{left:a,right:l}}=e;let c="center";return r==="center"?c=o<=(a+l)/2?"left":"right":o<=s/2?c="left":o>=i-s/2&&(c="right"),nwe(c,e,t,n)&&(c="center"),c}function tO(e,t,n){const r=n.yAlign||t.yAlign||twe(e,n);return{xAlign:n.xAlign||t.xAlign||rwe(e,t,n,r),yAlign:r}}function owe(e,t){let{x:n,width:r}=e;return t==="right"?n-=r:t==="center"&&(n-=r/2),n}function swe(e,t,n){let{y:r,height:o}=e;return t==="top"?r+=n:t==="bottom"?r-=o+n:r-=o/2,r}function nO(e,t,n,r){const{caretSize:o,caretPadding:s,cornerRadius:i}=e,{xAlign:a,yAlign:l}=n,c=o+s,{topLeft:u,topRight:f,bottomLeft:h,bottomRight:p}=du(i);let m=owe(t,a);const g=swe(t,l,c);return l==="center"?a==="left"?m+=c:a==="right"&&(m-=c):a==="left"?m-=Math.max(u,h)+o:a==="right"&&(m+=Math.max(f,p)+o),{x:Sr(m,0,r.width-t.width),y:Sr(g,0,r.height-t.height)}}function Sy(e,t,n){const r=Mr(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-r.right:e.x+r.left}function rO(e){return yi([],ba(e))}function iwe(e,t,n){return cc(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function oO(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const IB={beforeTitle:fa,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,r=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(r>0&&t.dataIndex<r)return n[t.dataIndex]}return""},afterTitle:fa,beforeBody:fa,beforeLabel:fa,label(e){if(this&&this.options&&this.options.mode==="dataset")return e.label+": "+e.formattedValue||e.formattedValue;let t=e.dataset.label||"";t&&(t+=": ");const n=e.formattedValue;return ft(n)||(t+=n),t},labelColor(e){const n=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{borderColor:n.borderColor,backgroundColor:n.backgroundColor,borderWidth:n.borderWidth,borderDash:n.borderDash,borderDashOffset:n.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(e){const n=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{pointStyle:n.pointStyle,rotation:n.rotation}},afterLabel:fa,afterBody:fa,beforeFooter:fa,footer:fa,afterFooter:fa};function mo(e,t,n,r){const o=e[t].call(n,r);return typeof o>"u"?IB[t].call(n,r):o}var FE;let sO=(FE=class extends aa{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,r=this.options.setContext(this.getContext()),o=r.enabled&&n.options.animation&&r.animations,s=new pB(this.chart,o);return o._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=iwe(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:r}=n,o=mo(r,"beforeTitle",this,t),s=mo(r,"title",this,t),i=mo(r,"afterTitle",this,t);let a=[];return a=yi(a,ba(o)),a=yi(a,ba(s)),a=yi(a,ba(i)),a}getBeforeBody(t,n){return rO(mo(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:r}=n,o=[];return Xt(t,s=>{const i={before:[],lines:[],after:[]},a=oO(r,s);yi(i.before,ba(mo(a,"beforeLabel",this,s))),yi(i.lines,mo(a,"label",this,s)),yi(i.after,ba(mo(a,"afterLabel",this,s))),o.push(i)}),o}getAfterBody(t,n){return rO(mo(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:r}=n,o=mo(r,"beforeFooter",this,t),s=mo(r,"footer",this,t),i=mo(r,"afterFooter",this,t);let a=[];return a=yi(a,ba(o)),a=yi(a,ba(s)),a=yi(a,ba(i)),a}_createItems(t){const n=this._active,r=this.chart.data,o=[],s=[],i=[];let a=[],l,c;for(l=0,c=n.length;l<c;++l)a.push(ewe(this.chart,n[l]));return t.filter&&(a=a.filter((u,f,h)=>t.filter(u,f,h,r))),t.itemSort&&(a=a.sort((u,f)=>t.itemSort(u,f,r))),Xt(a,u=>{const f=oO(t.callbacks,u);o.push(mo(f,"labelColor",this,u)),s.push(mo(f,"labelPointStyle",this,u)),i.push(mo(f,"labelTextColor",this,u))}),this.labelColors=o,this.labelPointStyles=s,this.labelTextColors=i,this.dataPoints=a,a}update(t,n){const r=this.options.setContext(this.getContext()),o=this._active;let s,i=[];if(!o.length)this.opacity!==0&&(s={opacity:0});else{const a=vp[r.position].call(this,o,this._eventPosition);i=this._createItems(r),this.title=this.getTitle(i,r),this.beforeBody=this.getBeforeBody(i,r),this.body=this.getBody(i,r),this.afterBody=this.getAfterBody(i,r),this.footer=this.getFooter(i,r);const l=this._size=eO(this,r),c=Object.assign({},a,l),u=tO(this.chart,r,c),f=nO(r,c,u,this.chart);this.xAlign=u.xAlign,this.yAlign=u.yAlign,s={opacity:1,x:f.x,y:f.y,width:l.width,height:l.height,caretX:a.x,caretY:a.y}}this._tooltipItems=i,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&r.external&&r.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,r,o){const s=this.getCaretPosition(t,r,o);n.lineTo(s.x1,s.y1),n.lineTo(s.x2,s.y2),n.lineTo(s.x3,s.y3)}getCaretPosition(t,n,r){const{xAlign:o,yAlign:s}=this,{caretSize:i,cornerRadius:a}=r,{topLeft:l,topRight:c,bottomLeft:u,bottomRight:f}=du(a),{x:h,y:p}=t,{width:m,height:g}=n;let y,b,x,v,w,S;return s==="center"?(w=p+g/2,o==="left"?(y=h,b=y-i,v=w+i,S=w-i):(y=h+m,b=y+i,v=w-i,S=w+i),x=y):(o==="left"?b=h+Math.max(l,u)+i:o==="right"?b=h+m-Math.max(c,f)-i:b=this.caretX,s==="top"?(v=p,w=v-i,y=b-i,x=b+i):(v=p+g,w=v+i,y=b+i,x=b-i),S=v),{x1:y,x2:b,x3:x,y1:v,y2:w,y3:S}}drawTitle(t,n,r){const o=this.title,s=o.length;let i,a,l;if(s){const c=cf(r.rtl,this.x,this.width);for(t.x=Sy(this,r.titleAlign,r),n.textAlign=c.textAlign(r.titleAlign),n.textBaseline="middle",i=lr(r.titleFont),a=r.titleSpacing,n.fillStyle=r.titleColor,n.font=i.string,l=0;l<s;++l)n.fillText(o[l],c.x(t.x),t.y+i.lineHeight/2),t.y+=i.lineHeight+a,l+1===s&&(t.y+=r.titleMarginBottom-a)}}_drawColorBox(t,n,r,o,s){const i=this.labelColors[r],a=this.labelPointStyles[r],{boxHeight:l,boxWidth:c}=s,u=lr(s.bodyFont),f=Sy(this,"left",s),h=o.x(f),p=l<u.lineHeight?(u.lineHeight-l)/2:0,m=n.y+p;if(s.usePointStyle){const g={radius:Math.min(c,l)/2,pointStyle:a.pointStyle,rotation:a.rotation,borderWidth:1},y=o.leftForLtr(h,c)+c/2,b=m+l/2;t.strokeStyle=s.multiKeyBackground,t.fillStyle=s.multiKeyBackground,Nx(t,g,y,b),t.strokeStyle=i.borderColor,t.fillStyle=i.backgroundColor,Nx(t,g,y,b)}else{t.lineWidth=kt(i.borderWidth)?Math.max(...Object.values(i.borderWidth)):i.borderWidth||1,t.strokeStyle=i.borderColor,t.setLineDash(i.borderDash||[]),t.lineDashOffset=i.borderDashOffset||0;const g=o.leftForLtr(h,c),y=o.leftForLtr(o.xPlus(h,1),c-2),b=du(i.borderRadius);Object.values(b).some(x=>x!==0)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,Fm(t,{x:g,y:m,w:c,h:l,radius:b}),t.fill(),t.stroke(),t.fillStyle=i.backgroundColor,t.beginPath(),Fm(t,{x:y,y:m+1,w:c-2,h:l-2,radius:b}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(g,m,c,l),t.strokeRect(g,m,c,l),t.fillStyle=i.backgroundColor,t.fillRect(y,m+1,c-2,l-2))}t.fillStyle=this.labelTextColors[r]}drawBody(t,n,r){const{body:o}=this,{bodySpacing:s,bodyAlign:i,displayColors:a,boxHeight:l,boxWidth:c,boxPadding:u}=r,f=lr(r.bodyFont);let h=f.lineHeight,p=0;const m=cf(r.rtl,this.x,this.width),g=function(_){n.fillText(_,m.x(t.x+p),t.y+h/2),t.y+=h+s},y=m.textAlign(i);let b,x,v,w,S,E,C;for(n.textAlign=i,n.textBaseline="middle",n.font=f.string,t.x=Sy(this,y,r),n.fillStyle=r.bodyColor,Xt(this.beforeBody,g),p=a&&y!=="right"?i==="center"?c/2+u:c+2+u:0,w=0,E=o.length;w<E;++w){for(b=o[w],x=this.labelTextColors[w],n.fillStyle=x,Xt(b.before,g),v=b.lines,a&&v.length&&(this._drawColorBox(n,t,w,m,r),h=Math.max(f.lineHeight,l)),S=0,C=v.length;S<C;++S)g(v[S]),h=f.lineHeight;Xt(b.after,g)}p=0,h=f.lineHeight,Xt(this.afterBody,g),t.y-=s}drawFooter(t,n,r){const o=this.footer,s=o.length;let i,a;if(s){const l=cf(r.rtl,this.x,this.width);for(t.x=Sy(this,r.footerAlign,r),t.y+=r.footerMarginTop,n.textAlign=l.textAlign(r.footerAlign),n.textBaseline="middle",i=lr(r.footerFont),n.fillStyle=r.footerColor,n.font=i.string,a=0;a<s;++a)n.fillText(o[a],l.x(t.x),t.y+i.lineHeight/2),t.y+=i.lineHeight+r.footerSpacing}}drawBackground(t,n,r,o){const{xAlign:s,yAlign:i}=this,{x:a,y:l}=t,{width:c,height:u}=r,{topLeft:f,topRight:h,bottomLeft:p,bottomRight:m}=du(o.cornerRadius);n.fillStyle=o.backgroundColor,n.strokeStyle=o.borderColor,n.lineWidth=o.borderWidth,n.beginPath(),n.moveTo(a+f,l),i==="top"&&this.drawCaret(t,n,r,o),n.lineTo(a+c-h,l),n.quadraticCurveTo(a+c,l,a+c,l+h),i==="center"&&s==="right"&&this.drawCaret(t,n,r,o),n.lineTo(a+c,l+u-m),n.quadraticCurveTo(a+c,l+u,a+c-m,l+u),i==="bottom"&&this.drawCaret(t,n,r,o),n.lineTo(a+p,l+u),n.quadraticCurveTo(a,l+u,a,l+u-p),i==="center"&&s==="left"&&this.drawCaret(t,n,r,o),n.lineTo(a,l+f),n.quadraticCurveTo(a,l,a+f,l),n.closePath(),n.fill(),o.borderWidth>0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,r=this.$animations,o=r&&r.x,s=r&&r.y;if(o||s){const i=vp[t.position].call(this,this._active,this._eventPosition);if(!i)return;const a=this._size=eO(this,t),l=Object.assign({},i,this._size),c=tO(n,t,l),u=nO(t,l,c,n);(o._to!==u.x||s._to!==u.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=a.width,this.height=a.height,this.caretX=i.x,this.caretY=i.y,this._resolveAnimations().update(this,u))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let r=this.opacity;if(!r)return;this._updateAnimationTarget(n);const o={width:this.width,height:this.height},s={x:this.x,y:this.y};r=Math.abs(r)<.001?0:r;const i=Mr(n.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&a&&(t.save(),t.globalAlpha=r,this.drawBackground(s,t,o,n),cB(t,n.textDirection),s.y+=i.top,this.drawTitle(s,t,n),this.drawBody(s,t,n),this.drawFooter(s,t,n),uB(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const r=this._active,o=t.map(({datasetIndex:a,index:l})=>{const c=this.chart.getDatasetMeta(a);if(!c)throw new Error("Cannot find a dataset at index "+a);return{datasetIndex:a,element:c.data[l],index:l}}),s=!wx(r,o),i=this._positionChanged(o,n);(s||i)&&(this._active=o,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,r=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const o=this.options,s=this._active||[],i=this._getActiveElements(t,s,n,r),a=this._positionChanged(i,t),l=n||!wx(i,s)||a;return l&&(this._active=i,(o.enabled||o.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),l}_getActiveElements(t,n,r,o){const s=this.options;if(t.type==="mouseout")return[];if(!o)return n.filter(a=>this.chart.data.datasets[a.datasetIndex]&&this.chart.getDatasetMeta(a.datasetIndex).controller.getParsed(a.index)!==void 0);const i=this.chart.getElementsAtEventForMode(t,s.mode,s,r);return s.reverse&&i.reverse(),i}_positionChanged(t,n){const{caretX:r,caretY:o,options:s}=this,i=vp[s.position].call(this,t,n);return i!==!1&&(r!==i.x||o!==i.y)}},_e(FE,"positioners",vp),FE);var OB={id:"tooltip",_element:sO,positioners:vp,afterInit(e,t,n){n&&(e.tooltip=new sO({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:IB},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},awe=Object.freeze({__proto__:null,Colors:vve,Decimation:Eve,Filler:Uve,Legend:Kve,SubTitle:Jve,Title:Qve,Tooltip:OB});const lwe=(e,t,n,r)=>(typeof t=="string"?(n=e.push(t)-1,r.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function cwe(e,t,n,r){const o=e.indexOf(t);if(o===-1)return lwe(e,t,n,r);const s=e.lastIndexOf(t);return o!==s?n:o}const uwe=(e,t)=>e===null?null:Sr(Math.round(e),0,t);function iO(e){const t=this.getLabels();return e>=0&&e<t.length?t[e]:e}class Lm extends uc{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const n=this._addedLabels;if(n.length){const r=this.getLabels();for(const{index:o,label:s}of n)r[o]===s&&r.splice(o,1);this._addedLabels=[]}super.init(t)}parse(t,n){if(ft(t))return null;const r=this.getLabels();return n=isFinite(n)&&r[n]===t?n:cwe(r,t,rt(n,t),this._addedLabels),uwe(n,r.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let{min:r,max:o}=this.getMinMax(!0);this.options.bounds==="ticks"&&(t||(r=0),n||(o=this.getLabels().length-1)),this.min=r,this.max=o}buildTicks(){const t=this.min,n=this.max,r=this.options.offset,o=[];let s=this.getLabels();s=t===0&&n===s.length-1?s:s.slice(t,n+1),this._valueRange=Math.max(s.length-(r?0:1),1),this._startValue=this.min-(r?.5:0);for(let i=t;i<=n;i++)o.push({value:i});return o}getLabelForValue(t){return iO.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return typeof t!="number"&&(t=this.parse(t)),t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}_e(Lm,"id","category"),_e(Lm,"defaults",{ticks:{callback:iO}});function dwe(e,t){const n=[],{bounds:o,step:s,min:i,max:a,precision:l,count:c,maxTicks:u,maxDigits:f,includeBounds:h}=e,p=s||1,m=u-1,{min:g,max:y}=t,b=!ft(i),x=!ft(a),v=!ft(c),w=(y-g)/(f+1);let S=eI((y-g)/m/p)*p,E,C,_,j;if(S<1e-14&&!b&&!x)return[{value:g},{value:y}];j=Math.ceil(y/S)-Math.floor(g/S),j>m&&(S=eI(j*S/m/p)*p),ft(l)||(E=Math.pow(10,l),S=Math.ceil(S*E)/E),o==="ticks"?(C=Math.floor(g/S)*S,_=Math.ceil(y/S)*S):(C=g,_=y),b&&x&&s&&sye((a-i)/s,S/1e3)?(j=Math.round(Math.min((a-i)/S,u)),S=(a-i)/j,C=i,_=a):v?(C=b?i:C,_=x?a:_,j=c-1,S=(_-C)/j):(j=(_-C)/S,Xp(j,Math.round(j),S/1e3)?j=Math.round(j):j=Math.ceil(j));const R=Math.max(tI(S),tI(C));E=Math.pow(10,ft(l)?R:l),C=Math.round(C*E)/E,_=Math.round(_*E)/E;let P=0;for(b&&(h&&C!==i?(n.push({value:i}),C<i&&P++,Xp(Math.round((C+P*S)*E)/E,i,aO(i,w,e))&&P++):C<i&&P++);P<j;++P){const M=Math.round((C+P*S)*E)/E;if(x&&M>a)break;n.push({value:M})}return x&&h&&_!==a?n.length&&Xp(n[n.length-1].value,a,aO(a,w,e))?n[n.length-1].value=a:n.push({value:a}):(!x||_===a)&&n.push({value:_}),n}function aO(e,t,{horizontal:n,minRotation:r}){const o=qs(r),s=(n?Math.sin(o):Math.cos(o))||.001,i=.75*t*(""+e).length;return Math.min(t/s,i)}class Rx extends uc{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return ft(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:r}=this.getUserBounds();let{min:o,max:s}=this;const i=l=>o=n?o:l,a=l=>s=r?s:l;if(t){const l=Ti(o),c=Ti(s);l<0&&c<0?a(0):l>0&&c>0&&i(0)}if(o===s){let l=s===0?1:Math.abs(s*.05);a(s+l),t||i(o-l)}this.min=o,this.max=s}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:r}=t,o;return r?(o=Math.ceil(this.max/r)-Math.floor(this.min/r)+1,o>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${r} would result generating up to ${o} ticks. Limiting to 1000.`),o=1e3)):(o=this.computeTickLimit(),n=n||11),n&&(o=Math.min(n,o)),o}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let r=this.getTickLimit();r=Math.max(2,r);const o={maxTicks:r,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},s=this._range||this,i=dwe(o,s);return t.bounds==="ticks"&&q7(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}configure(){const t=this.ticks;let n=this.min,r=this.max;if(super.configure(),this.options.offset&&t.length){const o=(r-n)/Math.max(t.length-1,1)/2;n-=o,r+=o}this._startValue=n,this._endValue=r,this._valueRange=r-n}getLabelForValue(t){return tb(t,this.chart.options.locale,this.options.ticks.format)}}class Tu extends Rx{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=Gn(t)?t:0,this.max=Gn(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,r=qs(this.options.ticks.minRotation),o=(t?Math.sin(r):Math.cos(r))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,s.lineHeight/o))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}_e(Tu,"id","linear"),_e(Tu,"defaults",{ticks:{callback:zw.formatters.numeric}});const zm=e=>Math.floor(Ml(e)),Cc=(e,t)=>Math.pow(10,zm(e)+t);function lO(e){return e/Math.pow(10,zm(e))===1}function cO(e,t,n){const r=Math.pow(10,n),o=Math.floor(e/r);return Math.ceil(t/r)-o}function fwe(e,t){const n=t-e;let r=zm(n);for(;cO(e,t,r)>10;)r++;for(;cO(e,t,r)<10;)r--;return Math.min(r,zm(e))}function hwe(e,{min:t,max:n}){t=Io(e.min,t);const r=[],o=zm(t);let s=fwe(t,n),i=s<0?Math.pow(10,Math.abs(s)):1;const a=Math.pow(10,s),l=o>s?Math.pow(10,o):0,c=Math.round((t-l)*i)/i,u=Math.floor((t-l)/a/10)*a*10;let f=Math.floor((c-u)/Math.pow(10,s)),h=Io(e.min,Math.round((l+u+f*Math.pow(10,s))*i)/i);for(;h<n;)r.push({value:h,major:lO(h),significand:f}),f>=10?f=f<15?15:20:f++,f>=20&&(s++,f=2,i=s>=0?1:i),h=Math.round((l+u+f*Math.pow(10,s))*i)/i;const p=Io(e.max,h);return r.push({value:p,major:lO(p),significand:f}),r}class qf extends uc{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const r=Rx.prototype.parse.apply(this,[t,n]);if(r===0){this._zero=!0;return}return Gn(r)&&r>0?r:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=Gn(t)?Math.max(0,t):null,this.max=Gn(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!Gn(this._userMin)&&(this.min=t===Cc(this.min,0)?Cc(this.min,-1):Cc(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let r=this.min,o=this.max;const s=a=>r=t?r:a,i=a=>o=n?o:a;r===o&&(r<=0?(s(1),i(10)):(s(Cc(r,-1)),i(Cc(o,1)))),r<=0&&s(Cc(o,-1)),o<=0&&i(Cc(r,1)),this.min=r,this.max=o}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},r=hwe(n,this);return t.bounds==="ticks"&&q7(r,this,"value"),t.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}getLabelForValue(t){return t===void 0?"0":tb(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=Ml(t),this._valueRange=Ml(this.max)-Ml(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(Ml(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}_e(qf,"id","logarithmic"),_e(qf,"defaults",{ticks:{callback:zw.formatters.logarithmic,major:{enabled:!0}}});function yN(e){const t=e.ticks;if(t.display&&e.display){const n=Mr(t.backdropPadding);return rt(t.font&&t.font.size,jn.font.size)+n.height}return 0}function pwe(e,t,n){return n=Nn(n)?n:[n],{w:Sye(e,t.string,n),h:n.length*t.lineHeight}}function uO(e,t,n,r,o){return e===r||e===o?{start:t-n/2,end:t+n/2}:e<r||e>o?{start:t-n,end:t}:{start:t,end:t+n}}function mwe(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),r=[],o=[],s=e._pointLabels.length,i=e.options.pointLabels,a=i.centerPointLabels?Rn/s:0;for(let l=0;l<s;l++){const c=i.setContext(e.getPointLabelContext(l));o[l]=c.padding;const u=e.getPointPosition(l,e.drawingArea+o[l],a),f=lr(c.font),h=pwe(e.ctx,f,e._pointLabels[l]);r[l]=h;const p=$o(e.getIndexAngle(l)+a),m=Math.round(cR(p)),g=uO(m,u.x,h.w,0,180),y=uO(m,u.y,h.h,90,270);gwe(n,t,p,g,y)}e.setCenterPoint(t.l-n.l,n.r-t.r,t.t-n.t,n.b-t.b),e._pointLabelItems=xwe(e,r,o)}function gwe(e,t,n,r,o){const s=Math.abs(Math.sin(n)),i=Math.abs(Math.cos(n));let a=0,l=0;r.start<t.l?(a=(t.l-r.start)/s,e.l=Math.min(e.l,t.l-a)):r.end>t.r&&(a=(r.end-t.r)/s,e.r=Math.max(e.r,t.r+a)),o.start<t.t?(l=(t.t-o.start)/i,e.t=Math.min(e.t,t.t-l)):o.end>t.b&&(l=(o.end-t.b)/i,e.b=Math.max(e.b,t.b+l))}function bwe(e,t,n){const r=e.drawingArea,{extra:o,additionalAngle:s,padding:i,size:a}=n,l=e.getPointPosition(t,r+o+i,s),c=Math.round(cR($o(l.angle+er))),u=Swe(l.y,a.h,c),f=vwe(c),h=wwe(l.x,a.w,f);return{visible:!0,x:l.x,y:u,textAlign:f,left:h,top:u,right:h+a.w,bottom:u+a.h}}function ywe(e,t){if(!t)return!0;const{left:n,top:r,right:o,bottom:s}=e;return!(Da({x:n,y:r},t)||Da({x:n,y:s},t)||Da({x:o,y:r},t)||Da({x:o,y:s},t))}function xwe(e,t,n){const r=[],o=e._pointLabels.length,s=e.options,{centerPointLabels:i,display:a}=s.pointLabels,l={extra:yN(s)/2,additionalAngle:i?Rn/o:0};let c;for(let u=0;u<o;u++){l.padding=n[u],l.size=t[u];const f=bwe(e,u,l);r.push(f),a==="auto"&&(f.visible=ywe(f,c),f.visible&&(c=f))}return r}function vwe(e){return e===0||e===180?"center":e<180?"left":"right"}function wwe(e,t,n){return n==="right"?e-=t:n==="center"&&(e-=t/2),e}function Swe(e,t,n){return n===90||n===270?e-=t/2:(n>270||n<90)&&(e-=t),e}function Cwe(e,t,n){const{left:r,top:o,right:s,bottom:i}=n,{backdropColor:a}=t;if(!ft(a)){const l=du(t.borderRadius),c=Mr(t.backdropPadding);e.fillStyle=a;const u=r-c.left,f=o-c.top,h=s-r+c.width,p=i-o+c.height;Object.values(l).some(m=>m!==0)?(e.beginPath(),Fm(e,{x:u,y:f,w:h,h:p,radius:l}),e.fill()):e.fillRect(u,f,h,p)}}function Ewe(e,t){const{ctx:n,options:{pointLabels:r}}=e;for(let o=t-1;o>=0;o--){const s=e._pointLabelItems[o];if(!s.visible)continue;const i=r.setContext(e.getPointLabelContext(o));Cwe(n,i,s);const a=lr(i.font),{x:l,y:c,textAlign:u}=s;Pu(n,e._pointLabels[o],l,c+a.lineHeight/2,a,{color:i.color,textAlign:u,textBaseline:"middle"})}}function FB(e,t,n,r){const{ctx:o}=e;if(n)o.arc(e.xCenter,e.yCenter,t,0,_n);else{let s=e.getPointPosition(0,t);o.moveTo(s.x,s.y);for(let i=1;i<r;i++)s=e.getPointPosition(i,t),o.lineTo(s.x,s.y)}}function Nwe(e,t,n,r,o){const s=e.ctx,i=t.circular,{color:a,lineWidth:l}=t;!i&&!r||!a||!l||n<0||(s.save(),s.strokeStyle=a,s.lineWidth=l,s.setLineDash(o.dash||[]),s.lineDashOffset=o.dashOffset,s.beginPath(),FB(e,n,i,r),s.closePath(),s.stroke(),s.restore())}function kwe(e,t,n){return cc(e,{label:n,index:t,type:"pointLabel"})}class wp extends Rx{constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=Mr(yN(this.options)/2),n=this.width=this.maxWidth-t.width,r=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+n/2+t.left),this.yCenter=Math.floor(this.top+r/2+t.top),this.drawingArea=Math.floor(Math.min(n,r)/2)}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!1);this.min=Gn(t)&&!isNaN(t)?t:0,this.max=Gn(n)&&!isNaN(n)?n:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/yN(this.options))}generateTickLabels(t){Rx.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map((n,r)=>{const o=an(this.options.pointLabels.callback,[n,r],this);return o||o===0?o:""}).filter((n,r)=>this.chart.getDataVisibility(r))}fit(){const t=this.options;t.display&&t.pointLabels.display?mwe(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,r,o){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((r-o)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,r,o))}getIndexAngle(t){const n=_n/(this._pointLabels.length||1),r=this.options.startAngle||0;return $o(t*n+qs(r))}getDistanceFromCenterForValue(t){if(ft(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(ft(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t<n.length){const r=n[t];return kwe(this.getContext(),t,r)}}getPointPosition(t,n,r=0){const o=this.getIndexAngle(t)-er+r;return{x:Math.cos(o)*n+this.xCenter,y:Math.sin(o)*n+this.yCenter,angle:o}}getPointPositionForValue(t,n){return this.getPointPosition(t,this.getDistanceFromCenterForValue(n))}getBasePosition(t){return this.getPointPositionForValue(t||0,this.getBaseValue())}getPointLabelPosition(t){const{left:n,top:r,right:o,bottom:s}=this._pointLabelItems[t];return{left:n,top:r,right:o,bottom:s}}drawBackground(){const{backgroundColor:t,grid:{circular:n}}=this.options;if(t){const r=this.ctx;r.save(),r.beginPath(),FB(this,this.getDistanceFromCenterForValue(this._endValue),n,this._pointLabels.length),r.closePath(),r.fillStyle=t,r.fill(),r.restore()}}drawGrid(){const t=this.ctx,n=this.options,{angleLines:r,grid:o,border:s}=n,i=this._pointLabels.length;let a,l,c;if(n.pointLabels.display&&Ewe(this,i),o.display&&this.ticks.forEach((u,f)=>{if(f!==0||f===0&&this.min<0){l=this.getDistanceFromCenterForValue(u.value);const h=this.getContext(f),p=o.setContext(h),m=s.setContext(h);Nwe(this,p,l,i,m)}}),r.display){for(t.save(),a=i-1;a>=0;a--){const u=r.setContext(this.getPointLabelContext(a)),{color:f,lineWidth:h}=u;!h||!f||(t.lineWidth=h,t.strokeStyle=f,t.setLineDash(u.borderDash),t.lineDashOffset=u.borderDashOffset,l=this.getDistanceFromCenterForValue(n.reverse?this.min:this.max),c=this.getPointPosition(a,l),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(c.x,c.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,r=n.ticks;if(!r.display)return;const o=this.getIndexAngle(0);let s,i;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(o),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((a,l)=>{if(l===0&&this.min>=0&&!n.reverse)return;const c=r.setContext(this.getContext(l)),u=lr(c.font);if(s=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=u.string,i=t.measureText(a.label).width,t.fillStyle=c.backdropColor;const f=Mr(c.backdropPadding);t.fillRect(-i/2-f.left,-s-u.size/2-f.top,i+f.width,u.size+f.height)}Pu(t,a.label,0,-s,u,{color:c.color,strokeColor:c.textStrokeColor,strokeWidth:c.textStrokeWidth})}),t.restore()}drawTitle(){}}_e(wp,"id","radialLinear"),_e(wp,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:zw.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),_e(wp,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),_e(wp,"descriptors",{angleLines:{_fallback:"grid"}});const Hw={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}},Eo=Object.keys(Hw);function dO(e,t){return e-t}function fO(e,t){if(ft(t))return null;const n=e._adapter,{parser:r,round:o,isoWeekday:s}=e._parseOpts;let i=t;return typeof r=="function"&&(i=r(i)),Gn(i)||(i=typeof r=="string"?n.parse(i,r):n.parse(i)),i===null?null:(o&&(i=o==="week"&&(Hf(s)||s===!0)?n.startOf(i,"isoWeek",s):n.startOf(i,o)),+i)}function hO(e,t,n,r){const o=Eo.length;for(let s=Eo.indexOf(e);s<o-1;++s){const i=Hw[Eo[s]],a=i.steps?i.steps:Number.MAX_SAFE_INTEGER;if(i.common&&Math.ceil((n-t)/(a*i.size))<=r)return Eo[s]}return Eo[o-1]}function _we(e,t,n,r,o){for(let s=Eo.length-1;s>=Eo.indexOf(n);s--){const i=Eo[s];if(Hw[i].common&&e._adapter.diff(o,r,i)>=t-1)return i}return Eo[n?Eo.indexOf(n):0]}function jwe(e){for(let t=Eo.indexOf(e)+1,n=Eo.length;t<n;++t)if(Hw[Eo[t]].common)return Eo[t]}function pO(e,t,n){if(!n)e[t]=!0;else if(n.length){const{lo:r,hi:o}=uR(n,t),s=n[r]>=t?n[r]:n[o];e[s]=!0}}function Rwe(e,t,n,r){const o=e._adapter,s=+o.startOf(t[0].value,r),i=t[t.length-1].value;let a,l;for(a=s;a<=i;a=+o.add(a,1,r))l=n[a],l>=0&&(t[l].major=!0);return t}function mO(e,t,n){const r=[],o={},s=t.length;let i,a;for(i=0;i<s;++i)a=t[i],o[a]=i,r.push({value:a,major:!1});return s===0||!n?r:Rwe(e,r,o,n)}class Bm extends uc{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,n={}){const r=t.time||(t.time={}),o=this._adapter=new $0e._date(t.adapters.date);o.init(n),Kp(r.displayFormats,o.formats()),this._parseOpts={parser:r.parser,round:r.round,isoWeekday:r.isoWeekday},super.init(t),this._normalized=n.normalized}parse(t,n){return t===void 0?null:fO(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,n=this._adapter,r=t.time.unit||"day";let{min:o,max:s,minDefined:i,maxDefined:a}=this.getUserBounds();function l(c){!i&&!isNaN(c.min)&&(o=Math.min(o,c.min)),!a&&!isNaN(c.max)&&(s=Math.max(s,c.max))}(!i||!a)&&(l(this._getLabelBounds()),(t.bounds!=="ticks"||t.ticks.source!=="labels")&&l(this.getMinMax(!1))),o=Gn(o)&&!isNaN(o)?o:+n.startOf(Date.now(),r),s=Gn(s)&&!isNaN(s)?s:+n.endOf(Date.now(),r)+1,this.min=Math.min(o,s-1),this.max=Math.max(o+1,s)}_getLabelBounds(){const t=this.getLabelTimestamps();let n=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY;return t.length&&(n=t[0],r=t[t.length-1]),{min:n,max:r}}buildTicks(){const t=this.options,n=t.time,r=t.ticks,o=r.source==="labels"?this.getLabelTimestamps():this._generate();t.bounds==="ticks"&&o.length&&(this.min=this._userMin||o[0],this.max=this._userMax||o[o.length-1]);const s=this.min,i=this.max,a=cye(o,s,i);return this._unit=n.unit||(r.autoSkip?hO(n.minUnit,this.min,this.max,this._getLabelCapacity(s)):_we(this,a.length,n.minUnit,this.min,this.max)),this._majorUnit=!r.major.enabled||this._unit==="year"?void 0:jwe(this._unit),this.initOffsets(o),t.reverse&&a.reverse(),mO(this,a,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map(t=>+t.value))}initOffsets(t=[]){let n=0,r=0,o,s;this.options.offset&&t.length&&(o=this.getDecimalForValue(t[0]),t.length===1?n=1-o:n=(this.getDecimalForValue(t[1])-o)/2,s=this.getDecimalForValue(t[t.length-1]),t.length===1?r=s:r=(s-this.getDecimalForValue(t[t.length-2]))/2);const i=t.length<3?.5:.25;n=Sr(n,0,i),r=Sr(r,0,i),this._offsets={start:n,end:r,factor:1/(n+1+r)}}_generate(){const t=this._adapter,n=this.min,r=this.max,o=this.options,s=o.time,i=s.unit||hO(s.minUnit,n,r,this._getLabelCapacity(n)),a=rt(o.ticks.stepSize,1),l=i==="week"?s.isoWeekday:!1,c=Hf(l)||l===!0,u={};let f=n,h,p;if(c&&(f=+t.startOf(f,"isoWeek",l)),f=+t.startOf(f,c?"day":i),t.diff(r,n,i)>1e5*a)throw new Error(n+" and "+r+" are too far apart with stepSize of "+a+" "+i);const m=o.ticks.source==="data"&&this.getDataTimestamps();for(h=f,p=0;h<r;h=+t.add(h,a,i),p++)pO(u,h,m);return(h===r||o.bounds==="ticks"||p===1)&&pO(u,h,m),Object.keys(u).sort(dO).map(g=>+g)}getLabelForValue(t){const n=this._adapter,r=this.options.time;return r.tooltipFormat?n.format(t,r.tooltipFormat):n.format(t,r.displayFormats.datetime)}format(t,n){const o=this.options.time.displayFormats,s=this._unit,i=n||o[s];return this._adapter.format(t,i)}_tickFormatFunction(t,n,r,o){const s=this.options,i=s.ticks.callback;if(i)return an(i,[t,n,r],this);const a=s.time.displayFormats,l=this._unit,c=this._majorUnit,u=l&&a[l],f=c&&a[c],h=r[n],p=c&&f&&h&&h.major;return this._adapter.format(t,o||(p?f:u))}generateTickLabels(t){let n,r,o;for(n=0,r=t.length;n<r;++n)o=t[n],o.label=this._tickFormatFunction(o.value,n,t)}getDecimalForValue(t){return t===null?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const n=this._offsets,r=this.getDecimalForValue(t);return this.getPixelForDecimal((n.start+r)*n.factor)}getValueForPixel(t){const n=this._offsets,r=this.getDecimalForPixel(t)/n.factor-n.end;return this.min+r*(this.max-this.min)}_getLabelSize(t){const n=this.options.ticks,r=this.ctx.measureText(t).width,o=qs(this.isHorizontal()?n.maxRotation:n.minRotation),s=Math.cos(o),i=Math.sin(o),a=this._resolveTickFontOptions(0).size;return{w:r*s+a*i,h:r*i+a*s}}_getLabelCapacity(t){const n=this.options.time,r=n.displayFormats,o=r[n.unit]||r.millisecond,s=this._tickFormatFunction(t,0,mO(this,[t],this._majorUnit),o),i=this._getLabelSize(s),a=Math.floor(this.isHorizontal()?this.width/i.w:this.height/i.h)-1;return a>0?a:1}getDataTimestamps(){let t=this._cache.data||[],n,r;if(t.length)return t;const o=this.getMatchingVisibleMetas();if(this._normalized&&o.length)return this._cache.data=o[0].controller.getAllParsedValues(this);for(n=0,r=o.length;n<r;++n)t=t.concat(o[n].controller.getAllParsedValues(this));return this._cache.data=this.normalize(t)}getLabelTimestamps(){const t=this._cache.labels||[];let n,r;if(t.length)return t;const o=this.getLabels();for(n=0,r=o.length;n<r;++n)t.push(fO(this,o[n]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return Z7(t.sort(dO))}}_e(Bm,"id","time"),_e(Bm,"defaults",{bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}});function Cy(e,t,n){let r=0,o=e.length-1,s,i,a,l;n?(t>=e[r].pos&&t<=e[o].pos&&({lo:r,hi:o}=Ma(e,"pos",t)),{pos:s,time:a}=e[r],{pos:i,time:l}=e[o]):(t>=e[r].time&&t<=e[o].time&&({lo:r,hi:o}=Ma(e,"time",t)),{time:s,pos:a}=e[r],{time:i,pos:l}=e[o]);const c=i-s;return c?a+(l-a)*(t-s)/c:a}class xN extends Bm{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=Cy(n,this.min),this._tableRange=Cy(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:r}=this,o=[],s=[];let i,a,l,c,u;for(i=0,a=t.length;i<a;++i)c=t[i],c>=n&&c<=r&&o.push(c);if(o.length<2)return[{time:n,pos:0},{time:r,pos:1}];for(i=0,a=o.length;i<a;++i)u=o[i+1],l=o[i-1],c=o[i],Math.round((u+l)/2)!==c&&s.push({time:c,pos:i/(a-1)});return s}_generate(){const t=this.min,n=this.max;let r=super.getDataTimestamps();return(!r.includes(t)||!r.length)&&r.splice(0,0,t),(!r.includes(n)||r.length===1)&&r.push(n),r.sort((o,s)=>o-s)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const n=this.getDataTimestamps(),r=this.getLabelTimestamps();return n.length&&r.length?t=this.normalize(n.concat(r)):t=n.length?n:r,t=this._cache.all=t,t}getDecimalForValue(t){return(Cy(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const n=this._offsets,r=this.getDecimalForPixel(t)/n.factor-n.end;return Cy(this._table,r*this._tableRange+this._minPos,!0)}}_e(xN,"id","timeseries"),_e(xN,"defaults",Bm.defaults);var Mwe=Object.freeze({__proto__:null,CategoryScale:Lm,LinearScale:Tu,LogarithmicScale:qf,RadialLinearScale:wp,TimeScale:Bm,TimeSeriesScale:xN});const Dwe=[F0e,hve,awe,Mwe];class Zl{constructor(){this._partials=new Float64Array(32),this._n=0}add(t){const n=this._partials;let r=0;for(let o=0;o<this._n&&o<32;o++){const s=n[o],i=t+s,a=Math.abs(t)<Math.abs(s)?t-(i-s):s-(i-t);a&&(n[r++]=a),t=i}return n[r]=t,this._n=r+1,this}valueOf(){const t=this._partials;let n=this._n,r,o,s,i=0;if(n>0){for(i=t[--n];n>0&&(r=i,o=t[--n],i=r+o,s=o-(i-r),!s););n>0&&(s<0&&t[n-1]<0||s>0&&t[n-1]>0)&&(o=s*2,r=i+o,o==r-i&&(i=r))}return i}}function*Pwe(e){for(const t of e)yield*t}function $B(e){return Array.from(Pwe(e))}function Hd(e,t,n){e=+e,t=+t,n=(o=arguments.length)<2?(t=e,e=0,1):o<3?1:+n;for(var r=-1,o=Math.max(0,Math.ceil((t-e)/n))|0,s=new Array(o);++r<o;)s[r]=e+r*n;return s}var Je=1e-6,LB=1e-12,vt=Math.PI,qn=vt/2,gO=vt/4,Qo=vt*2,to=180/vt,ln=vt/180,Bt=Math.abs,kh=Math.atan,Gi=Math.atan2,dt=Math.cos,Ey=Math.ceil,zB=Math.exp,Mx=Math.log,xC=Math.pow,st=Math.sin,bs=Math.sign||function(e){return e>0?1:e<0?-1:0},ao=Math.sqrt,SR=Math.tan;function BB(e){return e>1?0:e<-1?vt:Math.acos(e)}function Ns(e){return e>1?qn:e<-1?-qn:Math.asin(e)}function xr(){}function Dx(e,t){e&&yO.hasOwnProperty(e.type)&&yO[e.type](e,t)}var bO={Feature:function(e,t){Dx(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,o=n.length;++r<o;)Dx(n[r].geometry,t)}},yO={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)e=n[r],t.point(e[0],e[1],e[2])},LineString:function(e,t){vN(e.coordinates,t,0)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)vN(n[r],t,0)},Polygon:function(e,t){xO(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)xO(n[r],t)},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,o=n.length;++r<o;)Dx(n[r],t)}};function vN(e,t,n){var r=-1,o=e.length-n,s;for(t.lineStart();++r<o;)s=e[r],t.point(s[0],s[1],s[2]);t.lineEnd()}function xO(e,t){var n=-1,r=e.length;for(t.polygonStart();++n<r;)vN(e[n],t,1);t.polygonEnd()}function Oc(e,t){e&&bO.hasOwnProperty(e.type)?bO[e.type](e,t):Dx(e,t)}function wN(e){return[Gi(e[1],e[0]),Ns(e[2])]}function Gf(e){var t=e[0],n=e[1],r=dt(n);return[r*dt(t),r*st(t),st(n)]}function Ny(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Px(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function vC(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function ky(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function SN(e){var t=ao(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}function CN(e,t){function n(r,o){return r=e(r,o),t(r[0],r[1])}return e.invert&&t.invert&&(n.invert=function(r,o){return r=t.invert(r,o),r&&e.invert(r[0],r[1])}),n}function EN(e,t){return Bt(e)>vt&&(e-=Math.round(e/Qo)*Qo),[e,t]}EN.invert=EN;function VB(e,t,n){return(e%=Qo)?t||n?CN(wO(e),SO(t,n)):wO(e):t||n?SO(t,n):EN}function vO(e){return function(t,n){return t+=e,Bt(t)>vt&&(t-=Math.round(t/Qo)*Qo),[t,n]}}function wO(e){var t=vO(e);return t.invert=vO(-e),t}function SO(e,t){var n=dt(e),r=st(e),o=dt(t),s=st(t);function i(a,l){var c=dt(l),u=dt(a)*c,f=st(a)*c,h=st(l),p=h*n+u*r;return[Gi(f*o-p*s,u*n-h*r),Ns(p*o+f*s)]}return i.invert=function(a,l){var c=dt(l),u=dt(a)*c,f=st(a)*c,h=st(l),p=h*o-f*s;return[Gi(f*o+h*s,u*n+p*r),Ns(p*n-u*r)]},i}function Twe(e){e=VB(e[0]*ln,e[1]*ln,e.length>2?e[2]*ln:0);function t(n){return n=e(n[0]*ln,n[1]*ln),n[0]*=to,n[1]*=to,n}return t.invert=function(n){return n=e.invert(n[0]*ln,n[1]*ln),n[0]*=to,n[1]*=to,n},t}function Awe(e,t,n,r,o,s){if(n){var i=dt(t),a=st(t),l=r*n;o==null?(o=t+r*Qo,s=t-l/2):(o=CO(i,o),s=CO(i,s),(r>0?o<s:o>s)&&(o+=r*Qo));for(var c,u=o;r>0?u>s:u<s;u-=l)c=wN([i,-a*dt(u),-a*st(u)]),e.point(c[0],c[1])}}function CO(e,t){t=Gf(t),t[0]-=e,SN(t);var n=BB(-t[1]);return((-t[2]<0?-n:n)+Qo-Je)%Qo}function HB(){var e=[],t;return{point:function(n,r,o){t.push([n,r,o])},lineStart:function(){e.push(t=[])},lineEnd:xr,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function _0(e,t){return Bt(e[0]-t[0])<Je&&Bt(e[1]-t[1])<Je}function _y(e,t,n,r){this.x=e,this.z=t,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function UB(e,t,n,r,o){var s=[],i=[],a,l;if(e.forEach(function(m){if(!((g=m.length-1)<=0)){var g,y=m[0],b=m[g],x;if(_0(y,b)){if(!y[2]&&!b[2]){for(o.lineStart(),a=0;a<g;++a)o.point((y=m[a])[0],y[1]);o.lineEnd();return}b[0]+=2*Je}s.push(x=new _y(y,m,null,!0)),i.push(x.o=new _y(y,null,x,!1)),s.push(x=new _y(b,m,null,!1)),i.push(x.o=new _y(b,null,x,!0))}}),!!s.length){for(i.sort(t),EO(s),EO(i),a=0,l=i.length;a<l;++a)i[a].e=n=!n;for(var c=s[0],u,f;;){for(var h=c,p=!0;h.v;)if((h=h.n)===c)return;u=h.z,o.lineStart();do{if(h.v=h.o.v=!0,h.e){if(p)for(a=0,l=u.length;a<l;++a)o.point((f=u[a])[0],f[1]);else r(h.x,h.n.x,1,o);h=h.n}else{if(p)for(u=h.p.z,a=u.length-1;a>=0;--a)o.point((f=u[a])[0],f[1]);else r(h.x,h.p.x,-1,o);h=h.p}h=h.o,u=h.z,p=!p}while(!h.v);o.lineEnd()}}}function EO(e){if(t=e.length){for(var t,n=0,r=e[0],o;++n<t;)r.n=o=e[n],o.p=r,r=o;r.n=o=e[0],o.p=r}}function wC(e){return Bt(e[0])<=vt?e[0]:bs(e[0])*((Bt(e[0])+vt)%Qo-vt)}function WB(e,t){var n=wC(t),r=t[1],o=st(r),s=[st(n),-dt(n),0],i=0,a=0,l=new Zl;o===1?r=qn+Je:o===-1&&(r=-qn-Je);for(var c=0,u=e.length;c<u;++c)if(h=(f=e[c]).length)for(var f,h,p=f[h-1],m=wC(p),g=p[1]/2+gO,y=st(g),b=dt(g),x=0;x<h;++x,m=w,y=E,b=C,p=v){var v=f[x],w=wC(v),S=v[1]/2+gO,E=st(S),C=dt(S),_=w-m,j=_>=0?1:-1,R=j*_,P=R>vt,M=y*E;if(l.add(Gi(M*j*st(R),b*C+M*dt(R))),i+=P?_+j*Qo:_,P^m>=n^w>=n){var O=Px(Gf(p),Gf(v));SN(O);var I=Px(s,O);SN(I);var A=(P^_>=0?-1:1)*Ns(I[2]);(r>A||r===A&&(O[0]||O[1]))&&(a+=P^_>=0?1:-1)}}return(i<-1e-6||i<Je&&l<-1e-12)^a&1}function qB(e,t,n,r){return function(o){var s=t(o),i=HB(),a=t(i),l=!1,c,u,f,h={point:p,lineStart:g,lineEnd:y,polygonStart:function(){h.point=b,h.lineStart=x,h.lineEnd=v,u=[],c=[]},polygonEnd:function(){h.point=p,h.lineStart=g,h.lineEnd=y,u=$B(u);var w=WB(c,r);u.length?(l||(o.polygonStart(),l=!0),UB(u,Owe,w,n,o)):w&&(l||(o.polygonStart(),l=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),l&&(o.polygonEnd(),l=!1),u=c=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function p(w,S){e(w,S)&&o.point(w,S)}function m(w,S){s.point(w,S)}function g(){h.point=m,s.lineStart()}function y(){h.point=p,s.lineEnd()}function b(w,S){f.push([w,S]),a.point(w,S)}function x(){a.lineStart(),f=[]}function v(){b(f[0][0],f[0][1]),a.lineEnd();var w=a.clean(),S=i.result(),E,C=S.length,_,j,R;if(f.pop(),c.push(f),f=null,!!C){if(w&1){if(j=S[0],(_=j.length-1)>0){for(l||(o.polygonStart(),l=!0),o.lineStart(),E=0;E<_;++E)o.point((R=j[E])[0],R[1]);o.lineEnd()}return}C>1&&w&2&&S.push(S.pop().concat(S.shift())),u.push(S.filter(Iwe))}}return h}}function Iwe(e){return e.length>1}function Owe(e,t){return((e=e.x)[0]<0?e[1]-qn-Je:qn-e[1])-((t=t.x)[0]<0?t[1]-qn-Je:qn-t[1])}const NO=qB(function(){return!0},Fwe,Lwe,[-vt,-qn]);function Fwe(e){var t=NaN,n=NaN,r=NaN,o;return{lineStart:function(){e.lineStart(),o=1},point:function(s,i){var a=s>0?vt:-vt,l=Bt(s-t);Bt(l-vt)<Je?(e.point(t,n=(n+i)/2>0?qn:-qn),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(a,n),e.point(s,n),o=0):r!==a&&l>=vt&&(Bt(t-r)<Je&&(t-=r*Je),Bt(s-a)<Je&&(s-=a*Je),n=$we(t,n,s,i),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(a,n),o=0),e.point(t=s,n=i),r=a},lineEnd:function(){e.lineEnd(),t=n=NaN},clean:function(){return 2-o}}}function $we(e,t,n,r){var o,s,i=st(e-n);return Bt(i)>Je?kh((st(t)*(s=dt(r))*st(n)-st(r)*(o=dt(t))*st(e))/(o*s*i)):(t+r)/2}function Lwe(e,t,n,r){var o;if(e==null)o=n*qn,r.point(-vt,o),r.point(0,o),r.point(vt,o),r.point(vt,0),r.point(vt,-o),r.point(0,-o),r.point(-vt,-o),r.point(-vt,0),r.point(-vt,o);else if(Bt(e[0]-t[0])>Je){var s=e[0]<t[0]?vt:-vt;o=n*s/2,r.point(-s,o),r.point(0,o),r.point(s,o)}else r.point(t[0],t[1])}function zwe(e){var t=dt(e),n=2*ln,r=t>0,o=Bt(t)>Je;function s(u,f,h,p){Awe(p,e,n,h,u,f)}function i(u,f){return dt(u)*dt(f)>t}function a(u){var f,h,p,m,g;return{lineStart:function(){m=p=!1,g=1},point:function(y,b){var x=[y,b],v,w=i(y,b),S=r?w?0:c(y,b):w?c(y+(y<0?vt:-vt),b):0;if(!f&&(m=p=w)&&u.lineStart(),w!==p&&(v=l(f,x),(!v||_0(f,v)||_0(x,v))&&(x[2]=1)),w!==p)g=0,w?(u.lineStart(),v=l(x,f),u.point(v[0],v[1])):(v=l(f,x),u.point(v[0],v[1],2),u.lineEnd()),f=v;else if(o&&f&&r^w){var E;!(S&h)&&(E=l(x,f,!0))&&(g=0,r?(u.lineStart(),u.point(E[0][0],E[0][1]),u.point(E[1][0],E[1][1]),u.lineEnd()):(u.point(E[1][0],E[1][1]),u.lineEnd(),u.lineStart(),u.point(E[0][0],E[0][1],3)))}w&&(!f||!_0(f,x))&&u.point(x[0],x[1]),f=x,p=w,h=S},lineEnd:function(){p&&u.lineEnd(),f=null},clean:function(){return g|(m&&p)<<1}}}function l(u,f,h){var p=Gf(u),m=Gf(f),g=[1,0,0],y=Px(p,m),b=Ny(y,y),x=y[0],v=b-x*x;if(!v)return!h&&u;var w=t*b/v,S=-t*x/v,E=Px(g,y),C=ky(g,w),_=ky(y,S);vC(C,_);var j=E,R=Ny(C,j),P=Ny(j,j),M=R*R-P*(Ny(C,C)-1);if(!(M<0)){var O=ao(M),I=ky(j,(-R-O)/P);if(vC(I,C),I=wN(I),!h)return I;var A=u[0],F=f[0],H=u[1],W=f[1],$;F<A&&($=A,A=F,F=$);var T=F-A,B=Bt(T-vt)<Je,z=B||T<Je;if(!B&&W<H&&($=H,H=W,W=$),z?B?H+W>0^I[1]<(Bt(I[0]-A)<Je?H:W):H<=I[1]&&I[1]<=W:T>vt^(A<=I[0]&&I[0]<=F)){var D=ky(j,(-R+O)/P);return vC(D,C),[I,wN(D)]}}}function c(u,f){var h=r?e:vt-e,p=0;return u<-h?p|=1:u>h&&(p|=2),f<-h?p|=4:f>h&&(p|=8),p}return qB(i,a,s,r?[0,-e]:[-vt,e-vt])}function Bwe(e,t,n,r,o,s){var i=e[0],a=e[1],l=t[0],c=t[1],u=0,f=1,h=l-i,p=c-a,m;if(m=n-i,!(!h&&m>0)){if(m/=h,h<0){if(m<u)return;m<f&&(f=m)}else if(h>0){if(m>f)return;m>u&&(u=m)}if(m=o-i,!(!h&&m<0)){if(m/=h,h<0){if(m>f)return;m>u&&(u=m)}else if(h>0){if(m<u)return;m<f&&(f=m)}if(m=r-a,!(!p&&m>0)){if(m/=p,p<0){if(m<u)return;m<f&&(f=m)}else if(p>0){if(m>f)return;m>u&&(u=m)}if(m=s-a,!(!p&&m<0)){if(m/=p,p<0){if(m>f)return;m>u&&(u=m)}else if(p>0){if(m<u)return;m<f&&(f=m)}return u>0&&(e[0]=i+u*h,e[1]=a+u*p),f<1&&(t[0]=i+f*h,t[1]=a+f*p),!0}}}}}var jy=1e9,Ry=-1e9;function Vwe(e,t,n,r){function o(c,u){return e<=c&&c<=n&&t<=u&&u<=r}function s(c,u,f,h){var p=0,m=0;if(c==null||(p=i(c,f))!==(m=i(u,f))||l(c,u)<0^f>0)do h.point(p===0||p===3?e:n,p>1?r:t);while((p=(p+f+4)%4)!==m);else h.point(u[0],u[1])}function i(c,u){return Bt(c[0]-e)<Je?u>0?0:3:Bt(c[0]-n)<Je?u>0?2:1:Bt(c[1]-t)<Je?u>0?1:0:u>0?3:2}function a(c,u){return l(c.x,u.x)}function l(c,u){var f=i(c,1),h=i(u,1);return f!==h?f-h:f===0?u[1]-c[1]:f===1?c[0]-u[0]:f===2?c[1]-u[1]:u[0]-c[0]}return function(c){var u=c,f=HB(),h,p,m,g,y,b,x,v,w,S,E,C={point:_,lineStart:M,lineEnd:O,polygonStart:R,polygonEnd:P};function _(A,F){o(A,F)&&u.point(A,F)}function j(){for(var A=0,F=0,H=p.length;F<H;++F)for(var W=p[F],$=1,T=W.length,B=W[0],z,D,U=B[0],G=B[1];$<T;++$)z=U,D=G,B=W[$],U=B[0],G=B[1],D<=r?G>r&&(U-z)*(r-D)>(G-D)*(e-z)&&++A:G<=r&&(U-z)*(r-D)<(G-D)*(e-z)&&--A;return A}function R(){u=f,h=[],p=[],E=!0}function P(){var A=j(),F=E&&A,H=(h=$B(h)).length;(F||H)&&(c.polygonStart(),F&&(c.lineStart(),s(null,null,1,c),c.lineEnd()),H&&UB(h,a,A,s,c),c.polygonEnd()),u=c,h=p=m=null}function M(){C.point=I,p&&p.push(m=[]),S=!0,w=!1,x=v=NaN}function O(){h&&(I(g,y),b&&w&&f.rejoin(),h.push(f.result())),C.point=_,w&&u.lineEnd()}function I(A,F){var H=o(A,F);if(p&&m.push([A,F]),S)g=A,y=F,b=H,S=!1,H&&(u.lineStart(),u.point(A,F));else if(H&&w)u.point(A,F);else{var W=[x=Math.max(Ry,Math.min(jy,x)),v=Math.max(Ry,Math.min(jy,v))],$=[A=Math.max(Ry,Math.min(jy,A)),F=Math.max(Ry,Math.min(jy,F))];Bwe(W,$,e,t,n,r)?(w||(u.lineStart(),u.point(W[0],W[1])),u.point($[0],$[1]),H||u.lineEnd(),E=!1):H&&(u.lineStart(),u.point(A,F),E=!1)}x=A,v=F,w=H}return C}}var NN,kN,j0,R0,Yf={sphere:xr,point:xr,lineStart:Hwe,lineEnd:xr,polygonStart:xr,polygonEnd:xr};function Hwe(){Yf.point=Wwe,Yf.lineEnd=Uwe}function Uwe(){Yf.point=Yf.lineEnd=xr}function Wwe(e,t){e*=ln,t*=ln,kN=e,j0=st(t),R0=dt(t),Yf.point=qwe}function qwe(e,t){e*=ln,t*=ln;var n=st(t),r=dt(t),o=Bt(e-kN),s=dt(o),i=st(o),a=r*i,l=R0*n-j0*r*s,c=j0*n+R0*r*s;NN.add(Gi(ao(a*a+l*l),c)),kN=e,j0=n,R0=r}function Gwe(e){return NN=new Zl,Oc(e,Yf),+NN}var _N=[null,null],Ywe={type:"LineString",coordinates:_N};function jN(e,t){return _N[0]=e,_N[1]=t,Gwe(Ywe)}var kO={Feature:function(e,t){return Tx(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,o=n.length;++r<o;)if(Tx(n[r].geometry,t))return!0;return!1}},_O={Sphere:function(){return!0},Point:function(e,t){return jO(e.coordinates,t)},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)if(jO(n[r],t))return!0;return!1},LineString:function(e,t){return RO(e.coordinates,t)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)if(RO(n[r],t))return!0;return!1},Polygon:function(e,t){return MO(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,o=n.length;++r<o;)if(MO(n[r],t))return!0;return!1},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,o=n.length;++r<o;)if(Tx(n[r],t))return!0;return!1}};function Tx(e,t){return e&&_O.hasOwnProperty(e.type)?_O[e.type](e,t):!1}function jO(e,t){return jN(e,t)===0}function RO(e,t){for(var n,r,o,s=0,i=e.length;s<i;s++){if(r=jN(e[s],t),r===0||s>0&&(o=jN(e[s],e[s-1]),o>0&&n<=o&&r<=o&&(n+r-o)*(1-Math.pow((n-r)/o,2))<LB*o))return!0;n=r}return!1}function MO(e,t){return!!WB(e.map(Zwe),GB(t))}function Zwe(e){return e=e.map(GB),e.pop(),e}function GB(e){return[e[0]*ln,e[1]*ln]}function Kwe(e,t){return(e&&kO.hasOwnProperty(e.type)?kO[e.type]:Tx)(e,t)}function DO(e,t,n){var r=Hd(e,t-Je,n).concat(t);return function(o){return r.map(function(s){return[o,s]})}}function PO(e,t,n){var r=Hd(e,t-Je,n).concat(t);return function(o){return r.map(function(s){return[s,o]})}}function YB(){var e,t,n,r,o,s,i,a,l=10,c=l,u=90,f=360,h,p,m,g,y=2.5;function b(){return{type:"MultiLineString",coordinates:x()}}function x(){return Hd(Ey(r/u)*u,n,u).map(m).concat(Hd(Ey(a/f)*f,i,f).map(g)).concat(Hd(Ey(t/l)*l,e,l).filter(function(v){return Bt(v%u)>Je}).map(h)).concat(Hd(Ey(s/c)*c,o,c).filter(function(v){return Bt(v%f)>Je}).map(p))}return b.lines=function(){return x().map(function(v){return{type:"LineString",coordinates:v}})},b.outline=function(){return{type:"Polygon",coordinates:[m(r).concat(g(i).slice(1),m(n).reverse().slice(1),g(a).reverse().slice(1))]}},b.extent=function(v){return arguments.length?b.extentMajor(v).extentMinor(v):b.extentMinor()},b.extentMajor=function(v){return arguments.length?(r=+v[0][0],n=+v[1][0],a=+v[0][1],i=+v[1][1],r>n&&(v=r,r=n,n=v),a>i&&(v=a,a=i,i=v),b.precision(y)):[[r,a],[n,i]]},b.extentMinor=function(v){return arguments.length?(t=+v[0][0],e=+v[1][0],s=+v[0][1],o=+v[1][1],t>e&&(v=t,t=e,e=v),s>o&&(v=s,s=o,o=v),b.precision(y)):[[t,s],[e,o]]},b.step=function(v){return arguments.length?b.stepMajor(v).stepMinor(v):b.stepMinor()},b.stepMajor=function(v){return arguments.length?(u=+v[0],f=+v[1],b):[u,f]},b.stepMinor=function(v){return arguments.length?(l=+v[0],c=+v[1],b):[l,c]},b.precision=function(v){return arguments.length?(y=+v,h=DO(s,o,90),p=PO(t,e,y),m=DO(a,i,90),g=PO(r,n,y),b):y},b.extentMajor([[-180,-90+Je],[180,90-Je]]).extentMinor([[-180,-80-Je],[180,80+Je]])}function Xwe(){return YB()()}const RN=e=>e;var SC=new Zl,MN=new Zl,ZB,KB,DN,PN,Ea={point:xr,lineStart:xr,lineEnd:xr,polygonStart:function(){Ea.lineStart=Qwe,Ea.lineEnd=e1e},polygonEnd:function(){Ea.lineStart=Ea.lineEnd=Ea.point=xr,SC.add(Bt(MN)),MN=new Zl},result:function(){var e=SC/2;return SC=new Zl,e}};function Qwe(){Ea.point=Jwe}function Jwe(e,t){Ea.point=XB,ZB=DN=e,KB=PN=t}function XB(e,t){MN.add(PN*e-DN*t),DN=e,PN=t}function e1e(){XB(ZB,KB)}var Zf=1/0,Ax=Zf,Vm=-Zf,Ix=Vm,Ox={point:t1e,lineStart:xr,lineEnd:xr,polygonStart:xr,polygonEnd:xr,result:function(){var e=[[Zf,Ax],[Vm,Ix]];return Vm=Ix=-(Ax=Zf=1/0),e}};function t1e(e,t){e<Zf&&(Zf=e),e>Vm&&(Vm=e),t<Ax&&(Ax=t),t>Ix&&(Ix=t)}var TN=0,AN=0,Sp=0,Fx=0,$x=0,Ud=0,IN=0,ON=0,Cp=0,QB,JB,ji,Ri,ms={point:Au,lineStart:TO,lineEnd:AO,polygonStart:function(){ms.lineStart=o1e,ms.lineEnd=s1e},polygonEnd:function(){ms.point=Au,ms.lineStart=TO,ms.lineEnd=AO},result:function(){var e=Cp?[IN/Cp,ON/Cp]:Ud?[Fx/Ud,$x/Ud]:Sp?[TN/Sp,AN/Sp]:[NaN,NaN];return TN=AN=Sp=Fx=$x=Ud=IN=ON=Cp=0,e}};function Au(e,t){TN+=e,AN+=t,++Sp}function TO(){ms.point=n1e}function n1e(e,t){ms.point=r1e,Au(ji=e,Ri=t)}function r1e(e,t){var n=e-ji,r=t-Ri,o=ao(n*n+r*r);Fx+=o*(ji+e)/2,$x+=o*(Ri+t)/2,Ud+=o,Au(ji=e,Ri=t)}function AO(){ms.point=Au}function o1e(){ms.point=i1e}function s1e(){eV(QB,JB)}function i1e(e,t){ms.point=eV,Au(QB=ji=e,JB=Ri=t)}function eV(e,t){var n=e-ji,r=t-Ri,o=ao(n*n+r*r);Fx+=o*(ji+e)/2,$x+=o*(Ri+t)/2,Ud+=o,o=Ri*e-ji*t,IN+=o*(ji+e),ON+=o*(Ri+t),Cp+=o*3,Au(ji=e,Ri=t)}function tV(e){this._context=e}tV.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:{this._context.moveTo(e,t),this._point=1;break}case 1:{this._context.lineTo(e,t);break}default:{this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,Qo);break}}},result:xr};var FN=new Zl,CC,nV,rV,Ep,Np,Hm={point:xr,lineStart:function(){Hm.point=a1e},lineEnd:function(){CC&&oV(nV,rV),Hm.point=xr},polygonStart:function(){CC=!0},polygonEnd:function(){CC=null},result:function(){var e=+FN;return FN=new Zl,e}};function a1e(e,t){Hm.point=oV,nV=Ep=e,rV=Np=t}function oV(e,t){Ep-=e,Np-=t,FN.add(ao(Ep*Ep+Np*Np)),Ep=e,Np=t}let IO,Lx,OO,FO;class $O{constructor(t){this._append=t==null?sV:l1e(t),this._radius=4.5,this._=""}pointRadius(t){return this._radius=+t,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z"),this._point=NaN}point(t,n){switch(this._point){case 0:{this._append`M${t},${n}`,this._point=1;break}case 1:{this._append`L${t},${n}`;break}default:{if(this._append`M${t},${n}`,this._radius!==OO||this._append!==Lx){const r=this._radius,o=this._;this._="",this._append`m0,${r}a${r},${r} 0 1,1 0,${-2*r}a${r},${r} 0 1,1 0,${2*r}z`,OO=r,Lx=this._append,FO=this._,this._=o}this._+=FO;break}}}result(){const t=this._;return this._="",t.length?t:null}}function sV(e){let t=1;this._+=e[0];for(const n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function l1e(e){const t=Math.floor(e);if(!(t>=0))throw new RangeError(`invalid digits: ${e}`);if(t>15)return sV;if(t!==IO){const n=10**t;IO=t,Lx=function(o){let s=1;this._+=o[0];for(const i=o.length;s<i;++s)this._+=Math.round(arguments[s]*n)/n+o[s]}}return Lx}function LO(e,t){let n=3,r=4.5,o,s;function i(a){return a&&(typeof r=="function"&&s.pointRadius(+r.apply(this,arguments)),Oc(a,o(s))),s.result()}return i.area=function(a){return Oc(a,o(Ea)),Ea.result()},i.measure=function(a){return Oc(a,o(Hm)),Hm.result()},i.bounds=function(a){return Oc(a,o(Ox)),Ox.result()},i.centroid=function(a){return Oc(a,o(ms)),ms.result()},i.projection=function(a){return arguments.length?(o=a==null?(e=null,RN):(e=a).stream,i):e},i.context=function(a){return arguments.length?(s=a==null?(t=null,new $O(n)):new tV(t=a),typeof r!="function"&&s.pointRadius(r),i):t},i.pointRadius=function(a){return arguments.length?(r=typeof a=="function"?a:(s.pointRadius(+a),+a),i):r},i.digits=function(a){if(!arguments.length)return n;if(a==null)n=null;else{const l=Math.floor(a);if(!(l>=0))throw new RangeError(`invalid digits: ${a}`);n=l}return t===null&&(s=new $O(n)),i},i.projection(e).digits(n).context(t)}function CR(e){return function(t){var n=new $N;for(var r in e)n[r]=e[r];return n.stream=t,n}}function $N(){}$N.prototype={constructor:$N,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function ER(e,t,n){var r=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),r!=null&&e.clipExtent(null),Oc(n,e.stream(Ox)),t(Ox.result()),r!=null&&e.clipExtent(r),e}function NR(e,t,n){return ER(e,function(r){var o=t[1][0]-t[0][0],s=t[1][1]-t[0][1],i=Math.min(o/(r[1][0]-r[0][0]),s/(r[1][1]-r[0][1])),a=+t[0][0]+(o-i*(r[1][0]+r[0][0]))/2,l=+t[0][1]+(s-i*(r[1][1]+r[0][1]))/2;e.scale(150*i).translate([a,l])},n)}function iV(e,t,n){return NR(e,[[0,0],t],n)}function aV(e,t,n){return ER(e,function(r){var o=+t,s=o/(r[1][0]-r[0][0]),i=(o-s*(r[1][0]+r[0][0]))/2,a=-s*r[0][1];e.scale(150*s).translate([i,a])},n)}function lV(e,t,n){return ER(e,function(r){var o=+t,s=o/(r[1][1]-r[0][1]),i=-s*r[0][0],a=(o-s*(r[1][1]+r[0][1]))/2;e.scale(150*s).translate([i,a])},n)}var zO=16,c1e=dt(30*ln);function BO(e,t){return+t?d1e(e,t):u1e(e)}function u1e(e){return CR({point:function(t,n){t=e(t,n),this.stream.point(t[0],t[1])}})}function d1e(e,t){function n(r,o,s,i,a,l,c,u,f,h,p,m,g,y){var b=c-r,x=u-o,v=b*b+x*x;if(v>4*t&&g--){var w=i+h,S=a+p,E=l+m,C=ao(w*w+S*S+E*E),_=Ns(E/=C),j=Bt(Bt(E)-1)<Je||Bt(s-f)<Je?(s+f)/2:Gi(S,w),R=e(j,_),P=R[0],M=R[1],O=P-r,I=M-o,A=x*O-b*I;(A*A/v>t||Bt((b*O+x*I)/v-.5)>.3||i*h+a*p+l*m<c1e)&&(n(r,o,s,i,a,l,P,M,j,w/=C,S/=C,E,g,y),y.point(P,M),n(P,M,j,w,S,E,c,u,f,h,p,m,g,y))}}return function(r){var o,s,i,a,l,c,u,f,h,p,m,g,y={point:b,lineStart:x,lineEnd:w,polygonStart:function(){r.polygonStart(),y.lineStart=S},polygonEnd:function(){r.polygonEnd(),y.lineStart=x}};function b(_,j){_=e(_,j),r.point(_[0],_[1])}function x(){f=NaN,y.point=v,r.lineStart()}function v(_,j){var R=Gf([_,j]),P=e(_,j);n(f,h,u,p,m,g,f=P[0],h=P[1],u=_,p=R[0],m=R[1],g=R[2],zO,r),r.point(f,h)}function w(){y.point=b,r.lineEnd()}function S(){x(),y.point=E,y.lineEnd=C}function E(_,j){v(o=_,j),s=f,i=h,a=p,l=m,c=g,y.point=v}function C(){n(f,h,u,p,m,g,s,i,o,a,l,c,zO,r),y.lineEnd=w,w()}return y}}var f1e=CR({point:function(e,t){this.stream.point(e*ln,t*ln)}});function h1e(e){return CR({point:function(t,n){var r=e(t,n);return this.stream.point(r[0],r[1])}})}function p1e(e,t,n,r,o){function s(i,a){return i*=r,a*=o,[t+e*i,n-e*a]}return s.invert=function(i,a){return[(i-t)/e*r,(n-a)/e*o]},s}function VO(e,t,n,r,o,s){if(!s)return p1e(e,t,n,r,o);var i=dt(s),a=st(s),l=i*e,c=a*e,u=i/e,f=a/e,h=(a*n-i*t)/e,p=(a*t+i*n)/e;function m(g,y){return g*=r,y*=o,[l*g-c*y+t,n-c*g-l*y]}return m.invert=function(g,y){return[r*(u*g-f*y+h),o*(p-f*g-u*y)]},m}function Qa(e){return cV(function(){return e})()}function cV(e){var t,n=150,r=480,o=250,s=0,i=0,a=0,l=0,c=0,u,f=0,h=1,p=1,m=null,g=NO,y=null,b,x,v,w=RN,S=.5,E,C,_,j,R;function P(A){return _(A[0]*ln,A[1]*ln)}function M(A){return A=_.invert(A[0],A[1]),A&&[A[0]*to,A[1]*to]}P.stream=function(A){return j&&R===A?j:j=f1e(h1e(u)(g(E(w(R=A)))))},P.preclip=function(A){return arguments.length?(g=A,m=void 0,I()):g},P.postclip=function(A){return arguments.length?(w=A,y=b=x=v=null,I()):w},P.clipAngle=function(A){return arguments.length?(g=+A?zwe(m=A*ln):(m=null,NO),I()):m*to},P.clipExtent=function(A){return arguments.length?(w=A==null?(y=b=x=v=null,RN):Vwe(y=+A[0][0],b=+A[0][1],x=+A[1][0],v=+A[1][1]),I()):y==null?null:[[y,b],[x,v]]},P.scale=function(A){return arguments.length?(n=+A,O()):n},P.translate=function(A){return arguments.length?(r=+A[0],o=+A[1],O()):[r,o]},P.center=function(A){return arguments.length?(s=A[0]%360*ln,i=A[1]%360*ln,O()):[s*to,i*to]},P.rotate=function(A){return arguments.length?(a=A[0]%360*ln,l=A[1]%360*ln,c=A.length>2?A[2]%360*ln:0,O()):[a*to,l*to,c*to]},P.angle=function(A){return arguments.length?(f=A%360*ln,O()):f*to},P.reflectX=function(A){return arguments.length?(h=A?-1:1,O()):h<0},P.reflectY=function(A){return arguments.length?(p=A?-1:1,O()):p<0},P.precision=function(A){return arguments.length?(E=BO(C,S=A*A),I()):ao(S)},P.fitExtent=function(A,F){return NR(P,A,F)},P.fitSize=function(A,F){return iV(P,A,F)},P.fitWidth=function(A,F){return aV(P,A,F)},P.fitHeight=function(A,F){return lV(P,A,F)};function O(){var A=VO(n,0,0,h,p,f).apply(null,t(s,i)),F=VO(n,r-A[0],o-A[1],h,p,f);return u=VB(a,l,c),C=CN(t,F),_=CN(u,C),E=BO(C,S),I()}function I(){return j=R=null,P}return function(){return t=e.apply(this,arguments),P.invert=t.invert&&M,O()}}function kR(e){var t=0,n=vt/3,r=cV(e),o=r(t,n);return o.parallels=function(s){return arguments.length?r(t=s[0]*ln,n=s[1]*ln):[t*to,n*to]},o}function m1e(e){var t=dt(e);function n(r,o){return[r*t,st(o)/t]}return n.invert=function(r,o){return[r/t,Ns(o*t)]},n}function g1e(e,t){var n=st(e),r=(n+st(t))/2;if(Bt(r)<Je)return m1e(e);var o=1+n*(2*r-n),s=ao(o)/r;function i(a,l){var c=ao(o-2*r*st(l))/r;return[c*st(a*=r),s-c*dt(a)]}return i.invert=function(a,l){var c=s-l,u=Gi(a,Bt(c))*bs(c);return c*r<0&&(u-=vt*bs(a)*bs(c)),[u/r,Ns((o-(a*a+c*c)*r*r)/(2*r))]},i}function zx(){return kR(g1e).scale(155.424).center([0,33.6442])}function uV(){return zx().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function b1e(e){var t=e.length;return{point:function(n,r){for(var o=-1;++o<t;)e[o].point(n,r)},sphere:function(){for(var n=-1;++n<t;)e[n].sphere()},lineStart:function(){for(var n=-1;++n<t;)e[n].lineStart()},lineEnd:function(){for(var n=-1;++n<t;)e[n].lineEnd()},polygonStart:function(){for(var n=-1;++n<t;)e[n].polygonStart()},polygonEnd:function(){for(var n=-1;++n<t;)e[n].polygonEnd()}}}function y1e(){var e,t,n=uV(),r,o=zx().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s,i=zx().rotate([157,0]).center([-3,19.9]).parallels([8,18]),a,l,c={point:function(h,p){l=[h,p]}};function u(h){var p=h[0],m=h[1];return l=null,r.point(p,m),l||(s.point(p,m),l)||(a.point(p,m),l)}u.invert=function(h){var p=n.scale(),m=n.translate(),g=(h[0]-m[0])/p,y=(h[1]-m[1])/p;return(y>=.12&&y<.234&&g>=-.425&&g<-.214?o:y>=.166&&y<.234&&g>=-.214&&g<-.115?i:n).invert(h)},u.stream=function(h){return e&&t===h?e:e=b1e([n.stream(t=h),o.stream(h),i.stream(h)])},u.precision=function(h){return arguments.length?(n.precision(h),o.precision(h),i.precision(h),f()):n.precision()},u.scale=function(h){return arguments.length?(n.scale(h),o.scale(h*.35),i.scale(h),u.translate(n.translate())):n.scale()},u.translate=function(h){if(!arguments.length)return n.translate();var p=n.scale(),m=+h[0],g=+h[1];return r=n.translate(h).clipExtent([[m-.455*p,g-.238*p],[m+.455*p,g+.238*p]]).stream(c),s=o.translate([m-.307*p,g+.201*p]).clipExtent([[m-.425*p+Je,g+.12*p+Je],[m-.214*p-Je,g+.234*p-Je]]).stream(c),a=i.translate([m-.205*p,g+.212*p]).clipExtent([[m-.214*p+Je,g+.166*p+Je],[m-.115*p-Je,g+.234*p-Je]]).stream(c),f()},u.fitExtent=function(h,p){return NR(u,h,p)},u.fitSize=function(h,p){return iV(u,h,p)},u.fitWidth=function(h,p){return aV(u,h,p)},u.fitHeight=function(h,p){return lV(u,h,p)};function f(){return e=t=null,u}return u.scale(1070)}function dV(e){return function(t,n){var r=dt(t),o=dt(n),s=e(r*o);return s===1/0?[2,0]:[s*o*st(t),s*st(n)]}}function nb(e){return function(t,n){var r=ao(t*t+n*n),o=e(r),s=st(o),i=dt(o);return[Gi(t*s,r*i),Ns(r&&n*s/r)]}}var fV=dV(function(e){return ao(2/(1+e))});fV.invert=nb(function(e){return 2*Ns(e/2)});function x1e(){return Qa(fV).scale(124.75).clipAngle(180-.001)}var hV=dV(function(e){return(e=BB(e))&&e/st(e)});hV.invert=nb(function(e){return e});function v1e(){return Qa(hV).scale(79.4188).clipAngle(180-.001)}function Uw(e,t){return[e,Mx(SR((qn+t)/2))]}Uw.invert=function(e,t){return[e,2*kh(zB(t))-qn]};function w1e(){return pV(Uw).scale(961/Qo)}function pV(e){var t=Qa(e),n=t.center,r=t.scale,o=t.translate,s=t.clipExtent,i=null,a,l,c;t.scale=function(f){return arguments.length?(r(f),u()):r()},t.translate=function(f){return arguments.length?(o(f),u()):o()},t.center=function(f){return arguments.length?(n(f),u()):n()},t.clipExtent=function(f){return arguments.length?(f==null?i=a=l=c=null:(i=+f[0][0],a=+f[0][1],l=+f[1][0],c=+f[1][1]),u()):i==null?null:[[i,a],[l,c]]};function u(){var f=vt*r(),h=t(Twe(t.rotate()).invert([0,0]));return s(i==null?[[h[0]-f,h[1]-f],[h[0]+f,h[1]+f]]:e===Uw?[[Math.max(h[0]-f,i),a],[Math.min(h[0]+f,l),c]]:[[i,Math.max(h[1]-f,a)],[l,Math.min(h[1]+f,c)]])}return u()}function My(e){return SR((qn+e)/2)}function S1e(e,t){var n=dt(e),r=e===t?st(e):Mx(n/dt(t))/Mx(My(t)/My(e)),o=n*xC(My(e),r)/r;if(!r)return Uw;function s(i,a){o>0?a<-qn+Je&&(a=-qn+Je):a>qn-Je&&(a=qn-Je);var l=o/xC(My(a),r);return[l*st(r*i),o-l*dt(r*i)]}return s.invert=function(i,a){var l=o-a,c=bs(r)*ao(i*i+l*l),u=Gi(i,Bt(l))*bs(l);return l*r<0&&(u-=vt*bs(i)*bs(l)),[u/r,2*kh(xC(o/c,1/r))-qn]},s}function C1e(){return kR(S1e).scale(109.5).parallels([30,30])}function Bx(e,t){return[e,t]}Bx.invert=Bx;function E1e(){return Qa(Bx).scale(152.63)}function N1e(e,t){var n=dt(e),r=e===t?st(e):(n-dt(t))/(t-e),o=n/r+e;if(Bt(r)<Je)return Bx;function s(i,a){var l=o-a,c=r*i;return[l*st(c),o-l*dt(c)]}return s.invert=function(i,a){var l=o-a,c=Gi(i,Bt(l))*bs(l);return l*r<0&&(c-=vt*bs(i)*bs(l)),[c/r,o-bs(r)*ao(i*i+l*l)]},s}function k1e(){return kR(N1e).scale(131.154).center([0,13.9389])}var tm=1.340264,nm=-.081106,rm=893e-6,om=.003796,Vx=ao(3)/2,_1e=12;function mV(e,t){var n=Ns(Vx*st(t)),r=n*n,o=r*r*r;return[e*dt(n)/(Vx*(tm+3*nm*r+o*(7*rm+9*om*r))),n*(tm+nm*r+o*(rm+om*r))]}mV.invert=function(e,t){for(var n=t,r=n*n,o=r*r*r,s=0,i,a,l;s<_1e&&(a=n*(tm+nm*r+o*(rm+om*r))-t,l=tm+3*nm*r+o*(7*rm+9*om*r),n-=i=a/l,r=n*n,o=r*r*r,!(Bt(i)<LB));++s);return[Vx*e*(tm+3*nm*r+o*(7*rm+9*om*r))/dt(n),Ns(st(n)/Vx)]};function j1e(){return Qa(mV).scale(177.158)}function gV(e,t){var n=dt(t),r=dt(e)*n;return[n*st(e)/r,st(t)/r]}gV.invert=nb(kh);function R1e(){return Qa(gV).scale(144.049).clipAngle(60)}function bV(e,t){var n=t*t,r=n*n;return[e*(.8707-.131979*n+r*(-.013791+r*(.003971*n-.001529*r))),t*(1.007226+n*(.015085+r*(-.044475+.028874*n-.005916*r)))]}bV.invert=function(e,t){var n=t,r=25,o;do{var s=n*n,i=s*s;n-=o=(n*(1.007226+s*(.015085+i*(-.044475+.028874*s-.005916*i)))-t)/(1.007226+s*(.015085*3+i*(-.044475*7+.028874*9*s-.005916*11*i)))}while(Bt(o)>Je&&--r>0);return[e/(.8707+(s=n*n)*(-.131979+s*(-.013791+s*s*s*(.003971-.001529*s)))),n]};function M1e(){return Qa(bV).scale(175.295)}function yV(e,t){return[dt(t)*st(e),st(t)]}yV.invert=nb(Ns);function D1e(){return Qa(yV).scale(249.5).clipAngle(90+Je)}function xV(e,t){var n=dt(t),r=1+dt(e)*n;return[n*st(e)/r,st(t)/r]}xV.invert=nb(function(e){return 2*kh(e)});function P1e(){return Qa(xV).scale(250).clipAngle(142)}function vV(e,t){return[Mx(SR((qn+t)/2)),-e]}vV.invert=function(e,t){return[-t,2*kh(zB(e))-qn]};function T1e(){var e=pV(vV),t=e.center,n=e.rotate;return e.center=function(r){return arguments.length?t([-r[1],r[0]]):(r=t(),[r[1],-r[0]])},e.rotate=function(r){return arguments.length?n([r[0],r[1],r.length>2?r[2]+90:90]):(r=n(),[r[0],r[1],r[2]-90])},n([0,0,90]).scale(159.155)}function Gt(e){for(var t=e.length/6|0,n=new Array(t),r=0;r<t;)n[r]="#"+e.slice(r*6,++r*6);return n}function Ww(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function _R(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function _h(){}var Iu=.7,Kf=1/Iu,uf="\\s*([+-]?\\d+)\\s*",Um="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ii="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",A1e=/^#([0-9a-f]{3,8})$/,I1e=new RegExp(`^rgb\\(${uf},${uf},${uf}\\)$`),O1e=new RegExp(`^rgb\\(${Ii},${Ii},${Ii}\\)$`),F1e=new RegExp(`^rgba\\(${uf},${uf},${uf},${Um}\\)$`),$1e=new RegExp(`^rgba\\(${Ii},${Ii},${Ii},${Um}\\)$`),L1e=new RegExp(`^hsl\\(${Um},${Ii},${Ii}\\)$`),z1e=new RegExp(`^hsla\\(${Um},${Ii},${Ii},${Um}\\)$`),HO={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Ww(_h,jR,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:UO,formatHex:UO,formatHex8:B1e,formatHsl:V1e,formatRgb:WO,toString:WO});function UO(){return this.rgb().formatHex()}function B1e(){return this.rgb().formatHex8()}function V1e(){return SV(this).formatHsl()}function WO(){return this.rgb().formatRgb()}function jR(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=A1e.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?qO(t):n===3?new Vr(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Dy(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Dy(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=I1e.exec(e))?new Vr(t[1],t[2],t[3],1):(t=O1e.exec(e))?new Vr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=F1e.exec(e))?Dy(t[1],t[2],t[3],t[4]):(t=$1e.exec(e))?Dy(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=L1e.exec(e))?ZO(t[1],t[2]/100,t[3]/100,1):(t=z1e.exec(e))?ZO(t[1],t[2]/100,t[3]/100,t[4]):HO.hasOwnProperty(e)?qO(HO[e]):e==="transparent"?new Vr(NaN,NaN,NaN,0):null}function qO(e){return new Vr(e>>16&255,e>>8&255,e&255,1)}function Dy(e,t,n,r){return r<=0&&(e=t=n=NaN),new Vr(e,t,n,r)}function wV(e){return e instanceof _h||(e=jR(e)),e?(e=e.rgb(),new Vr(e.r,e.g,e.b,e.opacity)):new Vr}function Wm(e,t,n,r){return arguments.length===1?wV(e):new Vr(e,t,n,r??1)}function Vr(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Ww(Vr,Wm,_R(_h,{brighter(e){return e=e==null?Kf:Math.pow(Kf,e),new Vr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Iu:Math.pow(Iu,e),new Vr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Vr(mu(this.r),mu(this.g),mu(this.b),Hx(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:GO,formatHex:GO,formatHex8:H1e,formatRgb:YO,toString:YO}));function GO(){return`#${Hc(this.r)}${Hc(this.g)}${Hc(this.b)}`}function H1e(){return`#${Hc(this.r)}${Hc(this.g)}${Hc(this.b)}${Hc((isNaN(this.opacity)?1:this.opacity)*255)}`}function YO(){const e=Hx(this.opacity);return`${e===1?"rgb(":"rgba("}${mu(this.r)}, ${mu(this.g)}, ${mu(this.b)}${e===1?")":`, ${e})`}`}function Hx(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function mu(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Hc(e){return e=mu(e),(e<16?"0":"")+e.toString(16)}function ZO(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Us(e,t,n,r)}function SV(e){if(e instanceof Us)return new Us(e.h,e.s,e.l,e.opacity);if(e instanceof _h||(e=jR(e)),!e)return new Us;if(e instanceof Us)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,o=Math.min(t,n,r),s=Math.max(t,n,r),i=NaN,a=s-o,l=(s+o)/2;return a?(t===s?i=(n-r)/a+(n<r)*6:n===s?i=(r-t)/a+2:i=(t-n)/a+4,a/=l<.5?s+o:2-s-o,i*=60):a=l>0&&l<1?0:i,new Us(i,a,l,e.opacity)}function U1e(e,t,n,r){return arguments.length===1?SV(e):new Us(e,t,n,r??1)}function Us(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Ww(Us,U1e,_R(_h,{brighter(e){return e=e==null?Kf:Math.pow(Kf,e),new Us(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Iu:Math.pow(Iu,e),new Us(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,o=2*n-r;return new Vr(EC(e>=240?e-240:e+120,o,r),EC(e,o,r),EC(e<120?e+240:e-120,o,r),this.opacity)},clamp(){return new Us(KO(this.h),Py(this.s),Py(this.l),Hx(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Hx(this.opacity);return`${e===1?"hsl(":"hsla("}${KO(this.h)}, ${Py(this.s)*100}%, ${Py(this.l)*100}%${e===1?")":`, ${e})`}`}}));function KO(e){return e=(e||0)%360,e<0?e+360:e}function Py(e){return Math.max(0,Math.min(1,e||0))}function EC(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const W1e=Math.PI/180,q1e=180/Math.PI;var CV=-.14861,RR=1.78277,MR=-.29227,qw=-.90649,qm=1.97294,XO=qm*qw,QO=qm*RR,JO=RR*MR-qw*CV;function G1e(e){if(e instanceof gu)return new gu(e.h,e.s,e.l,e.opacity);e instanceof Vr||(e=wV(e));var t=e.r/255,n=e.g/255,r=e.b/255,o=(JO*r+XO*t-QO*n)/(JO+XO-QO),s=r-o,i=(qm*(n-o)-MR*s)/qw,a=Math.sqrt(i*i+s*s)/(qm*o*(1-o)),l=a?Math.atan2(i,s)*q1e-120:NaN;return new gu(l<0?l+360:l,a,o,e.opacity)}function Yi(e,t,n,r){return arguments.length===1?G1e(e):new gu(e,t,n,r??1)}function gu(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Ww(gu,Yi,_R(_h,{brighter(e){return e=e==null?Kf:Math.pow(Kf,e),new gu(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Iu:Math.pow(Iu,e),new gu(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*W1e,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),r=Math.cos(e),o=Math.sin(e);return new Vr(255*(t+n*(CV*r+RR*o)),255*(t+n*(MR*r+qw*o)),255*(t+n*(qm*r)),this.opacity)}}));function Y1e(e,t,n,r,o){var s=e*e,i=s*e;return((1-3*e+3*s-i)*t+(4-6*s+3*i)*n+(1+3*e+3*s-3*i)*r+i*o)/6}function Z1e(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),o=e[r],s=e[r+1],i=r>0?e[r-1]:2*o-s,a=r<t-1?e[r+2]:2*s-o;return Y1e((n-r/t)*t,i,o,s,a)}}const DR=e=>()=>e;function EV(e,t){return function(n){return e+n*t}}function K1e(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function X1e(e,t){var n=t-e;return n?EV(e,n>180||n<-180?n-360*Math.round(n/360):n):DR(isNaN(e)?t:e)}function Q1e(e){return(e=+e)==1?df:function(t,n){return n-t?K1e(t,n,e):DR(isNaN(t)?n:t)}}function df(e,t){var n=t-e;return n?EV(e,n):DR(isNaN(e)?t:e)}(function e(t){var n=Q1e(t);function r(o,s){var i=n((o=Wm(o)).r,(s=Wm(s)).r),a=n(o.g,s.g),l=n(o.b,s.b),c=df(o.opacity,s.opacity);return function(u){return o.r=i(u),o.g=a(u),o.b=l(u),o.opacity=c(u),o+""}}return r.gamma=e,r})(1);function J1e(e){return function(t){var n=t.length,r=new Array(n),o=new Array(n),s=new Array(n),i,a;for(i=0;i<n;++i)a=Wm(t[i]),r[i]=a.r||0,o[i]=a.g||0,s[i]=a.b||0;return r=e(r),o=e(o),s=e(s),a.opacity=1,function(l){return a.r=r(l),a.g=o(l),a.b=s(l),a+""}}}var eSe=J1e(Z1e);function NV(e){return function t(n){n=+n;function r(o,s){var i=e((o=Yi(o)).h,(s=Yi(s)).h),a=df(o.s,s.s),l=df(o.l,s.l),c=df(o.opacity,s.opacity);return function(u){return o.h=i(u),o.s=a(u),o.l=l(Math.pow(u,n)),o.opacity=c(u),o+""}}return r.gamma=t,r}(1)}NV(X1e);var PR=NV(df);const gn=e=>eSe(e[e.length-1]);var tSe=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(Gt);const nSe=gn(tSe);var rSe=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(Gt);const oSe=gn(rSe);var sSe=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(Gt);const iSe=gn(sSe);var aSe=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(Gt);const lSe=gn(aSe);var cSe=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(Gt);const uSe=gn(cSe);var dSe=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(Gt);const fSe=gn(dSe);var hSe=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(Gt);const pSe=gn(hSe);var mSe=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(Gt);const gSe=gn(mSe);var bSe=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(Gt);const ySe=gn(bSe);var xSe=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(Gt);const vSe=gn(xSe);var wSe=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(Gt);const SSe=gn(wSe);var CSe=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(Gt);const ESe=gn(CSe);var NSe=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(Gt);const kSe=gn(NSe);var _Se=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(Gt);const jSe=gn(_Se);var RSe=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(Gt);const MSe=gn(RSe);var DSe=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(Gt);const PSe=gn(DSe);var TSe=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(Gt);const ASe=gn(TSe);var ISe=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(Gt);const OSe=gn(ISe);var FSe=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(Gt);const $Se=gn(FSe);var LSe=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(Gt);const zSe=gn(LSe);var BSe=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(Gt);const VSe=gn(BSe);var HSe=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(Gt);const USe=gn(HSe);var WSe=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(Gt);const qSe=gn(WSe);var GSe=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(Gt);const YSe=gn(GSe);var ZSe=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(Gt);const KSe=gn(ZSe);var XSe=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(Gt);const QSe=gn(XSe);var JSe=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(Gt);const eCe=gn(JSe);function tCe(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-e*(35.34-e*(2381.73-e*(6402.7-e*(7024.72-e*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+e*(170.73+e*(52.82-e*(131.46-e*(176.58-e*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+e*(442.36-e*(2482.43-e*(6167.24-e*(6614.94-e*2475.67)))))))+")"}const nCe=PR(Yi(300,.5,0),Yi(-240,.5,1));var rCe=PR(Yi(-100,.75,.35),Yi(80,1.5,.8)),oCe=PR(Yi(260,.75,.35),Yi(80,1.5,.8)),Ty=Yi();function sCe(e){(e<0||e>1)&&(e-=Math.floor(e));var t=Math.abs(e-.5);return Ty.h=360*e-100,Ty.s=1.5-1.5*t,Ty.l=.8-.9*t,Ty+""}var Ay=Wm(),iCe=Math.PI/3,aCe=Math.PI*2/3;function lCe(e){var t;return e=(.5-e)*Math.PI,Ay.r=255*(t=Math.sin(e))*t,Ay.g=255*(t=Math.sin(e+iCe))*t,Ay.b=255*(t=Math.sin(e+aCe))*t,Ay+""}function cCe(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+e*(1172.33-e*(10793.56-e*(33300.12-e*(38394.49-e*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+e*(557.33+e*(1225.33-e*(3574.96-e*(1073.77+e*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+e*(3211.1-e*(15327.97-e*(27814-e*(22569.18-e*6838.66)))))))+")"}function Gw(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}const uCe=Gw(Gt("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var dCe=Gw(Gt("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),fCe=Gw(Gt("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),hCe=Gw(Gt("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function pCe(e){return e}function mCe(e){if(e==null)return pCe;var t,n,r=e.scale[0],o=e.scale[1],s=e.translate[0],i=e.translate[1];return function(a,l){l||(t=n=0);var c=2,u=a.length,f=new Array(u);for(f[0]=(t+=a[0])*r+s,f[1]=(n+=a[1])*o+i;c<u;)f[c]=a[c],++c;return f}}function gCe(e,t){for(var n,r=e.length,o=r-t;o<--r;)n=e[o],e[o++]=e[r],e[r]=n}function bCe(e,t){return typeof t=="string"&&(t=e.objects[t]),t.type==="GeometryCollection"?{type:"FeatureCollection",features:t.geometries.map(function(n){return eF(e,n)})}:eF(e,t)}function eF(e,t){var n=t.id,r=t.bbox,o=t.properties==null?{}:t.properties,s=yCe(e,t);return n==null&&r==null?{type:"Feature",properties:o,geometry:s}:r==null?{type:"Feature",id:n,properties:o,geometry:s}:{type:"Feature",id:n,bbox:r,properties:o,geometry:s}}function yCe(e,t){var n=mCe(e.transform),r=e.arcs;function o(u,f){f.length&&f.pop();for(var h=r[u<0?~u:u],p=0,m=h.length;p<m;++p)f.push(n(h[p],p));u<0&&gCe(f,m)}function s(u){return n(u)}function i(u){for(var f=[],h=0,p=u.length;h<p;++h)o(u[h],f);return f.length<2&&f.push(f[0]),f}function a(u){for(var f=i(u);f.length<4;)f.push(f[0]);return f}function l(u){return u.map(a)}function c(u){var f=u.type,h;switch(f){case"GeometryCollection":return{type:f,geometries:u.geometries.map(c)};case"Point":h=s(u.coordinates);break;case"MultiPoint":h=u.coordinates.map(s);break;case"LineString":h=i(u.arcs);break;case"MultiLineString":h=u.arcs.map(i);break;case"Polygon":h=l(u.arcs);break;case"MultiPolygon":h=u.arcs.map(l);break;default:return null}return{type:f,coordinates:h}}return c(t)}const sm={geoAzimuthalEqualArea:x1e,geoAzimuthalEquidistant:v1e,geoGnomonic:R1e,geoOrthographic:D1e,geoStereographic:P1e,geoEqualEarth:j1e,geoAlbers:uV,geoAlbersUsa:y1e,geoConicConformal:C1e,geoConicEqualArea:zx,geoConicEquidistant:k1e,geoEquirectangular:E1e,geoMercator:w1e,geoTransverseMercator:T1e,geoNaturalEarth1:M1e};Object.keys(sm).forEach(e=>{sm[`${e.charAt(3).toLowerCase()}${e.slice(4)}`]=sm[e]});class ed extends uc{constructor(t){super(t),this.outlineBounds=null,this.oldChartBounds=null,this.geoPath=LO()}init(t){t.position="chartArea",super.init(t),typeof t.projection=="function"?this.projection=t.projection:this.projection=(sm[t.projection]||sm.albersUsa)(),this.geoPath.projection(this.projection),this.outlineBounds=null,this.oldChartBounds=null}computeBounds(t){const n=LO(this.projection.fitWidth(1e3,t)).bounds(t),r=Math.ceil(n[1][1]-n[0][1]),o=Math.ceil(n[1][0]-n[0][0]),s=this.projection.translate();this.outlineBounds={width:o,height:r,aspectRatio:o/r,refScale:this.projection.scale(),refX:s[0],refY:s[1]}}updateBounds(){const t=this.chart.chartArea,n=this.outlineBounds;if(!n)return!1;const r=this.options.padding,o=typeof r=="number"?r:r.top,s=typeof r=="number"?r:r.left,i=typeof r=="number"?r:r.bottom,a=typeof r=="number"?r:r.right,l=t.right-t.left-s-a,c=t.bottom-t.top-o-i,u=this.oldChartBounds;this.oldChartBounds={chartWidth:l,chartHeight:c};const f=Math.min(l/n.width,c/n.height),h=n.width*f,p=n.height*f,m=(l-h)*.5+t.left+s,g=(c-p)*.5+t.top+o,y=this.options;return this.projection.scale(n.refScale*f*y.projectionScale).translate([f*n.refX+m+y.projectionOffset[0],f*n.refY+g+y.projectionOffset[1]]),!u||u.chartWidth!==this.oldChartBounds.chartWidth||u.chartHeight!==this.oldChartBounds.chartHeight}}ed.id="projection";ed.defaults={projection:"albersUsa",projectionScale:1,projectionOffset:[0,0],padding:0};ed.descriptors={_scriptable:e=>e!=="projection",_indexable:e=>e!=="projectionOffset"};const Yw={position:"chartArea",property:"value",grid:{z:1,drawOnChartArea:!1},ticks:{z:1},legend:{align:"right",position:"bottom-right",length:100,width:50,margin:8,indicatorWidth:10}};function xCe(e){const{indicatorWidth:t,align:n,margin:r}=e,o=(typeof r=="number"?r:r.left)+(n==="right"?t:0),s=(typeof r=="number"?r:r.top)+(n==="bottom"?t:0),i=(typeof r=="number"?r:r.right)+(n==="left"?t:0),a=(typeof r=="number"?r:r.bottom)+(n==="top"?t:0);return{left:o,top:s,right:i,bottom:a}}function vCe(e,t,n,r,o){const{indicatorWidth:s,align:i,position:a}=t,l=i==="top"||i==="bottom",c=(i==="left"?o.w:n)+(l?s:0),u=(i==="top"?o.h:r)+(l?0:s),f=xCe(t);if(typeof a=="string")switch(a){case"top-left":return[f.left,f.top];case"top":return[(e.right-c)/2,f.top];case"left":return[f.left,(e.bottom-u)/2];case"top-right":return[e.right-c-f.right,f.top];case"bottom-right":return[e.right-c-f.right,e.bottom-u-f.bottom];case"bottom":return[(e.right-c)/2,e.bottom-u-f.bottom];case"bottom-left":return[f.left,e.bottom-u-f.bottom];default:return[e.right-c-f.right,(e.bottom-u)/2]}return[a.x,a.y]}class Wd extends Tu{constructor(){super(...arguments),this.legendSize={w:0,h:0}}init(t){t.position="chartArea",super.init(t),this.axis="r"}parse(t,n){return t&&typeof t[this.options.property]=="number"?t[this.options.property]:super.parse(t,n)}isHorizontal(){return this.options.legend.align==="top"||this.options.legend.align==="bottom"}_getNormalizedValue(t){return t==null||Number.isNaN(t)?null:(t-this._startValue)/this._valueRange}update(t,n,r){const o=Math.min(n,this.bottom==null?Number.POSITIVE_INFINITY:this.bottom),s=Math.min(t,this.right==null?Number.POSITIVE_INFINITY:this.right),i=this.options.legend,a=this.isHorizontal(),l=(p,m)=>p<1?m*p:p,c=Math.min(s,l(a?i.length:i.width,s))-(a?0:i.indicatorWidth),u=Math.min(o,l(a?i.width:i.length,o))-(a?i.indicatorWidth:0);this.legendSize={w:c,h:u},this.bottom=u,this.height=u,this.right=c,this.width=c;const f=this.options.position;this.options.position=this.options.legend.align;const h=super.update(c,u,r);return this.options.position=f,this.height=Math.min(u,this.height),this.width=Math.min(c,this.width),h}_computeLabelArea(){}draw(t){if(!this._isVisible())return;const n=vCe(t,this.options.legend,this.width,this.height,this.legendSize),{ctx:r}=this;r.save(),r.translate(n[0],n[1]);const o=this.options.position;this.options.position=this.options.legend.align,super.draw({...t,bottom:this.height+10,right:this.width}),this.options.position=o;const{indicatorWidth:s}=this.options.legend;switch(this.options.legend.align){case"left":r.translate(this.legendSize.w,0);break;case"top":r.translate(0,this.legendSize.h);break;case"bottom":r.translate(0,-s);break;default:r.translate(-s,0);break}this._drawIndicator(),r.restore()}_drawIndicator(){}}class kV extends qf{constructor(){super(...arguments),this.legendSize={w:0,h:0}}init(t){Wd.prototype.init.call(this,t)}parse(t,n){return Wd.prototype.parse.call(this,t,n)}isHorizontal(){return this.options.legend.align==="top"||this.options.legend.align==="bottom"}_getNormalizedValue(t){return t==null||Number.isNaN(t)?null:(Math.log10(t)-this._startValue)/this._valueRange}update(t,n,r){return Wd.prototype.update.call(this,t,n,r)}_computeLabelArea(){}draw(t){return Wd.prototype.draw.call(this,t)}_drawIndicator(){}}const Na={interpolateBlues:USe,interpolateBrBG:nSe,interpolateBuGn:vSe,interpolateBuPu:SSe,interpolateCividis:tCe,interpolateCool:oCe,interpolateCubehelixDefault:nCe,interpolateGnBu:ESe,interpolateGreens:qSe,interpolateGreys:YSe,interpolateInferno:fCe,interpolateMagma:dCe,interpolateOrRd:kSe,interpolateOranges:eCe,interpolatePRGn:oSe,interpolatePiYG:iSe,interpolatePlasma:hCe,interpolatePuBu:MSe,interpolatePuBuGn:jSe,interpolatePuOr:lSe,interpolatePuRd:PSe,interpolatePurples:KSe,interpolateRainbow:sCe,interpolateRdBu:uSe,interpolateRdGy:fSe,interpolateRdPu:ASe,interpolateRdYlBu:pSe,interpolateRdYlGn:gSe,interpolateReds:QSe,interpolateSinebow:lCe,interpolateSpectral:ySe,interpolateTurbo:cCe,interpolateViridis:uCe,interpolateWarm:rCe,interpolateYlGn:$Se,interpolateYlGnBu:OSe,interpolateYlOrBr:zSe,interpolateYlOrRd:VSe};Object.keys(Na).forEach(e=>{Na[`${e.charAt(11).toLowerCase()}${e.slice(12)}`]=Na[e],Na[e.slice(11)]=Na[e]});function _V(e,t){const n=1/t;if(e<=n)return 0;if(e>=1-n)return 1;for(let r=0;r<1;r+=n)if(e<r)return r-n/2;return e}const jV={interpolate:"blues",missing:"transparent",quantize:0};class Kl extends Wd{get interpolate(){const t=this.options;return t?typeof t.interpolate=="function"?t.interpolate:Na[t.interpolate]||Na.blues:n=>`rgb(${n},${n},${n})`}getColorForValue(t){const n=this._getNormalizedValue(t);return n==null||Number.isNaN(n)?this.options.missing:this.getColor(n)}getColor(t){let n=t;return this.options.quantize>0&&(n=_V(n,this.options.quantize)),this.interpolate(n)}_drawIndicator(){const{indicatorWidth:t}=this.options.legend,n=this._reversePixels;if(this.isHorizontal()){const r=this.width;if(this.options.quantize>0){const o=r/this.options.quantize,s=n?i=>r-o-i:i=>i;for(let i=0;i<r;i+=o){const a=(i+o/2)/r;this.ctx.fillStyle=this.getColor(a),this.ctx.fillRect(s(i),0,o,t)}}else{const o=n?s=>r-1-s:s=>s;for(let s=0;s<r;s+=1)this.ctx.fillStyle=this.getColor((s+.5)/r),this.ctx.fillRect(o(s),0,1,t)}}else{const r=this.height;if(this.options.quantize>0){const o=r/this.options.quantize,s=n?i=>r-o-i:i=>i;for(let i=0;i<r;i+=o){const a=(i+o/2)/r;this.ctx.fillStyle=this.getColor(a),this.ctx.fillRect(0,s(i),t,o)}}else{const o=n?s=>r-1-s:s=>s;for(let s=0;s<r;s+=1)this.ctx.fillStyle=this.getColor((s+.5)/r),this.ctx.fillRect(0,o(s),t,1)}}}}Kl.id="color";Kl.defaults=cr({},[Tu.defaults,Yw,jV]);Kl.descriptors={_scriptable:e=>e!=="interpolate",_indexable:!1};class TR extends kV{constructor(){super(...arguments),this.interpolate=t=>`rgb(${t},${t},${t})`}init(t){super.init(t),typeof t.interpolate=="function"?this.interpolate=t.interpolate:this.interpolate=Na[t.interpolate]||Na.blues}getColorForValue(t){return Kl.prototype.getColorForValue.call(this,t)}getColor(t){let n=t;return this.options.quantize>0&&(n=_V(n,this.options.quantize)),this.interpolate(n)}_drawIndicator(){return Kl.prototype._drawIndicator.call(this)}}TR.id="colorLogarithmic";TR.defaults=cr({},[qf.defaults,Yw,jV]);TR.descriptors={_scriptable:e=>e!=="interpolate",_indexable:!1};const RV={missing:1,mode:"area",range:[2,20],legend:{align:"bottom",length:90,width:70,indicatorWidth:42}};class Xl extends Wd{constructor(){super(...arguments),this._model=null}getSizeForValue(t){const n=this._getNormalizedValue(t);return n==null||Number.isNaN(n)?this.options.missing:this.getSizeImpl(n)}getSizeImpl(t){const[n,r]=this.options.range;if(this.options.mode==="area"){const s=r*r*Math.PI,i=n*n*Math.PI,a=s-i,l=t*a+i;return Math.sqrt(l/Math.PI)}const o=r-n;return t*o+n}_drawIndicator(){const{ctx:t}=this,n=this.options.legend.indicatorWidth/2,r=this.isHorizontal(),o=this.ticks,s=this.getLabelItems(),i=s?s.map(a=>({[r?"x":"y"]:a.options.translation[r?0:1]})):o.map((a,l)=>({[r?"x":"y"]:this.getPixelForTick(l)}));if((this._gridLineItems||[]).forEach(a=>{if(t.save(),t.strokeStyle=a.color,t.lineWidth=a.width,t.setLineDash&&(t.setLineDash(a.borderDash),t.lineDashOffset=a.borderDashOffset),t.beginPath(),this.options.grid.drawTicks)switch(this.options.legend.align){case"left":t.moveTo(0,a.ty1),t.lineTo(n,a.ty2);break;case"top":t.moveTo(a.tx1,0),t.lineTo(a.tx2,n);break;case"bottom":t.moveTo(a.tx1,n),t.lineTo(a.tx2,n*2);break;default:t.moveTo(n,a.ty1),t.lineTo(n*2,a.ty2);break}t.stroke(),t.restore()}),this._model){const a=this._model;t.strokeStyle=a.borderColor,t.lineWidth=a.borderWidth||0,t.fillStyle=a.backgroundColor}else t.fillStyle="blue";o.forEach((a,l)=>{const c=i[l],u=this.getSizeForValue(a.value),f=r?c.x:n,h=r?n:c.y,p={pointStyle:"circle",borderWidth:0,...this._model||{},radius:u};Nx(t,p,f,h)})}}Xl.id="size";Xl.defaults=cr({},[Tu.defaults,Yw,RV]);Xl.descriptors={_scriptable:!0,_indexable:e=>e!=="range"};class MV extends kV{constructor(){super(...arguments),this._model=null}getSizeForValue(t){const n=this._getNormalizedValue(t);return n==null||Number.isNaN(n)?this.options.missing:this.getSizeImpl(n)}getSizeImpl(t){return Xl.prototype.getSizeImpl.call(this,t)}_drawIndicator(){Xl.prototype._drawIndicator.call(this)}}MV.id="sizeLogarithmic";MV.defaults=cr({},[qf.defaults,Yw,RV]);function wCe(e,t){return[[e[0][0]-t,e[0][1]-t],[e[1][0]+t,e[1][1]+t]]}class Za extends aa{constructor(){super(...arguments),this.cache=void 0}inRange(t,n){const r=this.getBounds(),o=(Number.isNaN(t)||t>=r.x&&t<=r.x2)&&(Number.isNaN(n)||n>=r.y&&n<=r.y2),s=this.projectionScale.geoPath.projection();if(o&&!Number.isNaN(t)&&!Number.isNaN(n)&&typeof s.invert=="function"){const i=s.invert([t,n]);return i!=null&&Kwe(this.feature,i)}return o}inXRange(t){return this.inRange(t,Number.NaN)}inYRange(t){return this.inRange(Number.NaN,t)}getCenterPoint(){if(this.cache&&this.cache.center)return this.cache.center;let t;if(this.center){const n=this.projectionScale.projection([this.center.longitude,this.center.latitude]);t={x:n[0],y:n[1]}}else{const n=this.projectionScale.geoPath.centroid(this.feature);t={x:n[0],y:n[1]}}return this.cache={...this.cache||{},center:t},t}getBounds(){if(this.cache&&this.cache.bounds)return this.cache.bounds;const t=wCe(this.projectionScale.geoPath.bounds(this.feature),this.options.borderWidth/2),n={x:t[0][0],x2:t[1][0],y:t[0][1],y2:t[1][1],width:t[1][0]-t[0][0],height:t[1][1]-t[0][1]};return this.cache={...this.cache||{},bounds:n},n}_drawInCache(t){const n=this.getBounds();if(!Number.isFinite(n.x))return;const r=this.cache&&this.cache.canvas?this.cache.canvas:t.createElement("canvas"),o=Math.floor(n.x),s=Math.floor(n.y),i=Math.ceil(n.x+n.width),a=Math.ceil(n.y+n.height),l=this.pixelRatio||1,c=Math.ceil(Math.max(i-o,1)*l),u=Math.ceil(Math.max(a-s,1)*l);if(c<=0||u<=0)return;r.width=c,r.height=u;const f=r.getContext("2d");f&&(f.clearRect(0,0,r.width,r.height),f.save(),f.scale(l,l),f.translate(-o,-s),this._drawImpl(f),f.restore(),this.cache={...this.cache||{},canvas:r,canvasKey:this._optionsToKey()})}_optionsToKey(){const{options:t}=this;return`${t.backgroundColor};${t.borderColor};${t.borderWidth};${this.pixelRatio}`}_drawImpl(t){const{feature:n}=this,{options:r}=this;t.beginPath(),this.projectionScale.geoPath.context(t)(n),r.backgroundColor&&(t.fillStyle=r.backgroundColor,t.fill()),r.borderColor&&(t.strokeStyle=r.borderColor,t.lineWidth=r.borderWidth,t.stroke())}draw(t){const{feature:n}=this;if(!n)return;(!this.cache||this.cache.canvasKey!==this._optionsToKey())&&t.canvas.ownerDocument!=null&&this._drawInCache(t.canvas.ownerDocument);const r=this.getBounds();if(this.cache&&this.cache.canvas&&this.cache.canvas.width>0&&this.cache.canvas.height>0){const o=Math.floor(r.x),s=Math.floor(r.y),i=Math.ceil(r.x+r.width),a=Math.ceil(r.y+r.height),l=i-o,c=a-s;l>0&&c>0&&t.drawImage(this.cache.canvas,o,s,i-o,a-s)}else Number.isFinite(r.x)&&(t.save(),this._drawImpl(t),t.restore())}}Za.id="geoFeature";Za.defaults={...Ai.defaults,outlineBackgroundColor:null,outlineBorderWidth:0,graticuleBorderColor:"#CCCCCC",graticuleBorderWidth:0};Za.defaultRoutes={outlineBorderColor:"borderColor",...Ai.defaultRoutes||{}};const DV={showOutline:!1,showGraticule:!1,clipMap:!0},PV={scales:{projection:{axis:"x",type:ed.id,position:"chartArea",display:!1}}};function tF(e){const t={...e};return Object.keys(e).forEach(n=>{let r=n;if(n.startsWith("outline")){const o=n.slice(7);r=o[0].toLowerCase()+o.slice(1)}else if(n.startsWith("hoverOutline"))r=`hover${n.slice(12)}`;else return;delete t[n],t[r]=e[n]}),t}class TV extends ys{getGeoDataset(){return super.getDataset()}getGeoOptions(){return this.chart.options}getProjectionScale(){return this.getScaleForId("projection")}linkScales(){const t=this.getGeoDataset(),n=this.getMeta();n.xAxisID="projection",t.xAxisID="projection",n.yAxisID="projection",t.yAxisID="projection",n.xScale=this.getScaleForId("projection"),n.yScale=this.getScaleForId("projection"),this.getProjectionScale().computeBounds(this.resolveOutline())}showOutline(){return rt(this.getGeoDataset().showOutline,this.getGeoOptions().showOutline)}clipMap(){return rt(this.getGeoDataset().clipMap,this.getGeoOptions().clipMap)}getGraticule(){return rt(this.getGeoDataset().showGraticule,this.getGeoOptions().showGraticule)}update(t){super.update(t);const n=this.getMeta(),r=this.getProjectionScale(),o=r.updateBounds();if(this.showOutline()){const s=n.dataset;if(o&&delete s.cache,s.projectionScale=r,s.pixelRatio=this.chart.currentDevicePixelRatio,t!=="resize"){const i=tF(this.resolveDatasetElementOptions(t)),a={feature:this.resolveOutline(),options:i};this.updateElement(s,void 0,a,t),this.getGraticule()&&(n.graticule=i)}}else this.getGraticule()&&t!=="resize"&&(n.graticule=tF(this.resolveDatasetElementOptions(t)));this.updateElements(n.data,0,n.data.length,t),o&&n.data.forEach(s=>delete s.cache)}resolveOutline(){const n=this.getGeoDataset().outline||{type:"Sphere"};return Array.isArray(n)?{type:"FeatureCollection",features:n}:n}showGraticule(){const t=this.getGraticule(),n=this.getMeta().graticule;if(!t||!n)return;const{ctx:r}=this.chart,s=this.getProjectionScale().geoPath.context(r);if(r.save(),r.beginPath(),typeof t=="boolean")t&&s(Xwe());else{const i=YB();t.stepMajor&&i.stepMajor(t.stepMajor),t.stepMinor&&i.stepMinor(t.stepMinor),s(i())}r.strokeStyle=n.graticuleBorderColor,r.lineWidth=n.graticuleBorderWidth,r.stroke(),r.restore()}draw(){const{chart:t}=this,n=this.clipMap();let r=!1;(n===!0||n==="outline"||n==="outline+graticule")&&(r=!0,cu(t.ctx,t.chartArea)),this.showOutline()&&this.getMeta().dataset&&this.getMeta().dataset.draw.call(this.getMeta().dataset,t.ctx,t.chartArea),n===!0||n==="graticule"||n==="outline+graticule"?r||cu(t.ctx,t.chartArea):r&&(r=!1,uu(t.ctx)),this.showGraticule(),n===!0||n==="items"?r||cu(t.ctx,t.chartArea):r&&(r=!1,uu(t.ctx)),this.getMeta().data.forEach(o=>o.draw.call(o,t.ctx,t.chartArea)),r&&(r=!1,uu(t.ctx))}}function AV(e,t,n,r=[],o=[]){sr.addControllers(n),Array.isArray(r)?sr.addElements(...r):sr.addElements(r),Array.isArray(o)?sr.addScales(...o):sr.addScales(o);const s=t;return s.type=e,s}class jh extends TV{initialize(){super.initialize(),this.enableOptionSharing=!0}linkScales(){super.linkScales();const t=this.getGeoDataset(),n=this.getMeta();n.vAxisID="color",n.rAxisID="color",t.vAxisID="color",t.rAxisID="color",n.rScale=this.getScaleForId("color"),n.vScale=n.rScale,n.iScale=n.xScale,n.iAxisID=n.xAxisID,t.iAxisID=n.xAxisID}_getOtherScale(t){return t}parse(t,n){const r=this.getMeta().rScale,{data:o}=this.getDataset(),s=this._cachedMeta;for(let i=t;i<t+n;i+=1)s._parsed[i]={[r.axis]:r.parse(o[i],i)}}updateElements(t,n,r,o){const s=this.resolveDataElementOptions(n,o),i=this.getSharedOptions(s),a=this.includeOptions(o,i),l=this.getProjectionScale();this.updateSharedOptions(i,o,s);for(let c=n;c<n+r;c+=1){const u=t[c];u.projectionScale=l,u.feature=this._data[c].feature,u.center=this._data[c].center,u.pixelRatio=this.chart.currentDevicePixelRatio;const f=u.getCenterPoint(),h={x:f.x,y:f.y};a&&(h.options=i||this.resolveDataElementOptions(c,o)),this.updateElement(u,c,h,o)}}indexToColor(t){const n=this.getMeta().rScale;return n.getColorForValue(this.getParsed(t)[n.axis])}}jh.id="choropleth";jh.defaults=cr({},[DV,{datasetElementType:Za.id,dataElementType:Za.id}]);jh.overrides=cr({},[PV,{plugins:{tooltip:{callbacks:{title(){return""},label(e){var t,n,r,o;return e.formattedValue==null?(n=(t=e.chart.data)===null||t===void 0?void 0:t.labels)===null||n===void 0?void 0:n[e.dataIndex]:`${(o=(r=e.chart.data)===null||r===void 0?void 0:r.labels)===null||o===void 0?void 0:o[e.dataIndex]}: ${e.formattedValue}`}}},colors:{enabled:!1}},scales:{color:{type:Kl.id,axis:"x"}},elements:{geoFeature:{backgroundColor(e){return e.dataIndex==null?null:e.chart.getDatasetMeta(e.datasetIndex).controller.indexToColor(e.dataIndex)}}}}]);class SCe extends hn{constructor(t,n){super(t,AV("choropleth",n,jh,Za,[Kl,ed]))}}SCe.id=jh.id;class Rh extends TV{initialize(){super.initialize(),this.enableOptionSharing=!0}linkScales(){super.linkScales();const t=this.getGeoDataset(),n=this.getMeta();n.vAxisID="size",n.rAxisID="size",t.vAxisID="size",t.rAxisID="size",n.rScale=this.getScaleForId("size"),n.vScale=n.rScale,n.iScale=n.xScale,n.iAxisID=n.xAxisID,t.iAxisID=n.xAxisID}_getOtherScale(t){return t}parse(t,n){const r=this.getMeta().rScale,o=this.getDataset().data,s=this._cachedMeta;for(let i=t;i<t+n;i+=1){const a=o[i];s._parsed[i]={x:a.longitude==null?a.x:a.longitude,y:a.latitude==null?a.y:a.latitude,[r.axis]:r.parse(a,i)}}}updateElements(t,n,r,o){const s=o==="reset",i=this.resolveDataElementOptions(n,o),a=this.getSharedOptions(i),l=this.includeOptions(o,a),c=this.getProjectionScale();this.getMeta().rScale._model=i,this.updateSharedOptions(a,o,i);for(let u=n;u<n+r;u+=1){const f=t[u],h=this.getParsed(u),p=c.projection([h.x,h.y]),m={x:p?p[0]:0,y:p?p[1]:0,skip:Number.isNaN(h.x)||Number.isNaN(h.y)};l&&(m.options=a||this.resolveDataElementOptions(u,o),s&&(m.options.radius=0)),this.updateElement(f,u,m,o)}}indexToRadius(t){const n=this.getMeta().rScale;return n.getSizeForValue(this.getParsed(t)[n.axis])}}Rh.id="bubbleMap";Rh.defaults=cr({},[DV,{dataElementType:pu.id,datasetElementType:Za.id,showOutline:!0,clipMap:"outline+graticule"}]);Rh.overrides=cr({},[PV,{plugins:{tooltip:{callbacks:{title(){return""},label(e){var t,n,r,o;return e.formattedValue==null?(n=(t=e.chart.data)===null||t===void 0?void 0:t.labels)===null||n===void 0?void 0:n[e.dataIndex]:`${(o=(r=e.chart.data)===null||r===void 0?void 0:r.labels)===null||o===void 0?void 0:o[e.dataIndex]}: ${e.formattedValue}`}}}},scales:{size:{axis:"x",type:Xl.id}},elements:{point:{radius(e){return e.dataIndex==null?null:e.chart.getDatasetMeta(e.datasetIndex).controller.indexToRadius(e.dataIndex)},hoverRadius(e){return e.dataIndex==null?null:e.chart.getDatasetMeta(e.datasetIndex).controller.indexToRadius(e.dataIndex)+1}}}}]);class CCe extends hn{constructor(t,n){super(t,AV("bubbleMap",n,Rh,Za,[Xl,ed]))}}CCe.id=Rh.id;function ECe(e){var n;return{...e,type:"bar",options:{...e==null?void 0:e.options,indexAxis:"y",scales:{x:{display:!0},y:{display:!0}},plugins:{...(n=e==null?void 0:e.options)==null?void 0:n.plugins,legend:{position:"bottom",align:"center"}}}}}function NCe(e){var n;return{...e,type:"bar",options:{...e==null?void 0:e.options,indexAxis:"y",scales:{x:{beginAtZero:!0,stack:1,reverse:!0},y:{stacked:!0,beginAtZero:!0}},plugins:{...(n=e==null?void 0:e.options)==null?void 0:n.plugins,legend:{position:"bottom",align:"center"}}}}}function kCe(e){var n;return{...e,type:"bar",options:{...e==null?void 0:e.options,scales:{x:{display:!0},y:{display:!0}},plugins:{...(n=e==null?void 0:e.options)==null?void 0:n.plugins,legend:{position:"bottom",align:"center"}}}}}function _Ce(e,t=!1){var r;return{...e,type:"bar",options:{...e==null?void 0:e.options,indexAxis:"y",scales:{x:{display:!0,beginAtZero:!1},y:{display:!0,stacked:t}},plugins:{...(r=e==null?void 0:e.options)==null?void 0:r.plugins,legend:{position:"bottom",align:"center"}}}}}function jCe(e,t){var r,o,s,i,a;return{...e,type:t==="stackedBar"?"bar":"line",options:{...e==null?void 0:e.options,scales:{x:{...(o=(r=e==null?void 0:e.options)==null?void 0:r.scales)==null?void 0:o.x,display:!0,stacked:!0},y:{...(i=(s=e==null?void 0:e.options)==null?void 0:s.scales)==null?void 0:i.y,display:!0,stacked:t==="stackedBar"}},plugins:{...(a=e==null?void 0:e.options)==null?void 0:a.plugins,legend:{display:!1,position:"bottom",align:"center"}}}}}function RCe(e){var n;return{...e,type:"line",options:{...e==null?void 0:e.options,scales:{x:{display:!0},y:{display:!0}},plugins:{...(n=e==null?void 0:e.options)==null?void 0:n.plugins,legend:{position:"bottom",align:"center"}}}}}function MCe(e,t){var r;return{...t,type:e,options:{...t==null?void 0:t.options,scales:{x:{display:!1},y:{display:!1}},plugins:{...(r=t==null?void 0:t.options)==null?void 0:r.plugins,legend:{position:"bottom",align:"center",maxHeight:0,labels:{useBorderRadius:!0,borderRadius:2}}},borderRadius:0}}}function DCe(e){var r,o;const t=ee.getState().theme;let n={...e,type:"radar",options:{...e==null?void 0:e.options,scales:{x:{display:!1},y:{display:!1},r:{grid:{display:!0},angleLines:{},ticks:{}}},plugins:{...(r=e==null?void 0:e.options)==null?void 0:r.plugins,legend:{position:"bottom",align:"center"}}}};return t==="dark"&&(n={...n,options:{...n.options,scales:{...(o=n==null?void 0:n.options)==null?void 0:o.scales,r:{grid:{color:fn.slate[800]},angleLines:{color:fn.slate[800]},ticks:{color:fn.slate[800],showLabelBackdrop:!1}}}}}),n}function PCe(e,t,n){const r={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{label:function(s){var p;const i=s.dataset.label,a=s.dataIndex,l=s.dataset.data,c=(p=l==null?void 0:l[a])==null?void 0:p.label,u=n==null?void 0:n[0],f=n==null?void 0:n[1],h=n==null?void 0:n[2];if(t==="bubble")return c?`${i} (${c}): ${u}: ${s.raw.x.toFixed(2)}, ${f}: ${s.raw.y.toFixed(2)}, ${h}: ${s.raw.r.toFixed(2)}`:`${i}: ${u}: ${s.raw.x.toFixed(2)}, ${f}: ${s.raw.y.toFixed(2)}, ${h}: ${s.raw.r.toFixed(2)}`;if(t==="scatter")return c?`${i} (${c}): ${u}: ${s.raw.x.toFixed(2)}, ${f}: ${s.raw.y.toFixed(2)}`:`${i}: ${u}: ${s.raw.x.toFixed(2)}, ${f}: ${s.raw.y.toFixed(2)}`}}},datalabels:{display:!1}},scales:{x:{title:{display:!0,text:n[0]},beginAtZero:!0,ticks:{precision:0}},y:{title:{display:!0,text:n[1]},beginAtZero:!0,ticks:{precision:0}}}};return{...e,options:{...e==null?void 0:e.options,...r}}}function ko({number:e,decimalPlaces:t=0,useSuffix:n=!1,customSuffix:r="",currency:o="",locale:s="en-US"}){let i=1,a=r,l=s;const c=t;n&&!r&&(e>=1e9?(i=1e9,a="B"):e>=1e7&&s==="en-IN"?(i=1e7,a="Cr"):e>=1e5&&s==="en-IN"?(i=1e5,a="L"):e>=1e6?(i=1e6,a="M"):e>=1e3&&(i=1e3,a="K"));const u=e/i,f={maximumFractionDigits:c,minimumFractionDigits:c,useGrouping:!0};if(o){f.style="currency",f.currency=o;try{new Intl.NumberFormat(s,f).format(0)}catch{}}try{new Intl.NumberFormat(s,f).format(0)}catch{l="en-US"}let p=new Intl.NumberFormat(l,f).format(u);return n&&(p+=a),p}function Zw(e,t){if(!t)return"";const n=t.find(r=>e>=r.start&&e<=r.end);return(n==null?void 0:n.color)||""}function TCe({data:e,cfg:t,customCfg:n,preferences:r,cardType:o}){var R,P,M,O,I;const s=((R=r==null?void 0:r.chartOptions)==null?void 0:R.indexAxis)||"y",i={...t,options:{indexAxis:s}},{keys:a}=Jn(e),l=[a[1]],c=a==null?void 0:a[0],u=Dz(l,e,r,c),f=au(u,n);f.forEach((A,F)=>{var H,W,$;A.shrinkAnchor=(($=(W=(H=n==null?void 0:n.data)==null?void 0:H.datasets)==null?void 0:W[F])==null?void 0:$.shrinkAnchor)||"top"});const{plugins:h,options:p}=Lw((r==null?void 0:r.customVisualCode)||""),m=a[0],g=Og(e,m),y=_r((i==null?void 0:i.options)||{},(n==null?void 0:n.options)||{}),b=_r(y,(r==null?void 0:r.chartOptions)||{});Array(f.length).fill(!0);const x=e.map(A=>A[m]),v=e.map(A=>A[l[0]]),w=(P=f[0])==null?void 0:P.backgroundColor.slice(),S={...b,plugins:{...b.plugins,legend:{...(M=b.plugins)==null?void 0:M.legend,labels:{generateLabels:A=>{const F=A.data.labels;return x.map((H,W)=>({text:H,fillStyle:w[W],hidden:!F.includes(H.toString()),index:W,datasetIndex:0,lineWidth:0}))}},onClick:(A,F,H)=>{const W=H.chart,$=F.index,T=x[$],B=W.data.datasets[0],z=W.data.labels,D=B.data,U=B.backgroundColor,G=z.indexOf(T.toString());G>=0?(z.splice(G,1),D.splice(G,1),U.splice(G,1)):(z.splice($,0,x[$].toString()),D.splice($,0,Number(v[$])),U.splice($,0,w[$])),W.update()}},datalabels:{...(O=b.plugins)==null?void 0:O.datalabels,anchor:A=>A.dataset.data[A.dataIndex]<.02?"end":"start",align:A=>A.dataset.data[A.dataIndex]<.02?"end":"center",textAlign:"center",font:{size:14},formatter:(A,F)=>{var H,W,$,T;return ko({number:Number(A),decimalPlaces:((H=r==null?void 0:r.numberAxisFormat)==null?void 0:H.decimalPlaces)||0,useSuffix:!!((W=r==null?void 0:r.numberAxisFormat)!=null&&W.suffix),customSuffix:"",locale:(($=r==null?void 0:r.numberAxisFormat)==null?void 0:$.locale)||"",currency:((T=r==null?void 0:r.numberAxisFormat)==null?void 0:T.currency)||""})}},tooltip:{...(I=b.plugins)==null?void 0:I.tooltip,callbacks:{title:function(A){var T,B,z,D;const H=((B=(T=A==null?void 0:A[0])==null?void 0:T.dataset)==null?void 0:B.data).reduce((U,G)=>U+G,0),$=(((z=A==null?void 0:A[0])==null?void 0:z.parsed[s==="x"?"y":"x"])/H*100).toFixed(2);return`${(D=A==null?void 0:A[0])==null?void 0:D.label} (${$}%)`},label:function(A){var D,U,G,Z;A.dataset.label;const F=A.dataset.data;F.reduce((V,L)=>V+L,0);const H=A.parsed[s==="x"?"y":"x"],W=F.indexOf(H),$=F[W-1],T=ko({number:Number(H),decimalPlaces:((D=r==null?void 0:r.numberAxisFormat)==null?void 0:D.decimalPlaces)||0,useSuffix:!!((U=r==null?void 0:r.numberAxisFormat)!=null&&U.suffix),customSuffix:"",locale:((G=r==null?void 0:r.numberAxisFormat)==null?void 0:G.locale)||"",currency:((Z=r==null?void 0:r.numberAxisFormat)==null?void 0:Z.currency)||""});let B=0;return $!==void 0&&(B=Number((H/$*100).toFixed(2))),T+($!==void 0?` | Conversion: ${B}%`:"")}}}}},E=_r(b,S),C=r!=null&&r.dataLabelsConfig?oR(E,r.dataLabelsConfig,r,"funnel"):E,_=_r(C,p);return delete _.scales,{type:o,data:{labels:g,datasets:f},options:_,plugins:[...h]}}function ACe({data:e,cfg:t,customCfg:n,preferences:r}){var S,E;const o=_Ce(t),s=ICe(e),i=au(s,n),{plugins:a,options:l}=Lw((r==null?void 0:r.customVisualCode)||""),c=_r((o==null?void 0:o.options)||{},(t==null?void 0:t.options)||{}),u=_r(c,(r==null?void 0:r.chartOptions)||{}),f=_r(u,(n==null?void 0:n.options)||{}),h={...f,plugins:{...f==null?void 0:f.plugins,tooltip:{...(S=f==null?void 0:f.plugins)==null?void 0:S.tooltip,callbacks:{label:function(C){if(Array.isArray(C.raw)&&C.raw.every(_=>_===null))return null}}}}},p=_r(h,l),m=L7(t,r),g=_r(p,m);let y;r!=null&&r.dataLabelsConfig?y=oR(g,r.dataLabelsConfig,r,"range"):y={...g,plugins:{...g==null?void 0:g.plugins,datalabels:{...(E=g==null?void 0:g.plugins)==null?void 0:E.datalabels,formatter:(C,_)=>C.map(R=>{var P,M,O,I;return ko({number:Number(R),decimalPlaces:((P=r==null?void 0:r.numberAxisFormat)==null?void 0:P.decimalPlaces)||0,useSuffix:!!((M=r==null?void 0:r.numberAxisFormat)!=null&&M.suffix),customSuffix:"",locale:((O=r==null?void 0:r.numberAxisFormat)==null?void 0:O.locale)||"",currency:((I=r==null?void 0:r.numberAxisFormat)==null?void 0:I.currency)||""})}).slice(0,2).join(" - ")}}};const{keys:b}=Jn(e),x=b[0];return{type:"bar",data:{labels:[...new Set(Og(e,x))],datasets:i},options:y,plugins:[...a]}}function ICe(e){var h,p,m,g;const{keys:t}=Jn(e),n=t.slice(0,2),r=t.slice(2),o=ee.getState().themeStyle,s=(p=(h=o==null?void 0:o.chart)==null?void 0:h.dataset)==null?void 0:p.backgroundColor,i=(g=(m=o==null?void 0:o.chart)==null?void 0:m.dataset)==null?void 0:g.borderColor,a=n[1],l=n[0],c=[...new Set(e.map(y=>y==null?void 0:y[l]))];return[...new Set(e.map(y=>y==null?void 0:y[a]))].map((y,b)=>{const x=e.filter(S=>(S==null?void 0:S[a])===y),w=c.map(S=>{const E=x.filter(C=>(C==null?void 0:C[l])===S);return E.length===0?[[null,null,null]]:E.map(C=>[C==null?void 0:C[r[0]],C==null?void 0:C[r[1]],C==null?void 0:C[r[2]],S])}).flat();return{label:y,data:w,backgroundColor:s==null?void 0:s[b%s.length],borderColor:i==null?void 0:i[b%i.length],borderSkipped:!1}})}function OCe({data:e,cfg:t,customCfg:n,preferences:r,cardType:o}){var v;const s=NCe(t),{keys:i}=Jn(e),a=fw({dataArray:e,groupKey:i[0],pivotKey:i[1],valueKey:i[2]}),{keys:l}=Jn(a),c=l.slice(1),u=Mz(c,a,r),f=au(u,n),h=l[0],p=Og(a,h),{options:m,plugins:g}=Zp({cardType:o,cfg:s,preferences:r,customCfg:n}),y={type:(n==null?void 0:n.type)||(s==null?void 0:s.type)||"bar",data:{labels:p,datasets:f},options:m,plugins:g},b="x2";return{...y,data:{...y.data,datasets:y.data.datasets.map((w,S)=>S===1?{...w,xAxisID:b}:w)},options:{...y.options,scales:{...(v=y==null?void 0:y.options)==null?void 0:v.scales,[b]:{beginAtZero:!0,stack:1}}}}}function AR({card:e,data:t,cardType:n="bar",cfg:r,customCfg:o,provider:s="chartjs",userSettings:i,preferences:a,topoJson:l,queryConfig:c}){var m,g,y,b,x,v,w,S;const u=e.config;let f=t;const h=u&&u.pivotByColumns&&u.pivotByColumns.length>0,p=u&&u.groupByColumns&&u.groupByColumns.length>0;if(h&&p&&(f=gbe(t,(u==null?void 0:u.metricColumns)||[])),n==="map"){if(!l)return null;const E=(m=a==null?void 0:a.mapVisualOptions)==null?void 0:m.objectKey;if(!E)return null;const C=bCe(l,(g=l==null?void 0:l.objects)==null?void 0:g[E]).features;if(!C)return null;const _={plugins:{datalabels:{display:!1}},scales:{x:{display:!1,grid:{display:!1}},y:{display:!1,grid:{display:!1}},projection:{axis:"x",projection:((y=a==null?void 0:a.mapVisualOptions)==null?void 0:y.projection)||"mercator",projectionScale:((b=a==null?void 0:a.mapVisualOptions)==null?void 0:b.projectionScale)||1,projectionOffset:((x=a==null?void 0:a.mapVisualOptions)==null?void 0:x.projectionOffset)||[0,0]},color:{axis:"x",interpolate:((v=a==null?void 0:a.mapVisualOptions)==null?void 0:v.colorScale)||"blues",quantize:5,legend:{position:"bottom-right",align:"right"}}}},{keys:j}=Jn(f),R=C.map(F=>{var T;const H=j==null?void 0:j[0],W=j==null?void 0:j[1],$=(T=f.find(B=>(B==null?void 0:B[H])===F.properties.NAME||(B==null?void 0:B[H])===F.properties.name))==null?void 0:T[W];return{feature:F,value:$}}),M=au([{label:E,data:R,borderColor:"lightgray"}],o),O={type:"choropleth",data:{labels:C.map(F=>F.properties.NAME||F.properties.name),datasets:M},options:_},{options:I}=Zp({cfg:O,preferences:a,customCfg:o,cardType:n});return{...O,options:I}}if(n==="bar"){const E=kCe(r);return yd({card:e,data:f,cfg:E,customCfg:o,cardType:n,preferences:a})}if(n==="horizontalBar"){const E=ECe(r);return yd({card:e,data:f,cfg:E,customCfg:o,cardType:n,preferences:a})}if(n==="funnel")return TCe({data:f,cfg:r,customCfg:o,preferences:a,cardType:n});if(n==="tornado"||n==="pyramid")return OCe({data:f,cfg:r,customCfg:o,preferences:a,cardType:n});if(n==="stackedBar"||n==="stackedLine"){const E=jCe(r,n),{keys:C}=Jn(f);return(!h||!p)&&(f=fw({dataArray:f,groupKey:C[0],pivotKey:C[1],valueKey:C[2],sortChart:a==null?void 0:a.sortChart})),yd({card:e,data:f,cfg:E,customCfg:o,cardType:n,preferences:a})}if(n==="line"){const E=RCe(r);return yd({card:e,data:f,cfg:E,customCfg:o,cardType:n,preferences:a})}if(n==="range")return ACe({data:f,cfg:r,customCfg:o,preferences:a});if(n==="pie"||n==="doughnut"||n==="polarArea"){const E=MCe(n,r),{keys:C}=Jn(f),_=C.slice(0,1),j=C.slice(1),R=Dz(j,f,a,_==null?void 0:_[0]),P=au(R,o),{plugins:M,options:O}=Lw((a==null?void 0:a.customVisualCode)||""),I=_[0],A=Og(f,I),F=_r((E==null?void 0:E.options)||{},(o==null?void 0:o.options)||{}),H=_r(F,(a==null?void 0:a.chartOptions)||{}),W={...H,plugins:{...H.plugins,datalabels:{...(w=H.plugins)==null?void 0:w.datalabels,formatter:(U,G)=>{var Z,V,L,q;return ko({number:Number(U),decimalPlaces:((Z=a==null?void 0:a.numberAxisFormat)==null?void 0:Z.decimalPlaces)||0,useSuffix:!!((V=a==null?void 0:a.numberAxisFormat)!=null&&V.suffix),customSuffix:"",locale:((L=a==null?void 0:a.numberAxisFormat)==null?void 0:L.locale)||"",currency:((q=a==null?void 0:a.numberAxisFormat)==null?void 0:q.currency)||""})}},tooltip:{...(S=H.plugins)==null?void 0:S.tooltip,callbacks:{label:function(U){var Y,ne,Q,le;U.dataset.label;const Z=U.dataset.data.reduce((te,se)=>te+se,0),V=U.parsed,L=ko({number:Number(V),decimalPlaces:((Y=a==null?void 0:a.numberAxisFormat)==null?void 0:Y.decimalPlaces)||0,useSuffix:!!((ne=a==null?void 0:a.numberAxisFormat)!=null&&ne.suffix),customSuffix:"",locale:((Q=a==null?void 0:a.numberAxisFormat)==null?void 0:Q.locale)||"",currency:((le=a==null?void 0:a.numberAxisFormat)==null?void 0:le.currency)||""}),q=(V/Z*100).toFixed(2);return L+` (${q}%)`}}}}},$=_r(H,W),{options:T}=Zp({cfg:{options:$},preferences:a,customCfg:o,cardType:n}),B=_r(T,O);return{type:n,data:{labels:A,datasets:P},options:B,plugins:[n==="doughnut"?{id:"doughnutLabel",beforeDatasetsDraw:function(U,G,Z){var se,oe,Ce,de;const{ctx:V,data:L}=U;V.save();const q=U.getDatasetMeta(0).data[0].x,Y=U.getDatasetMeta(0).data[0].y,ne=Fa(Al()),Q=window.getComputedStyle(V.canvas).fontFamily;V.font=`1em ${Q}`,V.fontWeight="bolder",V.fillStyle=ne,V.textAlign="center",V.textBaseline="middle";const le=L.datasets[0].data.reduce((ye,Pe)=>ye+Pe,0),te=ko({number:Number(le),decimalPlaces:((se=a==null?void 0:a.numberAxisFormat)==null?void 0:se.decimalPlaces)||0,useSuffix:!!((oe=a==null?void 0:a.numberAxisFormat)!=null&&oe.suffix),customSuffix:"",locale:((Ce=a==null?void 0:a.numberAxisFormat)==null?void 0:Ce.locale)||"",currency:((de=a==null?void 0:a.numberAxisFormat)==null?void 0:de.currency)||""});V.fillText(te,q,Y)}}:"",...M]}}if(n==="radar"){const E=DCe(r);return yd({card:e,data:f,cfg:E,customCfg:o,cardType:n,preferences:a})}if(n==="bubble"||n==="scatter"){const{metricKeys:E}=Jn(f),C=Oce(f,n),_=au(C,o),j=PCe(r,n,E),{options:R}=Zp({cardType:n,cfg:j,preferences:a,customCfg:o});return{type:n,data:{datasets:_},options:R}}return yd({card:e,data:f,cfg:r,customCfg:o,cardType:n,preferences:a})}function FCe({chart:e,elementIndex:t,datasetIndex:n,cardType:r,cfg:o,apply:s}){const i=ee.getState().theme;if(!o)return;const a=i==="dark"?"rgb(238,238,238,0.2)":"rgb(238,238,238,0.8)";["bar","line","horizontalBar","bubble","scatter"].includes(r)&&LCe(e,t,o,s,a),["pie","doughnut","polarArea","funnel"].includes(r)&&zCe(e,t,o,s,a),["stackedBar","pyramid"].includes(r)&&$Ce({chart:e,elementIndex:t,datasetIndex:n,cfg:o,apply:s,blurColor:a})}function $Ce(e){var a,l,c,u;const{chart:t,elementIndex:n,datasetIndex:r,cfg:o,apply:s,blurColor:i}=e;s?(l=(a=t==null?void 0:t.data)==null?void 0:a.datasets)==null||l.forEach((f,h)=>{var p,m;typeof f.backgroundColor=="string"&&(f.backgroundColor=new Array(f.data.length).fill(f.backgroundColor),f.borderColor=new Array(f.data.length).fill(f.borderColor)),f.backgroundColor=(p=f==null?void 0:f.backgroundColor)==null?void 0:p.map((g,y)=>y===n&&h===r?g:i),f.borderColor=(m=f==null?void 0:f.borderColor)==null?void 0:m.map((g,y)=>y===n&&h===r?g:i)}):(u=(c=t==null?void 0:t.data)==null?void 0:c.datasets)==null||u.forEach((f,h)=>{var p,m,g,y,b,x;f.backgroundColor=new Array(f.data.length).fill((g=(m=(p=o==null?void 0:o.data)==null?void 0:p.datasets)==null?void 0:m[h])==null?void 0:g.backgroundColor),f.borderColor=new Array(f.data.length).fill((x=(b=(y=o==null?void 0:o.data)==null?void 0:y.datasets)==null?void 0:b[h])==null?void 0:x.borderColor)}),t==null||t.update()}function LCe(e,t,n,r,o){var s,i,a,l;r?(i=(s=e==null?void 0:e.data)==null?void 0:s.datasets)==null||i.forEach(c=>{var u,f;typeof c.backgroundColor=="string"&&(c.backgroundColor=new Array(c.data.length).fill(c.backgroundColor),c.borderColor=new Array(c.data.length).fill(c.borderColor)),c.backgroundColor=(u=c==null?void 0:c.backgroundColor)==null?void 0:u.map((h,p)=>p===t?h:o),c.borderColor=(f=c==null?void 0:c.borderColor)==null?void 0:f.map((h,p)=>p===t?h:o)}):(l=(a=e==null?void 0:e.data)==null?void 0:a.datasets)==null||l.forEach((c,u)=>{var f,h,p,m,g,y;c.backgroundColor=new Array(c.data.length).fill((p=(h=(f=n==null?void 0:n.data)==null?void 0:f.datasets)==null?void 0:h[u])==null?void 0:p.backgroundColor),c.borderColor=new Array(c.data.length).fill((y=(g=(m=n==null?void 0:n.data)==null?void 0:m.datasets)==null?void 0:g[u])==null?void 0:y.borderColor)}),e==null||e.update()}function zCe(e,t,n,r,o){var s,i,a,l;r?(i=(s=e==null?void 0:e.data)==null?void 0:s.datasets)==null||i.forEach(c=>{var u,f;c.backgroundColor=(u=c==null?void 0:c.backgroundColor)==null?void 0:u.map((h,p)=>p===t?h:o),c.borderColor=(f=c==null?void 0:c.borderColor)==null?void 0:f.map((h,p)=>p===t?h:o)}):(l=(a=e==null?void 0:e.data)==null?void 0:a.datasets)==null||l.forEach((c,u)=>{var f,h,p,m,g,y,b,x;typeof c.backgroundColor=="string"&&(c.backgroundColor=(p=(h=(f=n==null?void 0:n.data)==null?void 0:f.datasets)==null?void 0:h[u])==null?void 0:p.backgroundColor,c.borderColor=(y=(g=(m=n==null?void 0:n.data)==null?void 0:m.datasets)==null?void 0:g[u])==null?void 0:y.borderColor),c.backgroundColor=(b=c==null?void 0:c.backgroundColor)==null?void 0:b.map((v,w)=>{var S;return(S=n.data.datasets[u].backgroundColor)==null?void 0:S[w]}),c.borderColor=(x=c==null?void 0:c.borderColor)==null?void 0:x.map((v,w)=>{var S;return(S=n.data.datasets[u].borderColor)==null?void 0:S[w]})}),e==null||e.update()}function BCe({card:e,data:t,datasetIndex:n,clickIndex:r,value:o}){var s,i,a,l,c,u,f;try{if(!t)return;const{keys:h}=Jn(t);if(e.type==="map"){const p=h[0],m=((i=(s=o==null?void 0:o.feature)==null?void 0:s.properties)==null?void 0:i.name)||((l=(a=o==null?void 0:o.feature)==null?void 0:a.properties)==null?void 0:l.NAME);return[{columnName:p,columnValue:m}]}if(["bar","horizontalBar","line","pie","doughnut","radar","polarArea","funnel"].includes(e.type)){const p=h[0],m=h.slice(1),g=(c=t[r])==null?void 0:c[p];return[{columnName:p,columnValue:g,metric:m[n],value:o}]}if(["stackedBar","pyramid"].includes(e.type)){const p=fw({dataArray:t,groupKey:h[0],pivotKey:h[1],valueKey:h[2]}),m=h[0],g=(u=p[r])==null?void 0:u[m],y=h[1],{keys:b}=Jn(p),v=b.slice(1)[n];return[{columnName:m,columnValue:g,metric:h[2],value:o},{columnName:y,columnValue:v,metric:h[2],value:o}]}if(e.type==="bubble"||e.type==="scatter"){const p=h[0],m=(f=t[n])==null?void 0:f[p];return console.log(o,"bubble"),[{columnName:p,columnValue:m,metric1:h[1],value1:o.x,metric2:h[2],value2:o.y,metric3:h==null?void 0:h[3],value3:o==null?void 0:o.r}]}}catch(h){console.error("Error in getAdhocFilter",h)}}function VCe(e,t){var r,o;if((((r=e.data.datasets)==null?void 0:r.filter(s=>!!s.fill))||[]).length>0){const s=(o=e==null?void 0:e.data.datasets)==null?void 0:o.map(a=>({...a,backgroundColor:[a.backgroundColor].map(l=>{const c=t.createLinearGradient(0,0,0,400);return c.addColorStop(0,l),c.addColorStop(.7,mbe("--semaphor-background")),c})}));return{...e,data:{...e.data,datasets:s}}}return e}function IV(e){var a,l,c,u,f,h;const t=(((l=(a=e.preferences)==null?void 0:a.mapVisualOptions)==null?void 0:l.topoJsonUrl)==="custom"?(u=(c=e.preferences)==null?void 0:c.mapVisualOptions)==null?void 0:u.customTopoJsonUrl:(h=(f=e.preferences)==null?void 0:f.mapVisualOptions)==null?void 0:h.topoJsonUrl)||"",n=!!t&&e.type==="map",{data:r,isLoading:o,isFetching:s,isError:i}=xn({queryKey:["topojson",t],queryFn:()=>fetch(t).then(p=>p.json()),enabled:n,staleTime:1/0});return{data:r,isLoading:o,isFetching:s,isError:i}}function HCe(e,t,n){if(e===t)return!0;const r=new Map;for(const i of n){const a=i.source.name,l=i.target.name;r.has(a)||r.set(a,new Set),r.get(a).add(l),r.has(l)||r.set(l,new Set),r.get(l).add(a)}const o=new Set,s=[e];for(o.add(e);s.length>0;){const i=s.shift(),a=r.get(i);if(a)for(const l of a){if(l===t)return!0;o.has(l)||(o.add(l),s.push(l))}}return!1}function OV(e,t){var m,g,y,b,x,v,w;const{joinabilityMap:n,selectedFields:r,cardConfig:o,autoJoinMetadata:s,baseEntityName:i}=t;if(!n)return{state:"draggable"};if(r.length===0)return{state:"draggable",tooltip:"Select to establish base dataset"};let a;const l=(g=(m=o==null?void 0:o.joinPlan)==null?void 0:m.baseEntity)==null?void 0:g.name,c=(b=(y=s==null?void 0:s.resolvedJoinPlan)==null?void 0:y.baseEntity)==null?void 0:b.name;l?a=l:c?a=c:i?a=i:a=[...new Set(r.map(E=>E.entityName))].filter(Boolean)[0];const u=r.some(S=>S.entityName===e.entityName&&(S.name===e.name||S.id===e.id));if(e.entityName===a)return{state:"base",tooltip:u?"Field already in query (base dataset)":"From base dataset",isSelected:u};const f=n[a];if(!f)return{state:"unreachable",tooltip:"No relationships defined for base dataset"};if(f.canJoinTo.includes(e.entityName))return{state:"draggable",tooltip:`Direct join from ${a}`,joinPath:[a,e.entityName],isSelected:u};const h=(x=f.indirectJoins)==null?void 0:x[e.entityName];if(h&&h.length>0){const S=[a,...h,e.entityName];return{state:"indirect",joinPath:S,tooltip:`Multi-hop join: ${S.join(" → ")}`,isSelected:u}}const p=n[e.entityName];if(p){if(p.canJoinTo.includes(a))return{state:"draggable",tooltip:`Direct join to ${a}`,joinPath:[e.entityName,a],isSelected:u};const S=(v=p.indirectJoins)==null?void 0:v[a];if(S&&S.length>0){const E=[e.entityName,...S,a];return{state:"indirect",joinPath:E,tooltip:`Multi-hop join: ${E.join(" → ")}`,isSelected:u}}}return(w=o==null?void 0:o.joinPlan)!=null&&w.joins&&o.joinPlan.joins.length>0&&HCe(a,e.entityName,o.joinPlan.joins)?{state:"draggable",tooltip:"Manual join configured",isSelected:u}:{state:"unreachable",tooltip:`Cannot join ${e.entityName} to ${a}`,isSelected:u}}function FV(e,t,n){var r;return!n||!((r=n.baseEntity)!=null&&r.name)||!n.joins?!1:e===t||e===Ld(n.baseEntity)||t===Ld(n.baseEntity)?!0:n.joins.some(o=>{const s=Ld(o.source),i=Ld(o.target);return s===e&&i===t||s===t&&i===e})}function UCe(e,t,n){var a;const{joinPlan:r,joinabilityMap:o,semanticDomainId:s}=n;if(t.length===0)return{isValid:!0};const i=t[0].qualifiedEntityName;if(!i)return{isValid:!0};if(i===e.qualifiedEntityName)return{isValid:!0};if(e.qualifiedEntityName){if(s&&o)return OV(e,{joinabilityMap:o,selectedFields:t,baseEntityName:(a=r==null?void 0:r.baseEntity)==null?void 0:a.name}).state==="unreachable"?{isValid:!1,showError:!0}:{isValid:!0};if(!r)return{isValid:!1,showError:!0};if(!FV(i,e.qualifiedEntityName,r))return{isValid:!1,showError:!0}}return{isValid:!0}}function WCe(){Ue.error("Join Configuration Required",{richColors:!0,description:"To combine fields from two different tables, you need to define a join between them first.",position:"top-center",duration:4e3})}function qCe(e,t){return t.some(n=>{if(!(n.name===e.name&&n.qualifiedEntityName===e.qualifiedEntityName))return!1;if((e.role==="metric"||!e.role)&&n.role==="metric"){const o=e,s=n;if(o.aggregate!==s.aggregate||o.expression!==s.expression)return!1;if(o.parameters||s.parameters){const i=o.parameters||{},a=s.parameters||{},l=JSON.stringify(i),c=JSON.stringify(a);if(l!==c)return!1}return!1}return!0})}function GCe(e){if(e.role!=="metric")return e.label||e.name;const t=e,n=e.label||e.name;if(!t.parameters||!t.parameters.filters)return n;const r=t.parameters.filters;return typeof r=="string"?`${n} (${r})`:typeof r=="object"?(JSON.stringify(r),`${n} (Filtered)`):n}function YCe(e,t,n){const r=e.label||e.name,o=t.filter(s=>s.name===e.name&&s.qualifiedEntityName===e.qualifiedEntityName&&(s.role==="metric"||n==="metrics")).length;return o===0?r:`${r} (${o+1})`}function $V(e,t){return`${e}-${t.qualifiedEntityName}-${t.name}-${Date.now()}`}function LV(e,t){const n=Li(e.replace(/_/g," "));switch(t){case"SUM":return`Sum of ${n}`;case"COUNT":return`Count of ${n}`;case"DISTINCT":return`Unique ${n}`;case"AVG":return`Average of ${n}`;case"MIN":return`Min of ${n}`;case"MAX":return`Max of ${n}`;default:return n}}function ZCe(e,t){if(t.length===0)return"metrics";const n=$v(e.dataType);return n==="number"?"metrics":n==="date"||n==="string"||n==="boolean"?"groupBy":"metrics"}function KCe(e,t,n=[]){const r=$V(t,e),o=$v(e.dataType),s=o==="date",i={id:r,name:e.name,dataType:e.dataType,label:i_(e.name),qualifiedEntityName:e.qualifiedEntityName,entityId:e.entityId,entityName:e.entityName,entityType:e.entityType};if(t==="metrics"){const a=o==="number"?"SUM":"COUNT",l=LV(e.label,a),c=YCe({...i,label:l},n,t);return{...i,role:"metric",label:c,aggregate:a}}return t==="groupBy"?{...i,role:"groupby",...s&&{granularity:"month",dateFormat:"YYYY-MM"}}:t==="pivotBy"?{...i,role:"pivotby"}:t==="sortBy"?{...i,role:"sortby",label:e.label,direction:"asc"}:null}function XCe(e){var o,s,i;const t=(o=e.config)==null?void 0:o.metricColumns,n=(s=e.config)==null?void 0:s.groupByColumns,r=(i=e.config)==null?void 0:i.pivotByColumns;return!!(t&&(t==null?void 0:t.length)>0||n&&(n==null?void 0:n.length)>0||r&&(r==null?void 0:r.length)>0)}function QCe(e){var i,a;const[t]=N.useState({id:"",title:"",type:"bar"}),{getCard:n}=en(),r=n(e),o=Kw(r||t),s={...r,data:((i=o==null?void 0:o.data)==null?void 0:i.records)||[]};return{...o,data:((a=o==null?void 0:o.data)==null?void 0:a.records)||[],card:s}}function Kw(e){var M;const{onChartElementClicked:t}=qe(),[n,r]=N.useState(0),o=ee(O=>O.themeStyle),s=ee(O=>O.filteringCards),i=ee(O=>O.selectedSheetId),a=ee(O=>O.selectedLensId),l=ee(O=>O.filterValues),c=N.useRef(l),u=(M=e==null?void 0:e.preferences)==null?void 0:M.onClickFilter,{addFilteringCard:f,addOrUpdateFilterValues:h,removeFilterValues:p,removeFilteringCard:m}=en(),{data:g,isLoading:y,isFetching:b,isError:x,isPending:v,queryKey:w,isFilteringCard:S,isSingleCardFrame:E,pagination:C}=qa(e),{data:_}=IV(e);let j;j=N.useMemo(()=>{if(!(!(g!=null&&g.records)||!(g!=null&&g.records.length)))return AR({card:e,data:g==null?void 0:g.records,cardType:e.type,queryConfig:e.queryConfig,customCfg:e.customCfg,preferences:e.preferences,topoJson:_})},[g==null?void 0:g.records,e,_,o]);const R=N.useRef({filteringCards:s});N.useEffect(()=>{e.connectionId&&!S&&(c.current=l)},[l,a,e.connectionId,S]),N.useEffect(()=>{var I;S&&(R.current.filteringCards=[...s||[]]),!S&&((I=R.current.filteringCards)==null?void 0:I.find(A=>A.id===e.id))&&E&&r(A=>A+1)},[S,E,e.id,s]);function P(O,I,A,F){var $;if(XCe(e))return;let H=!1;if(!(g!=null&&g.records))return;const W=BCe({card:e,data:g==null?void 0:g.records,datasetIndex:I,clickIndex:A,value:F});if(console.log("fieldValues",W),t==null||t(e,W),!!((($=e==null?void 0:e.preferences)==null?void 0:$.onClickFilter)??[]).length){if(S){const T=e.id;p(T),m(e)}else{if(H=!0,!W)return;const T=[];W.forEach((B,z)=>{const D=u==null?void 0:u.find(G=>G.columnIndex===z);if(!D)return;const U={filterId:e.id+"-"+B.columnName+"-"+i,connectionId:e==null?void 0:e.connectionId,tableName:e.lastSelectedTable,name:B.columnName,expression:D.expression,valueType:Ov(W[D.columnIndex].columnValue),operation:"=",values:[W[D.columnIndex].columnValue]};T.push(U)}),h(T),f(e)}FCe({chart:O,elementIndex:A,datasetIndex:I,cardType:e.type,cfg:j,apply:H})}}return{isPending:v,isError:x,isLoading:y,isFetching:b,data:g,visualKey:n,handleDatapointClick:P,cfg:j,queryKey:w,pagination:C}}function NC(e,t){if(e==null)return"-";if(!t)return e.toString();const n=t.locale?new Intl.NumberFormat(t.locale).format(e):e.toFixed(t.decimalPlaces||0);return`${t.prefix||""}${n}${t.suffix||""}`}function nF(e,t){return t.map(n=>{const r=n.alias||n.name,o=e[r];return typeof o=="object"&&o!==null&&"label"in o?String(o.label??""):String(o??"")}).join(" | ")}function zV(e,t=0,n=[],r){if(!(e!=null&&e.length)||t>=e[0].fieldValues.length)return[];const o=l=>n.every((c,u)=>l.fieldValues[u]===c),s=e.filter(o),i=[],a=new Set;for(const l of s){const c=l.fieldValues[t];if(a.has(c))continue;a.add(c);const u=[...n,c],f=u.join(" | ");if(r&&!r.has(f))continue;if(t===l.fieldValues.length-1)i.push({name:c,level:t,rowKey:l.rowKey});else{const p=zV(s.filter(m=>m.fieldValues[t]===c),t+1,u,r);p.length>0&&i.push({name:c,level:t,children:p})}}return i}function JCe(e,t={},n){const r=e.records,o=e.pivotSchema||[],s=e.columnSubtotalMeta||[],i=e.groupByColumns||[],a=e.columnMetadata,l=o.filter(M=>M.isPivotColumn),c=o.filter(M=>M.isMetricColumn),u=()=>({rowHeaders:[],columnHeaders:[],cells:{},columnGroups:[],rowGroups:[],columnDisplayNames:{},groupByColumns:i,columnSubtotalMeta:s,columnMetadata:a});if(l.length===0&&c.length===0)return console.warn("No pivot or metric fields found in pivotSchema:",o),u();const{columnGroups:f,columnHeaders:h,columnDisplayNames:p}=eEe(o,s,n==null?void 0:n.config);if(!r.length)return u();const m=r.filter(M=>M.isGrandTotal),g=r.filter(M=>M.isSubtotal&&!M.isGrandTotal),y=r.filter(M=>!M.isSubtotal&&!M.isGrandTotal),b=[],x=new Set;y.forEach(M=>{const O=nF(M,i),I=i.map(A=>{const F=A.alias||A.name,H=M[F];return typeof H=="object"&&H!==null&&"label"in H?String(H.label??""):String(H??"")});O&&!x.has(O)&&(x.add(O),b.push({rowKey:O,fieldValues:I}))}),b.sort((M,O)=>{const I=Math.min(M.fieldValues.length,O.fieldValues.length);for(let A=0;A<I;A++){const F=(M.fieldValues[A]||"").localeCompare(O.fieldValues[A]||"");if(F!==0)return F}return M.fieldValues.length-O.fieldValues.length});const v=[],w=[],S=new Set;for(let M=0;M<b.length;M++){const O=b[M];v.push(O),w.push(O.rowKey);const I=b[M+1];for(let A=i.length-1;A>=0;A--){const F=i[A];F.alias||F.name;let H=!1;if(!I)H=!0;else{H=O.fieldValues[A]!==I.fieldValues[A];for(let W=0;W<A&&!H;W++)O.fieldValues[W]!==I.fieldValues[W]&&(H=!0)}H&&g.filter($=>{const T=F.alias||F.name;if($.subtotalLevel!==T&&$.subtotalLevel!==F.id)return!1;if($.subtotalContext){if($.subtotalContext.value!==O.fieldValues[A])return!1;const B=$.subtotalContext.groupByValues||{};for(let z=0;z<A;z++){const D=i[z],U=D.alias||D.name;if(B[U]!==O.fieldValues[z])return!1}return!0}for(let B=0;B<A;B++){const z=i[B],D=z.alias||z.name,U=$[D],G=O.fieldValues[B],Z=typeof U=="object"&&(U!=null&&U.label)?U.label:String(U??"");if(G!==Z)return!1}return!0}).forEach($=>{var U;const T=JSON.stringify({level:$.subtotalLevel,context:$.subtotalContext});if(S.has(T))return;const B=[...O.fieldValues],z=`${O.fieldValues[A]} Total`;B[A]=z;for(let G=A+1;G<B.length;G++)B[G]="";const D=B.join(" | ");v.push({rowKey:D,fieldValues:B,isSubtotal:!0,subtotalLevel:$.subtotalLevel,aggregateDisplayLabel:$.aggregate,aggregateFunction:(U=$.aggregate)==null?void 0:U.toUpperCase(),subtotalContext:$.subtotalContext}),w.push(D),S.add(T)})}}const E=v,C=w,_=new Set(E.map(M=>M.rowKey)),j=zV(E,0,[],_),R={};C.forEach(M=>{R[M]={},h.forEach(O=>{R[M][O]={value:null,metricId:"",formattedValue:"-"}})}),y.forEach(M=>{const O=nF(M,i);R[O]&&h.forEach(I=>{if(!(I in M))return;const A=M[I],F=o.find(H=>H.isMetricColumn&&I.startsWith(H.alias));R[O][I]={value:A,metricId:(F==null?void 0:F.metricId)||"",formattedValue:NC(A,t.numberFormat)}})}),g.forEach(M=>{const O=E.find(I=>I.isSubtotal&&I.subtotalLevel===M.subtotalLevel&&JSON.stringify(I.subtotalContext)===JSON.stringify(M.subtotalContext));if(O){const I=O.rowKey;R[I]||(R[I]={}),h.forEach(A=>{if(!(A in M))return;const F=M[A],H=o.find(W=>W.isMetricColumn&&A.startsWith(W.alias));R[I][A]={value:F,metricId:(H==null?void 0:H.metricId)||"",formattedValue:NC(F,t.numberFormat)}})}});const P=[];return m.forEach(M=>{const O={};h.forEach(W=>{if(W in M){const $=M[W];O[W]={value:$,metricId:"",formattedValue:NC($,t.numberFormat)}}});const I=M.aggregate||"Total";let A="SUM";const F=I.toUpperCase();["SUM","AVG","COUNT","MIN","MAX","MEDIAN"].includes(F)&&(A=F);const H=I.charAt(0).toUpperCase()+I.slice(1).toLowerCase();P.push({aggregateDisplayLabel:H,aggregateFunction:A,data:O})}),{rowHeaders:C,columnHeaders:h,cells:R,columnGroups:f,rowGroups:j,columnDisplayNames:p,groupByColumns:i,columnSubtotalMeta:s,columnMetadata:a,grandTotalRows:P,rowData:E}}function eEe(e,t,n){const r=e.filter(u=>u.isPivotColumn),o=new Map;e.filter(u=>u.isMetricColumn).forEach(u=>{o.has(u.alias)||o.set(u.alias,u)});const s=Array.from(o.values());function i(u){return u.displayLabel||u.metricLabel||u.metricName||u.alias}function a(u,f=[]){if(u>=r.length){const m=[],g=[],y={};return s.forEach(b=>{const x=[b.alias,...f].join("_"),v=i(b);m.push({name:v,level:u,colspan:1,columnKey:x}),g.push(x),y[x]=v}),{groups:m,leafKeys:g,displayNames:y}}const h=r[u],p={groups:[],leafKeys:[],displayNames:{}};return h.pivotValues.forEach(m=>{const g=[...f,m],y=a(u+1,g);t.filter(x=>x.subtotalLevel===m).forEach(x=>{y.groups.push({name:x.aggregate,level:u+1,colspan:1,columnKey:x.columnName}),y.leafKeys.push(x.columnName),y.displayNames[x.columnName]=`${x.aggregate} (${m})`}),p.groups.push({name:m,level:u,colspan:y.groups.reduce((x,v)=>x+(v.colspan||1),0),children:y.groups}),p.leafKeys.push(...y.leafKeys),Object.assign(p.displayNames,y.displayNames)}),p}const l=a(0),c=t.filter(u=>u.subtotalLevel==="grandTotal"||u.subtotalLevel==="ALL");return c.length>0&&c.forEach(u=>{var m,g,y;const f=(m=u.aggregate)==null?void 0:m.toUpperCase(),p=((y=(g=n==null?void 0:n.columnAggregates)==null?void 0:g.find(b=>b.function===f&&b.pivotLevel==="ALL"))==null?void 0:y.label)||u.aggregate||"Total";l.groups.push({name:p,level:0,colspan:1,columnKey:u.columnName}),l.leafKeys.push(u.columnName),l.displayNames[u.columnName]=p}),{columnGroups:l.groups,columnHeaders:l.leafKeys,columnDisplayNames:l.displayNames}}function tEe({data:e,card:t}){var s;if(!t.config)throw new Error("Card configuration is required for pivot table");const n=e.records.some(i=>i.isGrandTotal),r=((s=t.config)==null?void 0:s.rowAggregates)&&t.config.rowAggregates.length>0,o={showRowTotals:!1,showColumnTotals:n||r,showGrandTotal:!1};return{type:"pivotTable",data:JCe(e,o,t),config:t.config,options:o,pivotSchema:e.pivotSchema}}function rb(e,t){return N.useMemo(()=>!e||e.type!=="pivotTable"||!t||!Array.isArray(t.records)||t.records.length===0?null:tEe({card:e,data:{records:t.records||[],columnSubtotalMeta:t.columnSubtotalMeta,subtotalColumns:t.subtotalColumns,pivotSchema:t.pivotSchema||[],groupByColumns:t.groupByColumns}}),[e,t])}function nEe({records:e,tablePreferences:t}){if(!e||e.length===0)return null;const n=(t==null?void 0:t.columnSettingsMap)||{},r=Object.keys(e[0]);let o=r;if(t!=null&&t.columnVisibility&&(o=r.filter(a=>{var l;return((l=t.columnVisibility)==null?void 0:l[a])!==!1})),t!=null&&t.columnSizing){const l=Object.keys(t.columnSizing).filter(u=>o.includes(u)),c=o.filter(u=>!l.includes(u));o=[...l,...c]}const s=o.map(a=>{const l=n[a],u=((l==null?void 0:l.textAlign)||"left")==="right";return{text:a,colspan:1,rowspan:1,className:u?"numeric":"",columnId:a,isHeader:!0,isNumeric:u}}),i=e.map(a=>({cells:o.map(l=>{const c=n[l],u=rEe(a[l],c),h=((c==null?void 0:c.textAlign)||"left")==="right";return{text:u,colspan:1,rowspan:1,className:h?"numeric":"",columnId:l,isHeader:!1,isNumeric:h}})}));return{headers:[{cells:s}],rows:i,metadata:{tableType:"data",totalRows:i.length,totalColumns:o.length}}}function rEe(e,t){if(e==null)return"";if((t==null?void 0:t.type)==="number"&&typeof e=="number"){const n=t.numberFormat;try{return new Intl.NumberFormat(n.locale||"en-US",{style:n.style,currency:n.style==="currency"?n.currency:void 0,minimumFractionDigits:n.minimumFractionDigits,maximumFractionDigits:n.maximumFractionDigits}).format(e)}catch{return e.toLocaleString()}}if((t==null?void 0:t.type)==="date")try{const n=t.dateFormat.timezone&&t.dateFormat.timezone!=="auto"?t.dateFormat.timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,r=t.dateFormat.useCustomFormat?t.dateFormat.customFormat:t.dateFormat.format;return Qg(String(e),r,n,t.dateFormat.sourceTimezone||"auto")}catch{return String(e)}return typeof e=="number"?e.toLocaleString():String(e)}function oEe({records:e,groupByColumns:t=[],pivotSchema:n=[],card:r,columnSettings:o={}}){var f,h,p;if(!e||e.length===0)return null;const s=Kj(e,t),i=Xj(e),a=n.filter(m=>m.isMetricColumn),l=[...t.map(m=>({text:m.label||m.name,colspan:1,rowspan:1,className:"",columnId:m.alias||m.name,isHeader:!0,isNumeric:!1})),...a.map(m=>({text:m.metricLabel||m.metricName||m.alias,colspan:1,rowspan:1,className:"numeric",columnId:m.alias,isHeader:!0,isNumeric:!0}))],c=s.map(m=>{const g=[],y=m.isSubtotal&&!m.isGrandTotal;return t.forEach(b=>{var w,S,E;const x=b.alias||b.name;let v=m[x];if(y){const C=m.aggregate||"SUM",_=(E=(S=(w=r==null?void 0:r.config)==null?void 0:w.rowAggregates)==null?void 0:S.find(j=>j.groupLevel===m.subtotalLevel&&j.function===C))==null?void 0:E.label;v=v7(m,x,C,_)}else m.isGrandTotal&&(v="");g.push({text:v&&v!=="__TOTAL__"?String(v):"",colspan:1,rowspan:1,className:"",columnId:x,isHeader:!1,isNumeric:!1})}),a.forEach(b=>{const x=b.alias,v=o[x],w=rF(m[x],v);g.push({text:w,colspan:1,rowspan:1,className:"numeric",columnId:x,isHeader:!1,isNumeric:!0})}),{type:y?"subtotal":void 0,cells:g}});let u=null;if(i){const m=i.aggregate||"SUM",g=(p=(h=(f=r==null?void 0:r.config)==null?void 0:f.rowAggregates)==null?void 0:h.find(x=>x.groupLevel==="ALL"))==null?void 0:p.label,y=w7(m,g),b=[];t.forEach((x,v)=>{b.push({text:v===0?y:"",colspan:1,rowspan:1,className:"",isHeader:!1,isNumeric:!1})}),a.forEach(x=>{const v=x.alias,w=o[v];let S=i[v];(S==null||S==="")&&(S=e.filter(C=>!C.isSubtotal&&!C.isGrandTotal).reduce((C,_)=>{const j=Number(String(_[v]??"0").replace(/,/g,""));return C+(Number.isFinite(j)?j:0)},0));const E=rF(S,w);b.push({text:E,colspan:1,rowspan:1,className:"numeric",columnId:v,isHeader:!1,isNumeric:!0})}),u={cells:b}}return{headers:[{cells:l}],rows:c,grandTotal:u,metadata:{tableType:"aggregate",totalRows:c.length,totalColumns:l.length,groupByCount:t.length,hasGrandTotal:!!u}}}function rF(e,t){if(e==null)return"";if((t==null?void 0:t.type)==="number"&&typeof e=="number"){const n=t.numberFormat;try{return new Intl.NumberFormat(n.locale||"en-US",{style:n.style,currency:n.style==="currency"?n.currency:void 0,minimumFractionDigits:n.minimumFractionDigits??0,maximumFractionDigits:n.maximumFractionDigits??2}).format(e)}catch{return e.toLocaleString()}}return typeof e=="number"?e.toLocaleString():String(e)}function sEe({pivotConfig:e,card:t,showRowTotals:n}){var c,u,f;if(!(e!=null&&e.data))return null;const r=e.data,o=iEe(r,t,!!n),{tableData:s,grandTotalRows:i}=eR(r),a=s.map(h=>{const p=[];h.fieldValues.forEach(g=>{p.push({text:g||"",colspan:1,rowspan:1,className:"",isHeader:!1,isNumeric:!1})});let m=0;if(r.columnHeaders.forEach(g=>{var S,E,C;const y=h.cells[g],b=(C=(E=(S=t.preferences)==null?void 0:S.tablePrefs)==null?void 0:E.columnSettingsMap)==null?void 0:C[g],x=ja((y==null?void 0:y.value)??(y==null?void 0:y.formattedValue)??"",b),v=((b==null?void 0:b.textAlign)||"right")==="right";p.push({text:x==="-"?"":String(x),colspan:1,rowspan:1,className:v?"numeric":"",columnId:g,isHeader:!1,isNumeric:v});const w=typeof(y==null?void 0:y.value)=="number"?y.value:Number(String((y==null?void 0:y.formattedValue)??"").replace(/,/g,""));Number.isFinite(w)&&(m+=w)}),n){const g=ja(m,void 0);p.push({text:g==="-"?"":String(g),colspan:1,rowspan:1,className:"numeric",isHeader:!1,isNumeric:!0})}return{type:h.isSubtotal?"subtotal":void 0,cells:p}});let l=null;if(i&&i.length>0){const h=i[0],p=[],m=h.aggregateDisplayLabel||h.aggregateFunction||"Total";r.groupByColumns&&r.groupByColumns.length>0&&r.groupByColumns.forEach((y,b)=>{p.push({text:b===0?m:"",colspan:1,rowspan:1,className:"",isHeader:!1,isNumeric:!1})});let g=0;if(r.columnHeaders.forEach(y=>{var E,C,_;const b=(_=(C=(E=t.preferences)==null?void 0:E.tablePrefs)==null?void 0:C.columnSettingsMap)==null?void 0:_[y],x=h.data?h.data[y]:void 0;let v=(x==null?void 0:x.value)??(x==null?void 0:x.formattedValue)??"";(v===""||v===void 0||v===null)&&(v=s.reduce((j,R)=>{const P=R.cells[y],M=typeof(P==null?void 0:P.value)=="number"?P.value:Number(String((P==null?void 0:P.formattedValue)??(P==null?void 0:P.value)??"0").replace(/,/g,""));return j+(Number.isFinite(M)?M:0)},0));const w=ja(v,b);p.push({text:w==="-"?"":String(w),colspan:1,rowspan:1,className:"numeric",columnId:y,isHeader:!1,isNumeric:!0});const S=typeof v=="number"?v:Number(String(v).replace(/,/g,""));Number.isFinite(S)&&(g+=S)}),n){const y=ja(g,void 0);p.push({text:y==="-"?"":String(y),colspan:1,rowspan:1,className:"numeric",isHeader:!1,isNumeric:!0})}l={cells:p}}return{headers:o,rows:a,grandTotal:l,metadata:{tableType:"pivot",totalRows:a.length,rowLevels:((c=r.groupByColumns)==null?void 0:c.length)??0,pivotLevels:((f=(u=t.config)==null?void 0:u.pivotByColumns)==null?void 0:f.length)??0,hasGrandTotal:!!l}}}function iEe(e,t,n){var c,u;const o=(((c=t.config)==null?void 0:c.pivotByColumns)||[]).length,s=((u=e.groupByColumns)==null?void 0:u.length)||0;if(!e.columnGroups||e.columnGroups.length===0||o===0){const f=[];return e.groupByColumns&&e.groupByColumns.forEach(h=>{f.push({text:h.label||h.name,colspan:1,rowspan:1,className:"",isHeader:!0,isNumeric:!1})}),e.columnHeaders.forEach(h=>{var p;f.push({text:((p=e.columnDisplayNames)==null?void 0:p[h])||h,colspan:1,rowspan:1,className:"numeric",columnId:h,isHeader:!0,isNumeric:!0})}),n&&f.push({text:"Total",colspan:1,rowspan:1,className:"numeric",isHeader:!0,isNumeric:!0}),[{headerType:"simple",headerRowIndex:0,repeatHeader:!0,cells:f}]}const i=Array.from({length:o+1},()=>({cells:[]}));if(s>0&&e.groupByColumns){const f=i[o];e.groupByColumns.forEach(h=>{f.cells.push({text:h.label||h.name,colspan:1,rowspan:1,className:"",isHeader:!0,isNumeric:!1})});for(let h=0;h<o;h+=1)for(let p=0;p<s;p+=1)i[h].cells.push({text:"",colspan:1,rowspan:1,className:"",isHeader:!0,isNumeric:!1})}const a=Array.from({length:o},()=>[]);BV(e.columnGroups,a,o);for(let f=0;f<o;f+=1)i[f].cells.push(...a[f]);const l=[];if(e.columnGroups&&e.columnGroups.length>0?VV(e.columnGroups,l,e.columnDisplayNames||{}):e.columnHeaders.forEach(f=>{var h;l.push({text:((h=e.columnDisplayNames)==null?void 0:h[f])||f,colspan:1,rowspan:1,className:"numeric",columnId:f,isHeader:!0,isNumeric:!0})}),i[o].cells.push(...l),n){i[o].cells.push({text:"Total",colspan:1,rowspan:1,className:"numeric",isHeader:!0,isNumeric:!0});for(let f=0;f<o;f+=1)i[f].cells.push({text:"",colspan:1,rowspan:1,className:"",isHeader:!0,isNumeric:!1})}return i.map((f,h)=>({headerType:h<o?"pivot-level":"metrics",headerRowIndex:h,repeatHeader:!0,cells:f.cells}))}function BV(e,t,n){e.forEach(r=>{const o=r.level;if(o<n){t[o].push({text:r.name||"",colspan:r.colspan||1,rowspan:1,className:"",isHeader:!0,isNumeric:!1});for(let s=1;s<(r.colspan||1);s+=1)t[o].push({text:"",colspan:1,rowspan:1,className:"",isHeader:!0,isNumeric:!1});r.children&&BV(r.children,t,n)}})}function VV(e,t,n){e.forEach(r=>{r.columnKey?t.push({text:n[r.columnKey]||r.name||"Metric",colspan:1,rowspan:1,className:"numeric",columnId:r.columnKey,isHeader:!0,isNumeric:!0}):r.children&&VV(r.children,t,n)})}function HV(e,t){var r,o;if(t==="table-print")return"disabled";const n=Hl(e.config);return e.sql&&!n?(o=(r=e.preferences)==null?void 0:r.tablePrefs)!=null&&o.enableDevModePagination?"server":"client":n&&_m(e)?"server":"client"}function UV({isOpen:e,onClose:t,frame:n,card:r,data:o}){var _;const{tokenProps:s}=qe(),i=r?Qj(r.type):["pdf"],a=r?Jj(r.type):"pdf",[l,c]=N.useState(!1),[u,f]=N.useState(!1),[h,p]=N.useState({format:a,pageSize:"letter",orientation:"portrait",protectPdf:!1,pdfPassword:"",delimiter:",",includeHeaders:!0});ee(j=>j.authToken),ee(j=>{var R;return(R=j.dashboard)==null?void 0:R.id}),ee(j=>{var R;return(R=j.dashboard)==null?void 0:R.title});const{cardFilterValues:m}=dw((r==null?void 0:r.id)||""),g={id:"",type:"table"},y=Kw(r||g),b=(_=r==null?void 0:r.preferences)==null?void 0:_.tablePrefs,x=r?(y==null?void 0:y.data)||o:null,v=rb(r||g,x),w=(r==null?void 0:r.title)||"Visual Report",S=y7(m||[]),E=()=>{p(j=>({...j,pdfPassword:"",protectPdf:!1})),f(!1),t()},C=async()=>{var A,F,H,W,$,T;if(!r){Ue.error("No card selected");return}const j=(y==null?void 0:y.data)||o;if(!j){Ue.error("No data to export");return}const P=(()=>{var z,D;if(!r||!["table","aggregateTable","pivotTable"].includes(r.type))return 0;if(r.type==="pivotTable"){const U=Array.isArray(j==null?void 0:j.records)?j==null?void 0:j.records:Array.isArray(j)?j:[];return U.length>0?U.length:(z=v==null?void 0:v.data)!=null&&z.rowData&&v.data.rowData.length>0?v.data.rowData.length:((D=x==null?void 0:x.records)==null?void 0:D.length)||0}return(Array.isArray(j==null?void 0:j.records)?j==null?void 0:j.records:Array.isArray(j)?j:[]).length})();let M=null;if(r.type==="table"){const B=Array.isArray(j)?j:Array.isArray(j==null?void 0:j.records)?j.records:[];B.length>0&&(M=nEe({records:B,tablePreferences:b}))}else if(r.type==="aggregateTable"){const B=Array.isArray(j)?j:Array.isArray(j==null?void 0:j.records)?j.records:[];if(B.length>0){const z=(j==null?void 0:j.groupByColumns)||((A=r.config)==null?void 0:A.groupByColumns)||[],D=(j==null?void 0:j.pivotSchema)||[];M=oEe({records:B,groupByColumns:z,pivotSchema:D,card:r,columnSettings:b==null?void 0:b.columnSettingsMap})}}else r.type==="pivotTable"&&v&&(M=sEe({pivotConfig:v,card:r,showRowTotals:(F=v.options)==null?void 0:F.showRowTotals}));const I=(r?HV(r):"client")==="server";c(!0);try{if(h.format==="csv"){let B="";const z=`${w.replace(/[^a-z0-9]/gi,"_")}.csv`;if((r==null?void 0:r.type)&&["table","aggregateTable","pivotTable"].includes(r.type))switch(r.type){case"table":{const U=Array.isArray(j)?j:(j==null?void 0:j.records)||[];if(!U||U.length===0){Ue.error("No data available to export");return}ame(U,z,b,{delimiter:h.delimiter,includeHeaders:h.includeHeaders,useFormattedValues:!0}),Ue.success("CSV exported successfully"),E();return}case"aggregateTable":{const U=Array.isArray(j)?j:(j==null?void 0:j.records)||[];if(!U||U.length===0){Ue.error("No data available to export");return}const G=(j==null?void 0:j.groupByColumns)||((H=r.config)==null?void 0:H.groupByColumns)||[],Z=(j==null?void 0:j.pivotSchema)||[],V=Kj(U,G),L=Xj(U),q=($=(W=r==null?void 0:r.preferences)==null?void 0:W.tablePrefs)==null?void 0:$.columnSettingsMap,Y=x7(V,L,G,Z,r,q);if(!Y){Ue.error("Failed to generate CSV content");return}fx(Y,z),Ue.success("CSV exported successfully"),E();return}case"pivotTable":if(v){T7(v.data,r,z,{delimiter:h.delimiter,includeHeaders:h.includeHeaders,includeSubtotals:!0,includeGrandTotal:!0,showRowTotals:(T=v.options)==null?void 0:T.showRowTotals}),Ue.success("CSV exported successfully"),t();return}else{Ue.error("Unable to export pivot table data");return}default:throw new Error(`Unsupported table type: ${r.type}`)}else{const U=Array.isArray(j)?j:(j==null?void 0:j.records)||[];if(!U||U.length===0){Ue.error("No data available to export");return}const G=Object.keys(U[0]),Z=L=>{if(L==null)return"";const q=String(L);return q.includes(h.delimiter)||q.includes('"')||q.includes(`
|
|
704
704
|
`)||q.includes("\r")?`"${q.replace(/"/g,'""')}"`:q},V=[];h.includeHeaders&&V.push(G.map(Z).join(h.delimiter)),U.forEach(L=>{const q=G.map(Y=>Z(L[Y]));V.push(q.join(h.delimiter))}),B=V.join(`
|
|
705
705
|
`)}if(!B){Ue.error("Failed to generate CSV content");return}fx(B,z),Ue.success("CSV exported successfully"),E()}else{if(h.protectPdf&&!h.pdfPassword){Ue.error("Please enter a password to protect the PDF");return}const B=h.protectPdf?"Generating protected PDF... This may take up to 60 seconds depending on data size.":"Generating PDF... This may take up to 60 seconds depending on data size.";Ue.info(B);const z={password:h.protectPdf?h.pdfPassword:void 0,pageSize:h.pageSize,orientation:h.orientation,filterLine:S,rowCount:P,tableStructure:M,filterValues:m};let D=!1;r.type&&["table","aggregateTable","pivotTable"].includes(r.type)&&P>0&&P<=Yj&&!I&&!!M&&(D=await rme(s.apiServiceUrl,r.id,n.id,w,r.type,z)),D||await p7(s.apiServiceUrl,r.id,n.id,w,r.type,h.protectPdf?h.pdfPassword:void 0,h.pageSize,h.orientation,S,m);const G=h.protectPdf?"Protected PDF downloaded successfully":"PDF downloaded successfully";Ue.success(G),E()}}catch(B){console.error("Export error:",B),Ue.error("Failed to export. Please try again.")}finally{c(!1)}};return d.jsx(Rs,{open:e,onOpenChange:E,children:d.jsxs(ns,{className:"sm:max-w-[425px]",children:[d.jsxs(rs,{children:[d.jsxs(os,{children:["Export ",w]}),d.jsx(ui,{children:"Choose your export format and settings"})]}),d.jsxs("div",{className:"space-y-4 py-4",children:[d.jsxs("div",{className:"space-y-2",children:[d.jsx(fe,{children:"Export Format"}),d.jsxs(si,{value:h.format,onValueChange:j=>p({...h,format:j}),children:[i.includes("pdf")&&d.jsxs("div",{className:"flex items-center space-x-2",children:[d.jsx(Wn,{value:"pdf",id:"format-pdf"}),d.jsxs(fe,{htmlFor:"format-pdf",className:"flex items-center cursor-pointer",children:[d.jsx(Ko,{className:"mr-2 h-4 w-4"}),"PDF Document"]})]}),i.includes("csv")&&d.jsxs("div",{className:"flex items-center space-x-2",children:[d.jsx(Wn,{value:"csv",id:"format-csv"}),d.jsxs(fe,{htmlFor:"format-csv",className:"flex items-center cursor-pointer",children:[d.jsx(J3,{className:"mr-2 h-4 w-4"}),"CSV"]})]})]})]}),d.jsx(qi,{}),h.format==="pdf"?d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{className:"space-y-2",children:[d.jsx(fe,{htmlFor:"pageSize",children:"Page Size"}),d.jsxs(Pt,{value:h.pageSize,onValueChange:j=>p({...h,pageSize:j}),children:[d.jsx(_t,{id:"pageSize",children:d.jsx(Ft,{})}),d.jsxs(jt,{children:[d.jsx(ve,{value:"letter",children:'Letter (8.5" × 11")'}),d.jsx(ve,{value:"a4",children:"A4 (210mm × 297mm)"})]})]})]}),d.jsxs("div",{className:"space-y-2",children:[d.jsx(fe,{htmlFor:"orientation",children:"Orientation"}),d.jsxs(Pt,{value:h.orientation,onValueChange:j=>p({...h,orientation:j}),children:[d.jsx(_t,{id:"orientation",children:d.jsx(Ft,{})}),d.jsxs(jt,{children:[d.jsx(ve,{value:"portrait",children:"Portrait"}),d.jsx(ve,{value:"landscape",children:"Landscape"})]})]})]}),d.jsx(qi,{}),d.jsxs("div",{className:"space-y-3",children:[d.jsxs("div",{className:"flex items-center space-x-2",children:[d.jsx(pn,{id:"protect-pdf",checked:h.protectPdf,onCheckedChange:j=>{p({...h,protectPdf:j,pdfPassword:j?h.pdfPassword:""}),j||f(!1)}}),d.jsxs(fe,{htmlFor:"protect-pdf",className:"text-sm font-normal cursor-pointer flex items-center",children:[d.jsx(oL,{className:"mr-2 h-3.5 w-3.5"}),"Password protect PDF"]})]}),h.protectPdf&&d.jsxs("div",{className:"space-y-2 ml-6",children:[d.jsx(fe,{htmlFor:"pdf-password",className:"text-sm",children:"PDF Password"}),d.jsxs("div",{className:"relative",children:[d.jsx(Cr,{id:"pdf-password",type:u?"text":"password",value:h.pdfPassword,onChange:j=>p({...h,pdfPassword:j.target.value}),placeholder:"Enter password",className:"pr-10"}),d.jsx(ae,{type:"button",variant:"ghost",size:"sm",className:"absolute right-0 top-0 h-full px-3 py-2 hover:bg-transparent",onClick:()=>f(!u),children:u?d.jsx(Bv,{className:"h-4 w-4 text-muted-foreground"}):d.jsx(uh,{className:"h-4 w-4 text-muted-foreground"})})]}),d.jsx("p",{className:"text-xs text-muted-foreground",children:"Recipients will need this password to open the PDF"})]})]})]}):d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{className:"space-y-2",children:[d.jsx(fe,{htmlFor:"delimiter",children:"Delimiter"}),d.jsxs(Pt,{value:h.delimiter,onValueChange:j=>p({...h,delimiter:j}),children:[d.jsx(_t,{id:"delimiter",children:d.jsx(Ft,{})}),d.jsxs(jt,{children:[d.jsx(ve,{value:",",children:"Comma (,)"}),d.jsx(ve,{value:";",children:"Semicolon (;)"}),d.jsx(ve,{value:" ",children:"Tab"})]})]})]}),d.jsx("div",{className:"space-y-2",children:d.jsxs("div",{className:"flex items-center space-x-2",children:[d.jsx(pn,{id:"include-headers",checked:h.includeHeaders,onCheckedChange:j=>p({...h,includeHeaders:j})}),d.jsx(fe,{htmlFor:"include-headers",className:"text-sm font-normal cursor-pointer",children:"Include column headers"})]})})]})]}),d.jsxs(Ms,{children:[d.jsx(ae,{variant:"outline",onClick:E,disabled:l,children:"Cancel"}),d.jsx(ae,{onClick:C,disabled:l,children:l?d.jsxs(d.Fragment,{children:[d.jsx(Cs,{className:"mr-2 h-4 w-4 animate-spin"}),"Exporting..."]}):d.jsxs(d.Fragment,{children:[d.jsx(Lv,{className:"mr-2 h-4 w-4"}),"Export"]})})]})]})})}function aEe(e,t,n,r=!0,o,s=Intl.DateTimeFormat().resolvedOptions().timeZone){if(e.length===0)return"";const i=n,a=[];return r&&a.push(i.map(oF).join(",")),e.forEach(l=>{const c=i.map(u=>{const f=l[u],h=lEe(f,u,t[u],o,s);return oF(h)});a.push(c.join(","))}),a.join(`
|
|
706
706
|
`)}function lEe(e,t,n,r,o){var s,i,a,l,c,u,f,h,p,m,g,y;if(e==null)return"";if(!n)return String(e);if(n.type==="number"&&typeof e=="number")try{return new Intl.NumberFormat(((s=n.numberFormat)==null?void 0:s.locale)||"en-US",{style:((i=n.numberFormat)==null?void 0:i.style)||"decimal",currency:((a=n.numberFormat)==null?void 0:a.style)==="currency"?((l=n.numberFormat)==null?void 0:l.currency)||"USD":void 0,minimumFractionDigits:((c=n.numberFormat)==null?void 0:c.minimumFractionDigits)??0,maximumFractionDigits:((u=n.numberFormat)==null?void 0:u.maximumFractionDigits)??2}).format(e)}catch{return e.toLocaleString()}else if(n.type==="date"&&e)try{if((f=n.dateFormat)!=null&&f.useRelativeTime)return Fw(String(e));{let b;((h=n.dateFormat)==null?void 0:h.timezone)==="auto"||!((p=n.dateFormat)!=null&&p.timezone)?b=r||o:b=n.dateFormat.timezone;const x=(m=n.dateFormat)!=null&&m.useCustomFormat?n.dateFormat.customFormat:((g=n.dateFormat)==null?void 0:g.format)||"MM/dd/yyyy";return Qg(String(e),x,b,((y=n.dateFormat)==null?void 0:y.sourceTimezone)||"auto")}}catch{return String(e)}else{if(n.type==="badge")return String(e);if(n.type==="progress"&&typeof e=="number")return`${Math.min(Math.max(0,e),100)}%`;if(n.type==="link")return String(e)}return String(e)}function oF(e){return/[",\n\r]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function cEe(e,t,n){const r=new Blob([e],{type:n}),o=URL.createObjectURL(r),s=document.createElement("a");s.href=o,s.download=t,document.body.appendChild(s),s.click(),document.body.removeChild(s),URL.revokeObjectURL(o)}function uEe(e,t,n,r="export.csv",o,s){const i=aEe(e,t,n,!0,o,s);cEe(i,r,"text/csv;charset=utf-8;")}function dEe(e,t){return k.useReducer((n,r)=>t[n][r]??n,e)}var IR="ScrollArea",[WV,CXe]=mr(IR),[fEe,Ps]=WV(IR),qV=k.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:r="hover",dir:o,scrollHideDelay:s=600,...i}=e,[a,l]=k.useState(null),[c,u]=k.useState(null),[f,h]=k.useState(null),[p,m]=k.useState(null),[g,y]=k.useState(null),[b,x]=k.useState(0),[v,w]=k.useState(0),[S,E]=k.useState(!1),[C,_]=k.useState(!1),j=ot(t,P=>l(P)),R=Yu(o);return d.jsx(fEe,{scope:n,type:r,dir:R,scrollHideDelay:s,scrollArea:a,viewport:c,onViewportChange:u,content:f,onContentChange:h,scrollbarX:p,onScrollbarXChange:m,scrollbarXEnabled:S,onScrollbarXEnabledChange:E,scrollbarY:g,onScrollbarYChange:y,scrollbarYEnabled:C,onScrollbarYEnabledChange:_,onCornerWidthChange:x,onCornerHeightChange:w,children:d.jsx(Te.div,{dir:R,...i,ref:j,style:{position:"relative","--radix-scroll-area-corner-width":b+"px","--radix-scroll-area-corner-height":v+"px",...e.style}})})});qV.displayName=IR;var GV="ScrollAreaViewport",YV=k.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:r,nonce:o,...s}=e,i=Ps(GV,n),a=k.useRef(null),l=ot(t,a,i.onViewportChange);return d.jsxs(d.Fragment,{children:[d.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:o}),d.jsx(Te.div,{"data-radix-scroll-area-viewport":"",...s,ref:l,style:{overflowX:i.scrollbarXEnabled?"scroll":"hidden",overflowY:i.scrollbarYEnabled?"scroll":"hidden",...e.style},children:d.jsx("div",{ref:i.onContentChange,style:{minWidth:"100%",display:"table"},children:r})})]})});YV.displayName=GV;var la="ScrollAreaScrollbar",OR=k.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Ps(la,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:i}=o,a=e.orientation==="horizontal";return k.useEffect(()=>(a?s(!0):i(!0),()=>{a?s(!1):i(!1)}),[a,s,i]),o.type==="hover"?d.jsx(hEe,{...r,ref:t,forceMount:n}):o.type==="scroll"?d.jsx(pEe,{...r,ref:t,forceMount:n}):o.type==="auto"?d.jsx(ZV,{...r,ref:t,forceMount:n}):o.type==="always"?d.jsx(FR,{...r,ref:t}):null});OR.displayName=la;var hEe=k.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Ps(la,e.__scopeScrollArea),[s,i]=k.useState(!1);return k.useEffect(()=>{const a=o.scrollArea;let l=0;if(a){const c=()=>{window.clearTimeout(l),i(!0)},u=()=>{l=window.setTimeout(()=>i(!1),o.scrollHideDelay)};return a.addEventListener("pointerenter",c),a.addEventListener("pointerleave",u),()=>{window.clearTimeout(l),a.removeEventListener("pointerenter",c),a.removeEventListener("pointerleave",u)}}},[o.scrollArea,o.scrollHideDelay]),d.jsx(Zn,{present:n||s,children:d.jsx(ZV,{"data-state":s?"visible":"hidden",...r,ref:t})})}),pEe=k.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Ps(la,e.__scopeScrollArea),s=e.orientation==="horizontal",i=Qw(()=>l("SCROLL_END"),100),[a,l]=dEe("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return k.useEffect(()=>{if(a==="idle"){const c=window.setTimeout(()=>l("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(c)}},[a,o.scrollHideDelay,l]),k.useEffect(()=>{const c=o.viewport,u=s?"scrollLeft":"scrollTop";if(c){let f=c[u];const h=()=>{const p=c[u];f!==p&&(l("SCROLL"),i()),f=p};return c.addEventListener("scroll",h),()=>c.removeEventListener("scroll",h)}},[o.viewport,s,l,i]),d.jsx(Zn,{present:n||a!=="hidden",children:d.jsx(FR,{"data-state":a==="hidden"?"hidden":"visible",...r,ref:t,onPointerEnter:we(e.onPointerEnter,()=>l("POINTER_ENTER")),onPointerLeave:we(e.onPointerLeave,()=>l("POINTER_LEAVE"))})})}),ZV=k.forwardRef((e,t)=>{const n=Ps(la,e.__scopeScrollArea),{forceMount:r,...o}=e,[s,i]=k.useState(!1),a=e.orientation==="horizontal",l=Qw(()=>{if(n.viewport){const c=n.viewport.offsetWidth<n.viewport.scrollWidth,u=n.viewport.offsetHeight<n.viewport.scrollHeight;i(a?c:u)}},10);return Xf(n.viewport,l),Xf(n.content,l),d.jsx(Zn,{present:r||s,children:d.jsx(FR,{"data-state":s?"visible":"hidden",...o,ref:t})})}),FR=k.forwardRef((e,t)=>{const{orientation:n="vertical",...r}=e,o=Ps(la,e.__scopeScrollArea),s=k.useRef(null),i=k.useRef(0),[a,l]=k.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),c=eH(a.viewport,a.content),u={...r,sizes:a,onSizesChange:l,hasThumb:c>0&&c<1,onThumbChange:h=>s.current=h,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:h=>i.current=h};function f(h,p){return vEe(h,i.current,a,p)}return n==="horizontal"?d.jsx(mEe,{...u,ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const h=o.viewport.scrollLeft,p=sF(h,a,o.dir);s.current.style.transform=`translate3d(${p}px, 0, 0)`}},onWheelScroll:h=>{o.viewport&&(o.viewport.scrollLeft=h)},onDragScroll:h=>{o.viewport&&(o.viewport.scrollLeft=f(h,o.dir))}}):n==="vertical"?d.jsx(gEe,{...u,ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const h=o.viewport.scrollTop,p=sF(h,a);s.current.style.transform=`translate3d(0, ${p}px, 0)`}},onWheelScroll:h=>{o.viewport&&(o.viewport.scrollTop=h)},onDragScroll:h=>{o.viewport&&(o.viewport.scrollTop=f(h))}}):null}),mEe=k.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=Ps(la,e.__scopeScrollArea),[i,a]=k.useState(),l=k.useRef(null),c=ot(t,l,s.onScrollbarXChange);return k.useEffect(()=>{l.current&&a(getComputedStyle(l.current))},[l]),d.jsx(XV,{"data-orientation":"horizontal",...o,ref:c,sizes:n,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Xw(n)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.x),onDragScroll:u=>e.onDragScroll(u.x),onWheelScroll:(u,f)=>{if(s.viewport){const h=s.viewport.scrollLeft+u.deltaX;e.onWheelScroll(h),nH(h,f)&&u.preventDefault()}},onResize:()=>{l.current&&s.viewport&&i&&r({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:l.current.clientWidth,paddingStart:Wx(i.paddingLeft),paddingEnd:Wx(i.paddingRight)}})}})}),gEe=k.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=Ps(la,e.__scopeScrollArea),[i,a]=k.useState(),l=k.useRef(null),c=ot(t,l,s.onScrollbarYChange);return k.useEffect(()=>{l.current&&a(getComputedStyle(l.current))},[l]),d.jsx(XV,{"data-orientation":"vertical",...o,ref:c,sizes:n,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Xw(n)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.y),onDragScroll:u=>e.onDragScroll(u.y),onWheelScroll:(u,f)=>{if(s.viewport){const h=s.viewport.scrollTop+u.deltaY;e.onWheelScroll(h),nH(h,f)&&u.preventDefault()}},onResize:()=>{l.current&&s.viewport&&i&&r({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:l.current.clientHeight,paddingStart:Wx(i.paddingTop),paddingEnd:Wx(i.paddingBottom)}})}})}),[bEe,KV]=WV(la),XV=k.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:o,onThumbChange:s,onThumbPointerUp:i,onThumbPointerDown:a,onThumbPositionChange:l,onDragScroll:c,onWheelScroll:u,onResize:f,...h}=e,p=Ps(la,n),[m,g]=k.useState(null),y=ot(t,j=>g(j)),b=k.useRef(null),x=k.useRef(""),v=p.viewport,w=r.content-r.viewport,S=ar(u),E=ar(l),C=Qw(f,10);function _(j){if(b.current){const R=j.clientX-b.current.left,P=j.clientY-b.current.top;c({x:R,y:P})}}return k.useEffect(()=>{const j=R=>{const P=R.target;(m==null?void 0:m.contains(P))&&S(R,w)};return document.addEventListener("wheel",j,{passive:!1}),()=>document.removeEventListener("wheel",j,{passive:!1})},[v,m,w,S]),k.useEffect(E,[r,E]),Xf(m,C),Xf(p.content,C),d.jsx(bEe,{scope:n,scrollbar:m,hasThumb:o,onThumbChange:ar(s),onThumbPointerUp:ar(i),onThumbPositionChange:E,onThumbPointerDown:ar(a),children:d.jsx(Te.div,{...h,ref:y,style:{position:"absolute",...h.style},onPointerDown:we(e.onPointerDown,j=>{j.button===0&&(j.target.setPointerCapture(j.pointerId),b.current=m.getBoundingClientRect(),x.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",p.viewport&&(p.viewport.style.scrollBehavior="auto"),_(j))}),onPointerMove:we(e.onPointerMove,_),onPointerUp:we(e.onPointerUp,j=>{const R=j.target;R.hasPointerCapture(j.pointerId)&&R.releasePointerCapture(j.pointerId),document.body.style.webkitUserSelect=x.current,p.viewport&&(p.viewport.style.scrollBehavior=""),b.current=null})})})}),Ux="ScrollAreaThumb",QV=k.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=KV(Ux,e.__scopeScrollArea);return d.jsx(Zn,{present:n||o.hasThumb,children:d.jsx(yEe,{ref:t,...r})})}),yEe=k.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:r,...o}=e,s=Ps(Ux,n),i=KV(Ux,n),{onThumbPositionChange:a}=i,l=ot(t,f=>i.onThumbChange(f)),c=k.useRef(void 0),u=Qw(()=>{c.current&&(c.current(),c.current=void 0)},100);return k.useEffect(()=>{const f=s.viewport;if(f){const h=()=>{if(u(),!c.current){const p=wEe(f,a);c.current=p,a()}};return a(),f.addEventListener("scroll",h),()=>f.removeEventListener("scroll",h)}},[s.viewport,u,a]),d.jsx(Te.div,{"data-state":i.hasThumb?"visible":"hidden",...o,ref:l,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:we(e.onPointerDownCapture,f=>{const p=f.target.getBoundingClientRect(),m=f.clientX-p.left,g=f.clientY-p.top;i.onThumbPointerDown({x:m,y:g})}),onPointerUp:we(e.onPointerUp,i.onThumbPointerUp)})});QV.displayName=Ux;var $R="ScrollAreaCorner",JV=k.forwardRef((e,t)=>{const n=Ps($R,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?d.jsx(xEe,{...e,ref:t}):null});JV.displayName=$R;var xEe=k.forwardRef((e,t)=>{const{__scopeScrollArea:n,...r}=e,o=Ps($R,n),[s,i]=k.useState(0),[a,l]=k.useState(0),c=!!(s&&a);return Xf(o.scrollbarX,()=>{var f;const u=((f=o.scrollbarX)==null?void 0:f.offsetHeight)||0;o.onCornerHeightChange(u),l(u)}),Xf(o.scrollbarY,()=>{var f;const u=((f=o.scrollbarY)==null?void 0:f.offsetWidth)||0;o.onCornerWidthChange(u),i(u)}),c?d.jsx(Te.div,{...r,ref:t,style:{width:s,height:a,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function Wx(e){return e?parseInt(e,10):0}function eH(e,t){const n=e/t;return isNaN(n)?0:n}function Xw(e){const t=eH(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function vEe(e,t,n,r="ltr"){const o=Xw(n),s=o/2,i=t||s,a=o-i,l=n.scrollbar.paddingStart+i,c=n.scrollbar.size-n.scrollbar.paddingEnd-a,u=n.content-n.viewport,f=r==="ltr"?[0,u]:[u*-1,0];return tH([l,c],f)(e)}function sF(e,t,n="ltr"){const r=Xw(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-o,i=t.content-t.viewport,a=s-r,l=n==="ltr"?[0,i]:[i*-1,0],c=G2(e,l);return tH([0,i],[0,a])(c)}function tH(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function nH(e,t){return e>0&&e<t}var wEe=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return function o(){const s={left:e.scrollLeft,top:e.scrollTop},i=n.left!==s.left,a=n.top!==s.top;(i||a)&&t(),n=s,r=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(r)};function Qw(e,t){const n=ar(e),r=k.useRef(0);return k.useEffect(()=>()=>window.clearTimeout(r.current),[]),k.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function Xf(e,t){const n=ar(t);jr(()=>{let r=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return o.observe(e),()=>{window.cancelAnimationFrame(r),o.unobserve(e)}}},[e,n])}var Jw=qV,rH=YV,oH=JV;const Zi=k.forwardRef(({className:e,children:t,...n},r)=>d.jsxs(Jw,{ref:r,className:K("relative overflow-hidden",e),...n,children:[d.jsx(rH,{className:"h-full w-full rounded-[inherit]",children:t}),d.jsx(Ka,{}),d.jsx(oH,{})]}));Zi.displayName=Jw.displayName;const Ka=k.forwardRef(({className:e,orientation:t="vertical",...n},r)=>d.jsx(OR,{ref:r,orientation:t,className:K("flex touch-none select-none transition-colors",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...n,children:d.jsx(QV,{className:"relative flex-1 rounded-full bg-border"})}));Ka.displayName=OR.displayName;const td=k.forwardRef(({className:e,children:t,style:n,...r},o)=>d.jsxs(Jw,{style:n,className:K("relative overflow-hidden",e),children:[d.jsx(rH,{ref:o,...r,className:"h-full w-full rounded-[inherit]",children:t}),d.jsx(Ka,{}),d.jsx(oH,{})]}));td.displayName=Jw.displayName;/**
|