@up-packages/ui 0.16.0-qa → 0.17.0-qa
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/apexcharts.ssr.esm-fe46cd2d-B--fQ2HV.js +19677 -0
- package/dist/apexcharts.ssr.esm-fe46cd2d-B--fQ2HV.js.map +1 -0
- package/dist/components/UpxSelect/UpxSelect.vue.d.ts +2 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/up-ui.css +1 -1
- package/dist/uplexis-ui.js +38592 -11628
- package/dist/uplexis-ui.js.map +1 -1
- package/dist/uplexis-ui.umd.cjs +2051 -4
- package/dist/uplexis-ui.umd.cjs.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apexcharts.ssr.esm-fe46cd2d-B--fQ2HV.js","sources":["../node_modules/vue3-apexcharts/dist/apexcharts.ssr.esm-fe46cd2d.js"],"sourcesContent":["var De = Object.defineProperty, Te = Object.defineProperties, Me = Object.getOwnPropertyDescriptors, Vt = Object.getOwnPropertySymbols, Pe = Object.prototype.hasOwnProperty, Fe = Object.prototype.propertyIsEnumerable, Xt = (A, t, e) => t in A ? De(A, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : A[t] = e, I = (A, t) => {\n for (var e in t || (t = {}))\n Pe.call(t, e) && Xt(A, e, t[e]);\n if (Vt)\n for (var e of Vt(t))\n Fe.call(t, e) && Xt(A, e, t[e]);\n return A;\n}, O = (A, t) => Te(A, Me(t)), Ee = (A, t, e) => Xt(A, typeof t != \"symbol\" ? t + \"\" : t, e), Ut = (A, t, e) => new Promise((s, i) => {\n var a = (n) => {\n try {\n r(e.next(n));\n } catch (l) {\n i(l);\n }\n }, o = (n) => {\n try {\n r(e.throw(n));\n } catch (l) {\n i(l);\n }\n }, r = (n) => n.done ? s(n.value) : Promise.resolve(n.value).then(a, o);\n r((e = e.apply(A, t)).next());\n});\n/*!\n * ApexCharts v5.10.0\n * (c) 2018-2026 ApexCharts\n */\nclass B {\n /**\n * Check if running in server-side rendering environment (Node.js)\n * @returns {boolean} True if in SSR/Node.js, false if in browser\n */\n static isSSR() {\n return typeof window > \"u\" || typeof document > \"u\";\n }\n /**\n * Check if running in browser environment\n * @returns {boolean} True if in browser, false if in SSR/Node.js\n */\n static isBrowser() {\n return !this.isSSR();\n }\n /**\n * Check if a specific browser API is available\n * @param {string} api - Name of the API to check (e.g., 'ResizeObserver')\n * @returns {boolean} True if API is available\n */\n static hasAPI(t) {\n return this.isSSR() ? !1 : typeof window[t] < \"u\";\n }\n /**\n * Returns the global Apex config object regardless of environment.\n * In browser: window.Apex; in SSR/Node.js: global.Apex; fallback: {}.\n * @returns {object}\n */\n static getApex() {\n return typeof window < \"u\" && window.Apex ? window.Apex : typeof global < \"u\" && global.Apex ? global.Apex : {};\n }\n}\nclass Lt {\n constructor(t, e = null) {\n this.nodeName = t, this.namespaceURI = e, this.attributes = /* @__PURE__ */ new Map(), this.children = [], this.textContent = \"\", this.style = {}, this.classList = new Xe(), this.parentNode = null;\n }\n setAttribute(t, e) {\n this.attributes.set(t, e);\n }\n getAttribute(t) {\n return this.attributes.get(t);\n }\n removeAttribute(t) {\n this.attributes.delete(t);\n }\n hasAttribute(t) {\n return this.attributes.has(t);\n }\n appendChild(t) {\n return t && t !== this && (t.parentNode = this, this.children.push(t)), t;\n }\n removeChild(t) {\n const e = this.children.indexOf(t);\n return e !== -1 && (this.children.splice(e, 1), t.parentNode = null), t;\n }\n insertBefore(t, e) {\n if (!e)\n return this.appendChild(t);\n const s = this.children.indexOf(e);\n return s !== -1 && (t.parentNode = this, this.children.splice(s, 0, t)), t;\n }\n cloneNode(t = !1) {\n const e = new Lt(this.nodeName, this.namespaceURI);\n return e.textContent = this.textContent, this.attributes.forEach((s, i) => {\n e.attributes.set(i, s);\n }), Object.assign(e.style, this.style), t && this.children.forEach((s) => {\n s.cloneNode && e.appendChild(s.cloneNode(!0));\n }), e;\n }\n getBoundingClientRect() {\n return {\n width: this._ssrWidth || 0,\n height: this._ssrHeight || 0,\n top: 0,\n left: 0,\n right: this._ssrWidth || 0,\n bottom: this._ssrHeight || 0,\n x: 0,\n y: 0\n };\n }\n getRootNode() {\n let t = this;\n for (; t.parentNode; )\n t = t.parentNode;\n return t;\n }\n querySelector() {\n return null;\n }\n querySelectorAll() {\n return [];\n }\n getElementsByClassName() {\n return [];\n }\n addEventListener() {\n }\n removeEventListener() {\n }\n get childNodes() {\n return this.children;\n }\n toString() {\n let t = \"\";\n if (this.attributes.forEach((s, i) => {\n t += ` ${i}=\"${s}\"`;\n }), this.children.length === 0 && !this.textContent)\n return `<${this.nodeName}${t}/>`;\n const e = this.children.map((s) => s.toString()).join(\"\");\n return `<${this.nodeName}${t}>${this.textContent}${e}</${this.nodeName}>`;\n }\n // Property getters/setters\n get innerHTML() {\n return this.children.map((t) => t.toString()).join(\"\");\n }\n set innerHTML(t) {\n this.children = [], this.textContent = t;\n }\n get outerHTML() {\n return this.toString();\n }\n get isConnected() {\n return !0;\n }\n}\nclass Xe {\n constructor() {\n this.classes = /* @__PURE__ */ new Set();\n }\n add(...t) {\n t.forEach((e) => this.classes.add(e));\n }\n remove(...t) {\n t.forEach((e) => this.classes.delete(e));\n }\n contains(t) {\n return this.classes.has(t);\n }\n toggle(t, e) {\n return e === !0 ? (this.classes.add(t), !0) : e === !1 ? (this.classes.delete(t), !1) : this.classes.has(t) ? (this.classes.delete(t), !1) : (this.classes.add(t), !0);\n }\n toString() {\n return Array.from(this.classes).join(\" \");\n }\n}\nclass Re {\n constructor() {\n this.SVGNS = \"http://www.w3.org/2000/svg\", this.XLINKNS = \"http://www.w3.org/1999/xlink\";\n }\n /**\n * Create SVG element with namespace\n * @param {string} namespaceURI - Namespace URI\n * @param {string} qualifiedName - Element tag name\n * @returns {SSRElement} Mock SVG element\n */\n createElementNS(t, e) {\n return new Lt(e, t);\n }\n /**\n * Create text node\n * @param {string} data - Text content\n * @returns {object} Text node mock\n */\n createTextNode(t) {\n return {\n nodeName: \"#text\",\n nodeType: 3,\n textContent: t,\n toString() {\n return this.textContent;\n }\n };\n }\n /**\n * Query selector (returns null in SSR)\n * @returns {null}\n */\n querySelector() {\n return null;\n }\n /**\n * Query selector all (returns empty array in SSR)\n * @returns {Array}\n */\n querySelectorAll() {\n return [];\n }\n /**\n * Get computed style (returns empty object in SSR)\n * @returns {object}\n */\n getComputedStyle() {\n return {};\n }\n /**\n * Get bounding client rect for element\n * @param {SSRElement} element - Element to measure\n * @returns {object} Mock dimensions\n */\n getBoundingClientRect(t) {\n return t && t.getBoundingClientRect ? t.getBoundingClientRect() : {\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n x: 0,\n y: 0\n };\n }\n /**\n * Create mock XMLSerializer for SSR\n * @returns {object} XMLSerializer mock\n */\n createXMLSerializer() {\n return {\n serializeToString(t) {\n return t.toString ? t.toString() : \"\";\n }\n };\n }\n /**\n * Create mock DOMParser for SSR\n * @returns {object} DOMParser mock\n */\n createDOMParser() {\n return {\n parseFromString(t, e) {\n const s = new Lt(\"root\");\n return s.innerHTML = t, {\n documentElement: s\n };\n }\n };\n }\n}\nlet j = null, ot = null, rt = null;\nclass N {\n /**\n * Initialize the SSR shim if in SSR environment\n * Must be called before using other methods\n */\n static init() {\n B.isSSR() && !j && (j = new Re());\n }\n /**\n * Create an HTML element\n * @param {string} tagName - Element tag name\n * @returns {Element|SSRElement} HTML element\n */\n static createElement(t) {\n return B.isSSR() ? (j || this.init(), j.createElementNS(null, t)) : document.createElement(t);\n }\n /**\n * Create an SVG element with namespace\n * @param {string} namespaceURI - Namespace URI\n * @param {string} qualifiedName - Element tag name\n * @returns {Element|SSRElement} SVG element\n */\n static createElementNS(t, e) {\n return B.isSSR() ? (j || this.init(), j.createElementNS(t, e)) : document.createElementNS(t, e);\n }\n /**\n * Create a text node\n * @param {string} data - Text content\n * @returns {Text|object} Text node\n */\n static createTextNode(t) {\n return B.isSSR() ? (j || this.init(), j.createTextNode(t)) : document.createTextNode(t);\n }\n /**\n * Query selector\n * @param {string} selector - CSS selector\n * @returns {Element|null}\n */\n static querySelector(t) {\n return B.isSSR() ? null : document.querySelector(t);\n }\n /**\n * Query selector all\n * @param {string} selector - CSS selector\n * @returns {NodeList|Array}\n */\n static querySelectorAll(t) {\n return B.isSSR() ? [] : document.querySelectorAll(t);\n }\n /**\n * Get computed style for an element\n * @param {Element} element - Element to get styles for\n * @returns {CSSStyleDeclaration|object}\n */\n static getComputedStyle(t) {\n return B.isSSR() ? {} : window.getComputedStyle(t);\n }\n /**\n * Get bounding client rect for an element\n * @param {Element} element - Element to measure\n * @returns {DOMRect|object}\n */\n static getBoundingClientRect(t) {\n return B.isSSR() ? (j || this.init(), j.getBoundingClientRect(t)) : t ? t.getBoundingClientRect() : {\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n x: 0,\n y: 0\n };\n }\n /**\n * Get XMLSerializer instance\n * @returns {XMLSerializer|object}\n */\n static getXMLSerializer() {\n return B.isSSR() ? (j || this.init(), ot || (ot = j.createXMLSerializer()), ot) : (ot || (ot = new XMLSerializer()), ot);\n }\n /**\n * Get DOMParser instance\n * @returns {DOMParser|object}\n */\n static getDOMParser() {\n return B.isSSR() ? (j || this.init(), rt || (rt = j.createDOMParser()), rt) : (rt || (rt = new DOMParser()), rt);\n }\n /**\n * Add event listener to window\n * @param {string} event - Event name\n * @param {Function} handler - Event handler\n * @param {object} options - Event options\n */\n static addWindowEventListener(t, e, s) {\n B.isBrowser() && window.addEventListener(t, e, s);\n }\n /**\n * Remove event listener from window\n * @param {string} event - Event name\n * @param {Function} handler - Event handler\n * @param {object} options - Event options\n */\n static removeWindowEventListener(t, e, s) {\n B.isBrowser() && window.removeEventListener(t, e, s);\n }\n /**\n * Request animation frame\n * @param {Function} callback - Callback function\n * @returns {number|null}\n */\n static requestAnimationFrame(t) {\n return B.isBrowser() ? window.requestAnimationFrame(t) : (t(), null);\n }\n /**\n * Cancel animation frame\n * @param {number} id - Animation frame ID\n */\n static cancelAnimationFrame(t) {\n B.isBrowser() && t && window.cancelAnimationFrame(t);\n }\n /**\n * Check if element exists\n * @param {Element} element - Element to check\n * @returns {boolean}\n */\n static elementExists(t) {\n return t ? B.isSSR() ? t._ssrMode === !0 || t.nodeName !== void 0 : t.getRootNode ? t.getRootNode({ composed: !0 }) === document || t.isConnected : !1 : !1;\n }\n /**\n * Get window object (or null in SSR)\n * @returns {Window|null}\n */\n static getWindow() {\n return B.isBrowser() ? window : null;\n }\n /**\n * Get document object (or null in SSR)\n * @returns {Document|null}\n */\n static getDocument() {\n return B.isBrowser() ? document : null;\n }\n /**\n * Get the shim instance (for testing purposes)\n * @returns {SSRDOMShim|null}\n */\n static _getShim() {\n return j;\n }\n /**\n * Reset the shim instance (for testing purposes)\n */\n static _resetShim() {\n j = null, ot = null, rt = null;\n }\n}\nlet L = class ht {\n static isObject(t) {\n return t && typeof t == \"object\" && !Array.isArray(t);\n }\n // Type checking that works across different window objects\n static is(t, e) {\n return Object.prototype.toString.call(e) === \"[object \" + t + \"]\";\n }\n static isSafari() {\n return B.isBrowser() && /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n }\n // to extend defaults with user options\n // credit: http://stackoverflow.com/questions/27936772/deep-object-merging-in-es6-es7#answer-34749873\n static extend(t, e) {\n const s = Object.assign({}, t);\n return this.isObject(t) && this.isObject(e) && Object.keys(e).forEach((i) => {\n this.isObject(e[i]) ? i in t ? s[i] = this.extend(t[i], e[i]) : Object.assign(s, {\n [i]: e[i]\n }) : Object.assign(s, {\n [i]: e[i]\n });\n }), s;\n }\n static extendArray(t, e) {\n const s = [];\n return t.map((i) => {\n s.push(ht.extend(e, i));\n }), t = s, t;\n }\n // If month counter exceeds 12, it starts again from 1\n static monthMod(t) {\n return t % 12;\n }\n /**\n * clone object with optional shallow copy for performance\n * @param {*} source - Source object to clone\n * @param {WeakMap} visited - Circular reference tracker\n * @param {boolean} shallow - If true, performs shallow copy (default: false)\n * @returns {*} Cloned object\n */\n static clone(t, e = /* @__PURE__ */ new WeakMap(), s = !1) {\n if (t === null || typeof t != \"object\")\n return t;\n if (e.has(t))\n return e.get(t);\n let i;\n if (Array.isArray(t))\n if (s)\n i = t.slice();\n else {\n i = [], e.set(t, i);\n for (let a = 0; a < t.length; a++)\n i[a] = this.clone(t[a], e, !1);\n }\n else if (t instanceof Date)\n i = new Date(t.getTime());\n else if (s)\n i = Object.assign({}, t);\n else {\n i = {}, e.set(t, i);\n for (const a in t)\n Object.prototype.hasOwnProperty.call(t, a) && (i[a] = this.clone(t[a], e, !1));\n }\n return i;\n }\n /**\n * Shallow clone for performance when deep clone isn't needed\n * @param {*} source - Source to clone\n * @returns {*} Shallow cloned object\n */\n static shallowClone(t) {\n return t === null || typeof t != \"object\" ? t : Array.isArray(t) ? t.slice() : Object.assign({}, t);\n }\n /**\n * Fast shallow equality check for objects\n * @param {Object} obj1 - First object\n * @param {Object} obj2 - Second object\n * @returns {boolean} True if shallowly equal\n */\n static shallowEqual(t, e) {\n if (t === e)\n return !0;\n if (!t || !e)\n return !1;\n if (typeof t != \"object\" || typeof e != \"object\")\n return t === e;\n const s = Object.keys(t), i = Object.keys(e);\n if (s.length !== i.length)\n return !1;\n for (const a of s)\n if (t[a] !== e[a])\n return !1;\n return !0;\n }\n static log10(t) {\n return Math.log(t) / Math.LN10;\n }\n static roundToBase10(t) {\n return Math.pow(10, Math.floor(Math.log10(t)));\n }\n static roundToBase(t, e) {\n return Math.pow(e, Math.floor(Math.log(t) / Math.log(e)));\n }\n static parseNumber(t) {\n return typeof t == \"number\" || t === null ? t : parseFloat(t);\n }\n static stripNumber(t, e = 2) {\n return Number.isInteger(t) ? t : parseFloat(t.toPrecision(e));\n }\n static randomId() {\n return (Math.random() + 1).toString(36).substring(4);\n }\n static noExponents(t) {\n return t.toString().includes(\"e\") ? Math.round(t) : t;\n }\n static elementExists(t) {\n return !(!t || !t.isConnected);\n }\n /**\n * detects if an element is inside a Shadow DOM\n */\n static isInShadowDOM(t) {\n if (!t || !t.getRootNode)\n return !1;\n const e = t.getRootNode();\n return e && e !== document && ht.is(\"ShadowRoot\", e);\n }\n /**\n * gets the shadow root host element\n */\n static getShadowRootHost(t) {\n return ht.isInShadowDOM(t) && t.getRootNode().host || null;\n }\n static getDimensions(t) {\n if (!t)\n return [0, 0];\n if (B.isSSR())\n return [t._ssrWidth || 400, t._ssrHeight || 300];\n const e = t.getRootNode && t.getRootNode();\n if (e && e !== document && e.host) {\n const r = e.host.getBoundingClientRect();\n return [r.width, r.height];\n }\n let i;\n try {\n i = getComputedStyle(t, null);\n } catch {\n return [t.clientWidth || 0, t.clientHeight || 0];\n }\n let a = t.clientHeight, o = t.clientWidth;\n return a -= parseFloat(i.paddingTop) + parseFloat(i.paddingBottom), o -= parseFloat(i.paddingLeft) + parseFloat(i.paddingRight), [o, a];\n }\n static getBoundingClientRect(t) {\n if (!t)\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n width: 0,\n height: 0,\n x: 0,\n y: 0\n };\n if (B.isSSR())\n return N.getBoundingClientRect(t);\n const e = t.getBoundingClientRect();\n return {\n top: e.top,\n right: e.right,\n bottom: e.bottom,\n left: e.left,\n width: t.clientWidth,\n height: t.clientHeight,\n x: e.left,\n y: e.top\n };\n }\n static getLargestStringFromArr(t) {\n return t.reduce((e, s) => (Array.isArray(s) && (s = s.reduce((i, a) => i.length > a.length ? i : a)), e.length > s.length ? e : s), 0);\n }\n // http://stackoverflow.com/questions/5623838/rgb-to-hex-and-hex-to-rgb#answer-12342275\n static hexToRgba(t = \"#999999\", e = 0.6) {\n t.substring(0, 1) !== \"#\" && (t = \"#999999\");\n let s = t.replace(\"#\", \"\");\n s = s.match(new RegExp(\"(.{\" + s.length / 3 + \"})\", \"g\"));\n for (let i = 0; i < s.length; i++)\n s[i] = parseInt(s[i].length === 1 ? s[i] + s[i] : s[i], 16);\n return typeof e < \"u\" && s.push(e), \"rgba(\" + s.join(\",\") + \")\";\n }\n static getOpacityFromRGBA(t) {\n return parseFloat(t.replace(/^.*,(.+)\\)/, \"$1\"));\n }\n static rgb2hex(t) {\n return t = t.match(\n /^rgba?[\\s+]?\\([\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?/i\n ), t && t.length === 4 ? \"#\" + (\"0\" + parseInt(t[1], 10).toString(16)).slice(-2) + (\"0\" + parseInt(t[2], 10).toString(16)).slice(-2) + (\"0\" + parseInt(t[3], 10).toString(16)).slice(-2) : \"\";\n }\n shadeRGBColor(t, e) {\n const s = e.split(\",\"), i = t < 0 ? 0 : 255, a = t < 0 ? t * -1 : t, o = parseInt(s[0].slice(4), 10), r = parseInt(s[1], 10), n = parseInt(s[2], 10);\n return \"rgb(\" + (Math.round((i - o) * a) + o) + \",\" + (Math.round((i - r) * a) + r) + \",\" + (Math.round((i - n) * a) + n) + \")\";\n }\n shadeHexColor(t, e) {\n const s = parseInt(e.slice(1), 16), i = t < 0 ? 0 : 255, a = t < 0 ? t * -1 : t, o = s >> 16, r = s >> 8 & 255, n = s & 255;\n return \"#\" + (16777216 + (Math.round((i - o) * a) + o) * 65536 + (Math.round((i - r) * a) + r) * 256 + (Math.round((i - n) * a) + n)).toString(16).slice(1);\n }\n // beautiful color shading blending code\n // http://stackoverflow.com/questions/5560248/programmatically-lighten-or-darken-a-hex-color-or-rgb-and-blend-colors\n shadeColor(t, e) {\n return ht.isColorHex(e) ? this.shadeHexColor(t, e) : this.shadeRGBColor(t, e);\n }\n static isColorHex(t) {\n return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)|(^#[0-9A-F]{8}$)/i.test(t);\n }\n static isCSSVariable(t) {\n if (typeof t != \"string\")\n return !1;\n const e = t.trim();\n return e.startsWith(\"var(\") && e.endsWith(\")\");\n }\n static getThemeColor(t) {\n if (!ht.isCSSVariable(t) || B.isSSR())\n return t;\n const e = document.createElement(\"div\");\n e.style.cssText = \"position:fixed; left: -9999px; visibility:hidden;\", e.style.color = t, document.body.appendChild(e);\n let s;\n try {\n s = window.getComputedStyle(e).color;\n } finally {\n e.parentNode && e.parentNode.removeChild(e);\n }\n return s;\n }\n static getPolygonPos(t, e) {\n const s = [], i = Math.PI * 2 / e;\n for (let a = 0; a < e; a++) {\n const o = {};\n o.x = t * Math.sin(a * i), o.y = -t * Math.cos(a * i), s.push(o);\n }\n return s;\n }\n static polarToCartesian(t, e, s, i) {\n const a = (i - 90) * Math.PI / 180;\n return {\n x: t + s * Math.cos(a),\n y: e + s * Math.sin(a)\n };\n }\n static escapeString(t, e = \"x\") {\n let s = t.toString().slice();\n return s = s.replace(\n /[` ~!@#$%^&*()|+=?;:'\",.<>{}[\\]\\\\/]/gi,\n e\n ), s;\n }\n static negToZero(t) {\n return t < 0 ? 0 : t;\n }\n static moveIndexInArray(t, e, s) {\n if (s >= t.length) {\n let i = s - t.length + 1;\n for (; i--; )\n t.push(void 0);\n }\n return t.splice(s, 0, t.splice(e, 1)[0]), t;\n }\n static extractNumber(t) {\n return parseFloat(t.replace(/[^\\d.]*/g, \"\"));\n }\n static findAncestor(t, e) {\n for (; (t = t.parentElement) && !t.classList.contains(e); )\n ;\n return t;\n }\n static setELstyles(t, e) {\n for (const s in e)\n Object.prototype.hasOwnProperty.call(e, s) && (t.style.key = e[s]);\n }\n // prevents JS prevision errors when adding\n static preciseAddition(t, e) {\n const s = (String(t).split(\".\")[1] || \"\").length, i = (String(e).split(\".\")[1] || \"\").length, a = Math.pow(10, Math.max(s, i));\n return (Math.round(t * a) + Math.round(e * a)) / a;\n }\n static isNumber(t) {\n return !isNaN(t) && parseFloat(Number(t)) === t && !isNaN(parseInt(t, 10));\n }\n static isFloat(t) {\n return Number(t) === t && t % 1 !== 0;\n }\n static isMsEdge() {\n if (B.isSSR())\n return !1;\n const t = window.navigator.userAgent, e = t.indexOf(\"Edge/\");\n return e > 0 ? parseInt(t.substring(e + 5, t.indexOf(\".\", e)), 10) : !1;\n }\n //\n // Find the Greatest Common Divisor of two numbers\n //\n static getGCD(t, e, s = 7) {\n let i = Math.pow(10, s - Math.floor(Math.log10(Math.max(t, e))));\n for (i > 1 ? (t = Math.round(Math.abs(t) * i), e = Math.round(Math.abs(e) * i)) : i = 1; e; ) {\n const a = e;\n e = t % e, t = a;\n }\n return t / i;\n }\n static getPrimeFactors(t) {\n const e = [];\n let s = 2;\n for (; t >= 2; )\n t % s == 0 ? (e.push(s), t = t / s) : s++;\n return e;\n }\n static mod(t, e, s = 7) {\n const i = Math.pow(10, s - Math.floor(Math.log10(Math.max(t, e))));\n return t = Math.round(Math.abs(t) * i), e = Math.round(Math.abs(e) * i), t % e / i;\n }\n};\nclass q {\n constructor(t) {\n this.w = t, this.months31 = [1, 3, 5, 7, 8, 10, 12], this.months30 = [2, 4, 6, 9, 11], this.daysCntOfYear = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];\n }\n isValidDate(t) {\n return typeof t == \"number\" ? !1 : !isNaN(this.parseDate(t));\n }\n getTimeStamp(t) {\n return Date.parse(t) ? this.w.config.xaxis.labels.datetimeUTC ? new Date(new Date(t).toISOString().substr(0, 25)).getTime() : new Date(t).getTime() : t;\n }\n getDate(t) {\n return this.w.config.xaxis.labels.datetimeUTC ? new Date(new Date(t).toUTCString()) : new Date(t);\n }\n parseDate(t) {\n const e = Date.parse(t);\n if (!isNaN(e))\n return this.getTimeStamp(t);\n let s = Date.parse(t.replace(/-/g, \"/\").replace(/[a-z]+/gi, \" \"));\n return s = this.getTimeStamp(s), s;\n }\n // This fixes the difference of x-axis labels between chrome/safari\n // Fixes #1726, #1544, #1485, #1255\n parseDateWithTimezone(t) {\n return Date.parse(t.replace(/-/g, \"/\").replace(/[a-z]+/gi, \" \"));\n }\n // http://stackoverflow.com/questions/14638018/current-time-formatting-with-javascript#answer-14638191\n formatDate(t, e) {\n const s = this.w.globals.locale, i = this.w.config.xaxis.labels.datetimeUTC, a = [\"\\0\", ...s.months], o = [\"\u0001\", ...s.shortMonths], r = [\"\u0002\", ...s.days], n = [\"\u0003\", ...s.shortDays];\n function l(C, D) {\n let S = C + \"\";\n for (D = D || 2; S.length < D; )\n S = \"0\" + S;\n return S;\n }\n const c = i ? t.getUTCFullYear() : t.getFullYear();\n e = e.replace(/(^|[^\\\\])yyyy+/g, \"$1\" + c), e = e.replace(/(^|[^\\\\])yy/g, \"$1\" + c.toString().substr(2, 2)), e = e.replace(/(^|[^\\\\])y/g, \"$1\" + c);\n const h = (i ? t.getUTCMonth() : t.getMonth()) + 1;\n e = e.replace(/(^|[^\\\\])MMMM+/g, \"$1\" + a[0]), e = e.replace(/(^|[^\\\\])MMM/g, \"$1\" + o[0]), e = e.replace(/(^|[^\\\\])MM/g, \"$1\" + l(h)), e = e.replace(/(^|[^\\\\])M/g, \"$1\" + h);\n const d = i ? t.getUTCDate() : t.getDate();\n e = e.replace(/(^|[^\\\\])dddd+/g, \"$1\" + r[0]), e = e.replace(/(^|[^\\\\])ddd/g, \"$1\" + n[0]), e = e.replace(/(^|[^\\\\])dd/g, \"$1\" + l(d)), e = e.replace(/(^|[^\\\\])d/g, \"$1\" + d);\n const p = i ? t.getUTCHours() : t.getHours();\n e = e.replace(/(^|[^\\\\])HH+/g, \"$1\" + l(p)), e = e.replace(/(^|[^\\\\])H/g, \"$1\" + p);\n const g = p > 12 ? p - 12 : p === 0 ? 12 : p;\n e = e.replace(/(^|[^\\\\])hh+/g, \"$1\" + l(g)), e = e.replace(/(^|[^\\\\])h/g, \"$1\" + g);\n const f = i ? t.getUTCMinutes() : t.getMinutes();\n e = e.replace(/(^|[^\\\\])mm+/g, \"$1\" + l(f)), e = e.replace(/(^|[^\\\\])m/g, \"$1\" + f);\n const x = i ? t.getUTCSeconds() : t.getSeconds();\n e = e.replace(/(^|[^\\\\])ss+/g, \"$1\" + l(x)), e = e.replace(/(^|[^\\\\])s/g, \"$1\" + x);\n let m = i ? t.getUTCMilliseconds() : t.getMilliseconds();\n e = e.replace(/(^|[^\\\\])fff+/g, \"$1\" + l(m, 3)), m = Math.round(m / 10), e = e.replace(/(^|[^\\\\])ff/g, \"$1\" + l(m)), m = Math.round(m / 10), e = e.replace(/(^|[^\\\\])f/g, \"$1\" + m);\n const u = p < 12 ? \"AM\" : \"PM\";\n e = e.replace(/(^|[^\\\\])TT+/g, \"$1\" + u), e = e.replace(/(^|[^\\\\])T/g, \"$1\" + u.charAt(0));\n const y = u.toLowerCase();\n e = e.replace(/(^|[^\\\\])tt+/g, \"$1\" + y), e = e.replace(/(^|[^\\\\])t/g, \"$1\" + y.charAt(0));\n let b = -t.getTimezoneOffset(), w = i || !b ? \"Z\" : b > 0 ? \"+\" : \"-\";\n if (!i) {\n b = Math.abs(b);\n const C = Math.floor(b / 60), D = b % 60;\n w += l(C) + \":\" + l(D);\n }\n e = e.replace(/(^|[^\\\\])K/g, \"$1\" + w);\n const v = (i ? t.getUTCDay() : t.getDay()) + 1;\n return e = e.replace(new RegExp(r[0], \"g\"), r[v]), e = e.replace(new RegExp(n[0], \"g\"), n[v]), e = e.replace(new RegExp(a[0], \"g\"), a[h]), e = e.replace(new RegExp(o[0], \"g\"), o[h]), e = e.replace(/\\\\(.)/g, \"$1\"), e;\n }\n getTimeUnitsfromTimestamp(t, e) {\n const s = this.w;\n s.config.xaxis.min !== void 0 && (t = s.config.xaxis.min), s.config.xaxis.max !== void 0 && (e = s.config.xaxis.max);\n const i = this.getDate(t), a = this.getDate(e), o = this.formatDate(i, \"yyyy MM dd HH mm ss fff\").split(\" \"), r = this.formatDate(a, \"yyyy MM dd HH mm ss fff\").split(\" \");\n return {\n minMillisecond: parseInt(o[6], 10),\n maxMillisecond: parseInt(r[6], 10),\n minSecond: parseInt(o[5], 10),\n maxSecond: parseInt(r[5], 10),\n minMinute: parseInt(o[4], 10),\n maxMinute: parseInt(r[4], 10),\n minHour: parseInt(o[3], 10),\n maxHour: parseInt(r[3], 10),\n minDate: parseInt(o[2], 10),\n maxDate: parseInt(r[2], 10),\n minMonth: parseInt(o[1], 10) - 1,\n maxMonth: parseInt(r[1], 10) - 1,\n minYear: parseInt(o[0], 10),\n maxYear: parseInt(r[0], 10)\n };\n }\n isLeapYear(t) {\n return t % 4 === 0 && t % 100 !== 0 || t % 400 === 0;\n }\n calculcateLastDaysOfMonth(t, e, s) {\n return this.determineDaysOfMonths(t, e) - s;\n }\n determineDaysOfYear(t) {\n let e = 365;\n return this.isLeapYear(t) && (e = 366), e;\n }\n determineRemainingDaysOfYear(t, e, s) {\n let i = this.daysCntOfYear[e] + s;\n return e > 1 && this.isLeapYear() && i++, i;\n }\n determineDaysOfMonths(t, e) {\n let s = 30;\n switch (t = L.monthMod(t), !0) {\n case this.months30.indexOf(t) > -1:\n t === 2 && (this.isLeapYear(e) ? s = 29 : s = 28);\n break;\n case this.months31.indexOf(t) > -1:\n s = 31;\n break;\n default:\n s = 31;\n break;\n }\n return s;\n }\n}\nclass vt {\n constructor(t) {\n this.w = t, this.tooltipKeyFormat = \"dd MMM\";\n }\n xLabelFormat(t, e, s, i) {\n const a = this.w;\n if (a.config.xaxis.type === \"datetime\" && a.config.xaxis.labels.formatter === void 0 && a.config.tooltip.x.formatter === void 0) {\n const o = new q(this.w);\n return o.formatDate(\n o.getDate(e),\n a.config.tooltip.x.format\n );\n }\n return t(e, s, i);\n }\n defaultGeneralFormatter(t) {\n return Array.isArray(t) ? t.map((e) => e) : t;\n }\n defaultYFormatter(t, e) {\n const s = this.w;\n if (L.isNumber(t))\n if (s.globals.yValueDecimal !== 0)\n t = t.toFixed(\n e.decimalsInFloat !== void 0 ? e.decimalsInFloat : s.globals.yValueDecimal\n );\n else {\n const i = t.toFixed(0);\n t = t == i ? i : t.toFixed(1);\n }\n return t;\n }\n setLabelFormatters() {\n const t = this.w, e = t.formatters;\n return e.xaxisTooltipFormatter = (s) => this.defaultGeneralFormatter(s), e.ttKeyFormatter = (s) => this.defaultGeneralFormatter(s), e.ttZFormatter = (s) => s, e.legendFormatter = (s) => this.defaultGeneralFormatter(s), t.config.xaxis.labels.formatter !== void 0 ? e.xLabelFormatter = t.config.xaxis.labels.formatter : e.xLabelFormatter = (s) => {\n if (L.isNumber(s)) {\n if (!t.config.xaxis.convertedCatToNumeric && t.config.xaxis.type === \"numeric\") {\n if (L.isNumber(t.config.xaxis.decimalsInFloat))\n return s.toFixed(t.config.xaxis.decimalsInFloat);\n {\n const i = t.globals.maxX - t.globals.minX;\n return i > 0 && i < 100 ? s.toFixed(1) : s.toFixed(0);\n }\n }\n return t.globals.isBarHorizontal && t.globals.maxY - t.globals.minYArr < 4 ? s.toFixed(1) : s.toFixed(0);\n }\n return s;\n }, typeof t.config.tooltip.x.formatter == \"function\" ? e.ttKeyFormatter = t.config.tooltip.x.formatter : e.ttKeyFormatter = e.xLabelFormatter, typeof t.config.xaxis.tooltip.formatter == \"function\" && (e.xaxisTooltipFormatter = t.config.xaxis.tooltip.formatter), (Array.isArray(t.config.tooltip.y) || t.config.tooltip.y.formatter !== void 0) && (e.ttVal = t.config.tooltip.y), t.config.tooltip.z.formatter !== void 0 && (e.ttZFormatter = t.config.tooltip.z.formatter), t.config.legend.formatter !== void 0 && (e.legendFormatter = t.config.legend.formatter), e.yLabelFormatters = [], t.config.yaxis.forEach((s, i) => {\n s.labels.formatter !== void 0 ? e.yLabelFormatters[i] = s.labels.formatter : e.yLabelFormatters[i] = (a) => t.globals.xyCharts ? Array.isArray(a) ? a.map((o) => this.defaultYFormatter(o, s, i)) : this.defaultYFormatter(a, s, i) : a;\n }), t.globals;\n }\n heatmapLabelFormatters() {\n const t = this.w;\n if (t.config.chart.type === \"heatmap\") {\n t.globals.yAxisScale[0].result = t.seriesData.seriesNames.slice();\n const e = t.seriesData.seriesNames.reduce(\n (s, i) => s.length > i.length ? s : i,\n 0\n );\n t.globals.yAxisScale[0].niceMax = e, t.globals.yAxisScale[0].niceMin = e;\n }\n }\n}\nconst Ft = ({\n isTimeline: A,\n seriesIndex: t,\n dataPointIndex: e,\n y1: s,\n y2: i,\n w: a\n}) => {\n var o;\n let r = a.rangeData.seriesRangeStart[t][e], n = a.rangeData.seriesRangeEnd[t][e], l = a.labelData.labels[e], c = a.config.series[t].name ? a.config.series[t].name : \"\";\n const h = a.formatters.ttKeyFormatter, d = a.config.tooltip.y.title.formatter, p = {\n w: a,\n seriesIndex: t,\n dataPointIndex: e,\n start: r,\n end: n\n };\n typeof d == \"function\" && (c = d(c, p)), (o = a.config.series[t].data[e]) != null && o.x && (l = a.config.series[t].data[e].x), A || a.config.xaxis.type === \"datetime\" && (l = new vt(a).xLabelFormat(a.formatters.ttKeyFormatter, l, l, {\n i: void 0,\n dateFormatter: new q(a).formatDate,\n w: a\n })), typeof h == \"function\" && (l = h(l, p)), Number.isFinite(s) && Number.isFinite(i) && (r = s, n = i);\n let g = \"\", f = \"\";\n const x = a.globals.colors[t];\n if (a.config.tooltip.x.formatter === void 0)\n if (a.config.xaxis.type === \"datetime\") {\n const m = new q(a);\n g = m.formatDate(\n m.getDate(r),\n a.config.tooltip.x.format\n ), f = m.formatDate(\n m.getDate(n),\n a.config.tooltip.x.format\n );\n } else\n g = r, f = n;\n else\n g = a.config.tooltip.x.formatter(r), f = a.config.tooltip.x.formatter(n);\n return { start: r, end: n, startVal: g, endVal: f, ylabel: l, color: x, seriesName: c };\n}, Et = (A) => {\n let { color: t, seriesName: e, ylabel: s, start: i, end: a, seriesIndex: o, dataPointIndex: r } = A;\n const n = A.w.globals.tooltip.tooltipLabels.getFormatters(o);\n i = n.yLbFormatter(i), a = n.yLbFormatter(a);\n const l = n.yLbFormatter(\n A.w.seriesData.series[o][r]\n );\n let c = \"\";\n const h = `<span class=\"value start-value\">\n ${i}\n </span> <span class=\"separator\">-</span> <span class=\"value end-value\">\n ${a}\n </span>`;\n return A.w.globals.comboCharts ? A.w.config.series[o].type === \"rangeArea\" || A.w.config.series[o].type === \"rangeBar\" ? c = h : c = `<span>${l}</span>` : c = h, '<div class=\"apexcharts-tooltip-rangebar\"><div> <span class=\"series-name\" style=\"color: ' + t + '\">' + (e || \"\") + '</span></div><div> <span class=\"category\">' + s + \": </span> \" + c + \" </div></div>\";\n};\nclass bt {\n constructor(t) {\n this.opts = t;\n }\n hideYAxis() {\n this.opts.yaxis[0].show = !1, this.opts.yaxis[0].title.text = \"\", this.opts.yaxis[0].axisBorder.show = !1, this.opts.yaxis[0].axisTicks.show = !1, this.opts.yaxis[0].floating = !0;\n }\n line() {\n return {\n dataLabels: {\n enabled: !1\n },\n stroke: {\n width: 5,\n curve: \"straight\"\n },\n markers: {\n size: 0,\n hover: {\n sizeOffset: 6\n }\n },\n xaxis: {\n crosshairs: {\n width: 1\n }\n }\n };\n }\n sparkline(t) {\n this.hideYAxis();\n const e = {\n grid: {\n show: !1,\n padding: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }\n },\n legend: {\n show: !1\n },\n xaxis: {\n labels: {\n show: !1\n },\n tooltip: {\n enabled: !1\n },\n axisBorder: {\n show: !1\n },\n axisTicks: {\n show: !1\n }\n },\n chart: {\n toolbar: {\n show: !1\n },\n zoom: {\n enabled: !1\n }\n },\n dataLabels: {\n enabled: !1\n }\n };\n return L.extend(t, e);\n }\n slope() {\n return this.hideYAxis(), {\n chart: {\n toolbar: {\n show: !1\n },\n zoom: {\n enabled: !1\n }\n },\n dataLabels: {\n enabled: !0,\n formatter(t, e) {\n const s = e.w.config.series[e.seriesIndex].name;\n return t !== null ? s + \": \" + t : \"\";\n },\n background: {\n enabled: !1\n },\n offsetX: -5\n },\n grid: {\n xaxis: {\n lines: {\n show: !0\n }\n },\n yaxis: {\n lines: {\n show: !1\n }\n }\n },\n xaxis: {\n position: \"top\",\n labels: {\n style: {\n fontSize: 14,\n fontWeight: 900\n }\n },\n tooltip: {\n enabled: !1\n },\n crosshairs: {\n show: !1\n }\n },\n markers: {\n size: 8,\n hover: {\n sizeOffset: 1\n }\n },\n legend: {\n show: !1\n },\n tooltip: {\n shared: !1,\n intersect: !0,\n followCursor: !0\n },\n stroke: {\n width: 5,\n curve: \"straight\"\n }\n };\n }\n bar() {\n return {\n chart: {\n stacked: !1\n },\n plotOptions: {\n bar: {\n dataLabels: {\n position: \"center\"\n }\n }\n },\n dataLabels: {\n style: {\n colors: [\"#fff\"]\n },\n background: {\n enabled: !1\n }\n },\n stroke: {\n width: 0,\n lineCap: \"square\"\n },\n fill: {\n opacity: 0.85\n },\n legend: {\n markers: {\n shape: \"square\"\n }\n },\n tooltip: {\n shared: !1,\n intersect: !0\n },\n xaxis: {\n tooltip: {\n enabled: !1\n },\n tickPlacement: \"between\",\n crosshairs: {\n width: \"barWidth\",\n position: \"back\",\n fill: {\n type: \"gradient\"\n },\n dropShadow: {\n enabled: !1\n },\n stroke: {\n width: 0\n }\n }\n }\n };\n }\n funnel() {\n return this.hideYAxis(), O(I({}, this.bar()), {\n chart: {\n animations: {\n speed: 800,\n animateGradually: {\n enabled: !1\n }\n }\n },\n plotOptions: {\n bar: {\n horizontal: !0,\n borderRadiusApplication: \"around\",\n borderRadius: 0,\n dataLabels: {\n position: \"center\"\n }\n }\n },\n grid: {\n show: !1,\n padding: {\n left: 0,\n right: 0\n }\n },\n xaxis: {\n labels: {\n show: !1\n },\n tooltip: {\n enabled: !1\n },\n axisBorder: {\n show: !1\n },\n axisTicks: {\n show: !1\n }\n }\n });\n }\n candlestick() {\n return {\n stroke: {\n width: 1\n },\n fill: {\n opacity: 1\n },\n dataLabels: {\n enabled: !1\n },\n tooltip: {\n shared: !0,\n custom: ({ seriesIndex: t, dataPointIndex: e, w: s }) => this._getBoxTooltip(\n s,\n t,\n e,\n [\"Open\", \"High\", \"\", \"Low\", \"Close\"],\n \"candlestick\"\n )\n },\n states: {\n active: {\n filter: {\n type: \"none\"\n }\n }\n },\n xaxis: {\n crosshairs: {\n width: 1\n }\n }\n };\n }\n boxPlot() {\n return {\n chart: {\n animations: {\n dynamicAnimation: {\n enabled: !1\n }\n }\n },\n stroke: {\n width: 1,\n colors: [\"#24292e\"]\n },\n dataLabels: {\n enabled: !1\n },\n tooltip: {\n shared: !0,\n custom: ({ seriesIndex: t, dataPointIndex: e, w: s }) => this._getBoxTooltip(\n s,\n t,\n e,\n [\"Minimum\", \"Q1\", \"Median\", \"Q3\", \"Maximum\"],\n \"boxPlot\"\n )\n },\n markers: {\n size: 7,\n strokeWidth: 1,\n strokeColors: \"#111\"\n },\n xaxis: {\n crosshairs: {\n width: 1\n }\n }\n };\n }\n rangeBar() {\n const t = (s) => {\n const { color: i, seriesName: a, ylabel: o, startVal: r, endVal: n } = Ft(O(I({}, s), {\n isTimeline: !0\n }));\n return Et(O(I({}, s), {\n color: i,\n seriesName: a,\n ylabel: o,\n start: r,\n end: n\n }));\n }, e = (s) => {\n const { color: i, seriesName: a, ylabel: o, start: r, end: n } = Ft(s);\n return Et(O(I({}, s), {\n color: i,\n seriesName: a,\n ylabel: o,\n start: r,\n end: n\n }));\n };\n return {\n chart: {\n animations: {\n animateGradually: !1\n }\n },\n stroke: {\n width: 0,\n lineCap: \"square\"\n },\n plotOptions: {\n bar: {\n borderRadius: 0,\n dataLabels: {\n position: \"center\"\n }\n }\n },\n dataLabels: {\n enabled: !1,\n formatter(s, { seriesIndex: i, dataPointIndex: a, w: o }) {\n const r = () => {\n const n = o.rangeData.seriesRangeStart[i][a];\n return o.rangeData.seriesRangeEnd[i][a] - n;\n };\n return o.globals.comboCharts ? o.config.series[i].type === \"rangeBar\" || o.config.series[i].type === \"rangeArea\" ? r() : s : r();\n },\n background: {\n enabled: !1\n },\n style: {\n colors: [\"#fff\"]\n }\n },\n markers: {\n size: 10\n },\n tooltip: {\n shared: !1,\n followCursor: !0,\n custom(s) {\n return s.w.config.plotOptions && s.w.config.plotOptions.bar && s.w.config.plotOptions.bar.horizontal ? t(s) : e(s);\n }\n },\n xaxis: {\n tickPlacement: \"between\",\n tooltip: {\n enabled: !1\n },\n crosshairs: {\n stroke: {\n width: 0\n }\n }\n }\n };\n }\n dumbbell(t) {\n var e, s;\n return (e = t.plotOptions.bar) != null && e.barHeight || (t.plotOptions.bar.barHeight = 2), (s = t.plotOptions.bar) != null && s.columnWidth || (t.plotOptions.bar.columnWidth = 2), t;\n }\n area() {\n return {\n stroke: {\n width: 4,\n fill: {\n type: \"solid\",\n gradient: {\n inverseColors: !1,\n shade: \"light\",\n type: \"vertical\",\n opacityFrom: 0.65,\n opacityTo: 0.5,\n stops: [0, 100, 100]\n }\n }\n },\n fill: {\n type: \"gradient\",\n gradient: {\n inverseColors: !1,\n shade: \"light\",\n type: \"vertical\",\n opacityFrom: 0.65,\n opacityTo: 0.5,\n stops: [0, 100, 100]\n }\n },\n markers: {\n size: 0,\n hover: {\n sizeOffset: 6\n }\n },\n tooltip: {\n followCursor: !1\n }\n };\n }\n rangeArea() {\n const t = (e) => {\n const { color: s, seriesName: i, ylabel: a, start: o, end: r } = Ft(e);\n return Et(O(I({}, e), {\n color: s,\n seriesName: i,\n ylabel: a,\n start: o,\n end: r\n }));\n };\n return {\n stroke: {\n curve: \"straight\",\n width: 0\n },\n fill: {\n type: \"solid\",\n opacity: 0.6\n },\n markers: {\n size: 0\n },\n states: {\n hover: {\n filter: {\n type: \"none\"\n }\n },\n active: {\n filter: {\n type: \"none\"\n }\n }\n },\n tooltip: {\n intersect: !1,\n shared: !0,\n followCursor: !0,\n custom(e) {\n return t(e);\n }\n }\n };\n }\n brush(t) {\n const e = {\n chart: {\n toolbar: {\n autoSelected: \"selection\",\n show: !1\n },\n zoom: {\n enabled: !1\n }\n },\n dataLabels: {\n enabled: !1\n },\n stroke: {\n width: 1\n },\n tooltip: {\n enabled: !1\n },\n xaxis: {\n tooltip: {\n enabled: !1\n }\n }\n };\n return L.extend(t, e);\n }\n stacked100(t) {\n t.dataLabels = t.dataLabels || {}, t.dataLabels.formatter = t.dataLabels.formatter || void 0;\n const e = t.dataLabels.formatter;\n return t.yaxis.forEach((i, a) => {\n t.yaxis[a].min = 0, t.yaxis[a].max = 100;\n }), t.chart.type === \"bar\" && (t.dataLabels.formatter = e || function(i) {\n return typeof i == \"number\" ? i && i.toFixed(0) + \"%\" : i;\n }), t;\n }\n stackedBars() {\n const t = this.bar();\n return O(I({}, t), {\n plotOptions: O(I({}, t.plotOptions), {\n bar: O(I({}, t.plotOptions.bar), {\n borderRadiusApplication: \"end\",\n borderRadiusWhenStacked: \"last\"\n })\n })\n });\n }\n // This function removes the left and right spacing in chart for line/area/scatter if xaxis type = category for those charts by converting xaxis = numeric. Numeric/Datetime xaxis prevents the unnecessary spacing in the left/right of the chart area\n convertCatToNumeric(t) {\n return t.xaxis.convertedCatToNumeric = !0, t;\n }\n convertCatToNumericXaxis(t, e) {\n t.xaxis.type = \"numeric\", t.xaxis.labels = t.xaxis.labels || {}, t.xaxis.labels.formatter = t.xaxis.labels.formatter || function(a) {\n return L.isNumber(a) ? Math.floor(a) : a;\n };\n const s = t.xaxis.labels.formatter;\n let i = t.xaxis.categories && t.xaxis.categories.length ? t.xaxis.categories : t.labels;\n return e && e.length && (i = e.map((a) => Array.isArray(a) ? a : String(a))), i && i.length && (t.xaxis.labels.formatter = function(a) {\n return L.isNumber(a) ? s(i[Math.floor(a) - 1]) : s(a);\n }), t.xaxis.categories = [], t.labels = [], t.xaxis.tickAmount = t.xaxis.tickAmount || \"dataPoints\", t;\n }\n bubble() {\n return {\n dataLabels: {\n style: {\n colors: [\"#fff\"]\n }\n },\n tooltip: {\n shared: !1,\n intersect: !0\n },\n xaxis: {\n crosshairs: {\n width: 0\n }\n },\n fill: {\n type: \"solid\",\n gradient: {\n shade: \"light\",\n inverse: !0,\n shadeIntensity: 0.55,\n opacityFrom: 0.4,\n opacityTo: 0.8\n }\n }\n };\n }\n scatter() {\n return {\n dataLabels: {\n enabled: !1\n },\n tooltip: {\n shared: !1,\n intersect: !0\n },\n markers: {\n size: 6,\n strokeWidth: 1,\n hover: {\n sizeOffset: 2\n }\n }\n };\n }\n heatmap() {\n return {\n chart: {\n stacked: !1\n },\n fill: {\n opacity: 1\n },\n dataLabels: {\n style: {\n colors: [\"#fff\"]\n }\n },\n stroke: {\n colors: [\"#fff\"]\n },\n tooltip: {\n followCursor: !0,\n marker: {\n show: !1\n },\n x: {\n show: !1\n }\n },\n legend: {\n position: \"top\",\n markers: {\n shape: \"square\"\n }\n },\n grid: {\n padding: {\n right: 20\n }\n }\n };\n }\n treemap() {\n return {\n chart: {\n zoom: {\n enabled: !1\n }\n },\n dataLabels: {\n style: {\n fontSize: 14,\n fontWeight: 600,\n colors: [\"#fff\"]\n }\n },\n stroke: {\n show: !0,\n width: 2,\n colors: [\"#fff\"]\n },\n legend: {\n show: !1\n },\n fill: {\n opacity: 1,\n gradient: {\n stops: [0, 100]\n }\n },\n tooltip: {\n followCursor: !0,\n x: {\n show: !1\n }\n },\n grid: {\n padding: {\n left: 0,\n right: 0\n }\n },\n xaxis: {\n crosshairs: {\n show: !1\n },\n tooltip: {\n enabled: !1\n }\n }\n };\n }\n pie() {\n return {\n chart: {\n toolbar: {\n show: !1\n }\n },\n plotOptions: {\n pie: {\n donut: {\n labels: {\n show: !1\n }\n }\n }\n },\n dataLabels: {\n formatter(t) {\n return t.toFixed(1) + \"%\";\n },\n style: {\n colors: [\"#fff\"]\n },\n background: {\n enabled: !1\n },\n dropShadow: {\n enabled: !0\n }\n },\n stroke: {\n colors: [\"#fff\"]\n },\n fill: {\n opacity: 1,\n gradient: {\n shade: \"light\",\n stops: [0, 100]\n }\n },\n tooltip: {\n theme: \"dark\",\n fillSeriesColor: !0\n },\n legend: {\n position: \"right\"\n },\n grid: {\n padding: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }\n }\n };\n }\n donut() {\n return {\n chart: {\n toolbar: {\n show: !1\n }\n },\n dataLabels: {\n formatter(t) {\n return t.toFixed(1) + \"%\";\n },\n style: {\n colors: [\"#fff\"]\n },\n background: {\n enabled: !1\n },\n dropShadow: {\n enabled: !0\n }\n },\n stroke: {\n colors: [\"#fff\"]\n },\n fill: {\n opacity: 1,\n gradient: {\n shade: \"light\",\n shadeIntensity: 0.35,\n stops: [80, 100],\n opacityFrom: 1,\n opacityTo: 1\n }\n },\n tooltip: {\n theme: \"dark\",\n fillSeriesColor: !0\n },\n legend: {\n position: \"right\"\n },\n grid: {\n padding: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }\n }\n };\n }\n polarArea() {\n return {\n chart: {\n toolbar: {\n show: !1\n }\n },\n dataLabels: {\n formatter(t) {\n return t.toFixed(1) + \"%\";\n },\n enabled: !1\n },\n stroke: {\n show: !0,\n width: 2\n },\n fill: {\n opacity: 0.7\n },\n tooltip: {\n theme: \"dark\",\n fillSeriesColor: !0\n },\n legend: {\n position: \"right\"\n },\n grid: {\n padding: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }\n }\n };\n }\n radar() {\n return this.opts.yaxis[0].labels.offsetY = this.opts.yaxis[0].labels.offsetY ? this.opts.yaxis[0].labels.offsetY : 6, {\n dataLabels: {\n enabled: !1,\n style: {\n fontSize: \"11px\"\n }\n },\n stroke: {\n width: 2\n },\n markers: {\n size: 5,\n strokeWidth: 1,\n strokeOpacity: 1\n },\n fill: {\n opacity: 0.2\n },\n tooltip: {\n shared: !1,\n intersect: !0,\n followCursor: !0\n },\n grid: {\n show: !1,\n padding: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }\n },\n xaxis: {\n labels: {\n formatter: (t) => t,\n style: {\n colors: [\"#a8a8a8\"],\n fontSize: \"11px\"\n }\n },\n tooltip: {\n enabled: !1\n },\n crosshairs: {\n show: !1\n }\n }\n };\n }\n radialBar() {\n return {\n chart: {\n animations: {\n dynamicAnimation: {\n enabled: !0,\n speed: 800\n }\n },\n toolbar: {\n show: !1\n }\n },\n fill: {\n gradient: {\n shade: \"dark\",\n shadeIntensity: 0.4,\n inverseColors: !1,\n type: \"diagonal2\",\n opacityFrom: 1,\n opacityTo: 1,\n stops: [70, 98, 100]\n }\n },\n legend: {\n show: !1,\n position: \"right\"\n },\n tooltip: {\n enabled: !1,\n fillSeriesColor: !0\n },\n grid: {\n padding: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }\n }\n };\n }\n _getBoxTooltip(t, e, s, i, a) {\n const o = t.candleData.seriesCandleO[e][s], r = t.candleData.seriesCandleH[e][s], n = t.candleData.seriesCandleM[e][s], l = t.candleData.seriesCandleL[e][s], c = t.candleData.seriesCandleC[e][s];\n return t.config.series[e].type && t.config.series[e].type !== a ? `<div class=\"apexcharts-custom-tooltip\">\n ${t.config.series[e].name ? t.config.series[e].name : \"series-\" + (e + 1)}: <strong>${t.seriesData.series[e][s]}</strong>\n </div>` : `<div class=\"apexcharts-tooltip-box apexcharts-tooltip-${t.config.chart.type}\"><div>${i[0]}: <span class=\"value\">` + o + `</span></div><div>${i[1]}: <span class=\"value\">` + r + \"</span></div>\" + (n ? `<div>${i[2]}: <span class=\"value\">` + n + \"</span></div>\" : \"\") + `<div>${i[3]}: <span class=\"value\">` + l + `</span></div><div>${i[4]}: <span class=\"value\">` + c + \"</span></div></div>\";\n }\n}\nconst Ie = \"en\", Ye = { months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"], shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"], days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"], shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"], toolbar: { exportToSVG: \"Download SVG\", exportToPNG: \"Download PNG\", exportToCSV: \"Download CSV\", menu: \"Menu\", selection: \"Selection\", selectionZoom: \"Selection Zoom\", zoomIn: \"Zoom In\", zoomOut: \"Zoom Out\", pan: \"Panning\", reset: \"Reset Zoom\" } }, le = {\n name: Ie,\n options: Ye\n};\nclass nt {\n constructor() {\n this.yAxis = {\n show: !0,\n showAlways: !1,\n showForNullSeries: !0,\n seriesName: void 0,\n opposite: !1,\n reversed: !1,\n logarithmic: !1,\n logBase: 10,\n tickAmount: void 0,\n stepSize: void 0,\n forceNiceScale: !1,\n max: void 0,\n min: void 0,\n floating: !1,\n decimalsInFloat: void 0,\n labels: {\n show: !0,\n showDuplicates: !1,\n minWidth: 0,\n maxWidth: 160,\n offsetX: 0,\n offsetY: 0,\n align: void 0,\n rotate: 0,\n padding: 20,\n style: {\n colors: [],\n fontSize: \"11px\",\n fontWeight: 400,\n fontFamily: void 0,\n cssClass: \"\"\n },\n formatter: void 0\n },\n axisBorder: {\n show: !1,\n color: \"#e0e0e0\",\n width: 1,\n offsetX: 0,\n offsetY: 0\n },\n axisTicks: {\n show: !1,\n color: \"#e0e0e0\",\n width: 6,\n offsetX: 0,\n offsetY: 0\n },\n title: {\n text: void 0,\n rotate: -90,\n offsetY: 0,\n offsetX: 0,\n style: {\n color: void 0,\n fontSize: \"11px\",\n fontWeight: 900,\n fontFamily: void 0,\n cssClass: \"\"\n }\n },\n tooltip: {\n enabled: !1,\n offsetX: 0\n },\n crosshairs: {\n show: !0,\n position: \"front\",\n stroke: {\n color: \"#b6b6b6\",\n width: 1,\n dashArray: 0\n }\n }\n }, this.pointAnnotation = {\n id: void 0,\n x: 0,\n y: null,\n yAxisIndex: 0,\n seriesIndex: void 0,\n mouseEnter: void 0,\n mouseLeave: void 0,\n click: void 0,\n marker: {\n size: 4,\n fillColor: \"#fff\",\n strokeWidth: 2,\n strokeColor: \"#333\",\n shape: \"circle\",\n offsetX: 0,\n offsetY: 0,\n // radius: 2, // DEPRECATED\n cssClass: \"\"\n },\n label: {\n borderColor: \"#c2c2c2\",\n borderWidth: 1,\n borderRadius: 2,\n text: void 0,\n textAnchor: \"middle\",\n offsetX: 0,\n offsetY: 0,\n mouseEnter: void 0,\n mouseLeave: void 0,\n click: void 0,\n style: {\n background: \"#fff\",\n color: void 0,\n fontSize: \"11px\",\n fontFamily: void 0,\n fontWeight: 400,\n cssClass: \"\",\n padding: {\n left: 5,\n right: 5,\n top: 2,\n bottom: 2\n }\n }\n },\n customSVG: {\n // this will be deprecated in the next major version as it is going to be replaced with a better alternative below (image)\n SVG: void 0,\n cssClass: void 0,\n offsetX: 0,\n offsetY: 0\n },\n image: {\n path: void 0,\n width: 20,\n height: 20,\n offsetX: 0,\n offsetY: 0\n }\n }, this.yAxisAnnotation = {\n id: void 0,\n y: 0,\n y2: null,\n strokeDashArray: 1,\n fillColor: \"#c2c2c2\",\n borderColor: \"#c2c2c2\",\n borderWidth: 1,\n opacity: 0.3,\n offsetX: 0,\n offsetY: 0,\n width: \"100%\",\n yAxisIndex: 0,\n label: {\n borderColor: \"#c2c2c2\",\n borderWidth: 1,\n borderRadius: 2,\n text: void 0,\n textAnchor: \"end\",\n position: \"right\",\n offsetX: 0,\n offsetY: -3,\n mouseEnter: void 0,\n mouseLeave: void 0,\n click: void 0,\n style: {\n background: \"#fff\",\n color: void 0,\n fontSize: \"11px\",\n fontFamily: void 0,\n fontWeight: 400,\n cssClass: \"\",\n padding: {\n left: 5,\n right: 5,\n top: 2,\n bottom: 2\n }\n }\n }\n }, this.xAxisAnnotation = {\n id: void 0,\n x: 0,\n x2: null,\n strokeDashArray: 1,\n fillColor: \"#c2c2c2\",\n borderColor: \"#c2c2c2\",\n borderWidth: 1,\n opacity: 0.3,\n offsetX: 0,\n offsetY: 0,\n label: {\n borderColor: \"#c2c2c2\",\n borderWidth: 1,\n borderRadius: 2,\n text: void 0,\n textAnchor: \"middle\",\n orientation: \"vertical\",\n position: \"top\",\n offsetX: 0,\n offsetY: 0,\n mouseEnter: void 0,\n mouseLeave: void 0,\n click: void 0,\n style: {\n background: \"#fff\",\n color: void 0,\n fontSize: \"11px\",\n fontFamily: void 0,\n fontWeight: 400,\n cssClass: \"\",\n padding: {\n left: 5,\n right: 5,\n top: 2,\n bottom: 2\n }\n }\n }\n }, this.text = {\n x: 0,\n y: 0,\n text: \"\",\n textAnchor: \"start\",\n foreColor: void 0,\n fontSize: \"13px\",\n fontFamily: void 0,\n fontWeight: 400,\n appendTo: \".apexcharts-annotations\",\n backgroundColor: \"transparent\",\n borderColor: \"#c2c2c2\",\n borderRadius: 0,\n borderWidth: 0,\n paddingLeft: 4,\n paddingRight: 4,\n paddingTop: 2,\n paddingBottom: 2\n };\n }\n init() {\n return {\n annotations: {\n yaxis: [this.yAxisAnnotation],\n xaxis: [this.xAxisAnnotation],\n points: [this.pointAnnotation],\n texts: [],\n images: [],\n shapes: []\n },\n chart: {\n animations: {\n enabled: !0,\n speed: 800,\n animateGradually: {\n delay: 150,\n enabled: !0\n },\n dynamicAnimation: {\n enabled: !0,\n speed: 350\n }\n },\n background: \"\",\n locales: [le],\n defaultLocale: \"en\",\n dropShadow: {\n enabled: !1,\n enabledOnSeries: void 0,\n top: 2,\n left: 2,\n blur: 4,\n color: \"#000\",\n opacity: 0.7\n },\n events: {\n animationEnd: void 0,\n beforeMount: void 0,\n mounted: void 0,\n updated: void 0,\n click: void 0,\n mouseMove: void 0,\n mouseLeave: void 0,\n xAxisLabelClick: void 0,\n legendClick: void 0,\n markerClick: void 0,\n selection: void 0,\n dataPointSelection: void 0,\n dataPointMouseEnter: void 0,\n dataPointMouseLeave: void 0,\n beforeZoom: void 0,\n beforeResetZoom: void 0,\n zoomed: void 0,\n scrolled: void 0,\n brushScrolled: void 0,\n keyDown: void 0,\n keyUp: void 0\n },\n foreColor: \"#373d3f\",\n fontFamily: \"Helvetica, Arial, sans-serif\",\n height: \"auto\",\n parentHeightOffset: 15,\n redrawOnParentResize: !0,\n redrawOnWindowResize: !0,\n id: void 0,\n group: void 0,\n nonce: void 0,\n offsetX: 0,\n offsetY: 0,\n injectStyleSheet: !0,\n selection: {\n enabled: !1,\n type: \"x\",\n // selectedPoints: undefined, // default datapoints that should be selected automatically\n fill: {\n color: \"#24292e\",\n opacity: 0.1\n },\n stroke: {\n width: 1,\n color: \"#24292e\",\n opacity: 0.4,\n dashArray: 3\n },\n xaxis: {\n min: void 0,\n max: void 0\n },\n yaxis: {\n min: void 0,\n max: void 0\n }\n },\n sparkline: {\n enabled: !1\n },\n brush: {\n enabled: !1,\n autoScaleYaxis: !0,\n target: void 0,\n targets: void 0\n },\n stacked: !1,\n stackOnlyBar: !0,\n // mixed chart with stacked bars and line series - incorrect line draw #907\n stackType: \"normal\",\n toolbar: {\n show: !0,\n offsetX: 0,\n offsetY: 0,\n tools: {\n download: !0,\n selection: !0,\n zoom: !0,\n zoomin: !0,\n zoomout: !0,\n pan: !0,\n reset: !0,\n customIcons: []\n },\n export: {\n csv: {\n filename: void 0,\n columnDelimiter: \",\",\n headerCategory: \"category\",\n headerValue: \"value\",\n categoryFormatter: void 0,\n valueFormatter: void 0\n },\n png: {\n filename: void 0\n },\n svg: {\n filename: void 0\n },\n scale: void 0,\n width: void 0\n },\n autoSelected: \"zoom\"\n // accepts -> zoom, pan, selection\n },\n type: \"line\",\n width: \"100%\",\n zoom: {\n enabled: !0,\n type: \"x\",\n autoScaleYaxis: !1,\n allowMouseWheelZoom: !0,\n zoomedArea: {\n fill: {\n color: \"#90CAF9\",\n opacity: 0.4\n },\n stroke: {\n color: \"#0D47A1\",\n opacity: 0.4,\n width: 1\n }\n }\n },\n accessibility: {\n enabled: !0,\n description: void 0,\n announcements: {\n enabled: !0\n },\n keyboard: {\n enabled: !0,\n navigation: {\n enabled: !0,\n wrapAround: !1\n }\n }\n }\n },\n parsing: {\n x: void 0,\n y: void 0\n },\n plotOptions: {\n line: {\n isSlopeChart: !1,\n colors: {\n threshold: 0,\n colorAboveThreshold: void 0,\n colorBelowThreshold: void 0\n }\n },\n area: {\n fillTo: \"origin\"\n },\n bar: {\n horizontal: !1,\n columnWidth: \"70%\",\n // should be in percent 0 - 100\n barHeight: \"70%\",\n // should be in percent 0 - 100\n distributed: !1,\n borderRadius: 0,\n borderRadiusApplication: \"around\",\n // [around, end]\n borderRadiusWhenStacked: \"last\",\n // [all, last]\n rangeBarOverlap: !0,\n rangeBarGroupRows: !1,\n hideZeroBarsWhenGrouped: !1,\n isDumbbell: !1,\n dumbbellColors: void 0,\n isFunnel: !1,\n isFunnel3d: !0,\n colors: {\n ranges: [],\n backgroundBarColors: [],\n backgroundBarOpacity: 1,\n backgroundBarRadius: 0\n },\n dataLabels: {\n position: \"top\",\n // top, center, bottom\n maxItems: 100,\n hideOverflowingLabels: !0,\n orientation: \"horizontal\",\n total: {\n enabled: !1,\n formatter: void 0,\n offsetX: 0,\n offsetY: 0,\n style: {\n color: \"#373d3f\",\n fontSize: \"12px\",\n fontFamily: void 0,\n fontWeight: 600\n }\n }\n }\n },\n bubble: {\n zScaling: !0,\n minBubbleRadius: void 0,\n maxBubbleRadius: void 0\n },\n candlestick: {\n colors: {\n upward: \"#00B746\",\n downward: \"#EF403C\"\n },\n wick: {\n useFillColor: !0\n }\n },\n boxPlot: {\n colors: {\n upper: \"#00E396\",\n lower: \"#008FFB\"\n }\n },\n heatmap: {\n radius: 2,\n enableShades: !0,\n shadeIntensity: 0.5,\n reverseNegativeShade: !1,\n distributed: !1,\n useFillColorAsStroke: !1,\n colorScale: {\n inverse: !1,\n ranges: [],\n min: void 0,\n max: void 0\n }\n },\n treemap: {\n enableShades: !0,\n shadeIntensity: 0.5,\n distributed: !1,\n reverseNegativeShade: !1,\n useFillColorAsStroke: !1,\n borderRadius: 4,\n dataLabels: {\n format: \"scale\"\n // scale | truncate\n },\n colorScale: {\n inverse: !1,\n ranges: [],\n min: void 0,\n max: void 0\n },\n seriesTitle: {\n show: !0,\n offsetY: 1,\n offsetX: 1,\n borderColor: \"#000\",\n borderWidth: 1,\n borderRadius: 2,\n style: {\n background: \"rgba(0, 0, 0, 0.6)\",\n color: \"#fff\",\n fontSize: \"12px\",\n fontFamily: void 0,\n fontWeight: 400,\n cssClass: \"\",\n padding: {\n left: 6,\n right: 6,\n top: 2,\n bottom: 2\n }\n }\n }\n },\n radialBar: {\n inverseOrder: !1,\n startAngle: 0,\n endAngle: 360,\n offsetX: 0,\n offsetY: 0,\n hollow: {\n margin: 5,\n size: \"50%\",\n background: \"transparent\",\n image: void 0,\n imageWidth: 150,\n imageHeight: 150,\n imageOffsetX: 0,\n imageOffsetY: 0,\n imageClipped: !0,\n position: \"front\",\n dropShadow: {\n enabled: !1,\n top: 0,\n left: 0,\n blur: 3,\n color: \"#000\",\n opacity: 0.5\n }\n },\n track: {\n show: !0,\n startAngle: void 0,\n endAngle: void 0,\n background: \"#f2f2f2\",\n strokeWidth: \"97%\",\n opacity: 1,\n margin: 5,\n // margin is in pixels\n dropShadow: {\n enabled: !1,\n top: 0,\n left: 0,\n blur: 3,\n color: \"#000\",\n opacity: 0.5\n }\n },\n dataLabels: {\n show: !0,\n name: {\n show: !0,\n fontSize: \"16px\",\n fontFamily: void 0,\n fontWeight: 600,\n color: void 0,\n offsetY: 0,\n formatter(t) {\n return t;\n }\n },\n value: {\n show: !0,\n fontSize: \"14px\",\n fontFamily: void 0,\n fontWeight: 400,\n color: void 0,\n offsetY: 16,\n formatter(t) {\n return t + \"%\";\n }\n },\n total: {\n show: !1,\n label: \"Total\",\n fontSize: \"16px\",\n fontWeight: 600,\n fontFamily: void 0,\n color: void 0,\n formatter(t) {\n return t.globals.seriesTotals.reduce((e, s) => e + s, 0) / t.seriesData.series.length + \"%\";\n }\n }\n },\n barLabels: {\n enabled: !1,\n offsetX: 0,\n offsetY: 0,\n useSeriesColors: !0,\n fontFamily: void 0,\n fontWeight: 600,\n fontSize: \"16px\",\n formatter(t) {\n return t;\n },\n onClick: void 0\n }\n },\n pie: {\n customScale: 1,\n offsetX: 0,\n offsetY: 0,\n startAngle: 0,\n endAngle: 360,\n expandOnClick: !0,\n dataLabels: {\n // These are the percentage values which are displayed on slice\n offset: 0,\n // offset by which labels will move outside\n minAngleToShowLabel: 10\n },\n donut: {\n size: \"65%\",\n background: \"transparent\",\n labels: {\n // These are the inner labels appearing inside donut\n show: !1,\n name: {\n show: !0,\n fontSize: \"16px\",\n fontFamily: void 0,\n fontWeight: 600,\n color: void 0,\n offsetY: -10,\n formatter(t) {\n return t;\n }\n },\n value: {\n show: !0,\n fontSize: \"20px\",\n fontFamily: void 0,\n fontWeight: 400,\n color: void 0,\n offsetY: 10,\n formatter(t) {\n return t;\n }\n },\n total: {\n show: !1,\n showAlways: !1,\n label: \"Total\",\n fontSize: \"16px\",\n fontWeight: 400,\n fontFamily: void 0,\n color: void 0,\n formatter(t) {\n return t.globals.seriesTotals.reduce((e, s) => e + s, 0);\n }\n }\n }\n }\n },\n polarArea: {\n rings: {\n strokeWidth: 1,\n strokeColor: \"#e8e8e8\"\n },\n spokes: {\n strokeWidth: 1,\n connectorColors: \"#e8e8e8\"\n }\n },\n radar: {\n size: void 0,\n offsetX: 0,\n offsetY: 0,\n polygons: {\n // strokeColor: '#e8e8e8', // should be deprecated in the minor version i.e 3.2\n strokeWidth: 1,\n strokeColors: \"#e8e8e8\",\n connectorColors: \"#e8e8e8\",\n fill: {\n colors: void 0\n }\n }\n }\n },\n colors: void 0,\n dataLabels: {\n enabled: !0,\n enabledOnSeries: void 0,\n formatter(t) {\n return t !== null ? t : \"\";\n },\n textAnchor: \"middle\",\n distributed: !1,\n offsetX: 0,\n offsetY: 0,\n style: {\n fontSize: \"12px\",\n fontFamily: void 0,\n fontWeight: 600,\n colors: void 0\n },\n background: {\n enabled: !0,\n foreColor: \"#fff\",\n backgroundColor: void 0,\n borderRadius: 2,\n padding: 4,\n opacity: 0.9,\n borderWidth: 1,\n borderColor: \"#fff\",\n dropShadow: {\n enabled: !1,\n top: 1,\n left: 1,\n blur: 1,\n color: \"#000\",\n opacity: 0.8\n }\n },\n dropShadow: {\n enabled: !1,\n top: 1,\n left: 1,\n blur: 1,\n color: \"#000\",\n opacity: 0.8\n }\n },\n fill: {\n type: \"solid\",\n colors: void 0,\n // array of colors\n opacity: 0.85,\n gradient: {\n shade: \"dark\",\n type: \"horizontal\",\n shadeIntensity: 0.5,\n gradientToColors: void 0,\n inverseColors: !0,\n opacityFrom: 1,\n opacityTo: 1,\n stops: [0, 50, 100],\n colorStops: []\n },\n image: {\n src: [],\n width: void 0,\n // optional\n height: void 0\n // optional\n },\n pattern: {\n style: \"squares\",\n // String | Array of Strings\n width: 6,\n height: 6,\n strokeWidth: 2\n }\n },\n forecastDataPoints: {\n count: 0,\n fillOpacity: 0.5,\n strokeWidth: void 0,\n dashArray: 4\n },\n grid: {\n show: !0,\n borderColor: \"#e0e0e0\",\n strokeDashArray: 0,\n position: \"back\",\n xaxis: {\n lines: {\n show: !1\n }\n },\n yaxis: {\n lines: {\n show: !0\n }\n },\n row: {\n colors: void 0,\n // takes as array which will be repeated on rows\n opacity: 0.5\n },\n column: {\n colors: void 0,\n // takes an array which will be repeated on columns\n opacity: 0.5\n },\n padding: {\n top: 0,\n right: 10,\n bottom: 0,\n left: 12\n }\n },\n labels: [],\n legend: {\n show: !0,\n showForSingleSeries: !1,\n showForNullSeries: !0,\n showForZeroSeries: !0,\n floating: !1,\n position: \"bottom\",\n // whether to position legends in 1 of 4\n // direction - top, bottom, left, right\n horizontalAlign: \"center\",\n // when position top/bottom, you can specify whether to align legends left, right or center\n inverseOrder: !1,\n fontSize: \"12px\",\n fontFamily: void 0,\n fontWeight: 400,\n width: void 0,\n height: void 0,\n formatter: void 0,\n tooltipHoverFormatter: void 0,\n offsetX: -20,\n offsetY: 4,\n customLegendItems: [],\n clusterGroupedSeries: !0,\n clusterGroupedSeriesOrientation: \"vertical\",\n labels: {\n colors: void 0,\n useSeriesColors: !1\n },\n markers: {\n size: 7,\n fillColors: void 0,\n strokeWidth: 1,\n shape: void 0,\n offsetX: 0,\n offsetY: 0,\n customHTML: void 0,\n onClick: void 0\n },\n itemMargin: {\n horizontal: 5,\n vertical: 4\n },\n onItemClick: {\n toggleDataSeries: !0\n },\n onItemHover: {\n highlightDataSeries: !0\n }\n },\n markers: {\n discrete: [],\n size: 0,\n colors: void 0,\n strokeColors: \"#fff\",\n strokeWidth: 2,\n strokeOpacity: 0.9,\n strokeDashArray: 0,\n fillOpacity: 1,\n shape: \"circle\",\n offsetX: 0,\n offsetY: 0,\n showNullDataPoints: !0,\n onClick: void 0,\n onDblClick: void 0,\n hover: {\n size: void 0,\n sizeOffset: 3\n }\n },\n noData: {\n text: void 0,\n align: \"center\",\n verticalAlign: \"middle\",\n offsetX: 0,\n offsetY: 0,\n style: {\n color: void 0,\n fontSize: \"14px\",\n fontFamily: void 0\n }\n },\n responsive: [],\n // breakpoints should follow ascending order 400, then 700, then 1000\n series: void 0,\n states: {\n hover: {\n filter: {\n type: \"lighten\"\n }\n },\n active: {\n allowMultipleDataPointsSelection: !1,\n filter: {\n type: \"darken\"\n }\n }\n },\n title: {\n text: void 0,\n align: \"left\",\n margin: 5,\n offsetX: 0,\n offsetY: 0,\n floating: !1,\n style: {\n fontSize: \"14px\",\n fontWeight: 900,\n fontFamily: void 0,\n color: void 0\n }\n },\n subtitle: {\n text: void 0,\n align: \"left\",\n margin: 5,\n offsetX: 0,\n offsetY: 30,\n floating: !1,\n style: {\n fontSize: \"12px\",\n fontWeight: 400,\n fontFamily: void 0,\n color: void 0\n }\n },\n stroke: {\n show: !0,\n curve: \"smooth\",\n // \"smooth\" / \"straight\" / \"monotoneCubic\" / \"stepline\" / \"linestep\"\n lineCap: \"butt\",\n // round, butt , square\n width: 2,\n colors: void 0,\n // array of colors\n dashArray: 0,\n // single value or array of values\n fill: {\n type: \"solid\",\n colors: void 0,\n // array of colors\n opacity: 0.85,\n gradient: {\n shade: \"dark\",\n type: \"horizontal\",\n shadeIntensity: 0.5,\n gradientToColors: void 0,\n inverseColors: !0,\n opacityFrom: 1,\n opacityTo: 1,\n stops: [0, 50, 100],\n colorStops: []\n }\n }\n },\n tooltip: {\n enabled: !0,\n enabledOnSeries: void 0,\n shared: !0,\n hideEmptySeries: !1,\n followCursor: !1,\n // when disabled, the tooltip will show on top of the series instead of mouse position\n intersect: !1,\n // when enabled, tooltip will only show when user directly hovers over point\n inverseOrder: !1,\n custom: void 0,\n fillSeriesColor: !1,\n theme: \"light\",\n cssClass: \"\",\n style: {\n fontSize: \"12px\",\n fontFamily: void 0\n },\n onDatasetHover: {\n highlightDataSeries: !1\n },\n x: {\n // x value\n show: !0,\n format: \"dd MMM\",\n // dd/MM, dd MMM yy, dd MMM yyyy\n formatter: void 0\n // a custom user supplied formatter function\n },\n y: {\n formatter: void 0,\n title: {\n formatter(t) {\n return t ? t + \": \" : \"\";\n }\n }\n },\n z: {\n formatter: void 0,\n title: \"Size: \"\n },\n marker: {\n show: !0,\n fillColors: void 0\n },\n items: {\n display: \"flex\"\n },\n fixed: {\n enabled: !1,\n position: \"topRight\",\n // topRight, topLeft, bottomRight, bottomLeft\n offsetX: 0,\n offsetY: 0\n }\n },\n xaxis: {\n type: \"category\",\n categories: [],\n convertedCatToNumeric: !1,\n // internal property which should not be altered outside\n offsetX: 0,\n offsetY: 0,\n overwriteCategories: void 0,\n labels: {\n show: !0,\n rotate: -45,\n rotateAlways: !1,\n hideOverlappingLabels: !0,\n trim: !1,\n minHeight: void 0,\n maxHeight: 120,\n showDuplicates: !0,\n style: {\n colors: [],\n fontSize: \"12px\",\n fontWeight: 400,\n fontFamily: void 0,\n cssClass: \"\"\n },\n offsetX: 0,\n offsetY: 0,\n format: void 0,\n formatter: void 0,\n // custom formatter function which will override format\n datetimeUTC: !0,\n datetimeFormatter: {\n year: \"yyyy\",\n month: \"MMM 'yy\",\n day: \"dd MMM\",\n hour: \"HH:mm\",\n minute: \"HH:mm:ss\",\n second: \"HH:mm:ss\"\n }\n },\n group: {\n groups: [],\n style: {\n colors: [],\n fontSize: \"12px\",\n fontWeight: 400,\n fontFamily: void 0,\n cssClass: \"\"\n }\n },\n axisBorder: {\n show: !0,\n color: \"#e0e0e0\",\n width: \"100%\",\n height: 1,\n offsetX: 0,\n offsetY: 0\n },\n axisTicks: {\n show: !0,\n color: \"#e0e0e0\",\n height: 6,\n offsetX: 0,\n offsetY: 0\n },\n stepSize: void 0,\n tickAmount: void 0,\n tickPlacement: \"on\",\n min: void 0,\n max: void 0,\n range: void 0,\n floating: !1,\n decimalsInFloat: void 0,\n position: \"bottom\",\n title: {\n text: void 0,\n offsetX: 0,\n offsetY: 0,\n style: {\n color: void 0,\n fontSize: \"12px\",\n fontWeight: 900,\n fontFamily: void 0,\n cssClass: \"\"\n }\n },\n crosshairs: {\n show: !0,\n width: 1,\n // tickWidth/barWidth or an integer\n position: \"back\",\n opacity: 0.9,\n stroke: {\n color: \"#b6b6b6\",\n width: 1,\n dashArray: 3\n },\n fill: {\n type: \"solid\",\n // solid, gradient\n color: \"#B1B9C4\",\n gradient: {\n colorFrom: \"#D8E3F0\",\n colorTo: \"#BED1E6\",\n stops: [0, 100],\n opacityFrom: 0.4,\n opacityTo: 0.5\n }\n },\n dropShadow: {\n enabled: !1,\n left: 0,\n top: 0,\n blur: 1,\n opacity: 0.8\n }\n },\n tooltip: {\n enabled: !0,\n offsetY: 0,\n formatter: void 0,\n style: {\n fontSize: \"12px\",\n fontFamily: void 0\n }\n }\n },\n yaxis: this.yAxis,\n theme: {\n mode: \"\",\n palette: \"palette1\",\n // If defined, it will overwrite globals.colors variable\n monochrome: {\n // monochrome allows you to select just 1 color and fill out the rest with light/dark shade (intensity can be selected)\n enabled: !1,\n color: \"#008FFB\",\n shadeTo: \"light\",\n shadeIntensity: 0.65\n },\n accessibility: {\n colorBlindMode: \"\"\n // '' | 'deuteranopia' | 'protanopia' | 'tritanopia' | 'highContrast'\n }\n }\n };\n }\n}\nclass yt {\n constructor(t) {\n this.opts = t;\n }\n init({ responsiveOverride: t }) {\n var e, s, i, a, o, r, n, l, c, h;\n let d = this.opts;\n const p = new nt(), g = new bt(d);\n this.chartType = d.chart.type, d = this.extendYAxis(d), d = this.extendAnnotations(d);\n let f = p.init(), x = {};\n if (d && typeof d == \"object\") {\n let u = {};\n [\n \"line\",\n \"area\",\n \"bar\",\n \"candlestick\",\n \"boxPlot\",\n \"rangeBar\",\n \"rangeArea\",\n \"bubble\",\n \"scatter\",\n \"heatmap\",\n \"treemap\",\n \"pie\",\n \"polarArea\",\n \"donut\",\n \"radar\",\n \"radialBar\"\n ].indexOf(d.chart.type) !== -1 ? u = g[d.chart.type]() : u = g.line(), (s = (e = d.plotOptions) == null ? void 0 : e.bar) != null && s.isFunnel && (u = g.funnel()), d.chart.stacked && d.chart.type === \"bar\" && (u = g.stackedBars()), (i = d.chart.brush) != null && i.enabled && (u = g.brush(u)), (o = (a = d.plotOptions) == null ? void 0 : a.line) != null && o.isSlopeChart && (u = g.slope()), d.chart.stacked && d.chart.stackType === \"100%\" && (d = g.stacked100(d)), (n = (r = d.plotOptions) == null ? void 0 : r.bar) != null && n.isDumbbell && (d = g.dumbbell(d)), this.checkForDarkTheme(B.getApex()), this.checkForDarkTheme(d), d.xaxis = d.xaxis || B.getApex().xaxis || {}, t || (d.xaxis.convertedCatToNumeric = !1), d = this.checkForCatToNumericXAxis(this.chartType, u, d), ((l = d.chart.sparkline) != null && l.enabled || (h = (c = B.getApex().chart) == null ? void 0 : c.sparkline) != null && h.enabled) && (u = g.sparkline(u)), x = L.extend(f, u);\n }\n const m = L.extend(x, B.getApex());\n return f = L.extend(m, d), f = this.handleUserInputErrors(f), f;\n }\n checkForCatToNumericXAxis(t, e, s) {\n var i, a;\n const o = new bt(s), r = (t === \"bar\" || t === \"boxPlot\") && ((a = (i = s.plotOptions) == null ? void 0 : i.bar) == null ? void 0 : a.horizontal), n = t === \"pie\" || t === \"polarArea\" || t === \"donut\" || t === \"radar\" || t === \"radialBar\" || t === \"heatmap\", l = s.xaxis.type !== \"datetime\" && s.xaxis.type !== \"numeric\", c = s.xaxis.tickPlacement ? s.xaxis.tickPlacement : e.xaxis && e.xaxis.tickPlacement;\n return !r && !n && l && c !== \"between\" && (s = o.convertCatToNumeric(s)), s;\n }\n extendYAxis(t, e) {\n const s = new nt();\n (typeof t.yaxis > \"u\" || !t.yaxis || Array.isArray(t.yaxis) && t.yaxis.length === 0) && (t.yaxis = {});\n const i = B.getApex();\n t.yaxis.constructor !== Array && i.yaxis && i.yaxis.constructor !== Array && (t.yaxis = L.extend(t.yaxis, i.yaxis)), t.yaxis.constructor !== Array ? t.yaxis = [L.extend(s.yAxis, t.yaxis)] : t.yaxis = L.extendArray(t.yaxis, s.yAxis);\n let a = !1;\n t.yaxis.forEach((r) => {\n r.logarithmic && (a = !0);\n });\n let o = t.series;\n return e && !o && (o = e.config.series), a && o.length !== t.yaxis.length && o.length && (t.yaxis = o.map((r, n) => {\n if (r.name || (o[n].name = `series-${n + 1}`), t.yaxis[n])\n return t.yaxis[n].seriesName = o[n].name, t.yaxis[n];\n {\n const l = L.extend(s.yAxis, t.yaxis[0]);\n return l.show = !1, l;\n }\n })), a && o.length > 1 && o.length !== t.yaxis.length && console.warn(\n \"A multi-series logarithmic chart should have equal number of series and y-axes\"\n ), t;\n }\n // annotations also accepts array, so we need to extend them manually\n extendAnnotations(t) {\n return typeof t.annotations > \"u\" && (t.annotations = {}, t.annotations.yaxis = [], t.annotations.xaxis = [], t.annotations.points = []), t = this.extendYAxisAnnotations(t), t = this.extendXAxisAnnotations(t), t = this.extendPointAnnotations(t), t;\n }\n extendYAxisAnnotations(t) {\n const e = new nt();\n return t.annotations.yaxis = L.extendArray(\n typeof t.annotations.yaxis < \"u\" ? t.annotations.yaxis : [],\n e.yAxisAnnotation\n ), t;\n }\n extendXAxisAnnotations(t) {\n const e = new nt();\n return t.annotations.xaxis = L.extendArray(\n typeof t.annotations.xaxis < \"u\" ? t.annotations.xaxis : [],\n e.xAxisAnnotation\n ), t;\n }\n extendPointAnnotations(t) {\n const e = new nt();\n return t.annotations.points = L.extendArray(\n typeof t.annotations.points < \"u\" ? t.annotations.points : [],\n e.pointAnnotation\n ), t;\n }\n checkForDarkTheme(t) {\n t.theme && t.theme.mode === \"dark\" && (t.tooltip || (t.tooltip = {}), t.tooltip.theme !== \"light\" && (t.tooltip.theme = \"dark\"), t.chart.foreColor || (t.chart.foreColor = \"#f6f7f8\"), t.theme.palette || (t.theme.palette = \"palette4\"));\n }\n handleUserInputErrors(t) {\n const e = t;\n if (e.tooltip.shared && e.tooltip.intersect)\n throw new Error(\n \"tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.\"\n );\n if (e.chart.type === \"bar\" && e.plotOptions.bar.horizontal) {\n if (e.yaxis.length > 1)\n throw new Error(\n \"Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false\"\n );\n e.yaxis[0].reversed && (e.yaxis[0].opposite = !0), e.xaxis.tooltip.enabled = !1, e.yaxis[0].tooltip.enabled = !1, e.chart.zoom.enabled = !1;\n }\n return (e.chart.type === \"bar\" || e.chart.type === \"rangeBar\") && e.tooltip.shared && e.xaxis.crosshairs.width === \"barWidth\" && e.series.length > 1 && (e.xaxis.crosshairs.width = \"tickWidth\"), (e.chart.type === \"candlestick\" || e.chart.type === \"boxPlot\") && e.yaxis[0].reversed && (console.warn(\n `Reversed y-axis in ${e.chart.type} chart is not supported.`\n ), e.yaxis[0].reversed = !1), e;\n }\n}\nconst ce = 1.618, he = [\n [1, 1, 2, 5, 5, 5, 10, 10, 10, 10, 10],\n [1, 1, 2, 5, 5, 5, 10, 10, 10, 10, 10]\n], Rt = [\n 1,\n 2,\n 4,\n 4,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 24\n];\nclass de {\n initGlobalVars(t) {\n t.series = [], t.seriesCandleO = [], t.seriesCandleH = [], t.seriesCandleM = [], t.seriesCandleL = [], t.seriesCandleC = [], t.seriesRangeStart = [], t.seriesRangeEnd = [], t.seriesRange = [], t.seriesPercent = [], t.seriesGoals = [], t.seriesX = [], t.seriesZ = [], t.seriesNames = [], t.seriesTotals = [], t.seriesLog = [], t.seriesColors = [], t.stackedSeriesTotals = [], t.seriesXvalues = [], t.seriesYvalues = [], t.dataWasParsed = !1, t.originalSeries = null, t.maxValsInArrayIndex = 0, t.yValueDecimal = 0, t.allSeriesHasEqualX = !0, t.labels = [], t.hasXaxisGroups = !1, t.groups = [], t.barGroups = [], t.lineGroups = [], t.areaGroups = [], t.hasSeriesGroups = !1, t.seriesGroups = [], t.categoryLabels = [], t.timescaleLabels = [], t.noLabelsProvided = !1, t.isXNumeric = !1, t.skipLastTimelinelabel = !1, t.skipFirstTimelinelabel = !1, t.isDataXYZ = !1, t.isMultiLineX = !1, t.isMultipleYAxis = !1, t.maxY = -Number.MAX_VALUE, t.minY = Number.MIN_VALUE, t.minYArr = [], t.maxYArr = [], t.maxX = -Number.MAX_VALUE, t.minX = Number.MAX_VALUE, t.initialMaxX = -Number.MAX_VALUE, t.initialMinX = Number.MAX_VALUE, t.maxDate = 0, t.minDate = Number.MAX_VALUE, t.minZ = Number.MAX_VALUE, t.maxZ = -Number.MAX_VALUE, t.minXDiff = Number.MAX_VALUE, t.yAxisScale = [], t.xAxisScale = null, t.xAxisTicksPositions = [], t.xRange = 0, t.yRange = [], t.zRange = 0, t.dataPoints = 0, t.xTickAmount = 0, t.multiAxisTickAmount = 0, t.disableZoomIn = !1, t.disableZoomOut = !1, t.yLabelsCoords = [], t.yTitleCoords = [], t.barPadForNumericAxis = 0, t.padHorizontal = 0, t.rotateXLabels = !1, t.overlappingXLabels = !1, t.radialSize = 0, t.barHeight = 0, t.barWidth = 0, t.animationEnded = !1, t.resizeTimer = null, t.selectionResizeTimer = null, t.lastWheelExecution = 0, t.delayedElements = [], t.pointsArray = [], t.dataLabelsRects = [], t.lastDrawnDataLabelsIndexes = [], t.textRectsCache = /* @__PURE__ */ new Map(), t.domCache = /* @__PURE__ */ new Map(), t.dimensionCache = {}, t.cachedSelectors = {}, t.seriesNS || this._attachNamespaces(t);\n }\n /**\n * Attach domain-grouped namespace sub-objects onto gl.\n * Each sub-object is a plain object whose properties are defined as\n * getters/setters that read/write the canonical flat properties on gl.\n * This means there is exactly ONE storage location per value — no copies,\n * no sync needed.\n *\n * Namespaces:\n * gl.series — parsed series data and chart-type-specific arrays\n * gl.axes — axis bounds, scales, ranges, tick state\n * gl.layout — SVG/grid dimensions, translations, label sizes\n * gl.cache — DOM caches, timers, observers, drawing scratch space\n *\n * Note: interact state lives on w.interact (not gl) — see Base.js.\n */\n _attachNamespaces(t) {\n const e = (r, n, l = n) => {\n Object.defineProperty(r, l, {\n get() {\n return t[n];\n },\n set(c) {\n t[n] = c;\n },\n enumerable: !0,\n configurable: !0\n });\n }, s = {};\n e(s, \"series\", \"data\");\n for (const r of [\n \"seriesNames\",\n \"seriesX\",\n \"seriesZ\",\n \"seriesXvalues\",\n \"seriesYvalues\",\n \"seriesGoals\",\n \"seriesLog\",\n \"seriesColors\",\n \"seriesPercent\",\n \"seriesTotals\",\n \"stackedSeriesTotals\",\n \"seriesCandleO\",\n \"seriesCandleH\",\n \"seriesCandleM\",\n \"seriesCandleL\",\n \"seriesCandleC\",\n \"seriesRangeStart\",\n \"seriesRangeEnd\",\n \"seriesRange\",\n \"seriesYAxisMap\",\n \"seriesYAxisReverseMap\",\n \"seriesGroups\",\n \"barGroups\",\n \"lineGroups\",\n \"areaGroups\",\n \"originalSeries\",\n \"collapsedSeries\",\n \"collapsedSeriesIndices\",\n \"ancillaryCollapsedSeries\",\n \"ancillaryCollapsedSeriesIndices\",\n \"allSeriesCollapsed\",\n \"risingSeries\",\n \"previousPaths\",\n \"ignoreYAxisIndexes\",\n \"labels\",\n \"categoryLabels\",\n \"timescaleLabels\",\n \"groups\"\n ])\n e(s, r);\n Object.defineProperty(t, \"seriesNS\", {\n value: s,\n writable: !1,\n enumerable: !1,\n configurable: !0\n });\n const i = {};\n for (const r of [\n \"minX\",\n \"maxX\",\n \"initialMinX\",\n \"initialMaxX\",\n \"minY\",\n \"maxY\",\n \"minYArr\",\n \"maxYArr\",\n \"minZ\",\n \"maxZ\",\n \"minDate\",\n \"maxDate\",\n \"minXDiff\",\n \"xRange\",\n \"yRange\",\n \"zRange\",\n \"xAxisScale\",\n \"yAxisScale\",\n \"xAxisTicksPositions\",\n \"xTickAmount\",\n \"multiAxisTickAmount\",\n \"dataPoints\",\n \"maxValsInArrayIndex\",\n \"isXNumeric\",\n \"isMultipleYAxis\",\n \"isMultiLineX\",\n \"isDataXYZ\",\n \"dataFormatXNumeric\",\n \"allSeriesHasEqualX\",\n \"hasNullValues\",\n \"dataWasParsed\",\n \"hasXaxisGroups\",\n \"hasSeriesGroups\",\n \"skipFirstTimelinelabel\",\n \"skipLastTimelinelabel\",\n \"yValueDecimal\",\n \"invalidLogScale\",\n \"noLabelsProvided\"\n ])\n e(i, r);\n Object.defineProperty(t, \"axes\", {\n value: i,\n writable: !1,\n enumerable: !1,\n configurable: !0\n });\n const a = {};\n for (const r of [\n \"svgWidth\",\n \"svgHeight\",\n \"gridWidth\",\n \"gridHeight\",\n \"translateX\",\n \"translateY\",\n \"translateXAxisX\",\n \"translateXAxisY\",\n \"translateYAxisX\",\n \"xAxisLabelsHeight\",\n \"xAxisGroupLabelsHeight\",\n \"xAxisLabelsWidth\",\n \"yAxisLabelsWidth\",\n \"yAxisWidths\",\n \"yLabelsCoords\",\n \"yTitleCoords\",\n \"padHorizontal\",\n \"barPadForNumericAxis\",\n \"rotateXLabels\",\n \"scaleX\",\n \"scaleY\",\n \"radialSize\",\n \"defaultLabels\",\n \"overlappingXLabels\"\n ])\n e(a, r);\n Object.defineProperty(t, \"layout\", {\n value: a,\n writable: !1,\n enumerable: !1,\n configurable: !0\n });\n const o = {};\n for (const r of [\n \"domCache\",\n \"dimensionCache\",\n \"cachedSelectors\",\n \"textRectsCache\",\n \"pointsArray\",\n \"dataLabelsRects\",\n \"lastDrawnDataLabelsIndexes\",\n \"delayedElements\",\n \"resizeTimer\",\n \"selectionResizeTimer\",\n \"resizeObserver\"\n ])\n e(o, r);\n Object.defineProperty(t, \"cache\", {\n value: o,\n writable: !1,\n enumerable: !1,\n configurable: !0\n });\n }\n /**\n * Persistent chart state — set ONCE at chart construction and intentionally NOT\n * reset by initGlobalVars. These values must survive updateSeries / re-render.\n *\n * Rule: if a value is recalculated fresh on every render it belongs in\n * initGlobalVars instead, not here.\n */\n globalVars(t) {\n return {\n // ── Identity (set once, never changes) ───────────────────────────────────\n chartID: null,\n // full chart ID: \"apexcharts-<cuid>\"\n cuid: null,\n // random suffix only\n // ── Event registry (accumulates listeners, never reset) ───────────────────\n events: {\n beforeMount: [],\n mounted: [],\n updated: [],\n clicked: [],\n selection: [],\n dataPointSelection: [],\n zoomed: [],\n scrolled: []\n },\n // ── Theme colors (set by Theme module after config merge) ─────────────────\n colors: [],\n fill: { colors: [] },\n stroke: { colors: [] },\n dataLabels: { style: { colors: [] } },\n radarPolygons: { fill: { colors: [] } },\n markers: {\n colors: [],\n size: t.markers.size,\n largestSize: 0\n },\n // ── Device / environment detected once at startup ─────────────────────────\n // Note: isTouchDevice lives on w.interact — see Base.js. Shim installed there.\n LINE_HEIGHT_RATIO: ce,\n // ── Chart-type flags (derived from config, set during Core.mount) ─────────\n axisCharts: !0,\n // false for pie/radial/treemap etc.\n isSlopeChart: t.plotOptions.line.isSlopeChart,\n comboCharts: !1,\n // true when mixing line + column series\n // ── Config snapshots (backups for zoom-reset / updateOptions) ────────────\n initialConfig: null,\n // deep clone of the original user config\n initialSeries: [],\n lastXAxis: [],\n lastYAxis: [],\n // ── User interaction state (must survive re-renders) ──────────────────────\n // Note: zoomEnabled, panEnabled, selectionEnabled, zoomed, selection,\n // visibleXRange, selectedDataPoints, mousedown, clientX, clientY,\n // lastClientPosition, lastWheelExecution, capturedSeriesIndex,\n // capturedDataPointIndex, disableZoomIn, disableZoomOut, isTouchDevice\n // live on w.interact — see Base.js. Backward-compat shims installed there.\n // Series collapse state (user-driven, must persist across re-renders)\n allSeriesCollapsed: !1,\n collapsedSeries: [],\n collapsedSeriesIndices: [],\n ancillaryCollapsedSeries: [],\n ancillaryCollapsedSeriesIndices: [],\n risingSeries: [],\n // series being re-shown after collapse\n ignoreYAxisIndexes: [],\n // y-axis indices excluded during series collapse\n // ── Lifecycle / update flags ──────────────────────────────────────────────\n isDirty: !1,\n // true when user called an update method manually\n isExecCalled: !1,\n // true when update came via exec()\n dataChanged: !1,\n // true when series data was changed dynamically\n resized: !1,\n // true after a container resize\n // ── Data format flags (derived from config/series, stable between renders) ─\n // Note: dataFormatXNumeric lives on w.axisFlags — see Base.js. Shim installed there.\n invalidLogScale: !1,\n // true when log scale requested but data is invalid\n hasNullValues: !1,\n // true when any series contains null values\n // Persistent data tracking\n columnSeries: null,\n // tracks which series are rendered as bars/columns\n yaxis: null,\n // resolved yaxis config array\n total: 0,\n // running total (used by pie/radial)\n // ── Animation control ─────────────────────────────────────────────────────\n shouldAnimate: !0,\n previousPaths: [],\n // paths from previous render — source for enter animation\n // ── SVG viewport (set by Dimensions, but persistent as layout anchor) ─────\n svgWidth: 0,\n svgHeight: 0,\n // Note: gridWidth, gridHeight, translateX, translateY, translateXAxisX,\n // translateXAxisY, xAxisLabelsHeight, xAxisGroupLabelsHeight, xAxisLabelsWidth,\n // rotateXLabels, xAxisHeight, yLabelsCoords, yTitleCoords live on w.layout —\n // see Base.js. Backward-compat shims installed there.\n defaultLabels: !1,\n // Note: formatter properties (xLabelFormatter, yLabelFormatters, etc.) live on\n // w.formatters — see Base.js. Backward-compat shims installed there.\n yAxisLabelsWidth: 0,\n scaleX: 1,\n scaleY: 1,\n translateYAxisX: [],\n yAxisWidths: [],\n // ── Instances (created once, replaced only on full re-init) ──────────────\n tooltip: null,\n resizeObserver: null,\n // ── Locale (loaded once; changes only via setLocale()) ───────────────────\n locale: {},\n // ── Method queue (deferred calls during async operations) ────────────────\n memory: {\n methodsToExec: []\n },\n // ── Scale configuration constants — imported from utils/Constants.js ──────\n niceScaleAllowedMagMsd: he,\n niceScaleDefaultTicks: Rt,\n // ── Multi-axis series mapping ─────────────────────────────────────────────\n seriesYAxisMap: [],\n // yAxis index → series indices[]\n seriesYAxisReverseMap: [],\n // series index → yAxis index\n noData: !1\n // true when there is nothing to render\n };\n }\n init(t) {\n const e = this.globalVars(t);\n return this.initGlobalVars(e), e.initialConfig = L.extend({}, t), e.initialSeries = L.clone(t.series), e.lastXAxis = L.clone(e.initialConfig.xaxis), e.lastYAxis = L.clone(e.initialConfig.yaxis), e;\n }\n}\nclass Be {\n constructor(t) {\n this.opts = t;\n }\n init() {\n const t = new yt(this.opts).init({ responsiveOverride: !1 }), e = new de().init(t), s = {\n config: t,\n globals: e,\n dom: {},\n // DOM node cache — lives here, not inside globals\n interact: {\n // Tool mode (derived from toolbar config at construction, updated by Toolbar)\n zoomEnabled: t.chart.toolbar.autoSelected === \"zoom\" && t.chart.toolbar.tools.zoom && t.chart.zoom.enabled,\n panEnabled: t.chart.toolbar.autoSelected === \"pan\" && t.chart.toolbar.tools.pan,\n selectionEnabled: t.chart.toolbar.autoSelected === \"selection\" && t.chart.toolbar.tools.selection,\n // Zoom / pan state (user-driven, must persist across re-renders)\n zoomed: !1,\n selection: void 0,\n visibleXRange: void 0,\n selectedDataPoints: [],\n // Mouse / pointer state\n mousedown: !1,\n clientX: null,\n clientY: null,\n lastClientPosition: {},\n lastWheelExecution: 0,\n // Tooltip capture state\n capturedSeriesIndex: -1,\n capturedDataPointIndex: -1,\n // Timescale zoom bounds (reset per render by TimeScale)\n disableZoomIn: !1,\n disableZoomOut: !1,\n // Device detection (set once at construction)\n isTouchDevice: B.isBrowser() ? \"ontouchstart\" in window || navigator.msMaxTouchPoints > 0 : !1\n },\n formatters: {\n // Populated by Formatters.setLabelFormatters() each render\n xLabelFormatter: void 0,\n yLabelFormatters: [],\n xaxisTooltipFormatter: void 0,\n ttKeyFormatter: void 0,\n ttVal: void 0,\n ttZFormatter: void 0,\n legendFormatter: void 0\n },\n // Candlestick / boxplot OHLC arrays — written by Data.handleCandleStickBoxData()\n // each render; empty for all other chart types.\n candleData: {\n seriesCandleO: [],\n seriesCandleH: [],\n seriesCandleM: [],\n seriesCandleL: [],\n seriesCandleC: []\n },\n // Range chart arrays — written by Data.handleRangeData() each render;\n // empty for all other chart types.\n rangeData: {\n seriesRangeStart: [],\n seriesRangeEnd: [],\n seriesRange: []\n },\n // Label / category data — written by Data.parseData() and TimeScale each render.\n labelData: {\n labels: [],\n categoryLabels: [],\n timescaleLabels: [],\n // written by TimeScale.calculateTimeScaleMinMax()\n hasXaxisGroups: !1,\n groups: [],\n seriesGroups: []\n },\n // Axis / parsing behaviour flags — written by Data.parseData() each render.\n axisFlags: {\n isXNumeric: !1,\n dataFormatXNumeric: !1,\n isDataXYZ: !1,\n isRangeData: !1,\n isRangeBar: !1,\n isMultiLineX: !1,\n noLabelsProvided: !1,\n dataWasParsed: !1\n },\n // Parsed series data — written by Data.parseData() each render.\n // Note: initialSeries and originalSeries are intentionally excluded —\n // they are persistent (survive re-renders) and remain on w.globals.\n seriesData: {\n series: [],\n // main y-values array\n seriesNames: [],\n seriesX: [],\n seriesZ: [],\n seriesColors: [],\n seriesGoals: [],\n stackedSeriesTotals: [],\n stackedSeriesTotalsByGroups: []\n },\n // Grid / axis layout computed by Dimensions.plotCoords() each render.\n // gridWidth/gridHeight/translateX/translateY are also used as starting\n // points by Dimensions on the next render (accumulated values), so the\n // shim must be bidirectional — reads and writes both route correctly.\n layout: {\n gridHeight: 0,\n gridWidth: 0,\n translateX: 0,\n translateY: 0,\n translateXAxisX: 0,\n translateXAxisY: 0,\n rotateXLabels: !1,\n xAxisHeight: 0,\n xAxisLabelsHeight: 0,\n xAxisGroupLabelsHeight: 0,\n xAxisLabelsWidth: 0,\n yLabelsCoords: [],\n yTitleCoords: []\n }\n };\n Object.defineProperty(e, \"dom\", {\n get() {\n return s.dom;\n },\n set(i) {\n s.dom = i;\n },\n enumerable: !1,\n configurable: !0\n });\n for (const i of [\n \"xLabelFormatter\",\n \"yLabelFormatters\",\n \"xaxisTooltipFormatter\",\n \"ttKeyFormatter\",\n \"ttVal\",\n \"ttZFormatter\",\n \"legendFormatter\"\n ])\n Object.defineProperty(e, i, {\n get() {\n return s.formatters[i];\n },\n set(a) {\n s.formatters[i] = a;\n },\n enumerable: !1,\n configurable: !0\n });\n for (const i of [\n \"zoomEnabled\",\n \"panEnabled\",\n \"selectionEnabled\",\n \"zoomed\",\n \"selection\",\n \"visibleXRange\",\n \"selectedDataPoints\",\n \"mousedown\",\n \"clientX\",\n \"clientY\",\n \"lastClientPosition\",\n \"lastWheelExecution\",\n \"capturedSeriesIndex\",\n \"capturedDataPointIndex\",\n \"disableZoomIn\",\n \"disableZoomOut\",\n \"isTouchDevice\"\n ])\n Object.defineProperty(e, i, {\n get() {\n return s.interact[i];\n },\n set(a) {\n s.interact[i] = a;\n },\n enumerable: !1,\n configurable: !0\n });\n for (const i of [\n \"gridHeight\",\n \"gridWidth\",\n \"translateX\",\n \"translateY\",\n \"translateXAxisX\",\n \"translateXAxisY\",\n \"rotateXLabels\",\n \"xAxisHeight\",\n \"xAxisLabelsHeight\",\n \"xAxisGroupLabelsHeight\",\n \"xAxisLabelsWidth\",\n \"yLabelsCoords\",\n \"yTitleCoords\"\n ])\n Object.defineProperty(e, i, {\n get() {\n return s.layout[i];\n },\n set(a) {\n s.layout[i] = a;\n },\n enumerable: !1,\n configurable: !0\n });\n for (const i of [\n \"series\",\n \"seriesNames\",\n \"seriesX\",\n \"seriesZ\",\n \"seriesColors\",\n \"seriesGoals\",\n \"stackedSeriesTotals\",\n \"stackedSeriesTotalsByGroups\"\n ])\n Object.defineProperty(e, i, {\n get() {\n return s.seriesData[i];\n },\n set(a) {\n s.seriesData[i] = a;\n },\n enumerable: !1,\n configurable: !0\n });\n for (const i of [\n \"isXNumeric\",\n \"dataFormatXNumeric\",\n \"isDataXYZ\",\n \"isRangeData\",\n \"isRangeBar\",\n \"isMultiLineX\",\n \"noLabelsProvided\",\n \"dataWasParsed\"\n ])\n Object.defineProperty(e, i, {\n get() {\n return s.axisFlags[i];\n },\n set(a) {\n s.axisFlags[i] = a;\n },\n enumerable: !1,\n configurable: !0\n });\n for (const i of [\n \"labels\",\n \"categoryLabels\",\n \"timescaleLabels\",\n \"hasXaxisGroups\",\n \"groups\",\n \"seriesGroups\"\n ])\n Object.defineProperty(e, i, {\n get() {\n return s.labelData[i];\n },\n set(a) {\n s.labelData[i] = a;\n },\n enumerable: !1,\n configurable: !0\n });\n for (const i of [\"seriesRangeStart\", \"seriesRangeEnd\", \"seriesRange\"])\n Object.defineProperty(e, i, {\n get() {\n return s.rangeData[i];\n },\n set(a) {\n s.rangeData[i] = a;\n },\n enumerable: !1,\n configurable: !0\n });\n for (const i of [\n \"seriesCandleO\",\n \"seriesCandleH\",\n \"seriesCandleM\",\n \"seriesCandleL\",\n \"seriesCandleC\"\n ])\n Object.defineProperty(e, i, {\n get() {\n return s.candleData[i];\n },\n set(a) {\n s.candleData[i] = a;\n },\n enumerable: !1,\n configurable: !0\n });\n return s;\n }\n}\nclass V {\n constructor(t) {\n this.w = t;\n }\n static checkComboSeries(t, e) {\n let s = !1, i = 0, a = 0;\n return e === void 0 && (e = \"line\"), t.length && typeof t[0].type < \"u\" && t.forEach((o) => {\n (o.type === \"bar\" || o.type === \"column\" || o.type === \"candlestick\" || o.type === \"boxPlot\") && i++, typeof o.type < \"u\" && o.type !== e && a++;\n }), a > 0 && (s = !0), {\n comboBarCount: i,\n comboCharts: s\n };\n }\n /**\n * @memberof CoreUtils\n * returns the sum of all individual values in a multiple stacked series\n * Eg. w.seriesData.series = [[32,33,43,12], [2,3,5,1]]\n * @return [34,36,48,13]\n **/\n getStackedSeriesTotals(t = []) {\n const e = this.w, s = [];\n if (e.seriesData.series.length === 0)\n return s;\n for (let i = 0; i < e.seriesData.series[e.globals.maxValsInArrayIndex].length; i++) {\n let a = 0;\n for (let o = 0; o < e.seriesData.series.length; o++)\n typeof e.seriesData.series[o][i] < \"u\" && t.indexOf(o) === -1 && (a += e.seriesData.series[o][i]);\n s.push(a);\n }\n return s;\n }\n // get total of the all values inside all series\n getSeriesTotalByIndex(t = null) {\n return t === null ? this.w.config.series.reduce((e, s) => e + s, 0) : this.w.seriesData.series[t].reduce((e, s) => e + s, 0);\n }\n /**\n * @memberof CoreUtils\n * returns the sum of values in a multiple stacked grouped charts\n * Eg. w.seriesData.series = [[32,33,43,12], [2,3,5,1], [43, 23, 34, 22]]\n * series 1 and 2 are in a group, while series 3 is in another group\n * @return [[34, 36, 48, 12], [43, 23, 34, 22]]\n **/\n getStackedSeriesTotalsByGroups() {\n const t = this.w, e = [];\n return t.labelData.seriesGroups.forEach((s) => {\n const i = [];\n t.config.series.forEach((o, r) => {\n s.indexOf(t.seriesData.seriesNames[r]) > -1 && i.push(r);\n });\n const a = t.seriesData.series.map((o, r) => i.indexOf(r) === -1 ? r : -1).filter((o) => o !== -1);\n e.push(this.getStackedSeriesTotals(a));\n }), e;\n }\n setSeriesYAxisMappings() {\n const t = this.w.globals, e = this.w.config;\n let s = [];\n const i = [], a = [], o = this.w.seriesData.series.length > e.yaxis.length || e.yaxis.some((l) => Array.isArray(l.seriesName));\n e.series.forEach((l, c) => {\n a.push(c), i.push(null);\n }), e.yaxis.forEach((l, c) => {\n s[c] = [];\n });\n const r = [];\n e.yaxis.forEach((l, c) => {\n let h = !1;\n if (l.seriesName) {\n let d = [];\n Array.isArray(l.seriesName) ? d = l.seriesName : d.push(l.seriesName), d.forEach((p) => {\n e.series.forEach((g, f) => {\n if (g.name === p) {\n let x = f;\n c === f || o ? !o || a.indexOf(f) > -1 ? s[c].push([c, f]) : console.warn(\n \"Series '\" + g.name + \"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes.\"\n ) : (s[f].push([f, c]), x = c), h = !0, x = a.indexOf(x), x !== -1 && a.splice(x, 1);\n }\n });\n });\n }\n h || r.push(c);\n }), s = s.map((l) => {\n const c = [];\n return l.forEach((h) => {\n i[h[1]] = h[0], c.push(h[1]);\n }), c;\n });\n let n = e.yaxis.length - 1;\n for (let l = 0; l < r.length && (n = r[l], s[n] = [], a); l++) {\n const c = a[0];\n a.shift(), s[n].push(c), i[c] = n;\n }\n a.forEach((l) => {\n s[n].push(l), i[l] = n;\n }), t.seriesYAxisMap = s.map((l) => l), t.seriesYAxisReverseMap = i.map((l) => l), t.seriesYAxisMap.forEach((l, c) => {\n l.forEach((h) => {\n e.series[h] && e.series[h].group === void 0 && (e.series[h].group = \"apexcharts-axis-\".concat(c.toString()));\n });\n });\n }\n isSeriesNull(t = null) {\n let e = [];\n return t === null ? e = this.w.config.series.filter((s) => s !== null) : e = this.w.config.series[t].data.filter((s) => s !== null), e.length === 0;\n }\n seriesHaveSameValues(t) {\n return this.w.seriesData.series[t].every((e, s, i) => e === i[0]);\n }\n getCategoryLabels(t) {\n const e = this.w;\n let s = t.slice();\n return e.config.xaxis.convertedCatToNumeric && (s = t.map((i) => e.config.xaxis.labels.formatter(i - e.globals.minX + 1))), s;\n }\n // maxValsInArrayIndex is the index of series[] which has the largest number of items\n getLargestSeries() {\n const t = this.w;\n t.globals.maxValsInArrayIndex = t.seriesData.series.map((e) => e.length).indexOf(\n Math.max.apply(\n Math,\n t.seriesData.series.map((e) => e.length)\n )\n );\n }\n getLargestMarkerSize() {\n const t = this.w;\n let e = 0;\n return t.globals.markers.size.forEach((s) => {\n e = Math.max(e, s);\n }), t.config.markers.discrete && t.config.markers.discrete.length && t.config.markers.discrete.forEach((s) => {\n e = Math.max(e, s.size);\n }), e > 0 && (t.config.markers.hover.size > 0 ? e = t.config.markers.hover.size : e += t.config.markers.hover.sizeOffset), t.globals.markers.largestSize = e, e;\n }\n /**\n * @memberof Core\n * returns the sum of all values in a series\n * Eg. w.seriesData.series = [[32,33,43,12], [2,3,5,1]]\n * @return [120, 11]\n **/\n getSeriesTotals() {\n const t = this.w;\n t.globals.seriesTotals = t.seriesData.series.map((e) => {\n let s = 0;\n if (Array.isArray(e))\n for (let i = 0; i < e.length; i++)\n s += e[i];\n else\n s += e;\n return s;\n });\n }\n getSeriesTotalsXRange(t, e) {\n const s = this.w;\n return s.seriesData.series.map((a, o) => {\n let r = 0;\n for (let n = 0; n < a.length; n++)\n s.seriesData.seriesX[o][n] > t && s.seriesData.seriesX[o][n] < e && (r += a[n]);\n return r;\n });\n }\n /**\n * @memberof CoreUtils\n * returns the percentage value of all individual values which can be used in a 100% stacked series\n * Eg. w.seriesData.series = [[32, 33, 43, 12], [2, 3, 5, 1]]\n * @return [[94.11, 91.66, 89.58, 92.30], [5.88, 8.33, 10.41, 7.7]]\n **/\n getPercentSeries() {\n const t = this.w;\n t.globals.seriesPercent = t.seriesData.series.map((e) => {\n const s = [];\n if (Array.isArray(e))\n for (let i = 0; i < e.length; i++) {\n const a = t.seriesData.stackedSeriesTotals[i];\n let o = 0;\n a && (o = 100 * e[i] / a), s.push(o);\n }\n else {\n const i = t.globals.seriesTotals.reduce((o, r) => o + r, 0), a = 100 * e / i;\n s.push(a);\n }\n return s;\n });\n }\n getCalculatedRatios() {\n const t = this.w, e = t.globals, s = [];\n let i = 0, a = 0, o = 0, r = 0, n = [], l = 0.1, c = 0;\n if (e.yRange = [], e.isMultipleYAxis)\n for (let h = 0; h < e.minYArr.length; h++)\n e.yRange.push(Math.abs(e.minYArr[h] - e.maxYArr[h])), n.push(0);\n else\n e.yRange.push(Math.abs(e.minY - e.maxY));\n e.xRange = Math.abs(e.maxX - e.minX), e.zRange = Math.abs(e.maxZ - e.minZ);\n for (let h = 0; h < e.yRange.length; h++)\n s.push(e.yRange[h] / this.w.layout.gridHeight);\n if (a = e.xRange / this.w.layout.gridWidth, i = e.yRange / this.w.layout.gridWidth, o = e.xRange / this.w.layout.gridHeight, r = e.zRange / this.w.layout.gridHeight * 16, r || (r = 1), e.minY !== Number.MIN_VALUE && Math.abs(e.minY) !== 0 && (e.hasNegs = !0), t.globals.seriesYAxisReverseMap.length > 0) {\n const h = (d, p) => {\n const g = t.config.yaxis[t.globals.seriesYAxisReverseMap[p]], f = d < 0 ? -1 : 1;\n return d = Math.abs(d), g.logarithmic && (d = this.getBaseLog(g.logBase, d)), -f * d / s[p];\n };\n if (e.isMultipleYAxis) {\n n = [];\n for (let d = 0; d < s.length; d++)\n n.push(h(e.minYArr[d], d));\n } else\n n = [], n.push(h(e.minY, 0)), e.minY !== Number.MIN_VALUE && Math.abs(e.minY) !== 0 && (l = -e.minY / i, c = e.minX / a);\n } else\n n = [], n.push(0), l = 0, c = 0;\n return {\n yRatio: s,\n invertedYRatio: i,\n zRatio: r,\n xRatio: a,\n invertedXRatio: o,\n baseLineInvertedY: l,\n baseLineY: n,\n baseLineX: c\n };\n }\n getLogSeries(t) {\n const e = this.w;\n return e.globals.seriesLog = t.map((s, i) => {\n const a = e.globals.seriesYAxisReverseMap[i];\n return e.config.yaxis[a] && e.config.yaxis[a].logarithmic ? s.map((o) => o === null ? null : this.getLogVal(e.config.yaxis[a].logBase, o, i)) : s;\n }), e.globals.invalidLogScale ? t : e.globals.seriesLog;\n }\n getLogValAtSeriesIndex(t, e) {\n if (t === null)\n return null;\n const s = this.w, i = s.globals.seriesYAxisReverseMap[e];\n return s.config.yaxis[i] && s.config.yaxis[i].logarithmic ? this.getLogVal(\n s.config.yaxis[i].logBase,\n t,\n e\n ) : t;\n }\n getBaseLog(t, e) {\n return Math.log(e) / Math.log(t);\n }\n getLogVal(t, e, s) {\n if (e <= 0)\n return 0;\n const i = this.w, a = i.globals.minYArr[s] === 0 ? -1 : this.getBaseLog(t, i.globals.minYArr[s]), r = (i.globals.maxYArr[s] === 0 ? 0 : this.getBaseLog(t, i.globals.maxYArr[s])) - a;\n return e < 1 ? e / r : (this.getBaseLog(t, e) - a) / r;\n }\n getLogYRatios(t) {\n const e = this.w, s = this.w.globals;\n return s.yLogRatio = t.slice(), s.logYRange = s.yRange.map((i, a) => {\n const o = e.globals.seriesYAxisReverseMap[a];\n if (e.config.yaxis[o] && this.w.config.yaxis[o].logarithmic) {\n let r = -Number.MAX_VALUE, n = Number.MIN_VALUE, l = 1;\n return s.seriesLog.forEach((c, h) => {\n c.forEach((d) => {\n e.config.yaxis[h] && e.config.yaxis[h].logarithmic && (r = Math.max(d, r), n = Math.min(d, n));\n });\n }), l = Math.pow(s.yRange[a], Math.abs(n - r) / s.yRange[a]), s.yLogRatio[a] = l / this.w.layout.gridHeight, l;\n }\n }), s.invalidLogScale ? t.slice() : s.yLogRatio;\n }\n // Some config objects can be array - and we need to extend them correctly\n static extendArrayProps(t, e, s) {\n var i, a;\n return e != null && e.yaxis && (e = t.extendYAxis(e, s)), e != null && e.annotations && (e.annotations.yaxis && (e = t.extendYAxisAnnotations(e)), (i = e == null ? void 0 : e.annotations) != null && i.xaxis && (e = t.extendXAxisAnnotations(e)), (a = e == null ? void 0 : e.annotations) != null && a.points && (e = t.extendPointAnnotations(e))), e;\n }\n // Series of the same group and type can be stacked together distinct from\n // other series of the same type on the same axis.\n drawSeriesByGroup(t, e, s, i) {\n const a = this.w, o = [];\n return t.series.length > 0 && e.forEach((r) => {\n const n = [], l = [];\n t.i.forEach((c, h) => {\n a.config.series[c].group === r && (n.push(t.series[h]), l.push(c));\n }), n.length > 0 && o.push(i.draw(n, s, l));\n }), o;\n }\n}\nclass ut {\n constructor(t, e) {\n this.w = t, this.ctx = e;\n }\n animateLine(t, e, s, i) {\n t.attr(e).animate(i).attr(s);\n }\n /*\n ** Animate radius of a circle element\n */\n animateMarker(t, e, s, i) {\n t.attr({\n opacity: 0\n }).animate(e).attr({\n opacity: 1\n }).after(() => {\n i();\n });\n }\n /*\n ** Animate rect properties\n */\n animateRect(t, e, s, i, a) {\n t.attr(e).animate(i).attr(s).after(() => a());\n }\n animatePathsGradually(t) {\n const { el: e, realIndex: s, j: i, fill: a, pathFrom: o, pathTo: r, speed: n, delay: l } = t, c = this, h = this.w;\n let d = 0;\n h.config.chart.animations.animateGradually.enabled && (d = h.config.chart.animations.animateGradually.delay), h.config.chart.animations.dynamicAnimation.enabled && h.globals.dataChanged && h.config.chart.type !== \"bar\" && (d = 0), c.morphSVG(\n e,\n s,\n i,\n h.config.chart.type === \"line\" && !h.globals.comboCharts ? \"stroke\" : a,\n o,\n r,\n n,\n l * d\n );\n }\n showDelayedElements() {\n this.w.globals.delayedElements.forEach((t) => {\n const e = t.el;\n e.classList.remove(\"apexcharts-element-hidden\"), e.classList.add(\"apexcharts-hidden-element-shown\");\n });\n }\n animationCompleted(t) {\n const e = this.w;\n e.globals.animationEnded || (e.globals.animationEnded = !0, this.showDelayedElements(), typeof e.config.chart.events.animationEnd == \"function\" && e.config.chart.events.animationEnd(this.ctx, { el: t, w: e }));\n }\n // SVG.js animation for morphing one path to another\n morphSVG(t, e, s, i, a, o, r, n) {\n const l = this.w;\n a || (a = t.attr(\"pathFrom\")), o || (o = t.attr(\"pathTo\"));\n const c = () => (l.config.chart.type === \"radar\" && (r = 1), `M 0 ${l.layout.gridHeight}`);\n (!a || a.indexOf(\"undefined\") > -1 || a.indexOf(\"NaN\") > -1) && (a = c()), (!o.trim() || o.indexOf(\"undefined\") > -1 || o.indexOf(\"NaN\") > -1) && (o = c()), l.globals.shouldAnimate || (r = 1), t.plot(a).animate(1, n).plot(a).animate(r, n).plot(o).after(() => {\n L.isNumber(s) ? s === l.seriesData.series[l.globals.maxValsInArrayIndex].length - 2 && l.globals.shouldAnimate && this.animationCompleted(t) : i !== \"none\" && l.globals.shouldAnimate && (!l.globals.comboCharts && e === l.seriesData.series.length - 1 || l.globals.comboCharts) && this.animationCompleted(t), this.showDelayedElements();\n });\n }\n}\nclass Z {\n constructor(t) {\n this.w = t;\n }\n // create a re-usable filter which can be appended other filter effects and applied to multiple elements\n getDefaultFilter(t, e) {\n const s = this.w;\n t.unfilter && t.unfilter(!0), s.config.chart.dropShadow.enabled && this.dropShadow(t, s.config.chart.dropShadow, e);\n }\n applyFilter(t, e, s) {\n var i, a, o;\n const r = this.w;\n if (t.unfilter && t.unfilter(!0), s === \"none\") {\n this.getDefaultFilter(t, e);\n return;\n }\n const n = r.config.chart.dropShadow, l = s === \"lighten\" ? 2 : 0.3;\n t.filterWith && (t.filterWith((c) => {\n c.colorMatrix({\n type: \"matrix\",\n values: `\n ${l} 0 0 0 0\n 0 ${l} 0 0 0\n 0 0 ${l} 0 0\n 0 0 0 1 0\n `,\n in: \"SourceGraphic\",\n result: \"brightness\"\n }), n.enabled && this.addShadow(c, e, n, \"brightness\");\n }), n.noUserSpaceOnUse || (a = (i = t.filterer()) == null ? void 0 : i.node) == null || a.setAttribute(\"filterUnits\", \"userSpaceOnUse\"), this._scaleFilterSize((o = t.filterer()) == null ? void 0 : o.node));\n }\n // appends dropShadow to the filter object which can be chained with other filter effects\n addShadow(t, e, s, i) {\n var a;\n const o = this.w;\n let { blur: r, top: n, left: l, color: c, opacity: h } = s;\n if (c = Array.isArray(c) ? c[e] : c, ((a = o.config.chart.dropShadow.enabledOnSeries) == null ? void 0 : a.length) > 0 && o.config.chart.dropShadow.enabledOnSeries.indexOf(e) === -1)\n return t;\n t.offset({\n in: i,\n dx: l,\n dy: n,\n result: \"offset\"\n }), t.gaussianBlur({\n in: \"offset\",\n stdDeviation: r,\n result: \"blur\"\n }), t.flood({\n \"flood-color\": c,\n \"flood-opacity\": h,\n result: \"flood\"\n }), t.composite({\n in: \"flood\",\n in2: \"blur\",\n operator: \"in\",\n result: \"shadow\"\n }), t.merge([\"shadow\", i]);\n }\n // directly adds dropShadow to the element and returns the same element.\n dropShadow(t, e, s = 0) {\n var i, a, o, r, n;\n const l = this.w;\n return t.unfilter && t.unfilter(!0), L.isMsEdge() && l.config.chart.type === \"radialBar\" || ((i = l.config.chart.dropShadow.enabledOnSeries) == null ? void 0 : i.length) > 0 && ((a = l.config.chart.dropShadow.enabledOnSeries) == null ? void 0 : a.indexOf(s)) === -1 || t.filterWith && (t.filterWith((c) => {\n this.addShadow(c, s, e, \"SourceGraphic\");\n }), e.noUserSpaceOnUse || (r = (o = t.filterer()) == null ? void 0 : o.node) == null || r.setAttribute(\"filterUnits\", \"userSpaceOnUse\"), this._scaleFilterSize((n = t.filterer()) == null ? void 0 : n.node)), t;\n }\n setSelectionFilter(t, e, s) {\n const i = this.w;\n if (typeof i.interact.selectedDataPoints[e] < \"u\" && i.interact.selectedDataPoints[e].indexOf(s) > -1) {\n t.node.setAttribute(\"selected\", !0);\n const a = i.config.states.active.filter;\n a !== \"none\" && this.applyFilter(t, e, a.type);\n }\n }\n _scaleFilterSize(t) {\n if (!t)\n return;\n ((s) => {\n for (const i in s)\n Object.prototype.hasOwnProperty.call(s, i) && t.setAttribute(i, s[i]);\n })({\n width: \"200%\",\n height: \"200%\",\n x: \"-50%\",\n y: \"-50%\"\n });\n }\n}\nclass P {\n constructor(t, e = null) {\n this.w = t, this.ctx = e;\n }\n /*****************************************************************************\n * *\n * SVG Path Rounding Function *\n * Copyright (C) 2014 Yona Appletree *\n * *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); *\n * you may not use this file except in compliance with the License. *\n * You may obtain a copy of the License at *\n * *\n * http://www.apache.org/licenses/LICENSE-2.0 *\n * *\n * Unless required by applicable law or agreed to in writing, software *\n * distributed under the License is distributed on an \"AS IS\" BASIS, *\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *\n * See the License for the specific language governing permissions and *\n * limitations under the License. *\n * *\n *****************************************************************************/\n /**\n * SVG Path rounding function. Takes an input path string and outputs a path\n * string where all line-line corners have been rounded. Only supports absolute\n * commands at the moment.\n *\n * @param pathString The SVG input path\n * @param radius The amount to round the corners, either a value in the SVG\n * coordinate space, or, if useFractionalRadius is true, a value\n * from 0 to 1.\n * @returns A new SVG path string with the rounding\n */\n roundPathCorners(t, e) {\n t.indexOf(\"NaN\") > -1 && (t = \"\");\n function s(S, k, F) {\n var T = k.x - S.x, M = k.y - S.y, E = Math.sqrt(T * T + M * M);\n return i(\n S,\n k,\n Math.min(1, F / E)\n );\n }\n function i(S, k, F) {\n return {\n x: S.x + (k.x - S.x) * F,\n y: S.y + (k.y - S.y) * F\n };\n }\n function a(S, k) {\n S.length > 2 && (S[S.length - 2] = k.x, S[S.length - 1] = k.y);\n }\n function o(S) {\n return {\n x: parseFloat(S[S.length - 2]),\n y: parseFloat(S[S.length - 1])\n };\n }\n var r = t.split(/[,\\s]/).reduce(function(S, k) {\n var F = k.match(/^([a-zA-Z])(.+)/);\n return F ? (S.push(F[1]), S.push(F[2])) : S.push(k), S;\n }, []), n = r.reduce(function(S, k) {\n return parseFloat(k) == k && S.length ? S[S.length - 1].push(k) : S.push([k]), S;\n }, []), l = [];\n if (n.length > 1) {\n var c = o(n[0]), h = null;\n n[n.length - 1][0] == \"Z\" && n[0].length > 2 && (h = [\"L\", c.x, c.y], n[n.length - 1] = h), l.push(n[0]);\n for (var d = 1; d < n.length; d++) {\n var p = l[l.length - 1], g = n[d], f = g == h ? n[1] : n[d + 1];\n if (f && p && p.length > 2 && g[0] == \"L\" && f.length > 2 && f[0] == \"L\") {\n var x = o(p), m = o(g), u = o(f), y, b;\n y = s(m, x, e), b = s(m, u, e), a(g, y), g.origPoint = m, l.push(g);\n var w = i(y, m, 0.5), v = i(m, b, 0.5), C = [\n \"C\",\n w.x,\n w.y,\n v.x,\n v.y,\n b.x,\n b.y\n ];\n C.origPoint = m, l.push(C);\n } else\n l.push(g);\n }\n if (h) {\n var D = o(\n l[l.length - 1]\n );\n l.push([\"Z\"]), a(l[0], D);\n }\n } else\n l = n;\n return l.reduce(function(S, k) {\n return S + k.join(\" \") + \" \";\n }, \"\");\n }\n drawLine(t, e, s, i, a = \"#a8a8a8\", o = 0, r = null, n = \"butt\") {\n return this.w.dom.Paper.line().attr({\n x1: t,\n y1: e,\n x2: s,\n y2: i,\n stroke: a,\n \"stroke-dasharray\": o,\n \"stroke-width\": r,\n \"stroke-linecap\": n\n });\n }\n drawRect(t = 0, e = 0, s = 0, i = 0, a = 0, o = \"#fefefe\", r = 1, n = null, l = null, c = 0) {\n const d = this.w.dom.Paper.rect();\n return d.attr({\n x: t,\n y: e,\n width: s > 0 ? s : 0,\n height: i > 0 ? i : 0,\n rx: a,\n ry: a,\n opacity: r,\n \"stroke-width\": n !== null ? n : 0,\n stroke: l !== null ? l : \"none\",\n \"stroke-dasharray\": c\n }), d.node.setAttribute(\"fill\", o), d;\n }\n drawPolygon(t, e = \"#e1e1e1\", s = 1, i = \"none\") {\n return this.w.dom.Paper.polygon(t).attr({\n fill: i,\n stroke: e,\n \"stroke-width\": s\n });\n }\n drawCircle(t, e = null) {\n const s = this.w;\n t < 0 && (t = 0);\n const i = s.dom.Paper.circle(t * 2);\n return e !== null && i.attr(e), i;\n }\n drawPath({\n d: t = \"\",\n stroke: e = \"#a8a8a8\",\n strokeWidth: s = 1,\n fill: i,\n fillOpacity: a = 1,\n strokeOpacity: o = 1,\n classes: r,\n strokeLinecap: n = null,\n strokeDashArray: l = 0\n }) {\n const c = this.w;\n return n === null && (n = c.config.stroke.lineCap), (t.indexOf(\"undefined\") > -1 || t.indexOf(\"NaN\") > -1) && (t = `M 0 ${c.layout.gridHeight}`), c.dom.Paper.path(t).attr({\n fill: i,\n \"fill-opacity\": a,\n stroke: e,\n \"stroke-opacity\": o,\n \"stroke-linecap\": n,\n \"stroke-width\": s,\n \"stroke-dasharray\": l,\n class: r\n });\n }\n group(t = null) {\n const s = this.w.dom.Paper.group();\n return t !== null && s.attr(t), s;\n }\n move(t, e) {\n return [\"M\", t, e].join(\" \");\n }\n line(t, e, s = null) {\n let i = null;\n return s === null ? i = [\" L\", t, e].join(\" \") : s === \"H\" ? i = [\" H\", t].join(\" \") : s === \"V\" && (i = [\" V\", e].join(\" \")), i;\n }\n curve(t, e, s, i, a, o) {\n return [\"C\", t, e, s, i, a, o].join(\" \");\n }\n quadraticCurve(t, e, s, i) {\n return [\"Q\", t, e, s, i].join(\" \");\n }\n arc(t, e, s, i, a, o, r, n = !1) {\n let l = \"A\";\n return n && (l = \"a\"), [l, t, e, s, i, a, o, r].join(\n \" \"\n );\n }\n /**\n * @memberof Graphics\n * @param {object}\n * i = series's index\n * realIndex = realIndex is series's actual index when it was drawn time. After several redraws, the iterating \"i\" may change in loops, but realIndex doesn't\n * pathFrom = existing pathFrom to animateTo\n * pathTo = new Path to which d attr will be animated from pathFrom to pathTo\n * stroke = line Color\n * strokeWidth = width of path Line\n * fill = it can be gradient, single color, pattern or image\n * animationDelay = how much to delay when starting animation (in milliseconds)\n * dataChangeSpeed = for dynamic animations, when data changes\n * className = class attribute to add\n * @return {object} svg.js path object\n **/\n renderPaths({\n j: t,\n realIndex: e,\n pathFrom: s,\n pathTo: i,\n stroke: a,\n strokeWidth: o,\n strokeLinecap: r,\n fill: n,\n animationDelay: l,\n initialSpeed: c,\n dataChangeSpeed: h,\n className: d,\n chartType: p,\n shouldClipToGrid: g = !0,\n bindEventsOnPaths: f = !0,\n drawShadow: x = !0\n }) {\n const m = this.w, u = new Z(this.w), y = new ut(this.w), b = this.w.config.chart.animations.enabled, w = b && this.w.config.chart.animations.dynamicAnimation.enabled;\n if (s && s.startsWith(\"M 0 0\") && i) {\n const T = i.match(/^M\\s+[\\d.-]+\\s+[\\d.-]+/);\n T && (s = s.replace(/^M\\s+0\\s+0/, T[0]));\n }\n let v;\n const C = !!(b && !m.globals.resized || w && m.globals.dataChanged && m.globals.shouldAnimate);\n C ? v = s : (v = i, m.globals.animationEnded = !0);\n const D = m.config.stroke.dashArray;\n let S = 0;\n Array.isArray(D) ? S = D[e] : S = m.config.stroke.dashArray;\n const k = this.drawPath({\n d: v,\n stroke: a,\n strokeWidth: o,\n fill: n,\n fillOpacity: 1,\n classes: d,\n strokeLinecap: r,\n strokeDashArray: S\n });\n k.attr(\"index\", e), g && (p === \"bar\" && !m.globals.isHorizontal || m.globals.comboCharts ? k.attr({\n \"clip-path\": `url(#gridRectBarMask${m.globals.cuid})`\n }) : k.attr({\n \"clip-path\": `url(#gridRectMask${m.globals.cuid})`\n })), m.config.chart.dropShadow.enabled && x && u.dropShadow(k, m.config.chart.dropShadow, e), f && (k.node.addEventListener(\"mouseenter\", this.pathMouseEnter.bind(this, k)), k.node.addEventListener(\"mouseleave\", this.pathMouseLeave.bind(this, k)), k.node.addEventListener(\"mousedown\", this.pathMouseDown.bind(this, k))), k.attr({\n pathTo: i,\n pathFrom: s\n });\n const F = {\n el: k,\n j: t,\n realIndex: e,\n pathFrom: s,\n pathTo: i,\n fill: n,\n strokeWidth: o,\n delay: l\n };\n return b && !m.globals.resized && !m.globals.dataChanged ? y.animatePathsGradually(O(I({}, F), {\n speed: c\n })) : (m.globals.resized || !m.globals.dataChanged) && y.showDelayedElements(), m.globals.dataChanged && w && C && y.animatePathsGradually(O(I({}, F), {\n speed: h\n })), k;\n }\n drawPattern(t, e, s, i = \"#a8a8a8\", a = 0) {\n return this.w.dom.Paper.pattern(e, s, (n) => {\n t === \"horizontalLines\" ? n.line(0, 0, s, 0).stroke({ color: i, width: a + 1 }) : t === \"verticalLines\" ? n.line(0, 0, 0, e).stroke({ color: i, width: a + 1 }) : t === \"slantedLines\" ? n.line(0, 0, e, s).stroke({ color: i, width: a }) : t === \"squares\" ? n.rect(e, s).fill(\"none\").stroke({ color: i, width: a }) : t === \"circles\" && n.circle(e).fill(\"none\").stroke({ color: i, width: a });\n });\n }\n drawGradient(t, e, s, i, a, o = null, r = null, n = [], l = 0) {\n const c = this.w;\n let h;\n e.length < 9 && e.indexOf(\"#\") === 0 && (e = L.hexToRgba(e, i)), s.length < 9 && s.indexOf(\"#\") === 0 && (s = L.hexToRgba(s, a));\n let d = 0, p = 1, g = 1, f = null;\n r !== null && (d = typeof r[0] < \"u\" ? r[0] / 100 : 0, p = typeof r[1] < \"u\" ? r[1] / 100 : 1, g = typeof r[2] < \"u\" ? r[2] / 100 : 1, f = typeof r[3] < \"u\" ? r[3] / 100 : null);\n const x = c.config.chart.type === \"donut\" || c.config.chart.type === \"pie\" || c.config.chart.type === \"polarArea\" || c.config.chart.type === \"bubble\";\n if (!n || n.length === 0 ? h = c.dom.Paper.gradient(x ? \"radial\" : \"linear\", (m) => {\n m.stop(d, e, i), m.stop(p, s, a), m.stop(g, s, a), f !== null && m.stop(f, e, i);\n }) : h = c.dom.Paper.gradient(x ? \"radial\" : \"linear\", (m) => {\n (Array.isArray(n[l]) ? n[l] : n).forEach((y) => {\n m.stop(y.offset / 100, y.color, y.opacity);\n });\n }), !x)\n t === \"vertical\" ? h.from(0, 0).to(0, 1) : t === \"diagonal\" ? h.from(0, 0).to(1, 1) : t === \"horizontal\" ? h.from(0, 1).to(1, 1) : t === \"diagonal2\" && h.from(1, 0).to(0, 1);\n else {\n const m = c.layout.gridWidth / 2, u = c.layout.gridHeight / 2;\n c.config.chart.type !== \"bubble\" ? h.attr({\n gradientUnits: \"userSpaceOnUse\",\n cx: m,\n cy: u,\n r: o\n }) : h.attr({\n cx: 0.5,\n cy: 0.5,\n r: 0.8,\n fx: 0.2,\n fy: 0.2\n });\n }\n return h;\n }\n getTextBasedOnMaxWidth({ text: t, maxWidth: e, fontSize: s, fontFamily: i }) {\n const a = this.getTextRects(t, s, i), o = a.width / t.length, r = Math.floor(e / o);\n return e < a.width ? t.slice(0, r - 3) + \"...\" : t;\n }\n drawText({\n x: t,\n y: e,\n text: s,\n textAnchor: i,\n fontSize: a,\n fontFamily: o,\n fontWeight: r,\n foreColor: n,\n opacity: l,\n maxWidth: c,\n cssClass: h = \"\",\n isPlainText: d = !0,\n dominantBaseline: p = \"auto\"\n }) {\n const g = this.w;\n typeof s > \"u\" && (s = \"\");\n let f = s;\n i || (i = \"start\"), (!n || !n.length) && (n = g.config.chart.foreColor), o = o || g.config.chart.fontFamily, a = a || \"11px\", r = r || \"regular\";\n const x = {\n maxWidth: c,\n fontSize: a,\n fontFamily: o\n };\n let m;\n return Array.isArray(s) ? m = g.dom.Paper.text((u) => {\n for (let y = 0; y < s.length; y++)\n f = s[y], c && (f = this.getTextBasedOnMaxWidth(I({\n text: s[y]\n }, x))), y === 0 ? u.tspan(f) : u.tspan(f).newLine();\n }) : (c && (f = this.getTextBasedOnMaxWidth(I({\n text: s\n }, x))), m = d ? g.dom.Paper.plain(s) : g.dom.Paper.text((u) => u.tspan(f))), m.attr({\n x: t,\n y: e,\n \"text-anchor\": i,\n \"dominant-baseline\": p,\n \"font-size\": a,\n \"font-family\": o,\n \"font-weight\": r,\n fill: n,\n class: \"apexcharts-text \" + h\n }), m.node.style.fontFamily = o, m.node.style.opacity = l, m;\n }\n getMarkerPath(t, e, s, i) {\n let a = \"\";\n switch (s) {\n case \"cross\":\n i = i / 1.4, a = `M ${t - i} ${e - i} L ${t + i} ${e + i} M ${t - i} ${e + i} L ${t + i} ${e - i}`;\n break;\n case \"plus\":\n i = i / 1.12, a = `M ${t - i} ${e} L ${t + i} ${e} M ${t} ${e - i} L ${t} ${e + i}`;\n break;\n case \"star\":\n case \"sparkle\": {\n let o = 5;\n i = i * 1.15, s === \"sparkle\" && (i = i / 1.1, o = 4);\n const r = Math.PI / o;\n for (let n = 0; n <= 2 * o; n++) {\n const l = n * r, c = n % 2 === 0 ? i : i / 2, h = t + c * Math.sin(l), d = e - c * Math.cos(l);\n a += (n === 0 ? \"M\" : \"L\") + h + \",\" + d;\n }\n a += \"Z\";\n break;\n }\n case \"triangle\":\n a = `M ${t} ${e - i} \n L ${t + i} ${e + i} \n L ${t - i} ${e + i} \n Z`;\n break;\n case \"square\":\n case \"rect\":\n i = i / 1.125, a = `M ${t - i} ${e - i} \n L ${t + i} ${e - i} \n L ${t + i} ${e + i} \n L ${t - i} ${e + i} \n Z`;\n break;\n case \"diamond\":\n i = i * 1.05, a = `M ${t} ${e - i} \n L ${t + i} ${e} \n L ${t} ${e + i} \n L ${t - i} ${e} \n Z`;\n break;\n case \"line\":\n i = i / 1.1, a = `M ${t - i} ${e} \n L ${t + i} ${e}`;\n break;\n case \"circle\":\n default:\n i = i * 2, a = `M ${t}, ${e} \n m -${i / 2}, 0 \n a ${i / 2},${i / 2} 0 1,0 ${i},0 \n a ${i / 2},${i / 2} 0 1,0 -${i},0`;\n break;\n }\n return a;\n }\n /**\n * @param {number} x - The x-coordinate of the marker\n * @param {number} y - The y-coordinate of the marker.\n * @param {number} size - The size of the marker\n * @param {Object} opts - The options for the marker.\n * @returns {Object} The created marker.\n */\n drawMarkerShape(t, e, s, i, a) {\n const o = this.drawPath({\n d: this.getMarkerPath(t, e, s, i, a),\n stroke: a.pointStrokeColor,\n strokeDashArray: a.pointStrokeDashArray,\n strokeWidth: a.pointStrokeWidth,\n fill: a.pointFillColor,\n fillOpacity: a.pointFillOpacity,\n strokeOpacity: a.pointStrokeOpacity\n });\n return o.attr({\n cx: t,\n cy: e,\n shape: a.shape,\n class: a.class ? a.class : \"\"\n }), o;\n }\n drawMarker(t, e, s) {\n t = t || 0;\n let i = s.pSize || 0;\n return L.isNumber(e) || (i = 0, e = 0), this.drawMarkerShape(t, e, s == null ? void 0 : s.shape, i, I(I({}, s), s.shape === \"line\" || s.shape === \"plus\" || s.shape === \"cross\" ? {\n pointStrokeColor: s.pointFillColor,\n pointStrokeOpacity: s.pointFillOpacity\n } : {}));\n }\n pathMouseEnter(t, e) {\n const s = this.w, i = new Z(this.w), a = parseInt(t.node.getAttribute(\"index\"), 10), o = parseInt(t.node.getAttribute(\"j\"), 10);\n if (typeof s.config.chart.events.dataPointMouseEnter == \"function\" && s.config.chart.events.dataPointMouseEnter(e, this.ctx, {\n seriesIndex: a,\n dataPointIndex: o,\n w: s\n }), P._fireEvent(s, \"dataPointMouseEnter\", [\n e,\n this.ctx,\n { seriesIndex: a, dataPointIndex: o, w: s }\n ]), !(s.config.states.active.filter.type !== \"none\" && t.node.getAttribute(\"selected\") === \"true\") && s.config.states.hover.filter.type !== \"none\" && !s.interact.isTouchDevice) {\n const r = s.config.states.hover.filter;\n i.applyFilter(t, a, r.type);\n }\n }\n pathMouseLeave(t, e) {\n const s = this.w, i = new Z(this.w), a = parseInt(t.node.getAttribute(\"index\"), 10), o = parseInt(t.node.getAttribute(\"j\"), 10);\n typeof s.config.chart.events.dataPointMouseLeave == \"function\" && s.config.chart.events.dataPointMouseLeave(e, this.ctx, {\n seriesIndex: a,\n dataPointIndex: o,\n w: s\n }), P._fireEvent(s, \"dataPointMouseLeave\", [\n e,\n this.ctx,\n { seriesIndex: a, dataPointIndex: o, w: s }\n ]), !(s.config.states.active.filter.type !== \"none\" && t.node.getAttribute(\"selected\") === \"true\") && s.config.states.hover.filter.type !== \"none\" && i.getDefaultFilter(t, a);\n }\n pathMouseDown(t, e) {\n const s = this.w, i = new Z(this.w), a = parseInt(t.node.getAttribute(\"index\"), 10), o = parseInt(t.node.getAttribute(\"j\"), 10);\n let r = \"false\";\n if (t.node.getAttribute(\"selected\") === \"true\") {\n if (t.node.setAttribute(\"selected\", \"false\"), s.interact.selectedDataPoints[a].indexOf(o) > -1) {\n const n = s.interact.selectedDataPoints[a].indexOf(o);\n s.interact.selectedDataPoints[a].splice(n, 1);\n }\n } else {\n if (!s.config.states.active.allowMultipleDataPointsSelection && s.interact.selectedDataPoints.length > 0) {\n s.interact.selectedDataPoints = [];\n const n = s.dom.Paper.find(\n \".apexcharts-series path:not(.apexcharts-decoration-element)\"\n ), l = s.dom.Paper.find(\n \".apexcharts-series circle:not(.apexcharts-decoration-element), .apexcharts-series rect:not(.apexcharts-decoration-element)\"\n ), c = (h) => {\n Array.prototype.forEach.call(h, (d) => {\n d.node.setAttribute(\"selected\", \"false\"), i.getDefaultFilter(d, a);\n });\n };\n c(n), c(l);\n }\n t.node.setAttribute(\"selected\", \"true\"), r = \"true\", typeof s.interact.selectedDataPoints[a] > \"u\" && (s.interact.selectedDataPoints[a] = []), s.interact.selectedDataPoints[a].push(o);\n }\n if (r === \"true\") {\n const n = s.config.states.active.filter;\n if (n !== \"none\")\n i.applyFilter(t, a, n.type);\n else if (s.config.states.hover.filter !== \"none\" && !s.interact.isTouchDevice) {\n const l = s.config.states.hover.filter;\n i.applyFilter(t, a, l.type);\n }\n } else if (s.config.states.active.filter.type !== \"none\")\n if (s.config.states.hover.filter.type !== \"none\" && !s.interact.isTouchDevice) {\n const n = s.config.states.hover.filter;\n i.applyFilter(t, a, n.type);\n } else\n i.getDefaultFilter(t, a);\n typeof s.config.chart.events.dataPointSelection == \"function\" && s.config.chart.events.dataPointSelection(e, this.ctx, {\n selectedDataPoints: s.interact.selectedDataPoints,\n seriesIndex: a,\n dataPointIndex: o,\n w: s\n }), e && P._fireEvent(s, \"dataPointSelection\", [\n e,\n this.ctx,\n {\n selectedDataPoints: s.interact.selectedDataPoints,\n seriesIndex: a,\n dataPointIndex: o,\n w: s\n }\n ]);\n }\n rotateAroundCenter(t) {\n let e = {};\n t && typeof t.getBBox == \"function\" && (e = t.getBBox());\n const s = e.x + e.width / 2, i = e.y + e.height / 2;\n return {\n x: s,\n y: i\n };\n }\n /**\n * Sets up event delegation on a parent group element.\n * Uses mouseover/mouseout (which bubble) to simulate mouseenter/mouseleave\n * on matching child elements, reducing per-element listener overhead.\n */\n setupEventDelegation(t, e) {\n let s = null;\n t.node.addEventListener(\"mouseover\", (i) => {\n const a = P._findDelegateTarget(\n i.target,\n t.node,\n e\n );\n !a || a === s || (s && s.instance && this.pathMouseLeave(s.instance, i), s = a, a.instance && this.pathMouseEnter(a.instance, i));\n }), t.node.addEventListener(\"mouseout\", (i) => {\n if (!s)\n return;\n (i.relatedTarget ? P._findDelegateTarget(\n i.relatedTarget,\n t.node,\n e\n ) : null) !== s && (s && s.instance && this.pathMouseLeave(s.instance, i), s = null);\n }), t.node.addEventListener(\"mousedown\", (i) => {\n const a = P._findDelegateTarget(\n i.target,\n t.node,\n e\n );\n a && a.instance && this.pathMouseDown(a.instance, i);\n });\n }\n // Fire a named event from w.globals.events without requiring a ctx reference.\n // Mirrors Events.fireEvent() but reads the registry directly from w so that\n // pathMouseEnter/Leave/Down work even when this.ctx is null (Graphics instances\n // created without a ctx arg for drawing-only use cases).\n static _fireEvent(t, e, s) {\n const i = t.globals.events;\n if (!i || !Object.prototype.hasOwnProperty.call(i, e))\n return;\n const a = i[e];\n for (let o = 0; o < a.length; o++)\n a[o].apply(null, s);\n }\n static _findDelegateTarget(t, e, s) {\n for (; t && t !== e && t !== document; ) {\n if (t.matches && t.matches(s))\n return t;\n t = t.parentNode;\n }\n return null;\n }\n static setAttrs(t, e) {\n for (const s in e)\n Object.prototype.hasOwnProperty.call(e, s) && t.setAttribute(s, e[s]);\n }\n getTextRects(t, e, s, i, a = !0) {\n const o = this.w, r = `${t}|${e}|${s}|${i}|${a}`, n = o.globals.textRectsCache;\n if (n && n.has(r))\n return n.get(r);\n const l = this.drawText({\n x: -200,\n y: -200,\n text: t,\n textAnchor: \"start\",\n fontSize: e,\n fontFamily: s,\n foreColor: \"#fff\",\n opacity: 0\n });\n i && l.attr(\"transform\", i), o.dom.Paper.add(l);\n let c = l.bbox();\n a || (c = l.node.getBoundingClientRect()), l.remove();\n const h = {\n width: c.width,\n height: c.height\n };\n return n && n.set(r, h), h;\n }\n /**\n * append ... to long text\n * http://stackoverflow.com/questions/9241315/trimming-text-to-a-given-pixel-width-in-svg\n * @memberof Graphics\n **/\n placeTextWithEllipsis(t, e, s) {\n if (typeof t.getComputedTextLength == \"function\" && (t.textContent = e, e.length > 0 && t.getComputedTextLength() >= s / 1.1)) {\n for (let i = e.length - 3; i > 0; i -= 3)\n if (t.getSubStringLength(0, i) <= s / 1.1) {\n t.textContent = e.substring(0, i) + \"...\";\n return;\n }\n t.textContent = \".\";\n }\n }\n}\nconst G = \"http://www.w3.org/2000/svg\";\nclass et {\n constructor(t, e) {\n typeof t == \"object\" ? (this.x = t.x, this.y = t.y) : (this.x = t || 0, this.y = e || 0);\n }\n transform(t) {\n return t.apply(this);\n }\n clone() {\n return new et(this.x, this.y);\n }\n}\nclass lt {\n constructor(t, e, s, i, a, o) {\n this.a = t ?? 1, this.b = e ?? 0, this.c = s ?? 0, this.d = i ?? 1, this.e = a ?? 0, this.f = o ?? 0;\n }\n rotate(t) {\n const e = t * Math.PI / 180, s = Math.cos(e), i = Math.sin(e);\n return this.multiply(new lt(s, i, -i, s, 0, 0));\n }\n scale(t, e) {\n return this.multiply(new lt(t, 0, 0, e ?? t, 0, 0));\n }\n multiply(t) {\n return new lt(\n this.a * t.a + this.c * t.b,\n this.b * t.a + this.d * t.b,\n this.a * t.c + this.c * t.d,\n this.b * t.c + this.d * t.d,\n this.a * t.e + this.c * t.f + this.e,\n this.b * t.e + this.d * t.f + this.f\n );\n }\n apply(t) {\n return new et(\n this.a * t.x + this.c * t.y + this.e,\n this.b * t.x + this.d * t.y + this.f\n );\n }\n}\nclass Ne {\n constructor(t, e, s, i) {\n this.x = t, this.y = e, this.w = s, this.h = i, this.width = s, this.height = i, this.x2 = t + s, this.y2 = e + i;\n }\n}\nclass st {\n constructor(t) {\n this.w = t, this.opts = null, this.seriesIndex = 0, this.patternIDs = [];\n }\n clippedImgArea(t) {\n const e = this.w, s = e.config, i = parseInt(e.layout.gridWidth, 10), a = parseInt(e.layout.gridHeight, 10), o = i > a ? i : a, r = t.image;\n let n = 0, l = 0;\n typeof t.width > \"u\" && typeof t.height > \"u\" ? s.fill.image.width !== void 0 && s.fill.image.height !== void 0 ? (n = s.fill.image.width + 1, l = s.fill.image.height) : (n = o + 1, l = o) : (n = t.width, l = t.height);\n const c = N.createElementNS(G, \"pattern\");\n P.setAttrs(c, {\n id: t.patternID,\n patternUnits: t.patternUnits ? t.patternUnits : \"userSpaceOnUse\",\n width: n + \"px\",\n height: l + \"px\"\n });\n const h = N.createElementNS(G, \"image\");\n c.appendChild(h);\n const d = B.isBrowser() ? window.SVG : global.SVG;\n h.setAttributeNS(d.xlink, \"href\", r), P.setAttrs(h, {\n x: 0,\n y: 0,\n preserveAspectRatio: \"none\",\n width: n + \"px\",\n height: l + \"px\"\n }), h.style.opacity = t.opacity, e.dom.elDefs.node.appendChild(c);\n }\n getSeriesIndex(t) {\n const e = this.w, s = e.config.chart.type;\n return (s === \"bar\" || s === \"rangeBar\") && e.config.plotOptions.bar.distributed || s === \"heatmap\" || s === \"treemap\" ? this.seriesIndex = t.seriesNumber : this.seriesIndex = t.seriesNumber % e.seriesData.series.length, this.seriesIndex;\n }\n computeColorStops(t, e) {\n const s = this.w;\n let i = null, a = null;\n for (const l of t)\n l >= e.threshold ? (i === null || l > i) && (i = l) : (a === null || l < a) && (a = l);\n i === null && (i = e.threshold), a === null && (a = e.threshold);\n let o = i - e.threshold + (e.threshold - a);\n o === 0 && (o = 1);\n let n = 100 - (e.threshold - a) / o * 100;\n return n = Math.max(0, Math.min(n, 100)), [\n {\n offset: n,\n color: e.colorAboveThreshold,\n opacity: s.config.fill.opacity\n },\n {\n offset: 0,\n color: e.colorBelowThreshold,\n opacity: s.config.fill.opacity\n }\n ];\n }\n fillPath(t) {\n var e, s, i, a, o, r;\n const n = this.w;\n this.opts = t;\n const l = this.w.config;\n let c, h, d;\n this.seriesIndex = this.getSeriesIndex(t);\n const p = l.plotOptions.line.colors.colorAboveThreshold && l.plotOptions.line.colors.colorBelowThreshold;\n let f = this.getFillColors()[this.seriesIndex];\n n.seriesData.seriesColors[this.seriesIndex] !== void 0 && (f = n.seriesData.seriesColors[this.seriesIndex]), typeof f == \"function\" && (f = f({\n seriesIndex: this.seriesIndex,\n dataPointIndex: t.dataPointIndex,\n value: t.value,\n w: n\n }));\n const x = t.fillType ? t.fillType : this.getFillType(this.seriesIndex);\n let m = Array.isArray(l.fill.opacity) ? l.fill.opacity[this.seriesIndex] : l.fill.opacity;\n const u = x === \"gradient\" || p;\n t.color && (f = t.color), (i = (s = (e = n.config.series[this.seriesIndex]) == null ? void 0 : e.data) == null ? void 0 : s[t.dataPointIndex]) != null && i.fillColor && (f = (r = (o = (a = n.config.series[this.seriesIndex]) == null ? void 0 : a.data) == null ? void 0 : o[t.dataPointIndex]) == null ? void 0 : r.fillColor), f || (f = \"#fff\", console.warn(\"undefined color - ApexCharts\")), L.isCSSVariable(f) && (f = L.getThemeColor(f));\n let y = f;\n if (f.indexOf(\"rgb\") === -1 ? f.indexOf(\"#\") === -1 ? y = f : f.length < 9 && (y = L.hexToRgba(f, m)) : f.indexOf(\"rgba\") > -1 ? m = L.getOpacityFromRGBA(f) : y = L.hexToRgba(L.rgb2hex(f), m), t.opacity && (m = t.opacity), x === \"pattern\" && (h = this.handlePatternFill({\n fillConfig: t.fillConfig,\n patternFill: h,\n fillColor: f,\n fillOpacity: m,\n defaultColor: y\n })), u) {\n const b = l.fill.gradient.colorStops ? [...l.fill.gradient.colorStops] : [];\n let w = l.fill.gradient.type;\n p && (b[this.seriesIndex] = this.computeColorStops(\n n.seriesData.series[this.seriesIndex],\n l.plotOptions.line.colors\n ), w = \"vertical\"), d = this.handleGradientFill({\n type: w,\n fillConfig: t.fillConfig,\n fillColor: f,\n fillOpacity: m,\n colorStops: b,\n i: this.seriesIndex\n });\n }\n if (x === \"image\") {\n const b = l.fill.image.src, w = t.patternID ? t.patternID : \"\", v = `pattern${n.globals.cuid}${t.seriesNumber + 1}${w}`;\n this.patternIDs.indexOf(v) === -1 && (this.clippedImgArea({\n opacity: m,\n image: Array.isArray(b) ? t.seriesNumber < b.length ? b[t.seriesNumber] : b[0] : b,\n width: t.width ? t.width : void 0,\n height: t.height ? t.height : void 0,\n patternUnits: t.patternUnits,\n patternID: v\n }), this.patternIDs.push(v)), c = `url(#${v})`;\n } else\n u ? c = d : x === \"pattern\" ? c = h : c = y;\n return t.solid && (c = y), c;\n }\n getFillType(t) {\n const e = this.w;\n return Array.isArray(e.config.fill.type) ? e.config.fill.type[t] : e.config.fill.type;\n }\n getFillColors() {\n const t = this.w, e = t.config, s = this.opts;\n let i = [];\n return t.globals.comboCharts ? t.config.series[this.seriesIndex].type === \"line\" ? Array.isArray(t.globals.stroke.colors) ? i = t.globals.stroke.colors : i.push(t.globals.stroke.colors) : Array.isArray(t.globals.fill.colors) ? i = t.globals.fill.colors : i.push(t.globals.fill.colors) : e.chart.type === \"line\" ? Array.isArray(t.globals.stroke.colors) ? i = t.globals.stroke.colors : i.push(t.globals.stroke.colors) : Array.isArray(t.globals.fill.colors) ? i = t.globals.fill.colors : i.push(t.globals.fill.colors), typeof s.fillColors < \"u\" && (i = [], Array.isArray(s.fillColors) ? i = s.fillColors.slice() : i.push(s.fillColors)), i;\n }\n handlePatternFill({\n fillConfig: t,\n patternFill: e,\n fillColor: s,\n fillOpacity: i,\n defaultColor: a\n }) {\n let o = this.w.config.fill;\n t && (o = t);\n const r = this.opts, n = new P(this.w), l = Array.isArray(o.pattern.strokeWidth) ? o.pattern.strokeWidth[this.seriesIndex] : o.pattern.strokeWidth, c = s;\n return Array.isArray(o.pattern.style) ? typeof o.pattern.style[r.seriesNumber] < \"u\" ? e = n.drawPattern(\n o.pattern.style[r.seriesNumber],\n o.pattern.width,\n o.pattern.height,\n c,\n l,\n i\n ) : e = a : e = n.drawPattern(\n o.pattern.style,\n o.pattern.width,\n o.pattern.height,\n c,\n l,\n i\n ), e;\n }\n handleGradientFill({\n type: t,\n fillColor: e,\n fillOpacity: s,\n fillConfig: i,\n colorStops: a,\n i: o\n }) {\n let r = this.w.config.fill;\n i && (r = I(I({}, r), i));\n const n = this.opts, l = new P(this.w), c = new L();\n t = t || r.gradient.type;\n let h = e, d, p = r.gradient.opacityFrom === void 0 ? s : Array.isArray(r.gradient.opacityFrom) ? r.gradient.opacityFrom[o] : r.gradient.opacityFrom;\n h.indexOf(\"rgba\") > -1 && (p = L.getOpacityFromRGBA(h));\n let g = r.gradient.opacityTo === void 0 ? s : Array.isArray(r.gradient.opacityTo) ? r.gradient.opacityTo[o] : r.gradient.opacityTo;\n if (r.gradient.gradientToColors === void 0 || r.gradient.gradientToColors.length === 0)\n r.gradient.shade === \"dark\" ? d = c.shadeColor(\n parseFloat(r.gradient.shadeIntensity) * -1,\n e.indexOf(\"rgb\") > -1 ? L.rgb2hex(e) : e\n ) : d = c.shadeColor(\n parseFloat(r.gradient.shadeIntensity),\n e.indexOf(\"rgb\") > -1 ? L.rgb2hex(e) : e\n );\n else if (r.gradient.gradientToColors[n.seriesNumber]) {\n const f = r.gradient.gradientToColors[n.seriesNumber];\n d = f, f.indexOf(\"rgba\") > -1 && (g = L.getOpacityFromRGBA(f));\n } else\n d = e;\n if (r.gradient.gradientFrom && (h = r.gradient.gradientFrom), r.gradient.gradientTo && (d = r.gradient.gradientTo), r.gradient.inverseColors) {\n const f = h;\n h = d, d = f;\n }\n return h.indexOf(\"rgb\") > -1 && (h = L.rgb2hex(h)), d.indexOf(\"rgb\") > -1 && (d = L.rgb2hex(d)), l.drawGradient(\n t,\n h,\n d,\n p,\n g,\n n.size,\n r.gradient.stops,\n a,\n o\n );\n }\n}\nclass xt {\n constructor(t, e) {\n this.w = t, this.ctx = e, this._filters = new Z(this.w), this._graphics = new P(this.w, this.ctx);\n }\n setGlobalMarkerSize() {\n const t = this.w;\n if (t.globals.markers.size = Array.isArray(t.config.markers.size) ? t.config.markers.size : [t.config.markers.size], t.globals.markers.size.length > 0) {\n if (t.globals.markers.size.length < t.seriesData.series.length + 1)\n for (let e = 0; e <= t.seriesData.series.length; e++)\n typeof t.globals.markers.size[e] > \"u\" && t.globals.markers.size.push(t.globals.markers.size[0]);\n } else\n t.globals.markers.size = t.config.series.map(() => t.config.markers.size);\n }\n plotChartMarkers({\n pointsPos: t,\n seriesIndex: e,\n j: s,\n pSize: i,\n alwaysDrawMarker: a = !1,\n isVirtualPoint: o = !1\n }) {\n const r = this.w, n = e, l = t;\n let c = null;\n const h = new P(this.w), d = r.config.markers.discrete && r.config.markers.discrete.length;\n if (Array.isArray(l.x))\n for (let p = 0; p < l.x.length; p++) {\n let g, f = s, x = !L.isNumber(l.y[p]);\n r.globals.markers.largestSize === 0 && r.globals.hasNullValues && r.seriesData.series[n][s + 1] !== null && !o && (x = !0), s === 1 && p === 0 && (f = 0), s === 1 && p === 1 && (f = 1);\n let m = \"apexcharts-marker\";\n if ((r.config.chart.type === \"line\" || r.config.chart.type === \"area\") && !r.globals.comboCharts && !r.config.tooltip.intersect && (m += \" no-pointer-events\"), (Array.isArray(r.config.markers.size) ? r.globals.markers.size[e] > 0 : r.config.markers.size > 0) || a || d) {\n x || (m += ` w${L.randomId()}`);\n const y = this.getMarkerConfig({\n cssClass: m,\n seriesIndex: e,\n dataPointIndex: f\n });\n r.config.series[n].data[f] && (r.config.series[n].data[f].fillColor && (y.pointFillColor = r.config.series[n].data[f].fillColor), r.config.series[n].data[f].strokeColor && (y.pointStrokeColor = r.config.series[n].data[f].strokeColor)), typeof i < \"u\" && (y.pSize = i), (l.x[p] < -r.globals.markers.largestSize || l.x[p] > r.layout.gridWidth + r.globals.markers.largestSize || l.y[p] < -r.globals.markers.largestSize || l.y[p] > r.layout.gridHeight + r.globals.markers.largestSize) && (y.pSize = 0), x || ((r.globals.markers.size[e] > 0 || a || d) && !c && (c = h.group({\n class: a || d ? \"\" : \"apexcharts-series-markers\"\n }), c.attr(\n \"clip-path\",\n `url(#gridRectMarkerMask${r.globals.cuid})`\n ), this.setupMarkerDelegation(c)), g = h.drawMarker(l.x[p], l.y[p], y), g.attr(\"rel\", f), g.attr(\"j\", f), g.attr(\"index\", e), g.node.setAttribute(\"default-marker-size\", y.pSize), this._filters.setSelectionFilter(\n g,\n e,\n f\n ), c && c.add(g));\n } else\n typeof r.globals.pointsArray[e] > \"u\" && (r.globals.pointsArray[e] = []), r.globals.pointsArray[e].push([l.x[p], l.y[p]]);\n }\n return c;\n }\n getMarkerConfig({\n cssClass: t,\n seriesIndex: e,\n dataPointIndex: s = null,\n radius: i = null,\n size: a = null,\n strokeWidth: o = null\n }) {\n const r = this.w, n = this.getMarkerStyle(e);\n let l = a === null ? r.globals.markers.size[e] : a;\n const c = r.config.markers;\n return s !== null && c.discrete.length && c.discrete.map((h) => {\n h.seriesIndex === e && h.dataPointIndex === s && (n.pointStrokeColor = h.strokeColor, n.pointFillColor = h.fillColor, l = h.size, n.pointShape = h.shape);\n }), {\n pSize: i === null ? l : i,\n pRadius: i !== null ? i : c.radius,\n pointStrokeWidth: o !== null ? o : Array.isArray(c.strokeWidth) ? c.strokeWidth[e] : c.strokeWidth,\n pointStrokeColor: n.pointStrokeColor,\n pointFillColor: n.pointFillColor,\n shape: n.pointShape || (Array.isArray(c.shape) ? c.shape[e] : c.shape),\n class: t,\n pointStrokeOpacity: Array.isArray(c.strokeOpacity) ? c.strokeOpacity[e] : c.strokeOpacity,\n pointStrokeDashArray: Array.isArray(c.strokeDashArray) ? c.strokeDashArray[e] : c.strokeDashArray,\n pointFillOpacity: Array.isArray(c.fillOpacity) ? c.fillOpacity[e] : c.fillOpacity,\n seriesIndex: e\n };\n }\n setupMarkerDelegation(t) {\n const e = this.w, s = \".apexcharts-marker\";\n this._graphics.setupEventDelegation(t, s), t.node.addEventListener(\"click\", (i) => {\n e.config.markers.onClick && P._findDelegateTarget(\n i.target,\n t.node,\n s\n ) && e.config.markers.onClick(i);\n }), t.node.addEventListener(\"dblclick\", (i) => {\n e.config.markers.onDblClick && P._findDelegateTarget(\n i.target,\n t.node,\n s\n ) && e.config.markers.onDblClick(i);\n }), t.node.addEventListener(\n \"touchstart\",\n (i) => {\n const a = P._findDelegateTarget(\n i.target,\n t.node,\n s\n );\n a && a.instance && this._graphics.pathMouseDown(a.instance, i);\n },\n { passive: !0 }\n );\n }\n addEvents(t) {\n const e = this.w;\n t.node.addEventListener(\n \"mouseenter\",\n this._graphics.pathMouseEnter.bind(this.ctx, t)\n ), t.node.addEventListener(\n \"mouseleave\",\n this._graphics.pathMouseLeave.bind(this.ctx, t)\n ), t.node.addEventListener(\n \"mousedown\",\n this._graphics.pathMouseDown.bind(this.ctx, t)\n ), t.node.addEventListener(\"click\", e.config.markers.onClick), t.node.addEventListener(\"dblclick\", e.config.markers.onDblClick), t.node.addEventListener(\n \"touchstart\",\n this._graphics.pathMouseDown.bind(this.ctx, t),\n { passive: !0 }\n );\n }\n getMarkerStyle(t) {\n const e = this.w, s = e.globals.markers.colors, i = e.config.markers.strokeColor || e.config.markers.strokeColors, a = Array.isArray(i) ? i[t] : i, o = Array.isArray(s) ? s[t] : s;\n return {\n pointStrokeColor: a,\n pointFillColor: o\n };\n }\n}\nclass ge {\n constructor(t, e) {\n this.ctx = e, this.w = t, this.initialAnim = this.w.config.chart.animations.enabled, this.anim = new ut(this.w), this.filters = new Z(this.w), this.fill = new st(this.w), this.markers = new xt(this.w, this.ctx), this.graphics = new P(this.w);\n }\n draw(t, e, s) {\n const i = this.w, a = this.graphics, o = s.realIndex, r = s.pointsPos, n = s.zRatio, l = s.elParent, c = a.group({\n class: `apexcharts-series-markers apexcharts-series-${i.config.chart.type}`\n });\n if (c.attr(\"clip-path\", `url(#gridRectMarkerMask${i.globals.cuid})`), this.markers.setupMarkerDelegation(c), Array.isArray(r.x))\n for (let h = 0; h < r.x.length; h++) {\n let d = e + 1, p = !0;\n e === 0 && h === 0 && (d = 0), e === 0 && h === 1 && (d = 1);\n let g = i.globals.markers.size[o];\n if (n !== 1 / 0) {\n const m = i.config.plotOptions.bubble;\n g = i.seriesData.seriesZ[o][d], m.zScaling && (g /= n), m.minBubbleRadius && g < m.minBubbleRadius && (g = m.minBubbleRadius), m.maxBubbleRadius && g > m.maxBubbleRadius && (g = m.maxBubbleRadius);\n }\n const f = r.x[h], x = r.y[h];\n if (g = g || 0, (x === null || typeof i.seriesData.series[o][d] > \"u\") && (p = !1), p) {\n const m = this.drawPoint(\n f,\n x,\n g,\n o,\n d,\n e\n );\n c.add(m);\n }\n l.add(c);\n }\n }\n drawPoint(t, e, s, i, a, o) {\n const r = this.w, n = i, l = this.anim, c = this.filters, h = this.fill, d = this.markers, p = this.graphics, g = d.getMarkerConfig({\n cssClass: \"apexcharts-marker\",\n seriesIndex: n,\n dataPointIndex: a,\n radius: r.config.chart.type === \"bubble\" || r.globals.comboCharts && r.config.series[i] && r.config.series[i].type === \"bubble\" ? s : null\n });\n let f = h.fillPath({\n seriesNumber: i,\n dataPointIndex: a,\n color: g.pointFillColor,\n patternUnits: \"objectBoundingBox\",\n value: r.seriesData.series[i][o]\n });\n const x = p.drawMarker(t, e, g);\n if (r.config.series[n].data[a] && r.config.series[n].data[a].fillColor && (f = r.config.series[n].data[a].fillColor), x.attr({\n fill: f\n }), r.config.chart.dropShadow.enabled) {\n const m = r.config.chart.dropShadow;\n c.dropShadow(x, m, i);\n }\n if (this.initialAnim && !r.globals.dataChanged && !r.globals.resized) {\n const m = r.config.chart.animations.speed;\n l.animateMarker(x, m, r.globals.easing, () => {\n window.setTimeout(() => {\n l.animationCompleted(x);\n }, 100);\n });\n } else\n r.globals.animationEnded = !0;\n return x.attr({\n rel: a,\n j: a,\n index: i,\n \"default-marker-size\": g.pSize\n }), c.setSelectionFilter(x, i, a), x.node.classList.add(\"apexcharts-marker\"), x;\n }\n centerTextInBubble(t) {\n const e = this.w;\n return t = t + parseInt(e.config.dataLabels.style.fontSize, 10) / 4, {\n y: t\n };\n }\n}\nclass gt {\n constructor(t, e = null) {\n this.w = t, this.ctx = e;\n }\n // When there are many datalabels to be printed, and some of them overlaps each other in the same series, this method will take care of that\n // Also, when datalabels exceeds the drawable area and get clipped off, we need to adjust and move some pixels to make them visible again\n dataLabelsCorrection(t, e, s, i, a, o, r) {\n const n = this.w, l = new P(this.w);\n let c = !1;\n const h = l.getTextRects(s, r), d = h.width, p = h.height;\n e < 0 && (e = 0), e > n.layout.gridHeight + p && (e = n.layout.gridHeight + p / 2), typeof n.globals.dataLabelsRects[i] > \"u\" && (n.globals.dataLabelsRects[i] = []), n.globals.dataLabelsRects[i].push({ x: t, y: e, width: d, height: p });\n const g = n.globals.dataLabelsRects[i].length - 2, f = typeof n.globals.lastDrawnDataLabelsIndexes[i] < \"u\" ? n.globals.lastDrawnDataLabelsIndexes[i][n.globals.lastDrawnDataLabelsIndexes[i].length - 1] : 0;\n if (typeof n.globals.dataLabelsRects[i][g] < \"u\") {\n const x = n.globals.dataLabelsRects[i][f];\n // next label forward and x not intersecting\n (t > x.x + x.width || e > x.y + x.height || e + p < x.y || t + d < x.x) && (c = !0);\n }\n return (a === 0 || o) && (c = !0), {\n x: t,\n y: e,\n textRects: h,\n drawnextLabel: c\n };\n }\n drawDataLabel({ type: t, pos: e, i: s, j: i, isRangeStart: a, strokeWidth: o = 2 }) {\n const r = this.w, n = new P(this.w), l = r.config.dataLabels;\n let c = 0, h = 0, d = i, p = null;\n if (r.globals.collapsedSeriesIndices.indexOf(s) !== -1 || !l.enabled || !Array.isArray(e.x))\n return p;\n p = n.group({\n class: \"apexcharts-data-labels\"\n });\n for (let f = 0; f < e.x.length; f++)\n if (c = e.x[f] + l.offsetX, h = e.y[f] + l.offsetY + o, !isNaN(c)) {\n i === 1 && f === 0 && (d = 0), i === 1 && f === 1 && (d = 1);\n let x = r.seriesData.series[s][d];\n t === \"rangeArea\" && (a ? x = r.rangeData.seriesRangeStart[s][d] : x = r.rangeData.seriesRangeEnd[s][d]);\n let m = \"\";\n const u = (b) => r.config.dataLabels.formatter(b, {\n seriesIndex: s,\n dataPointIndex: d,\n w: r\n });\n r.config.chart.type === \"bubble\" ? (x = r.seriesData.seriesZ[s][d], m = u(x), h = e.y[f], h = new ge(this.w, this.ctx).centerTextInBubble(\n h,\n s,\n d\n ).y) : typeof x < \"u\" && (m = u(x));\n let y = r.config.dataLabels.textAnchor;\n r.globals.isSlopeChart && (d === 0 ? y = \"end\" : d === r.config.series[s].data.length - 1 ? y = \"start\" : y = \"middle\"), this.plotDataLabelsText({\n x: c,\n y: h,\n text: m,\n i: s,\n j: d,\n parent: p,\n offsetCorrection: !0,\n dataLabelsConfig: r.config.dataLabels,\n textAnchor: y\n });\n }\n return p;\n }\n plotDataLabelsText(t) {\n const e = this.w, s = new P(this.w);\n let {\n x: i,\n y: a,\n i: o,\n j: r,\n text: n,\n textAnchor: l,\n fontSize: c,\n parent: h,\n dataLabelsConfig: d,\n color: p,\n alwaysDrawDataLabel: g,\n offsetCorrection: f,\n className: x\n } = t, m = null;\n if (Array.isArray(e.config.dataLabels.enabledOnSeries) && e.config.dataLabels.enabledOnSeries.indexOf(o) < 0)\n return m;\n let u = {\n x: i,\n y: a,\n drawnextLabel: !0,\n textRects: null\n };\n f && (u = this.dataLabelsCorrection(\n i,\n a,\n n,\n o,\n r,\n g,\n parseInt(d.style.fontSize, 10)\n )), e.interact.zoomed || (i = u.x, a = u.y), u.textRects && (i < -20 - u.textRects.width || i > e.layout.gridWidth + u.textRects.width + 30) && (n = \"\");\n let y = e.globals.dataLabels.style.colors[o];\n ((e.config.chart.type === \"bar\" || e.config.chart.type === \"rangeBar\") && e.config.plotOptions.bar.distributed || e.config.dataLabels.distributed) && (y = e.globals.dataLabels.style.colors[r]), typeof y == \"function\" && (y = y({\n series: e.seriesData.series,\n seriesIndex: o,\n dataPointIndex: r,\n w: e\n })), p && (y = p);\n let b = d.offsetX, w = d.offsetY;\n if ((e.config.chart.type === \"bar\" || e.config.chart.type === \"rangeBar\") && (b = 0, w = 0), e.globals.isSlopeChart && (r !== 0 && (b = d.offsetX * -2 + 5), r !== 0 && r !== e.config.series[o].data.length - 1 && (b = 0)), u.drawnextLabel) {\n if (l === \"middle\" && i === e.layout.gridWidth && (l = \"end\"), m = s.drawText({\n width: 100,\n height: parseInt(d.style.fontSize, 10),\n x: i + b,\n y: a + w,\n foreColor: y,\n textAnchor: l || d.textAnchor,\n text: n,\n fontSize: c || d.style.fontSize,\n fontFamily: d.style.fontFamily,\n fontWeight: d.style.fontWeight || \"normal\"\n }), m.attr({\n class: x || \"apexcharts-datalabel\",\n cx: i,\n cy: a\n }), d.dropShadow.enabled) {\n const v = d.dropShadow;\n new Z(this.w).dropShadow(m, v);\n }\n h.add(m), typeof e.globals.lastDrawnDataLabelsIndexes[o] > \"u\" && (e.globals.lastDrawnDataLabelsIndexes[o] = []), e.globals.lastDrawnDataLabelsIndexes[o].push(r);\n }\n return m;\n }\n addBackgroundToDataLabel(t, e) {\n const s = this.w, i = s.config.dataLabels.background, a = i.padding, o = i.padding / 2, r = e.width, n = e.height, c = new P(this.w).drawRect(\n e.x - a,\n e.y - o / 2,\n r + a * 2,\n n + o,\n i.borderRadius,\n s.config.chart.background === \"transparent\" || !s.config.chart.background ? \"#fff\" : s.config.chart.background,\n i.opacity,\n i.borderWidth,\n i.borderColor\n );\n return i.dropShadow.enabled && new Z(this.w).dropShadow(c, i.dropShadow), c;\n }\n dataLabelsBackground() {\n const t = this.w;\n if (t.config.chart.type === \"bubble\")\n return;\n const e = t.dom.baseEl.querySelectorAll(\n \".apexcharts-datalabels text\"\n );\n for (let s = 0; s < e.length; s++) {\n const i = e[s], a = i.getBBox();\n let o = null;\n if (a.width && a.height && (o = this.addBackgroundToDataLabel(i, a)), o) {\n i.parentNode.insertBefore(o.node, i);\n const r = t.config.dataLabels.background.backgroundColor || i.getAttribute(\"fill\");\n t.config.chart.animations.enabled && !t.globals.resized && !t.globals.dataChanged ? o.animate().attr({ fill: r }) : o.attr({ fill: r }), i.setAttribute(\"fill\", t.config.dataLabels.background.foreColor);\n }\n }\n }\n bringForward() {\n const t = this.w, e = t.dom.baseEl.querySelectorAll(\n \".apexcharts-datalabels\"\n ), s = t.dom.baseEl.querySelector(\n \".apexcharts-plot-series:last-child\"\n );\n for (let i = 0; i < e.length; i++)\n s && s.insertBefore(e[i], s.nextSibling);\n }\n}\nclass at {\n constructor(t, { theme: e = null, timeScale: s = null } = {}) {\n this.w = t, this.theme = e, this.timeScale = s;\n }\n // Based on the formatter function, get the label text and position\n getLabel(t, e, s, i, a = [], o = \"12px\", r = !0) {\n const n = this.w, l = typeof t[i] > \"u\" ? \"\" : t[i];\n let c = l;\n const h = n.formatters.xLabelFormatter, d = n.config.xaxis.labels.formatter;\n let p = !1;\n const g = new vt(this.w), f = l;\n r && (c = g.xLabelFormat(h, l, f, {\n i,\n dateFormatter: new q(this.w).formatDate,\n w: n\n }), d !== void 0 && (c = d(l, t[i], {\n i,\n dateFormatter: new q(this.w).formatDate,\n w: n\n })));\n const x = (b) => {\n let w = null;\n return e.forEach((v) => {\n v.unit === \"month\" ? w = \"year\" : v.unit === \"day\" ? w = \"month\" : v.unit === \"hour\" ? w = \"day\" : v.unit === \"minute\" && (w = \"hour\");\n }), w === b;\n };\n e.length > 0 ? (p = x(e[i].unit), s = e[i].position, c = e[i].value) : n.config.xaxis.type === \"datetime\" && d === void 0 && (c = \"\"), typeof c > \"u\" && (c = \"\"), c = Array.isArray(c) ? c : c.toString();\n const m = new P(this.w);\n let u = {};\n n.layout.rotateXLabels && r ? u = m.getTextRects(\n c,\n parseInt(o, 10),\n null,\n `rotate(${n.config.xaxis.labels.rotate} 0 0)`,\n !1\n ) : u = m.getTextRects(c, parseInt(o, 10));\n const y = !n.config.xaxis.labels.showDuplicates && this.timeScale;\n return !Array.isArray(c) && (String(c) === \"NaN\" || a.indexOf(c) >= 0 && y) && (c = \"\"), {\n x: s,\n text: c,\n textRect: u,\n isBold: p\n };\n }\n checkLabelBasedOnTickamount(t, e, s) {\n const i = this.w;\n let a = i.config.xaxis.tickAmount;\n if (a === \"dataPoints\" && (a = Math.round(i.layout.gridWidth / 120)), a > s)\n return e;\n const o = Math.round(s / (a + 1));\n return t % o === 0 || (e.text = \"\"), e;\n }\n checkForOverflowingLabels(t, e, s, i, a) {\n const o = this.w;\n if (t === 0 && o.globals.skipFirstTimelinelabel && (e.text = \"\"), t === s - 1 && o.globals.skipLastTimelinelabel && (e.text = \"\"), o.config.xaxis.labels.hideOverlappingLabels && i.length > 0) {\n const r = a[a.length - 1];\n if (o.config.xaxis.labels.trim && o.config.xaxis.type !== \"datetime\")\n return e;\n e.x < r.textRect.width / (o.layout.rotateXLabels ? Math.abs(o.config.xaxis.labels.rotate) / 12 : 1.01) + r.x && (e.text = \"\");\n }\n return e;\n }\n checkForReversedLabels(t, e) {\n const s = this.w;\n return s.config.yaxis[t] && s.config.yaxis[t].reversed && e.reverse(), e;\n }\n yAxisAllSeriesCollapsed(t) {\n const e = this.w.globals;\n return !e.seriesYAxisMap[t].some((s) => e.collapsedSeriesIndices.indexOf(s) === -1);\n }\n // Method to translate annotation.yAxisIndex values from\n // seriesName-as-a-string values to seriesName-as-an-array values (old style\n // series mapping to new style).\n translateYAxisIndex(t) {\n const e = this.w, s = e.globals, i = e.config.yaxis;\n return e.seriesData.series.length > i.length || i.some((o) => Array.isArray(o.seriesName)) ? t : s.seriesYAxisReverseMap[t];\n }\n isYAxisHidden(t) {\n const e = this.w, s = e.config.yaxis[t];\n if (!s.show || this.yAxisAllSeriesCollapsed(t))\n return !0;\n if (!s.showForNullSeries) {\n const i = e.globals.seriesYAxisMap[t], a = new V(this.w);\n return i.every((o) => a.isSeriesNull(o));\n }\n return !1;\n }\n // get the label color for y-axis\n // realIndex is the actual series index, while i is the tick Index\n getYAxisForeColor(t, e) {\n var s;\n const i = this.w;\n return Array.isArray(t) && i.globals.yAxisScale[e] && ((s = this.theme) == null || s.pushExtraColors(\n t,\n i.globals.yAxisScale[e].result.length,\n !1\n )), t;\n }\n drawYAxisTicks(t, e, s, i, a, o, r) {\n const n = this.w, l = new P(this.w);\n let c = n.layout.translateY + n.config.yaxis[a].labels.offsetY;\n if (n.globals.isBarHorizontal ? c = 0 : n.config.chart.type === \"heatmap\" && (c += o / 2), i.show && e > 0) {\n n.config.yaxis[a].opposite === !0 && (t = t + i.width);\n for (let h = e; h >= 0; h--) {\n const d = l.drawLine(\n t + s.offsetX - i.width + i.offsetX,\n c + i.offsetY,\n t + s.offsetX + i.offsetX,\n c + i.offsetY,\n i.color\n );\n r.add(d), c += o;\n }\n }\n }\n}\nclass wt {\n constructor(t, e, s) {\n this.w = t, this.ctx = e, this.elgrid = s, this.axesUtils = new at(t, { theme: e.theme, timeScale: e.timeScale }), this.xaxisLabels = t.labelData.labels.slice(), t.labelData.timescaleLabels.length > 0 && !t.globals.isBarHorizontal && (this.xaxisLabels = t.labelData.timescaleLabels.slice()), t.config.xaxis.overwriteCategories && (this.xaxisLabels = t.config.xaxis.overwriteCategories), this.drawnLabels = [], this.drawnLabelsRects = [], t.config.xaxis.position === \"top\" ? this.offY = 0 : this.offY = t.layout.gridHeight, this.offY = this.offY + t.config.xaxis.axisBorder.offsetY, this.isCategoryBarHorizontal = t.config.chart.type === \"bar\" && t.config.plotOptions.bar.horizontal, this.xaxisFontSize = t.config.xaxis.labels.style.fontSize, this.xaxisFontFamily = t.config.xaxis.labels.style.fontFamily, this.xaxisForeColors = t.config.xaxis.labels.style.colors, this.xaxisBorderWidth = t.config.xaxis.axisBorder.width, this.isCategoryBarHorizontal && (this.xaxisBorderWidth = t.config.yaxis[0].axisBorder.width.toString()), String(this.xaxisBorderWidth).indexOf(\"%\") > -1 ? this.xaxisBorderWidth = t.layout.gridWidth * parseInt(this.xaxisBorderWidth, 10) / 100 : this.xaxisBorderWidth = parseInt(this.xaxisBorderWidth, 10), this.xaxisBorderHeight = t.config.xaxis.axisBorder.height, this.yaxis = t.config.yaxis[0];\n }\n drawXaxis() {\n const t = this.w, e = new P(this.w), s = e.group({\n class: \"apexcharts-xaxis\",\n transform: `translate(${t.config.xaxis.offsetX}, ${t.config.xaxis.offsetY})`\n }), i = e.group({\n class: \"apexcharts-xaxis-texts-g\",\n transform: `translate(${t.layout.translateXAxisX}, ${t.layout.translateXAxisY})`\n });\n s.add(i);\n let a = [];\n for (let o = 0; o < this.xaxisLabels.length; o++)\n a.push(this.xaxisLabels[o]);\n if (this.drawXAxisLabelAndGroup(\n !0,\n e,\n i,\n a,\n t.axisFlags.isXNumeric,\n (o, r) => r\n ), t.labelData.hasXaxisGroups) {\n const o = t.labelData.groups;\n a = [];\n for (let n = 0; n < o.length; n++)\n a.push(o[n].title);\n const r = {};\n t.config.xaxis.group.style && (r.xaxisFontSize = t.config.xaxis.group.style.fontSize, r.xaxisFontFamily = t.config.xaxis.group.style.fontFamily, r.xaxisForeColors = t.config.xaxis.group.style.colors, r.fontWeight = t.config.xaxis.group.style.fontWeight, r.cssClass = t.config.xaxis.group.style.cssClass), this.drawXAxisLabelAndGroup(\n !1,\n e,\n i,\n a,\n !1,\n (n, l) => o[n].cols * l,\n r\n );\n }\n if (t.config.xaxis.title.text !== void 0) {\n const o = e.group({\n class: \"apexcharts-xaxis-title\"\n }), r = e.drawText({\n x: t.layout.gridWidth / 2 + t.config.xaxis.title.offsetX,\n y: this.offY + parseFloat(this.xaxisFontSize) + (t.config.xaxis.position === \"bottom\" ? t.layout.xAxisLabelsHeight : -t.layout.xAxisLabelsHeight - 10) + t.config.xaxis.title.offsetY,\n text: t.config.xaxis.title.text,\n textAnchor: \"middle\",\n fontSize: t.config.xaxis.title.style.fontSize,\n fontFamily: t.config.xaxis.title.style.fontFamily,\n fontWeight: t.config.xaxis.title.style.fontWeight,\n foreColor: t.config.xaxis.title.style.color,\n cssClass: \"apexcharts-xaxis-title-text \" + t.config.xaxis.title.style.cssClass\n });\n o.add(r), s.add(o);\n }\n if (t.config.xaxis.axisBorder.show) {\n const o = t.globals.barPadForNumericAxis, r = e.drawLine(\n t.globals.padHorizontal + t.config.xaxis.axisBorder.offsetX - o,\n this.offY,\n this.xaxisBorderWidth + o,\n this.offY,\n t.config.xaxis.axisBorder.color,\n 0,\n this.xaxisBorderHeight\n );\n this.elgrid && this.elgrid.elGridBorders && t.config.grid.show ? this.elgrid.elGridBorders.add(r) : s.add(r);\n }\n return s;\n }\n drawXAxisLabelAndGroup(t, e, s, i, a, o, r = {}) {\n const n = [], l = [], c = this.w, h = r.xaxisFontSize || this.xaxisFontSize, d = r.xaxisFontFamily || this.xaxisFontFamily, p = r.xaxisForeColors || this.xaxisForeColors, g = r.fontWeight || c.config.xaxis.labels.style.fontWeight, f = r.cssClass || c.config.xaxis.labels.style.cssClass;\n let x, m = c.globals.padHorizontal;\n const u = i.length;\n let y = c.config.xaxis.type === \"category\" ? c.globals.dataPoints : u;\n if (y === 0 && u > y && (y = u), a) {\n const b = Math.max(\n Number(c.config.xaxis.tickAmount) || 1,\n y > 1 ? y - 1 : y\n );\n x = c.layout.gridWidth / Math.min(b, u - 1), m = m + o(0, x) / 2 + c.config.xaxis.labels.offsetX;\n } else\n x = c.layout.gridWidth / y, m = m + o(0, x) + c.config.xaxis.labels.offsetX;\n for (let b = 0; b <= u - 1; b++) {\n let w = m - o(b, x) / 2 + c.config.xaxis.labels.offsetX;\n b === 0 && u === 1 && x / 2 === m && y === 1 && (w = c.layout.gridWidth / 2);\n let v = this.axesUtils.getLabel(\n i,\n c.labelData.timescaleLabels,\n w,\n b,\n n,\n h,\n t\n ), C = 28;\n c.layout.rotateXLabels && t && (C = 22), c.config.xaxis.title.text && c.config.xaxis.position === \"top\" && (C += parseFloat(c.config.xaxis.title.style.fontSize) + 2), t || (C = C + parseFloat(h) + (c.layout.xAxisLabelsHeight - c.layout.xAxisGroupLabelsHeight) + (c.layout.rotateXLabels ? 10 : 0)), typeof c.config.xaxis.tickAmount < \"u\" && c.config.xaxis.tickAmount !== \"dataPoints\" && c.config.xaxis.type !== \"datetime\" ? v = this.axesUtils.checkLabelBasedOnTickamount(b, v, u) : v = this.axesUtils.checkForOverflowingLabels(\n b,\n v,\n u,\n n,\n l\n );\n const S = () => t && c.config.xaxis.convertedCatToNumeric ? p[c.globals.minX + b - 1] : p[b];\n if (c.config.xaxis.labels.show) {\n const k = e.drawText({\n x: v.x,\n y: this.offY + c.config.xaxis.labels.offsetY + C - (c.config.xaxis.position === \"top\" ? c.layout.xAxisHeight + c.config.xaxis.axisTicks.height - 2 : 0),\n text: v.text,\n textAnchor: \"middle\",\n fontWeight: v.isBold ? 600 : g,\n fontSize: h,\n fontFamily: d,\n foreColor: Array.isArray(p) ? S() : p,\n isPlainText: !1,\n cssClass: (t ? \"apexcharts-xaxis-label \" : \"apexcharts-xaxis-group-label \") + f\n });\n if (s.add(k), k.on(\"click\", (F) => {\n if (typeof c.config.chart.events.xAxisLabelClick == \"function\") {\n const T = Object.assign({}, c, {\n labelIndex: b\n });\n c.config.chart.events.xAxisLabelClick(F, this.ctx, T);\n }\n }), t) {\n const F = N.createElementNS(\n G,\n \"title\"\n );\n F.textContent = Array.isArray(v.text) ? v.text.join(\" \") : v.text, k.node.appendChild(F), v.text !== \"\" && (n.push(v.text), l.push(v));\n }\n }\n b < u - 1 && (m = m + o(b + 1, x));\n }\n }\n // this actually becomes the vertical axis (for bar charts)\n drawXaxisInversed(t) {\n const e = this.w, s = new P(this.w), i = e.config.yaxis[0].opposite ? e.globals.translateYAxisX[t] : 0, a = s.group({\n class: \"apexcharts-yaxis apexcharts-xaxis-inversed\",\n rel: t\n }), o = s.group({\n class: \"apexcharts-yaxis-texts-g apexcharts-xaxis-inversed-texts-g\",\n transform: \"translate(\" + i + \", 0)\"\n });\n a.add(o);\n const r = [];\n if (e.config.yaxis[t].show)\n for (let g = 0; g < this.xaxisLabels.length; g++)\n r.push(this.xaxisLabels[g]);\n const n = e.layout.gridHeight / r.length;\n let l = -(n / 2.2);\n const c = e.formatters.yLabelFormatters[0], h = e.config.yaxis[0].labels;\n if (h.show)\n for (let g = 0; g <= r.length - 1; g++) {\n let f = typeof r[g] > \"u\" ? \"\" : r[g];\n f = c(f, {\n seriesIndex: t,\n dataPointIndex: g,\n w: e\n });\n const x = this.axesUtils.getYAxisForeColor(\n h.style.colors,\n t\n ), m = () => Array.isArray(x) ? x[g] : x;\n let u = 0;\n Array.isArray(f) && (u = f.length / 2 * parseInt(h.style.fontSize, 10));\n let y = h.offsetX - 15, b = \"end\";\n this.yaxis.opposite && (b = \"start\"), e.config.yaxis[0].labels.align === \"left\" ? (y = h.offsetX, b = \"start\") : e.config.yaxis[0].labels.align === \"center\" ? (y = h.offsetX, b = \"middle\") : e.config.yaxis[0].labels.align === \"right\" && (b = \"end\");\n const w = s.drawText({\n x: y,\n y: l + n + h.offsetY - u,\n text: f,\n textAnchor: b,\n foreColor: m(),\n fontSize: h.style.fontSize,\n fontFamily: h.style.fontFamily,\n fontWeight: h.style.fontWeight,\n isPlainText: !1,\n cssClass: \"apexcharts-yaxis-label \" + h.style.cssClass,\n maxWidth: h.maxWidth\n });\n o.add(w), w.on(\"click\", (C) => {\n if (typeof e.config.chart.events.xAxisLabelClick == \"function\") {\n const D = Object.assign({}, e, {\n labelIndex: g\n });\n e.config.chart.events.xAxisLabelClick(C, this.ctx, D);\n }\n });\n const v = N.createElementNS(G, \"title\");\n if (v.textContent = Array.isArray(f) ? f.join(\" \") : f, w.node.appendChild(v), e.config.yaxis[t].labels.rotate !== 0) {\n const C = s.rotateAroundCenter(w.node);\n w.node.setAttribute(\n \"transform\",\n `rotate(${e.config.yaxis[t].labels.rotate} 0 ${C.y})`\n );\n }\n l = l + n;\n }\n if (e.config.yaxis[0].title.text !== void 0) {\n const g = s.group({\n class: \"apexcharts-yaxis-title apexcharts-xaxis-title-inversed\",\n transform: \"translate(\" + i + \", 0)\"\n }), f = s.drawText({\n x: e.config.yaxis[0].title.offsetX,\n y: e.layout.gridHeight / 2 + e.config.yaxis[0].title.offsetY,\n text: e.config.yaxis[0].title.text,\n textAnchor: \"middle\",\n foreColor: e.config.yaxis[0].title.style.color,\n fontSize: e.config.yaxis[0].title.style.fontSize,\n fontWeight: e.config.yaxis[0].title.style.fontWeight,\n fontFamily: e.config.yaxis[0].title.style.fontFamily,\n cssClass: \"apexcharts-yaxis-title-text \" + e.config.yaxis[0].title.style.cssClass\n });\n g.add(f), a.add(g);\n }\n let d = 0;\n this.isCategoryBarHorizontal && e.config.yaxis[0].opposite && (d = e.layout.gridWidth);\n const p = e.config.xaxis.axisBorder;\n if (p.show) {\n const g = s.drawLine(\n e.globals.padHorizontal + p.offsetX + d,\n 1 + p.offsetY,\n e.globals.padHorizontal + p.offsetX + d,\n e.layout.gridHeight + p.offsetY,\n p.color,\n 0\n );\n this.elgrid && this.elgrid.elGridBorders && e.config.grid.show ? this.elgrid.elGridBorders.add(g) : a.add(g);\n }\n return e.config.yaxis[0].axisTicks.show && this.axesUtils.drawYAxisTicks(\n d,\n r.length,\n e.config.yaxis[0].axisBorder,\n e.config.yaxis[0].axisTicks,\n 0,\n n,\n a\n ), a;\n }\n drawXaxisTicks(t, e, s) {\n const i = this.w, a = t;\n if (t < 0 || t - 2 > i.layout.gridWidth)\n return;\n const o = this.offY + i.config.xaxis.axisTicks.offsetY;\n if (e = e + o + i.config.xaxis.axisTicks.height, i.config.xaxis.position === \"top\" && (e = o - i.config.xaxis.axisTicks.height), i.config.xaxis.axisTicks.show) {\n const n = new P(this.w).drawLine(\n t + i.config.xaxis.axisTicks.offsetX,\n o + i.config.xaxis.offsetY,\n a + i.config.xaxis.axisTicks.offsetX,\n e + i.config.xaxis.offsetY,\n i.config.xaxis.axisTicks.color\n );\n s.add(n), n.node.classList.add(\"apexcharts-xaxis-tick\");\n }\n }\n getXAxisTicksPositions() {\n const t = this.w, e = [], s = this.xaxisLabels.length;\n let i = t.globals.padHorizontal;\n if (t.labelData.timescaleLabels.length > 0)\n for (let a = 0; a < s; a++)\n i = this.xaxisLabels[a].position, e.push(i);\n else {\n const a = s;\n for (let o = 0; o < a; o++) {\n let r = a;\n t.axisFlags.isXNumeric && t.config.chart.type !== \"bar\" && (r -= 1), i = i + t.layout.gridWidth / r, e.push(i);\n }\n }\n return e;\n }\n // to rotate x-axis labels or to put ... for longer text in xaxis\n xAxisLabelCorrections() {\n const t = this.w, e = new P(this.w), s = t.dom.baseEl.querySelector(\".apexcharts-xaxis-texts-g\"), i = t.dom.baseEl.querySelectorAll(\n \".apexcharts-xaxis-texts-g text:not(.apexcharts-xaxis-group-label)\"\n ), a = t.dom.baseEl.querySelectorAll(\n \".apexcharts-yaxis-inversed text\"\n ), o = t.dom.baseEl.querySelectorAll(\n \".apexcharts-xaxis-inversed-texts-g text tspan\"\n );\n if (t.layout.rotateXLabels || t.config.xaxis.labels.rotateAlways)\n for (let r = 0; r < i.length; r++) {\n const n = e.rotateAroundCenter(i[r]);\n n.y = n.y - 1, n.x = n.x + 1, i[r].setAttribute(\n \"transform\",\n `rotate(${t.config.xaxis.labels.rotate} ${n.x} ${n.y})`\n ), i[r].setAttribute(\"text-anchor\", \"end\"), s.setAttribute(\"transform\", \"translate(0, -10)\");\n const l = i[r].childNodes;\n t.config.xaxis.labels.trim && Array.prototype.forEach.call(l, (c) => {\n e.placeTextWithEllipsis(\n c,\n c.textContent,\n t.layout.xAxisLabelsHeight - (t.config.legend.position === \"bottom\" ? 20 : 10)\n );\n });\n }\n else {\n const r = t.layout.gridWidth / (t.labelData.labels.length + 1);\n for (let n = 0; n < i.length; n++) {\n const l = i[n].childNodes;\n t.config.xaxis.labels.trim && t.config.xaxis.type !== \"datetime\" && Array.prototype.forEach.call(l, (c) => {\n e.placeTextWithEllipsis(c, c.textContent, r);\n });\n }\n }\n if (a.length > 0) {\n const r = a[a.length - 1].getBBox(), n = a[0].getBBox();\n r.x < -20 && a[a.length - 1].parentNode.removeChild(\n a[a.length - 1]\n ), n.x + n.width > t.layout.gridWidth && !t.globals.isBarHorizontal && a[0].parentNode.removeChild(a[0]);\n for (let l = 0; l < o.length; l++)\n e.placeTextWithEllipsis(\n o[l],\n o[l].textContent,\n t.config.yaxis[0].labels.maxWidth - (t.config.yaxis[0].title.text ? parseFloat(t.config.yaxis[0].title.style.fontSize) * 2 : 0) - 15\n );\n }\n }\n // renderXAxisBands() {\n // let w = this.w;\n // let plotBand = document.createElementNS(SVGNS, 'rect')\n // w.dom.elGraphical.add(plotBand)\n // }\n}\nclass fe {\n constructor(t, e) {\n this.w = t, this.ctx = e, this.xaxisLabels = t.labelData.labels.slice(), this.axesUtils = new at(e.w, { theme: e.theme, timeScale: e.timeScale }), this.isRangeBar = t.rangeData.seriesRange.length && t.globals.isBarHorizontal, t.labelData.timescaleLabels.length > 0 && (this.xaxisLabels = t.labelData.timescaleLabels.slice());\n }\n drawGridArea(t = null) {\n const e = this.w, s = new P(this.w);\n t || (t = s.group({ class: \"apexcharts-grid\" }));\n const i = s.drawLine(\n e.globals.padHorizontal,\n 1,\n e.globals.padHorizontal,\n e.layout.gridHeight,\n \"transparent\"\n ), a = s.drawLine(\n e.globals.padHorizontal,\n e.layout.gridHeight,\n e.layout.gridWidth,\n e.layout.gridHeight,\n \"transparent\"\n );\n return t.add(a), t.add(i), t;\n }\n drawGrid() {\n if (this.w.globals.axisCharts) {\n const e = this.renderGrid();\n return this.drawGridArea(e.el), e;\n }\n return null;\n }\n createGridMask() {\n const t = this.w, e = t.globals, s = new P(this.w), i = Array.isArray(t.config.stroke.width) ? Math.max(...t.config.stroke.width) : t.config.stroke.width, a = (h) => {\n const d = N.createElementNS(G, \"clipPath\");\n return d.setAttribute(\"id\", h), d;\n };\n t.dom.elGridRectMask = a(`gridRectMask${e.cuid}`), t.dom.elGridRectBarMask = a(`gridRectBarMask${e.cuid}`), t.dom.elGridRectMarkerMask = a(`gridRectMarkerMask${e.cuid}`), t.dom.elForecastMask = a(`forecastMask${e.cuid}`), t.dom.elNonForecastMask = a(`nonForecastMask${e.cuid}`);\n const o = [\"bar\", \"rangeBar\", \"candlestick\", \"boxPlot\"].includes(\n t.config.chart.type\n ) || t.globals.comboBarCount > 0;\n let r = 0, n = 0;\n o && t.axisFlags.isXNumeric && !t.globals.isBarHorizontal && (r = Math.max(\n t.config.grid.padding.left,\n e.barPadForNumericAxis\n ), n = Math.max(\n t.config.grid.padding.right,\n e.barPadForNumericAxis\n )), t.dom.elGridRect = s.drawRect(\n -i / 2 - 2,\n -i / 2 - 2,\n t.layout.gridWidth + i + 4,\n t.layout.gridHeight + i + 4,\n 0,\n \"#fff\"\n ), t.dom.elGridRectBar = s.drawRect(\n -i / 2 - r - 2,\n -i / 2 - 2,\n t.layout.gridWidth + i + n + r + 4,\n t.layout.gridHeight + i + 4,\n 0,\n \"#fff\"\n );\n const l = t.globals.markers.largestSize;\n t.dom.elGridRectMarker = s.drawRect(\n Math.min(-i / 2 - r - 2, -l),\n -l,\n t.layout.gridWidth + Math.max(i + n + r + 4, l * 2),\n t.layout.gridHeight + l * 2,\n 0,\n \"#fff\"\n ), t.dom.elGridRectMask.appendChild(t.dom.elGridRect.node), t.dom.elGridRectBarMask.appendChild(t.dom.elGridRectBar.node), t.dom.elGridRectMarkerMask.appendChild(t.dom.elGridRectMarker.node);\n const c = t.dom.elDefs.node;\n c.appendChild(t.dom.elGridRectMask), c.appendChild(t.dom.elGridRectBarMask), c.appendChild(t.dom.elGridRectMarkerMask), c.appendChild(t.dom.elForecastMask), c.appendChild(t.dom.elNonForecastMask);\n }\n _drawGridLines({ i: t, x1: e, y1: s, x2: i, y2: a, xCount: o, parent: r }) {\n const n = this.w;\n if ((() => !(t === 0 && n.globals.skipFirstTimelinelabel || t === o - 1 && n.globals.skipLastTimelinelabel && !n.config.xaxis.labels.formatter || n.config.chart.type === \"radar\"))()) {\n n.config.grid.xaxis.lines.show && this._drawGridLine({ i: t, x1: e, y1: s, x2: i, y2: a, xCount: o, parent: r });\n let c = 0;\n if (n.labelData.hasXaxisGroups && n.config.xaxis.tickPlacement === \"between\") {\n const d = n.labelData.groups;\n if (d) {\n let p = 0;\n for (let g = 0; p < t && g < d.length; g++)\n p += d[g].cols;\n p === t && (c = n.layout.xAxisLabelsHeight * 0.6);\n }\n }\n new wt(this.w, this.ctx).drawXaxisTicks(e, c, n.dom.elGraphical);\n }\n }\n _drawGridLine({ i: t, x1: e, y1: s, x2: i, y2: a, xCount: o, parent: r }) {\n const n = this.w, l = r.node.classList.contains(\n \"apexcharts-gridlines-horizontal\"\n ), c = n.globals.barPadForNumericAxis, h = s === 0 && a === 0 || e === 0 && i === 0 || s === n.layout.gridHeight && a === n.layout.gridHeight || n.globals.isBarHorizontal && (t === 0 || t === o - 1), p = new P(this.w).drawLine(\n e - (l ? c : 0),\n s,\n i + (l ? c : 0),\n a,\n n.config.grid.borderColor,\n n.config.grid.strokeDashArray\n );\n p.node.classList.add(\"apexcharts-gridline\"), h && n.config.grid.show ? this.elGridBorders.add(p) : r.add(p);\n }\n _drawGridBandRect({ c: t, x1: e, y1: s, x2: i, y2: a, type: o }) {\n const r = this.w, n = new P(this.w), l = r.globals.barPadForNumericAxis, c = r.config.grid[o].colors[t], h = n.drawRect(\n e - (o === \"row\" ? l : 0),\n s,\n i + (o === \"row\" ? l * 2 : 0),\n a,\n 0,\n c,\n r.config.grid[o].opacity\n );\n this.elg.add(h), h.attr(\"clip-path\", `url(#gridRectMask${r.globals.cuid})`), h.node.classList.add(`apexcharts-grid-${o}`);\n }\n _drawXYLines({ xCount: t, tickAmount: e }) {\n const s = this.w, i = ({ xC: o, x1: r, y1: n, x2: l, y2: c }) => {\n for (let h = 0; h < o; h++)\n r = this.xaxisLabels[h].position, l = this.xaxisLabels[h].position, this._drawGridLines({\n i: h,\n x1: r,\n y1: n,\n x2: l,\n y2: c,\n xCount: t,\n parent: this.elgridLinesV\n });\n }, a = ({ xC: o, x1: r, y1: n, x2: l, y2: c }) => {\n for (let h = 0; h < o + (s.axisFlags.isXNumeric ? 0 : 1); h++)\n h === 0 && o === 1 && s.globals.dataPoints === 1 && (r = s.layout.gridWidth / 2, l = r), this._drawGridLines({\n i: h,\n x1: r,\n y1: n,\n x2: l,\n y2: c,\n xCount: t,\n parent: this.elgridLinesV\n }), r += s.layout.gridWidth / (s.axisFlags.isXNumeric ? o - 1 : o), l = r;\n };\n if (s.config.grid.xaxis.lines.show || s.config.xaxis.axisTicks.show) {\n const o = s.globals.padHorizontal, r = 0;\n let n;\n const l = s.layout.gridHeight;\n s.labelData.timescaleLabels.length ? i({ xC: t, x1: o, y1: r, x2: n, y2: l }) : (s.axisFlags.isXNumeric && (t = s.globals.xAxisScale.result.length), a({ xC: t, x1: o, y1: r, x2: n, y2: l }));\n }\n if (s.config.grid.yaxis.lines.show) {\n let r = 0, n = 0;\n const l = s.layout.gridWidth;\n let c = e + 1;\n this.isRangeBar && (c = s.labelData.labels.length);\n for (let h = 0; h < c + (this.isRangeBar ? 1 : 0); h++)\n this._drawGridLine({\n i: h,\n xCount: c + (this.isRangeBar ? 1 : 0),\n x1: 0,\n y1: r,\n x2: l,\n y2: n,\n parent: this.elgridLinesH\n }), r += s.layout.gridHeight / (this.isRangeBar ? c : e), n = r;\n }\n }\n _drawInvertedXYLines({ xCount: t }) {\n const e = this.w;\n if (e.config.grid.xaxis.lines.show || e.config.xaxis.axisTicks.show) {\n let s = e.globals.padHorizontal;\n const i = 0;\n let a;\n const o = e.layout.gridHeight;\n for (let r = 0; r < t + 1; r++)\n e.config.grid.xaxis.lines.show && this._drawGridLine({\n i: r,\n xCount: t + 1,\n x1: s,\n y1: i,\n x2: a,\n y2: o,\n parent: this.elgridLinesV\n }), new wt(this.w, this.ctx).drawXaxisTicks(s, 0, e.dom.elGraphical), s += e.layout.gridWidth / t, a = s;\n }\n if (e.config.grid.yaxis.lines.show) {\n let i = 0, a = 0;\n const o = e.layout.gridWidth;\n for (let r = 0; r < e.globals.dataPoints + 1; r++)\n this._drawGridLine({\n i: r,\n xCount: e.globals.dataPoints + 1,\n x1: 0,\n y1: i,\n x2: o,\n y2: a,\n parent: this.elgridLinesH\n }), i += e.layout.gridHeight / e.globals.dataPoints, a = i;\n }\n }\n renderGrid() {\n var t, e, s;\n const i = this.w, a = i.globals, o = new P(this.w);\n this.elg = o.group({ class: \"apexcharts-grid\" }), this.elgridLinesH = o.group({\n class: \"apexcharts-gridlines-horizontal\"\n }), this.elgridLinesV = o.group({\n class: \"apexcharts-gridlines-vertical\"\n }), this.elGridBorders = o.group({ class: \"apexcharts-grid-borders\" }), this.elg.add(this.elgridLinesH), this.elg.add(this.elgridLinesV), i.config.grid.show || (this.elgridLinesV.hide(), this.elgridLinesH.hide(), this.elGridBorders.hide());\n let r = 0;\n for (; r < a.seriesYAxisMap.length && a.ignoreYAxisIndexes.includes(r); )\n r++;\n r === a.seriesYAxisMap.length && (r = 0);\n let n = a.yAxisScale[r].result.length - 1, l;\n return !a.isBarHorizontal || this.isRangeBar ? (l = this.xaxisLabels.length, this.isRangeBar && (n = i.labelData.labels.length, i.config.xaxis.tickAmount && i.config.xaxis.labels.formatter && (l = i.config.xaxis.tickAmount), ((s = (e = (t = a.yAxisScale) == null ? void 0 : t[r]) == null ? void 0 : e.result) == null ? void 0 : s.length) > 0 && i.config.xaxis.type !== \"datetime\" && (l = a.yAxisScale[r].result.length - 1)), this._drawXYLines({ xCount: l, tickAmount: n })) : (l = n, n = a.xTickAmount, this._drawInvertedXYLines({ xCount: l, tickAmount: n })), this.drawGridBands(l, n), {\n el: this.elg,\n elGridBorders: this.elGridBorders,\n xAxisTickWidth: i.layout.gridWidth / l\n };\n }\n drawGridBands(t, e) {\n var s, i, a;\n const o = this.w, r = (n, l, c, h, d, p) => {\n for (let g = 0, f = 0; g < l; g++, f++)\n f >= o.config.grid[n].colors.length && (f = 0), this._drawGridBandRect({ c: f, x1: c, y1: h, x2: d, y2: p, type: n }), h += o.layout.gridHeight / e;\n };\n if (((s = o.config.grid.row.colors) == null ? void 0 : s.length) > 0 && r(\n \"row\",\n e,\n 0,\n 0,\n o.layout.gridWidth,\n o.layout.gridHeight / e\n ), ((i = o.config.grid.column.colors) == null ? void 0 : i.length) > 0) {\n let n = !o.globals.isBarHorizontal && o.config.xaxis.tickPlacement === \"on\" && (o.config.xaxis.type === \"category\" || o.config.xaxis.convertedCatToNumeric) ? t - 1 : t;\n o.axisFlags.isXNumeric && (n = o.globals.xAxisScale.result.length - 1);\n let l = o.globals.padHorizontal;\n const c = 0;\n let h = o.globals.padHorizontal + o.layout.gridWidth / n;\n const d = o.layout.gridHeight;\n for (let p = 0, g = 0; p < t; p++, g++)\n g >= o.config.grid.column.colors.length && (g = 0), o.config.xaxis.type === \"datetime\" && (l = this.xaxisLabels[p].position, h = (((a = this.xaxisLabels[p + 1]) == null ? void 0 : a.position) || o.layout.gridWidth) - this.xaxisLabels[p].position), this._drawGridBandRect({ c: g, x1: l, y1: c, x2: h, y2: d, type: \"column\" }), l += o.layout.gridWidth / n;\n }\n }\n}\nclass pe {\n constructor(t) {\n this.w = t, this.coreUtils = new V(this.w);\n }\n // http://stackoverflow.com/questions/326679/choosing-an-attractive-linear-scale-for-a-graphs-y-axis\n // This routine creates the Y axis values for a graph.\n niceScale(t, e, s = 0) {\n const a = this.w, o = a.globals;\n let r, n, l, c;\n o.isBarHorizontal ? (r = a.config.xaxis, n = Math.max((o.svgWidth - 100) / 25, 2)) : (r = a.config.yaxis[s], n = Math.max((o.svgHeight - 100) / 15, 2)), L.isNumber(n) || (n = 10), l = r.min !== void 0 && r.min !== null, c = r.max !== void 0 && r.min !== null;\n let h = r.stepSize !== void 0 && r.stepSize !== null, d = r.tickAmount !== void 0 && r.tickAmount !== null, p = d ? r.tickAmount : Rt[Math.min(\n Math.round(n / 2),\n Rt.length - 1\n )];\n if (o.isMultipleYAxis && !d && o.multiAxisTickAmount > 0 && (p = o.multiAxisTickAmount, d = !0), p === \"dataPoints\" ? p = o.dataPoints - 1 : p = Math.abs(Math.round(p)), (t === Number.MIN_VALUE && e === 0 || !L.isNumber(t) && !L.isNumber(e) || t === Number.MIN_VALUE && e === -Number.MAX_VALUE) && (t = L.isNumber(r.min) ? r.min : 0, e = L.isNumber(r.max) ? r.max : t + p, o.allSeriesCollapsed = !1), t > e) {\n console.warn(\n \"axis.min cannot be greater than axis.max: swapping min and max\"\n );\n const T = e;\n e = t, t = T;\n } else\n t === e && (t = t === 0 ? 0 : t - 1, e = e === 0 ? 2 : e + 1);\n const g = [];\n p < 1 && (p = 1);\n let f = p, x = Math.abs(e - t);\n const m = 0.15;\n !l && t > 0 && t / x < m && (t = 0, l = !0), !c && e < 0 && -e / x < m && (e = 0, c = !0), x = Math.abs(e - t);\n let u = x / f, y = u;\n const b = Math.floor(Math.log10(y)), w = Math.pow(10, b);\n let v = Math.ceil(y / w);\n if (v = he[o.yValueDecimal === 0 ? 0 : 1][v], y = v * w, u = y, o.isBarHorizontal && r.stepSize && r.type !== \"datetime\" ? (u = r.stepSize, h = !0) : h && (u = r.stepSize), h && r.forceNiceScale) {\n const T = Math.floor(Math.log10(u));\n u *= Math.pow(10, b - T);\n }\n if (l && c) {\n let T = x / f;\n if (d)\n if (h)\n if (L.mod(x, u) != 0) {\n const M = L.getGCD(u, T);\n T / M < 10 ? u = M : u = T;\n } else\n L.mod(u, T) == 0 ? u = T : (T = u, d = !1);\n else\n u = T;\n else if (h)\n L.mod(x, u) == 0 ? T = u : u = T;\n else if (L.mod(x, u) == 0)\n T = u;\n else {\n f = Math.ceil(x / u), T = x / f;\n const M = L.getGCD(x, u);\n x / M < n && (T = M), u = T;\n }\n f = Math.round(x / u);\n } else {\n if (!l && !c)\n if (o.isMultipleYAxis && d) {\n const T = u * Math.floor(t / u);\n let M = T + u * f;\n M < e && (u *= 2), t = T, M = e, e = t + u * f, x = Math.abs(e - t), t > 0 && t < Math.abs(M - e) && (t = 0, e = u * f), e < 0 && -e < Math.abs(T - t) && (e = 0, t = -u * f);\n } else\n t = u * Math.floor(t / u), e = u * Math.ceil(e / u);\n else if (c)\n if (d)\n t = e - u * f;\n else {\n const T = t;\n t = u * Math.floor(t / u), Math.abs(e - t) / L.getGCD(x, u) > n && (t = e - u * p, t += u * Math.floor((T - t) / u));\n }\n else if (l)\n if (d)\n e = t + u * f;\n else {\n const T = e;\n e = u * Math.ceil(e / u), Math.abs(e - t) / L.getGCD(x, u) > n && (e = t + u * p, e += u * Math.ceil((T - e) / u));\n }\n x = Math.abs(e - t), u = L.getGCD(x, u), f = Math.round(x / u);\n }\n if (!d && !(l || c) && (f = Math.ceil((x - 1e-11) / (u + 1e-11)), f > 16 && L.getPrimeFactors(f).length < 2 && f++), !d && r.forceNiceScale && o.yValueDecimal === 0 && f > x && (f = x, u = Math.round(x / f)), f > n && (!(d || h) || r.forceNiceScale)) {\n const T = L.getPrimeFactors(f), M = T.length - 1;\n let E = f;\n t:\n for (var C = 0; C < M; C++)\n for (var D = 0; D <= M - C; D++) {\n const X = Math.min(D + C, M);\n let R = E, Y = 1;\n for (var S = D; S <= X; S++)\n Y *= T[S];\n if (R /= Y, R < n) {\n E = R;\n break t;\n }\n }\n E === f ? u = x : u = x / E, f = Math.round(x / u);\n }\n o.isMultipleYAxis && o.multiAxisTickAmount == 0 && o.ignoreYAxisIndexes.indexOf(s) < 0 && (o.multiAxisTickAmount = f);\n let k = t - u;\n const F = u * 1e-11;\n do\n k += u, g.push(L.stripNumber(k, 7));\n while (e - k > F);\n return {\n result: g,\n niceMin: g[0],\n niceMax: g[g.length - 1]\n };\n }\n linearScale(t, e, s = 10, i = 0, a = void 0) {\n const o = Math.abs(e - t);\n let r = [];\n if (t === e)\n return r = [t], {\n result: r,\n niceMin: r[0],\n niceMax: r[r.length - 1]\n };\n s = this._adjustTicksForSmallRange(s, i, o), s === \"dataPoints\" && (s = this.w.globals.dataPoints - 1), a || (a = o / s);\n const n = 2;\n if (a !== 0 && isFinite(a)) {\n const c = Math.floor(Math.log10(Math.abs(a))), h = Math.max(n, -c + n), d = Math.pow(10, h);\n a = Math.round((a + Number.EPSILON) * d) / d;\n }\n s === Number.MAX_VALUE && (s = 5, a = 1);\n let l = t;\n for (; s >= 0; )\n r.push(l), l = L.preciseAddition(l, a), s -= 1;\n return {\n result: r,\n niceMin: r[0],\n niceMax: r[r.length - 1]\n };\n }\n logarithmicScaleNice(t, e, s) {\n e <= 0 && (e = Math.max(t, s)), t <= 0 && (t = Math.min(e, s));\n const i = [], a = Math.ceil(Math.log(e) / Math.log(s) + 1), o = Math.floor(Math.log(t) / Math.log(s));\n for (let r = o; r < a; r++)\n i.push(Math.pow(s, r));\n return {\n result: i,\n niceMin: i[0],\n niceMax: i[i.length - 1]\n };\n }\n logarithmicScale(t, e, s) {\n e <= 0 && (e = Math.max(t, s)), t <= 0 && (t = Math.min(e, s));\n const i = [], a = Math.log(e) / Math.log(s), o = Math.log(t) / Math.log(s), r = a - o, n = Math.round(r), l = r / n;\n for (let c = 0, h = o; c < n; c++, h += l)\n i.push(Math.pow(s, h));\n return i.push(Math.pow(s, a)), {\n result: i,\n niceMin: t,\n niceMax: e\n };\n }\n _adjustTicksForSmallRange(t, e, s) {\n let i = t;\n if (typeof e < \"u\" && this.w.config.yaxis[e].labels.formatter && this.w.config.yaxis[e].tickAmount === void 0) {\n const a = Number(\n this.w.config.yaxis[e].labels.formatter(1)\n );\n L.isNumber(a) && this.w.globals.yValueDecimal === 0 && (i = Math.ceil(s));\n }\n return i < t ? i : t;\n }\n setYScaleForIndex(t, e, s) {\n const i = this.w.globals, a = this.w.config, o = i.isBarHorizontal ? a.xaxis : a.yaxis[t];\n typeof i.yAxisScale[t] > \"u\" && (i.yAxisScale[t] = []);\n const r = Math.abs(s - e);\n o.logarithmic && r <= 5 && (i.invalidLogScale = !0), o.logarithmic && r > 5 ? (i.allSeriesCollapsed = !1, i.yAxisScale[t] = o.forceNiceScale ? this.logarithmicScaleNice(e, s, o.logBase) : this.logarithmicScale(e, s, o.logBase)) : s === -Number.MAX_VALUE || !L.isNumber(s) || e === Number.MAX_VALUE || !L.isNumber(e) ? i.yAxisScale[t] = this.niceScale(Number.MIN_VALUE, 0, t) : (i.allSeriesCollapsed = !1, i.yAxisScale[t] = this.niceScale(e, s, t));\n }\n setXScale(t, e) {\n const s = this.w, i = s.globals;\n if (e === -Number.MAX_VALUE || !L.isNumber(e))\n i.xAxisScale = this.linearScale(0, 10, 10);\n else {\n const a = i.xTickAmount;\n i.xAxisScale = this.linearScale(\n t,\n e,\n a,\n 0,\n s.config.xaxis.max === void 0 ? s.config.xaxis.stepSize : void 0\n );\n }\n return i.xAxisScale;\n }\n scaleMultipleYAxes() {\n const t = this.w.config, e = this.w.globals;\n this.coreUtils.setSeriesYAxisMappings();\n const s = e.seriesYAxisMap, i = e.minYArr, a = e.maxYArr;\n e.allSeriesCollapsed = !0, e.barGroups = [], s.forEach((o, r) => {\n const n = [];\n if (o.forEach((l) => {\n var c;\n const h = (c = t.series[l]) == null ? void 0 : c.group;\n n.indexOf(h) < 0 && n.push(h);\n }), o.length > 0) {\n let l = Number.MAX_VALUE, c = -Number.MAX_VALUE, h = l, d = c, p, g;\n if (t.chart.stacked) {\n const f = new Array(e.dataPoints).fill(0), x = [], m = [], u = [];\n n.forEach(() => {\n x.push(f.map(() => Number.MIN_VALUE)), m.push(f.map(() => Number.MIN_VALUE)), u.push(f.map(() => Number.MIN_VALUE));\n });\n for (let y = 0; y < o.length; y++) {\n !p && t.series[o[y]].type && (p = t.series[o[y]].type);\n const b = o[y];\n t.series[b].group ? g = t.series[b].group : g = \"axis-\".concat(r), !(e.collapsedSeriesIndices.indexOf(b) < 0 && e.ancillaryCollapsedSeriesIndices.indexOf(b) < 0) || (e.allSeriesCollapsed = !1, n.forEach((v, C) => {\n if (t.series[b].group === v)\n for (let D = 0; D < this.w.seriesData.series[b].length; D++) {\n const S = this.w.seriesData.series[b][D];\n S >= 0 ? m[C][D] += S : u[C][D] += S, x[C][D] += S, h = Math.min(h, S), d = Math.max(d, S);\n }\n })), (p === \"bar\" || p === \"column\") && e.barGroups.push(g);\n }\n p || (p = t.chart.type), p === \"bar\" || p === \"column\" ? n.forEach((y, b) => {\n l = Math.min(l, Math.min.apply(null, u[b])), c = Math.max(c, Math.max.apply(null, m[b]));\n }) : (n.forEach((y, b) => {\n h = Math.min(h, Math.min.apply(null, x[b])), d = Math.max(\n d,\n Math.max.apply(null, x[b])\n );\n }), l = h, c = d), l === Number.MIN_VALUE && c === Number.MIN_VALUE && (c = -Number.MAX_VALUE);\n } else\n for (let f = 0; f < o.length; f++) {\n const x = o[f];\n l = Math.min(l, i[x]), c = Math.max(c, a[x]), !(e.collapsedSeriesIndices.indexOf(x) < 0 && e.ancillaryCollapsedSeriesIndices.indexOf(x) < 0) || (e.allSeriesCollapsed = !1);\n }\n t.yaxis[r].min !== void 0 && (typeof t.yaxis[r].min == \"function\" ? l = t.yaxis[r].min(l) : l = t.yaxis[r].min), t.yaxis[r].max !== void 0 && (typeof t.yaxis[r].max == \"function\" ? c = t.yaxis[r].max(c) : c = t.yaxis[r].max), e.barGroups = e.barGroups.filter((f, x, m) => m.indexOf(f) === x), this.setYScaleForIndex(r, l, c), o.forEach((f) => {\n i[f] = e.yAxisScale[r].niceMin, a[f] = e.yAxisScale[r].niceMax;\n });\n } else\n this.setYScaleForIndex(r, 0, -Number.MAX_VALUE);\n });\n }\n}\nclass It {\n constructor(t) {\n this.w = t, this.scales = new pe(this.w);\n }\n init() {\n this.setYRange(), this.setXRange(), this.setZRange();\n }\n getMinYMaxY(t, e = Number.MAX_VALUE, s = -Number.MAX_VALUE, i = null) {\n var a, o, r, n, l;\n const c = this.w.config, h = this.w.globals;\n let d = -Number.MAX_VALUE, p = Number.MIN_VALUE;\n i === null && (i = t + 1);\n const g = this.w.seriesData.series;\n let f = g, x = g;\n c.chart.type === \"candlestick\" ? (f = this.w.candleData.seriesCandleL, x = this.w.candleData.seriesCandleH) : c.chart.type === \"boxPlot\" ? (f = this.w.candleData.seriesCandleO, x = this.w.candleData.seriesCandleC) : this.w.axisFlags.isRangeData && (f = this.w.rangeData.seriesRangeStart, x = this.w.rangeData.seriesRangeEnd);\n let m = !1;\n if (this.w.seriesData.seriesX.length >= i) {\n const u = (a = h.brushSource) == null ? void 0 : a.w.config.chart.brush;\n (c.chart.zoom.enabled && c.chart.zoom.autoScaleYaxis || u != null && u.enabled && (u != null && u.autoScaleYaxis)) && (m = !0);\n }\n for (let u = t; u < i; u++) {\n h.dataPoints = Math.max(h.dataPoints, g[u].length);\n const y = c.series[u].type;\n this.w.labelData.categoryLabels.length && (h.dataPoints = this.w.labelData.categoryLabels.filter(\n (v) => typeof v < \"u\"\n ).length), this.w.labelData.labels.length && c.xaxis.type !== \"datetime\" && this.w.seriesData.series.reduce((v, C) => v + C.length, 0) !== 0 && (h.dataPoints = Math.max(h.dataPoints, this.w.labelData.labels.length));\n let b = 0, w = g[u].length - 1;\n if (m) {\n if (c.xaxis.min)\n for (; b < w && this.w.seriesData.seriesX[u][b] < c.xaxis.min; b++)\n ;\n if (c.xaxis.max)\n for (; w > b && this.w.seriesData.seriesX[u][w] > c.xaxis.max; w--)\n ;\n }\n for (let v = b; v <= w && v < this.w.seriesData.series[u].length; v++) {\n let C = g[u][v];\n if (C !== null && L.isNumber(C)) {\n switch (typeof ((o = x[u]) == null ? void 0 : o[v]) < \"u\" && (d = Math.max(d, x[u][v]), e = Math.min(e, x[u][v])), typeof ((r = f[u]) == null ? void 0 : r[v]) < \"u\" && (e = Math.min(e, f[u][v]), s = Math.max(s, f[u][v])), y) {\n case \"candlestick\":\n typeof this.w.candleData.seriesCandleC[u][v] < \"u\" && (d = Math.max(d, this.w.candleData.seriesCandleH[u][v]), e = Math.min(e, this.w.candleData.seriesCandleL[u][v]));\n break;\n case \"boxPlot\":\n typeof this.w.candleData.seriesCandleC[u][v] < \"u\" && (d = Math.max(d, this.w.candleData.seriesCandleC[u][v]), e = Math.min(e, this.w.candleData.seriesCandleO[u][v]));\n break;\n }\n y && y !== \"candlestick\" && y !== \"boxPlot\" && y !== \"rangeArea\" && y !== \"rangeBar\" && (d = Math.max(d, this.w.seriesData.series[u][v]), e = Math.min(e, this.w.seriesData.series[u][v])), this.w.seriesData.seriesGoals[u] && this.w.seriesData.seriesGoals[u][v] && Array.isArray(this.w.seriesData.seriesGoals[u][v]) && this.w.seriesData.seriesGoals[u][v].forEach((D) => {\n d = Math.max(d, D.value), e = Math.min(e, D.value);\n }), s = d, C = L.noExponents(C), L.isFloat(C) && (h.yValueDecimal = Math.max(\n h.yValueDecimal,\n C.toString().split(\".\")[1].length\n )), p > ((n = f[u]) == null ? void 0 : n[v]) && ((l = f[u]) == null ? void 0 : l[v]) < 0 && (p = f[u][v]);\n } else\n h.hasNullValues = !0;\n }\n (y === \"bar\" || y === \"column\") && (p < 0 && d < 0 && (d = 0, s = Math.max(s, 0)), p === Number.MIN_VALUE && (p = 0, e = Math.min(e, 0)));\n }\n return c.chart.type === \"rangeBar\" && this.w.rangeData.seriesRangeStart.length && h.isBarHorizontal && (p = e), c.chart.type === \"bar\" && (p < 0 && d < 0 && (d = 0), p === Number.MIN_VALUE && (p = 0)), {\n minY: p,\n maxY: d,\n lowestY: e,\n highestY: s\n };\n }\n setYRange() {\n const t = this.w.globals, e = this.w.config;\n t.maxY = -Number.MAX_VALUE, t.minY = Number.MIN_VALUE;\n let s = Number.MAX_VALUE, i;\n if (t.isMultipleYAxis) {\n s = Number.MAX_VALUE;\n for (let a = 0; a < this.w.seriesData.series.length; a++)\n i = this.getMinYMaxY(a), t.minYArr[a] = i.lowestY, t.maxYArr[a] = i.highestY, s = Math.min(s, i.lowestY);\n }\n return i = this.getMinYMaxY(0, s, null, this.w.seriesData.series.length), e.chart.type === \"bar\" ? (t.minY = i.minY, t.maxY = i.maxY) : (t.minY = i.lowestY, t.maxY = i.highestY), s = i.lowestY, e.chart.stacked && this._setStackedMinMax(), e.chart.type === \"line\" || e.chart.type === \"area\" || e.chart.type === \"scatter\" || e.chart.type === \"candlestick\" || e.chart.type === \"boxPlot\" || e.chart.type === \"rangeBar\" && !t.isBarHorizontal ? t.minY === Number.MIN_VALUE && s !== -Number.MAX_VALUE && s !== t.maxY && (t.minY = s) : t.minY = t.minY !== Number.MIN_VALUE ? Math.min(i.minY, t.minY) : i.minY, e.yaxis.forEach((a, o) => {\n a.max !== void 0 && (typeof a.max == \"number\" ? t.maxYArr[o] = a.max : typeof a.max == \"function\" && (t.maxYArr[o] = a.max(\n t.isMultipleYAxis ? t.maxYArr[o] : t.maxY\n )), t.maxY = t.maxYArr[o]), a.min !== void 0 && (typeof a.min == \"number\" ? t.minYArr[o] = a.min : typeof a.min == \"function\" && (t.minYArr[o] = a.min(\n t.isMultipleYAxis ? t.minYArr[o] === Number.MIN_VALUE ? 0 : t.minYArr[o] : t.minY\n )), t.minY = t.minYArr[o]);\n }), t.isBarHorizontal && [\"min\", \"max\"].forEach((o) => {\n e.xaxis[o] !== void 0 && typeof e.xaxis[o] == \"number\" && (o === \"min\" ? t.minY = e.xaxis[o] : t.maxY = e.xaxis[o]);\n }), t.isMultipleYAxis ? (this.scales.scaleMultipleYAxes(), t.minY = s) : (this.scales.setYScaleForIndex(0, t.minY, t.maxY), t.minY = t.yAxisScale[0].niceMin, t.maxY = t.yAxisScale[0].niceMax, t.minYArr[0] = t.minY, t.maxYArr[0] = t.maxY), t.barGroups = [], t.lineGroups = [], t.areaGroups = [], e.series.forEach((a) => {\n switch (a.type || e.chart.type) {\n case \"bar\":\n case \"column\":\n t.barGroups.push(a.group);\n break;\n case \"line\":\n t.lineGroups.push(a.group);\n break;\n case \"area\":\n t.areaGroups.push(a.group);\n break;\n }\n }), t.barGroups = t.barGroups.filter((a, o, r) => r.indexOf(a) === o), t.lineGroups = t.lineGroups.filter((a, o, r) => r.indexOf(a) === o), t.areaGroups = t.areaGroups.filter((a, o, r) => r.indexOf(a) === o), {\n minY: t.minY,\n maxY: t.maxY,\n minYArr: t.minYArr,\n maxYArr: t.maxYArr,\n yAxisScale: t.yAxisScale\n };\n }\n setXRange() {\n const t = this.w.globals, e = this.w.config, s = e.xaxis.type === \"numeric\" || e.xaxis.type === \"datetime\" || e.xaxis.type === \"category\" && !this.w.axisFlags.noLabelsProvided || this.w.axisFlags.noLabelsProvided || this.w.axisFlags.isXNumeric, i = () => {\n for (let a = 0; a < this.w.seriesData.series.length; a++)\n if (this.w.labelData.labels[a])\n for (let o = 0; o < this.w.labelData.labels[a].length; o++)\n this.w.labelData.labels[a][o] !== null && L.isNumber(this.w.labelData.labels[a][o]) && (t.maxX = Math.max(t.maxX, this.w.labelData.labels[a][o]), t.initialMaxX = Math.max(t.maxX, this.w.labelData.labels[a][o]), t.minX = Math.min(t.minX, this.w.labelData.labels[a][o]), t.initialMinX = Math.min(t.minX, this.w.labelData.labels[a][o]));\n };\n if (this.w.axisFlags.isXNumeric && i(), this.w.axisFlags.noLabelsProvided && e.xaxis.categories.length === 0 && (t.maxX = this.w.labelData.labels[this.w.labelData.labels.length - 1], t.initialMaxX = this.w.labelData.labels[this.w.labelData.labels.length - 1], t.minX = 1, t.initialMinX = 1), this.w.axisFlags.isXNumeric || this.w.axisFlags.noLabelsProvided || this.w.axisFlags.dataFormatXNumeric) {\n let a = 10;\n if (e.xaxis.tickAmount === void 0)\n a = Math.round(t.svgWidth / 150), e.xaxis.type === \"numeric\" && t.dataPoints < 30 && (a = t.dataPoints - 1), a > t.dataPoints && t.dataPoints !== 0 && (a = t.dataPoints - 1);\n else if (e.xaxis.tickAmount === \"dataPoints\") {\n if (this.w.seriesData.series.length > 1 && (a = this.w.seriesData.series[t.maxValsInArrayIndex].length - 1), this.w.axisFlags.isXNumeric) {\n const o = Math.round(t.maxX - t.minX);\n o < 30 && (a = o);\n }\n } else\n a = e.xaxis.tickAmount;\n if (t.xTickAmount = a, e.xaxis.max !== void 0 && typeof e.xaxis.max == \"number\" && (t.maxX = e.xaxis.max), e.xaxis.min !== void 0 && typeof e.xaxis.min == \"number\" && (t.minX = e.xaxis.min), e.xaxis.range !== void 0 && (t.minX = t.maxX - e.xaxis.range), t.minX !== Number.MAX_VALUE && t.maxX !== -Number.MAX_VALUE)\n if (e.xaxis.convertedCatToNumeric && !this.w.axisFlags.dataFormatXNumeric) {\n const o = [];\n for (let r = t.minX - 1; r < t.maxX; r++)\n o.push(r + 1);\n t.xAxisScale = {\n result: o,\n niceMin: o[0],\n niceMax: o[o.length - 1]\n };\n } else\n t.xAxisScale = this.scales.setXScale(t.minX, t.maxX);\n else\n t.xAxisScale = this.scales.linearScale(\n 0,\n a,\n a,\n 0,\n e.xaxis.stepSize\n ), this.w.axisFlags.noLabelsProvided && this.w.labelData.labels.length > 0 && (t.xAxisScale = this.scales.linearScale(\n 1,\n this.w.labelData.labels.length,\n a - 1,\n 0,\n e.xaxis.stepSize\n ), this.w.seriesData.seriesX = this.w.labelData.labels.slice());\n s && (this.w.labelData.labels = t.xAxisScale.result.slice());\n }\n return t.isBarHorizontal && this.w.labelData.labels.length && (t.xTickAmount = this.w.labelData.labels.length), this._handleSingleDataPoint(), this._getMinXDiff(), {\n minX: t.minX,\n maxX: t.maxX\n };\n }\n setZRange() {\n const t = this.w.globals;\n if (this.w.axisFlags.isDataXYZ) {\n for (let e = 0; e < this.w.seriesData.series.length; e++)\n if (typeof this.w.seriesData.seriesZ[e] < \"u\")\n for (let s = 0; s < this.w.seriesData.seriesZ[e].length; s++)\n this.w.seriesData.seriesZ[e][s] !== null && L.isNumber(this.w.seriesData.seriesZ[e][s]) && (t.maxZ = Math.max(t.maxZ, this.w.seriesData.seriesZ[e][s]), t.minZ = Math.min(t.minZ, this.w.seriesData.seriesZ[e][s]));\n }\n }\n _handleSingleDataPoint() {\n const t = this.w.globals, e = this.w.config;\n if (t.minX === t.maxX) {\n const s = new q(this.w);\n if (e.xaxis.type === \"datetime\") {\n const i = s.getDate(t.minX);\n e.xaxis.labels.datetimeUTC ? i.setUTCDate(i.getUTCDate() - 2) : i.setDate(i.getDate() - 2), t.minX = new Date(i).getTime();\n const a = s.getDate(t.maxX);\n e.xaxis.labels.datetimeUTC ? a.setUTCDate(a.getUTCDate() + 2) : a.setDate(a.getDate() + 2), t.maxX = new Date(a).getTime();\n } else\n (e.xaxis.type === \"numeric\" || e.xaxis.type === \"category\" && !this.w.axisFlags.noLabelsProvided) && (t.minX = t.minX - 2, t.initialMinX = t.minX, t.maxX = t.maxX + 2, t.initialMaxX = t.maxX);\n }\n }\n _getMinXDiff() {\n const t = this.w.globals;\n this.w.axisFlags.isXNumeric && this.w.seriesData.seriesX.forEach((e) => {\n if (e.length) {\n e.length === 1 && e.push(\n this.w.seriesData.seriesX[t.maxValsInArrayIndex][this.w.seriesData.seriesX[t.maxValsInArrayIndex].length - 1]\n );\n const s = e.slice();\n s.sort((i, a) => i - a), s.forEach((i, a) => {\n if (a > 0) {\n const o = i - s[a - 1];\n o > 0 && (t.minXDiff = Math.min(o, t.minXDiff));\n }\n }), (t.dataPoints === 1 || t.minXDiff === Number.MAX_VALUE) && (t.minXDiff = 0.5);\n }\n });\n }\n _setStackedMinMax() {\n const t = this.w.globals;\n if (!this.w.seriesData.series.length)\n return;\n let e = this.w.labelData.seriesGroups;\n e.length || (e = [this.w.seriesData.seriesNames.map((a) => a)]);\n const s = {}, i = {};\n e.forEach((a) => {\n s[a] = [], i[a] = [], this.w.config.series.map(\n (r, n) => a.indexOf(this.w.seriesData.seriesNames[n]) > -1 ? n : null\n ).filter((r) => r !== null).forEach((r) => {\n var n, l, c, h;\n for (let d = 0; d < this.w.seriesData.series[t.maxValsInArrayIndex].length; d++)\n typeof s[a][d] > \"u\" && (s[a][d] = 0, i[a][d] = 0), (this.w.config.chart.stacked && !t.comboCharts || this.w.config.chart.stacked && t.comboCharts && (!this.w.config.chart.stackOnlyBar || ((l = (n = this.w.config.series) == null ? void 0 : n[r]) == null ? void 0 : l.type) === \"bar\" || ((h = (c = this.w.config.series) == null ? void 0 : c[r]) == null ? void 0 : h.type) === \"column\")) && this.w.seriesData.series[r][d] !== null && L.isNumber(this.w.seriesData.series[r][d]) && (this.w.seriesData.series[r][d] > 0 ? s[a][d] += parseFloat(this.w.seriesData.series[r][d]) + 1e-4 : i[a][d] += parseFloat(this.w.seriesData.series[r][d]));\n });\n }), Object.entries(s).forEach(([a]) => {\n s[a].forEach((o, r) => {\n t.maxY = Math.max(t.maxY, s[a][r]), t.minY = Math.min(t.minY, i[a][r]);\n });\n });\n }\n}\nfunction Yt() {\n return {\n palette1: [\"#008FFB\", \"#00E396\", \"#FEB019\", \"#FF4560\", \"#775DD0\"],\n palette2: [\"#3F51B5\", \"#03A9F4\", \"#4CAF50\", \"#F9CE1D\", \"#FF9800\"],\n palette3: [\"#33B2DF\", \"#546E7A\", \"#D4526E\", \"#13D8AA\", \"#A5978B\"],\n palette4: [\"#4ECDC4\", \"#C7F464\", \"#81D4FA\", \"#FD6A6A\", \"#546E7A\"],\n palette5: [\"#2B908F\", \"#F9A3A4\", \"#90EE7E\", \"#FA4443\", \"#69D2E7\"],\n palette6: [\"#449DD1\", \"#F86624\", \"#EA3546\", \"#662E9B\", \"#C5D86D\"],\n palette7: [\"#D7263D\", \"#1B998B\", \"#2E294E\", \"#F46036\", \"#E2C044\"],\n palette8: [\"#662E9B\", \"#F86624\", \"#F9C80E\", \"#EA3546\", \"#43BCCD\"],\n palette9: [\"#5C4742\", \"#A5978B\", \"#8D5B4C\", \"#5A2A27\", \"#C4BBAF\"],\n palette10: [\"#A300D6\", \"#7D02EB\", \"#5653FE\", \"#2983FF\", \"#00B1F2\"],\n // CVD-safe palettes (Wong 2011 / IBM design)\n cvdDeuteranopia: [\"#0072B2\", \"#E69F00\", \"#56B4E9\", \"#009E73\", \"#F0E442\", \"#D55E00\", \"#CC79A7\"],\n cvdProtanopia: [\"#0077BB\", \"#EE7733\", \"#009988\", \"#EE3377\", \"#BBBBBB\", \"#33BBEE\", \"#CC3311\"],\n cvdTritanopia: [\"#CC3311\", \"#009988\", \"#EE7733\", \"#0077BB\", \"#EE3377\", \"#BBBBBB\", \"#33BBEE\"],\n highContrast: [\"#005A9C\", \"#C00000\", \"#007A33\", \"#6C3483\", \"#7B3F00\", \"#0097A7\", \"#4A235A\"]\n };\n}\nclass _t {\n constructor(t, { theme: e = null, timeScale: s = null } = {}, i) {\n this.w = t, this.elgrid = i, this.xaxisFontSize = t.config.xaxis.labels.style.fontSize, this.axisFontFamily = t.config.xaxis.labels.style.fontFamily, this.xaxisForeColors = t.config.xaxis.labels.style.colors, this.isCategoryBarHorizontal = t.config.chart.type === \"bar\" && t.config.plotOptions.bar.horizontal, this.xAxisoffX = t.config.xaxis.position === \"bottom\" ? t.layout.gridHeight : 0, this.drawnLabels = [], this.axesUtils = new at(t, { theme: e, timeScale: s });\n }\n drawYaxis(t) {\n const e = this.w, s = new P(this.w), i = e.config.yaxis[t].labels.style, {\n fontSize: a,\n fontFamily: o,\n fontWeight: r\n } = i, n = s.group({\n class: \"apexcharts-yaxis\",\n rel: t,\n transform: `translate(${e.globals.translateYAxisX[t]}, 0)`\n });\n if (this.axesUtils.isYAxisHidden(t))\n return n;\n const l = s.group({ class: \"apexcharts-yaxis-texts-g\" });\n n.add(l);\n const c = e.globals.yAxisScale[t].result.length - 1, h = e.layout.gridHeight / c, d = e.formatters.yLabelFormatters[t], p = this.axesUtils.checkForReversedLabels(\n t,\n e.globals.yAxisScale[t].result.slice()\n );\n if (e.config.yaxis[t].labels.show) {\n let g = e.layout.translateY + e.config.yaxis[t].labels.offsetY;\n e.globals.isBarHorizontal ? g = 0 : e.config.chart.type === \"heatmap\" && (g -= h / 2), g += parseInt(a, 10) / 3;\n let f = null;\n for (let x = c; x >= 0; x--) {\n const m = d(p[x], x, e);\n let u = e.config.yaxis[t].labels.padding;\n e.config.yaxis[t].opposite && e.config.yaxis.length !== 0 && (u *= -1);\n const y = this.getTextAnchor(\n e.config.yaxis[t].labels.align,\n e.config.yaxis[t].opposite\n ), b = this.axesUtils.getYAxisForeColor(\n i.colors,\n t\n ), w = Array.isArray(b) ? b[x] : b, v = Array.from(\n e.dom.baseEl.querySelectorAll(\n `.apexcharts-yaxis[rel='${t}'] .apexcharts-yaxis-label tspan`\n )\n ).map((D) => D.textContent), C = s.drawText({\n x: u,\n y: g,\n text: v.includes(m) && !e.config.yaxis[t].labels.showDuplicates ? \"\" : m,\n textAnchor: y,\n fontSize: a,\n fontFamily: o,\n fontWeight: r,\n maxWidth: e.config.yaxis[t].labels.maxWidth,\n foreColor: w,\n isPlainText: !1,\n cssClass: `apexcharts-yaxis-label ${i.cssClass}`\n });\n l.add(C), this.addTooltip(C, m), f === null && (f = C), e.config.yaxis[t].labels.rotate !== 0 && this.rotateLabel(\n s,\n C,\n f,\n e.config.yaxis[t].labels.rotate\n ), g += h;\n }\n }\n return this.addYAxisTitle(s, n, t), this.addAxisBorder(s, n, t, c, h), n;\n }\n getTextAnchor(t, e) {\n return t === \"left\" ? \"start\" : t === \"center\" ? \"middle\" : t === \"right\" ? \"end\" : e ? \"start\" : \"end\";\n }\n addTooltip(t, e) {\n const s = N.createElementNS(\n G,\n \"title\"\n );\n s.textContent = Array.isArray(e) ? e.join(\" \") : e, t.node.appendChild(s);\n }\n rotateLabel(t, e, s, i) {\n const a = t.rotateAroundCenter(s.node), o = t.rotateAroundCenter(e.node);\n e.node.setAttribute(\n \"transform\",\n `rotate(${i} ${a.x} ${o.y})`\n );\n }\n addYAxisTitle(t, e, s) {\n const i = this.w;\n if (i.config.yaxis[s].title.text !== void 0) {\n const a = t.group({ class: \"apexcharts-yaxis-title\" }), o = i.config.yaxis[s].opposite ? i.globals.translateYAxisX[s] : 0, r = t.drawText({\n x: o,\n y: i.layout.gridHeight / 2 + i.layout.translateY + i.config.yaxis[s].title.offsetY,\n text: i.config.yaxis[s].title.text,\n textAnchor: \"end\",\n foreColor: i.config.yaxis[s].title.style.color,\n fontSize: i.config.yaxis[s].title.style.fontSize,\n fontWeight: i.config.yaxis[s].title.style.fontWeight,\n fontFamily: i.config.yaxis[s].title.style.fontFamily,\n cssClass: `apexcharts-yaxis-title-text ${i.config.yaxis[s].title.style.cssClass}`\n });\n a.add(r), e.add(a);\n }\n }\n addAxisBorder(t, e, s, i, a) {\n const o = this.w, r = o.config.yaxis[s].axisBorder;\n let n = 31 + r.offsetX;\n if (o.config.yaxis[s].opposite && (n = -31 - r.offsetX), r.show) {\n const l = t.drawLine(\n n,\n o.layout.translateY + r.offsetY - 2,\n n,\n o.layout.gridHeight + o.layout.translateY + r.offsetY + 2,\n r.color,\n 0,\n r.width\n );\n e.add(l);\n }\n o.config.yaxis[s].axisTicks.show && this.axesUtils.drawYAxisTicks(\n n,\n i,\n r,\n o.config.yaxis[s].axisTicks,\n s,\n a,\n e\n );\n }\n drawYaxisInversed(t) {\n const e = this.w, s = new P(this.w), i = s.group({\n class: \"apexcharts-xaxis apexcharts-yaxis-inversed\"\n }), a = s.group({\n class: \"apexcharts-xaxis-texts-g\",\n transform: `translate(${e.layout.translateXAxisX}, ${e.layout.translateXAxisY})`\n });\n i.add(a);\n let o = e.globals.yAxisScale[t].result.length - 1;\n const r = e.layout.gridWidth / o + 0.1;\n let n = r + e.config.xaxis.labels.offsetX;\n const l = e.formatters.xLabelFormatter;\n let c = this.axesUtils.checkForReversedLabels(\n t,\n e.globals.yAxisScale[t].result.slice()\n );\n const h = e.labelData.timescaleLabels;\n if (h.length > 0 && (this.xaxisLabels = h.slice(), c = h.slice(), o = c.length), e.config.xaxis.labels.show)\n for (let d = h.length ? 0 : o; h.length ? d < h.length : d >= 0; h.length ? d++ : d--) {\n let p = l(c[d], d, e), g = e.layout.gridWidth + e.globals.padHorizontal - (n - r + e.config.xaxis.labels.offsetX);\n if (h.length) {\n const x = this.axesUtils.getLabel(\n c,\n h,\n g,\n d,\n this.drawnLabels,\n this.xaxisFontSize\n );\n g = x.x, p = x.text, this.drawnLabels.push(x.text), d === 0 && e.globals.skipFirstTimelinelabel && (p = \"\"), d === c.length - 1 && e.globals.skipLastTimelinelabel && (p = \"\");\n }\n const f = s.drawText({\n x: g,\n y: this.xAxisoffX + e.config.xaxis.labels.offsetY + 30 - (e.config.xaxis.position === \"top\" ? e.layout.xAxisHeight + e.config.xaxis.axisTicks.height - 2 : 0),\n text: p,\n textAnchor: \"middle\",\n foreColor: Array.isArray(this.xaxisForeColors) ? this.xaxisForeColors[t] : this.xaxisForeColors,\n fontSize: this.xaxisFontSize,\n fontFamily: this.xaxisFontFamily,\n fontWeight: e.config.xaxis.labels.style.fontWeight,\n isPlainText: !1,\n cssClass: `apexcharts-xaxis-label ${e.config.xaxis.labels.style.cssClass}`\n });\n a.add(f), this.addTooltip(f, p), n += r;\n }\n return this.inversedYAxisTitleText(i), this.inversedYAxisBorder(i), i;\n }\n inversedYAxisBorder(t) {\n const e = this.w, s = new P(this.w), i = e.config.xaxis.axisBorder;\n if (i.show) {\n let a = 0;\n e.config.chart.type === \"bar\" && e.axisFlags.isXNumeric && (a -= 15);\n const o = s.drawLine(\n e.globals.padHorizontal + a + i.offsetX,\n this.xAxisoffX,\n e.layout.gridWidth,\n this.xAxisoffX,\n i.color,\n 0,\n i.height\n );\n this.elgrid && this.elgrid.elGridBorders && e.config.grid.show ? this.elgrid.elGridBorders.add(o) : t.add(o);\n }\n }\n inversedYAxisTitleText(t) {\n const e = this.w, s = new P(this.w);\n if (e.config.xaxis.title.text !== void 0) {\n const i = s.group({\n class: \"apexcharts-xaxis-title apexcharts-yaxis-title-inversed\"\n }), a = s.drawText({\n x: e.layout.gridWidth / 2 + e.config.xaxis.title.offsetX,\n y: this.xAxisoffX + parseFloat(this.xaxisFontSize) + parseFloat(e.config.xaxis.title.style.fontSize) + e.config.xaxis.title.offsetY + 20,\n text: e.config.xaxis.title.text,\n textAnchor: \"middle\",\n fontSize: e.config.xaxis.title.style.fontSize,\n fontFamily: e.config.xaxis.title.style.fontFamily,\n fontWeight: e.config.xaxis.title.style.fontWeight,\n foreColor: e.config.xaxis.title.style.color,\n cssClass: `apexcharts-xaxis-title-text ${e.config.xaxis.title.style.cssClass}`\n });\n i.add(a), t.add(i);\n }\n }\n yAxisTitleRotate(t, e) {\n const s = this.w, i = new P(this.w), a = s.dom.baseEl.querySelector(\n `.apexcharts-yaxis[rel='${t}'] .apexcharts-yaxis-texts-g`\n ), o = a ? a.getBoundingClientRect() : { width: 0, height: 0 }, r = s.dom.baseEl.querySelector(\n `.apexcharts-yaxis[rel='${t}'] .apexcharts-yaxis-title text`\n ), n = r ? r.getBoundingClientRect() : { width: 0, height: 0 };\n if (r) {\n const l = this.xPaddingForYAxisTitle(\n t,\n o,\n n,\n e\n );\n r.setAttribute(\"x\", l.xPos - (e ? 10 : 0));\n const c = i.rotateAroundCenter(r);\n r.setAttribute(\n \"transform\",\n `rotate(${e ? s.config.yaxis[t].title.rotate * -1 : s.config.yaxis[t].title.rotate} ${c.x} ${c.y})`\n );\n }\n }\n xPaddingForYAxisTitle(t, e, s, i) {\n const a = this.w;\n let o = 0, r = 10;\n return a.config.yaxis[t].title.text === void 0 || t < 0 ? { xPos: o, padd: 0 } : (i ? o = e.width + a.config.yaxis[t].title.offsetX + s.width / 2 + r / 2 : (o = e.width * -1 + a.config.yaxis[t].title.offsetX + r / 2 + s.width / 2, a.globals.isBarHorizontal && (r = 25, o = e.width * -1 - a.config.yaxis[t].title.offsetX - r)), { xPos: o, padd: r });\n }\n setYAxisXPosition(t, e) {\n const s = this.w;\n let i = 0, a = 0, o = 18, r = 1;\n s.config.yaxis.length > 1 && (this.multipleYs = !0), s.config.yaxis.forEach((n, l) => {\n const c = s.globals.ignoreYAxisIndexes.includes(l) || !n.show || n.floating || t[l].width === 0, h = t[l].width + e[l].width;\n n.opposite ? s.globals.isBarHorizontal ? (a = s.layout.gridWidth + s.layout.translateX - 1, s.globals.translateYAxisX[l] = a - n.labels.offsetX) : (a = s.layout.gridWidth + s.layout.translateX + r, c || (r += h + 20), s.globals.translateYAxisX[l] = a - n.labels.offsetX + 20) : (i = s.layout.translateX - o, c || (o += h + 20), s.globals.translateYAxisX[l] = i + n.labels.offsetX);\n });\n }\n setYAxisTextAlignments() {\n const t = this.w;\n Array.from(\n t.dom.baseEl.getElementsByClassName(\"apexcharts-yaxis\")\n ).forEach((s, i) => {\n const a = t.config.yaxis[i];\n if (a && !a.floating && a.labels.align !== void 0) {\n const o = t.dom.baseEl.querySelector(\n `.apexcharts-yaxis[rel='${i}'] .apexcharts-yaxis-texts-g`\n ), r = Array.from(\n t.dom.baseEl.querySelectorAll(\n `.apexcharts-yaxis[rel='${i}'] .apexcharts-yaxis-label`\n )\n ), n = o.getBoundingClientRect();\n r.forEach((l) => {\n l.setAttribute(\"text-anchor\", a.labels.align);\n }), a.labels.align === \"left\" && !a.opposite ? o.setAttribute(\"transform\", `translate(-${n.width}, 0)`) : a.labels.align === \"center\" ? o.setAttribute(\n \"transform\",\n `translate(${n.width / 2 * (a.opposite ? 1 : -1)}, 0)`\n ) : a.labels.align === \"right\" && a.opposite && o.setAttribute(\"transform\", `translate(${n.width}, 0)`);\n }\n });\n }\n}\nclass ze {\n constructor(t, e) {\n this.w = t, this.ctx = e, this.documentEvent = this.documentEvent.bind(this);\n }\n addEventListener(t, e) {\n const s = this.w;\n Object.prototype.hasOwnProperty.call(s.globals.events, t) ? s.globals.events[t].push(e) : s.globals.events[t] = [e];\n }\n removeEventListener(t, e) {\n const s = this.w;\n if (!Object.prototype.hasOwnProperty.call(s.globals.events, t))\n return;\n const i = s.globals.events[t].indexOf(e);\n i !== -1 && s.globals.events[t].splice(i, 1);\n }\n fireEvent(t, e) {\n const s = this.w;\n if (!Object.prototype.hasOwnProperty.call(s.globals.events, t))\n return;\n (!e || !e.length) && (e = []);\n const i = s.globals.events[t], a = i.length;\n for (let o = 0; o < a; o++)\n i[o].apply(null, e);\n }\n setupEventHandlers() {\n const t = this.w, e = this.ctx, s = t.dom.baseEl.querySelector(t.globals.chartClass);\n this.ctx.eventList.forEach((i) => {\n s.addEventListener(\n i,\n (a) => {\n const o = a.target.getAttribute(\"i\") === null && t.interact.capturedSeriesIndex !== -1 ? t.interact.capturedSeriesIndex : a.target.getAttribute(\"i\"), r = a.target.getAttribute(\"j\") === null && t.interact.capturedDataPointIndex !== -1 ? t.interact.capturedDataPointIndex : a.target.getAttribute(\"j\"), n = Object.assign({}, t, {\n seriesIndex: t.globals.axisCharts ? o : 0,\n dataPointIndex: r\n });\n a.type === \"keydown\" ? t.config.chart.accessibility.enabled && t.config.chart.accessibility.keyboard.enabled && (e.ctx.keyboardNavigation && e.ctx.keyboardNavigation.handleKey(a), typeof t.config.chart.events.keyDown == \"function\" && t.config.chart.events.keyDown(a, e, n), e.ctx.events.fireEvent(\"keydown\", [a, e, n])) : a.type === \"keyup\" ? t.config.chart.accessibility.enabled && t.config.chart.accessibility.keyboard.enabled && (typeof t.config.chart.events.keyUp == \"function\" && t.config.chart.events.keyUp(a, e, n), e.ctx.events.fireEvent(\"keyup\", [a, e, n])) : a.type === \"mousemove\" || a.type === \"touchmove\" ? typeof t.config.chart.events.mouseMove == \"function\" && t.config.chart.events.mouseMove(a, e, n) : a.type === \"mouseleave\" || a.type === \"touchleave\" ? typeof t.config.chart.events.mouseLeave == \"function\" && t.config.chart.events.mouseLeave(a, e, n) : (a.type === \"mouseup\" && a.which === 1 || a.type === \"touchend\") && (typeof t.config.chart.events.click == \"function\" && t.config.chart.events.click(a, e, n), e.ctx.events.fireEvent(\"click\", [a, e, n]));\n },\n { capture: !1, passive: !0 }\n );\n }), this.ctx.eventList.forEach((i) => {\n t.dom.baseEl.addEventListener(i, this.documentEvent, {\n passive: !0\n });\n }), this.ctx.core.setupBrushHandler();\n }\n documentEvent(t) {\n const e = this.w, s = t.target.className;\n if (t.type === \"click\") {\n const i = e.dom.baseEl.querySelector(\".apexcharts-menu\");\n i && i.classList.contains(\"apexcharts-menu-open\") && s !== \"apexcharts-menu-icon\" && i.classList.remove(\"apexcharts-menu-open\");\n }\n e.interact.clientX = t.type === \"touchmove\" ? t.touches[0].clientX : t.clientX, e.interact.clientY = t.type === \"touchmove\" ? t.touches[0].clientY : t.clientY;\n }\n}\nclass He {\n constructor(t) {\n this.w = t;\n }\n setCurrentLocaleValues(t) {\n let e = this.w.config.chart.locales;\n const s = B.getApex();\n s.chart && s.chart.locales && s.chart.locales.length > 0 && (e = this.w.config.chart.locales.concat(s.chart.locales));\n const i = e.filter((a) => a.name === t)[0];\n if (i) {\n const a = L.extend(le, i);\n this.w.globals.locale = a.options;\n } else\n throw new Error(\n \"Wrong locale name provided. Please make sure you set the correct locale name in options\"\n );\n }\n}\nclass Oe {\n constructor(t, e) {\n this.w = t, this.ctx = e;\n }\n drawAxis(t, e) {\n const s = this.w.globals, i = this.w.config, a = new wt(this.w, this.ctx, e), o = new _t(this.w, { theme: this.ctx.theme, timeScale: this.ctx.timeScale }, e);\n if (s.axisCharts && t !== \"radar\") {\n let r, n;\n s.isBarHorizontal ? (n = o.drawYaxisInversed(0), r = a.drawXaxisInversed(0), this.w.dom.elGraphical.add(r), this.w.dom.elGraphical.add(n)) : (r = a.drawXaxis(), this.w.dom.elGraphical.add(r), i.yaxis.map((l, c) => {\n if (s.ignoreYAxisIndexes.indexOf(c) === -1 && (n = o.drawYaxis(c), this.w.dom.Paper.add(n), this.w.config.grid.position === \"back\")) {\n const h = this.w.dom.Paper.children()[1];\n h && (h.remove(), this.w.dom.Paper.add(h));\n }\n }));\n }\n }\n}\nclass Bt {\n constructor(t) {\n this.w = t;\n }\n drawXCrosshairs() {\n const t = this.w, e = new P(this.w), s = new Z(this.w), i = t.config.xaxis.crosshairs.fill.gradient, a = t.config.xaxis.crosshairs.dropShadow, o = t.config.xaxis.crosshairs.fill.type, r = i.colorFrom, n = i.colorTo, l = i.opacityFrom, c = i.opacityTo, h = i.stops, d = \"none\", p = a.enabled, g = a.left, f = a.top, x = a.blur, m = a.color, u = a.opacity;\n let y = t.config.xaxis.crosshairs.fill.color;\n if (t.config.xaxis.crosshairs.show) {\n o === \"gradient\" && (y = e.drawGradient(\n \"vertical\",\n r,\n n,\n l,\n c,\n null,\n h,\n null\n ));\n let b = e.drawRect();\n t.config.xaxis.crosshairs.width === 1 && (b = e.drawLine());\n let w = t.layout.gridHeight;\n (!L.isNumber(w) || w < 0) && (w = 0);\n let v = t.config.xaxis.crosshairs.width;\n (!L.isNumber(v) || v < 0) && (v = 0), b.attr({\n class: \"apexcharts-xcrosshairs\",\n x: 0,\n y: 0,\n y2: w,\n width: v,\n height: w,\n fill: y,\n filter: d,\n \"fill-opacity\": t.config.xaxis.crosshairs.opacity,\n stroke: t.config.xaxis.crosshairs.stroke.color,\n \"stroke-width\": t.config.xaxis.crosshairs.stroke.width,\n \"stroke-dasharray\": t.config.xaxis.crosshairs.stroke.dashArray\n }), p && (b = s.dropShadow(b, {\n left: g,\n top: f,\n blur: x,\n color: m,\n opacity: u\n })), t.dom.elGraphical.add(b);\n }\n }\n drawYCrosshairs() {\n const t = this.w, e = new P(this.w), s = t.config.yaxis[0].crosshairs, i = t.globals.barPadForNumericAxis;\n if (t.config.yaxis[0].crosshairs.show) {\n const o = e.drawLine(\n -i,\n 0,\n t.layout.gridWidth + i,\n 0,\n s.stroke.color,\n s.stroke.dashArray,\n s.stroke.width\n );\n o.attr({\n class: \"apexcharts-ycrosshairs\"\n }), t.dom.elGraphical.add(o);\n }\n const a = e.drawLine(\n -i,\n 0,\n t.layout.gridWidth + i,\n 0,\n s.stroke.color,\n 0,\n 0\n );\n a.attr({\n class: \"apexcharts-ycrosshairs-hidden\"\n }), t.dom.elGraphical.add(a);\n }\n}\nclass _e {\n constructor(t) {\n this.w = t;\n }\n // the opts parameter if not null has to be set overriding everything\n // as the opts is set by user externally\n checkResponsiveConfig(t) {\n const e = this.w, s = e.config;\n if (s.responsive.length === 0)\n return;\n const i = s.responsive.slice();\n i.sort(\n (r, n) => r.breakpoint > n.breakpoint ? 1 : n.breakpoint > r.breakpoint ? -1 : 0\n ).reverse();\n const a = new yt({}), o = (r = {}) => {\n const n = i[0].breakpoint, l = B.isBrowser() ? window.innerWidth > 0 ? window.innerWidth : screen.width : 0;\n if (l > n) {\n const c = L.clone(e.globals.initialConfig);\n c.series = L.clone(e.config.series);\n const h = V.extendArrayProps(\n a,\n c,\n e\n );\n r = L.extend(h, r), r = L.extend(e.config, r), this.overrideResponsiveOptions(r);\n } else\n for (let c = 0; c < i.length; c++)\n l < i[c].breakpoint && (r = V.extendArrayProps(a, i[c].options, e), r = L.extend(e.config, r), this.overrideResponsiveOptions(r));\n };\n if (t) {\n let r = V.extendArrayProps(a, t, e);\n r = L.extend(e.config, r), r = L.extend(r, t), o(r);\n } else\n o({});\n }\n overrideResponsiveOptions(t) {\n const e = new yt(t).init({ responsiveOverride: !0 });\n this.w.config = e;\n }\n}\nclass U {\n constructor(t, { toggleDataSeries: e, revertDefaultAxisMinMax: s, updateSeries: i } = {}) {\n this.w = t, this._toggleDataSeries = e || null, this._revertDefaultAxisMinMax = s || null, this._updateSeries = i || null, this.legendInactiveClass = \"legend-mouseover-inactive\";\n }\n clearSeriesCache() {\n const t = this.w;\n t.globals.cachedSelectors && (delete t.globals.cachedSelectors.allSeriesEls, delete t.globals.cachedSelectors.highlightSeriesEls);\n }\n getAllSeriesEls() {\n const t = this.w, e = \"allSeriesEls\";\n return t.globals.cachedSelectors[e] || (t.globals.cachedSelectors[e] = t.dom.baseEl.getElementsByClassName(\"apexcharts-series\")), t.globals.cachedSelectors[e];\n }\n getSeriesByName(t) {\n return this.w.dom.baseEl.querySelector(\n `.apexcharts-inner .apexcharts-series[seriesName='${L.escapeString(\n t\n )}']`\n );\n }\n isSeriesHidden(t) {\n const e = this.getSeriesByName(t), s = parseInt(e.getAttribute(\"data:realIndex\"), 10);\n return { isHidden: e.classList.contains(\n \"apexcharts-series-collapsed\"\n ), realIndex: s };\n }\n addCollapsedClassToSeries(t, e) {\n U.addCollapsedClassToSeries(this.w, t, e);\n }\n static addCollapsedClassToSeries(t, e, s) {\n function i(a) {\n for (let o = 0; o < a.length; o++)\n a[o].index === s && e.node.classList.add(\"apexcharts-series-collapsed\");\n }\n i(t.globals.collapsedSeries), i(t.globals.ancillaryCollapsedSeries);\n }\n toggleSeries(t) {\n var e;\n const s = this.isSeriesHidden(t);\n return (e = this._toggleDataSeries) == null || e.call(this, s.realIndex, s.isHidden), s.isHidden;\n }\n showSeries(t) {\n var e;\n const s = this.isSeriesHidden(t);\n s.isHidden && ((e = this._toggleDataSeries) == null || e.call(this, s.realIndex, !0));\n }\n hideSeries(t) {\n var e;\n const s = this.isSeriesHidden(t);\n s.isHidden || (e = this._toggleDataSeries) == null || e.call(this, s.realIndex, !1);\n }\n resetSeries(t = !0, e = !0, s = !0) {\n var i, a;\n const o = this.w;\n this.clearSeriesCache();\n let r = L.clone(o.globals.initialSeries);\n o.globals.previousPaths = [], s ? (o.globals.collapsedSeries = [], o.globals.ancillaryCollapsedSeries = [], o.globals.collapsedSeriesIndices = [], o.globals.ancillaryCollapsedSeriesIndices = []) : r = this.emptyCollapsedSeries(r), o.config.series = r, t && (e && (o.interact.zoomed = !1, (i = this._revertDefaultAxisMinMax) == null || i.call(this)), (a = this._updateSeries) == null || a.call(\n this,\n r,\n o.config.chart.animations.dynamicAnimation.enabled\n ));\n }\n emptyCollapsedSeries(t) {\n const e = this.w;\n for (let s = 0; s < t.length; s++)\n e.globals.collapsedSeriesIndices.indexOf(s) > -1 && (t[s].data = []);\n return t;\n }\n highlightSeries(t) {\n const e = this.w, s = this.getSeriesByName(t), i = parseInt(s == null ? void 0 : s.getAttribute(\"data:realIndex\"), 10), a = \"highlightSeriesEls\";\n let o = e.globals.cachedSelectors[a];\n o || (o = e.dom.baseEl.querySelectorAll(\n \".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis\"\n ), e.globals.cachedSelectors[a] = o);\n let r = null, n = null, l = null;\n if (e.globals.axisCharts || e.config.chart.type === \"radialBar\")\n if (e.globals.axisCharts) {\n r = e.dom.baseEl.querySelector(\n `.apexcharts-series[data\\\\:realIndex='${i}']`\n ), n = e.dom.baseEl.querySelector(\n `.apexcharts-datalabels[data\\\\:realIndex='${i}']`\n );\n const c = e.globals.seriesYAxisReverseMap[i];\n l = e.dom.baseEl.querySelector(\n `.apexcharts-yaxis[rel='${c}']`\n );\n } else\n r = e.dom.baseEl.querySelector(\n `.apexcharts-series[rel='${i + 1}']`\n );\n else\n r = e.dom.baseEl.querySelector(\n `.apexcharts-series[rel='${i + 1}'] path`\n );\n for (let c = 0; c < o.length; c++)\n o[c].classList.add(this.legendInactiveClass);\n if (r)\n e.globals.axisCharts || r.parentNode.classList.remove(this.legendInactiveClass), r.classList.remove(this.legendInactiveClass), n !== null && n.classList.remove(this.legendInactiveClass), l !== null && l.classList.remove(this.legendInactiveClass);\n else\n for (let c = 0; c < o.length; c++)\n o[c].classList.remove(this.legendInactiveClass);\n }\n toggleSeriesOnHover(t, e) {\n const s = this.w;\n e || (e = t.target);\n const i = s.dom.baseEl.querySelectorAll(\n \".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis\"\n );\n if (t.type === \"mousemove\") {\n const a = parseInt(e.getAttribute(\"rel\"), 10) - 1;\n this.highlightSeries(s.seriesData.seriesNames[a]);\n } else if (t.type === \"mouseout\")\n for (let a = 0; a < i.length; a++)\n i[a].classList.remove(this.legendInactiveClass);\n }\n highlightRangeInSeries(t, e) {\n const s = this.w, i = s.dom.baseEl.getElementsByClassName(\n \"apexcharts-heatmap-rect\"\n ), a = (r) => {\n for (let n = 0; n < i.length; n++)\n i[n].classList[r](this.legendInactiveClass);\n }, o = (r, n) => {\n for (let l = 0; l < i.length; l++) {\n const c = Number(i[l].getAttribute(\"val\"));\n c >= r.from && (c < r.to || r.to === n && c === n) && i[l].classList.remove(this.legendInactiveClass);\n }\n };\n if (t.type === \"mousemove\") {\n const r = parseInt(e.getAttribute(\"rel\"), 10) - 1;\n a(\"add\");\n const n = s.config.plotOptions.heatmap.colorScale.ranges, l = n[r], c = n.reduce((h, d) => Math.max(h, d.to), 0);\n o(l, c);\n } else\n t.type === \"mouseout\" && a(\"remove\");\n }\n getActiveConfigSeriesIndex(t = \"asc\", e = []) {\n const s = this.w;\n let i = 0;\n if (s.config.series.length > 1) {\n const a = s.config.series.map((o, r) => {\n const n = () => s.globals.comboCharts ? e.length === 0 || e.length && e.indexOf(s.config.series[r].type) > -1 : !0;\n return o.data && o.data.length > 0 && s.globals.collapsedSeriesIndices.indexOf(r) === -1 && n() ? r : -1;\n });\n for (let o = t === \"asc\" ? 0 : a.length - 1; t === \"asc\" ? o < a.length : o >= 0; t === \"asc\" ? o++ : o--)\n if (a[o] !== -1) {\n i = a[o];\n break;\n }\n }\n return i;\n }\n getBarSeriesIndices() {\n return this.w.globals.comboCharts ? this.w.config.series.map((e, s) => e.type === \"bar\" || e.type === \"column\" ? s : -1).filter((e) => e !== -1) : this.w.config.series.map((e, s) => s);\n }\n getPreviousPaths() {\n const t = this.w;\n t.globals.previousPaths = [];\n function e(o, r, n) {\n const l = o[r].childNodes, c = {\n type: n,\n paths: [],\n realIndex: o[r].getAttribute(\"data:realIndex\")\n };\n for (let h = 0; h < l.length; h++)\n if (l[h].hasAttribute(\"pathTo\")) {\n const d = l[h].getAttribute(\"pathTo\");\n c.paths.push({\n d\n });\n }\n t.globals.previousPaths.push(c);\n }\n const s = (o) => t.dom.baseEl.querySelectorAll(\n `.apexcharts-${o}-series .apexcharts-series`\n );\n [\n \"line\",\n \"area\",\n \"bar\",\n \"rangebar\",\n \"rangeArea\",\n \"candlestick\",\n \"radar\"\n ].forEach((o) => {\n const r = s(o);\n for (let n = 0; n < r.length; n++)\n e(r, n, o);\n });\n const a = t.dom.baseEl.querySelectorAll(\n `.apexcharts-${t.config.chart.type} .apexcharts-series`\n );\n if (a.length > 0)\n for (let o = 0; o < a.length; o++) {\n const r = t.dom.baseEl.querySelectorAll(\n `.apexcharts-${t.config.chart.type} .apexcharts-series[data\\\\:realIndex='${o}'] rect`\n ), n = [];\n for (let l = 0; l < r.length; l++) {\n const c = (d) => r[l].getAttribute(d), h = {\n x: parseFloat(c(\"x\")),\n y: parseFloat(c(\"y\")),\n width: parseFloat(c(\"width\")),\n height: parseFloat(c(\"height\"))\n };\n n.push({\n rect: h,\n color: r[l].getAttribute(\"color\")\n });\n }\n t.globals.previousPaths.push(n);\n }\n t.globals.axisCharts || (t.globals.previousPaths = t.seriesData.series);\n }\n clearPreviousPaths() {\n const t = this.w;\n t.globals.previousPaths = [], t.globals.allSeriesCollapsed = !1;\n }\n handleNoData() {\n const t = this.w, e = this, s = t.config.noData, i = new P(e.w);\n let a = t.globals.svgWidth / 2, o = t.globals.svgHeight / 2, r = \"middle\";\n if (t.globals.noData = !0, t.globals.animationEnded = !0, s.align === \"left\" ? (a = 10, r = \"start\") : s.align === \"right\" && (a = t.globals.svgWidth - 10, r = \"end\"), s.verticalAlign === \"top\" ? o = 50 : s.verticalAlign === \"bottom\" && (o = t.globals.svgHeight - 50), a = a + s.offsetX, o = o + parseInt(s.style.fontSize, 10) + 2 + s.offsetY, s.text !== void 0 && s.text !== \"\") {\n const n = i.drawText({\n x: a,\n y: o,\n text: s.text,\n textAnchor: r,\n fontSize: s.style.fontSize,\n fontFamily: s.style.fontFamily,\n foreColor: s.style.color,\n opacity: 1,\n class: \"apexcharts-text-nodata\"\n });\n t.dom.Paper.add(n);\n }\n }\n // When user clicks on legends, the collapsed series is filled with [0,0,0,...,0]\n // This is because we don't want to alter the series' length as it is used at many places\n setNullSeriesToZeroValues(t) {\n const e = this.w;\n for (let s = 0; s < t.length; s++)\n if (t[s].length === 0)\n for (let i = 0; i < t[e.globals.maxValsInArrayIndex].length; i++)\n t[s].push(0);\n return t;\n }\n hasAllSeriesEqualX() {\n let t = !0;\n const e = this.w, s = this.filteredSeriesX();\n for (let i = 0; i < s.length - 1; i++)\n if (s[i][0] !== s[i + 1][0]) {\n t = !1;\n break;\n }\n return e.globals.allSeriesHasEqualX = t, t;\n }\n filteredSeriesX() {\n return this.w.seriesData.seriesX.map(\n (s) => s.length > 0 ? s : []\n );\n }\n}\nclass We {\n constructor(t) {\n this.w = t, this.colors = [], this.isColorFn = !1, this.isHeatmapDistributed = this.checkHeatmapDistributed(), this.isBarDistributed = this.checkBarDistributed();\n }\n checkHeatmapDistributed() {\n const { chart: t, plotOptions: e } = this.w.config;\n return t.type === \"treemap\" && e.treemap && e.treemap.distributed || t.type === \"heatmap\" && e.heatmap && e.heatmap.distributed;\n }\n checkBarDistributed() {\n const { chart: t, plotOptions: e } = this.w.config;\n return e.bar && e.bar.distributed && (t.type === \"bar\" || t.type === \"rangeBar\");\n }\n init() {\n this.setDefaultColors();\n }\n setDefaultColors() {\n var t;\n const e = this.w, s = new L();\n e.dom.elWrap.classList.add(\n `apexcharts-theme-${e.config.theme.mode || \"light\"}`\n );\n const i = (t = e.config.theme.accessibility) == null ? void 0 : t.colorBlindMode;\n if (i) {\n e.globals.colors = this.getColorBlindColors(i), this.applySeriesColors(e.seriesData.seriesColors, e.globals.colors);\n const r = e.globals.colors.slice();\n this.pushExtraColors(e.globals.colors), this.applyColorTypes([\"fill\", \"stroke\"], r), this.applyDataLabelsColors(r), this.applyRadarPolygonsColors(), this.applyMarkersColors(r), i === \"highContrast\" && e.dom.elWrap.classList.add(\"apexcharts-high-contrast\");\n return;\n }\n const a = [...e.config.colors || e.config.fill.colors || []];\n e.globals.colors = this.getColors(a), this.applySeriesColors(e.seriesData.seriesColors, e.globals.colors), e.config.theme.monochrome.enabled && (e.globals.colors = this.getMonochromeColors(\n e.config.theme.monochrome,\n e.seriesData.series,\n s\n ));\n const o = e.globals.colors.slice();\n this.pushExtraColors(e.globals.colors), this.applyColorTypes([\"fill\", \"stroke\"], o), this.applyDataLabelsColors(o), this.applyRadarPolygonsColors(), this.applyMarkersColors(o);\n }\n getColors(t) {\n const e = this.w;\n return !t || t.length === 0 ? this.predefined() : Array.isArray(t) && t.length > 0 && typeof t[0] == \"function\" ? (this.isColorFn = !0, e.config.series.map((s, i) => {\n const a = t[i] || t[0];\n return typeof a == \"function\" ? a({\n value: e.globals.axisCharts ? e.seriesData.series[i][0] || 0 : e.seriesData.series[i],\n seriesIndex: i,\n dataPointIndex: i,\n w: this.w\n }) : a;\n })) : t;\n }\n applySeriesColors(t, e) {\n t.forEach((s, i) => {\n s && (e[i] = s);\n });\n }\n getMonochromeColors(t, e, s) {\n const { color: i, shadeIntensity: a, shadeTo: o } = t, r = this.isBarDistributed || this.isHeatmapDistributed ? e[0].length * e.length : e.length, n = 1 / (r / a);\n let l = 0;\n return Array.from({ length: r }, () => {\n const c = o === \"dark\" ? s.shadeColor(l * -1, i) : s.shadeColor(l, i);\n return l += n, c;\n });\n }\n applyColorTypes(t, e) {\n const s = this.w;\n t.forEach((i) => {\n s.globals[i].colors = s.config[i].colors === void 0 ? this.isColorFn ? s.config.colors : e : s.config[i].colors.slice(), this.pushExtraColors(s.globals[i].colors);\n });\n }\n applyDataLabelsColors(t) {\n const e = this.w;\n e.globals.dataLabels.style.colors = e.config.dataLabels.style.colors === void 0 ? t : e.config.dataLabels.style.colors.slice(), this.pushExtraColors(e.globals.dataLabels.style.colors, 50);\n }\n applyRadarPolygonsColors() {\n const t = this.w;\n t.globals.radarPolygons.fill.colors = t.config.plotOptions.radar.polygons.fill.colors === void 0 ? [t.config.theme.mode === \"dark\" ? \"#343A3F\" : \"none\"] : t.config.plotOptions.radar.polygons.fill.colors.slice(), this.pushExtraColors(t.globals.radarPolygons.fill.colors, 20);\n }\n applyMarkersColors(t) {\n const e = this.w;\n e.globals.markers.colors = e.config.markers.colors === void 0 ? t : e.config.markers.colors.slice(), this.pushExtraColors(e.globals.markers.colors);\n }\n pushExtraColors(t, e, s = null) {\n const i = this.w;\n let a = e || i.seriesData.series.length;\n if (s === null && (s = this.isBarDistributed || this.isHeatmapDistributed || i.config.chart.type === \"heatmap\" && i.config.plotOptions.heatmap && i.config.plotOptions.heatmap.colorScale.inverse), s && i.seriesData.series.length && (a = i.seriesData.series[i.globals.maxValsInArrayIndex].length * i.seriesData.series.length), t.length < a) {\n const o = a - t.length;\n for (let r = 0; r < o; r++)\n t.push(t[r]);\n }\n }\n getColorBlindColors(t) {\n const e = Yt();\n return ({\n deuteranopia: e.cvdDeuteranopia,\n protanopia: e.cvdProtanopia,\n tritanopia: e.cvdTritanopia,\n highContrast: e.highContrast\n }[t] || e.palette1).slice();\n }\n updateThemeOptions(t) {\n t.chart = t.chart || {}, t.tooltip = t.tooltip || {};\n const e = t.theme.mode, s = e === \"dark\" ? \"palette4\" : e === \"light\" ? \"palette1\" : t.theme.palette || \"palette1\", i = e === \"dark\" ? \"#f6f7f8\" : e === \"light\" ? \"#373d3f\" : t.chart.foreColor || \"#373d3f\";\n return t.tooltip.theme = e || \"light\", t.chart.foreColor = i, t.theme.palette = s, t;\n }\n predefined() {\n const t = this.w.config.theme.palette, e = Yt();\n return e[t] || e.palette1;\n }\n}\nclass Ge {\n constructor(t) {\n this.w = t;\n }\n draw() {\n this.drawTitleSubtitle(\"title\"), this.drawTitleSubtitle(\"subtitle\");\n }\n drawTitleSubtitle(t) {\n const e = this.w, s = t === \"title\" ? e.config.title : e.config.subtitle;\n let i = e.globals.svgWidth / 2, a = s.offsetY, o = \"middle\";\n if (s.align === \"left\" ? (i = 10, o = \"start\") : s.align === \"right\" && (i = e.globals.svgWidth - 10, o = \"end\"), i = i + s.offsetX, a = a + parseInt(s.style.fontSize, 10) + s.margin / 2, s.text !== void 0) {\n const n = new P(this.w).drawText({\n x: i,\n y: a,\n text: s.text,\n textAnchor: o,\n fontSize: s.style.fontSize,\n fontFamily: s.style.fontFamily,\n fontWeight: s.style.fontWeight,\n foreColor: s.style.color,\n opacity: 1\n });\n n.node.setAttribute(\"class\", `apexcharts-${t}-text`), e.dom.Paper.add(n);\n }\n }\n}\nlet $e = class {\n constructor(t) {\n this.w = t.w, this.dCtx = t;\n }\n /**\n * Get Chart Title/Subtitle Dimensions\n * @memberof Dimensions\n * @return {{width, height}}\n **/\n getTitleSubtitleCoords(t) {\n const e = this.w;\n let s = 0, i = 0;\n const a = t === \"title\" ? e.config.title.floating : e.config.subtitle.floating, o = e.dom.baseEl.querySelector(`.apexcharts-${t}-text`);\n if (o !== null && !a) {\n const r = o.getBoundingClientRect();\n s = r.width, i = e.globals.axisCharts ? r.height + 5 : r.height;\n }\n return {\n width: s,\n height: i\n };\n }\n getLegendsRect() {\n const t = this.w, e = t.dom.elLegendWrap;\n !t.config.legend.height && (t.config.legend.position === \"top\" || t.config.legend.position === \"bottom\") && (e.style.maxHeight = t.globals.svgHeight / 2 + \"px\");\n const s = Object.assign({}, L.getBoundingClientRect(e));\n return e !== null && !t.config.legend.floating && t.config.legend.show ? this.dCtx.lgRect = {\n x: s.x,\n y: s.y,\n height: s.height,\n width: s.height === 0 ? 0 : s.width\n } : this.dCtx.lgRect = {\n x: 0,\n y: 0,\n height: 0,\n width: 0\n }, (t.config.legend.position === \"left\" || t.config.legend.position === \"right\") && this.dCtx.lgRect.width * 1.5 > t.globals.svgWidth && (this.dCtx.lgRect.width = t.globals.svgWidth / 1.5), this.dCtx.lgRect;\n }\n /**\n * Get Y Axis Dimensions\n * @memberof Dimensions\n * @return {{width, height}}\n **/\n getDatalabelsRect() {\n const t = this.w, e = [];\n t.config.series.forEach((r, n) => {\n r.data.forEach((l, c) => {\n const d = ((p) => t.config.dataLabels.formatter(p, {\n seriesIndex: n,\n dataPointIndex: c,\n w: t\n }))(t.seriesData.series[n][c]);\n e.push(d);\n });\n });\n const s = L.getLargestStringFromArr(e), i = new P(this.w), a = t.config.dataLabels.style, o = i.getTextRects(\n s,\n parseInt(a.fontSize),\n a.fontFamily\n );\n return {\n width: o.width * 1.05,\n height: o.height\n };\n }\n getLargestStringFromMultiArr(t, e) {\n const s = this.w;\n let i = t;\n if (s.axisFlags.isMultiLineX) {\n const a = e.map((n) => Array.isArray(n) ? n.length : 1), o = Math.max(...a), r = a.indexOf(o);\n i = e[r];\n }\n return i;\n }\n};\nclass Ve {\n constructor(t) {\n this.w = t.w, this.dCtx = t;\n }\n /**\n * Get X Axis Dimensions\n * @memberof Dimensions\n * @return {{width, height}}\n **/\n getxAxisLabelsCoords() {\n const t = this.w;\n let e = t.labelData.labels.slice();\n t.config.xaxis.convertedCatToNumeric && e.length === 0 && (e = t.labelData.categoryLabels);\n let s;\n if (t.labelData.timescaleLabels.length > 0) {\n const i = this.getxAxisTimeScaleLabelsCoords();\n s = {\n width: i.width,\n height: i.height\n }, t.layout.rotateXLabels = !1;\n } else {\n this.dCtx.lgWidthForSideLegends = (t.config.legend.position === \"left\" || t.config.legend.position === \"right\") && !t.config.legend.floating ? this.dCtx.lgRect.width : 0;\n const i = t.formatters.xLabelFormatter;\n let a = L.getLargestStringFromArr(e), o = this.dCtx.dimHelpers.getLargestStringFromMultiArr(\n a,\n e\n );\n t.globals.isBarHorizontal && (a = t.globals.yAxisScale[0].result.reduce(\n (d, p) => d.length > p.length ? d : p,\n 0\n ), o = a);\n const r = new vt(this.w), n = a;\n a = r.xLabelFormat(i, a, n, {\n i: void 0,\n dateFormatter: new q(this.w).formatDate,\n w: t\n }), o = r.xLabelFormat(i, o, n, {\n i: void 0,\n dateFormatter: new q(this.w).formatDate,\n w: t\n }), (t.config.xaxis.convertedCatToNumeric && typeof a > \"u\" || String(a).trim() === \"\") && (a = \"1\", o = a);\n const l = new P(this.w);\n let c = l.getTextRects(\n a,\n t.config.xaxis.labels.style.fontSize\n ), h = c;\n if (a !== o && (h = l.getTextRects(\n o,\n t.config.xaxis.labels.style.fontSize\n )), s = {\n width: c.width >= h.width ? c.width : h.width,\n height: c.height >= h.height ? c.height : h.height\n }, s.width * e.length > t.globals.svgWidth - this.dCtx.lgWidthForSideLegends - this.dCtx.yAxisWidth - this.dCtx.gridPad.left - this.dCtx.gridPad.right && t.config.xaxis.labels.rotate !== 0 || t.config.xaxis.labels.rotateAlways) {\n if (!t.globals.isBarHorizontal) {\n t.layout.rotateXLabels = !0;\n const d = (p) => l.getTextRects(\n p,\n t.config.xaxis.labels.style.fontSize,\n t.config.xaxis.labels.style.fontFamily,\n `rotate(${t.config.xaxis.labels.rotate} 0 0)`,\n !1\n );\n c = d(a), a !== o && (h = d(o)), s.height = (c.height > h.height ? c.height : h.height) / 1.5, s.width = c.width > h.width ? c.width : h.width;\n }\n } else\n t.layout.rotateXLabels = !1;\n }\n return t.config.xaxis.labels.show || (s = {\n width: 0,\n height: 0\n }), {\n width: s.width,\n height: s.height\n };\n }\n /**\n * Get X Axis Label Group height\n * @memberof Dimensions\n * @return {{width, height}}\n */\n getxAxisGroupLabelsCoords() {\n var t;\n const e = this.w;\n if (!e.labelData.hasXaxisGroups)\n return { width: 0, height: 0 };\n const s = ((t = e.config.xaxis.group.style) == null ? void 0 : t.fontSize) || e.config.xaxis.labels.style.fontSize, i = e.labelData.groups.map((h) => h.title);\n let a;\n const o = L.getLargestStringFromArr(i), r = this.dCtx.dimHelpers.getLargestStringFromMultiArr(\n o,\n i\n ), n = new P(this.w), l = n.getTextRects(o, s);\n let c = l;\n return o !== r && (c = n.getTextRects(r, s)), a = {\n width: l.width >= c.width ? l.width : c.width,\n height: l.height >= c.height ? l.height : c.height\n }, e.config.xaxis.labels.show || (a = {\n width: 0,\n height: 0\n }), {\n width: a.width,\n height: a.height\n };\n }\n /**\n * Get X Axis Title Dimensions\n * @memberof Dimensions\n * @return {{width, height}}\n **/\n getxAxisTitleCoords() {\n const t = this.w;\n let e = 0, s = 0;\n if (t.config.xaxis.title.text !== void 0) {\n const a = new P(this.w).getTextRects(\n t.config.xaxis.title.text,\n t.config.xaxis.title.style.fontSize\n );\n e = a.width, s = a.height;\n }\n return {\n width: e,\n height: s\n };\n }\n getxAxisTimeScaleLabelsCoords() {\n const t = this.w;\n this.dCtx.timescaleLabels = t.labelData.timescaleLabels.slice();\n const e = this.dCtx.timescaleLabels.map((r) => r.value), s = e.reduce((r, n) => typeof r > \"u\" ? (console.error(\n \"You have possibly supplied invalid Date format. Please supply a valid JavaScript Date\"\n ), 0) : r.length > n.length ? r : n, 0), a = new P(this.w).getTextRects(s, t.config.xaxis.labels.style.fontSize);\n return a.width * 1.05 * e.length > t.layout.gridWidth && t.config.xaxis.labels.rotate !== 0 && (t.globals.overlappingXLabels = !0), a;\n }\n // In certain cases, the last labels gets cropped in xaxis.\n // Hence, we add some additional padding based on the label length to avoid the last label being cropped or we don't draw it at all\n additionalPaddingXLabels(t) {\n const e = this.w, s = e.globals, i = e.config, a = i.xaxis.type, o = t.width;\n s.skipLastTimelinelabel = !1, s.skipFirstTimelinelabel = !1;\n const r = e.config.yaxis[0].opposite && e.globals.isBarHorizontal, n = (h) => s.collapsedSeriesIndices.indexOf(h) !== -1, l = (h) => {\n if (this.dCtx.timescaleLabels && this.dCtx.timescaleLabels.length) {\n const d = this.dCtx.timescaleLabels[0], g = this.dCtx.timescaleLabels[this.dCtx.timescaleLabels.length - 1].position + o / 1.75 - this.dCtx.yAxisWidthRight, f = d.position - o / 1.75 + this.dCtx.yAxisWidthLeft, x = e.config.legend.position === \"right\" && this.dCtx.lgRect.width > 0 ? this.dCtx.lgRect.width : 0;\n g > s.svgWidth - e.layout.translateX - x && (s.skipLastTimelinelabel = !0), f < -((!h.show || h.floating) && (i.chart.type === \"bar\" || i.chart.type === \"candlestick\" || i.chart.type === \"rangeBar\" || i.chart.type === \"boxPlot\") ? o / 1.75 : 10) && (s.skipFirstTimelinelabel = !0);\n } else\n a === \"datetime\" ? this.dCtx.gridPad.right < o && !e.layout.rotateXLabels && (s.skipLastTimelinelabel = !0) : a !== \"datetime\" && this.dCtx.gridPad.right < o / 2 - this.dCtx.yAxisWidthRight && !e.layout.rotateXLabels && !e.config.xaxis.labels.trim && (this.dCtx.xPadRight = o / 2 + 1);\n }, c = (h, d) => {\n i.yaxis.length > 1 && n(d) || l(h);\n };\n i.yaxis.forEach((h, d) => {\n r ? (this.dCtx.gridPad.left < o && (this.dCtx.xPadLeft = o / 2 + 1), this.dCtx.xPadRight = o / 2 + 1) : c(h, d);\n });\n }\n}\nclass Ue {\n constructor(t) {\n this.w = t.w, this.dCtx = t;\n }\n /**\n * Get Y Axis Dimensions\n * @memberof Dimensions\n * @return {{width, height}}\n **/\n getyAxisLabelsCoords() {\n const t = this.w, e = 0, s = 0, i = [];\n let a = 10;\n const o = new at(this.w, { theme: this.dCtx.theme, timeScale: this.dCtx.timeScale });\n return t.config.yaxis.map((r, n) => {\n const l = {\n seriesIndex: n,\n dataPointIndex: -1,\n w: t\n }, c = t.globals.yAxisScale[n];\n let h = 0;\n if (!o.isYAxisHidden(n) && r.labels.show && r.labels.minWidth !== void 0 && (h = r.labels.minWidth), !o.isYAxisHidden(n) && r.labels.show && c.result.length) {\n const d = t.formatters.yLabelFormatters[n], p = c.niceMin === Number.MIN_VALUE ? 0 : c.niceMin;\n let g = c.result.reduce((b, w) => {\n var v, C;\n return ((v = String(d(b, l))) == null ? void 0 : v.length) > ((C = String(d(w, l))) == null ? void 0 : C.length) ? b : w;\n }, p);\n g = d(g, l);\n let f = g;\n if ((typeof g > \"u\" || g.length === 0) && (g = c.niceMax), String(g).length === 1 && (g = g + \".0\", f = g), t.globals.isBarHorizontal) {\n a = 0;\n const b = t.labelData.labels.slice();\n g = L.getLargestStringFromArr(b), g = d(g, { seriesIndex: n, dataPointIndex: -1, w: t }), f = this.dCtx.dimHelpers.getLargestStringFromMultiArr(\n g,\n b\n );\n }\n const x = new P(this.w), m = \"rotate(\".concat(r.labels.rotate, \" 0 0)\"), u = x.getTextRects(\n g,\n r.labels.style.fontSize,\n r.labels.style.fontFamily,\n m,\n !1\n );\n let y = u;\n g !== f && (y = x.getTextRects(\n f,\n r.labels.style.fontSize,\n r.labels.style.fontFamily,\n m,\n !1\n )), i.push({\n width: (h > y.width || h > u.width ? h : y.width > u.width ? y.width : u.width) + a,\n height: y.height > u.height ? y.height : u.height\n });\n } else\n i.push({\n width: e,\n height: s\n });\n }), i;\n }\n /**\n * Get Y Axis Dimensions\n * @memberof Dimensions\n * @return {{width, height}}\n **/\n getyAxisTitleCoords() {\n const t = this.w, e = [];\n return t.config.yaxis.map((s) => {\n if (s.show && s.title.text !== void 0) {\n const i = new P(this.w), a = \"rotate(\".concat(s.title.rotate, \" 0 0)\"), o = i.getTextRects(\n s.title.text,\n s.title.style.fontSize,\n s.title.style.fontFamily,\n a,\n !1\n );\n e.push({\n width: o.width,\n height: o.height\n });\n } else\n e.push({\n width: 0,\n height: 0\n });\n }), e;\n }\n getTotalYAxisWidth() {\n const t = this.w;\n let e = 0, s = 0, i = 0;\n const a = t.globals.yAxisScale.length > 1 ? 10 : 0, o = new at(this.w, { theme: this.dCtx.theme, timeScale: this.dCtx.timeScale }), r = function(l) {\n return t.globals.ignoreYAxisIndexes.indexOf(l) > -1;\n }, n = (l, c) => {\n const h = t.config.yaxis[c].floating;\n let d = 0;\n l.width > 0 && !h ? (d = l.width + a, r(c) && (d = d - l.width - a)) : d = h || o.isYAxisHidden(c) ? 0 : 5, t.config.yaxis[c].opposite ? i = i + d : s = s + d, e = e + d;\n };\n return t.layout.yLabelsCoords.map((l, c) => {\n n(l, c);\n }), t.layout.yTitleCoords.map((l, c) => {\n n(l, c);\n }), t.globals.isBarHorizontal && !t.config.yaxis[0].floating && (e = t.layout.yLabelsCoords[0].width + t.layout.yTitleCoords[0].width + 15), this.dCtx.yAxisWidthLeft = s, this.dCtx.yAxisWidthRight = i, e;\n }\n}\nclass qe {\n constructor(t) {\n this.w = t.w, this.dCtx = t;\n }\n gridPadForColumnsInNumericAxis(t) {\n const { w: e } = this, { config: s, globals: i } = e;\n if (i.noData || i.collapsedSeries.length + i.ancillaryCollapsedSeries.length === s.series.length)\n return 0;\n const a = (h) => [\"bar\", \"rangeBar\", \"candlestick\", \"boxPlot\"].includes(h), o = s.chart.type;\n let r = 0, n = a(o) ? s.series.length : 1;\n i.comboBarCount > 0 && (n = i.comboBarCount), i.collapsedSeries.forEach((h) => {\n a(h.type) && (n -= 1);\n }), s.chart.stacked && (n = 1);\n const l = a(o) || i.comboBarCount > 0;\n let c = Math.abs(i.initialMaxX - i.initialMinX);\n if (l && e.axisFlags.isXNumeric && !i.isBarHorizontal && n > 0 && c !== 0) {\n c <= 3 && (c = i.dataPoints);\n const h = c / t;\n let d = i.minXDiff && i.minXDiff / h > 0 ? i.minXDiff / h : 0;\n d > t / 2 && (d /= 2), r = d * parseInt(s.plotOptions.bar.columnWidth, 10) / 100, r < 1 && (r = 1), i.barPadForNumericAxis = r;\n }\n return r;\n }\n gridPadFortitleSubtitle() {\n const { w: t } = this, { globals: e } = t;\n let s = this.dCtx.isSparkline || !e.axisCharts ? 0 : 10;\n [\"title\", \"subtitle\"].forEach((r) => {\n t.config[r].text !== void 0 ? s += t.config[r].margin : s += this.dCtx.isSparkline || !e.axisCharts ? 0 : 5;\n }), t.config.legend.show && t.config.legend.position === \"bottom\" && !t.config.legend.floating && !e.axisCharts && (s += 10);\n const a = this.dCtx.dimHelpers.getTitleSubtitleCoords(\"title\"), o = this.dCtx.dimHelpers.getTitleSubtitleCoords(\"subtitle\");\n t.layout.gridHeight -= a.height + o.height + s, t.layout.translateY += a.height + o.height + s;\n }\n setGridXPosForDualYAxis(t, e) {\n const { w: s } = this, i = new at(this.w, { theme: this.dCtx.theme, timeScale: this.dCtx.timeScale });\n s.config.yaxis.forEach((a, o) => {\n s.globals.ignoreYAxisIndexes.indexOf(o) === -1 && !a.floating && !i.isYAxisHidden(o) && (a.opposite && (s.layout.translateX -= e[o].width + t[o].width + parseInt(a.labels.style.fontSize, 10) / 1.2 + 12), s.layout.translateX < 2 && (s.layout.translateX = 2));\n });\n }\n}\nclass Dt {\n constructor(t, e) {\n this.w = t, this.ctx = e, this.theme = e.theme, this.timeScale = e.timeScale, this.lgRect = {}, this.yAxisWidth = 0, this.yAxisWidthLeft = 0, this.yAxisWidthRight = 0, this.xAxisHeight = 0, this.isSparkline = this.w.config.chart.sparkline.enabled, this.dimHelpers = new $e(this), this.dimYAxis = new Ue(this), this.dimXAxis = new Ve(this), this.dimGrid = new qe(this), this.lgWidthForSideLegends = 0, this.gridPad = this.w.config.grid.padding, this.xPadRight = 0, this.xPadLeft = 0;\n }\n /**\n * @memberof Dimensions\n * @param {object} w - chart context\n **/\n plotCoords() {\n const t = this.w, e = t.globals;\n this.lgRect = this.dimHelpers.getLegendsRect(), this.datalabelsCoords = { width: 0, height: 0 };\n const s = Array.isArray(t.config.stroke.width) ? Math.max(...t.config.stroke.width) : t.config.stroke.width;\n this.isSparkline && ((t.config.markers.discrete.length > 0 || t.config.markers.size > 0) && Object.entries(this.gridPad).forEach(([a, o]) => {\n this.gridPad[a] = Math.max(\n o,\n this.w.globals.markers.largestSize / 1.5\n );\n }), this.gridPad.top = Math.max(s / 2, this.gridPad.top), this.gridPad.bottom = Math.max(s / 2, this.gridPad.bottom)), e.axisCharts ? this.setDimensionsForAxisCharts() : this.setDimensionsForNonAxisCharts(), this.dimGrid.gridPadFortitleSubtitle(), t.layout.gridHeight = t.layout.gridHeight - this.gridPad.top - this.gridPad.bottom, t.layout.gridWidth = t.layout.gridWidth - this.gridPad.left - this.gridPad.right - this.xPadRight - this.xPadLeft;\n const i = this.dimGrid.gridPadForColumnsInNumericAxis(t.layout.gridWidth);\n return t.layout.gridWidth = t.layout.gridWidth - i * 2, t.layout.translateX = t.layout.translateX + this.gridPad.left + this.xPadLeft + (i > 0 ? i : 0), t.layout.translateY = t.layout.translateY + this.gridPad.top, {\n // w.layout (future slice)\n layout: {\n gridHeight: t.layout.gridHeight,\n gridWidth: t.layout.gridWidth,\n translateX: t.layout.translateX,\n translateY: t.layout.translateY,\n translateXAxisX: t.layout.translateXAxisX,\n translateXAxisY: t.layout.translateXAxisY,\n rotateXLabels: t.layout.rotateXLabels,\n xAxisHeight: t.layout.xAxisHeight,\n xAxisLabelsHeight: t.layout.xAxisLabelsHeight,\n xAxisGroupLabelsHeight: t.layout.xAxisGroupLabelsHeight,\n xAxisLabelsWidth: t.layout.xAxisLabelsWidth,\n yLabelsCoords: t.layout.yLabelsCoords,\n yTitleCoords: t.layout.yTitleCoords\n }\n };\n }\n setDimensionsForAxisCharts() {\n const t = this.w, e = t.globals, s = this.dimYAxis.getyAxisLabelsCoords(), i = this.dimYAxis.getyAxisTitleCoords();\n e.isSlopeChart && (this.datalabelsCoords = this.dimHelpers.getDatalabelsRect()), t.layout.yLabelsCoords = [], t.layout.yTitleCoords = [], t.config.yaxis.map((p, g) => {\n t.layout.yLabelsCoords.push({\n width: s[g].width,\n index: g\n }), t.layout.yTitleCoords.push({\n width: i[g].width,\n index: g\n });\n }), this.yAxisWidth = this.dimYAxis.getTotalYAxisWidth();\n const a = this.dimXAxis.getxAxisLabelsCoords(), o = this.dimXAxis.getxAxisGroupLabelsCoords(), r = this.dimXAxis.getxAxisTitleCoords();\n this.conditionalChecksForAxisCoords(\n a,\n r,\n o\n ), t.layout.translateXAxisY = t.layout.rotateXLabels ? this.xAxisHeight / 8 : -4, t.layout.translateXAxisX = t.layout.rotateXLabels && t.axisFlags.isXNumeric && t.config.xaxis.labels.rotate <= -45 ? -this.xAxisWidth / 4 : 0, t.globals.isBarHorizontal && (t.layout.rotateXLabels = !1, t.layout.translateXAxisY = -1 * (parseInt(t.config.xaxis.labels.style.fontSize, 10) / 1.5)), t.layout.translateXAxisY = t.layout.translateXAxisY + t.config.xaxis.labels.offsetY, t.layout.translateXAxisX = t.layout.translateXAxisX + t.config.xaxis.labels.offsetX;\n let n = this.yAxisWidth, l = this.xAxisHeight;\n t.layout.xAxisLabelsHeight = this.xAxisHeight - r.height, t.layout.xAxisGroupLabelsHeight = t.layout.xAxisLabelsHeight - a.height, t.layout.xAxisLabelsWidth = this.xAxisWidth, t.layout.xAxisHeight = this.xAxisHeight;\n let c = 10;\n (t.config.chart.type === \"radar\" || this.isSparkline) && (n = 0, l = 0), this.isSparkline && (this.lgRect = {\n height: 0,\n width: 0\n }), (this.isSparkline || t.config.chart.type === \"treemap\") && (n = 0, l = 0, c = 0), !this.isSparkline && t.config.chart.type !== \"treemap\" && this.dimXAxis.additionalPaddingXLabels(a);\n const h = () => {\n t.layout.translateX = n + this.datalabelsCoords.width, t.layout.gridHeight = e.svgHeight - this.lgRect.height - l - (!this.isSparkline && t.config.chart.type !== \"treemap\" ? t.layout.rotateXLabels ? 10 : 15 : 0), t.layout.gridWidth = e.svgWidth - n - this.datalabelsCoords.width * 2;\n };\n switch (t.config.xaxis.position === \"top\" && (c = t.layout.xAxisHeight - t.config.xaxis.axisTicks.height - 5), t.config.legend.position) {\n case \"bottom\":\n t.layout.translateY = c, h();\n break;\n case \"top\":\n t.layout.translateY = this.lgRect.height + c, h();\n break;\n case \"left\":\n t.layout.translateY = c, t.layout.translateX = this.lgRect.width + n + this.datalabelsCoords.width, t.layout.gridHeight = e.svgHeight - l - 12, t.layout.gridWidth = e.svgWidth - this.lgRect.width - n - this.datalabelsCoords.width * 2;\n break;\n case \"right\":\n t.layout.translateY = c, t.layout.translateX = n + this.datalabelsCoords.width, t.layout.gridHeight = e.svgHeight - l - 12, t.layout.gridWidth = e.svgWidth - this.lgRect.width - n - this.datalabelsCoords.width * 2 - 5;\n break;\n default:\n throw new Error(\"Legend position not supported\");\n }\n this.dimGrid.setGridXPosForDualYAxis(i, s), new _t(this.w, { theme: this.theme, timeScale: this.timeScale }).setYAxisXPosition(s, i);\n }\n setDimensionsForNonAxisCharts() {\n const t = this.w, e = t.globals, s = t.config;\n let i = 0;\n t.config.legend.show && !t.config.legend.floating && (i = 20);\n const a = s.chart.type === \"pie\" || s.chart.type === \"polarArea\" || s.chart.type === \"donut\" ? \"pie\" : \"radialBar\", o = s.plotOptions[a].offsetY, r = s.plotOptions[a].offsetX;\n if (!s.legend.show || s.legend.floating) {\n t.layout.gridHeight = e.svgHeight;\n const n = t.dom.elWrap.getBoundingClientRect().width;\n t.layout.gridWidth = Math.min(n, t.layout.gridHeight), t.layout.translateY = o, t.layout.translateX = r + (e.svgWidth - t.layout.gridWidth) / 2;\n return;\n }\n switch (s.legend.position) {\n case \"bottom\":\n t.layout.gridHeight = e.svgHeight - this.lgRect.height, t.layout.gridWidth = e.svgWidth, t.layout.translateY = o - 10, t.layout.translateX = r + (e.svgWidth - t.layout.gridWidth) / 2;\n break;\n case \"top\":\n t.layout.gridHeight = e.svgHeight - this.lgRect.height, t.layout.gridWidth = e.svgWidth, t.layout.translateY = this.lgRect.height + o + 10, t.layout.translateX = r + (e.svgWidth - t.layout.gridWidth) / 2;\n break;\n case \"left\":\n t.layout.gridWidth = e.svgWidth - this.lgRect.width - i, t.layout.gridHeight = s.chart.height !== \"auto\" ? e.svgHeight : t.layout.gridWidth, t.layout.translateY = o, t.layout.translateX = r + this.lgRect.width + i;\n break;\n case \"right\":\n t.layout.gridWidth = e.svgWidth - this.lgRect.width - i - 5, t.layout.gridHeight = s.chart.height !== \"auto\" ? e.svgHeight : t.layout.gridWidth, t.layout.translateY = o, t.layout.translateX = r + 10;\n break;\n default:\n throw new Error(\"Legend position not supported\");\n }\n }\n conditionalChecksForAxisCoords(t, e, s) {\n const i = this.w, a = i.labelData.hasXaxisGroups ? 2 : 1, o = s.height + t.height + e.height, r = i.axisFlags.isMultiLineX ? 1.2 : ce, n = i.layout.rotateXLabels ? 22 : 10, c = i.layout.rotateXLabels && i.config.legend.position === \"bottom\" ? 10 : 0;\n this.xAxisHeight = o * r + a * n + c, this.xAxisWidth = t.width, this.xAxisHeight - e.height > i.config.xaxis.labels.maxHeight && (this.xAxisHeight = i.config.xaxis.labels.maxHeight), i.config.xaxis.labels.minHeight && this.xAxisHeight < i.config.xaxis.labels.minHeight && (this.xAxisHeight = i.config.xaxis.labels.minHeight), i.config.xaxis.floating && (this.xAxisHeight = 0);\n let h = 0, d = 0;\n i.config.yaxis.forEach((p) => {\n h += p.labels.minWidth, d += p.labels.maxWidth;\n }), this.yAxisWidth < h && (this.yAxisWidth = h), this.yAxisWidth > d && (this.yAxisWidth = d);\n }\n}\nconst ue = 24 * 60, Nt = ue * 60, Ze = 10 / Nt;\nclass je {\n constructor(t, e) {\n this.w = t, this.ctx = e, this.timeScaleArray = [], this.utc = this.w.config.xaxis.labels.datetimeUTC;\n }\n calculateTimeScaleTicks(t, e) {\n const s = this.w;\n if (s.globals.allSeriesCollapsed)\n return s.labelData.labels = [], s.labelData.timescaleLabels = [], [];\n const i = new q(this.w), a = (e - t) / (1e3 * Nt);\n this.determineInterval(a), s.interact.disableZoomIn = !1, s.interact.disableZoomOut = !1, a < Ze ? s.interact.disableZoomIn = !0 : a > 5e4 && (s.interact.disableZoomOut = !0);\n const o = i.getTimeUnitsfromTimestamp(t, e, this.utc), r = s.layout.gridWidth / a, n = r / 24, l = n / 60, c = l / 60, h = Math.floor(a * 24), d = Math.floor(a * ue), p = Math.floor(a * Nt), g = Math.floor(a), f = Math.floor(a / 30), x = Math.floor(a / 365), m = {\n minMillisecond: o.minMillisecond,\n minSecond: o.minSecond,\n minMinute: o.minMinute,\n minHour: o.minHour,\n minDate: o.minDate,\n minMonth: o.minMonth,\n minYear: o.minYear\n }, u = m.minMillisecond, y = m.minSecond, b = m.minMinute, w = m.minHour, v = m.minDate, C = m.minDate, D = m.minMonth, S = m.minYear, k = {\n firstVal: m,\n currentMillisecond: u,\n currentSecond: y,\n currentMinute: b,\n currentHour: w,\n currentMonthDate: v,\n currentDate: C,\n currentMonth: D,\n currentYear: S,\n daysWidthOnXAxis: r,\n hoursWidthOnXAxis: n,\n minutesWidthOnXAxis: l,\n secondsWidthOnXAxis: c,\n numberOfSeconds: p,\n numberOfMinutes: d,\n numberOfHours: h,\n numberOfDays: g,\n numberOfMonths: f,\n numberOfYears: x\n };\n switch (this.tickInterval) {\n case \"years\": {\n this.generateYearScale(k);\n break;\n }\n case \"months\":\n case \"half_year\": {\n this.generateMonthScale(k);\n break;\n }\n case \"months_days\":\n case \"months_fortnight\":\n case \"days\":\n case \"week_days\": {\n this.generateDayScale(k);\n break;\n }\n case \"hours\": {\n this.generateHourScale(k);\n break;\n }\n case \"minutes_fives\":\n case \"minutes\":\n this.generateMinuteScale(k);\n break;\n case \"seconds_tens\":\n case \"seconds_fives\":\n case \"seconds\":\n this.generateSecondScale(k);\n break;\n }\n const F = this.timeScaleArray.map((M) => {\n const E = {\n position: M.position,\n unit: M.unit,\n year: M.year,\n day: M.day ? M.day : 1,\n hour: M.hour ? M.hour : 0,\n month: M.month + 1\n };\n return M.unit === \"month\" ? O(I({}, E), {\n day: 1,\n value: M.value + 1\n }) : M.unit === \"day\" || M.unit === \"hour\" ? O(I({}, E), {\n value: M.value\n }) : M.unit === \"minute\" ? O(I({}, E), {\n value: M.value,\n minute: M.value\n }) : M.unit === \"second\" ? O(I({}, E), {\n value: M.value,\n minute: M.minute,\n second: M.second\n }) : M;\n });\n return F.filter((M) => {\n let E = 1, X = Math.ceil(s.layout.gridWidth / 120);\n const R = M.value;\n s.config.xaxis.tickAmount !== void 0 && (X = s.config.xaxis.tickAmount), F.length > X && (E = Math.floor(F.length / X));\n let Y = !1, z = !1;\n switch (this.tickInterval) {\n case \"years\":\n M.unit === \"year\" && (Y = !0);\n break;\n case \"half_year\":\n E = 7, M.unit === \"year\" && (Y = !0);\n break;\n case \"months\":\n E = 1, M.unit === \"year\" && (Y = !0);\n break;\n case \"months_fortnight\":\n E = 15, (M.unit === \"year\" || M.unit === \"month\") && (Y = !0), R === 30 && (z = !0);\n break;\n case \"months_days\":\n E = 10, M.unit === \"month\" && (Y = !0), R === 30 && (z = !0);\n break;\n case \"week_days\":\n E = 8, M.unit === \"month\" && (Y = !0);\n break;\n case \"days\":\n E = 1, M.unit === \"month\" && (Y = !0);\n break;\n case \"hours\":\n M.unit === \"day\" && (Y = !0);\n break;\n case \"minutes_fives\":\n R % 5 !== 0 && (z = !0);\n break;\n case \"seconds_tens\":\n R % 10 !== 0 && (z = !0);\n break;\n case \"seconds_fives\":\n R % 5 !== 0 && (z = !0);\n break;\n }\n if (this.tickInterval === \"hours\" || this.tickInterval === \"minutes_fives\" || this.tickInterval === \"seconds_tens\" || this.tickInterval === \"seconds_fives\") {\n if (!z)\n return !0;\n } else if ((R % E === 0 || Y) && !z)\n return !0;\n });\n }\n recalcDimensionsBasedOnFormat(t) {\n const e = this.w, s = this.formatDates(t), i = this.removeOverlappingTS(\n s\n );\n e.labelData.timescaleLabels = i.slice();\n const o = new Dt(this.w, this.ctx).plotCoords();\n this.ctx._writeLayoutCoords(o.layout);\n }\n determineInterval(t) {\n const e = t / 365, s = t * 24, i = s * 60, a = i * 60;\n switch (!0) {\n case e > 5:\n this.tickInterval = \"years\";\n break;\n case t > 800:\n this.tickInterval = \"half_year\";\n break;\n case t > 180:\n this.tickInterval = \"months\";\n break;\n case t > 90:\n this.tickInterval = \"months_fortnight\";\n break;\n case t > 60:\n this.tickInterval = \"months_days\";\n break;\n case t > 30:\n this.tickInterval = \"week_days\";\n break;\n case t > 2:\n this.tickInterval = \"days\";\n break;\n case s > 2.4:\n this.tickInterval = \"hours\";\n break;\n case i > 15:\n this.tickInterval = \"minutes_fives\";\n break;\n case i > 5:\n this.tickInterval = \"minutes\";\n break;\n case i > 1:\n this.tickInterval = \"seconds_tens\";\n break;\n case a > 20:\n this.tickInterval = \"seconds_fives\";\n break;\n default:\n this.tickInterval = \"seconds\";\n break;\n }\n }\n generateYearScale({\n firstVal: t,\n currentMonth: e,\n currentYear: s,\n daysWidthOnXAxis: i,\n numberOfYears: a\n }) {\n let o = t.minYear, r = 0;\n const n = new q(this.w), l = \"year\";\n if (t.minDate > 1 || t.minMonth > 0) {\n const d = n.determineRemainingDaysOfYear(\n t.minYear,\n t.minMonth,\n t.minDate\n );\n r = (n.determineDaysOfYear(t.minYear) - d + 1) * i, o = t.minYear + 1, this.timeScaleArray.push({\n position: r,\n value: o,\n unit: l,\n year: o,\n month: L.monthMod(e + 1)\n });\n } else\n t.minDate === 1 && t.minMonth === 0 && this.timeScaleArray.push({\n position: r,\n value: o,\n unit: l,\n year: s,\n month: L.monthMod(e + 1)\n });\n let c = o, h = r;\n for (let d = 0; d < a; d++)\n c++, h = n.determineDaysOfYear(c - 1) * i + h, this.timeScaleArray.push({\n position: h,\n value: c,\n unit: l,\n year: c,\n month: 1\n });\n }\n generateMonthScale({\n firstVal: t,\n currentMonthDate: e,\n currentMonth: s,\n currentYear: i,\n daysWidthOnXAxis: a,\n numberOfMonths: o\n }) {\n let r = s, n = 0;\n const l = new q(this.w);\n let c = \"month\", h = 0;\n if (t.minDate > 1) {\n n = (l.determineDaysOfMonths(s + 1, t.minYear) - e + 1) * a, r = L.monthMod(s + 1);\n let f = i + h, x = L.monthMod(r), m = r;\n r === 0 && (c = \"year\", m = f, x = 1, h += 1, f = f + h), this.timeScaleArray.push({\n position: n,\n value: m,\n unit: c,\n year: f,\n month: x\n });\n } else\n this.timeScaleArray.push({\n position: n,\n value: r,\n unit: c,\n year: i,\n month: L.monthMod(s)\n });\n let d = r + 1, p = n;\n for (let g = 0, f = 1; g < o; g++, f++) {\n d = L.monthMod(d), d === 0 ? (c = \"year\", h += 1) : c = \"month\";\n const x = this._getYear(i, d, h);\n p = l.determineDaysOfMonths(d, x) * a + p;\n const m = d === 0 ? x : d;\n this.timeScaleArray.push({\n position: p,\n value: m,\n unit: c,\n year: x,\n month: d === 0 ? 1 : d\n }), d++;\n }\n }\n generateDayScale({\n firstVal: t,\n currentMonth: e,\n currentYear: s,\n hoursWidthOnXAxis: i,\n numberOfDays: a\n }) {\n const o = new q(this.w);\n let r = \"day\", n = t.minDate + 1, l = n;\n const c = (m, u, y) => {\n const b = o.determineDaysOfMonths(u + 1, y);\n return m > b && (u = u + 1, l = 1, r = \"month\", g = u), u;\n }, h = 24 - t.minHour, d = 0;\n let p = h * i, g = n, f = c(l, e, s);\n t.minHour === 0 && t.minDate === 1 ? (p = 0, g = L.monthMod(t.minMonth), r = \"month\", l = t.minDate) : t.minDate !== 1 && t.minHour === 0 && t.minMinute === 0 && (p = 0, n = t.minDate, l = n, g = n, f = c(l, e, s), g !== 1 && (r = \"day\")), this.timeScaleArray.push({\n position: p,\n value: g,\n unit: r,\n year: this._getYear(s, f, d),\n month: L.monthMod(f),\n day: l\n });\n let x = p;\n for (let m = 0; m < a; m++) {\n l += 1, r = \"day\", f = c(\n l,\n f,\n this._getYear(s, f, d)\n );\n const u = this._getYear(s, f, d);\n x = 24 * i + x;\n const y = l === 1 ? L.monthMod(f) : l;\n this.timeScaleArray.push({\n position: x,\n value: y,\n unit: r,\n year: u,\n month: L.monthMod(f),\n day: y\n });\n }\n }\n generateHourScale({\n firstVal: t,\n currentDate: e,\n currentMonth: s,\n currentYear: i,\n minutesWidthOnXAxis: a,\n numberOfHours: o\n }) {\n const r = new q(this.w), n = 0;\n let l = \"hour\";\n const c = (b, w) => {\n const v = r.determineDaysOfMonths(w + 1, i);\n return b > v && (x = 1, w = w + 1), { month: w, date: x };\n }, h = (b, w) => {\n const v = r.determineDaysOfMonths(w + 1, i);\n return b > v && (w = w + 1), w;\n }, d = 60 - (t.minMinute + t.minSecond / 60);\n let p = d * a, g = t.minHour + 1, f = g;\n d === 60 && (p = 0, g = t.minHour, f = g);\n let x = e;\n f >= 24 && (f = 0, x += 1, l = \"day\", g = x);\n let u = c(x, s).month;\n u = h(x, u), g > 31 && (x = 1, g = x), this.timeScaleArray.push({\n position: p,\n value: g,\n unit: l,\n day: x,\n hour: f,\n year: i,\n month: L.monthMod(u)\n }), f++;\n let y = p;\n for (let b = 0; b < o; b++) {\n l = \"hour\", f >= 24 && (f = 0, x += 1, l = \"day\", u = c(x, u).month, u = h(x, u));\n const w = this._getYear(i, u, n);\n y = 60 * a + y;\n const v = f === 0 ? x : f;\n this.timeScaleArray.push({\n position: y,\n value: v,\n unit: l,\n hour: f,\n day: x,\n year: w,\n month: L.monthMod(u)\n }), f++;\n }\n }\n generateMinuteScale({\n currentMillisecond: t,\n currentSecond: e,\n currentMinute: s,\n currentHour: i,\n currentDate: a,\n currentMonth: o,\n currentYear: r,\n minutesWidthOnXAxis: n,\n secondsWidthOnXAxis: l,\n numberOfMinutes: c\n }) {\n const d = \"minute\", g = (60 - e - t / 1e3) * l;\n let f = s + 1;\n const x = a, m = o, u = r;\n let y = i, b = g;\n for (let w = 0; w < c; w++)\n f >= 60 && (f = 0, y += 1, y === 24 && (y = 0)), this.timeScaleArray.push({\n position: b,\n value: f,\n unit: d,\n hour: y,\n minute: f,\n day: x,\n year: this._getYear(u, m, 0),\n month: L.monthMod(m)\n }), b += n, f++;\n }\n generateSecondScale({\n currentMillisecond: t,\n currentSecond: e,\n currentMinute: s,\n currentHour: i,\n currentDate: a,\n currentMonth: o,\n currentYear: r,\n secondsWidthOnXAxis: n,\n numberOfSeconds: l\n }) {\n const h = \"second\", p = (1e3 - t) / 1e3 * n;\n let g = e + 1, f = s;\n const x = a, m = o, u = r;\n let y = i, b = p;\n for (let w = 0; w < l; w++)\n g >= 60 && (f++, g = 0, f >= 60 && (y++, f = 0, y === 24 && (y = 0))), this.timeScaleArray.push({\n position: b,\n value: g,\n unit: h,\n hour: y,\n minute: f,\n second: g,\n day: x,\n year: this._getYear(u, m, 0),\n month: L.monthMod(m)\n }), b += n, g++;\n }\n createRawDateString(t, e) {\n let s = t.year;\n return t.month === 0 && (t.month = 1), s += \"-\" + (\"0\" + t.month.toString()).slice(-2), t.unit === \"day\" ? s += t.unit === \"day\" ? \"-\" + (\"0\" + e).slice(-2) : \"-01\" : s += \"-\" + (\"0\" + (t.day ? t.day : \"1\")).slice(-2), t.unit === \"hour\" ? s += t.unit === \"hour\" ? \"T\" + (\"0\" + e).slice(-2) : \"T00\" : s += \"T\" + (\"0\" + (t.hour ? t.hour : \"0\")).slice(-2), t.unit === \"minute\" ? s += \":\" + (\"0\" + e).slice(-2) : s += \":\" + (t.minute ? (\"0\" + t.minute).slice(-2) : \"00\"), t.unit === \"second\" ? s += \":\" + (\"0\" + e).slice(-2) : s += \":00\", this.utc && (s += \".000Z\"), s;\n }\n formatDates(t) {\n const e = this.w;\n return t.map((i) => {\n let a = i.value.toString();\n const o = new q(this.w), r = this.createRawDateString(i, a);\n let n = o.getDate(o.parseDate(r));\n if (this.utc || (n = o.getDate(o.parseDateWithTimezone(r))), e.config.xaxis.labels.format === void 0) {\n let l = \"dd MMM\";\n const c = e.config.xaxis.labels.datetimeFormatter;\n i.unit === \"year\" && (l = c.year), i.unit === \"month\" && (l = c.month), i.unit === \"day\" && (l = c.day), i.unit === \"hour\" && (l = c.hour), i.unit === \"minute\" && (l = c.minute), i.unit === \"second\" && (l = c.second), a = o.formatDate(n, l);\n } else\n a = o.formatDate(n, e.config.xaxis.labels.format);\n return {\n dateString: r,\n position: i.position,\n value: a,\n unit: i.unit,\n year: i.year,\n month: i.month\n };\n });\n }\n removeOverlappingTS(t) {\n const e = new P(this.w);\n let s = !1, i;\n t.length > 0 && // check arr length\n t[0].value && // check arr[0] contains value\n t.every((r) => r.value.length === t[0].value.length) && (s = !0, i = e.getTextRects(t[0].value).width);\n let a = 0, o = t.map((r, n) => {\n if (n > 0 && this.w.config.xaxis.labels.hideOverlappingLabels) {\n const l = s ? i : e.getTextRects(t[a].value).width, c = t[a].position;\n return r.position > c + l + 10 ? (a = n, r) : null;\n } else\n return r;\n });\n return o = o.filter((r) => r !== null), o;\n }\n _getYear(t, e, s) {\n return t + Math.floor(e / 12) + s;\n }\n}\nconst xe = {};\nfunction Ke(A) {\n Object.assign(xe, A);\n}\nfunction Q(A) {\n const t = xe[A];\n if (!t)\n throw new Error(\n `ApexCharts: chart type \"${A}\" is not registered. Import it via ApexCharts.use() or use the full apexcharts bundle.\nIf you already imported the entry (e.g. 'apexcharts/${A}'), your bundler may have created two separate copies of the ApexCharts module so the registration was lost. Add all apexcharts sub-entries to your bundler's deduplication config — for Vite add them to optimizeDeps.include in vite.config.`\n );\n return t;\n}\nclass Je {\n constructor(t, e, s) {\n this.w = e, this.ctx = s, this.el = t;\n }\n setupElements() {\n const { globals: t, config: e } = this.w, s = e.chart.type, i = [\n \"line\",\n \"area\",\n \"bar\",\n \"rangeBar\",\n \"rangeArea\",\n \"candlestick\",\n \"boxPlot\",\n \"scatter\",\n \"bubble\",\n \"radar\",\n \"heatmap\",\n \"treemap\"\n ], a = [\n \"line\",\n \"area\",\n \"bar\",\n \"rangeBar\",\n \"rangeArea\",\n \"candlestick\",\n \"boxPlot\",\n \"scatter\",\n \"bubble\"\n ];\n t.axisCharts = i.includes(s), t.xyCharts = a.includes(s), t.isBarHorizontal = [\"bar\", \"rangeBar\", \"boxPlot\"].includes(s) && e.plotOptions.bar.horizontal, t.chartClass = `.apexcharts${t.chartID}`, this.w.dom.baseEl = this.el, this.w.dom.elWrap = N.createElementNS(\n \"http://www.w3.org/1999/xhtml\",\n \"div\"\n ), P.setAttrs(this.w.dom.elWrap, {\n id: t.chartClass.substring(1),\n class: `apexcharts-canvas ${t.chartClass.substring(1)}`\n }), this.el.appendChild(this.w.dom.elWrap);\n const o = B.isBrowser() ? window.SVG : global.SVG;\n if (this.w.dom.Paper = o().addTo(this.w.dom.elWrap), this.w.dom.Paper.attr({\n class: \"apexcharts-svg\",\n \"xmlns:data\": \"ApexChartsNS\",\n transform: `translate(${e.chart.offsetX}, ${e.chart.offsetY})`\n }), this.w.dom.Paper.node.style.background = e.theme.mode === \"dark\" && !e.chart.background ? \"#343A3F\" : e.theme.mode === \"light\" && !e.chart.background ? \"#fff\" : e.chart.background, this.setSVGDimensions(), this.w.dom.elLegendForeign = N.createElementNS(\n G,\n \"foreignObject\"\n ), P.setAttrs(this.w.dom.elLegendForeign, {\n x: 0,\n y: 0,\n width: t.svgWidth,\n height: t.svgHeight\n }), this.w.dom.elLegendWrap = N.createElementNS(\n \"http://www.w3.org/1999/xhtml\",\n \"div\"\n ), this.w.dom.elLegendWrap.classList.add(\"apexcharts-legend\"), this.w.dom.elWrap.appendChild(this.w.dom.elLegendWrap), this.w.dom.Paper.node.appendChild(this.w.dom.elLegendForeign), e.chart.accessibility.enabled) {\n const r = this.getAccessibleChartLabel(), n = e.chart.accessibility.keyboard.enabled && e.chart.accessibility.keyboard.navigation.enabled ? \"application\" : \"img\";\n this.w.dom.Paper.attr({\n role: n,\n \"aria-label\": r\n });\n const l = N.createElementNS(G, \"title\");\n if (l.textContent = e.title.text || \"Chart\", this.w.dom.Paper.node.insertBefore(\n l,\n this.w.dom.elLegendForeign.nextSibling\n ), e.chart.accessibility.description) {\n const c = N.createElementNS(G, \"desc\");\n c.textContent = e.chart.accessibility.description, this.w.dom.Paper.node.insertBefore(c, l.nextSibling);\n }\n }\n this.w.dom.elGraphical = this.w.dom.Paper.group().attr({\n class: \"apexcharts-inner apexcharts-graphical\"\n }), this.w.dom.elDefs = this.w.dom.Paper.defs(), this.w.dom.Paper.add(this.w.dom.elGraphical), this.w.dom.elGraphical.add(this.w.dom.elDefs);\n }\n plotChartType(t, e) {\n const { w: s, ctx: i } = this, { config: a, globals: o } = s, r = {\n line: { series: [], i: [] },\n area: { series: [], i: [] },\n scatter: { series: [], i: [] },\n bubble: { series: [], i: [] },\n bar: { series: [], i: [] },\n candlestick: { series: [], i: [] },\n boxPlot: { series: [], i: [] },\n rangeBar: { series: [], i: [] },\n rangeArea: { series: [], seriesRangeEnd: [], i: [] }\n }, n = a.chart.type || \"line\";\n let l = null, c = 0;\n this.w.seriesData.series.forEach((u, y) => {\n var b, w;\n const v = ((b = t[y]) == null ? void 0 : b.type) === \"column\" ? \"bar\" : ((w = t[y]) == null ? void 0 : w.type) || (n === \"column\" ? \"bar\" : n);\n r[v] ? (v === \"rangeArea\" ? (r[v].series.push(\n this.w.rangeData.seriesRangeStart[y]\n ), r[v].seriesRangeEnd.push(\n this.w.rangeData.seriesRangeEnd[y]\n )) : r[v].series.push(u), r[v].i.push(y), v === \"bar\" && (s.globals.columnSeries = r.bar)) : [\n \"heatmap\",\n \"treemap\",\n \"pie\",\n \"donut\",\n \"polarArea\",\n \"radialBar\",\n \"radar\"\n ].includes(v) ? l = v : console.warn(\n `You have specified an unrecognized series type (${v}).`\n ), n !== v && v !== \"scatter\" && c++;\n }), c > 0 && (l && console.warn(\n `Chart or series type ${l} cannot appear with other chart or series types.`\n ), r.bar.series.length > 0 && a.plotOptions.bar.horizontal && (c -= r.bar.series.length, r.bar = { series: [], i: [] }, s.globals.columnSeries = { series: [], i: [] }, console.warn(\n \"Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`\"\n ))), o.comboCharts || (o.comboCharts = c > 0);\n const d = r.line.series.length > 0 || r.area.series.length > 0 || r.scatter.series.length > 0 || r.bubble.series.length > 0 || r.rangeArea.series.length > 0 || !o.comboCharts && [\"line\", \"area\", \"scatter\", \"bubble\", \"rangeArea\"].includes(\n a.chart.type\n ) ? new (Q(\"line\"))(i.w, i, e) : null, g = r.candlestick.series.length > 0 || r.boxPlot.series.length > 0 || !o.comboCharts && [\"candlestick\", \"boxPlot\"].includes(a.chart.type) ? new (Q(\"candlestick\"))(i.w, i, e) : null, f = !o.comboCharts && [\"pie\", \"donut\", \"polarArea\"].includes(a.chart.type);\n i.pie = f ? new (Q(\"pie\"))(i.w, i) : null;\n const x = r.rangeBar.series.length > 0 || !o.comboCharts && a.chart.type === \"rangeBar\";\n i.rangeBar = x ? new (Q(\"rangeBar\"))(i.w, i, e) : null;\n let m = [];\n if (o.comboCharts) {\n const u = new V(this.w);\n if (r.area.series.length > 0 && m.push(\n ...u.drawSeriesByGroup(\n r.area,\n o.areaGroups,\n \"area\",\n d\n )\n ), r.bar.series.length > 0)\n if (a.chart.stacked) {\n const y = new (Q(\"barStacked\"))(i.w, i, e);\n m.push(\n y.draw(r.bar.series, r.bar.i)\n );\n } else\n i.bar = new (Q(\"bar\"))(i.w, i, e), m.push(i.bar.draw(r.bar.series, r.bar.i));\n if (r.rangeArea.series.length > 0 && m.push(\n d.draw(\n r.rangeArea.series,\n \"rangeArea\",\n r.rangeArea.i,\n r.rangeArea.seriesRangeEnd\n )\n ), r.line.series.length > 0 && m.push(\n ...u.drawSeriesByGroup(\n r.line,\n o.lineGroups,\n \"line\",\n d\n )\n ), r.candlestick.series.length > 0 && m.push(\n g.draw(\n r.candlestick.series,\n \"candlestick\",\n r.candlestick.i\n )\n ), r.boxPlot.series.length > 0 && m.push(\n g.draw(\n r.boxPlot.series,\n \"boxPlot\",\n r.boxPlot.i\n )\n ), r.rangeBar.series.length > 0 && m.push(\n i.rangeBar.draw(\n r.rangeBar.series,\n r.rangeBar.i\n )\n ), r.scatter.series.length > 0) {\n const y = new (Q(\"line\"))(i.w, i, e, !0);\n m.push(\n y.draw(\n r.scatter.series,\n \"scatter\",\n r.scatter.i\n )\n );\n }\n if (r.bubble.series.length > 0) {\n const y = new (Q(\"line\"))(i.w, i, e, !0);\n m.push(\n y.draw(\n r.bubble.series,\n \"bubble\",\n r.bubble.i\n )\n );\n }\n } else {\n const u = a.chart.type;\n switch (u) {\n case \"line\":\n m = d.draw(this.w.seriesData.series, \"line\");\n break;\n case \"area\":\n m = d.draw(this.w.seriesData.series, \"area\");\n break;\n case \"bar\":\n a.chart.stacked ? m = new (Q(\"barStacked\"))(i.w, i, e).draw(this.w.seriesData.series) : (i.bar = new (Q(\"bar\"))(i.w, i, e), m = i.bar.draw(this.w.seriesData.series));\n break;\n case \"candlestick\":\n m = g.draw(this.w.seriesData.series, \"candlestick\");\n break;\n case \"boxPlot\":\n m = g.draw(this.w.seriesData.series, u);\n break;\n case \"rangeBar\":\n m = i.rangeBar.draw(this.w.seriesData.series);\n break;\n case \"rangeArea\":\n m = d.draw(\n this.w.rangeData.seriesRangeStart,\n \"rangeArea\",\n void 0,\n this.w.rangeData.seriesRangeEnd\n );\n break;\n case \"heatmap\": {\n m = new (Q(\"heatmap\"))(i.w, i, e).draw(this.w.seriesData.series);\n break;\n }\n case \"treemap\": {\n m = new (Q(\"treemap\"))(i.w, i).draw(this.w.seriesData.series);\n break;\n }\n case \"pie\":\n case \"donut\":\n case \"polarArea\":\n m = i.pie.draw(this.w.seriesData.series);\n break;\n case \"radialBar\": {\n m = new (Q(\"radialBar\"))(i.w, i).draw(this.w.seriesData.series);\n break;\n }\n case \"radar\": {\n m = new (Q(\"radar\"))(i.w, i).draw(this.w.seriesData.series);\n break;\n }\n default:\n m = d.draw(this.w.seriesData.series);\n }\n }\n return m;\n }\n setSVGDimensions() {\n const { globals: t, config: e } = this.w;\n e.chart.width = e.chart.width || \"100%\", e.chart.height = e.chart.height || \"auto\", t.svgWidth = e.chart.width, t.svgHeight = e.chart.height;\n let s = L.getDimensions(this.el);\n const i = e.chart.width.toString().split(/[0-9]+/g).pop();\n i === \"%\" ? L.isNumber(s[0]) && (s[0].width === 0 && (s = L.getDimensions(this.el.parentNode)), t.svgWidth = s[0] * parseInt(e.chart.width, 10) / 100) : (i === \"px\" || i === \"\") && (t.svgWidth = parseInt(e.chart.width, 10));\n const a = String(e.chart.height).toString().split(/[0-9]+/g).pop();\n if (t.svgHeight !== \"auto\" && t.svgHeight !== \"\")\n if (a === \"%\") {\n const o = L.getDimensions(this.el.parentNode);\n t.svgHeight = o[1] * parseInt(e.chart.height, 10) / 100;\n } else\n t.svgHeight = parseInt(e.chart.height, 10);\n else\n t.svgHeight = t.axisCharts ? t.svgWidth / 1.61 : t.svgWidth / 1.2;\n if (t.svgWidth = Math.max(t.svgWidth, 0), t.svgHeight = Math.max(t.svgHeight, 0), P.setAttrs(this.w.dom.Paper.node, {\n width: t.svgWidth,\n height: t.svgHeight\n }), a !== \"%\" && B.isBrowser()) {\n const o = e.chart.sparkline.enabled ? 0 : t.axisCharts ? e.chart.parentHeightOffset : 0;\n this.w.dom.Paper.node.parentNode.parentNode.style.minHeight = `${t.svgHeight + o}px`;\n }\n this.w.dom.elWrap.style.width = `${t.svgWidth}px`, this.w.dom.elWrap.style.height = `${t.svgHeight}px`;\n }\n shiftGraphPosition() {\n const { globals: t } = this.w, { translateY: e, translateX: s } = t;\n P.setAttrs(this.w.dom.elGraphical.node, {\n transform: `translate(${s}, ${e})`\n });\n }\n resizeNonAxisCharts() {\n var t, e;\n const { w: s } = this;\n let i = 0, a = s.config.chart.sparkline.enabled ? 1 : 15;\n a += s.config.grid.padding.bottom, [\"top\", \"bottom\"].includes(s.config.legend.position) && s.config.legend.show && !s.config.legend.floating && (i = ((e = (t = this.ctx.legend) == null ? void 0 : t.legendHelpers.getLegendDimensions().clwh) != null ? e : 0) + 7);\n const o = s.dom.baseEl.querySelector(\n \".apexcharts-radialbar, .apexcharts-pie\"\n );\n let r = s.globals.radialSize * 2.05;\n if (o && !s.config.chart.sparkline.enabled && s.config.plotOptions.radialBar.startAngle !== 0) {\n const l = L.getBoundingClientRect(o);\n r = l.bottom;\n const c = l.bottom - l.top;\n r = Math.max(s.globals.radialSize * 2.05, c);\n }\n const n = Math.ceil(\n r + this.w.layout.translateY + i + a\n );\n this.w.dom.elLegendForeign && this.w.dom.elLegendForeign.setAttribute(\"height\", n), !(s.config.chart.height && String(s.config.chart.height).includes(\"%\")) && (this.w.dom.elWrap.style.height = `${n}px`, P.setAttrs(this.w.dom.Paper.node, { height: n }), B.isBrowser() && (this.w.dom.Paper.node.parentNode.parentNode.style.minHeight = `${n}px`));\n }\n coreCalculations() {\n new It(this.w).init();\n }\n resetGlobals() {\n const t = () => this.w.config.series.map(() => []), e = new de(), { globals: s } = this.w, i = {\n dataWasParsed: this.w.axisFlags.dataWasParsed,\n originalSeries: s.originalSeries\n };\n e.initGlobalVars(s), s.seriesXvalues = t(), s.seriesYvalues = t(), i.dataWasParsed && (this.w.axisFlags.dataWasParsed = i.dataWasParsed, s.originalSeries = i.originalSeries);\n }\n isMultipleY() {\n return Array.isArray(this.w.config.yaxis) && this.w.config.yaxis.length > 1 ? (this.w.globals.isMultipleYAxis = !0, !0) : !1;\n }\n xySettings() {\n const { w: t } = this;\n let e = null;\n if (t.globals.axisCharts) {\n if (t.config.xaxis.crosshairs.position === \"back\" && new Bt(this.w).drawXCrosshairs(), t.config.yaxis[0].crosshairs.position === \"back\" && new Bt(this.w).drawYCrosshairs(), t.config.xaxis.type === \"datetime\" && t.config.xaxis.labels.formatter === void 0) {\n this.ctx.timeScale = new je(this.w, this.ctx);\n let i = [];\n isFinite(t.globals.minX) && isFinite(t.globals.maxX) && !t.globals.isBarHorizontal ? i = this.ctx.timeScale.calculateTimeScaleTicks(\n t.globals.minX,\n t.globals.maxX\n ) : t.globals.isBarHorizontal && (i = this.ctx.timeScale.calculateTimeScaleTicks(\n t.globals.minY,\n t.globals.maxY\n )), this.ctx.timeScale.recalcDimensionsBasedOnFormat(i);\n }\n e = new V(this.w).getCalculatedRatios();\n }\n return e;\n }\n updateSourceChart(t) {\n this.ctx.w.interact.selection = void 0, this.ctx.updateHelpers._updateOptions(\n {\n chart: {\n selection: {\n xaxis: {\n min: t.w.globals.minX,\n max: t.w.globals.maxX\n }\n }\n }\n },\n !1,\n !1\n );\n }\n setupBrushHandler() {\n const { ctx: t, w: e } = this;\n if (e.config.chart.brush.enabled && typeof e.config.chart.events.selection != \"function\") {\n const s = Array.isArray(e.config.chart.brush.targets) ? e.config.chart.brush.targets : [e.config.chart.brush.target];\n s.forEach((i) => {\n const a = t.constructor.getChartByID(i);\n a.w.globals.brushSource = this.ctx, typeof a.w.config.chart.events.zoomed != \"function\" && (a.w.config.chart.events.zoomed = () => this.updateSourceChart(a)), typeof a.w.config.chart.events.scrolled != \"function\" && (a.w.config.chart.events.scrolled = () => this.updateSourceChart(a));\n }), e.config.chart.events.selection = (i, a) => {\n s.forEach((o) => {\n t.constructor.getChartByID(o).ctx.updateHelpers._updateOptions(\n {\n xaxis: {\n min: a.xaxis.min,\n max: a.xaxis.max\n }\n },\n !1,\n !1,\n !1,\n !1\n );\n });\n };\n }\n }\n getAccessibleChartLabel() {\n const t = this.w, e = t.config;\n let s = \"\";\n if (e.chart.accessibility && e.chart.accessibility.description)\n s = e.chart.accessibility.description;\n else if (e.title.text) {\n const i = e.chart.type;\n s = `${e.title.text}. ${i} chart`, e.subtitle.text && (s += `. ${e.subtitle.text}`);\n } else {\n const i = e.chart.type, a = t.seriesData.series.length || (e.series ? e.series.length : 0);\n s = `${i} chart with ${a} data series`;\n }\n return s;\n }\n}\nclass Wt {\n constructor(t, { resetGlobals: e = () => {\n }, isMultipleY: s = () => {\n } } = {}) {\n this.w = t, this.resetGlobals = e, this.isMultipleY = s, this.twoDSeries = [], this.threeDSeries = [], this.twoDSeriesX = [], this.seriesGoals = [], this.coreUtils = new V(this.w);\n }\n // Helper to get the first valid data point from the active series\n getFirstDataPoint() {\n const t = this.w.config.series, e = new U(this.w);\n return this.activeSeriesIndex = e.getActiveConfigSeriesIndex(), t[this.activeSeriesIndex] && t[this.activeSeriesIndex].data && t[this.activeSeriesIndex].data.length > 0 && t[this.activeSeriesIndex].data[0] !== null && typeof t[this.activeSeriesIndex].data[0] < \"u\" ? t[this.activeSeriesIndex].data[0] : null;\n }\n isMultiFormat() {\n return this.isFormatXY() || this.isFormat2DArray();\n }\n // given format is [{x, y}, {x, y}]\n isFormatXY() {\n const t = this.getFirstDataPoint();\n return t && typeof t.x < \"u\";\n }\n // given format is [[x, y], [x, y]]\n isFormat2DArray() {\n const t = this.getFirstDataPoint();\n return t && Array.isArray(t);\n }\n handleFormat2DArray(t, e) {\n const s = this.w.config, i = t[e].data, a = s.chart.type === \"boxPlot\" || s.series[e].type === \"boxPlot\";\n for (let o = 0; o < i.length; o++) {\n const r = i[o], n = r[0], l = r[1], c = r[2];\n if (typeof l < \"u\" && (Array.isArray(l) && l.length === 4 && !a ? this.twoDSeries.push(L.parseNumber(l[3])) : r.length >= 5 ? this.twoDSeries.push(L.parseNumber(r[4])) : this.twoDSeries.push(L.parseNumber(l)), this.w.axisFlags.dataFormatXNumeric = !0), s.xaxis.type === \"datetime\") {\n let h = new Date(n);\n h = h.getTime(), this.twoDSeriesX.push(h);\n } else\n this.twoDSeriesX.push(n);\n typeof c < \"u\" && (this.threeDSeries.push(c), this.w.axisFlags.isDataXYZ = !0);\n }\n }\n handleFormatXY(t, e) {\n const s = this.w.config, i = this.w.globals, a = new q(this.w), o = t[e].data;\n let r = e;\n i.collapsedSeriesIndices.indexOf(e) > -1 && (r = this.activeSeriesIndex);\n const n = t[r].data;\n for (let l = 0; l < o.length; l++) {\n const c = o[l];\n if (typeof c.y < \"u\") {\n const h = Array.isArray(c.y) ? L.parseNumber(c.y[c.y.length - 1]) : L.parseNumber(c.y);\n this.twoDSeries.push(h);\n }\n typeof this.seriesGoals[e] > \"u\" && (this.seriesGoals[e] = []), typeof c.goals < \"u\" && Array.isArray(c.goals) ? this.seriesGoals[e].push(c.goals) : this.seriesGoals[e].push(null), typeof c.z < \"u\" && (this.threeDSeries.push(c.z), this.w.axisFlags.isDataXYZ = !0);\n }\n for (let l = 0; l < n.length; l++) {\n const h = n[l].x, d = typeof h == \"string\", p = Array.isArray(h), g = !p && !!a.isValidDate(h);\n if (d || g)\n if (d || s.xaxis.convertedCatToNumeric) {\n const f = i.isBarHorizontal && this.w.axisFlags.isRangeData;\n s.xaxis.type === \"datetime\" && !f ? this.twoDSeriesX.push(a.parseDate(h)) : (this.fallbackToCategory = !0, this.twoDSeriesX.push(h), !isNaN(h) && this.w.config.xaxis.type !== \"category\" && typeof h != \"string\" && (this.w.axisFlags.isXNumeric = !0));\n } else\n s.xaxis.type === \"datetime\" ? this.twoDSeriesX.push(a.parseDate(h.toString())) : (this.w.axisFlags.dataFormatXNumeric = !0, this.w.axisFlags.isXNumeric = !0, this.twoDSeriesX.push(parseFloat(h)));\n else\n p ? (this.fallbackToCategory = !0, this.twoDSeriesX.push(h)) : (this.w.axisFlags.isXNumeric = !0, this.w.axisFlags.dataFormatXNumeric = !0, this.twoDSeriesX.push(h));\n }\n }\n handleRangeData(t, e) {\n let s = {};\n return this.isFormat2DArray() ? s = this.handleRangeDataFormat(\"array\", t, e) : this.isFormatXY() && (s = this.handleRangeDataFormat(\"xy\", t, e)), this.w.rangeData.seriesRangeStart[e] = s.start === void 0 ? [] : s.start, this.w.rangeData.seriesRangeEnd[e] = s.end === void 0 ? [] : s.end, this.w.rangeData.seriesRange[e] = s.rangeUniques, this.w.rangeData.seriesRange.forEach((i) => {\n i && i.forEach((a) => {\n const o = a.y, r = o.length;\n if (!(r <= 1))\n for (let n = 0; n < r; n++) {\n const l = o[n], c = l.y1, h = l.y2;\n for (let d = n + 1; d < r; d++) {\n const p = o[d], g = p.y1, f = p.y2;\n c <= f && g <= h && (a.overlaps.indexOf(l.rangeName) < 0 && a.overlaps.push(l.rangeName), a.overlaps.indexOf(p.rangeName) < 0 && a.overlaps.push(p.rangeName));\n }\n }\n });\n }), s;\n }\n handleCandleStickBoxData(t, e) {\n let s = {};\n return this.isFormat2DArray() ? s = this.handleCandleStickBoxDataFormat(\"array\", t, e) : this.isFormatXY() && (s = this.handleCandleStickBoxDataFormat(\"xy\", t, e)), this.w.candleData.seriesCandleO[e] = s.o, this.w.candleData.seriesCandleH[e] = s.h, this.w.candleData.seriesCandleM[e] = s.m, this.w.candleData.seriesCandleL[e] = s.l, this.w.candleData.seriesCandleC[e] = s.c, s;\n }\n handleRangeDataFormat(t, e, s) {\n const i = [], a = [], o = /* @__PURE__ */ new Map(), r = [];\n if (e[s].data.forEach((n) => {\n if (!o.has(n.x)) {\n const l = {\n x: n.x,\n overlaps: [],\n y: []\n };\n o.set(n.x, l), r.push(l);\n }\n }), t === \"array\")\n for (let n = 0; n < e[s].data.length; n++)\n Array.isArray(e[s].data[n]) ? (i.push(e[s].data[n][1][0]), a.push(e[s].data[n][1][1])) : (i.push(e[s].data[n]), a.push(e[s].data[n]));\n else if (t === \"xy\")\n for (let n = 0; n < e[s].data.length; n++) {\n const l = Array.isArray(e[s].data[n].y), c = L.randomId(), h = e[s].data[n].x, d = {\n y1: l ? e[s].data[n].y[0] : e[s].data[n].y,\n y2: l ? e[s].data[n].y[1] : e[s].data[n].y,\n rangeName: c\n };\n e[s].data[n].rangeName = c;\n const p = o.get(h);\n p && p.y.push(d), i.push(d.y1), a.push(d.y2);\n }\n return {\n start: i,\n end: a,\n rangeUniques: r\n };\n }\n handleCandleStickBoxDataFormat(t, e, s) {\n const i = this.w, a = i.config.chart.type === \"boxPlot\" || i.config.series[s].type === \"boxPlot\", o = [], r = [], n = [], l = [], c = [], h = e[s].data;\n let d;\n t === \"array\" ? a && h[0].length === 6 || !a && h[0].length === 5 ? d = (g) => g.slice(1) : d = (g) => Array.isArray(g[1]) ? g[1] : [] : d = (p) => Array.isArray(p.y) ? p.y : [];\n for (let p = 0; p < h.length; p++) {\n const g = d(h[p]);\n g && g.length >= 2 && (o.push(g[0]), r.push(g[1]), a ? (n.push(g[2]), l.push(g[3]), c.push(g[4])) : (l.push(g[2]), c.push(g[3])));\n }\n return {\n o,\n h: r,\n m: n,\n l,\n c\n };\n }\n parseDataAxisCharts(t) {\n const e = this.w.config, s = this.w.globals, i = new q(this.w), a = e.labels.length > 0 ? e.labels.slice() : e.xaxis.categories.slice();\n this.w.axisFlags.isRangeBar = e.chart.type === \"rangeBar\" && s.isBarHorizontal, this.w.labelData.hasXaxisGroups = e.xaxis.type === \"category\" && e.xaxis.group.groups.length > 0, this.w.labelData.hasXaxisGroups && (this.w.labelData.groups = e.xaxis.group.groups), t.forEach((l, c) => {\n l.name !== void 0 ? this.w.seriesData.seriesNames.push(l.name) : this.w.seriesData.seriesNames.push(\"series-\" + parseInt(c + 1, 10));\n }), this.coreUtils.setSeriesYAxisMappings();\n const o = [], r = [...new Set(e.series.map((l) => l.group))];\n e.series.forEach((l, c) => {\n const h = r.indexOf(l.group);\n o[h] || (o[h] = []), o[h].push(this.w.seriesData.seriesNames[c]);\n }), this.w.labelData.seriesGroups = o;\n const n = () => {\n for (let l = 0; l < a.length; l++)\n if (typeof a[l] == \"string\")\n if (i.isValidDate(a[l]))\n this.twoDSeriesX.push(i.parseDate(a[l]));\n else\n throw new Error(\n \"You have provided invalid Date format. Please provide a valid JavaScript Date\"\n );\n else\n this.twoDSeriesX.push(a[l]);\n };\n for (let l = 0; l < t.length; l++) {\n if (this.twoDSeries = [], this.twoDSeriesX = [], this.threeDSeries = [], typeof t[l].data > \"u\") {\n console.error(\n \"It is a possibility that you may have not included 'data' property in series.\"\n );\n return;\n }\n if ((e.chart.type === \"rangeBar\" || e.chart.type === \"rangeArea\" || t[l].type === \"rangeBar\" || t[l].type === \"rangeArea\") && (this.w.axisFlags.isRangeData = !0, this.handleRangeData(t, l)), this.isMultiFormat())\n this.isFormat2DArray() ? this.handleFormat2DArray(t, l) : this.isFormatXY() && this.handleFormatXY(t, l), (e.chart.type === \"candlestick\" || t[l].type === \"candlestick\" || e.chart.type === \"boxPlot\" || t[l].type === \"boxPlot\") && this.handleCandleStickBoxData(t, l), this.w.seriesData.series.push(this.twoDSeries), this.w.labelData.labels.push(this.twoDSeriesX), this.w.seriesData.seriesX.push(this.twoDSeriesX), this.w.seriesData.seriesGoals = this.seriesGoals, l === this.activeSeriesIndex && !this.fallbackToCategory && (this.w.axisFlags.isXNumeric = !0);\n else {\n e.xaxis.type === \"datetime\" ? (this.w.axisFlags.isXNumeric = !0, n(), this.w.seriesData.seriesX.push(this.twoDSeriesX)) : e.xaxis.type === \"numeric\" && (this.w.axisFlags.isXNumeric = !0, a.length > 0 && (this.twoDSeriesX = a, this.w.seriesData.seriesX.push(this.twoDSeriesX))), this.w.labelData.labels.push(this.twoDSeriesX);\n const c = t[l].data.map((h) => L.parseNumber(h));\n this.w.seriesData.series.push(c);\n }\n this.w.seriesData.seriesZ.push(this.threeDSeries), t[l].color !== void 0 ? this.w.seriesData.seriesColors.push(t[l].color) : this.w.seriesData.seriesColors.push(void 0);\n }\n return this.w;\n }\n parseDataNonAxisCharts(t) {\n const e = this.w.config, s = Array.isArray(t) && t.every((o) => typeof o == \"number\") && e.labels.length > 0, i = Array.isArray(t) && t.some(\n (o) => o && typeof o == \"object\" && o.data || o && typeof o == \"object\" && o.parsing\n );\n if (s && i && console.warn(\n \"ApexCharts: Both old format (numeric series + labels) and new format (series objects with data/parsing) detected. Using old format for backward compatibility.\"\n ), s) {\n this.w.seriesData.series = t.slice(), this.w.seriesData.seriesNames = e.labels.slice();\n for (let o = 0; o < this.w.seriesData.series.length; o++)\n this.w.seriesData.seriesNames[o] === void 0 && this.w.seriesData.seriesNames.push(\"series-\" + (o + 1));\n return this.w;\n }\n if (Array.isArray(t) && t.every((o) => typeof o == \"number\")) {\n this.w.seriesData.series = t.slice(), this.w.seriesData.seriesNames = [];\n for (let o = 0; o < this.w.seriesData.series.length; o++)\n this.w.seriesData.seriesNames.push(e.labels[o] || `series-${o + 1}`);\n return this.w;\n }\n const a = this.extractPieDataFromSeries(t);\n this.w.seriesData.series = a.values, this.w.seriesData.seriesNames = a.labels, e.chart.type === \"radialBar\" && (this.w.seriesData.series = this.w.seriesData.series.map((o) => {\n const r = L.parseNumber(o);\n return r > 100 && console.warn(\n `ApexCharts: RadialBar value ${r} > 100, consider using percentage values (0-100)`\n ), r;\n }));\n for (let o = 0; o < this.w.seriesData.series.length; o++)\n this.w.seriesData.seriesNames[o] === void 0 && this.w.seriesData.seriesNames.push(\"series-\" + (o + 1));\n return this.w;\n }\n /**\n * Reset parsing flags to allow re-parsing of data during updates\n */\n resetParsingFlags() {\n const t = this.w;\n t.axisFlags.dataWasParsed = !1, t.globals.originalSeries = null, t.config.series && t.config.series.forEach((e) => {\n e.__apexParsed && delete e.__apexParsed;\n });\n }\n extractPieDataFromSeries(t) {\n const e = [], s = [];\n if (!Array.isArray(t))\n return console.warn(\"ApexCharts: Expected array for series data\"), { values: [], labels: [] };\n if (t.length === 0)\n return console.warn(\"ApexCharts: Empty series array\"), { values: [], labels: [] };\n const i = t[0];\n if (typeof i == \"object\" && i !== null && i.data)\n this.extractPieDataFromSeriesObjects(t, e, s);\n else\n return console.warn(\n \"ApexCharts: Unsupported series format for pie/donut/radialBar. Expected series objects with data property.\"\n ), { values: [], labels: [] };\n return { values: e, labels: s };\n }\n // Extract data from series objects: [{ data: [...], parsing: {...} }]\n extractPieDataFromSeriesObjects(t, e, s) {\n t.forEach((i, a) => {\n if (!i.data || !Array.isArray(i.data)) {\n console.warn(`ApexCharts: Series ${a} has no valid data array`);\n return;\n }\n i.data.forEach((o) => {\n typeof o == \"object\" && o !== null ? o.x !== void 0 && o.y !== void 0 ? (s.push(String(o.x)), e.push(L.parseNumber(o.y))) : console.warn(\n \"ApexCharts: Invalid data point format for pie chart. Expected {x, y} format:\",\n o\n ) : console.warn(\n \"ApexCharts: Expected object data point, got:\",\n typeof o\n );\n });\n });\n }\n /** User possibly set string categories in xaxis.categories or labels prop\n * Or didn't set xaxis labels at all - in which case we manually do it.\n * If user passed series data as [[3, 2], [4, 5]] or [{ x: 3, y: 55 }],\n * this shouldn't be called\n * @param {array} ser - the series which user passed to the config\n */\n handleExternalLabelsData(t) {\n const e = this.w.config;\n e.xaxis.categories.length > 0 ? this.w.labelData.labels = e.xaxis.categories : e.labels.length > 0 ? this.w.labelData.labels = e.labels.slice() : this.fallbackToCategory ? (this.w.labelData.labels = this.w.labelData.labels[0], this.w.rangeData.seriesRange.length && (this.w.rangeData.seriesRange.map((s) => {\n s.forEach((i) => {\n this.w.labelData.labels.indexOf(i.x) < 0 && i.x && this.w.labelData.labels.push(i.x);\n });\n }), this.w.labelData.labels = Array.from(\n new Set(this.w.labelData.labels.map(JSON.stringify)),\n JSON.parse\n )), e.xaxis.convertedCatToNumeric && (new bt(e).convertCatToNumericXaxis(e, this.w.seriesData.seriesX[0]), this._generateExternalLabels(t))) : this._generateExternalLabels(t);\n }\n _generateExternalLabels(t) {\n const e = this.w.globals, s = this.w.config;\n let i = [];\n if (e.axisCharts) {\n if (this.w.seriesData.series.length > 0)\n if (this.isFormatXY()) {\n const a = s.series.map((r) => r.data.filter(\n (n, l, c) => c.findIndex((h) => h.x === n.x) === l\n )), o = a.reduce(\n (r, n, l, c) => c[r].length > n.length ? r : l,\n 0\n );\n for (let r = 0; r < a[o].length; r++)\n i.push(r + 1);\n } else\n for (let a = 0; a < this.w.seriesData.series[e.maxValsInArrayIndex].length; a++)\n i.push(a + 1);\n this.w.seriesData.seriesX = [];\n for (let a = 0; a < t.length; a++)\n this.w.seriesData.seriesX.push(i);\n this.w.globals.isBarHorizontal || (this.w.axisFlags.isXNumeric = !0);\n }\n if (i.length === 0) {\n i = e.axisCharts ? [] : this.w.seriesData.series.map((a, o) => o + 1);\n for (let a = 0; a < t.length; a++)\n this.w.seriesData.seriesX.push(i);\n }\n this.w.labelData.labels = i, s.xaxis.convertedCatToNumeric && (this.w.labelData.categoryLabels = i.map((a) => s.xaxis.labels.formatter(a))), this.w.axisFlags.noLabelsProvided = !0;\n }\n parseRawDataIfNeeded(t) {\n const e = this.w.config, s = this.w.globals, i = e.parsing;\n if (this.w.axisFlags.dataWasParsed || !i && !t.some((o) => o.parsing))\n return t;\n const a = t.map((o, r) => {\n var n, l, c;\n if (!o.data || !Array.isArray(o.data) || o.data.length === 0)\n return o;\n const h = {\n x: ((n = o.parsing) == null ? void 0 : n.x) || (i == null ? void 0 : i.x),\n y: ((l = o.parsing) == null ? void 0 : l.y) || (i == null ? void 0 : i.y),\n z: ((c = o.parsing) == null ? void 0 : c.z) || (i == null ? void 0 : i.z)\n };\n if (!h.x && !h.y)\n return o;\n const d = o.data[0];\n if (typeof d == \"object\" && d !== null && (Object.prototype.hasOwnProperty.call(d, \"x\") || Object.prototype.hasOwnProperty.call(d, \"y\")) || Array.isArray(d))\n return o;\n if (!h.x || !h.y || Array.isArray(h.y) && h.y.length === 0)\n return console.warn(\n `ApexCharts: Series ${r} has parsing config but missing x or y field specification`\n ), o;\n const p = o.data.map((g, f) => {\n if (typeof g != \"object\" || g === null)\n return console.warn(\n `ApexCharts: Series ${r}, data point ${f} is not an object, skipping parsing`\n ), g;\n const x = this.getNestedValue(g, h.x);\n let m, u;\n if (Array.isArray(h.y)) {\n const b = h.y.map(\n (w) => this.getNestedValue(g, w)\n );\n this.w.config.chart.type === \"bubble\" && b.length === 2 ? m = b[0] : m = b;\n } else\n m = this.getNestedValue(g, h.y);\n h.z && (u = this.getNestedValue(g, h.z)), x === void 0 && console.warn(\n `ApexCharts: Series ${r}, data point ${f} missing field '${h.x}'`\n ), m === void 0 && console.warn(\n `ApexCharts: Series ${r}, data point ${f} missing field '${h.y}'`\n );\n const y = { x, y: m };\n if (this.w.config.chart.type === \"bubble\" && Array.isArray(h.y) && h.y.length === 2) {\n const b = this.getNestedValue(g, h.y[1]);\n b !== void 0 && (y.z = b);\n }\n return u !== void 0 && (y.z = u), y;\n });\n return O(I({}, o), {\n data: p,\n __apexParsed: !0\n });\n });\n return this.w.axisFlags.dataWasParsed = !0, s.originalSeries || (s.originalSeries = L.clone(t)), a;\n }\n /**\n * Get nested object value using dot notation path\n * @param {Object} obj - The object to search in\n * @param {string} path - Dot notation path (e.g., 'user.profile.name')\n * @returns {*} The value at the path, or undefined if not found\n */\n getNestedValue(t, e) {\n if (!t || typeof t != \"object\" || !e)\n return;\n if (e.indexOf(\".\") === -1)\n return t[e];\n const s = e.split(\".\");\n let i = t;\n for (let a = 0; a < s.length; a++) {\n if (i == null || typeof i != \"object\")\n return;\n i = i[s[a]];\n }\n return i;\n }\n // Segregate user provided data into appropriate vars\n parseData(t) {\n const e = this.w, s = e.config, i = e.globals;\n if (t = this.parseRawDataIfNeeded(t), s.series = t, i.initialSeries = L.clone(t), this.excludeCollapsedSeriesInYAxis(), this.fallbackToCategory = !1, this.resetGlobals(), this.isMultipleY(), i.axisCharts ? (this.parseDataAxisCharts(t), this.coreUtils.getLargestSeries()) : this.parseDataNonAxisCharts(t), s.chart.stacked) {\n const o = new U(this.w);\n this.w.seriesData.series = o.setNullSeriesToZeroValues(\n this.w.seriesData.series\n );\n }\n this.coreUtils.getSeriesTotals(), i.axisCharts && (this.w.seriesData.stackedSeriesTotals = this.coreUtils.getStackedSeriesTotals(), this.w.seriesData.stackedSeriesTotalsByGroups = this.coreUtils.getStackedSeriesTotalsByGroups()), this.coreUtils.getPercentSeries(), !this.w.axisFlags.dataFormatXNumeric && (!this.w.axisFlags.isXNumeric || s.xaxis.type === \"numeric\" && s.labels.length === 0 && s.xaxis.categories.length === 0) && this.handleExternalLabelsData(t);\n const a = this.coreUtils.getCategoryLabels(this.w.labelData.labels);\n for (let o = 0; o < a.length; o++)\n if (Array.isArray(a[o])) {\n this.w.axisFlags.isMultiLineX = !0;\n break;\n }\n return {\n // w.seriesData (future slice)\n seriesData: {\n series: this.w.seriesData.series,\n seriesNames: this.w.seriesData.seriesNames,\n seriesX: this.w.seriesData.seriesX,\n seriesZ: this.w.seriesData.seriesZ,\n seriesColors: this.w.seriesData.seriesColors,\n seriesGoals: this.w.seriesData.seriesGoals,\n initialSeries: i.initialSeries,\n originalSeries: i.originalSeries,\n stackedSeriesTotals: this.w.seriesData.stackedSeriesTotals,\n stackedSeriesTotalsByGroups: this.w.seriesData.stackedSeriesTotalsByGroups,\n noLabelsProvided: this.w.axisFlags.noLabelsProvided\n },\n // w.rangeData (future slice)\n rangeData: {\n seriesRangeStart: this.w.rangeData.seriesRangeStart,\n seriesRangeEnd: this.w.rangeData.seriesRangeEnd,\n seriesRange: this.w.rangeData.seriesRange\n },\n // w.candleData (future slice)\n candleData: {\n seriesCandleO: this.w.candleData.seriesCandleO,\n seriesCandleH: this.w.candleData.seriesCandleH,\n seriesCandleM: this.w.candleData.seriesCandleM,\n seriesCandleL: this.w.candleData.seriesCandleL,\n seriesCandleC: this.w.candleData.seriesCandleC\n },\n // w.labelData (future slice)\n labelData: {\n labels: this.w.labelData.labels,\n categoryLabels: this.w.labelData.categoryLabels\n },\n // w.axisFlags (future slice)\n axisFlags: {\n isXNumeric: this.w.axisFlags.isXNumeric,\n dataFormatXNumeric: this.w.axisFlags.dataFormatXNumeric,\n isDataXYZ: this.w.axisFlags.isDataXYZ,\n isRangeData: this.w.axisFlags.isRangeData,\n isRangeBar: this.w.axisFlags.isRangeBar,\n isMultiLineX: this.w.axisFlags.isMultiLineX,\n dataWasParsed: this.w.axisFlags.dataWasParsed,\n hasXaxisGroups: this.w.labelData.hasXaxisGroups,\n groups: this.w.labelData.groups,\n seriesGroups: this.w.labelData.seriesGroups\n }\n };\n }\n excludeCollapsedSeriesInYAxis() {\n const t = this.w, e = [];\n t.globals.seriesYAxisMap.forEach((s, i) => {\n let a = 0;\n s.forEach((o) => {\n t.globals.collapsedSeriesIndices.indexOf(o) !== -1 && a++;\n }), a > 0 && a == s.length && e.push(i);\n }), t.globals.ignoreYAxisIndexes = e.map((s) => s);\n }\n}\nclass me {\n /**\n * Invalidate all caches\n * @param {Object} w - ApexCharts globals object\n */\n static invalidateAll(t) {\n !t || !t.globals || (t.globals.cachedSelectors && (t.globals.cachedSelectors = {}), t.globals.domCache && t.globals.domCache.clear(), t.globals.dimensionCache = {});\n }\n /**\n * Invalidate dimension cache only\n * @param {Object} w - ApexCharts globals object\n */\n static invalidateDimensions(t) {\n !t || !t.globals || (t.globals.dimensionCache = {});\n }\n /**\n * Invalidate selector cache only\n * @param {Object} w - ApexCharts globals object\n */\n static invalidateSelectors(t) {\n !t || !t.globals || t.globals.cachedSelectors && (t.globals.cachedSelectors = {});\n }\n /**\n * Get cached selector result or compute and cache it\n * @param {Object} w - ApexCharts globals object\n * @param {string} key - Cache key\n * @param {Function} queryFn - Function to execute if not cached\n * @returns {*} Cached or newly computed result\n */\n static getCachedSelector(t, e, s) {\n return !t || !t.globals ? s() : (t.globals.cachedSelectors || (t.globals.cachedSelectors = {}), t.globals.cachedSelectors[e] || (t.globals.cachedSelectors[e] = s()), t.globals.cachedSelectors[e]);\n }\n /**\n * Get cached dimension or compute and cache it\n * @param {Object} w - ApexCharts globals object\n * @param {string} key - Cache key\n * @param {Function} computeFn - Function to compute dimensions\n * @param {number} maxAge - Maximum cache age in milliseconds (default: 1000ms)\n * @returns {*} Cached or newly computed dimensions\n */\n static getCachedDimension(t, e, s, i = 1e3) {\n if (!t || !t.globals)\n return s();\n t.globals.dimensionCache || (t.globals.dimensionCache = {});\n const a = t.globals.dimensionCache[e], o = Date.now();\n if (a && a.lastUpdate && o - a.lastUpdate < i)\n return a.value;\n const r = s();\n return t.globals.dimensionCache[e] = {\n value: r,\n lastUpdate: o\n }, r;\n }\n /**\n * Cache a DOM element reference\n * @param {Object} w - ApexCharts globals object\n * @param {string} key - Cache key\n * @param {Element} element - DOM element to cache\n */\n static cacheDOMElement(t, e, s) {\n !t || !t.globals || (t.globals.domCache || (t.globals.domCache = /* @__PURE__ */ new Map()), t.globals.domCache.set(e, s));\n }\n /**\n * Get cached DOM element\n * @param {Object} w - ApexCharts globals object\n * @param {string} key - Cache key\n * @returns {Element|null} Cached element or null\n */\n static getCachedDOMElement(t, e) {\n return !t || !t.globals || !t.globals.domCache ? null : t.globals.domCache.get(e) || null;\n }\n}\nclass Qe {\n constructor(t, e) {\n this.w = t, this.ctx = e;\n }\n /**\n * private method to update Options.\n *\n * @param {object} options - A new config object can be passed which will be merged with the existing config object\n * @param {boolean} redraw - should redraw from beginning or should use existing paths and redraw from there\n * @param {boolean} animate - should animate or not on updating Options\n * @param {boolean} overwriteInitialConfig - should update the initial config or not\n */\n _updateOptions(t, e = !1, s = !0, i = !0, a = !1) {\n return new Promise((o) => {\n let r = [this.ctx];\n i && (r = this.ctx.getSyncedCharts()), this.w.globals.isExecCalled && (r = [this.ctx], this.w.globals.isExecCalled = !1), r.forEach((n, l) => {\n const c = n.w;\n if (c.globals.shouldAnimate = s, e || (c.globals.resized = !0, c.globals.dataChanged = !0, s && n.series.getPreviousPaths()), t && typeof t == \"object\" && (n.config = new yt(t), t = V.extendArrayProps(n.config, t, c), n.w.globals.chartID !== this.w.globals.chartID && delete t.series, c.config = L.extend(c.config, t), a && (c.globals.lastXAxis = t.xaxis ? L.clone(t.xaxis) : [], c.globals.lastYAxis = t.yaxis ? L.clone(t.yaxis) : [], c.globals.initialConfig = L.extend({}, c.config), c.globals.initialSeries = L.clone(c.config.series), t.series))) {\n for (let h = 0; h < c.globals.collapsedSeriesIndices.length; h++) {\n const d = c.config.series[c.globals.collapsedSeriesIndices[h]];\n c.globals.collapsedSeries[h].data = c.globals.axisCharts ? d.data.slice() : d;\n }\n for (let h = 0; h < c.globals.ancillaryCollapsedSeriesIndices.length; h++) {\n const d = c.config.series[c.globals.ancillaryCollapsedSeriesIndices[h]];\n c.globals.ancillaryCollapsedSeries[h].data = c.globals.axisCharts ? d.data.slice() : d;\n }\n n.series.emptyCollapsedSeries(c.config.series);\n }\n return n.update(t).then(() => {\n l === r.length - 1 && o(n);\n });\n });\n });\n }\n /**\n * Private method to update Series.\n *\n * @param {array} series - New series which will override the existing\n */\n _updateSeries(t, e, s = !1) {\n return new Promise((i) => {\n const a = this.w;\n a.globals.shouldAnimate = e, a.globals.dataChanged = !0, me.invalidateSelectors(a), e && this.ctx.series.getPreviousPaths(), this.ctx.data.resetParsingFlags();\n const o = this.ctx.data.parseData(t);\n return this.ctx._writeParsedSeriesData(o.seriesData), this.ctx._writeParsedRangeData(o.rangeData), this.ctx._writeParsedCandleData(o.candleData), this.ctx._writeParsedLabelData(o.labelData), this.ctx._writeParsedAxisFlags(o.axisFlags), s && (a.globals.initialConfig.series = L.clone(a.config.series), a.globals.initialSeries = L.clone(a.config.series)), this.ctx.update().then(() => {\n i(this.ctx);\n });\n });\n }\n _extendSeries(t, e) {\n const s = this.w, i = s.config.series[e];\n return O(I({}, s.config.series[e]), {\n name: t.name ? t.name : i == null ? void 0 : i.name,\n color: t.color ? t.color : i == null ? void 0 : i.color,\n type: t.type ? t.type : i == null ? void 0 : i.type,\n group: t.group ? t.group : i == null ? void 0 : i.group,\n hidden: typeof t.hidden < \"u\" ? t.hidden : i == null ? void 0 : i.hidden,\n data: t.data ? t.data : i == null ? void 0 : i.data,\n zIndex: typeof t.zIndex < \"u\" ? t.zIndex : e\n });\n }\n toggleDataPointSelection(t, e) {\n const s = this.w;\n let i = null;\n const a = `.apexcharts-series[data\\\\:realIndex='${t}']`;\n if (s.globals.axisCharts ? i = s.dom.Paper.findOne(\n `${a} path[j='${e}'], ${a} circle[j='${e}'], ${a} rect[j='${e}']`\n ) : typeof e > \"u\" && (i = s.dom.Paper.findOne(\n `${a} path[j='${t}']`\n ), (s.config.chart.type === \"pie\" || s.config.chart.type === \"polarArea\" || s.config.chart.type === \"donut\") && this.ctx.pie.pieClicked(t)), i)\n new P(this.w).pathMouseDown(i, null);\n else\n return console.warn(\"toggleDataPointSelection: Element not found\"), null;\n return i.node ? i.node : null;\n }\n forceXAxisUpdate(t) {\n const e = this.w;\n return [\"min\", \"max\"].forEach((i) => {\n typeof t.xaxis[i] < \"u\" && (e.config.xaxis[i] = t.xaxis[i], e.globals.lastXAxis[i] = t.xaxis[i]);\n }), t.xaxis.categories && t.xaxis.categories.length && (e.config.xaxis.categories = t.xaxis.categories), e.config.xaxis.convertedCatToNumeric && (t = new bt(t).convertCatToNumericXaxis(t, this.ctx)), t;\n }\n forceYAxisUpdate(t) {\n return t.chart && t.chart.stacked && t.chart.stackType === \"100%\" && (Array.isArray(t.yaxis) ? t.yaxis.forEach((e, s) => {\n t.yaxis[s].min = 0, t.yaxis[s].max = 100;\n }) : (t.yaxis.min = 0, t.yaxis.max = 100)), t;\n }\n /**\n * This function reverts the yaxis and xaxis min/max values to what it was when the chart was defined.\n * This function fixes an important bug where a user might load a new series after zooming in/out of previous series which resulted in wrong min/max\n * Also, this should never be called internally on zoom/pan - the reset should only happen when user calls the updateSeries() function externally\n * The function also accepts an object {xaxis, yaxis} which when present is set as the new xaxis/yaxis\n */\n revertDefaultAxisMinMax(t) {\n const e = this.w;\n let s = e.globals.lastXAxis, i = e.globals.lastYAxis;\n t && t.xaxis && (s = t.xaxis), t && t.yaxis && (i = t.yaxis), e.config.xaxis.min = s.min, e.config.xaxis.max = s.max;\n const a = (o) => {\n typeof i[o] < \"u\" && (e.config.yaxis[o].min = i[o].min, e.config.yaxis[o].max = i[o].max);\n };\n e.config.yaxis.map((o, r) => {\n e.interact.zoomed || typeof i[r] < \"u\" ? a(r) : typeof this.ctx.opts.yaxis[r] < \"u\" && (o.min = this.ctx.opts.yaxis[r].min, o.max = this.ctx.opts.yaxis[r].max);\n });\n }\n}\nclass be {\n constructor(t) {\n this.w = t.w, this.ttCtx = t;\n }\n /**\n ** When hovering over series, you need to capture which series is being hovered on.\n ** This function will return both capturedseries index as well as inner index of that series\n * @memberof Utils\n * @param {object}\n * - hoverArea = the rect on which user hovers\n * - elGrid = dimensions of the hover rect (it can be different than hoverarea)\n */\n getNearestValues({ hoverArea: t, elGrid: e, clientX: s, clientY: i }) {\n const a = this.w, o = e.getBoundingClientRect(), r = o.width, n = o.height;\n let l = r / (a.globals.dataPoints - 1);\n const c = n / a.globals.dataPoints, h = this.hasBars();\n (a.globals.comboCharts || h) && !a.config.xaxis.convertedCatToNumeric && (l = r / a.globals.dataPoints);\n const d = s - o.left - a.globals.barPadForNumericAxis, p = i - o.top;\n d < 0 || p < 0 || d > r || p > n ? (t.classList.remove(\"hovering-zoom\"), t.classList.remove(\"hovering-pan\")) : a.interact.zoomEnabled ? (t.classList.remove(\"hovering-pan\"), t.classList.add(\"hovering-zoom\")) : a.interact.panEnabled && (t.classList.remove(\"hovering-zoom\"), t.classList.add(\"hovering-pan\"));\n let f = Math.round(d / l);\n const x = Math.floor(p / c);\n h && !a.config.xaxis.convertedCatToNumeric && (f = Math.ceil(d / l), f = f - 1);\n let m = null, u = null, y = a.globals.seriesXvalues.map((w) => w.filter((v) => L.isNumber(v)));\n const b = a.globals.seriesYvalues.map((w) => w.filter((v) => L.isNumber(v)));\n if (a.axisFlags.isXNumeric) {\n const v = this.ttCtx.getElGrid().getBoundingClientRect(), C = d * (v.width / r), D = p * (v.height / n);\n u = this.closestInMultiArray(\n C,\n D,\n y,\n b\n ), m = u.index, f = u.j, m !== null && a.globals.hasNullValues && (y = a.globals.seriesXvalues[m], u = this.closestInArray(C, y), f = u.j);\n }\n return a.interact.capturedSeriesIndex = m === null ? -1 : m, (!f || f < 1) && (f = 0), a.globals.isBarHorizontal ? a.interact.capturedDataPointIndex = x : a.interact.capturedDataPointIndex = f, {\n capturedSeries: m,\n j: a.globals.isBarHorizontal ? x : f,\n hoverX: d,\n hoverY: p\n };\n }\n getFirstActiveXArray(t) {\n const e = this.w;\n let s = 0;\n const i = t.map((a, o) => a.length > 0 ? o : -1);\n for (let a = 0; a < i.length; a++)\n if (i[a] !== -1 && e.globals.collapsedSeriesIndices.indexOf(a) === -1 && e.globals.ancillaryCollapsedSeriesIndices.indexOf(a) === -1) {\n s = i[a];\n break;\n }\n return s;\n }\n closestInMultiArray(t, e, s, i) {\n const a = this.w, o = (c) => a.globals.collapsedSeriesIndices.indexOf(c) === -1 && a.globals.ancillaryCollapsedSeriesIndices.indexOf(c) === -1;\n let r = 1 / 0, n = null, l = null;\n for (let c = 0; c < s.length; c++) {\n if (!o(c))\n continue;\n const h = s[c], d = i[c], p = Math.min(h.length, d.length);\n for (let g = 0; g < p; g++) {\n const f = h[g], x = t - f;\n let m = Math.sqrt(x * x);\n if (!a.globals.allSeriesHasEqualX) {\n const u = d[g], y = e - u;\n m = Math.sqrt(x * x + y * y);\n }\n m < r && (r = m, n = c, l = g);\n }\n }\n return {\n index: n,\n j: l\n };\n }\n closestInArray(t, e) {\n const s = e[0];\n let i = null, a = Math.abs(t - s);\n for (let o = 0; o < e.length; o++) {\n const r = Math.abs(t - e[o]);\n r < a && (a = r, i = o);\n }\n return {\n j: i\n };\n }\n /**\n * When there are multiple series, it is possible to have different x values for each series.\n * But it may be possible in those multiple series, that there is same x value for 2 or more\n * series.\n * @memberof Utils\n * @param {int}\n * - j = is the inner index of series -> (series[i][j])\n * @return {bool}\n */\n isXoverlap(t) {\n const e = this.w, s = [], i = e.seriesData.seriesX.filter((a) => typeof a[0] < \"u\");\n if (i.length > 0)\n for (let a = 0; a < i.length - 1; a++)\n typeof i[a][t] < \"u\" && typeof i[a + 1][t] < \"u\" && i[a][t] !== i[a + 1][t] && s.push(\"unEqual\");\n return s.length === 0;\n }\n isInitialSeriesSameLen() {\n var t, e, s;\n let i = !0;\n const a = ((t = this.w.globals.initialSeries) == null ? void 0 : t.filter(\n (o, r) => {\n var n;\n return !((n = this.w.globals.collapsedSeriesIndices) != null && n.includes(r));\n }\n )) || [];\n for (let o = 0; o < a.length - 1; o++) {\n if (!((e = a[o]) != null && e.data) || !((s = a[o + 1]) != null && s.data))\n return !0;\n if (a[o].data.length !== a[o + 1].data.length) {\n i = !1;\n break;\n }\n }\n return i;\n }\n getBarsHeight(t) {\n return [...t].reduce((i, a) => i + a.getBBox().height, 0);\n }\n getElMarkers(t) {\n return typeof t == \"number\" ? this.w.dom.baseEl.querySelectorAll(\n `.apexcharts-series[data\\\\:realIndex='${t}'] .apexcharts-series-markers-wrap > *`\n ) : this.w.dom.baseEl.querySelectorAll(\n \".apexcharts-series-markers-wrap > *\"\n );\n }\n getAllMarkers(t = !1) {\n let e = this.w.dom.baseEl.querySelectorAll(\n \".apexcharts-series-markers-wrap\"\n );\n e = [...e], t && (e = e.filter((i) => {\n const a = Number(i.getAttribute(\"data:realIndex\"));\n return this.w.globals.collapsedSeriesIndices.indexOf(a) === -1;\n })), e.sort((i, a) => {\n var o = Number(i.getAttribute(\"data:realIndex\")), r = Number(a.getAttribute(\"data:realIndex\"));\n return r < o ? 1 : r > o ? -1 : 0;\n });\n const s = [];\n return e.forEach((i) => {\n s.push(i.querySelector(\".apexcharts-marker\"));\n }), s;\n }\n hasMarkers(t) {\n return this.getElMarkers(t).length > 0;\n }\n getPathFromPoint(t, e) {\n const s = Number(t.getAttribute(\"cx\")), i = Number(t.getAttribute(\"cy\")), a = t.getAttribute(\"shape\");\n return new P(this.w).getMarkerPath(s, i, a, e);\n }\n getElBars() {\n return this.w.dom.baseEl.querySelectorAll(\n \".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series\"\n );\n }\n hasBars() {\n return this.getElBars().length > 0;\n }\n getHoverMarkerSize(t) {\n const e = this.w;\n let s = e.config.markers.hover.size;\n return s === void 0 && (s = e.globals.markers.size[t] + e.config.markers.hover.sizeOffset), s;\n }\n toggleAllTooltipSeriesGroups(t) {\n const e = this.w, s = this.ttCtx;\n s.allTooltipSeriesGroups.length === 0 && (s.allTooltipSeriesGroups = e.dom.baseEl.querySelectorAll(\n \".apexcharts-tooltip-series-group\"\n ));\n const i = s.allTooltipSeriesGroups;\n for (let a = 0; a < i.length; a++)\n t === \"enable\" ? (i[a].classList.add(\"apexcharts-active\"), i[a].style.display = e.config.tooltip.items.display) : (i[a].classList.remove(\"apexcharts-active\"), i[a].style.display = \"none\");\n }\n}\nclass ts {\n constructor(t) {\n this.w = t.w, this.ttCtx = t, this.tooltipUtil = new be(t);\n }\n drawSeriesTexts({ shared: t = !0, ttItems: e, i: s = 0, j: i = null, y1: a, y2: o, e: r }) {\n const n = this.w;\n n.config.tooltip.custom !== void 0 ? this.handleCustomTooltip({ i: s, j: i, y1: a, y2: o, w: n }) : this.toggleActiveInactiveSeries(t, s);\n const l = this.getValuesToPrint({\n i: s,\n j: i\n });\n this.printLabels({\n i: s,\n j: i,\n values: l,\n ttItems: e,\n shared: t,\n e: r\n });\n const c = this.ttCtx.getElTooltip();\n this.ttCtx.tooltipRect.ttWidth = c.getBoundingClientRect().width, this.ttCtx.tooltipRect.ttHeight = c.getBoundingClientRect().height;\n }\n printLabels({ i: t, j: e, values: s, ttItems: i, shared: a, e: o }) {\n var r;\n const n = this.w;\n let l, c = [];\n const h = (m) => n.seriesData.seriesGoals[m] && n.seriesData.seriesGoals[m][e] && Array.isArray(n.seriesData.seriesGoals[m][e]), { xVal: d, zVal: p, xAxisTTVal: g } = s;\n let f = \"\", x = n.globals.colors[t];\n e !== null && n.config.plotOptions.bar.distributed && (x = n.globals.colors[e]);\n for (let m = 0, u = n.seriesData.series.length - 1; m < n.seriesData.series.length; m++, u--) {\n let y = this.getFormatters(t);\n f = this.getSeriesName({\n fn: y.yLbTitleFormatter,\n index: t,\n seriesIndex: t,\n j: e\n }), n.config.chart.type === \"treemap\" && (f = y.yLbTitleFormatter(String(n.config.series[t].data[e].x), {\n series: n.seriesData.series,\n seriesIndex: t,\n dataPointIndex: e,\n w: n\n }));\n const b = n.config.tooltip.inverseOrder ? u : m;\n if (n.globals.axisCharts) {\n const w = (v) => {\n var C, D, S, k;\n return n.axisFlags.isRangeData ? y.yLbFormatter((D = (C = n.rangeData.seriesRangeStart) == null ? void 0 : C[v]) == null ? void 0 : D[e], {\n series: n.rangeData.seriesRangeStart,\n seriesIndex: v,\n dataPointIndex: e,\n w: n\n }) + \" - \" + y.yLbFormatter((k = (S = n.rangeData.seriesRangeEnd) == null ? void 0 : S[v]) == null ? void 0 : k[e], {\n series: n.rangeData.seriesRangeEnd,\n seriesIndex: v,\n dataPointIndex: e,\n w: n\n }) : y.yLbFormatter(n.seriesData.series[v][e], {\n series: n.seriesData.series,\n seriesIndex: v,\n dataPointIndex: e,\n w: n\n });\n };\n if (a)\n y = this.getFormatters(b), f = this.getSeriesName({\n fn: y.yLbTitleFormatter,\n index: b,\n seriesIndex: t,\n j: e\n }), x = n.globals.colors[b], l = w(b), h(b) && (c = n.seriesData.seriesGoals[b][e].map((v) => ({\n attrs: v,\n val: y.yLbFormatter(v.value, {\n seriesIndex: b,\n dataPointIndex: e,\n w: n\n })\n })));\n else {\n const v = (r = o == null ? void 0 : o.target) == null ? void 0 : r.getAttribute(\"fill\");\n v && (v.indexOf(\"url\") !== -1 ? v.indexOf(\"Pattern\") !== -1 && (x = n.dom.baseEl.querySelector(v.substr(4).slice(0, -1)).childNodes[0].getAttribute(\"stroke\")) : x = v), l = w(t), h(t) && Array.isArray(n.seriesData.seriesGoals[t][e]) && (c = n.seriesData.seriesGoals[t][e].map((C) => ({\n attrs: C,\n val: y.yLbFormatter(C.value, {\n seriesIndex: t,\n dataPointIndex: e,\n w: n\n })\n })));\n }\n }\n e === null && (l = y.yLbFormatter(n.seriesData.series[t], O(I({}, n), {\n seriesIndex: t,\n dataPointIndex: t\n }))), this.DOMHandling({\n i: t,\n t: b,\n j: e,\n ttItems: i,\n values: {\n val: l,\n goalVals: c,\n xVal: d,\n xAxisTTVal: g,\n zVal: p\n },\n seriesName: f,\n shared: a,\n pColor: x\n });\n }\n }\n getFormatters(t) {\n const e = this.w;\n let s = e.formatters.yLabelFormatters[t], i;\n return e.formatters.ttVal !== void 0 ? Array.isArray(e.formatters.ttVal) ? (s = e.formatters.ttVal[t] && e.formatters.ttVal[t].formatter, i = e.formatters.ttVal[t] && e.formatters.ttVal[t].title && e.formatters.ttVal[t].title.formatter) : (s = e.formatters.ttVal.formatter, typeof e.formatters.ttVal.title.formatter == \"function\" && (i = e.formatters.ttVal.title.formatter)) : i = e.config.tooltip.y.title.formatter, typeof s != \"function\" && (e.formatters.yLabelFormatters[0] ? s = e.formatters.yLabelFormatters[0] : s = function(a) {\n return a;\n }), typeof i != \"function\" && (i = function(a) {\n return a ? a + \": \" : \"\";\n }), {\n yLbFormatter: s,\n yLbTitleFormatter: i\n };\n }\n getSeriesName({ fn: t, index: e, seriesIndex: s, j: i }) {\n const a = this.w;\n return t(String(a.seriesData.seriesNames[e]), {\n series: a.seriesData.series,\n seriesIndex: s,\n dataPointIndex: i,\n w: a\n });\n }\n DOMHandling({ t, j: e, ttItems: s, values: i, seriesName: a, shared: o, pColor: r }) {\n const n = this.w, l = this.ttCtx, { val: c, goalVals: h, xVal: d, xAxisTTVal: p, zVal: g } = i;\n let f = null;\n f = s[t].children, n.config.tooltip.fillSeriesColor && (s[t].style.backgroundColor = r, f[0].style.display = \"none\"), l.showTooltipTitle && (l.tooltipTitle === null && (l.tooltipTitle = n.dom.baseEl.querySelector(\n \".apexcharts-tooltip-title\"\n )), l.tooltipTitle.innerHTML = d), l.isXAxisTooltipEnabled && (l.xaxisTooltipText.innerHTML = p !== \"\" ? p : d);\n const x = s[t].querySelector(\n \".apexcharts-tooltip-text-y-label\"\n );\n x && (x.innerHTML = a || \"\");\n const m = s[t].querySelector(\".apexcharts-tooltip-text-y-value\");\n m && (m.innerHTML = typeof c < \"u\" ? c : \"\"), f[0] && f[0].classList.contains(\"apexcharts-tooltip-marker\") && (n.config.tooltip.marker.fillColors && Array.isArray(n.config.tooltip.marker.fillColors) && (r = n.config.tooltip.marker.fillColors[t]), n.config.tooltip.fillSeriesColor ? f[0].style.backgroundColor = r : f[0].style.color = r), n.config.tooltip.marker.show || (f[0].style.display = \"none\");\n const u = s[t].querySelector(\n \".apexcharts-tooltip-text-goals-label\"\n ), y = s[t].querySelector(\n \".apexcharts-tooltip-text-goals-value\"\n );\n if (h.length && n.seriesData.seriesGoals[t]) {\n const b = () => {\n let w = \"<div>\", v = \"<div>\";\n h.forEach((C) => {\n w += ` <div style=\"display: flex\"><span class=\"apexcharts-tooltip-marker\" style=\"background-color: ${C.attrs.strokeColor}; height: 3px; border-radius: 0; top: 5px;\"></span> ${C.attrs.name}</div>`, v += `<div>${C.val}</div>`;\n }), u.innerHTML = w + \"</div>\", y.innerHTML = v + \"</div>\";\n };\n o ? n.seriesData.seriesGoals[t][e] && Array.isArray(n.seriesData.seriesGoals[t][e]) ? b() : (u.innerHTML = \"\", y.innerHTML = \"\") : b();\n } else\n u.innerHTML = \"\", y.innerHTML = \"\";\n if (g !== null) {\n const b = s[t].querySelector(\n \".apexcharts-tooltip-text-z-label\"\n );\n b.innerHTML = n.config.tooltip.z.title;\n const w = s[t].querySelector(\n \".apexcharts-tooltip-text-z-value\"\n );\n w.innerHTML = typeof g < \"u\" ? g : \"\";\n }\n if (o && f[0]) {\n if (n.config.tooltip.hideEmptySeries) {\n const b = s[t].querySelector(\n \".apexcharts-tooltip-marker\"\n ), w = s[t].querySelector(\".apexcharts-tooltip-text\");\n parseFloat(c) == 0 ? (b.style.display = \"none\", w.style.display = \"none\") : (b.style.display = \"block\", w.style.display = \"block\");\n }\n typeof c > \"u\" || c === null || n.globals.ancillaryCollapsedSeriesIndices.indexOf(t) > -1 || n.globals.collapsedSeriesIndices.indexOf(t) > -1 || Array.isArray(l.tConfig.enabledOnSeries) && l.tConfig.enabledOnSeries.indexOf(t) === -1 ? f[0].parentNode.style.display = \"none\" : f[0].parentNode.style.display = n.config.tooltip.items.display;\n } else\n Array.isArray(l.tConfig.enabledOnSeries) && l.tConfig.enabledOnSeries.indexOf(t) === -1 && (f[0].parentNode.style.display = \"none\");\n }\n toggleActiveInactiveSeries(t, e) {\n const s = this.w;\n if (t)\n this.tooltipUtil.toggleAllTooltipSeriesGroups(\"enable\");\n else {\n this.tooltipUtil.toggleAllTooltipSeriesGroups(\"disable\");\n const i = s.dom.baseEl.querySelector(\n `.apexcharts-tooltip-series-group-${e}`\n );\n i && (i.classList.add(\"apexcharts-active\"), i.style.display = s.config.tooltip.items.display);\n }\n }\n getValuesToPrint({ i: t, j: e }) {\n const s = this.w, i = s.seriesData.seriesX.map((d) => d.length > 0 ? d : []);\n let a = \"\", o = \"\", r = null, n = null;\n const l = {\n series: s.seriesData.series,\n seriesIndex: t,\n dataPointIndex: e,\n w: s\n }, c = s.formatters.ttZFormatter;\n if (e === null)\n n = s.seriesData.series[t];\n else if (s.axisFlags.isXNumeric && s.config.chart.type !== \"treemap\") {\n if (a = i[t][e], i[t].length === 0) {\n const d = this.tooltipUtil.getFirstActiveXArray(i);\n a = i[d][e];\n }\n } else\n new Wt(this.w).isFormatXY() ? a = typeof s.config.series[t].data[e] < \"u\" ? s.config.series[t].data[e].x : \"\" : a = typeof s.labelData.labels[e] < \"u\" ? s.labelData.labels[e] : \"\";\n const h = a;\n return s.axisFlags.isXNumeric && s.config.xaxis.type === \"datetime\" ? a = new vt(this.w).xLabelFormat(\n s.formatters.ttKeyFormatter,\n h,\n h,\n {\n i: void 0,\n dateFormatter: new q(this.w).formatDate,\n w: this.w\n }\n ) : s.globals.isBarHorizontal ? a = s.formatters.yLabelFormatters[0](h, l) : a = s.formatters.xLabelFormatter(h, l), s.config.tooltip.x.formatter !== void 0 && (a = s.formatters.ttKeyFormatter(h, l)), s.seriesData.seriesZ.length > 0 && s.seriesData.seriesZ[t].length > 0 && (r = c(s.seriesData.seriesZ[t][e], s)), typeof s.config.xaxis.tooltip.formatter == \"function\" ? o = s.formatters.xaxisTooltipFormatter(\n h,\n l\n ) : o = a, {\n val: Array.isArray(n) ? n.join(\" \") : n,\n xVal: Array.isArray(a) ? a.join(\" \") : a,\n xAxisTTVal: Array.isArray(o) ? o.join(\" \") : o,\n zVal: r\n };\n }\n handleCustomTooltip({ i: t, j: e, y1: s, y2: i, w: a }) {\n const o = this.ttCtx.getElTooltip();\n let r = a.config.tooltip.custom;\n Array.isArray(r) && r[t] && (r = r[t]);\n const n = r({\n series: a.seriesData.series,\n seriesIndex: t,\n dataPointIndex: e,\n y1: s,\n y2: i,\n w: a\n });\n typeof n == \"string\" || typeof n == \"number\" ? o.innerHTML = n : (n instanceof Element || typeof n.nodeName == \"string\") && (o.innerHTML = \"\", o.appendChild(n.cloneNode(!0)));\n }\n}\nclass ye {\n constructor(t) {\n this.ttCtx = t, this.w = t.w;\n }\n /**\n * This will move the crosshair (the vertical/horz line that moves along with mouse)\n * Along with this, this function also calls the xaxisMove function\n * @memberof Position\n * @param {int} - cx = point's x position, wherever point's x is, you need to move crosshair\n */\n moveXCrosshairs(t, e = null) {\n const s = this.ttCtx, i = this.w, a = s.getElXCrosshairs();\n let o = t - s.xcrosshairsWidth / 2;\n const r = i.labelData.labels.slice().length;\n if (e !== null && (o = i.layout.gridWidth / r * e), a !== null && !i.globals.isBarHorizontal && (a.setAttribute(\"x\", o), a.setAttribute(\"x1\", o), a.setAttribute(\"x2\", o), a.setAttribute(\"y2\", i.layout.gridHeight), a.classList.add(\"apexcharts-active\")), o < 0 && (o = 0), o > i.layout.gridWidth && (o = i.layout.gridWidth), s.isXAxisTooltipEnabled) {\n let n = o;\n (i.config.xaxis.crosshairs.width === \"tickWidth\" || i.config.xaxis.crosshairs.width === \"barWidth\") && (n = o + s.xcrosshairsWidth / 2), this.moveXAxisTooltip(n);\n }\n }\n /**\n * This will move the crosshair (the vertical/horz line that moves along with mouse)\n * Along with this, this function also calls the xaxisMove function\n * @memberof Position\n * @param {int} - cx = point's x position, wherever point's x is, you need to move crosshair\n */\n moveYCrosshairs(t) {\n const e = this.ttCtx;\n e.ycrosshairs !== null && P.setAttrs(e.ycrosshairs, {\n y1: t,\n y2: t\n }), e.ycrosshairsHidden !== null && P.setAttrs(e.ycrosshairsHidden, {\n y1: t,\n y2: t\n });\n }\n /**\n ** AxisTooltip is the small rectangle which appears on x axis with x value, when user moves\n * @memberof Position\n * @param {int} - cx = point's x position, wherever point's x is, you need to move\n */\n moveXAxisTooltip(t) {\n const e = this.w, s = this.ttCtx;\n if (s.xaxisTooltip !== null && s.xcrosshairsWidth !== 0) {\n s.xaxisTooltip.classList.add(\"apexcharts-active\");\n const i = s.xaxisOffY + e.config.xaxis.tooltip.offsetY + e.layout.translateY + 1 + e.config.xaxis.offsetY, o = s.xaxisTooltip.getBoundingClientRect().width;\n if (t = t - o / 2, !isNaN(t)) {\n t = t + e.layout.translateX;\n let r = 0;\n r = new P(this.w).getTextRects(s.xaxisTooltipText.innerHTML), s.xaxisTooltipText.style.minWidth = r.width + \"px\", s.xaxisTooltip.style.left = t + \"px\", s.xaxisTooltip.style.top = i + \"px\";\n }\n }\n }\n moveYAxisTooltip(t) {\n const e = this.w, s = this.ttCtx;\n s.yaxisTTEls === null && (s.yaxisTTEls = e.dom.baseEl.querySelectorAll(\n \".apexcharts-yaxistooltip\"\n ));\n const i = parseInt(\n s.ycrosshairsHidden.getAttribute(\"y1\"),\n 10\n );\n let a = e.layout.translateY + i;\n const o = s.yaxisTTEls[t].getBoundingClientRect(), r = o.height;\n let n = e.globals.translateYAxisX[t] - 2;\n e.config.yaxis[t].opposite && (n = n - o.width), a = a - r / 2, e.globals.ignoreYAxisIndexes.indexOf(t) === -1 && a > 0 && a < e.layout.gridHeight ? (s.yaxisTTEls[t].classList.add(\"apexcharts-active\"), s.yaxisTTEls[t].style.top = a + \"px\", s.yaxisTTEls[t].style.left = n + e.config.yaxis[t].tooltip.offsetX + \"px\") : s.yaxisTTEls[t].classList.remove(\"apexcharts-active\");\n }\n /**\n ** moves the whole tooltip by changing x, y attrs\n * @memberof Position\n * @param {int} - cx = point's x position, wherever point's x is, you need to move tooltip\n * @param {int} - cy = point's y position, wherever point's y is, you need to move tooltip\n * @param {int} - markerSize = point's size\n */\n moveTooltip(t, e, s = null) {\n const i = this.w, a = this.ttCtx, o = a.getElTooltip(), r = a.tooltipRect, n = s !== null ? parseFloat(s) : 1;\n let l = parseFloat(t) + n + 5, c = parseFloat(e) + n / 2;\n if (l > i.layout.gridWidth / 2 && (l = l - r.ttWidth - n - 10), l > i.layout.gridWidth - r.ttWidth - 10 && (l = i.layout.gridWidth - r.ttWidth), l < -20 && (l = -20), i.config.tooltip.followCursor) {\n const d = a.getElGrid().getBoundingClientRect();\n l = a.e.clientX - d.left, l > i.layout.gridWidth / 2 && (l = l - a.tooltipRect.ttWidth), c = a.e.clientY + i.layout.translateY - d.top, c > i.layout.gridHeight / 2 && (c = c - a.tooltipRect.ttHeight);\n } else\n i.globals.isBarHorizontal || r.ttHeight / 2 + c > i.layout.gridHeight && (c = i.layout.gridHeight - r.ttHeight + i.layout.translateY);\n isNaN(l) || (l = l + i.layout.translateX, o.style.left = l + \"px\", o.style.top = c + \"px\");\n }\n moveMarkers(t, e) {\n const s = this.w, i = this.ttCtx;\n if (s.globals.markers.size[t] > 0) {\n const a = s.dom.baseEl.querySelectorAll(\n ` .apexcharts-series[data\\\\:realIndex='${t}'] .apexcharts-marker`\n );\n for (let o = 0; o < a.length; o++)\n parseInt(a[o].getAttribute(\"rel\"), 10) === e && (i.marker.resetPointsSize(), i.marker.enlargeCurrentPoint(e, a[o]));\n } else\n i.marker.resetPointsSize(), this.moveDynamicPointOnHover(e, t);\n }\n // This function is used when you need to show markers/points only on hover -\n // DIFFERENT X VALUES in multiple series\n moveDynamicPointOnHover(t, e) {\n var s, i, a, o;\n const r = this.w, n = this.ttCtx;\n let l = 0, c = 0;\n const h = new P(this.w), d = r.globals.pointsArray, p = n.tooltipUtil.getHoverMarkerSize(e), g = r.config.series[e].type;\n if (g && (g === \"column\" || g === \"candlestick\" || g === \"boxPlot\"))\n return;\n l = (i = (s = d[e]) == null ? void 0 : s[t]) == null ? void 0 : i[0], c = ((o = (a = d[e]) == null ? void 0 : a[t]) == null ? void 0 : o[1]) || 0;\n const f = r.dom.baseEl.querySelector(\n `.apexcharts-series[data\\\\:realIndex='${e}'] .apexcharts-series-markers path`\n );\n if (f && c < r.layout.gridHeight && c > 0) {\n const x = f.getAttribute(\"shape\"), m = h.getMarkerPath(l, c, x, p * 1.5);\n f.setAttribute(\"d\", m);\n }\n this.moveXCrosshairs(l), n.fixedTooltip || this.moveTooltip(l, c, p);\n }\n // This function is used when you need to show markers/points only on hover -\n // SAME X VALUES in multiple series\n moveDynamicPointsOnHover(t) {\n var e;\n const s = this.ttCtx, i = s.w;\n let a = 0, o = 0, r = 0;\n const n = i.globals.pointsArray, l = new U(this.w), c = new P(this.w);\n r = l.getActiveConfigSeriesIndex(\"asc\", [\n \"line\",\n \"area\",\n \"scatter\",\n \"bubble\"\n ]);\n const h = s.tooltipUtil.getHoverMarkerSize(r);\n if ((e = n[r]) != null && e[t] && (a = n[r][t][0], o = n[r][t][1]), isNaN(a))\n return;\n const d = s.tooltipUtil.getAllMarkers();\n if (d.length)\n for (let p = 0; p < i.seriesData.series.length; p++) {\n const g = n[p];\n if (i.globals.comboCharts && typeof g > \"u\" && d.splice(p, 0, null), g && g.length) {\n let f = n[p][t][1], x;\n d[p].setAttribute(\"cx\", a);\n const m = d[p].getAttribute(\"shape\");\n if (i.config.chart.type === \"rangeArea\" && !i.globals.comboCharts) {\n const u = t + i.seriesData.series[p].length;\n x = n[p][u][1];\n const y = Math.abs(f - x) / 2;\n f = f - y;\n }\n if (f !== null && !isNaN(f) && f < i.layout.gridHeight + h && f + h > 0) {\n const u = c.getMarkerPath(a, f, m, h);\n d[p].setAttribute(\"d\", u);\n } else\n d[p].setAttribute(\"d\", \"\");\n }\n }\n this.moveXCrosshairs(a), s.fixedTooltip || this.moveTooltip(a, o || i.layout.gridHeight, h);\n }\n moveStickyTooltipOverBars(t, e) {\n const s = this.w, i = this.ttCtx;\n let a = s.globals.columnSeries ? s.globals.columnSeries.length : s.seriesData.series.length;\n s.config.chart.stacked && (a = s.globals.barGroups.length);\n let o = a >= 2 && a % 2 === 0 ? Math.floor(a / 2) : Math.floor(a / 2) + 1;\n s.globals.isBarHorizontal && (o = new U(this.w).getActiveConfigSeriesIndex(\"desc\") + 1);\n let r = s.dom.baseEl.querySelector(\n `.apexcharts-bar-series .apexcharts-series[rel='${o}'] path[j='${t}'], .apexcharts-candlestick-series .apexcharts-series[rel='${o}'] path[j='${t}'], .apexcharts-boxPlot-series .apexcharts-series[rel='${o}'] path[j='${t}'], .apexcharts-rangebar-series .apexcharts-series[rel='${o}'] path[j='${t}']`\n );\n !r && typeof e == \"number\" && (r = s.dom.baseEl.querySelector(\n `.apexcharts-bar-series .apexcharts-series[data\\\\:realIndex='${e}'] path[j='${t}'],\n .apexcharts-candlestick-series .apexcharts-series[data\\\\:realIndex='${e}'] path[j='${t}'],\n .apexcharts-boxPlot-series .apexcharts-series[data\\\\:realIndex='${e}'] path[j='${t}'],\n .apexcharts-rangebar-series .apexcharts-series[data\\\\:realIndex='${e}'] path[j='${t}']`\n ));\n let n = r ? parseFloat(r.getAttribute(\"cx\")) : 0, l = r ? parseFloat(r.getAttribute(\"cy\")) : 0;\n const c = r ? parseFloat(r.getAttribute(\"barWidth\")) : 0, d = i.getElGrid().getBoundingClientRect(), p = r && (r.classList.contains(\"apexcharts-candlestick-area\") || r.classList.contains(\"apexcharts-boxPlot-area\"));\n s.axisFlags.isXNumeric ? (r && !p && (n = n - (a % 2 !== 0 ? c / 2 : 0)), r && // fixes apexcharts.js#2354\n p && (n = n - c / 2)) : s.globals.isBarHorizontal || (n = i.xAxisTicksPositions[t - 1] + i.dataPointsDividedWidth / 2, isNaN(n) && (n = i.xAxisTicksPositions[t] - i.dataPointsDividedWidth / 2)), s.globals.isBarHorizontal ? l = l - i.tooltipRect.ttHeight : s.config.tooltip.followCursor ? l = i.e.clientY - d.top - i.tooltipRect.ttHeight / 2 : l + i.tooltipRect.ttHeight + 15 > s.layout.gridHeight && (l = s.layout.gridHeight), s.globals.isBarHorizontal || this.moveXCrosshairs(n), i.fixedTooltip || this.moveTooltip(n, l || s.layout.gridHeight);\n }\n}\nclass es {\n constructor(t) {\n this.w = t.w, this.ttCtx = t, this.ctx = t.ctx, this.tooltipPosition = new ye(t);\n }\n drawDynamicPoints() {\n const t = this.w, e = new P(this.w), s = new xt(this.w, this.ctx);\n let i = t.dom.baseEl.querySelectorAll(\".apexcharts-series\");\n i = [...i], t.config.chart.stacked && i.sort((a, o) => parseFloat(a.getAttribute(\"data:realIndex\")) - parseFloat(o.getAttribute(\"data:realIndex\")));\n for (let a = 0; a < i.length; a++) {\n const o = i[a].querySelector(\n \".apexcharts-series-markers-wrap\"\n );\n if (o !== null) {\n let r = `apexcharts-marker w${(Math.random() + 1).toString(36).substring(4)}`;\n (t.config.chart.type === \"line\" || t.config.chart.type === \"area\") && !t.globals.comboCharts && !t.config.tooltip.intersect && (r += \" no-pointer-events\");\n const n = s.getMarkerConfig({\n cssClass: r,\n seriesIndex: Number(o.getAttribute(\"data:realIndex\"))\n // fixes apexcharts/apexcharts.js #1427\n }), l = e.drawMarker(0, 0, n);\n l.node.setAttribute(\"default-marker-size\", 0);\n const c = N.createElementNS(G, \"g\");\n c.classList.add(\"apexcharts-series-markers\"), c.appendChild(l.node), o.appendChild(c);\n }\n }\n }\n enlargeCurrentPoint(t, e, s = null, i = null) {\n const a = this.w;\n a.config.chart.type !== \"bubble\" && this.newPointSize(t, e);\n let o = e.getAttribute(\"cx\"), r = e.getAttribute(\"cy\");\n if (s !== null && i !== null && (o = s, r = i), this.tooltipPosition.moveXCrosshairs(o), !this.fixedTooltip) {\n if (a.config.chart.type === \"radar\") {\n const l = this.ttCtx.getElGrid().getBoundingClientRect();\n o = this.ttCtx.e.clientX - l.left;\n }\n this.tooltipPosition.moveTooltip(o, r, a.config.markers.hover.size);\n }\n }\n enlargePoints(t) {\n const e = this.w, s = this, i = this.ttCtx, a = t, o = e.dom.baseEl.querySelectorAll(\n \".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker\"\n );\n let r = e.config.markers.hover.size;\n for (let n = 0; n < o.length; n++) {\n const l = o[n].getAttribute(\"rel\"), c = o[n].getAttribute(\"index\");\n if (r === void 0 && (r = e.globals.markers.size[c] + e.config.markers.hover.sizeOffset), a === parseInt(l, 10)) {\n s.newPointSize(a, o[n]);\n const h = o[n].getAttribute(\"cx\"), d = o[n].getAttribute(\"cy\");\n s.tooltipPosition.moveXCrosshairs(h), i.fixedTooltip || s.tooltipPosition.moveTooltip(h, d, r);\n } else\n s.oldPointSize(o[n]);\n }\n }\n newPointSize(t, e) {\n const s = this.w;\n let i = s.config.markers.hover.size;\n const a = t === 0 ? e.parentNode.firstChild : e.parentNode.lastChild;\n if (a.getAttribute(\"default-marker-size\") !== \"0\") {\n const o = parseInt(a.getAttribute(\"index\"), 10);\n i === void 0 && (i = s.globals.markers.size[o] + s.config.markers.hover.sizeOffset), i < 0 && (i = 0);\n const r = this.ttCtx.tooltipUtil.getPathFromPoint(e, i);\n e.setAttribute(\"d\", r);\n }\n }\n oldPointSize(t) {\n const e = parseFloat(t.getAttribute(\"default-marker-size\")), s = this.ttCtx.tooltipUtil.getPathFromPoint(t, e);\n t.setAttribute(\"d\", s);\n }\n resetPointsSize() {\n const e = this.w.dom.baseEl.querySelectorAll(\n \".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker\"\n );\n for (let s = 0; s < e.length; s++) {\n const i = parseFloat(e[s].getAttribute(\"default-marker-size\"));\n if (L.isNumber(i) && i > 0) {\n const a = this.ttCtx.tooltipUtil.getPathFromPoint(e[s], i);\n e[s].setAttribute(\"d\", a);\n } else\n e[s].setAttribute(\"d\", \"M0,0\");\n }\n }\n}\nclass ss {\n constructor(t) {\n this.w = t.w;\n const e = this.w;\n this.ttCtx = t, this.isVerticalGroupedRangeBar = !e.globals.isBarHorizontal && e.config.chart.type === \"rangeBar\" && e.config.plotOptions.bar.rangeBarGroupRows;\n }\n // a helper function to get an element's attribute value\n getAttr(t, e) {\n return parseFloat(t.target.getAttribute(e));\n }\n // handle tooltip for heatmaps and treemaps\n handleHeatTreeTooltip({ e: t, opt: e, x: s, y: i, type: a }) {\n const o = this.ttCtx, r = this.w;\n if (t.target.classList.contains(`apexcharts-${a}-rect`)) {\n const n = this.getAttr(t, \"i\"), l = this.getAttr(t, \"j\"), c = this.getAttr(t, \"cx\"), h = this.getAttr(t, \"cy\"), d = this.getAttr(t, \"width\"), p = this.getAttr(t, \"height\");\n if (o.tooltipLabels.drawSeriesTexts({\n ttItems: e.ttItems,\n i: n,\n j: l,\n shared: !1,\n e: t\n }), r.interact.capturedSeriesIndex = n, r.interact.capturedDataPointIndex = l, s = c + o.tooltipRect.ttWidth / 2 + d, i = h + o.tooltipRect.ttHeight / 2 - p / 2, o.tooltipPosition.moveXCrosshairs(c + d / 2), s > r.layout.gridWidth / 2 && (s = c - o.tooltipRect.ttWidth / 2 + d), o.w.config.tooltip.followCursor) {\n const g = r.dom.elWrap.getBoundingClientRect();\n s = r.interact.clientX - g.left - (s > r.layout.gridWidth / 2 ? o.tooltipRect.ttWidth : 0), i = r.interact.clientY - g.top - (i > r.layout.gridHeight / 2 ? o.tooltipRect.ttHeight : 0);\n }\n }\n return {\n x: s,\n y: i\n };\n }\n /**\n * handle tooltips for line/area/scatter charts where tooltip.intersect is true\n * when user hovers over the marker directly, this function is executed\n */\n handleMarkerTooltip({ e: t, opt: e, x: s, y: i }) {\n const a = this.w, o = this.ttCtx;\n let r, n;\n if (t.target.classList.contains(\"apexcharts-marker\")) {\n const l = parseInt(e.paths.getAttribute(\"cx\"), 10), c = parseInt(e.paths.getAttribute(\"cy\"), 10), h = parseFloat(e.paths.getAttribute(\"val\"));\n if (n = parseInt(e.paths.getAttribute(\"rel\"), 10), r = parseInt(\n e.paths.parentNode.parentNode.parentNode.getAttribute(\"rel\"),\n 10\n ) - 1, o.intersect) {\n const d = L.findAncestor(e.paths, \"apexcharts-series\");\n d && (r = parseInt(d.getAttribute(\"data:realIndex\"), 10));\n }\n if (o.tooltipLabels.drawSeriesTexts({\n ttItems: e.ttItems,\n i: r,\n j: n,\n shared: o.showOnIntersect ? !1 : a.config.tooltip.shared,\n e: t\n }), t.type === \"mouseup\" && o.markerClick(t, r, n), a.interact.capturedSeriesIndex = r, a.interact.capturedDataPointIndex = n, s = l, i = c + a.layout.translateY - o.tooltipRect.ttHeight * 1.4, o.w.config.tooltip.followCursor) {\n const p = o.getElGrid().getBoundingClientRect();\n i = o.e.clientY + a.layout.translateY - p.top;\n }\n h < 0 && (i = c), o.marker.enlargeCurrentPoint(n, e.paths, s, i);\n }\n return {\n x: s,\n y: i\n };\n }\n /**\n * handle tooltips for bar/column charts\n */\n handleBarTooltip({ e: t, opt: e }) {\n const s = this.w, i = this.ttCtx, a = i.getElTooltip();\n let o = 0, r = 0, n = 0, l = 0, c;\n const h = this.getBarTooltipXY({\n e: t,\n opt: e\n });\n if (h.j === null && h.barHeight === 0 && h.barWidth === 0)\n return;\n l = h.i;\n const d = h.j;\n if (s.interact.capturedSeriesIndex = l, s.interact.capturedDataPointIndex = d, s.globals.isBarHorizontal && i.tooltipUtil.hasBars() || !s.config.tooltip.shared ? (r = h.x, n = h.y, c = Array.isArray(s.config.stroke.width) ? s.config.stroke.width[l] : s.config.stroke.width, o = r) : !s.globals.comboCharts && !s.config.tooltip.shared && (o = o / 2), isNaN(n) && (n = s.globals.svgHeight - i.tooltipRect.ttHeight), r + i.tooltipRect.ttWidth > s.layout.gridWidth ? r = r - i.tooltipRect.ttWidth : r < 0 && (r = 0), i.w.config.tooltip.followCursor) {\n const g = i.getElGrid().getBoundingClientRect();\n n = i.e.clientY - g.top;\n }\n i.tooltip === null && (i.tooltip = s.dom.baseEl.querySelector(\".apexcharts-tooltip\")), s.config.tooltip.shared || (s.globals.comboBarCount > 0 ? i.tooltipPosition.moveXCrosshairs(o + c / 2) : i.tooltipPosition.moveXCrosshairs(o)), !i.fixedTooltip && (!s.config.tooltip.shared || s.globals.isBarHorizontal && i.tooltipUtil.hasBars()) && (n = n + s.layout.translateY - i.tooltipRect.ttHeight / 2, a.style.left = r + s.layout.translateX + \"px\", a.style.top = n + \"px\");\n }\n getBarTooltipXY({ e: t, opt: e }) {\n const s = this.w;\n let i = null;\n const a = this.ttCtx;\n let o = 0, r = 0, n = 0, l = 0, c = 0;\n const h = t.target.classList;\n if (h.contains(\"apexcharts-bar-area\") || h.contains(\"apexcharts-candlestick-area\") || h.contains(\"apexcharts-boxPlot-area\") || h.contains(\"apexcharts-rangebar-area\")) {\n const d = t.target, p = d.getBoundingClientRect(), g = e.elGrid.getBoundingClientRect(), f = p.height;\n c = p.height;\n const x = p.width, m = parseInt(d.getAttribute(\"cx\"), 10), u = parseInt(d.getAttribute(\"cy\"), 10);\n l = parseFloat(d.getAttribute(\"barWidth\"));\n const y = t.type === \"touchmove\" ? t.touches[0].clientX : t.clientX;\n i = parseInt(d.getAttribute(\"j\"), 10), o = parseInt(d.parentNode.getAttribute(\"rel\"), 10) - 1;\n const b = d.getAttribute(\"data-range-y1\"), w = d.getAttribute(\"data-range-y2\");\n s.globals.comboCharts && (o = parseInt(d.parentNode.getAttribute(\"data:realIndex\"), 10));\n const v = (D) => (s.axisFlags.isXNumeric ? D = m - x / 2 : this.isVerticalGroupedRangeBar ? D = m + x / 2 : D = m - a.dataPointsDividedWidth + x / 2, D), C = () => u - a.dataPointsDividedHeight + f / 2 - a.tooltipRect.ttHeight / 2;\n a.tooltipLabels.drawSeriesTexts({\n ttItems: e.ttItems,\n i: o,\n j: i,\n y1: b ? parseInt(b, 10) : null,\n y2: w ? parseInt(w, 10) : null,\n shared: a.showOnIntersect ? !1 : s.config.tooltip.shared,\n e: t\n }), s.config.tooltip.followCursor ? s.globals.isBarHorizontal ? (r = y - g.left + 15, n = C()) : (r = v(r), n = t.clientY - g.top - a.tooltipRect.ttHeight / 2 - 15) : s.globals.isBarHorizontal ? (r = m, r < a.xyRatios.baseLineInvertedY && (r = m - a.tooltipRect.ttWidth), n = C()) : (r = v(r), n = u);\n }\n return {\n x: r,\n y: n,\n barHeight: c,\n barWidth: l,\n i: o,\n j: i\n };\n }\n}\nclass is {\n constructor(t) {\n this.w = t.w, this.ttCtx = t;\n }\n /**\n * This method adds the secondary tooltip which appears below x axis\n * @memberof Tooltip\n **/\n drawXaxisTooltip() {\n const t = this.w, e = this.ttCtx, s = t.config.xaxis.position === \"bottom\";\n e.xaxisOffY = s ? t.layout.gridHeight + 1 : -t.layout.xAxisHeight - t.config.xaxis.axisTicks.height + 3;\n const i = s ? \"apexcharts-xaxistooltip apexcharts-xaxistooltip-bottom\" : \"apexcharts-xaxistooltip apexcharts-xaxistooltip-top\", a = t.dom.elWrap;\n e.isXAxisTooltipEnabled && t.dom.baseEl.querySelector(\n \".apexcharts-xaxistooltip\"\n ) === null && (e.xaxisTooltip = N.createElementNS(\"http://www.w3.org/1999/xhtml\", \"div\"), e.xaxisTooltip.setAttribute(\n \"class\",\n i + \" apexcharts-theme-\" + t.config.tooltip.theme\n ), a.appendChild(e.xaxisTooltip), e.xaxisTooltipText = N.createElementNS(\"http://www.w3.org/1999/xhtml\", \"div\"), e.xaxisTooltipText.classList.add(\"apexcharts-xaxistooltip-text\"), e.xaxisTooltipText.style.fontFamily = t.config.xaxis.tooltip.style.fontFamily || t.config.chart.fontFamily, e.xaxisTooltipText.style.fontSize = t.config.xaxis.tooltip.style.fontSize, e.xaxisTooltip.appendChild(e.xaxisTooltipText));\n }\n /**\n * This method adds the secondary tooltip which appears below x axis\n * @memberof Tooltip\n **/\n drawYaxisTooltip() {\n const t = this.w, e = this.ttCtx;\n for (let s = 0; s < t.config.yaxis.length; s++) {\n const i = t.config.yaxis[s].opposite || t.config.yaxis[s].crosshairs.opposite;\n e.yaxisOffX = i ? t.layout.gridWidth + 1 : 1;\n const a = i ? `apexcharts-yaxistooltip apexcharts-yaxistooltip-${s} apexcharts-yaxistooltip-right` : `apexcharts-yaxistooltip apexcharts-yaxistooltip-${s} apexcharts-yaxistooltip-left`, o = t.dom.elWrap;\n t.dom.baseEl.querySelector(\n `.apexcharts-yaxistooltip apexcharts-yaxistooltip-${s}`\n ) === null && (e.yaxisTooltip = N.createElementNS(\"http://www.w3.org/1999/xhtml\", \"div\"), e.yaxisTooltip.setAttribute(\n \"class\",\n a + \" apexcharts-theme-\" + t.config.tooltip.theme\n ), o.appendChild(e.yaxisTooltip), s === 0 && (e.yaxisTooltipText = []), e.yaxisTooltipText[s] = N.createElementNS(\"http://www.w3.org/1999/xhtml\", \"div\"), e.yaxisTooltipText[s].classList.add(\"apexcharts-yaxistooltip-text\"), e.yaxisTooltip.appendChild(e.yaxisTooltipText[s]));\n }\n }\n /**\n * @memberof Tooltip\n **/\n setXCrosshairWidth() {\n const t = this.w, e = this.ttCtx, s = e.getElXCrosshairs();\n if (e.xcrosshairsWidth = parseInt(t.config.xaxis.crosshairs.width, 10), t.globals.comboCharts) {\n const i = t.dom.baseEl.querySelector(\".apexcharts-bar-area\");\n if (i !== null && t.config.xaxis.crosshairs.width === \"barWidth\") {\n const a = parseFloat(i.getAttribute(\"barWidth\"));\n e.xcrosshairsWidth = a;\n } else if (t.config.xaxis.crosshairs.width === \"tickWidth\") {\n const a = t.labelData.labels.length;\n e.xcrosshairsWidth = t.layout.gridWidth / a;\n }\n } else if (t.config.xaxis.crosshairs.width === \"tickWidth\") {\n const i = t.labelData.labels.length;\n e.xcrosshairsWidth = t.layout.gridWidth / i;\n } else if (t.config.xaxis.crosshairs.width === \"barWidth\") {\n const i = t.dom.baseEl.querySelector(\".apexcharts-bar-area\");\n if (i !== null) {\n const a = parseFloat(i.getAttribute(\"barWidth\"));\n e.xcrosshairsWidth = a;\n } else\n e.xcrosshairsWidth = 1;\n }\n t.globals.isBarHorizontal && (e.xcrosshairsWidth = 0), s !== null && e.xcrosshairsWidth > 0 && s.setAttribute(\"width\", e.xcrosshairsWidth);\n }\n handleYCrosshair() {\n const t = this.w, e = this.ttCtx;\n e.ycrosshairs = t.dom.baseEl.querySelector(\n \".apexcharts-ycrosshairs\"\n ), e.ycrosshairsHidden = t.dom.baseEl.querySelector(\n \".apexcharts-ycrosshairs-hidden\"\n );\n }\n drawYaxisTooltipText(t, e, s) {\n const i = this.ttCtx, a = this.w, o = a.globals, r = o.seriesYAxisMap[t];\n if (i.yaxisTooltips[t] && r.length > 0) {\n const n = a.formatters.yLabelFormatters[t], c = i.getElGrid().getBoundingClientRect(), h = r[0];\n let d = 0;\n s.yRatio.length > 1 && (d = h);\n const p = (e - c.top) * s.yRatio[d], g = o.maxYArr[h] - o.minYArr[h];\n let f = o.minYArr[h] + (g - p);\n a.config.yaxis[t].reversed && (f = o.maxYArr[h] - (g - p)), i.tooltipPosition.moveYCrosshairs(e - c.top), i.yaxisTooltipText[t].innerHTML = n(f), i.tooltipPosition.moveYAxisTooltip(t);\n }\n }\n}\nclass as {\n constructor(t, e) {\n this.w = t, this.ctx = e, this.tConfig = t.config.tooltip, this.tooltipUtil = new be(this), this.tooltipLabels = new ts(this), this.tooltipPosition = new ye(this), this.marker = new es(this), this.intersect = new ss(this), this.axesTooltip = new is(this), this.showOnIntersect = this.tConfig.intersect, this.showTooltipTitle = this.tConfig.x.show, this.fixedTooltip = this.tConfig.fixed.enabled, this.xaxisTooltip = null, this.yaxisTTEls = null, this.isBarShared = !t.globals.isBarHorizontal && this.tConfig.shared, this.lastHoverTime = Date.now(), this.dimensionUpdateScheduled = !1;\n }\n setupDimensionCache() {\n const t = this.w, e = this.getElTooltip();\n e && (this.updateDimensionCache(), typeof ResizeObserver < \"u\" && !t.globals.resizeObserver && (t.globals.resizeObserver = new ResizeObserver(() => {\n this.dimensionUpdateScheduled || (this.dimensionUpdateScheduled = !0, requestAnimationFrame(() => {\n this.updateDimensionCache(), this.dimensionUpdateScheduled = !1;\n }));\n }), t.globals.resizeObserver.observe(e)));\n }\n updateDimensionCache() {\n const t = this.w, e = this.getElTooltip();\n if (!e)\n return;\n const s = e.getBoundingClientRect();\n t.globals.dimensionCache.tooltip = {\n width: s.width,\n height: s.height,\n lastUpdate: Date.now()\n };\n }\n getCachedDimensions() {\n const t = this.w;\n if (t.globals.dimensionCache.tooltip) {\n const s = t.globals.dimensionCache.tooltip;\n if (Date.now() - s.lastUpdate < 1e3)\n return {\n ttWidth: s.width,\n ttHeight: s.height\n };\n }\n this.updateDimensionCache();\n const e = t.globals.dimensionCache.tooltip;\n return e ? {\n ttWidth: e.width,\n ttHeight: e.height\n } : { ttWidth: 0, ttHeight: 0 };\n }\n getElTooltip(t) {\n return t || (t = this), t.w.dom.baseEl ? t.w.dom.baseEl.querySelector(\".apexcharts-tooltip\") : null;\n }\n getElXCrosshairs() {\n return this.w.dom.baseEl.querySelector(\".apexcharts-xcrosshairs\");\n }\n getElGrid() {\n return this.w.dom.baseEl.querySelector(\".apexcharts-grid\");\n }\n drawTooltip(t) {\n const e = this.w;\n this.xyRatios = t, this.isXAxisTooltipEnabled = e.config.xaxis.tooltip.enabled && e.globals.axisCharts, this.yaxisTooltips = e.config.yaxis.map((a) => !!(a.show && a.tooltip.enabled && e.globals.axisCharts)), this.allTooltipSeriesGroups = [], e.globals.axisCharts || (this.showTooltipTitle = !1);\n const s = N.createElementNS(\n \"http://www.w3.org/1999/xhtml\",\n \"div\"\n );\n if (s.classList.add(\"apexcharts-tooltip\"), e.config.tooltip.cssClass && s.classList.add(e.config.tooltip.cssClass), s.classList.add(`apexcharts-theme-${this.tConfig.theme || \"light\"}`), e.config.chart.accessibility.enabled && e.config.chart.accessibility.announcements.enabled && (s.setAttribute(\"role\", \"tooltip\"), s.setAttribute(\"aria-live\", \"polite\"), s.setAttribute(\"aria-atomic\", \"true\"), s.setAttribute(\"aria-hidden\", \"true\")), e.dom.elWrap.appendChild(s), e.globals.axisCharts) {\n this.axesTooltip.drawXaxisTooltip(), this.axesTooltip.drawYaxisTooltip(), this.axesTooltip.setXCrosshairWidth(), this.axesTooltip.handleYCrosshair();\n const a = new wt(this.w, this.ctx);\n this.xAxisTicksPositions = a.getXAxisTicksPositions();\n }\n if ((e.globals.comboCharts || this.tConfig.intersect || e.config.chart.type === \"rangeBar\") && !this.tConfig.shared && (this.showOnIntersect = !0), (e.config.markers.size === 0 || e.globals.markers.largestSize === 0) && this.marker.drawDynamicPoints(this), e.globals.collapsedSeries.length === e.seriesData.series.length)\n return;\n this.dataPointsDividedHeight = e.layout.gridHeight / e.globals.dataPoints, this.dataPointsDividedWidth = e.layout.gridWidth / e.globals.dataPoints, this.showTooltipTitle && (this.tooltipTitle = N.createElementNS(\n \"http://www.w3.org/1999/xhtml\",\n \"div\"\n ), this.tooltipTitle.classList.add(\"apexcharts-tooltip-title\"), this.tooltipTitle.style.fontFamily = this.tConfig.style.fontFamily || e.config.chart.fontFamily, this.tooltipTitle.style.fontSize = this.tConfig.style.fontSize, s.appendChild(this.tooltipTitle));\n let i = e.seriesData.series.length;\n (e.globals.xyCharts || e.globals.comboCharts) && this.tConfig.shared && (this.showOnIntersect ? i = 1 : i = e.seriesData.series.length), this.legendLabels = e.dom.baseEl.querySelectorAll(\n \".apexcharts-legend-text\"\n ), this.ttItems = this.createTTElements(i), this.addSVGEvents(), this.setupDimensionCache();\n }\n createTTElements(t) {\n const e = this.w, s = [], i = this.getElTooltip();\n for (let a = 0; a < t; a++) {\n const o = N.createElementNS(\n \"http://www.w3.org/1999/xhtml\",\n \"div\"\n );\n o.classList.add(\n \"apexcharts-tooltip-series-group\",\n `apexcharts-tooltip-series-group-${a}`\n ), o.style.order = e.config.tooltip.inverseOrder ? t - a : a + 1;\n const r = N.createElementNS(\n \"http://www.w3.org/1999/xhtml\",\n \"span\"\n );\n r.classList.add(\"apexcharts-tooltip-marker\"), e.config.tooltip.fillSeriesColor ? r.style.backgroundColor = e.globals.colors[a] : r.style.color = e.globals.colors[a];\n const n = e.config.markers.shape;\n let l = n;\n Array.isArray(n) && (l = n[a]), r.setAttribute(\"shape\", l), o.appendChild(r);\n const c = N.createElementNS(\n \"http://www.w3.org/1999/xhtml\",\n \"div\"\n );\n c.classList.add(\"apexcharts-tooltip-text\"), c.style.fontFamily = this.tConfig.style.fontFamily || e.config.chart.fontFamily, c.style.fontSize = this.tConfig.style.fontSize, [\"y\", \"goals\", \"z\"].forEach((h) => {\n const d = N.createElementNS(\n \"http://www.w3.org/1999/xhtml\",\n \"div\"\n );\n d.classList.add(`apexcharts-tooltip-${h}-group`);\n const p = N.createElementNS(\n \"http://www.w3.org/1999/xhtml\",\n \"span\"\n );\n p.classList.add(`apexcharts-tooltip-text-${h}-label`), d.appendChild(p);\n const g = N.createElementNS(\n \"http://www.w3.org/1999/xhtml\",\n \"span\"\n );\n g.classList.add(`apexcharts-tooltip-text-${h}-value`), d.appendChild(g), c.appendChild(d);\n }), o.appendChild(c), i.appendChild(o), s.push(o);\n }\n return s;\n }\n addSVGEvents() {\n const t = this.w, e = t.config.chart.type, s = this.getElTooltip(), i = e === \"bar\" || e === \"candlestick\" || e === \"boxPlot\" || e === \"rangeBar\", a = e === \"area\" || e === \"line\" || e === \"scatter\" || e === \"bubble\" || e === \"radar\", o = t.dom.Paper.node, r = this.getElGrid();\n r && (this.seriesBound = r.getBoundingClientRect());\n const n = [], l = [], c = {\n hoverArea: o,\n elGrid: r,\n tooltipEl: s,\n tooltipY: n,\n tooltipX: l,\n ttItems: this.ttItems\n };\n let h;\n if (t.globals.axisCharts && (a ? h = t.dom.baseEl.querySelectorAll(\n \".apexcharts-series[data\\\\:longestSeries='true'] .apexcharts-marker\"\n ) : i ? h = t.dom.baseEl.querySelectorAll(\n \".apexcharts-series .apexcharts-bar-area, .apexcharts-series .apexcharts-candlestick-area, .apexcharts-series .apexcharts-boxPlot-area, .apexcharts-series .apexcharts-rangebar-area\"\n ) : (e === \"heatmap\" || e === \"treemap\") && (h = t.dom.baseEl.querySelectorAll(\n \".apexcharts-series .apexcharts-heatmap, .apexcharts-series .apexcharts-treemap\"\n )), h && h.length))\n for (let p = 0; p < h.length; p++)\n n.push(h[p].getAttribute(\"cy\")), l.push(h[p].getAttribute(\"cx\"));\n if (t.globals.xyCharts && !this.showOnIntersect || t.globals.comboCharts && !this.showOnIntersect || i && this.tooltipUtil.hasBars() && this.tConfig.shared)\n this.addPathsEventListeners([o], c);\n else if (i && !t.globals.comboCharts || a && this.showOnIntersect)\n this.addDatapointEventsListeners(c);\n else if (!t.globals.axisCharts || e === \"heatmap\" || e === \"treemap\") {\n const p = t.dom.baseEl.querySelectorAll(\".apexcharts-series\");\n this.addPathsEventListeners(p, c);\n }\n if (this.showOnIntersect) {\n const p = t.dom.baseEl.querySelectorAll(\n \".apexcharts-line-series .apexcharts-marker, .apexcharts-area-series .apexcharts-marker\"\n );\n p.length > 0 && this.addPathsEventListeners(p, c), this.tooltipUtil.hasBars() && !this.tConfig.shared && this.addDatapointEventsListeners(c);\n }\n }\n drawFixedTooltipRect() {\n const t = this.w, e = this.getElTooltip(), s = e.getBoundingClientRect(), i = s.width + 10, a = s.height + 10;\n let o = this.tConfig.fixed.offsetX, r = this.tConfig.fixed.offsetY;\n const n = this.tConfig.fixed.position.toLowerCase();\n return n.indexOf(\"right\") > -1 && (o = o + t.globals.svgWidth - i + 10), n.indexOf(\"bottom\") > -1 && (r = r + t.globals.svgHeight - a - 10), e.style.left = o + \"px\", e.style.top = r + \"px\", {\n x: o,\n y: r,\n ttWidth: i,\n ttHeight: a\n };\n }\n addDatapointEventsListeners(t) {\n const s = this.w.dom.baseEl.querySelectorAll(\n \".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area\"\n );\n this.addPathsEventListeners(s, t);\n }\n addPathsEventListeners(t, e) {\n const s = this;\n for (let i = 0; i < t.length; i++) {\n const a = {\n paths: t[i],\n tooltipEl: e.tooltipEl,\n tooltipY: e.tooltipY,\n tooltipX: e.tooltipX,\n elGrid: e.elGrid,\n hoverArea: e.hoverArea,\n ttItems: e.ttItems\n };\n [\"mousemove\", \"mouseup\", \"touchmove\", \"mouseout\", \"touchend\"].map((r) => t[i].addEventListener(\n r,\n s.onSeriesHover.bind(s, a),\n { capture: !1, passive: !0 }\n ));\n }\n }\n /*\n ** Check to see if the tooltips should be updated based on a mouse / touch event\n */\n onSeriesHover(t, e) {\n const i = Date.now() - this.lastHoverTime;\n i >= 20 ? this.seriesHover(t, e) : (clearTimeout(this.seriesHoverTimeout), this.seriesHoverTimeout = setTimeout(() => {\n this.seriesHover(t, e);\n }, 20 - i));\n }\n /*\n ** The actual series hover function\n */\n seriesHover(t, e) {\n this.lastHoverTime = Date.now();\n let s = [];\n const i = this.w;\n i.config.chart.group && (s = this.ctx.getGroupedCharts()), !(i.globals.axisCharts && (i.globals.minX === -1 / 0 && i.globals.maxX === 1 / 0 || i.globals.dataPoints === 0)) && (s.length ? s.forEach((a) => {\n const o = this.getElTooltip(a), r = {\n paths: t.paths,\n tooltipEl: o,\n tooltipY: t.tooltipY,\n tooltipX: t.tooltipX,\n elGrid: t.elGrid,\n hoverArea: t.hoverArea,\n ttItems: a.w.globals.tooltip.ttItems\n };\n a.w.globals.minX === this.w.globals.minX && a.w.globals.maxX === this.w.globals.maxX && a.w.globals.tooltip.seriesHoverByContext({\n chartCtx: a,\n ttCtx: a.w.globals.tooltip,\n opt: r,\n e\n });\n }) : this.seriesHoverByContext({\n chartCtx: this.ctx,\n ttCtx: this.w.globals.tooltip,\n opt: t,\n e\n }));\n }\n seriesHoverByContext({ chartCtx: t, ttCtx: e, opt: s, e: i }) {\n const a = t.w;\n if (!this.getElTooltip(t))\n return;\n const r = e.getCachedDimensions();\n e.tooltipRect = {\n x: 0,\n y: 0,\n ttWidth: r.ttWidth,\n ttHeight: r.ttHeight\n }, e.e = i, e.tooltipUtil.hasBars() && !a.globals.comboCharts && !e.isBarShared && this.tConfig.onDatasetHover.highlightDataSeries && new U(t.w).toggleSeriesOnHover(i, i.target.parentNode), a.globals.axisCharts ? e.axisChartsTooltips({\n e: i,\n opt: s,\n tooltipRect: e.tooltipRect\n }) : e.nonAxisChartsTooltips({\n e: i,\n opt: s,\n tooltipRect: e.tooltipRect\n }), e.fixedTooltip && e.drawFixedTooltipRect();\n }\n // tooltip handling for line/area/bar/columns/scatter\n axisChartsTooltips({ e: t, opt: e }) {\n const s = this.w;\n let i, a;\n const o = e.elGrid.getBoundingClientRect(), r = t.type === \"touchmove\" ? t.touches[0].clientX : t.clientX, n = t.type === \"touchmove\" ? t.touches[0].clientY : t.clientY;\n if (this.clientY = n, this.clientX = r, s.interact.capturedSeriesIndex = -1, s.interact.capturedDataPointIndex = -1, n < o.top || n > o.top + o.height) {\n this.handleMouseOut(e);\n return;\n }\n if (Array.isArray(this.tConfig.enabledOnSeries) && !s.config.tooltip.shared) {\n const p = parseInt(e.paths.getAttribute(\"index\"), 10);\n if (this.tConfig.enabledOnSeries.indexOf(p) < 0) {\n this.handleMouseOut(e);\n return;\n }\n }\n const l = this.getElTooltip(), c = this.getElXCrosshairs();\n let h = [];\n s.config.chart.group && (h = this.ctx.getSyncedCharts());\n const d = s.globals.xyCharts || s.config.chart.type === \"bar\" && !s.globals.isBarHorizontal && this.tooltipUtil.hasBars() && this.tConfig.shared || s.globals.comboCharts && this.tooltipUtil.hasBars();\n if (t.type === \"mousemove\" || t.type === \"touchmove\" || t.type === \"mouseup\") {\n if (s.globals.collapsedSeries.length + s.globals.ancillaryCollapsedSeries.length === s.seriesData.series.length)\n return;\n c !== null && c.classList.add(\"apexcharts-active\");\n const p = this.yaxisTooltips.filter((g) => g === !0);\n if (this.ycrosshairs !== null && p.length && this.ycrosshairs.classList.add(\"apexcharts-active\"), d && !this.showOnIntersect || h.length > 1)\n this.handleStickyTooltip(t, r, n, e);\n else if (s.config.chart.type === \"heatmap\" || s.config.chart.type === \"treemap\") {\n const g = this.intersect.handleHeatTreeTooltip({\n e: t,\n opt: e,\n x: i,\n y: a,\n type: s.config.chart.type\n });\n i = g.x, a = g.y, l.style.left = i + \"px\", l.style.top = a + \"px\";\n } else\n this.tooltipUtil.hasBars() && this.intersect.handleBarTooltip({\n e: t,\n opt: e\n }), this.tooltipUtil.hasMarkers() && this.intersect.handleMarkerTooltip({\n e: t,\n opt: e,\n x: i,\n y: a\n });\n if (this.yaxisTooltips.length)\n for (let g = 0; g < s.config.yaxis.length; g++)\n this.axesTooltip.drawYaxisTooltipText(g, n, this.xyRatios);\n s.dom.baseEl.classList.add(\"apexcharts-tooltip-active\"), e.tooltipEl.classList.add(\"apexcharts-active\"), s.config.chart.accessibility.enabled && s.config.chart.accessibility.announcements.enabled && e.tooltipEl.removeAttribute(\"aria-hidden\");\n } else\n (t.type === \"mouseout\" || t.type === \"touchend\") && this.handleMouseOut(e);\n }\n // tooltip handling for pie/donuts\n nonAxisChartsTooltips({ e: t, opt: e, tooltipRect: s }) {\n const i = this.w, a = e.paths.getAttribute(\"rel\"), o = this.getElTooltip(), r = i.dom.elWrap.getBoundingClientRect();\n if (t.type === \"mousemove\" || t.type === \"touchmove\") {\n i.dom.baseEl.classList.add(\"apexcharts-tooltip-active\"), o.classList.add(\"apexcharts-active\"), i.config.chart.accessibility.enabled && i.config.chart.accessibility.announcements.enabled && o.removeAttribute(\"aria-hidden\"), this.tooltipLabels.drawSeriesTexts({\n ttItems: e.ttItems,\n i: parseInt(a, 10) - 1,\n shared: !1\n });\n let n, l;\n const c = e.paths.querySelector(\"path[data\\\\:cx]\") || e.paths;\n if (i.config.tooltip.intersect && c.hasAttribute(\"data:cx\") && c.hasAttribute(\"data:cy\")) {\n const h = i.dom.Paper.node.getBoundingClientRect();\n n = h.left - r.left + parseFloat(c.getAttribute(\"data:cx\")) - s.ttWidth / 2, l = h.top - r.top + parseFloat(c.getAttribute(\"data:cy\")) - s.ttHeight - 10;\n } else\n n = i.interact.clientX - r.left - s.ttWidth / 2, l = i.interact.clientY - r.top - s.ttHeight - 10;\n if (o.style.left = n + \"px\", o.style.top = l + \"px\", i.config.legend.tooltipHoverFormatter) {\n const h = i.config.legend.tooltipHoverFormatter, d = a - 1, p = this.legendLabels[d].getAttribute(\"data:default-text\"), g = h(p, {\n seriesIndex: d,\n dataPointIndex: d,\n w: i\n });\n this.legendLabels[d].innerHTML = g;\n }\n } else\n (t.type === \"mouseout\" || t.type === \"touchend\") && (o.classList.remove(\"apexcharts-active\"), i.dom.baseEl.classList.remove(\"apexcharts-tooltip-active\"), i.config.legend.tooltipHoverFormatter && this.legendLabels.forEach((n) => {\n const l = n.getAttribute(\"data:default-text\");\n n.innerHTML = decodeURIComponent(l);\n }));\n }\n handleStickyTooltip(t, e, s, i) {\n const a = this.w, o = this.tooltipUtil.getNearestValues({\n context: this,\n hoverArea: i.hoverArea,\n elGrid: i.elGrid,\n clientX: e,\n clientY: s\n }), r = o.j;\n let n = o.capturedSeries;\n a.globals.collapsedSeriesIndices.includes(n) && (n = null);\n const l = i.elGrid.getBoundingClientRect();\n if (o.hoverX < 0 || o.hoverX > l.width) {\n this.handleMouseOut(i);\n return;\n }\n if (n !== null)\n this.handleStickyCapturedSeries(t, n, i, r);\n else if (this.tooltipUtil.isXoverlap(r) || a.globals.isBarHorizontal) {\n const c = a.seriesData.series.findIndex(\n (h, d) => !a.globals.collapsedSeriesIndices.includes(d)\n );\n this.create(t, this, c, r, i.ttItems);\n }\n }\n handleStickyCapturedSeries(t, e, s, i) {\n const a = this.w;\n if (!this.tConfig.shared && a.seriesData.series[e][i] === null) {\n this.handleMouseOut(s);\n return;\n }\n if (typeof a.seriesData.series[e][i] < \"u\")\n this.tConfig.shared && this.tooltipUtil.isXoverlap(i) && this.tooltipUtil.isInitialSeriesSameLen() ? this.create(t, this, e, i, s.ttItems) : this.create(t, this, e, i, s.ttItems, !1);\n else if (this.tooltipUtil.isXoverlap(i)) {\n const o = a.seriesData.series.findIndex(\n (r, n) => !a.globals.collapsedSeriesIndices.includes(n)\n );\n this.create(t, this, o, i, s.ttItems);\n }\n }\n deactivateHoverFilter() {\n const t = this.w, e = new P(this.w, this.ctx), s = t.dom.Paper.find(\".apexcharts-bar-area\");\n for (let i = 0; i < s.length; i++)\n e.pathMouseLeave(s[i]);\n }\n handleMouseOut(t) {\n const e = this.w, s = this.getElXCrosshairs();\n if (e.dom.baseEl.classList.remove(\"apexcharts-tooltip-active\"), t.tooltipEl.classList.remove(\"apexcharts-active\"), e.config.chart.accessibility.enabled && e.config.chart.accessibility.announcements.enabled && t.tooltipEl.setAttribute(\"aria-hidden\", \"true\"), this.deactivateHoverFilter(), e.config.chart.type !== \"bubble\" && this.marker.resetPointsSize(), s !== null && s.classList.remove(\"apexcharts-active\"), this.ycrosshairs !== null && this.ycrosshairs.classList.remove(\"apexcharts-active\"), this.isXAxisTooltipEnabled && this.xaxisTooltip.classList.remove(\"apexcharts-active\"), this.yaxisTooltips.length) {\n this.yaxisTTEls === null && (this.yaxisTTEls = e.dom.baseEl.querySelectorAll(\n \".apexcharts-yaxistooltip\"\n ));\n for (let i = 0; i < this.yaxisTTEls.length; i++)\n this.yaxisTTEls[i].classList.remove(\"apexcharts-active\");\n }\n e.config.legend.tooltipHoverFormatter && this.legendLabels.forEach((i) => {\n const a = i.getAttribute(\"data:default-text\");\n i.innerHTML = decodeURIComponent(a);\n });\n }\n markerClick(t, e, s) {\n const i = this.w;\n typeof i.config.chart.events.markerClick == \"function\" && i.config.chart.events.markerClick(t, this.ctx, {\n seriesIndex: e,\n dataPointIndex: s,\n w: i\n }), this.ctx.events.fireEvent(\"markerClick\", [\n t,\n this.ctx,\n { seriesIndex: e, dataPointIndex: s, w: i }\n ]);\n }\n create(t, e, s, i, a, o = null) {\n var r, n, l, c, h, d, p, g, f, x, m, u, y, b, w, v;\n const C = this.w, D = e;\n t.type === \"mouseup\" && this.markerClick(t, s, i), o === null && (o = this.tConfig.shared);\n const S = this.tooltipUtil.hasMarkers(s), k = this.tooltipUtil.getElBars(), F = () => {\n C.globals.markers.largestSize > 0 ? D.marker.enlargePoints(i) : D.tooltipPosition.moveDynamicPointsOnHover(i);\n };\n if (C.config.legend.tooltipHoverFormatter) {\n const M = C.config.legend.tooltipHoverFormatter, E = Array.from(this.legendLabels);\n E.forEach((X) => {\n const R = X.getAttribute(\"data:default-text\");\n X.innerHTML = decodeURIComponent(R);\n });\n for (let X = 0; X < E.length; X++) {\n const R = E[X], Y = parseInt(R.getAttribute(\"i\"), 10), z = decodeURIComponent(\n R.getAttribute(\"data:default-text\")\n ), H = M(z, {\n seriesIndex: o ? Y : s,\n dataPointIndex: i,\n w: C\n });\n if (o)\n R.innerHTML = C.globals.collapsedSeriesIndices.indexOf(Y) < 0 ? H : z;\n else if (R.innerHTML = Y === s ? H : z, s === Y)\n break;\n }\n }\n const T = I(I({\n ttItems: a,\n i: s,\n j: i\n }, typeof ((c = (l = (n = (r = C.rangeData.seriesRange) == null ? void 0 : r[s]) == null ? void 0 : n[i]) == null ? void 0 : l.y[0]) == null ? void 0 : c.y1) < \"u\" && {\n y1: (g = (p = (d = (h = C.rangeData.seriesRange) == null ? void 0 : h[s]) == null ? void 0 : d[i]) == null ? void 0 : p.y[0]) == null ? void 0 : g.y1\n }), typeof ((u = (m = (x = (f = C.rangeData.seriesRange) == null ? void 0 : f[s]) == null ? void 0 : x[i]) == null ? void 0 : m.y[0]) == null ? void 0 : u.y2) < \"u\" && {\n y2: (v = (w = (b = (y = C.rangeData.seriesRange) == null ? void 0 : y[s]) == null ? void 0 : b[i]) == null ? void 0 : w.y[0]) == null ? void 0 : v.y2\n });\n if (o) {\n if (D.tooltipLabels.drawSeriesTexts(O(I({}, T), {\n shared: this.showOnIntersect ? !1 : this.tConfig.shared\n })), S)\n F();\n else if (this.tooltipUtil.hasBars() && (this.barSeriesHeight = this.tooltipUtil.getBarsHeight(k), this.barSeriesHeight > 0)) {\n const M = new P(this.w, this.ctx), E = C.dom.Paper.find(`.apexcharts-bar-area[j='${i}']`);\n this.deactivateHoverFilter(), D.tooltipUtil.getAllMarkers(!0).length && !this.barSeriesHeight && F(), D.tooltipPosition.moveStickyTooltipOverBars(i, s);\n for (let R = 0; R < E.length; R++)\n M.pathMouseEnter(E[R]);\n }\n } else\n D.tooltipLabels.drawSeriesTexts(I({\n shared: !1\n }, T)), this.tooltipUtil.hasBars() && D.tooltipPosition.moveStickyTooltipOverBars(i, s), S && D.tooltipPosition.moveMarkers(s, i);\n }\n}\nlet tt = class dt {\n constructor(t) {\n this.node = t, t && (t.instance = this), this._listeners = [], this._filter = null;\n }\n // ---- Attribute methods ----\n attr(t, e) {\n if (typeof t == \"string\" && e === void 0)\n return this.node.getAttribute(t);\n const s = typeof t == \"string\" ? { [t]: e } : t;\n for (const i in s) {\n let a = s[i];\n a === null ? this.node.removeAttribute(i) : a !== void 0 && (typeof a == \"number\" && isNaN(a) && (a = 0), this.node.setAttribute(i, a));\n }\n if (this.node.nodeName === \"text\" && s.x != null) {\n const i = this.node.querySelectorAll(\"tspan[data-newline]\");\n for (let a = 0; a < i.length; a++)\n i[a].setAttribute(\"x\", s.x);\n }\n return this;\n }\n css(t) {\n for (const e in t)\n this.node.style[e] = t[e];\n return this;\n }\n fill(t) {\n return typeof t == \"object\" ? this.attr(t) : this.attr(\"fill\", t);\n }\n stroke(t) {\n return typeof t == \"object\" ? (t.color !== void 0 && this.attr(\"stroke\", t.color), t.width !== void 0 && this.attr(\"stroke-width\", t.width), t.dasharray !== void 0 && this.attr(\"stroke-dasharray\", t.dasharray), t.linecap !== void 0 && this.attr(\"stroke-linecap\", t.linecap), t.opacity !== void 0 && this.attr(\"stroke-opacity\", t.opacity), this) : this.attr(\"stroke\", t);\n }\n size(t, e) {\n return this.attr({ width: t, height: e });\n }\n move(t, e) {\n return this.attr({ x: t, y: e });\n }\n center(t, e) {\n if (this.node.nodeName === \"g\") {\n const s = this.bbox(), i = t - (s.x + s.width / 2), a = e - (s.y + s.height / 2);\n return this.attr(\"transform\", `translate(${i}, ${a})`);\n }\n return this.attr({ cx: t, cy: e });\n }\n // ---- Tree operations ----\n add(t) {\n return this.node.appendChild(t.node || t), this;\n }\n addTo(t) {\n return (t.node || t).appendChild(this.node), this;\n }\n remove() {\n return this.node.parentNode && this.node.parentNode.removeChild(this.node), this;\n }\n clear() {\n for (; this.node.firstChild; )\n this.node.removeChild(this.node.firstChild);\n return this;\n }\n // ---- Query ----\n find(t) {\n return Array.from(this.node.querySelectorAll(t)).map(\n (e) => e.instance || new dt(e)\n );\n }\n findOne(t) {\n const e = this.node.querySelector(t);\n return e ? e.instance || new dt(e) : null;\n }\n // ---- Events ----\n on(t, e) {\n const s = t.split(\".\")[0];\n return this._listeners.push({ event: t, eventType: s, handler: e }), this.node.addEventListener(s, e), this;\n }\n off(t, e) {\n if (!t && !e)\n this._listeners.forEach((s) => {\n this.node.removeEventListener(s.eventType, s.handler);\n }), this._listeners = [];\n else if (t && !e) {\n const s = t.split(\".\")[0];\n this._listeners = this._listeners.filter((i) => i.eventType === s ? (this.node.removeEventListener(i.eventType, i.handler), !1) : !0);\n } else {\n const s = t.split(\".\")[0];\n this._listeners = this._listeners.filter((i) => i.eventType === s && i.handler === e ? (this.node.removeEventListener(i.eventType, i.handler), !1) : !0);\n }\n return this;\n }\n // ---- Iteration ----\n each(t, e) {\n return Array.from(this.node.children).forEach((i) => {\n const a = i.instance || new dt(i);\n t.call(a), e && a.each(t, e);\n }), this;\n }\n // ---- CSS classes ----\n removeClass(t) {\n return t === \"*\" ? this.node.removeAttribute(\"class\") : this.node.classList.remove(t), this;\n }\n // ---- Children ----\n children() {\n return Array.from(this.node.childNodes).filter((t) => t.nodeType === 1).map((t) => t.instance || new dt(t));\n }\n // ---- Visibility ----\n hide() {\n return this.node.style.display = \"none\", this;\n }\n show() {\n return this.node.style.display = \"\", this;\n }\n // ---- Measurement ----\n bbox() {\n if (typeof this.node.getBBox == \"function\")\n try {\n return this.node.getBBox();\n } catch {\n }\n return { x: 0, y: 0, width: 0, height: 0 };\n }\n // ---- Text-specific ----\n tspan(t) {\n const e = N.createElementNS(\"http://www.w3.org/2000/svg\", \"tspan\");\n return e.textContent = t, this.node.appendChild(e), new dt(e);\n }\n // ---- Path-specific ----\n plot(t) {\n return typeof t == \"string\" && this.attr(\"d\", t), this;\n }\n // ---- Animation (overridden by SVGAnimation mixin) ----\n animate() {\n throw new Error(\"Animation module not loaded\");\n }\n // ---- Filter methods (set up by SVGFilter module) ----\n filterWith() {\n throw new Error(\"Filter module not loaded\");\n }\n unfilter(t) {\n return this._filter && (this.node.removeAttribute(\"filter\"), t && this._filter.node && this._filter.node.parentNode && this._filter.node.parentNode.removeChild(this._filter.node), this._filter = null), this;\n }\n filterer() {\n return this._filter;\n }\n}, os = 0;\nclass rs extends tt {\n constructor(t, e, s) {\n const i = e === \"radial\" ? \"radialGradient\" : \"linearGradient\", a = N.createElementNS(G, i);\n super(a), this._id = \"SvgjsGradient\" + ++os, this.attr(\"id\", this._id), typeof s == \"function\" && s(new ns(this));\n let o = t.node.querySelector(\"defs\");\n o || (o = N.createElementNS(G, \"defs\"), t.node.appendChild(o)), o.appendChild(this.node);\n }\n stop(t, e, s) {\n const i = N.createElementNS(G, \"stop\");\n return i.setAttribute(\"offset\", t), i.setAttribute(\"stop-color\", e), s !== void 0 && i.setAttribute(\"stop-opacity\", s), this.node.appendChild(i), this;\n }\n from(t, e) {\n return this.attr({ x1: t, y1: e });\n }\n to(t, e) {\n return this.attr({ x2: t, y2: e });\n }\n url() {\n return \"url(#\" + this._id + \")\";\n }\n toString() {\n return this.url();\n }\n valueOf() {\n return this.url();\n }\n fill() {\n return this.url();\n }\n}\nclass ns {\n constructor(t) {\n this.gradient = t;\n }\n stop(t, e, s) {\n return this.gradient.stop(t, e, s), this;\n }\n}\nlet ls = 0;\nclass cs extends tt {\n constructor(t, e, s, i) {\n const a = N.createElementNS(G, \"pattern\");\n if (super(a), this._id = \"SvgjsPattern\" + ++ls, this.attr({\n id: this._id,\n width: e,\n height: s,\n patternUnits: \"userSpaceOnUse\"\n }), typeof i == \"function\") {\n const r = new At(this.node);\n i(r);\n }\n let o = t.node.querySelector(\"defs\");\n o || (o = N.createElementNS(G, \"defs\"), t.node.appendChild(o)), o.appendChild(this.node);\n }\n url() {\n return \"url(#\" + this._id + \")\";\n }\n toString() {\n return this.url();\n }\n valueOf() {\n return this.url();\n }\n fill() {\n return this.url();\n }\n}\nclass At extends tt {\n line(t, e, s, i) {\n const a = this._make(\"line\");\n return t !== void 0 && a.attr({ x1: t, y1: e, x2: s, y2: i }), a;\n }\n rect(t, e) {\n const s = this._make(\"rect\");\n return t !== void 0 && s.attr({ width: t, height: e }), s;\n }\n circle(t) {\n const e = this._make(\"circle\");\n return t !== void 0 && e.attr({ r: t / 2, cx: t / 2, cy: t / 2 }), e;\n }\n path(t) {\n const e = this._make(\"path\");\n return t && e.attr(\"d\", t), e;\n }\n polygon(t) {\n const e = this._make(\"polygon\");\n return t && e.attr(\"points\", t), e;\n }\n group() {\n return this._makeContainer(\"g\");\n }\n defs() {\n return this._makeContainer(\"defs\");\n }\n plain(t) {\n const e = N.createElementNS(G, \"text\");\n e.textContent = t;\n const s = new tt(e);\n return this.node.appendChild(e), s;\n }\n text(t) {\n const e = N.createElementNS(G, \"text\"), s = new tt(e);\n return this.node.appendChild(e), typeof t == \"function\" && t(new hs(e)), s;\n }\n image(t, e) {\n const s = N.createElementNS(G, \"image\");\n s.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", t);\n const i = new tt(s);\n if (this.node.appendChild(s), typeof e == \"function\") {\n const a = new Image();\n a.onload = function() {\n i.size(a.width, a.height), e.call(i, { width: a.width, height: a.height });\n }, a.src = t;\n }\n return i;\n }\n gradient(t, e) {\n return new rs(this, t, e);\n }\n pattern(t, e, s) {\n return new cs(this, t, e, s);\n }\n _make(t) {\n const e = N.createElementNS(G, t);\n return this.node.appendChild(e), new tt(e);\n }\n _makeContainer(t) {\n const e = N.createElementNS(G, t);\n return this.node.appendChild(e), new At(e);\n }\n}\nclass hs {\n constructor(t) {\n this.textNode = t;\n }\n tspan(t) {\n const e = N.createElementNS(G, \"tspan\");\n return e.textContent = t, this.textNode.appendChild(e), new ds(e, this.textNode);\n }\n}\nclass ds {\n constructor(t, e) {\n this.node = t, this.textNode = e;\n }\n newLine() {\n return this.node.setAttribute(\"dy\", \"1.1em\"), this.node.dataset.newline = \"1\", this;\n }\n}\nlet gs = 0;\nclass fs extends tt {\n constructor() {\n const t = N.createElementNS(G, \"filter\");\n super(t), this._id = \"SvgjsFilter\" + ++gs, this.attr(\"id\", this._id);\n }\n size(t, e, s, i) {\n return this.attr({ width: t, height: e, x: s, y: i });\n }\n}\nclass ps {\n constructor(t) {\n this.filter = t;\n }\n colorMatrix(t) {\n return this._primitive(\"feColorMatrix\", t);\n }\n offset(t) {\n return this._primitive(\"feOffset\", t);\n }\n gaussianBlur(t) {\n return this._primitive(\"feGaussianBlur\", t);\n }\n flood(t) {\n return this._primitive(\"feFlood\", t);\n }\n composite(t) {\n return this._primitive(\"feComposite\", t);\n }\n merge(t) {\n const e = N.createElementNS(G, \"feMerge\");\n return t.forEach((s) => {\n const i = N.createElementNS(G, \"feMergeNode\");\n i.setAttribute(\"in\", s), e.appendChild(i);\n }), this.filter.node.appendChild(e), new tt(e);\n }\n _primitive(t, e) {\n const s = N.createElementNS(G, t);\n for (const i in e)\n s.setAttribute(i, e[i]);\n return this.filter.node.appendChild(s), new tt(s);\n }\n}\nfunction us(A) {\n A.prototype.filterWith = function(t) {\n const e = new fs();\n this._filter = e;\n let s = this.node;\n for (; s && s.nodeName !== \"svg\"; )\n s = s.parentNode;\n if (s) {\n let i = s.querySelector(\"defs\");\n i || (i = N.createElementNS(G, \"defs\"), s.insertBefore(i, s.firstChild)), i.appendChild(e.node);\n }\n return t(new ps(e)), this.attr(\"filter\", \"url(#\" + e._id + \")\"), this;\n }, A.prototype.unfilter = function(t) {\n return this._filter && (this.node.removeAttribute(\"filter\"), t && this._filter.node && this._filter.node.parentNode && this._filter.node.parentNode.removeChild(this._filter.node), this._filter = null), this;\n }, A.prototype.filterer = function() {\n return this._filter;\n };\n}\n/*!\n * Path morphing for SVG path animations\n * Based on svg.pathmorphing.js by Ulrich-Matthias Schäfer (MIT License)\n * Refactored to be standalone (no SVG.js dependency)\n */\nfunction qt(A) {\n if (!A || typeof A != \"string\")\n return [[\"M\", 0, 0]];\n const t = [], e = /([MmLlHhVvCcSsQqTtAaZz])\\s*/g, s = /[+-]?(?:\\d+\\.?\\d*|\\.\\d+)(?:e[+-]?\\d+)?/gi;\n let i;\n const a = [], o = [];\n for (; (i = e.exec(A)) !== null; )\n a.push(i[1]), o.push(i.index);\n for (let r = 0; r < a.length; r++) {\n const n = o[r] + a[r].length, l = r + 1 < o.length ? o[r + 1] : A.length, c = A.substring(n, l), h = [];\n let d;\n for (s.lastIndex = 0; (d = s.exec(c)) !== null; )\n h.push(parseFloat(d[0]));\n const p = a[r].toUpperCase();\n if (p === \"Z\")\n t.push([\"Z\"]);\n else if (p === \"M\" || p === \"L\" || p === \"T\")\n for (let g = 0; g < h.length; g += 2)\n t.push([p, h[g], h[g + 1]]);\n else if (p === \"H\")\n for (let g = 0; g < h.length; g++)\n t.push([p, h[g]]);\n else if (p === \"V\")\n for (let g = 0; g < h.length; g++)\n t.push([p, h[g]]);\n else if (p === \"C\")\n for (let g = 0; g < h.length; g += 6)\n t.push([\n p,\n h[g],\n h[g + 1],\n h[g + 2],\n h[g + 3],\n h[g + 4],\n h[g + 5]\n ]);\n else if (p === \"S\" || p === \"Q\")\n for (let g = 0; g < h.length; g += 4)\n t.push([p, h[g], h[g + 1], h[g + 2], h[g + 3]]);\n else if (p === \"A\")\n for (let g = 0; g < h.length; g += 7)\n t.push([\n p,\n h[g],\n h[g + 1],\n h[g + 2],\n h[g + 3],\n h[g + 4],\n h[g + 5],\n h[g + 6]\n ]);\n }\n return t.length === 0 && t.push([\"M\", 0, 0]), t;\n}\nfunction Zt(A) {\n let t = 1 / 0, e = 1 / 0, s = -1 / 0, i = -1 / 0;\n return A.forEach((a) => {\n for (let o = 1; o < a.length; o += 2)\n if (o + 1 <= a.length) {\n const r = a[o], n = a[o + 1];\n typeof r == \"number\" && typeof n == \"number\" && (r < t && (t = r), r > s && (s = r), n < e && (e = n), n > i && (i = n));\n }\n }), t === 1 / 0 ? { x: 0, y: 0, width: 0, height: 0 } : { x: t, y: e, width: s - t, height: i - e };\n}\nfunction xs(A) {\n return A.map((t) => t.join(\" \")).join(\" \");\n}\nfunction jt(A) {\n switch (A[0]) {\n case \"z\":\n case \"Z\":\n A[0] = \"L\", A[1] = this.start[0], A[2] = this.start[1];\n break;\n case \"H\":\n A[0] = \"L\", A[2] = this.pos[1];\n break;\n case \"V\":\n A[0] = \"L\", A[2] = A[1], A[1] = this.pos[0];\n break;\n case \"T\":\n A[0] = \"Q\", A[3] = A[1], A[4] = A[2], A[1] = this.reflection[1], A[2] = this.reflection[0];\n break;\n case \"S\":\n A[0] = \"C\", A[6] = A[4], A[5] = A[3], A[4] = A[2], A[3] = A[1], A[2] = this.reflection[1], A[1] = this.reflection[0];\n break;\n }\n return A;\n}\nfunction Kt(A) {\n var t = A.length;\n return this.pos = [A[t - 2], A[t - 1]], \"SCQT\".indexOf(A[0]) != -1 && (this.reflection = [\n 2 * this.pos[0] - A[t - 4],\n 2 * this.pos[1] - A[t - 3]\n ]), A;\n}\nfunction Jt(A) {\n var t = [A];\n switch (A[0]) {\n case \"M\":\n return this.pos = this.start = [A[1], A[2]], t;\n case \"L\":\n A[5] = A[3] = A[1], A[6] = A[4] = A[2], A[1] = this.pos[0], A[2] = this.pos[1];\n break;\n case \"Q\":\n A[6] = A[4], A[5] = A[3], A[4] = A[4] * 1 / 3 + A[2] * 2 / 3, A[3] = A[3] * 1 / 3 + A[1] * 2 / 3, A[2] = this.pos[1] * 1 / 3 + A[2] * 2 / 3, A[1] = this.pos[0] * 1 / 3 + A[1] * 2 / 3;\n break;\n case \"A\":\n t = ms(this.pos, A), A = t[0];\n break;\n }\n return A[0] = \"C\", this.pos = [A[5], A[6]], this.reflection = [2 * A[5] - A[3], 2 * A[6] - A[4]], t;\n}\nfunction Qt(A, t) {\n if (t === !1)\n return !1;\n for (var e = t, s = A.length; e < s; ++e)\n if (A[e][0] == \"M\")\n return e;\n return !1;\n}\nfunction ms(A, t) {\n var e = Math.abs(t[1]), s = Math.abs(t[2]), i = t[3] % 360, a = t[4], o = t[5], r = t[6], n = t[7], l = new et(A[0], A[1]), c = new et(r, n), h, d, p, g, f, x, m, u, y, b, w, v, C, D, S, k, F, T, M, E, X, R, Y = [], z, H, _, $;\n if (e === 0 || s === 0 || l.x === c.x && l.y === c.y)\n return [[\"C\", l.x, l.y, c.x, c.y, c.x, c.y]];\n for (h = new et((l.x - c.x) / 2, (l.y - c.y) / 2).transform(\n new lt().rotate(i)\n ), d = h.x * h.x / (e * e) + h.y * h.y / (s * s), d > 1 && (d = Math.sqrt(d), e = d * e, s = d * s), p = new lt().rotate(i).scale(1 / e, 1 / s).rotate(-i), l = l.transform(p), c = c.transform(p), g = [c.x - l.x, c.y - l.y], x = g[0] * g[0] + g[1] * g[1], f = Math.sqrt(x), g[0] /= f, g[1] /= f, m = x < 4 ? Math.sqrt(1 - x / 4) : 0, a === o && (m *= -1), u = new et(\n (c.x + l.x) / 2 + m * -g[1],\n (c.y + l.y) / 2 + m * g[0]\n ), y = new et(l.x - u.x, l.y - u.y), b = new et(c.x - u.x, c.y - u.y), w = Math.acos(y.x / Math.sqrt(y.x * y.x + y.y * y.y)), y.y < 0 && (w *= -1), v = Math.acos(b.x / Math.sqrt(b.x * b.x + b.y * b.y)), b.y < 0 && (v *= -1), o && w > v && (v += 2 * Math.PI), !o && w < v && (v -= 2 * Math.PI), D = Math.ceil(Math.abs(w - v) * 2 / Math.PI), k = [], F = w, C = (v - w) / D, S = 4 * Math.tan(C / 4) / 3, X = 0; X <= D; X++)\n M = Math.cos(F), T = Math.sin(F), E = new et(u.x + M, u.y + T), k[X] = [\n new et(E.x + S * T, E.y - S * M),\n E,\n new et(E.x - S * T, E.y + S * M)\n ], F += C;\n for (k[0][0] = k[0][1].clone(), k[k.length - 1][2] = k[k.length - 1][1].clone(), p = new lt().rotate(i).scale(e, s).rotate(-i), X = 0, R = k.length; X < R; X++)\n k[X][0] = k[X][0].transform(p), k[X][1] = k[X][1].transform(p), k[X][2] = k[X][2].transform(p);\n for (X = 1, R = k.length; X < R; X++)\n E = k[X - 1][2], z = E.x, H = E.y, E = k[X][0], _ = E.x, $ = E.y, E = k[X][1], r = E.x, n = E.y, Y.push([\"C\", z, H, _, $, r, n]);\n return Y;\n}\nfunction bs(A, t, e, s, i, a) {\n for (var o = A.slice(\n t,\n e || void 0\n ), r = s.slice(i, a || void 0), n = 0, l = { pos: [0, 0], start: [0, 0] }, c = { pos: [0, 0], start: [0, 0] }; o[n] = jt.call(l, o[n]), r[n] = jt.call(c, r[n]), o[n][0] != r[n][0] || o[n][0] == \"M\" || o[n][0] == \"A\" && (o[n][4] != r[n][4] || o[n][5] != r[n][5]) ? (Array.prototype.splice.apply(\n o,\n [n, 1].concat(Jt.call(l, o[n]))\n ), Array.prototype.splice.apply(\n r,\n [n, 1].concat(Jt.call(c, r[n]))\n )) : (o[n] = Kt.call(l, o[n]), r[n] = Kt.call(c, r[n])), !(++n == o.length && n == r.length); )\n n == o.length && o.push([\n \"C\",\n l.pos[0],\n l.pos[1],\n l.pos[0],\n l.pos[1],\n l.pos[0],\n l.pos[1]\n ]), n == r.length && r.push([\n \"C\",\n c.pos[0],\n c.pos[1],\n c.pos[0],\n c.pos[1],\n c.pos[0],\n c.pos[1]\n ]);\n return { start: o, dest: r };\n}\nfunction ys(A, t) {\n for (var e = qt(A), s = qt(t), i = 0, a = 0, o = !1, r = !1, n; !(i === !1 && a === !1); ) {\n if (o = Qt(\n e,\n i === !1 ? !1 : i + 1\n ), r = Qt(\n s,\n a === !1 ? !1 : a + 1\n ), i === !1) {\n const l = Zt(n.start);\n l.height == 0 || l.width == 0 ? i = e.push(e[0]) - 1 : i = e.push([\n \"M\",\n l.x + l.width / 2,\n l.y + l.height / 2\n ]) - 1;\n }\n if (a === !1) {\n const l = Zt(n.dest);\n l.height == 0 || l.width == 0 ? a = s.push(s[0]) - 1 : a = s.push([\n \"M\",\n l.x + l.width / 2,\n l.y + l.height / 2\n ]) - 1;\n }\n n = bs(\n e,\n i,\n o,\n s,\n a,\n r\n ), e = e.slice(0, i).concat(\n n.start,\n o === !1 ? [] : e.slice(o)\n ), s = s.slice(0, a).concat(\n n.dest,\n r === !1 ? [] : s.slice(r)\n ), i = o === !1 ? !1 : i + n.start.length, a = r === !1 ? !1 : a + n.dest.length;\n }\n return { start: e, dest: s };\n}\nfunction ws(A, t) {\n var e = ys(A, t), s = e.start, i = e.dest;\n return function(a) {\n var o = s.map(function(r, n) {\n return i[n].map(function(l, c) {\n return c === 0 ? l : r[c] + (i[n][c] - r[c]) * a;\n });\n });\n return xs(o);\n };\n}\nfunction vs(A) {\n return -Math.cos(A * Math.PI) / 2 + 0.5;\n}\nfunction te(A) {\n if (!A || typeof A != \"string\")\n return null;\n if (A[0] === \"#\") {\n let e = A.slice(1);\n e.length === 3 && (e = e[0] + e[0] + e[1] + e[1] + e[2] + e[2]);\n const s = parseInt(e, 16);\n return [s >> 16 & 255, s >> 8 & 255, s & 255, 1];\n }\n const t = A.match(\n /rgba?\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(?:,\\s*([\\d.]+))?\\s*\\)/\n );\n return t ? [+t[1], +t[2], +t[3], t[4] !== void 0 ? +t[4] : 1] : null;\n}\nfunction As(A, t, e) {\n return `rgba(${Math.round(A[0] + (t[0] - A[0]) * e)},${Math.round(A[1] + (t[1] - A[1]) * e)},${Math.round(A[2] + (t[2] - A[2]) * e)},${A[3] + (t[3] - A[3]) * e})`;\n}\nclass Gt {\n constructor(t, e, s) {\n this.el = t, this.duration = e ?? 300, this.delay = s || 0, this._attrTarget = null, this._plotTarget = null, this._afterCb = null, this._duringCb = null, this._next = null, this._root = null, this._scheduled = !1;\n }\n attr(t) {\n return this._attrTarget = t, this._schedule(), this;\n }\n plot(t) {\n return this._plotTarget = t, this._schedule(), this;\n }\n after(t) {\n return this._afterCb = t, this._schedule(), this;\n }\n during(t) {\n return this._duringCb = t, this._schedule(), this;\n }\n animate(t, e) {\n const s = new Gt(this.el, t, e);\n return this._next = s, s._root = this._root || this, s;\n }\n _schedule() {\n const t = this._root || this;\n t._scheduled || (t._scheduled = !0, queueMicrotask(() => t._executeChain()));\n }\n _executeChain() {\n const t = [];\n let e = this;\n for (; e; )\n t.push(e), e = e._next;\n let s = 0;\n t.forEach((i) => {\n s += i.delay, i._execute(s), s += i.duration;\n });\n }\n _execute(t) {\n const e = this.el, s = this.duration;\n if (s <= 1) {\n const a = () => {\n this._attrTarget && e.attr(this._attrTarget), this._plotTarget && e.plot(this._plotTarget), this._afterCb && this._afterCb.call(e);\n };\n t > 0 ? setTimeout(a, t) : a();\n return;\n }\n const i = () => {\n const a = {}, o = {}, r = {};\n if (this._attrTarget)\n for (const h of Object.keys(this._attrTarget)) {\n const d = e.attr(h);\n a[h] = d;\n const p = te(d), g = te(String(this._attrTarget[h]));\n p && g && (o[h] = p, r[h] = g);\n }\n let n = null;\n if (this._plotTarget) {\n const h = e.attr(\"d\") || \"\";\n try {\n n = ws(h, this._plotTarget);\n } catch {\n n = null;\n }\n }\n const l = performance.now(), c = (h) => {\n const d = h - l, p = Math.min(d / s, 1), g = vs(p);\n if (this._attrTarget)\n if (p >= 1)\n e.attr(this._attrTarget);\n else {\n const f = {};\n for (const x of Object.keys(this._attrTarget))\n if (o[x] && r[x])\n f[x] = As(\n o[x],\n r[x],\n g\n );\n else {\n const m = parseFloat(a[x]), u = parseFloat(this._attrTarget[x]);\n !isNaN(m) && !isNaN(u) && (f[x] = m + (u - m) * g);\n }\n e.attr(f);\n }\n n && p < 1 && e.attr(\"d\", n(g)), this._duringCb && this._duringCb(g), p < 1 ? N.requestAnimationFrame(c) : (this._plotTarget && e.attr(\"d\", this._plotTarget), this._afterCb && this._afterCb.call(e));\n };\n N.requestAnimationFrame(c);\n };\n t > 0 ? setTimeout(i, t) : i();\n }\n}\nfunction Cs(A) {\n A.prototype.animate = function(t, e) {\n return new Gt(this, t, e);\n };\n}\nfunction Ss(A) {\n A.prototype.draggable = function(t) {\n if (t === !1)\n return this._dragCleanup && (this._dragCleanup(), this._dragCleanup = null), this;\n const e = this, s = t || {}, i = (a) => {\n if (a.button && a.button !== 0)\n return;\n a.stopPropagation();\n const r = a.type === \"touchstart\" ? a.touches[0] : a, n = e.node, l = parseFloat(n.getAttribute(\"x\")) || 0, c = parseFloat(n.getAttribute(\"y\")) || 0, h = r.clientX, d = r.clientY, p = n.ownerSVGElement;\n let g = null;\n p && (g = p.getScreenCTM());\n const f = (m) => {\n const u = m.type === \"touchmove\" ? m.touches[0] : m;\n let y = u.clientX - h, b = u.clientY - d;\n g && (y = y / g.a, b = b / g.d);\n let w = l + y, v = c + b;\n const C = parseFloat(n.getAttribute(\"width\")) || 0, D = parseFloat(n.getAttribute(\"height\")) || 0;\n s.minX !== void 0 && w < s.minX && (w = s.minX), s.minY !== void 0 && v < s.minY && (v = s.minY), s.maxX !== void 0 && w + C > s.maxX && (w = s.maxX - C), s.maxY !== void 0 && v + D > s.maxY && (v = s.maxY - D);\n const S = {\n x: w,\n y: v,\n w: C,\n h: D,\n x2: w + C,\n y2: v + D\n }, k = new CustomEvent(\"dragmove\", {\n detail: {\n handler: {\n move: function(F, T) {\n n.setAttribute(\"x\", F), n.setAttribute(\"y\", T);\n }\n },\n box: S\n }\n });\n n.dispatchEvent(k);\n }, x = () => {\n B.isBrowser() && (document.removeEventListener(\"mousemove\", f), document.removeEventListener(\"touchmove\", f), document.removeEventListener(\"mouseup\", x), document.removeEventListener(\"touchend\", x));\n };\n B.isBrowser() && (document.addEventListener(\"mousemove\", f), document.addEventListener(\"touchmove\", f), document.addEventListener(\"mouseup\", x), document.addEventListener(\"touchend\", x));\n };\n return e.node.addEventListener(\"mousedown\", i), e.node.addEventListener(\"touchstart\", i), e._dragCleanup = () => {\n e.node.removeEventListener(\"mousedown\", i), e.node.removeEventListener(\"touchstart\", i);\n }, e;\n };\n}\nfunction ks(A) {\n A.prototype.select = function(t) {\n if (t === !1)\n return this._selectCleanup && (this._selectCleanup(), this._selectCleanup = null), this;\n const e = this, { createHandle: s, updateHandle: i } = t, a = document.createElementNS(G, \"g\");\n a.setAttribute(\"class\", \"svg_select_points\");\n const o = e.node.parentNode;\n o && o.appendChild(a);\n const r = {}, n = [\"t\", \"b\", \"l\", \"r\", \"lt\", \"rt\", \"lb\", \"rb\"];\n n.forEach((c, h) => {\n const d = new At(\n document.createElementNS(G, \"g\")\n );\n a.appendChild(d.node);\n const p = s(d, [0, 0], h, [], c);\n r[c] = { group: d, handle: p };\n });\n const l = () => {\n const c = parseFloat(e.attr(\"x\")) || 0, h = parseFloat(e.attr(\"y\")) || 0, d = parseFloat(e.attr(\"width\")) || 0, p = parseFloat(e.attr(\"height\")) || 0, g = e.node.getAttribute(\"transform\");\n g ? a.setAttribute(\"transform\", g) : a.removeAttribute(\"transform\");\n const f = {\n t: [c + d / 2, h],\n b: [c + d / 2, h + p],\n l: [c, h + p / 2],\n r: [c + d, h + p / 2],\n lt: [c, h],\n rt: [c + d, h],\n lb: [c, h + p],\n rb: [c + d, h + p]\n };\n n.forEach((x) => {\n r[x] && f[x] && i(r[x].group, f[x]);\n });\n };\n return l(), e._selectHandles = a, e._selectHandlesMap = r, e._updateSelectPositions = l, e._selectCleanup = () => {\n a.parentNode && a.parentNode.removeChild(a), e._selectHandles = null, e._selectHandlesMap = null, e._updateSelectPositions = null;\n }, e;\n }, A.prototype.resize = function(t) {\n if (t === !1)\n return this._resizeCleanup && (this._resizeCleanup(), this._resizeCleanup = null), this;\n const e = this, s = e._selectHandlesMap;\n if (!s)\n return e;\n const i = [], a = (o) => {\n const r = s[o];\n if (!r || !r.group || !r.group.node)\n return;\n const n = r.group.node, l = (c) => {\n if (c.button && c.button !== 0)\n return;\n c.stopPropagation();\n const p = (c.type === \"touchstart\" ? c.touches[0] : c).clientX, g = e.node.ownerSVGElement;\n let f = null;\n g && (f = g.getScreenCTM());\n const x = parseFloat(e.attr(\"x\")) || 0, m = parseFloat(e.attr(\"width\")) || 0, u = (b) => {\n let v = (b.type === \"touchmove\" ? b.touches[0] : b).clientX - p;\n f && (v = v / f.a);\n let C = x, D = m;\n o === \"l\" ? (C = x + v, D = m - v) : o === \"r\" && (D = m + v), D < 0 && (D = 0), e.attr({ x: C, width: D }), e._updateSelectPositions && e._updateSelectPositions();\n const S = new CustomEvent(\"resize\", {\n detail: { el: e }\n });\n e.node.dispatchEvent(S);\n }, y = () => {\n B.isBrowser() && (document.removeEventListener(\"mousemove\", u), document.removeEventListener(\"touchmove\", u), document.removeEventListener(\"mouseup\", y), document.removeEventListener(\"touchend\", y));\n const b = new CustomEvent(\"resize\", {\n detail: { el: e }\n });\n e.node.dispatchEvent(b);\n };\n B.isBrowser() && (document.addEventListener(\"mousemove\", u), document.addEventListener(\"touchmove\", u), document.addEventListener(\"mouseup\", y), document.addEventListener(\"touchend\", y));\n };\n n.addEventListener(\"mousedown\", l), n.addEventListener(\"touchstart\", l), i.push(() => {\n n.removeEventListener(\"mousedown\", l), n.removeEventListener(\"touchstart\", l);\n });\n };\n return a(\"l\"), a(\"r\"), e._resizeCleanup = () => {\n i.forEach((o) => o());\n }, e;\n };\n}\nus(tt);\nCs(tt);\nSs(tt);\nks(tt);\nfunction Tt() {\n const A = N.createElementNS(G, \"svg\"), t = new At(A);\n return t.attr({ xmlns: G }), t;\n}\nTt.xlink = \"http://www.w3.org/1999/xlink\";\nB.isBrowser() && typeof window.SVG > \"u\" && (window.SVG = Tt);\nB.isBrowser() ? (typeof window.SVG > \"u\" && (window.SVG = Tt), typeof window.Apex > \"u\" && (window.Apex = {})) : typeof global < \"u\" && (typeof global.Apex > \"u\" && (global.Apex = {}), typeof global.SVG > \"u\" && (global.SVG = Tt));\nconst we = class zt {\n /**\n * Register one or more optional feature modules.\n *\n * @param {Record<string, new (w: object, ctx: object) => unknown>} featureMap\n * Plain object mapping ctx property name → constructor.\n *\n * Example (called from src/features/legend.js):\n * InitCtxVariables.registerFeatures({ legend: Legend })\n */\n static registerFeatures(t) {\n for (const [e, s] of Object.entries(t))\n zt._featureRegistry.set(e, s);\n }\n constructor(t) {\n this.ctx = t, this.w = t.w;\n }\n initModules() {\n this.ctx.publicMethods = [\n \"updateOptions\",\n \"updateSeries\",\n \"appendData\",\n \"appendSeries\",\n \"isSeriesHidden\",\n \"highlightSeries\",\n \"toggleSeries\",\n \"showSeries\",\n \"hideSeries\",\n \"setLocale\",\n \"resetSeries\",\n \"zoomX\",\n \"toggleDataPointSelection\",\n \"dataURI\",\n \"exportToCSV\",\n \"addXaxisAnnotation\",\n \"addYaxisAnnotation\",\n \"addPointAnnotation\",\n \"clearAnnotations\",\n \"removeAnnotation\",\n \"paper\",\n \"destroy\"\n ], this.ctx.eventList = [\n \"click\",\n \"mousedown\",\n \"mousemove\",\n \"mouseleave\",\n \"touchstart\",\n \"touchmove\",\n \"touchleave\",\n \"mouseup\",\n \"touchend\",\n \"keydown\",\n \"keyup\"\n ], this.ctx.animations = new ut(this.w, this.ctx), this.ctx.axes = new Oe(this.w, this.ctx), this.ctx.core = new Je(this.ctx.el, this.w, this.ctx), this.ctx.config = new yt({}), this.ctx.data = new Wt(this.w, {\n resetGlobals: () => this.ctx.core.resetGlobals(),\n isMultipleY: () => this.ctx.core.isMultipleY()\n }), this.ctx.grid = new fe(this.w, this.ctx), this.ctx.graphics = new P(this.w, this.ctx), this.ctx.coreUtils = new V(this.w), this.ctx.crosshairs = new Bt(this.w), this.ctx.events = new ze(this.w, this.ctx), this.ctx.fill = new st(this.w), this.ctx.localization = new He(this.w), this.ctx.options = new nt(), this.ctx.responsive = new _e(this.w), this.ctx.series = new U(this.w, {\n // legend may not be registered — guard with ?.\n toggleDataSeries: (...e) => {\n var s;\n return (s = this.ctx.legend) == null ? void 0 : s.legendHelpers.toggleDataSeries(...e);\n },\n revertDefaultAxisMinMax: () => this.ctx.updateHelpers.revertDefaultAxisMinMax(),\n updateSeries: (...e) => this.ctx.updateHelpers._updateSeries(...e)\n }), this.ctx.theme = new We(this.w), this.ctx.formatters = new vt(this.w), this.ctx.titleSubtitle = new Ge(this.w), this.ctx.dimensions = new Dt(this.w, this.ctx), this.ctx.updateHelpers = new Qe(this.w, this.ctx);\n const t = new as(this.w, this.ctx);\n this.w.globals.tooltip = t, Object.defineProperty(this.ctx, \"tooltip\", {\n get() {\n return this.w.globals.tooltip;\n },\n configurable: !0\n }), this._initOptionalModules();\n }\n /**\n * Instantiate optional feature modules from the registry.\n *\n * Modules that are not registered are set to null on ctx so that call sites\n * can safely use optional-chaining (ctx.tooltip?.drawTooltip(...)).\n *\n * Lazy-getter features (toolbar, zoomPanSelection, keyboardNavigation) are\n * installed as on-demand getters so they are only constructed if accessed,\n * and only if their constructor was registered.\n */\n _initOptionalModules() {\n const t = zt._featureRegistry, e = this.w, s = this.ctx, i = t.get(\"exports\");\n s.exports = i ? new i(e, s) : null;\n const a = t.get(\"legend\");\n s.legend = a ? new a(e, s) : null;\n const o = t.get(\"toolbar\");\n Object.defineProperty(s, \"toolbar\", {\n get() {\n var l;\n return !this._toolbar && o && (this._toolbar = new o(e, this)), (l = this._toolbar) != null ? l : null;\n },\n configurable: !0\n });\n const r = t.get(\"zoomPanSelection\");\n Object.defineProperty(s, \"zoomPanSelection\", {\n get() {\n var l;\n return !this._zoomPanSelection && r && (this._zoomPanSelection = new r(e, this)), (l = this._zoomPanSelection) != null ? l : null;\n },\n configurable: !0\n });\n const n = t.get(\"keyboardNavigation\");\n Object.defineProperty(s, \"keyboardNavigation\", {\n get() {\n var l;\n return !this._keyboardNavigation && n && (this._keyboardNavigation = new n(e, this)), (l = this._keyboardNavigation) != null ? l : null;\n },\n configurable: !0\n });\n }\n};\nEe(we, \"_featureRegistry\", /* @__PURE__ */ new Map());\nlet St = we;\nclass ee {\n constructor(t) {\n this.ctx = t, this.w = t.w;\n }\n clear({ isUpdating: t }) {\n this.ctx._zoomPanSelection && this.ctx._zoomPanSelection.destroy(), this.ctx._toolbar && this.ctx._toolbar.destroy(), this.w.globals.resizeObserver && typeof this.w.globals.resizeObserver.disconnect == \"function\" && (this.w.globals.resizeObserver.disconnect(), this.w.globals.resizeObserver = null), me.invalidateAll(this.w), this.ctx.animations = null, this.ctx.axes = null, this.ctx.annotations = null, this.ctx.core = null, this.ctx.data = null, this.ctx.grid = null, this.ctx.series = null, this.ctx.responsive = null, this.ctx.theme = null, this.ctx.formatters = null, this.ctx.titleSubtitle = null, this.ctx.legend = null, this.ctx.dimensions = null, this.ctx.options = null, this.ctx.crosshairs = null, this.ctx._zoomPanSelection = null, this.ctx.updateHelpers = null, this.ctx._toolbar = null, this.ctx.localization = null, this.ctx._keyboardNavigation = null, this.ctx.w.globals.tooltip = null, this.clearDomElements({ isUpdating: t });\n }\n killSVG(t) {\n t.each(function() {\n this.removeClass(\"*\"), this.off();\n }, !0), t.clear();\n }\n clearDomElements({ isUpdating: t }) {\n const e = this.w.dom;\n if (B.isBrowser()) {\n const s = e.Paper.node;\n s.parentNode && s.parentNode.parentNode && !t && (s.parentNode.parentNode.style.minHeight = \"unset\");\n const i = e.baseEl;\n if (i && this.ctx.eventList.forEach((a) => {\n i.removeEventListener(a, this.ctx.events.documentEvent);\n }), this.ctx.el !== null)\n for (; this.ctx.el.firstChild; )\n this.ctx.el.removeChild(this.ctx.el.firstChild);\n this.killSVG(e.Paper), e.Paper.remove();\n }\n e.elWrap = null, e.elGraphical = null, e.elLegendWrap = null, e.elLegendForeign = null, e.baseEl = null, e.elGridRect = null, e.elGridRectMask = null, e.elGridRectBarMask = null, e.elGridRectMarkerMask = null, e.elForecastMask = null, e.elNonForecastMask = null, e.elDefs = null;\n }\n}\nconst Ht = /* @__PURE__ */ new WeakMap();\nfunction Ls(A, t) {\n if (B.isSSR())\n return;\n let e = !1;\n if (A.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) {\n const i = A.getBoundingClientRect();\n (A.style.display === \"none\" || i.width === 0) && (e = !0);\n }\n const s = new ResizeObserver((i) => {\n e && t.call(A, i), e = !0;\n });\n A.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? Array.from(A.children).forEach((i) => s.observe(i)) : s.observe(A), Ht.set(t, s);\n}\nfunction Ds(A, t) {\n if (B.isSSR())\n return;\n const e = Ht.get(t);\n e && (e.disconnect(), Ht.delete(t));\n}\nconst Ts = `@keyframes opaque {\n 0% {\n opacity: 0\n }\n\n to {\n opacity: 1\n }\n}\n\n@keyframes resizeanim {\n\n 0%,\n to {\n opacity: 0\n }\n}\n\n.apexcharts-canvas {\n position: relative;\n direction: ltr !important;\n user-select: none\n}\n\n.apexcharts-canvas ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 6px\n}\n\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(0, 0, 0, .5);\n box-shadow: 0 0 1px rgba(255, 255, 255, .5);\n -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5)\n}\n\n.apexcharts-inner {\n position: relative\n}\n\n.apexcharts-text tspan {\n font-family: inherit\n}\n\nrect.legend-mouseover-inactive,\n.legend-mouseover-inactive rect,\n.legend-mouseover-inactive path,\n.legend-mouseover-inactive circle,\n.legend-mouseover-inactive line,\n.legend-mouseover-inactive text.apexcharts-yaxis-title-text,\n.legend-mouseover-inactive text.apexcharts-yaxis-label {\n transition: .15s ease all;\n opacity: .2\n}\n\n.apexcharts-legend-text {\n padding-left: 15px;\n margin-left: -15px;\n}\n\n.apexcharts-legend-series[role=\"button\"]:focus {\n outline: 2px solid #008FFB;\n outline-offset: 2px;\n}\n\n.apexcharts-legend-series[role=\"button\"]:focus:not(:focus-visible) {\n outline: none;\n}\n\n.apexcharts-legend-series[role=\"button\"]:focus-visible {\n outline: 2px solid #008FFB;\n outline-offset: 2px;\n}\n\n.apexcharts-series-collapsed {\n opacity: 0\n}\n\n/* Keyboard navigation focus indicator on SVG data elements.\n SVG elements don't support CSS outline, so we use stroke. */\n.apexcharts-bar-area.apexcharts-keyboard-focused,\n.apexcharts-candlestick-area.apexcharts-keyboard-focused,\n.apexcharts-boxPlot-area.apexcharts-keyboard-focused,\n.apexcharts-rangebar-area.apexcharts-keyboard-focused,\n.apexcharts-pie-area.apexcharts-keyboard-focused,\n.apexcharts-heatmap-rect.apexcharts-keyboard-focused,\n.apexcharts-treemap-rect.apexcharts-keyboard-focused {\n stroke: #008FFB;\n stroke-width: 2;\n stroke-opacity: 1;\n}\n\n.apexcharts-tooltip {\n border-radius: 5px;\n box-shadow: 2px 2px 6px -4px #999;\n cursor: default;\n font-size: 14px;\n left: 62px;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n top: 20px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n white-space: nowrap;\n z-index: 12;\n transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-theme-light {\n border: 1px solid #e3e3e3;\n background: rgba(255, 255, 255, .96)\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark {\n color: #fff;\n background: rgba(30, 30, 30, .8)\n}\n\n.apexcharts-tooltip * {\n font-family: inherit\n}\n\n.apexcharts-tooltip-title {\n padding: 6px;\n font-size: 15px;\n margin-bottom: 4px\n}\n\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\n background: #eceff1;\n border-bottom: 1px solid #ddd\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\n background: rgba(0, 0, 0, .7);\n border-bottom: 1px solid #333\n}\n\n.apexcharts-tooltip-text-goals-value,\n.apexcharts-tooltip-text-y-value,\n.apexcharts-tooltip-text-z-value {\n display: inline-block;\n margin-left: 5px;\n font-weight: 600\n}\n\n.apexcharts-tooltip-text-goals-label:empty,\n.apexcharts-tooltip-text-goals-value:empty,\n.apexcharts-tooltip-text-y-label:empty,\n.apexcharts-tooltip-text-y-value:empty,\n.apexcharts-tooltip-text-z-value:empty,\n.apexcharts-tooltip-title:empty {\n display: none\n}\n\n.apexcharts-tooltip-text-goals-label,\n.apexcharts-tooltip-text-goals-value {\n padding: 6px 0 5px\n}\n\n.apexcharts-tooltip-goals-group,\n.apexcharts-tooltip-text-goals-label,\n.apexcharts-tooltip-text-goals-value {\n display: flex\n}\n\n.apexcharts-tooltip-text-goals-label:not(:empty),\n.apexcharts-tooltip-text-goals-value:not(:empty) {\n margin-top: -6px\n}\n\n.apexcharts-tooltip-marker {\n display: inline-block;\n position: relative;\n width: 16px;\n height: 16px;\n font-size: 16px;\n line-height: 16px;\n margin-right: 4px;\n text-align: center;\n vertical-align: middle;\n color: inherit;\n}\n\n.apexcharts-tooltip-marker::before {\n content: \"\";\n display: inline-block;\n width: 100%;\n text-align: center;\n color: currentcolor;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n font-size: 26px;\n font-family: Arial, Helvetica, sans-serif;\n line-height: 14px;\n font-weight: 900;\n}\n\n.apexcharts-tooltip-marker[shape=\"circle\"]::before {\n content: \"\\\\25CF\";\n}\n\n.apexcharts-tooltip-marker[shape=\"square\"]::before,\n.apexcharts-tooltip-marker[shape=\"rect\"]::before {\n content: \"\\\\25A0\";\n transform: translate(-1px, -2px);\n}\n\n.apexcharts-tooltip-marker[shape=\"line\"]::before {\n content: \"\\\\2500\";\n}\n\n.apexcharts-tooltip-marker[shape=\"diamond\"]::before {\n content: \"\\\\25C6\";\n font-size: 28px;\n}\n\n.apexcharts-tooltip-marker[shape=\"triangle\"]::before {\n content: \"\\\\25B2\";\n font-size: 22px;\n}\n\n.apexcharts-tooltip-marker[shape=\"cross\"]::before {\n content: \"\\\\2715\";\n font-size: 18px;\n}\n\n.apexcharts-tooltip-marker[shape=\"plus\"]::before {\n content: \"\\\\2715\";\n transform: rotate(45deg) translate(-1px, -1px);\n font-size: 18px;\n}\n\n.apexcharts-tooltip-marker[shape=\"star\"]::before {\n content: \"\\\\2605\";\n font-size: 18px;\n}\n\n.apexcharts-tooltip-marker[shape=\"sparkle\"]::before {\n content: \"\\\\2726\";\n font-size: 20px;\n}\n\n.apexcharts-tooltip-series-group {\n padding: 0 10px;\n display: none;\n text-align: left;\n justify-content: left;\n align-items: center\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\n opacity: 1\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active,\n.apexcharts-tooltip-series-group:last-child {\n padding-bottom: 4px\n}\n\n.apexcharts-tooltip-y-group {\n padding: 6px 0 5px\n}\n\n.apexcharts-custom-tooltip,\n.apexcharts-tooltip-box {\n padding: 4px 8px\n}\n\n.apexcharts-tooltip-boxPlot {\n display: flex;\n flex-direction: column-reverse\n}\n\n.apexcharts-tooltip-box>div {\n margin: 4px 0\n}\n\n.apexcharts-tooltip-box span.value {\n font-weight: 700\n}\n\n.apexcharts-tooltip-rangebar {\n padding: 5px 8px\n}\n\n.apexcharts-tooltip-rangebar .category {\n font-weight: 600;\n color: #777\n}\n\n.apexcharts-tooltip-rangebar .series-name {\n font-weight: 700;\n display: block;\n margin-bottom: 5px\n}\n\n.apexcharts-xaxistooltip,\n.apexcharts-yaxistooltip {\n opacity: 0;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n background: #eceff1;\n border: 1px solid #90a4ae\n}\n\n.apexcharts-xaxistooltip {\n padding: 9px 10px;\n transition: .15s ease all\n}\n\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\n background: rgba(0, 0, 0, .7);\n border: 1px solid rgba(0, 0, 0, .5);\n color: #fff\n}\n\n.apexcharts-xaxistooltip:after,\n.apexcharts-xaxistooltip:before {\n left: 50%;\n border: solid transparent;\n content: \" \";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none\n}\n\n.apexcharts-xaxistooltip:after {\n border-color: transparent;\n border-width: 6px;\n margin-left: -6px\n}\n\n.apexcharts-xaxistooltip:before {\n border-color: transparent;\n border-width: 7px;\n margin-left: -7px\n}\n\n.apexcharts-xaxistooltip-bottom:after,\n.apexcharts-xaxistooltip-bottom:before {\n bottom: 100%\n}\n\n.apexcharts-xaxistooltip-top:after,\n.apexcharts-xaxistooltip-top:before {\n top: 100%\n}\n\n.apexcharts-xaxistooltip-bottom:after {\n border-bottom-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-bottom:before {\n border-bottom-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\n border-bottom-color: rgba(0, 0, 0, .5)\n}\n\n.apexcharts-xaxistooltip-top:after {\n border-top-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-top:before {\n border-top-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\n border-top-color: rgba(0, 0, 0, .5)\n}\n\n.apexcharts-xaxistooltip.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-yaxistooltip {\n padding: 4px 10px\n}\n\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\n background: rgba(0, 0, 0, .7);\n border: 1px solid rgba(0, 0, 0, .5);\n color: #fff\n}\n\n.apexcharts-yaxistooltip:after,\n.apexcharts-yaxistooltip:before {\n top: 50%;\n border: solid transparent;\n content: \" \";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none\n}\n\n.apexcharts-yaxistooltip:after {\n border-color: transparent;\n border-width: 6px;\n margin-top: -6px\n}\n\n.apexcharts-yaxistooltip:before {\n border-color: transparent;\n border-width: 7px;\n margin-top: -7px\n}\n\n.apexcharts-yaxistooltip-left:after,\n.apexcharts-yaxistooltip-left:before {\n left: 100%\n}\n\n.apexcharts-yaxistooltip-right:after,\n.apexcharts-yaxistooltip-right:before {\n right: 100%\n}\n\n.apexcharts-yaxistooltip-left:after {\n border-left-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-left:before {\n border-left-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\n border-left-color: rgba(0, 0, 0, .5)\n}\n\n.apexcharts-yaxistooltip-right:after {\n border-right-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-right:before {\n border-right-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\n border-right-color: rgba(0, 0, 0, .5)\n}\n\n.apexcharts-yaxistooltip.apexcharts-active {\n opacity: 1\n}\n\n.apexcharts-yaxistooltip-hidden {\n display: none\n}\n\n.apexcharts-xcrosshairs,\n.apexcharts-ycrosshairs {\n pointer-events: none;\n opacity: 0;\n transition: .15s ease all\n}\n\n.apexcharts-xcrosshairs.apexcharts-active,\n.apexcharts-ycrosshairs.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-ycrosshairs-hidden {\n opacity: 0\n}\n\n.apexcharts-selection-rect {\n cursor: move\n}\n\n.svg_select_shape {\n stroke-width: 1;\n stroke-dasharray: 10 10;\n stroke: black;\n stroke-opacity: 0.1;\n pointer-events: none;\n fill: none;\n}\n\n.svg_select_handle {\n stroke-width: 3;\n stroke: black;\n fill: none;\n}\n\n.svg_select_handle_r {\n cursor: e-resize;\n}\n\n.svg_select_handle_l {\n cursor: w-resize;\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\n cursor: crosshair\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\n cursor: move\n}\n\n.apexcharts-menu-icon,\n.apexcharts-pan-icon,\n.apexcharts-reset-icon,\n.apexcharts-selection-icon,\n.apexcharts-toolbar-custom-icon,\n.apexcharts-zoom-icon,\n.apexcharts-zoomin-icon,\n.apexcharts-zoomout-icon {\n cursor: pointer;\n width: 20px;\n height: 20px;\n line-height: 24px;\n color: #6e8192;\n text-align: center\n}\n\n.apexcharts-menu-icon svg,\n.apexcharts-reset-icon svg,\n.apexcharts-zoom-icon svg,\n.apexcharts-zoomin-icon svg,\n.apexcharts-zoomout-icon svg {\n fill: #6e8192\n}\n\n.apexcharts-selection-icon svg {\n fill: #444;\n transform: scale(.76)\n}\n\n.apexcharts-theme-dark .apexcharts-menu-icon svg,\n.apexcharts-theme-dark .apexcharts-pan-icon svg,\n.apexcharts-theme-dark .apexcharts-reset-icon svg,\n.apexcharts-theme-dark .apexcharts-selection-icon svg,\n.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,\n.apexcharts-theme-dark .apexcharts-zoom-icon svg,\n.apexcharts-theme-dark .apexcharts-zoomin-icon svg,\n.apexcharts-theme-dark .apexcharts-zoomout-icon svg {\n fill: #f3f4f5\n}\n\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,\n.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,\n.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {\n fill: #008ffb\n}\n\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg,\n.apexcharts-theme-light .apexcharts-reset-icon:hover svg,\n.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,\n.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,\n.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,\n.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {\n fill: #333\n}\n\n.apexcharts-menu-icon,\n.apexcharts-selection-icon {\n position: relative\n}\n\n.apexcharts-reset-icon {\n margin-left: 5px\n}\n\n.apexcharts-menu-icon,\n.apexcharts-reset-icon,\n.apexcharts-zoom-icon {\n transform: scale(.85)\n}\n\n.apexcharts-zoomin-icon,\n.apexcharts-zoomout-icon {\n transform: scale(.7)\n}\n\n.apexcharts-zoomout-icon {\n margin-right: 3px\n}\n\n.apexcharts-pan-icon {\n transform: scale(.62);\n position: relative;\n left: 1px;\n top: 0\n}\n\n.apexcharts-pan-icon svg {\n fill: #fff;\n stroke: #6e8192;\n stroke-width: 2\n}\n\n.apexcharts-pan-icon.apexcharts-selected svg {\n stroke: #008ffb\n}\n\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\n stroke: #333\n}\n\n.apexcharts-toolbar {\n position: absolute;\n z-index: 11;\n max-width: 176px;\n text-align: right;\n border-radius: 3px;\n padding: 0 6px 2px;\n display: flex;\n justify-content: space-between;\n align-items: center\n}\n\n.apexcharts-menu {\n background: #fff;\n position: absolute;\n top: 100%;\n border: 1px solid #ddd;\n border-radius: 3px;\n padding: 3px;\n right: 10px;\n opacity: 0;\n min-width: 110px;\n transition: .15s ease all;\n pointer-events: none\n}\n\n.apexcharts-menu.apexcharts-menu-open {\n opacity: 1;\n pointer-events: all;\n transition: .15s ease all\n}\n\n.apexcharts-menu-item {\n padding: 6px 7px;\n font-size: 12px;\n cursor: pointer\n}\n\n.apexcharts-theme-light .apexcharts-menu-item:hover {\n background: #eee\n}\n\n.apexcharts-theme-dark .apexcharts-menu {\n background: rgba(0, 0, 0, .7);\n color: #fff\n}\n\n@media screen and (min-width:768px) {\n .apexcharts-canvas:hover .apexcharts-toolbar {\n opacity: 1\n }\n}\n\n/* Toolbar keyboard accessibility: show toolbar when any button inside it is focused */\n.apexcharts-toolbar:focus-within {\n opacity: 1\n}\n\n/* Focus indicator for toolbar icon buttons */\n.apexcharts-menu-icon:focus-visible,\n.apexcharts-pan-icon:focus-visible,\n.apexcharts-reset-icon:focus-visible,\n.apexcharts-selection-icon:focus-visible,\n.apexcharts-toolbar-custom-icon:focus-visible,\n.apexcharts-zoom-icon:focus-visible,\n.apexcharts-zoomin-icon:focus-visible,\n.apexcharts-zoomout-icon:focus-visible {\n outline: 2px solid #008FFB;\n outline-offset: 2px;\n border-radius: 2px\n}\n\n/* Focus indicator for hamburger menu items */\n.apexcharts-menu-item:focus-visible {\n outline: 2px solid #008FFB;\n outline-offset: -2px;\n background: #eee\n}\n\n.apexcharts-canvas .apexcharts-element-hidden,\n.apexcharts-datalabel.apexcharts-element-hidden,\n.apexcharts-hide .apexcharts-series-points {\n opacity: 0;\n}\n\n.apexcharts-hidden-element-shown {\n opacity: 1;\n transition: 0.25s ease all;\n}\n\n.apexcharts-datalabel,\n.apexcharts-datalabel-label,\n.apexcharts-datalabel-value,\n.apexcharts-datalabels,\n.apexcharts-pie-label {\n cursor: default;\n pointer-events: none\n}\n\n.apexcharts-pie-label-delay {\n opacity: 0;\n animation-name: opaque;\n animation-duration: .3s;\n animation-fill-mode: forwards;\n animation-timing-function: ease\n}\n\n.apexcharts-radialbar-label {\n cursor: pointer;\n}\n\n.apexcharts-annotation-rect,\n.apexcharts-area-series .apexcharts-area,\n.apexcharts-gridline,\n.apexcharts-line,\n.apexcharts-point-annotation-label,\n.apexcharts-radar-series path:not(.apexcharts-marker),\n.apexcharts-radar-series polygon,\n.apexcharts-toolbar svg,\n.apexcharts-tooltip .apexcharts-marker,\n.apexcharts-xaxis-annotation-label,\n.apexcharts-yaxis-annotation-label,\n.apexcharts-zoom-rect,\n.no-pointer-events {\n pointer-events: none\n}\n\n.apexcharts-tooltip-active .apexcharts-marker {\n transition: .15s ease all\n}\n\n.apexcharts-radar-series .apexcharts-yaxis {\n pointer-events: none;\n}\n\n.resize-triggers {\n animation: 1ms resizeanim;\n visibility: hidden;\n opacity: 0;\n height: 100%;\n width: 100%;\n overflow: hidden\n}\n\n.contract-trigger:before,\n.resize-triggers,\n.resize-triggers>div {\n content: \" \";\n display: block;\n position: absolute;\n top: 0;\n left: 0\n}\n\n.resize-triggers>div {\n height: 100%;\n width: 100%;\n background: #eee;\n overflow: auto\n}\n\n.contract-trigger:before {\n overflow: hidden;\n width: 200%;\n height: 200%\n}\n\n.apexcharts-bar-goals-markers {\n pointer-events: none\n}\n\n.apexcharts-bar-shadows {\n pointer-events: none\n}\n\n.apexcharts-rangebar-goals-markers {\n pointer-events: none\n}\n\n.apexcharts-disable-transitions * {\n transition: none !important;\n}`;\nclass K {\n constructor(t, e) {\n this.opts = e, this.ctx = this, this.w = new Be(e).init(), this.el = t, this.w.globals.cuid = L.randomId(), this.w.globals.chartID = this.w.config.chart.id ? L.escapeString(this.w.config.chart.id) : this.w.globals.cuid, new St(this).initModules(), this.lastUpdateOptions = null, this.create = this.create.bind(this), B.isBrowser() && (this.windowResizeHandler = this._windowResizeHandler.bind(this), this.parentResizeHandler = this._parentResizeCallback.bind(this));\n }\n /**\n * The primary method user will call to render the chart.\n */\n render() {\n return new Promise((t, e) => {\n var s;\n if (L.elementExists(this.el)) {\n typeof Apex._chartInstances > \"u\" && (Apex._chartInstances = []), this.w.config.chart.id && Apex._chartInstances.push({\n id: this.w.globals.chartID,\n group: this.w.config.chart.group,\n chart: this\n }), this.setLocale(this.w.config.chart.defaultLocale);\n const i = this.w.config.chart.events.beforeMount;\n if (typeof i == \"function\" && i(this, this.w), this.events.fireEvent(\"beforeMount\", [this, this.w]), B.isBrowser()) {\n window.addEventListener(\"resize\", this.windowResizeHandler), Ls(this.el.parentNode, this.parentResizeHandler);\n const o = this.el.getRootNode && this.el.getRootNode(), r = L.is(\"ShadowRoot\", o), n = this.el.ownerDocument;\n let l = r ? o.getElementById(\"apexcharts-css\") : n.getElementById(\"apexcharts-css\");\n if (!l) {\n l = N.createElementNS(\"http://www.w3.org/1999/xhtml\", \"style\"), l.id = \"apexcharts-css\", l.textContent = Ts;\n const c = ((s = this.opts.chart) == null ? void 0 : s.nonce) || this.w.config.chart.nonce;\n c && l.setAttribute(\"nonce\", c), r ? o.prepend(l) : this.w.config.chart.injectStyleSheet !== !1 && n.head.appendChild(l);\n }\n }\n const a = this.create(this.w.config.series, {});\n if (!a)\n return t(this);\n this.mount(a).then(() => {\n typeof this.w.config.chart.events.mounted == \"function\" && this.w.config.chart.events.mounted(this, this.w), this.events.fireEvent(\"mounted\", [this, this.w]), t(a);\n }).catch((o) => {\n e(o);\n });\n } else\n e(new Error(\"Element not found\"));\n });\n }\n create(t, e) {\n var s;\n const i = this.w;\n new St(this).initModules();\n const o = this.w.globals;\n if (o.noData = !1, o.animationEnded = !1, !L.elementExists(this.el) || (this.responsive.checkResponsiveConfig(e), i.config.xaxis.convertedCatToNumeric && new bt(i.config).convertCatToNumericXaxis(i.config, this.ctx), this.core.setupElements(), i.config.chart.type === \"treemap\" && (i.config.grid.show = !1, i.config.yaxis[0].show = !1), o.svgWidth === 0))\n return o.animationEnded = !0, null;\n let r = t;\n t.forEach((u, y) => {\n u.hidden && (r = this.legend.legendHelpers.getSeriesAfterCollapsing({\n realIndex: y\n }));\n });\n const n = V.checkComboSeries(r, i.config.chart.type);\n o.comboCharts = n.comboCharts, o.comboBarCount = n.comboBarCount;\n const l = r.every((u) => u.data && u.data.length === 0);\n (r.length === 0 || l && o.collapsedSeries.length < 1) && this.series.handleNoData(), B.isBrowser() && this.events.setupEventHandlers();\n const c = this.data.parseData(r);\n this._writeParsedSeriesData(c.seriesData), this._writeParsedRangeData(c.rangeData), this._writeParsedCandleData(c.candleData), this._writeParsedLabelData(c.labelData), this._writeParsedAxisFlags(c.axisFlags), this.theme.init(), new xt(this.w, this).setGlobalMarkerSize(), this.formatters.setLabelFormatters(), this.titleSubtitle.draw(), (!o.noData || o.collapsedSeries.length === i.seriesData.series.length || i.config.legend.showForSingleSeries) && ((s = this.legend) == null || s.init()), this.series.hasAllSeriesEqualX(), o.axisCharts && (this.core.coreCalculations(), i.config.xaxis.type !== \"category\" && this.formatters.setLabelFormatters(), this.ctx.toolbar && (this.ctx.toolbar.minX = i.globals.minX, this.ctx.toolbar.maxX = i.globals.maxX)), this.formatters.heatmapLabelFormatters(), new V(this.w).getLargestMarkerSize();\n const p = this.dimensions.plotCoords();\n this._writeLayoutCoords(p.layout);\n const g = this.core.xySettings();\n this.grid.createGridMask();\n const f = this.core.plotChartType(r, g), x = new gt(this.w, this);\n x.bringForward(), i.config.dataLabels.background.enabled && x.dataLabelsBackground(), this.core.shiftGraphPosition(), i.globals.dataPoints > 50 && i.dom.elWrap.classList.add(\"apexcharts-disable-transitions\");\n const m = {\n plot: {\n left: i.layout.translateX,\n top: i.layout.translateY,\n width: i.layout.gridWidth,\n height: i.layout.gridHeight\n }\n };\n return {\n elGraph: f,\n xyRatios: g,\n dimensions: m\n };\n }\n mount(t = null) {\n const e = this, s = e.w;\n return new Promise((i, a) => {\n var o, r, n, l, c, h, d, p;\n if (e.el === null)\n return a(\n new Error(\"Not enough data to display or target element not found\")\n );\n (t === null || s.globals.allSeriesCollapsed) && e.series.handleNoData(), e.grid = new fe(e.w, e);\n const g = e.grid.drawGrid(), f = St._featureRegistry.get(\"annotations\");\n if (e.annotations = f ? new f(e.w, { theme: e.theme, timeScale: e.timeScale }) : null, (o = e.annotations) == null || o.drawImageAnnos(), (r = e.annotations) == null || r.drawTextAnnos(), s.config.grid.position === \"back\" && (g && s.dom.elGraphical.add(g.el), (n = g == null ? void 0 : g.elGridBorders) != null && n.node && s.dom.elGraphical.add(g.elGridBorders)), Array.isArray(t.elGraph))\n for (let u = 0; u < t.elGraph.length; u++)\n s.dom.elGraphical.add(t.elGraph[u]);\n else\n s.dom.elGraphical.add(t.elGraph);\n s.config.grid.position === \"front\" && (g && s.dom.elGraphical.add(g.el), (l = g == null ? void 0 : g.elGridBorders) != null && l.node && s.dom.elGraphical.add(g.elGridBorders)), s.config.xaxis.crosshairs.position === \"front\" && e.crosshairs.drawXCrosshairs(), s.config.yaxis[0].crosshairs.position === \"front\" && e.crosshairs.drawYCrosshairs(), s.config.chart.type !== \"treemap\" && e.axes.drawAxis(s.config.chart.type, g);\n const x = new wt(this.w, this.ctx, g), m = new _t(this.w, { theme: this.theme, timeScale: this.timeScale }, g);\n if (g !== null && (x.xAxisLabelCorrections(g.xAxisTickWidth), m.setYAxisTextAlignments(), s.config.yaxis.map((u, y) => {\n s.globals.ignoreYAxisIndexes.indexOf(y) === -1 && m.yAxisTitleRotate(y, u.opposite);\n })), (c = e.annotations) == null || c.drawAxesAnnotations(), !s.globals.noData) {\n if (B.isBrowser() && s.config.tooltip.enabled && !s.globals.noData && e.w.globals.tooltip.drawTooltip(t.xyRatios), s.config.chart.accessibility.enabled && s.config.chart.accessibility.keyboard.enabled && s.config.chart.accessibility.keyboard.navigation.enabled && ((h = e.keyboardNavigation) == null || h.init()), B.isBrowser() && s.globals.axisCharts && (s.axisFlags.isXNumeric || s.config.xaxis.convertedCatToNumeric || s.axisFlags.isRangeBar))\n (s.config.chart.zoom.enabled || s.config.chart.selection && s.config.chart.selection.enabled || s.config.chart.pan && s.config.chart.pan.enabled) && ((d = e.zoomPanSelection) == null || d.init({\n xyRatios: t.xyRatios\n }));\n else {\n const u = s.config.chart.toolbar.tools;\n [\n \"zoom\",\n \"zoomin\",\n \"zoomout\",\n \"selection\",\n \"pan\",\n \"reset\"\n ].forEach((b) => {\n u[b] = !1;\n });\n }\n s.config.chart.toolbar.show && !s.globals.allSeriesCollapsed && ((p = e.toolbar) == null || p.createToolbar());\n }\n s.globals.memory.methodsToExec.length > 0 && s.globals.memory.methodsToExec.forEach((u) => {\n u.method(u.params, !1, u.context);\n }), !s.globals.axisCharts && !s.globals.noData && e.core.resizeNonAxisCharts(), i(e);\n });\n }\n /**\n * Destroy the chart instance by removing all elements which also clean up event listeners on those elements.\n */\n destroy() {\n B.isBrowser() && (window.removeEventListener(\"resize\", this.windowResizeHandler), Ds(this.el.parentNode, this.parentResizeHandler));\n const t = this.w.config.chart.id;\n t && Apex._chartInstances.forEach((e, s) => {\n e.id === L.escapeString(t) && Apex._chartInstances.splice(s, 1);\n }), this._keyboardNavigation && this._keyboardNavigation.destroy(), new ee(this.ctx).clear({ isUpdating: !1 });\n }\n /**\n * Allows users to update Options after the chart has rendered.\n *\n * @param {object} options - A new config object can be passed which will be merged with the existing config object\n * @param {boolean} redraw - should redraw from beginning or should use existing paths and redraw from there\n * @param {boolean} animate - should animate or not on updating Options\n */\n updateOptions(t, e = !1, s = !0, i = !0, a = !0) {\n const o = this.w;\n if (o.interact.selection = void 0, this.lastUpdateOptions) {\n if (L.shallowEqual(this.lastUpdateOptions, t))\n return this;\n if (t.series && this.lastUpdateOptions.series && JSON.stringify(this.lastUpdateOptions.series) === JSON.stringify(t.series)) {\n const r = I({}, t), n = I({}, this.lastUpdateOptions);\n if (delete r.series, delete n.series, L.shallowEqual(r, n))\n return this;\n }\n }\n return t.series && (this.data.resetParsingFlags(), this.series.resetSeries(!1, !0, !1), t.series.length && t.series[0].data && (t.series = t.series.map((r, n) => this.updateHelpers._extendSeries(r, n))), this.updateHelpers.revertDefaultAxisMinMax()), t.xaxis && (t = this.updateHelpers.forceXAxisUpdate(t)), t.yaxis && (t = this.updateHelpers.forceYAxisUpdate(t)), o.globals.collapsedSeriesIndices.length > 0 && this.series.clearPreviousPaths(), t.theme && (t = this.theme.updateThemeOptions(t)), this.updateHelpers._updateOptions(\n t,\n e,\n s,\n i,\n a\n );\n }\n /**\n * Allows users to update Series after the chart has rendered.\n *\n * @param {array} series - New series which will override the existing\n */\n updateSeries(t = [], e = !0, s = !0) {\n return this.data.resetParsingFlags(), this.series.resetSeries(!1), this.updateHelpers.revertDefaultAxisMinMax(), this.updateHelpers._updateSeries(\n t,\n e,\n s\n );\n }\n /**\n * Allows users to append a new series after the chart has rendered.\n *\n * @param {array} newSerie - New serie which will be appended to the existing series\n */\n appendSeries(t, e = !0, s = !0) {\n this.data.resetParsingFlags();\n const i = this.w.config.series.slice();\n return i.push(t), this.series.resetSeries(!1), this.updateHelpers.revertDefaultAxisMinMax(), this.updateHelpers._updateSeries(\n i,\n e,\n s\n );\n }\n /**\n * Allows users to append Data to series.\n *\n * @param {array} newData - New data in the same format as series\n */\n appendData(t, e = !0) {\n const s = this;\n s.data.resetParsingFlags(), s.w.globals.dataChanged = !0, s.series.getPreviousPaths();\n const i = s.w.config.series.slice();\n for (let a = 0; a < i.length; a++)\n if (t[a] !== null && typeof t[a] < \"u\")\n for (let o = 0; o < t[a].data.length; o++)\n i[a].data.push(t[a].data[o]);\n return s.w.config.series = i, e && (s.w.globals.initialSeries = L.clone(s.w.config.series)), this.update();\n }\n update(t) {\n return new Promise((e, s) => {\n if (this.lastUpdateOptions && JSON.stringify(this.lastUpdateOptions) === JSON.stringify(t))\n return e(this);\n this.lastUpdateOptions = L.clone(t), new ee(this.ctx).clear({ isUpdating: !0 });\n const i = this.create(this.w.config.series, t);\n if (!i)\n return e(this);\n this.mount(i).then(() => {\n typeof this.w.config.chart.events.updated == \"function\" && this.w.config.chart.events.updated(this, this.w), this.events.fireEvent(\"updated\", [this, this.w]), this.w.globals.isDirty = !0, e(this);\n }).catch((a) => {\n s(a);\n });\n });\n }\n /**\n * Get all charts in the same \"group\" (including the instance which is called upon) to sync them when user zooms in/out or pan.\n */\n getSyncedCharts() {\n const t = this.getGroupedCharts();\n let e = [this];\n return t.length && (e = [], t.forEach((s) => {\n e.push(s);\n })), e;\n }\n /**\n * Get charts in the same \"group\" (excluding the instance which is called upon) to perform operations on the other charts of the same group (eg., tooltip hovering)\n */\n getGroupedCharts() {\n return Apex._chartInstances.filter((t) => {\n if (t.group)\n return !0;\n }).map((t) => this.w.config.chart.group === t.group ? t.chart : this);\n }\n static getChartByID(t) {\n const e = L.escapeString(t);\n if (!Apex._chartInstances)\n return;\n const s = Apex._chartInstances.filter((i) => i.id === e)[0];\n return s && s.chart;\n }\n /**\n * Allows the user to provide data attrs in the element and the chart will render automatically when this method is called by searching for the elements containing 'data-apexcharts' attribute\n */\n static initOnLoad() {\n const t = document.querySelectorAll(\"[data-apexcharts]\");\n for (let e = 0; e < t.length; e++) {\n const s = t[e], i = JSON.parse(t[e].getAttribute(\"data-options\"));\n new K(s, i).render();\n }\n }\n /**\n * This static method allows users to call chart methods without necessarily from the\n * instance of the chart in case user has assigned chartID to the targeted chart.\n * The chartID is used for mapping the instance stored in Apex._chartInstances global variable\n *\n * This is helpful in cases when you don't have reference of the chart instance\n * easily and need to call the method from anywhere.\n * For eg, in React/Vue applications when you have many parent/child components,\n * and need easy reference to other charts for performing dynamic operations\n *\n * @param {string} chartID - The unique identifier which will be used to call methods\n * on that chart instance\n * @param {function} fn - The method name to call\n * @param {object} opts - The parameters which are accepted in the original method will be passed here in the same order.\n */\n static exec(t, e, ...s) {\n const i = this.getChartByID(t);\n if (!i)\n return;\n i.w.globals.isExecCalled = !0;\n let a = null;\n return i.publicMethods.indexOf(e) !== -1 && (a = i[e](...s)), a;\n }\n static merge(t, e) {\n return L.extend(t, e);\n }\n static getThemePalettes() {\n return Yt();\n }\n /**\n * Register additional chart types. Used by sub-entry points so that only\n * the types they include are bundled.\n *\n * @param {Record<string, Function>} typeMap e.g. { line: Line, area: Line }\n */\n static use(t) {\n Ke(t);\n }\n /**\n * Register optional feature modules (Exports, Legend, Toolbar,\n * ZoomPanSelection, KeyboardNavigation, Annotations).\n *\n * Call this before rendering any chart. Feature entry files (e.g.\n * `apexcharts/features/legend`) call this automatically when imported.\n * Note: Tooltip is part of core and does not need to be registered.\n *\n * @param {Record<string, Function>} featureMap e.g. { legend: Legend, exports: Exports }\n */\n static registerFeatures(t) {\n St.registerFeatures(t);\n }\n toggleSeries(t) {\n return this.series.toggleSeries(t);\n }\n highlightSeriesOnLegendHover(t, e) {\n return this.series.toggleSeriesOnHover(t, e);\n }\n showSeries(t) {\n this.series.showSeries(t);\n }\n hideSeries(t) {\n this.series.hideSeries(t);\n }\n highlightSeries(t) {\n this.series.highlightSeries(t);\n }\n isSeriesHidden(t) {\n this.series.isSeriesHidden(t);\n }\n resetSeries(t = !0, e = !0) {\n this.series.resetSeries(t, e);\n }\n // Public method to add event listener on chart context\n addEventListener(t, e) {\n this.events.addEventListener(t, e);\n }\n // Public method to remove event listener on chart context\n removeEventListener(t, e) {\n this.events.removeEventListener(t, e);\n }\n addXaxisAnnotation(t, e = !0, s = void 0) {\n var i;\n let a = this;\n s && (a = s), (i = a.annotations) == null || i.addXaxisAnnotationExternal(t, e, a);\n }\n addYaxisAnnotation(t, e = !0, s = void 0) {\n var i;\n let a = this;\n s && (a = s), (i = a.annotations) == null || i.addYaxisAnnotationExternal(t, e, a);\n }\n addPointAnnotation(t, e = !0, s = void 0) {\n var i;\n let a = this;\n s && (a = s), (i = a.annotations) == null || i.addPointAnnotationExternal(t, e, a);\n }\n clearAnnotations(t = void 0) {\n var e;\n let s = this;\n t && (s = t), (e = s.annotations) == null || e.clearAnnotations(s);\n }\n removeAnnotation(t, e = void 0) {\n var s;\n let i = this;\n e && (i = e), (s = i.annotations) == null || s.removeAnnotation(i, t);\n }\n getChartArea() {\n return this.w.dom.baseEl.querySelector(\".apexcharts-inner\");\n }\n getSeriesTotalXRange(t, e) {\n return this.coreUtils.getSeriesTotalsXRange(t, e);\n }\n getHighestValueInSeries(t = 0) {\n return new It(this.w).getMinYMaxY(t).highestY;\n }\n getLowestValueInSeries(t = 0) {\n return new It(this.w).getMinYMaxY(t).lowestY;\n }\n getSeriesTotal() {\n return this.w.globals.seriesTotals;\n }\n /**\n * Returns a curated snapshot of chart state for use in formatters, events,\n * and external integrations. Prefer this over accessing `chart.w` directly.\n *\n * The shape of this object is stable and versioned. `chart.w` is internal\n * and will be restricted in a future major version.\n */\n getState() {\n const t = this.w, e = t.globals;\n return {\n // Series data — computed/parsed form used for rendering\n series: t.seriesData.series,\n seriesNames: t.seriesData.seriesNames,\n colors: e.colors,\n labels: t.labelData.labels,\n seriesTotals: e.seriesTotals,\n seriesPercent: e.seriesPercent,\n seriesXvalues: e.seriesXvalues,\n seriesYvalues: e.seriesYvalues,\n // Axis bounds — updated after each render\n minX: e.minX,\n maxX: e.maxX,\n minY: e.minY,\n maxY: e.maxY,\n minYArr: e.minYArr,\n maxYArr: e.maxYArr,\n minXDiff: e.minXDiff,\n dataPoints: e.dataPoints,\n // Axis scale objects — computed tick/scale results\n xAxisScale: e.xAxisScale,\n yAxisScale: e.yAxisScale,\n xTickAmount: e.xTickAmount,\n // Axis type flags\n isXNumeric: t.axisFlags.isXNumeric,\n // Multi-axis series mapping\n seriesYAxisMap: e.seriesYAxisMap,\n seriesYAxisReverseMap: e.seriesYAxisReverseMap,\n // Chart dimensions — updated after each render/resize\n svgWidth: e.svgWidth,\n svgHeight: e.svgHeight,\n gridWidth: t.layout.gridWidth,\n gridHeight: t.layout.gridHeight,\n // Interactive state\n selectedDataPoints: t.interact.selectedDataPoints,\n collapsedSeriesIndices: e.collapsedSeriesIndices,\n zoomed: t.interact.zoomed,\n // Chart-type-specific series data (null when not applicable)\n seriesX: t.seriesData.seriesX,\n seriesZ: t.seriesData.seriesZ,\n seriesCandleO: t.candleData.seriesCandleO,\n seriesCandleH: t.candleData.seriesCandleH,\n seriesCandleM: t.candleData.seriesCandleM,\n seriesCandleL: t.candleData.seriesCandleL,\n seriesCandleC: t.candleData.seriesCandleC,\n seriesRangeStart: t.rangeData.seriesRangeStart,\n seriesRangeEnd: t.rangeData.seriesRangeEnd,\n seriesGoals: t.seriesData.seriesGoals\n };\n }\n toggleDataPointSelection(t, e) {\n return this.updateHelpers.toggleDataPointSelection(\n t,\n e\n );\n }\n zoomX(t, e) {\n var s;\n (s = this.ctx.toolbar) == null || s.zoomUpdateOptions(t, e);\n }\n setLocale(t) {\n this.localization.setCurrentLocaleValues(t);\n }\n dataURI(t) {\n if (!this.ctx.exports)\n throw new Error(\"apexcharts: Exports feature is not registered. Import apexcharts/features/exports.\");\n return this.ctx.exports.dataURI(t);\n }\n getSvgString(t) {\n if (!this.ctx.exports)\n throw new Error(\"apexcharts: Exports feature is not registered. Import apexcharts/features/exports.\");\n return this.ctx.exports.getSvgString(t);\n }\n exportToCSV(t = {}) {\n if (!this.ctx.exports)\n throw new Error(\"apexcharts: Exports feature is not registered. Import apexcharts/features/exports.\");\n return this.ctx.exports.exportToCSV(t);\n }\n paper() {\n return this.w.dom.Paper;\n }\n // ─── Slice write-back stubs ─────────────────────────────────────────────────\n _writeParsedSeriesData(t) {\n Object.assign(this.w.seriesData, t);\n }\n _writeParsedRangeData(t) {\n Object.assign(this.w.rangeData, t);\n }\n _writeParsedCandleData(t) {\n Object.assign(this.w.candleData, t);\n }\n _writeParsedLabelData(t) {\n Object.assign(this.w.labelData, t);\n }\n _writeParsedAxisFlags(t) {\n Object.assign(this.w.axisFlags, t);\n }\n _writeLayoutCoords(t) {\n Object.assign(this.w.layout, t);\n }\n _parentResizeCallback() {\n this.w.globals.animationEnded && this.w.config.chart.redrawOnParentResize && this._windowResize();\n }\n /**\n * Handle window resize and re-draw the whole chart.\n */\n _windowResize() {\n clearTimeout(this.w.globals.resizeTimer), this.w.globals.resizeTimer = window.setTimeout(() => {\n this.w.globals.resized = !0, this.w.globals.dataChanged = !1, this.ctx.update();\n }, 150);\n }\n _windowResizeHandler() {\n let { redrawOnWindowResize: t } = this.w.config.chart;\n typeof t == \"function\" && (t = t()), t && this._windowResize();\n }\n}\nconst ve = `.apexcharts-flip-y {\n transform: scaleY(-1) translateY(-100%);\n transform-origin: top;\n transform-box: fill-box;\n}\n.apexcharts-flip-x {\n transform: scaleX(-1);\n transform-origin: center;\n transform-box: fill-box;\n}\n.apexcharts-legend {\n display: flex;\n overflow: auto;\n padding: 0 10px;\n}\n.apexcharts-legend.apexcharts-legend-group-horizontal {\n flex-direction: column;\n}\n.apexcharts-legend-group {\n display: flex;\n}\n.apexcharts-legend-group-vertical {\n flex-direction: column-reverse;\n}\n.apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\n flex-wrap: wrap\n}\n.apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\n flex-direction: column;\n bottom: 0;\n}\n.apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\n justify-content: flex-start;\n align-items: flex-start;\n}\n.apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\n justify-content: center;\n align-items: center;\n}\n.apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\n justify-content: flex-end;\n align-items: flex-end;\n}\n.apexcharts-legend-series {\n cursor: pointer;\n line-height: normal;\n display: flex;\n align-items: center;\n}\n.apexcharts-legend-text {\n position: relative;\n font-size: 14px;\n}\n.apexcharts-legend-text *, .apexcharts-legend-marker * {\n pointer-events: none;\n}\n.apexcharts-legend-marker {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n margin-right: 1px;\n}\n\n.apexcharts-legend-series.apexcharts-no-click {\n cursor: auto;\n}\n.apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\n display: none !important;\n}\n.apexcharts-inactive-legend {\n opacity: 0.45;\n} `;\nclass Ae {\n constructor(t, e) {\n this.w = t, this.ctx = e;\n }\n svgStringToNode(t) {\n return new DOMParser().parseFromString(t, \"image/svg+xml\").documentElement;\n }\n scaleSvgNode(t, e) {\n const s = parseFloat(t.getAttributeNS(null, \"width\")), i = parseFloat(t.getAttributeNS(null, \"height\"));\n t.setAttributeNS(null, \"width\", s * e), t.setAttributeNS(null, \"height\", i * e), t.setAttributeNS(null, \"viewBox\", \"0 0 \" + s + \" \" + i);\n }\n getSvgString(t) {\n return new Promise((e) => {\n const s = this.w;\n let i = t || s.config.chart.toolbar.export.scale || s.config.chart.toolbar.export.width / s.globals.svgWidth;\n i || (i = 1);\n const a = s.globals.svgWidth * i, o = s.globals.svgHeight * i, r = s.dom.elWrap.cloneNode(!0);\n r.style.width = a + \"px\", r.style.height = o + \"px\";\n const n = new XMLSerializer().serializeToString(r), l = s.config.legend.show && s.dom.elLegendWrap && s.dom.elLegendWrap.children.length > 0;\n let c = `\n .apexcharts-tooltip, .apexcharts-toolbar, .apexcharts-xaxistooltip, .apexcharts-yaxistooltip, .apexcharts-xcrosshairs, .apexcharts-ycrosshairs, .apexcharts-zoom-rect, .apexcharts-selection-rect {\n display: none;\n }\n `;\n l && (c += ve);\n let h = `\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n version=\"1.1\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n class=\"apexcharts-svg\"\n xmlns:data=\"ApexChartsNS\"\n transform=\"translate(0, 0)\"\n width=\"${s.globals.svgWidth}px\" height=\"${s.globals.svgHeight}px\">\n <foreignObject width=\"100%\" height=\"100%\">\n <div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"width:${a}px; height:${o}px;\">\n <style type=\"text/css\">\n ${c}\n </style>\n ${n}\n </div>\n </foreignObject>\n </svg>\n `;\n const d = this.svgStringToNode(h);\n i !== 1 && this.scaleSvgNode(d, i), this.convertImagesToBase64(d).then(() => {\n h = new XMLSerializer().serializeToString(d), e(h.replace(/ /g, \" \"));\n });\n });\n }\n convertImagesToBase64(t) {\n const e = t.getElementsByTagName(\"image\"), s = Array.from(e).map((i) => {\n const a = i.getAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\");\n return a && !a.startsWith(\"data:\") ? this.getBase64FromUrl(a).then((o) => {\n i.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", o);\n }).catch((o) => {\n console.error(\"Error converting image to base64:\", o);\n }) : Promise.resolve();\n });\n return Promise.all(s);\n }\n getBase64FromUrl(t) {\n return B.isSSR() ? Promise.resolve(t) : new Promise((e, s) => {\n const i = new Image();\n i.crossOrigin = \"Anonymous\", i.onload = () => {\n const a = document.createElement(\"canvas\");\n a.width = i.width, a.height = i.height, a.getContext(\"2d\").drawImage(i, 0, 0), e(a.toDataURL());\n }, i.onerror = s, i.src = t;\n });\n }\n svgUrl() {\n return new Promise((t) => {\n this.getSvgString().then((e) => {\n const s = new Blob([e], {\n type: \"image/svg+xml;charset=utf-8\"\n });\n t(URL.createObjectURL(s));\n });\n });\n }\n dataURI(t) {\n return B.isSSR() ? Promise.resolve({ imgURI: \"\" }) : new Promise((e) => {\n const s = this.w, i = t ? t.scale || t.width / s.globals.svgWidth : 1, a = document.createElement(\"canvas\");\n a.width = s.globals.svgWidth * i, a.height = parseInt(s.dom.elWrap.style.height, 10) * i;\n const o = s.config.chart.background === \"transparent\" || !s.config.chart.background ? \"#fff\" : s.config.chart.background, r = a.getContext(\"2d\");\n r.fillStyle = o, r.fillRect(0, 0, a.width * i, a.height * i), this.getSvgString(i).then((n) => {\n const l = \"data:image/svg+xml,\" + encodeURIComponent(n), c = new Image();\n c.crossOrigin = \"anonymous\", c.onload = () => {\n if (r.drawImage(c, 0, 0), a.msToBlob) {\n const h = a.msToBlob();\n e({ blob: h });\n } else {\n const h = a.toDataURL(\"image/png\");\n e({ imgURI: h });\n }\n }, c.src = l;\n });\n });\n }\n exportToSVG() {\n this.svgUrl().then((t) => {\n this.triggerDownload(\n t,\n this.w.config.chart.toolbar.export.svg.filename,\n \".svg\"\n );\n });\n }\n exportToPng() {\n const t = this.w.config.chart.toolbar.export.scale, e = this.w.config.chart.toolbar.export.width, s = t ? { scale: t } : e ? { width: e } : void 0;\n this.dataURI(s).then(({ imgURI: i, blob: a }) => {\n a ? navigator.msSaveOrOpenBlob(a, this.w.globals.chartID + \".png\") : this.triggerDownload(\n i,\n this.w.config.chart.toolbar.export.png.filename,\n \".png\"\n );\n });\n }\n exportToCSV({\n series: t,\n fileName: e,\n columnDelimiter: s = \",\",\n lineDelimiter: i = `\n`\n }) {\n const a = this.w;\n t || (t = a.config.series);\n let o = [];\n const r = [];\n let n = \"\";\n const l = \"\\uFEFF\", c = a.seriesData.series.map((b, w) => a.globals.collapsedSeriesIndices.indexOf(w) === -1 ? b : []), h = (b) => typeof a.config.chart.toolbar.export.csv.categoryFormatter == \"function\" ? a.config.chart.toolbar.export.csv.categoryFormatter(b) : a.config.xaxis.type === \"datetime\" && String(b).length >= 10 ? new Date(b).toDateString() : L.isNumber(b) ? b : b.split(s).join(\"\"), d = (b) => typeof a.config.chart.toolbar.export.csv.valueFormatter == \"function\" ? a.config.chart.toolbar.export.csv.valueFormatter(b) : b, p = Math.max(\n ...t.map((b) => b.data ? b.data.length : 0)\n ), g = new Wt(this.w), f = new at(this.w, { theme: this.ctx.theme, timeScale: this.ctx.timeScale }), x = (b) => {\n let w = \"\";\n if (!a.globals.axisCharts)\n w = a.config.labels[b];\n else {\n if (a.config.xaxis.type === \"category\" || a.config.xaxis.convertedCatToNumeric)\n if (a.globals.isBarHorizontal) {\n const v = a.formatters.yLabelFormatters[0], D = new U(this.ctx.w).getActiveConfigSeriesIndex();\n w = v(a.labelData.labels[b], {\n seriesIndex: D,\n dataPointIndex: b,\n w: a\n });\n } else\n w = f.getLabel(\n a.labelData.labels,\n a.labelData.timescaleLabels,\n 0,\n b\n ).text;\n a.config.xaxis.type === \"datetime\" && (a.config.xaxis.categories.length ? w = a.config.xaxis.categories[b] : a.config.labels.length && (w = a.config.labels[b]));\n }\n return w === null ? \"nullvalue\" : (Array.isArray(w) && (w = w.join(\" \")), L.isNumber(w) ? w : w.split(s).join(\"\"));\n }, m = () => [...Array(p)].map(() => \"\"), u = (b, w) => {\n var v;\n if (o.length && w === 0 && r.push(o.join(s)), b.data) {\n b.data = b.data.length && b.data || m();\n for (let C = 0; C < b.data.length; C++) {\n o = [];\n let D = x(C);\n if (D !== \"nullvalue\") {\n if (D || (g.isFormatXY() ? D = t[w].data[C].x : g.isFormat2DArray() && (D = t[w].data[C] ? t[w].data[C][0] : \"\")), w === 0) {\n o.push(h(D));\n for (let S = 0; S < a.seriesData.series.length; S++) {\n const k = g.isFormatXY() ? (v = t[S].data[C]) == null ? void 0 : v.y : c[S][C];\n o.push(d(k));\n }\n }\n (a.config.chart.type === \"candlestick\" || b.type && b.type === \"candlestick\") && (o.pop(), o.push(a.candleData.seriesCandleO[w][C]), o.push(a.candleData.seriesCandleH[w][C]), o.push(a.candleData.seriesCandleL[w][C]), o.push(a.candleData.seriesCandleC[w][C])), (a.config.chart.type === \"boxPlot\" || b.type && b.type === \"boxPlot\") && (o.pop(), o.push(a.candleData.seriesCandleO[w][C]), o.push(a.candleData.seriesCandleH[w][C]), o.push(a.candleData.seriesCandleM[w][C]), o.push(a.candleData.seriesCandleL[w][C]), o.push(a.candleData.seriesCandleC[w][C])), a.config.chart.type === \"rangeBar\" && (o.pop(), o.push(a.rangeData.seriesRangeStart[w][C]), o.push(a.rangeData.seriesRangeEnd[w][C])), o.length && r.push(o.join(s));\n }\n }\n }\n }, y = () => {\n const b = /* @__PURE__ */ new Set(), w = {};\n t.forEach((v, C) => {\n v == null || v.data.forEach((D) => {\n let S, k;\n if (g.isFormatXY())\n S = D.x, k = D.y;\n else if (g.isFormat2DArray())\n S = D[0], k = D[1];\n else\n return;\n w[S] || (w[S] = Array(t.length).fill(\"\")), w[S][C] = d(k), b.add(S);\n });\n }), o.length && r.push(o.join(s)), Array.from(b).sort().forEach((v) => {\n r.push([\n h(v),\n w[v].join(s)\n ]);\n });\n };\n o.push(a.config.chart.toolbar.export.csv.headerCategory), a.config.chart.type === \"boxPlot\" ? (o.push(\"minimum\"), o.push(\"q1\"), o.push(\"median\"), o.push(\"q3\"), o.push(\"maximum\")) : a.config.chart.type === \"candlestick\" ? (o.push(\"open\"), o.push(\"high\"), o.push(\"low\"), o.push(\"close\")) : a.config.chart.type === \"rangeBar\" ? (o.push(\"minimum\"), o.push(\"maximum\")) : t.map((b, w) => {\n const v = (b.name ? b.name : `series-${w}`) + \"\";\n a.globals.axisCharts && o.push(\n v.split(s).join(\"\") ? v.split(s).join(\"\") : `series-${w}`\n );\n }), a.globals.axisCharts || (o.push(a.config.chart.toolbar.export.csv.headerValue), r.push(o.join(s))), !a.globals.allSeriesHasEqualX && a.globals.axisCharts && !a.config.xaxis.categories.length && !a.config.labels.length ? y() : t.map((b, w) => {\n a.globals.axisCharts ? u(b, w) : (o = [], o.push(h(a.labelData.labels[w])), o.push(d(c[w])), r.push(o.join(s)));\n }), n += r.join(i), this.triggerDownload(\n \"data:text/csv; charset=utf-8,\" + encodeURIComponent(l + n),\n e || a.config.chart.toolbar.export.csv.filename,\n \".csv\"\n );\n }\n triggerDownload(t, e, s) {\n if (B.isSSR())\n return;\n const i = document.createElement(\"a\");\n i.href = t, i.download = (e || this.w.globals.chartID) + s, document.body.appendChild(i), i.click(), document.body.removeChild(i);\n }\n}\nK.registerFeatures({ exports: Ae });\nlet Ms = class {\n constructor(t) {\n this.w = t.w, this.lgCtx = t;\n }\n getLegendStyles() {\n if (B.isSSR())\n return null;\n const t = document.createElement(\"style\");\n t.setAttribute(\"type\", \"text/css\");\n const e = this.w.config.chart.nonce;\n e && t.setAttribute(\"nonce\", e);\n const s = document.createTextNode(ve);\n return t.appendChild(s), t;\n }\n getLegendDimensions() {\n const e = this.w.dom.baseEl.querySelector(\".apexcharts-legend\");\n if (!e)\n return { clwh: 0, clww: 0 };\n const { width: s, height: i } = e.getBoundingClientRect();\n return {\n clwh: i,\n clww: s\n };\n }\n appendToForeignObject() {\n const t = this.getLegendStyles();\n this.w.config.chart.injectStyleSheet !== !1 && t && this.w.dom.elLegendForeign.appendChild(t);\n }\n toggleDataSeries(t, e) {\n const s = this.w;\n if (s.globals.axisCharts || s.config.chart.type === \"radialBar\") {\n s.globals.resized = !0;\n let i = null, a = null;\n if (s.globals.risingSeries = [], s.globals.axisCharts) {\n if (i = s.dom.baseEl.querySelector(\n `.apexcharts-series[data\\\\:realIndex='${t}']`\n ), !i)\n return;\n a = parseInt(i.getAttribute(\"data:realIndex\"), 10);\n } else {\n if (i = s.dom.baseEl.querySelector(\n `.apexcharts-series[rel='${t + 1}']`\n ), !i)\n return;\n a = parseInt(i.getAttribute(\"rel\"), 10) - 1;\n }\n if (e ? [\n {\n cs: s.globals.collapsedSeries,\n csi: s.globals.collapsedSeriesIndices\n },\n {\n cs: s.globals.ancillaryCollapsedSeries,\n csi: s.globals.ancillaryCollapsedSeriesIndices\n }\n ].forEach((r) => {\n this.riseCollapsedSeries(r.cs, r.csi, a);\n }) : this.hideSeries({ seriesEl: i, realIndex: a }), s.config.chart.accessibility.enabled) {\n const o = s.dom.baseEl.querySelector(\n `.apexcharts-legend-series[rel=\"${t + 1}\"]`\n );\n if (o) {\n const r = s.globals.collapsedSeriesIndices.includes(a) || s.globals.ancillaryCollapsedSeriesIndices.includes(a);\n o.setAttribute(\n \"aria-pressed\",\n r ? \"true\" : \"false\"\n );\n const n = o.querySelector(\n \".apexcharts-legend-text\"\n ), l = n ? n.textContent : s.seriesData.seriesNames[t], c = r ? \"hidden\" : \"visible\";\n o.setAttribute(\n \"aria-label\",\n `${l}, ${c}. Press Enter or Space to toggle.`\n );\n }\n }\n } else {\n const i = s.dom.Paper.findOne(\n ` .apexcharts-series[rel='${t + 1}'] path`\n ), a = s.config.chart.type;\n if (a === \"pie\" || a === \"polarArea\" || a === \"donut\") {\n const o = s.config.plotOptions.pie.donut.labels;\n new P(this.w).pathMouseDown(i, null), this.lgCtx.printDataLabelsInner(i.node, o);\n }\n if (s.config.chart.accessibility.enabled) {\n const o = s.dom.baseEl.querySelector(\n `.apexcharts-legend-series[rel=\"${t + 1}\"]`\n );\n if (o) {\n const r = s.globals.collapsedSeriesIndices.includes(t);\n o.setAttribute(\n \"aria-pressed\",\n r ? \"true\" : \"false\"\n );\n const n = o.querySelector(\n \".apexcharts-legend-text\"\n ), l = n ? n.textContent : s.seriesData.seriesNames[t], c = r ? \"hidden\" : \"visible\";\n o.setAttribute(\n \"aria-label\",\n `${l}, ${c}. Press Enter or Space to toggle.`\n );\n }\n }\n }\n }\n getSeriesAfterCollapsing({ realIndex: t }) {\n const e = this.w, s = e.globals, i = L.clone(e.config.series);\n if (s.axisCharts) {\n const a = e.config.yaxis[s.seriesYAxisReverseMap[t]], o = {\n index: t,\n data: i[t].data.slice(),\n type: i[t].type || e.config.chart.type\n };\n if (a && a.show && a.showAlways)\n s.ancillaryCollapsedSeriesIndices.indexOf(t) < 0 && (s.ancillaryCollapsedSeries.push(o), s.ancillaryCollapsedSeriesIndices.push(t));\n else if (s.collapsedSeriesIndices.indexOf(t) < 0) {\n s.collapsedSeries.push(o), s.collapsedSeriesIndices.push(t);\n const r = s.risingSeries.indexOf(t);\n s.risingSeries.splice(r, 1);\n }\n } else\n s.collapsedSeries.push({\n index: t,\n data: i[t]\n }), s.collapsedSeriesIndices.push(t);\n return s.allSeriesCollapsed = s.collapsedSeries.length + s.ancillaryCollapsedSeries.length === e.config.series.length, this._getSeriesBasedOnCollapsedState(i);\n }\n hideSeries({ seriesEl: t, realIndex: e }) {\n const s = this.w, i = this.getSeriesAfterCollapsing({\n realIndex: e\n }), a = t.childNodes;\n for (let o = 0; o < a.length; o++)\n a[o].classList.contains(\"apexcharts-series-markers-wrap\") && (a[o].classList.contains(\"apexcharts-hide\") ? a[o].classList.remove(\"apexcharts-hide\") : a[o].classList.add(\"apexcharts-hide\"));\n this.lgCtx.updateSeries(\n i,\n s.config.chart.animations.dynamicAnimation.enabled\n );\n }\n riseCollapsedSeries(t, e, s) {\n const i = this.w;\n let a = L.clone(i.config.series);\n if (t.length > 0) {\n for (let o = 0; o < t.length; o++)\n t[o].index === s && (i.globals.axisCharts ? a[s].data = t[o].data.slice() : a[s] = t[o].data, typeof a[s] != \"number\" && (a[s].hidden = !1), t.splice(o, 1), e.splice(o, 1), i.globals.risingSeries.push(s), o--);\n a = this._getSeriesBasedOnCollapsedState(a), this.lgCtx.updateSeries(\n a,\n i.config.chart.animations.dynamicAnimation.enabled\n );\n }\n }\n _getSeriesBasedOnCollapsedState(t) {\n const e = this.w;\n let s = 0;\n return e.globals.axisCharts ? t.forEach((i, a) => {\n e.globals.collapsedSeriesIndices.indexOf(a) < 0 && e.globals.ancillaryCollapsedSeriesIndices.indexOf(a) < 0 || (t[a].data = [], s++);\n }) : t.forEach((i, a) => {\n e.globals.collapsedSeriesIndices.indexOf(a) < 0 || (t[a] = 0, s++);\n }), e.globals.allSeriesCollapsed = s === t.length, t;\n }\n};\nclass Ps {\n constructor(t, e) {\n this.w = t, this.ctx = e, this.printDataLabelsInner = (...s) => {\n var i;\n return (i = e.pie) == null ? void 0 : i.printDataLabelsInner(...s);\n }, this.updateSeries = (...s) => e.updateHelpers._updateSeries(...s), this.onLegendClick = this.onLegendClick.bind(this), this.onLegendHovered = this.onLegendHovered.bind(this), this.isBarsDistributed = this.w.config.chart.type === \"bar\" && this.w.config.plotOptions.bar.distributed && this.w.config.series.length === 1, this.legendHelpers = new Ms(this);\n }\n init() {\n const t = this.w, e = t.globals, s = t.config, i = s.legend.showForSingleSeries && this.w.seriesData.series.length === 1 || this.isBarsDistributed || this.w.seriesData.series.length > 1;\n if (this.legendHelpers.appendToForeignObject(), (i || !e.axisCharts) && s.legend.show) {\n for (; t.dom.elLegendWrap.firstChild; )\n t.dom.elLegendWrap.removeChild(t.dom.elLegendWrap.firstChild);\n this.drawLegends(), s.legend.position === \"bottom\" || s.legend.position === \"top\" ? this.legendAlignHorizontal() : (s.legend.position === \"right\" || s.legend.position === \"left\") && this.legendAlignVertical();\n }\n }\n createLegendMarker({ i: t, fillcolor: e }) {\n const s = this.w, i = N.createElement(\"span\");\n i.classList.add(\"apexcharts-legend-marker\");\n const a = s.config.legend.markers.shape || s.config.markers.shape;\n let o = a;\n Array.isArray(a) && (o = a[t]);\n const r = Array.isArray(s.config.legend.markers.size) ? parseFloat(s.config.legend.markers.size[t]) : parseFloat(s.config.legend.markers.size), n = Array.isArray(s.config.legend.markers.offsetX) ? parseFloat(s.config.legend.markers.offsetX[t]) : parseFloat(s.config.legend.markers.offsetX), l = Array.isArray(s.config.legend.markers.offsetY) ? parseFloat(s.config.legend.markers.offsetY[t]) : parseFloat(s.config.legend.markers.offsetY), c = Array.isArray(s.config.legend.markers.strokeWidth) ? parseFloat(s.config.legend.markers.strokeWidth[t]) : parseFloat(s.config.legend.markers.strokeWidth), h = i.style;\n if (h.height = (r + c) * 2 + \"px\", h.width = (r + c) * 2 + \"px\", h.left = n + \"px\", h.top = l + \"px\", s.config.legend.markers.customHTML)\n h.background = \"transparent\", h.color = e[t], Array.isArray(s.config.legend.markers.customHTML) ? s.config.legend.markers.customHTML[t] && (i.innerHTML = s.config.legend.markers.customHTML[t]()) : i.innerHTML = s.config.legend.markers.customHTML();\n else {\n const p = new xt(this.ctx.w, this.ctx).getMarkerConfig({\n cssClass: `apexcharts-legend-marker apexcharts-marker apexcharts-marker-${o}`,\n seriesIndex: t,\n strokeWidth: c,\n size: r\n }), f = (B.isBrowser() ? window.SVG : global.SVG)().addTo(i).size(\"100%\", \"100%\"), x = new P(this.w).drawMarker(0, 0, O(I({}, p), {\n pointFillColor: Array.isArray(e) ? e[t] : p.pointFillColor,\n shape: o\n }));\n s.dom.Paper.find(\n \".apexcharts-legend-marker.apexcharts-marker\"\n ).forEach((u) => {\n u.node.classList.contains(\"apexcharts-marker-triangle\") ? u.node.style.transform = \"translate(50%, 45%)\" : u.node.style.transform = \"translate(50%, 50%)\";\n }), f.add(x);\n }\n return i;\n }\n drawLegends() {\n var t;\n const e = this, s = this.w, i = s.config.legend.fontFamily;\n let a = s.seriesData.seriesNames, o = s.config.legend.markers.fillColors ? s.config.legend.markers.fillColors.slice() : s.globals.colors.slice();\n if (s.config.chart.type === \"heatmap\") {\n const c = s.config.plotOptions.heatmap.colorScale.ranges;\n a = c.map((h) => h.name ? h.name : h.from + \" - \" + h.to), o = c.map((h) => h.color);\n } else\n this.isBarsDistributed && (a = s.labelData.labels.slice());\n s.config.legend.customLegendItems.length && (a = s.config.legend.customLegendItems);\n const r = s.formatters.legendFormatter, n = s.config.legend.inverseOrder, l = [];\n s.labelData.seriesGroups.length > 1 && s.config.legend.clusterGroupedSeries && s.labelData.seriesGroups.forEach((c, h) => {\n l[h] = N.createElement(\"div\"), l[h].classList.add(\n \"apexcharts-legend-group\",\n `apexcharts-legend-group-${h}`\n ), s.config.legend.clusterGroupedSeriesOrientation === \"horizontal\" ? s.dom.elLegendWrap.classList.add(\n \"apexcharts-legend-group-horizontal\"\n ) : l[h].classList.add(\"apexcharts-legend-group-vertical\");\n });\n for (let c = n ? a.length - 1 : 0; n ? c >= 0 : c <= a.length - 1; n ? c-- : c++) {\n const h = r(a[c], { seriesIndex: c, w: s });\n let d = !1, p = !1;\n if (s.globals.collapsedSeries.length > 0)\n for (let y = 0; y < s.globals.collapsedSeries.length; y++)\n s.globals.collapsedSeries[y].index === c && (d = !0);\n if (s.globals.ancillaryCollapsedSeriesIndices.length > 0)\n for (let y = 0; y < s.globals.ancillaryCollapsedSeriesIndices.length; y++)\n s.globals.ancillaryCollapsedSeriesIndices[y] === c && (p = !0);\n const g = this.createLegendMarker({ i: c, fillcolor: o });\n P.setAttrs(g, {\n rel: c + 1,\n \"data:collapsed\": d || p\n }), (d || p) && g.classList.add(\"apexcharts-inactive-legend\");\n const f = N.createElement(\"div\");\n if (s.config.chart.accessibility.enabled && s.config.chart.accessibility.keyboard.enabled) {\n f.setAttribute(\"role\", \"button\"), f.setAttribute(\"tabindex\", \"0\");\n const y = Array.isArray(h) ? h.join(\" \") : h, b = d || p, w = b ? \"hidden\" : \"visible\";\n f.setAttribute(\n \"aria-label\",\n `${y}, ${w}. Press Enter or Space to toggle.`\n ), f.setAttribute(\"aria-pressed\", b ? \"true\" : \"false\");\n }\n const x = N.createElement(\"span\");\n x.classList.add(\"apexcharts-legend-text\"), x.innerHTML = Array.isArray(h) ? h.join(\" \") : h;\n let m = s.config.legend.labels.useSeriesColors ? s.globals.colors[c] : Array.isArray(s.config.legend.labels.colors) ? (t = s.config.legend.labels.colors) == null ? void 0 : t[c] : s.config.legend.labels.colors;\n m || (m = s.config.chart.foreColor), x.style.color = m, x.style.fontSize = s.config.legend.fontSize, x.style.fontWeight = s.config.legend.fontWeight, x.style.fontFamily = i || s.config.chart.fontFamily, P.setAttrs(x, {\n rel: c + 1,\n i: c,\n \"data:default-text\": encodeURIComponent(h),\n \"data:collapsed\": d || p\n }), f.appendChild(g), f.appendChild(x);\n const u = new V(this.w);\n s.config.legend.showForZeroSeries || u.getSeriesTotalByIndex(c) === 0 && u.seriesHaveSameValues(c) && !u.isSeriesNull(c) && s.globals.collapsedSeriesIndices.indexOf(c) === -1 && s.globals.ancillaryCollapsedSeriesIndices.indexOf(c) === -1 && f.classList.add(\"apexcharts-hidden-zero-series\"), s.config.legend.showForNullSeries || u.isSeriesNull(c) && s.globals.collapsedSeriesIndices.indexOf(c) === -1 && s.globals.ancillaryCollapsedSeriesIndices.indexOf(c) === -1 && f.classList.add(\"apexcharts-hidden-null-series\"), l.length ? s.labelData.seriesGroups.forEach((y, b) => {\n var w;\n y.includes((w = s.config.series[c]) == null ? void 0 : w.name) && (s.dom.elLegendWrap.appendChild(l[b]), l[b].appendChild(f));\n }) : s.dom.elLegendWrap.appendChild(f), s.dom.elLegendWrap.classList.add(\n `apexcharts-align-${s.config.legend.horizontalAlign}`\n ), s.dom.elLegendWrap.classList.add(\n \"apx-legend-position-\" + s.config.legend.position\n ), f.classList.add(\"apexcharts-legend-series\"), f.style.margin = `${s.config.legend.itemMargin.vertical}px ${s.config.legend.itemMargin.horizontal}px`, s.dom.elLegendWrap.style.width = s.config.legend.width ? s.config.legend.width + \"px\" : \"\", s.dom.elLegendWrap.style.height = s.config.legend.height ? s.config.legend.height + \"px\" : \"\", P.setAttrs(f, {\n rel: c + 1,\n seriesName: L.escapeString(a[c]),\n \"data:collapsed\": d || p\n }), (d || p) && f.classList.add(\"apexcharts-inactive-legend\"), s.config.legend.onItemClick.toggleDataSeries || f.classList.add(\"apexcharts-no-click\");\n }\n s.dom.elWrap.addEventListener(\"click\", e.onLegendClick, !0), s.config.legend.onItemHover.highlightDataSeries && s.config.legend.customLegendItems.length === 0 && (s.dom.elWrap.addEventListener(\n \"mousemove\",\n e.onLegendHovered,\n !0\n ), s.dom.elWrap.addEventListener(\n \"mouseout\",\n e.onLegendHovered,\n !0\n )), s.config.chart.accessibility.enabled && s.config.chart.accessibility.keyboard.enabled && s.dom.elWrap.addEventListener(\"keydown\", e.onLegendKeyDown.bind(e), !0);\n }\n setLegendWrapXY(t, e) {\n const s = this.w, i = s.dom.elLegendWrap, a = i.clientHeight;\n let o = 0, r = 0;\n if (s.config.legend.position === \"bottom\")\n r = s.globals.svgHeight - Math.min(a, s.globals.svgHeight / 2) - 5;\n else if (s.config.legend.position === \"top\") {\n const l = new Dt(this.w, this.ctx), c = l.dimHelpers.getTitleSubtitleCoords(\"title\").height, h = l.dimHelpers.getTitleSubtitleCoords(\"subtitle\").height;\n r = (c > 0 ? c - 10 : 0) + (h > 0 ? h - 10 : 0);\n }\n i.style.position = \"absolute\", o = o + t + s.config.legend.offsetX, r = r + e + s.config.legend.offsetY, i.style.left = o + \"px\", i.style.top = r + \"px\", s.config.legend.position === \"right\" && (i.style.left = \"auto\", i.style.right = 25 + s.config.legend.offsetX + \"px\"), [\"width\", \"height\"].forEach((l) => {\n i.style[l] && (i.style[l] = parseInt(s.config.legend[l], 10) + \"px\");\n });\n }\n legendAlignHorizontal() {\n const t = this.w, e = t.dom.elLegendWrap;\n e.style.right = 0;\n const s = new Dt(this.w, this.ctx), i = s.dimHelpers.getTitleSubtitleCoords(\"title\"), a = s.dimHelpers.getTitleSubtitleCoords(\"subtitle\"), o = 20;\n let r = 0;\n t.config.legend.position === \"top\" && (r = i.height + a.height + t.config.title.margin + t.config.subtitle.margin - 10), this.setLegendWrapXY(o, r);\n }\n legendAlignVertical() {\n const t = this.w, e = this.legendHelpers.getLegendDimensions(), s = 20;\n let i = 0;\n t.config.legend.position === \"left\" && (i = 20), t.config.legend.position === \"right\" && (i = t.globals.svgWidth - e.clww - 10), this.setLegendWrapXY(i, s);\n }\n onLegendHovered(t) {\n const e = this.w, s = t.target.classList.contains(\"apexcharts-legend-series\") || t.target.classList.contains(\"apexcharts-legend-text\") || t.target.classList.contains(\"apexcharts-legend-marker\");\n if (e.config.chart.type !== \"heatmap\" && !this.isBarsDistributed)\n !t.target.classList.contains(\"apexcharts-inactive-legend\") && s && new U(this.ctx.w).toggleSeriesOnHover(t, t.target);\n else if (s) {\n const i = parseInt(t.target.getAttribute(\"rel\"), 10) - 1;\n this.ctx.events.fireEvent(\"legendHover\", [this.ctx, i, this.w]), new U(this.ctx.w).highlightRangeInSeries(t, t.target);\n }\n }\n onLegendKeyDown(t) {\n const e = this, s = this.w;\n if ((t.target.classList.contains(\"apexcharts-legend-series\") || t.target.classList.contains(\"apexcharts-legend-text\") || t.target.classList.contains(\"apexcharts-legend-marker\")) && (t.key === \"Enter\" || t.key === \" \")) {\n t.preventDefault();\n const a = t.target.getAttribute(\"rel\");\n e.onLegendClick(t), a !== null && s.config.legend.onItemClick.toggleDataSeries && requestAnimationFrame(() => {\n const o = s.dom.baseEl.querySelector(\n `.apexcharts-legend-series[rel=\"${a}\"]`\n );\n o && o.focus();\n });\n }\n }\n onLegendClick(t) {\n const e = this.w;\n if (!e.config.legend.customLegendItems.length && (t.target.classList.contains(\"apexcharts-legend-series\") || t.target.classList.contains(\"apexcharts-legend-text\") || t.target.classList.contains(\"apexcharts-legend-marker\"))) {\n const s = parseInt(t.target.getAttribute(\"rel\"), 10) - 1, i = t.target.getAttribute(\"data:collapsed\") === \"true\", a = this.w.config.chart.events.legendClick;\n typeof a == \"function\" && a(this.ctx, s, this.w), this.ctx.events.fireEvent(\"legendClick\", [this.ctx, s, this.w]);\n const o = this.w.config.legend.markers.onClick;\n typeof o == \"function\" && t.target.classList.contains(\"apexcharts-legend-marker\") && (o(this.ctx, s, this.w), this.ctx.events.fireEvent(\"legendMarkerClick\", [\n this.ctx,\n s,\n this.w\n ])), e.config.chart.type !== \"treemap\" && e.config.chart.type !== \"heatmap\" && !this.isBarsDistributed && e.config.legend.onItemClick.toggleDataSeries && this.legendHelpers.toggleDataSeries(s, i);\n }\n }\n}\nK.registerFeatures({ legend: Ps });\nconst Fs = `<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" fill=\"#000000\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\">\n <defs>\n <path d=\"M0 0h24v24H0z\" id=\"a\"/>\n </defs>\n <clipPath id=\"b\">\n <use overflow=\"visible\" xlink:href=\"#a\"/>\n </clipPath>\n <path clip-path=\"url(#b)\" d=\"M23 5.5V20c0 2.2-1.8 4-4 4h-7.3c-1.08 0-2.1-.43-2.85-1.19L1 14.83s1.26-1.23 1.3-1.25c.22-.19.49-.29.79-.29.22 0 .42.06.6.16.04.01 4.31 2.46 4.31 2.46V4c0-.83.67-1.5 1.5-1.5S11 3.17 11 4v7h1V1.5c0-.83.67-1.5 1.5-1.5S15 .67 15 1.5V11h1V2.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5V11h1V5.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5z\"/>\n</svg>`, Es = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#000000\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\">\n <path d=\"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\"/>\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M12 10h-2v2H9v-2H7V9h2V7h1v2h2v1z\"/>\n</svg>`, Xs = `<svg fill=\"#000000\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z\"/>\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\n</svg>`, Rs = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path d=\"M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7zm-1-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z\"/>\n</svg>\n`, Is = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path d=\"M7 11v2h10v-2H7zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z\"/>\n</svg>\n`, Ys = `<svg fill=\"#6E8192\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path d=\"M3 5h2V3c-1.1 0-2 .9-2 2zm0 8h2v-2H3v2zm4 8h2v-2H7v2zM3 9h2V7H3v2zm10-6h-2v2h2V3zm6 0v2h2c0-1.1-.9-2-2-2zM5 21v-2H3c0 1.1.9 2 2 2zm-2-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-2v2z\"/>\n</svg>`, Bs = '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path fill=\"none\" d=\"M0 0h24v24H0V0z\"/><path d=\"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z\"/></svg>';\nclass Ce {\n constructor(t, e) {\n this.w = t, this.ctx = e, this.ev = this.w.config.chart.events, this.selectedClass = \"apexcharts-selected\", this.localeValues = this.w.globals.locale.toolbar, this.minX = t.globals.minX, this.maxX = t.globals.maxX;\n }\n createToolbar() {\n const t = this.w, e = () => N.createElementNS(\"http://www.w3.org/1999/xhtml\", \"div\"), s = e();\n if (s.setAttribute(\"class\", \"apexcharts-toolbar\"), s.style.top = t.config.chart.toolbar.offsetY + \"px\", s.style.right = -t.config.chart.toolbar.offsetX + 3 + \"px\", t.dom.elWrap.appendChild(s), this.elZoom = e(), this.elZoomIn = e(), this.elZoomOut = e(), this.elPan = e(), this.elSelection = e(), this.elZoomReset = e(), this.elMenuIcon = e(), this.elMenu = e(), this.elCustomIcons = [], this.t = t.config.chart.toolbar.tools, Array.isArray(this.t.customIcons))\n for (let r = 0; r < this.t.customIcons.length; r++)\n this.elCustomIcons.push(e());\n const i = [], a = (r, n, l) => {\n const c = r.toLowerCase();\n this.t[c] && t.config.chart.zoom.enabled && i.push({\n el: n,\n icon: typeof this.t[c] == \"string\" ? this.t[c] : l,\n title: this.localeValues[r],\n class: `apexcharts-${c}-icon`\n });\n };\n a(\"zoomIn\", this.elZoomIn, Rs), a(\"zoomOut\", this.elZoomOut, Is);\n const o = (r) => {\n this.t[r] && t.config.chart[r].enabled && i.push({\n el: r === \"zoom\" ? this.elZoom : this.elSelection,\n icon: typeof this.t[r] == \"string\" ? this.t[r] : r === \"zoom\" ? Es : Ys,\n title: this.localeValues[r === \"zoom\" ? \"selectionZoom\" : \"selection\"],\n class: `apexcharts-${r}-icon`\n });\n };\n o(\"zoom\"), o(\"selection\"), this.t.pan && t.config.chart.zoom.enabled && i.push({\n el: this.elPan,\n icon: typeof this.t.pan == \"string\" ? this.t.pan : Fs,\n title: this.localeValues.pan,\n class: \"apexcharts-pan-icon\"\n }), a(\"reset\", this.elZoomReset, Xs), this.t.download && i.push({\n el: this.elMenuIcon,\n icon: typeof this.t.download == \"string\" ? this.t.download : Bs,\n title: this.localeValues.menu,\n class: \"apexcharts-menu-icon\"\n });\n for (let r = 0; r < this.elCustomIcons.length; r++)\n i.push({\n el: this.elCustomIcons[r],\n icon: this.t.customIcons[r].icon,\n title: this.t.customIcons[r].title,\n index: this.t.customIcons[r].index,\n class: \"apexcharts-toolbar-custom-icon \" + this.t.customIcons[r].class\n });\n i.forEach((r, n) => {\n r.index && L.moveIndexInArray(i, n, r.index);\n });\n for (let r = 0; r < i.length; r++)\n P.setAttrs(i[r].el, {\n class: i[r].class,\n title: i[r].title,\n tabindex: \"0\",\n role: \"button\",\n \"aria-label\": i[r].title\n }), i[r].el.innerHTML = i[r].icon, s.appendChild(i[r].el);\n this.elZoom.parentNode && this.elZoom.setAttribute(\"aria-pressed\", String(!!t.interact.zoomEnabled)), this.elSelection.parentNode && this.elSelection.setAttribute(\"aria-pressed\", String(!!t.interact.selectionEnabled)), this.elPan.parentNode && this.elPan.setAttribute(\"aria-pressed\", String(!!t.interact.panEnabled)), this.elMenuIcon.parentNode && (this.elMenuIcon.setAttribute(\"aria-haspopup\", \"true\"), this.elMenuIcon.setAttribute(\"aria-expanded\", \"false\")), this._createHamburgerMenu(s), t.interact.zoomEnabled ? this.elZoom.classList.add(this.selectedClass) : t.interact.panEnabled ? this.elPan.classList.add(this.selectedClass) : t.interact.selectionEnabled && this.elSelection.classList.add(this.selectedClass), this.addToolbarEventListeners();\n }\n _createHamburgerMenu(t) {\n this.elMenuItems = [], t.appendChild(this.elMenu), P.setAttrs(this.elMenu, {\n class: \"apexcharts-menu\",\n role: \"menu\"\n });\n const e = [\n {\n name: \"exportSVG\",\n title: this.localeValues.exportToSVG\n },\n {\n name: \"exportPNG\",\n title: this.localeValues.exportToPNG\n },\n {\n name: \"exportCSV\",\n title: this.localeValues.exportToCSV\n }\n ];\n for (let s = 0; s < e.length; s++)\n this.elMenuItems.push(N.createElementNS(\"http://www.w3.org/1999/xhtml\", \"div\")), this.elMenuItems[s].innerHTML = e[s].title, P.setAttrs(this.elMenuItems[s], {\n class: `apexcharts-menu-item ${e[s].name}`,\n title: e[s].title,\n role: \"menuitem\",\n tabindex: \"-1\"\n }), this.elMenu.appendChild(this.elMenuItems[s]);\n }\n addToolbarEventListeners() {\n this.elZoomReset.addEventListener(\"click\", this.handleZoomReset.bind(this)), this.elSelection.addEventListener(\n \"click\",\n this.toggleZoomSelection.bind(this, \"selection\")\n ), this.elZoom.addEventListener(\n \"click\",\n this.toggleZoomSelection.bind(this, \"zoom\")\n ), this.elZoomIn.addEventListener(\"click\", this.handleZoomIn.bind(this)), this.elZoomOut.addEventListener(\"click\", this.handleZoomOut.bind(this)), this.elPan.addEventListener(\"click\", this.togglePanning.bind(this)), this.elMenuIcon.addEventListener(\"click\", this.toggleMenu.bind(this)), this.elMenuItems.forEach((e) => {\n e.classList.contains(\"exportSVG\") ? e.addEventListener(\"click\", this.handleDownload.bind(this, \"svg\")) : e.classList.contains(\"exportPNG\") ? e.addEventListener(\"click\", this.handleDownload.bind(this, \"png\")) : e.classList.contains(\"exportCSV\") && e.addEventListener(\"click\", this.handleDownload.bind(this, \"csv\"));\n });\n for (let e = 0; e < this.t.customIcons.length; e++)\n this.elCustomIcons[e].addEventListener(\n \"click\",\n this.t.customIcons[e].click.bind(this, this.ctx, this.ctx.w)\n );\n [\n this.elZoomReset,\n this.elSelection,\n this.elZoom,\n this.elZoomIn,\n this.elZoomOut,\n this.elPan,\n this.elMenuIcon,\n ...this.elCustomIcons\n ].forEach((e) => {\n e.addEventListener(\"keydown\", (s) => {\n if (s.key === \"Enter\" || s.key === \" \") {\n s.preventDefault();\n const i = e.className;\n e.click(), requestAnimationFrame(() => {\n const a = this.w.dom.baseEl;\n if (!a)\n return;\n const o = i.split(\" \").find((n) => n.startsWith(\"apexcharts-\"));\n if (!o)\n return;\n const r = a.querySelector(`.${o}`);\n r && r.focus();\n });\n }\n });\n }), this.elMenuIcon.addEventListener(\"keydown\", (e) => {\n (e.key === \"ArrowDown\" || e.key === \"ArrowUp\") && (e.preventDefault(), this.elMenu.classList.contains(\"apexcharts-menu-open\") || this.toggleMenu(), window.setTimeout(() => {\n const s = e.key === \"ArrowDown\" ? 0 : this.elMenuItems.length - 1;\n this.elMenuItems[s] && this.elMenuItems[s].focus();\n }, 20));\n }), this.elMenuItems.forEach((e, s) => {\n e.addEventListener(\"keydown\", (i) => {\n i.key === \"ArrowDown\" ? (i.preventDefault(), (this.elMenuItems[s + 1] || this.elMenuItems[0]).focus()) : i.key === \"ArrowUp\" ? (i.preventDefault(), (this.elMenuItems[s - 1] || this.elMenuItems[this.elMenuItems.length - 1]).focus()) : i.key === \"Escape\" || i.key === \"Tab\" ? (this._closeMenu(), this.elMenuIcon.focus(), i.key === \"Tab\" || i.preventDefault()) : (i.key === \"Enter\" || i.key === \" \") && (i.preventDefault(), e.click());\n });\n });\n }\n toggleZoomSelection(t) {\n this.ctx.getSyncedCharts().forEach((s) => {\n s.ctx.toolbar.toggleOtherControls();\n const i = t === \"selection\" ? s.ctx.toolbar.elSelection : s.ctx.toolbar.elZoom, a = t === \"selection\" ? \"selectionEnabled\" : \"zoomEnabled\";\n s.w.globals[a] = !s.w.globals[a], i.classList.contains(s.ctx.toolbar.selectedClass) ? i.classList.remove(s.ctx.toolbar.selectedClass) : i.classList.add(s.ctx.toolbar.selectedClass), i.setAttribute(\"aria-pressed\", String(s.w.globals[a]));\n });\n }\n getToolbarIconsReference() {\n const t = this.w;\n this.elZoom || (this.elZoom = t.dom.baseEl.querySelector(\".apexcharts-zoom-icon\")), this.elPan || (this.elPan = t.dom.baseEl.querySelector(\".apexcharts-pan-icon\")), this.elSelection || (this.elSelection = t.dom.baseEl.querySelector(\n \".apexcharts-selection-icon\"\n ));\n }\n enableZoomPanFromToolbar(t) {\n this.toggleOtherControls(), t === \"pan\" ? this.w.interact.panEnabled = !0 : this.w.interact.zoomEnabled = !0;\n const e = t === \"pan\" ? this.elPan : this.elZoom, s = t === \"pan\" ? this.elZoom : this.elPan;\n e && e.classList.add(this.selectedClass), s && s.classList.remove(this.selectedClass);\n }\n togglePanning() {\n this.ctx.getSyncedCharts().forEach((e) => {\n e.ctx.toolbar.toggleOtherControls(), e.w.interact.panEnabled = !e.w.interact.panEnabled, e.ctx.toolbar.elPan.classList.contains(e.ctx.toolbar.selectedClass) ? e.ctx.toolbar.elPan.classList.remove(e.ctx.toolbar.selectedClass) : e.ctx.toolbar.elPan.classList.add(e.ctx.toolbar.selectedClass), e.ctx.toolbar.elPan.setAttribute(\n \"aria-pressed\",\n String(e.w.interact.panEnabled)\n );\n });\n }\n toggleOtherControls() {\n const t = this.w;\n t.interact.panEnabled = !1, t.interact.zoomEnabled = !1, t.interact.selectionEnabled = !1, this.getToolbarIconsReference(), [this.elPan, this.elSelection, this.elZoom].forEach((s) => {\n s && s.classList.remove(this.selectedClass);\n });\n }\n handleZoomIn() {\n const t = this.w;\n t.axisFlags.isRangeBar && (this.minX = t.globals.minY, this.maxX = t.globals.maxY);\n const e = (this.minX + this.maxX) / 2, s = (this.minX + e) / 2, i = (this.maxX + e) / 2, a = this._getNewMinXMaxX(s, i);\n t.interact.disableZoomIn || this.zoomUpdateOptions(a.minX, a.maxX);\n }\n handleZoomOut() {\n const t = this.w;\n if (t.axisFlags.isRangeBar && (this.minX = t.globals.minY, this.maxX = t.globals.maxY), t.config.xaxis.type === \"datetime\" && new Date(this.minX).getUTCFullYear() < 1e3)\n return;\n const e = (this.minX + this.maxX) / 2, s = this.minX - (e - this.minX), i = this.maxX - (e - this.maxX), a = this._getNewMinXMaxX(s, i);\n t.interact.disableZoomOut || this.zoomUpdateOptions(a.minX, a.maxX);\n }\n _getNewMinXMaxX(t, e) {\n const s = this.w.config.xaxis.convertedCatToNumeric;\n return {\n minX: s ? Math.floor(t) : t,\n maxX: s ? Math.floor(e) : e\n };\n }\n zoomUpdateOptions(t, e) {\n const s = this.w;\n if (t === void 0 && e === void 0) {\n this.handleZoomReset();\n return;\n }\n if (s.config.xaxis.convertedCatToNumeric && (t < 1 && (t = 1, e = s.globals.dataPoints), e - t < 2))\n return;\n let i = {\n min: t,\n max: e\n };\n const a = this.getBeforeZoomRange(i);\n a && (i = a.xaxis);\n const o = {\n xaxis: i\n }, r = L.clone(s.globals.initialConfig.yaxis);\n s.config.chart.group || (o.yaxis = r), this.w.interact.zoomed = !0, this.ctx.updateHelpers._updateOptions(\n o,\n !1,\n this.w.config.chart.animations.dynamicAnimation.enabled\n ), this.zoomCallback(i, r);\n }\n zoomCallback(t, e) {\n typeof this.ev.zoomed == \"function\" && (this.ev.zoomed(this.ctx, { xaxis: t, yaxis: e }), this.ctx.events.fireEvent(\"zoomed\", { xaxis: t, yaxis: e }));\n }\n getBeforeZoomRange(t, e) {\n let s = null;\n return typeof this.ev.beforeZoom == \"function\" && (s = this.ev.beforeZoom(this, { xaxis: t, yaxis: e })), s;\n }\n toggleMenu() {\n window.setTimeout(() => {\n this.elMenu.classList.contains(\"apexcharts-menu-open\") ? this._closeMenu() : (this.elMenu.classList.add(\"apexcharts-menu-open\"), this.elMenuIcon.setAttribute(\"aria-expanded\", \"true\"));\n }, 0);\n }\n _closeMenu() {\n this.elMenu.classList.remove(\"apexcharts-menu-open\"), this.elMenuIcon.setAttribute(\"aria-expanded\", \"false\");\n }\n handleDownload(t) {\n const e = this.w, s = new Ae(this.w, this.ctx);\n switch (t) {\n case \"svg\":\n s.exportToSVG(this.ctx);\n break;\n case \"png\":\n s.exportToPng(this.ctx);\n break;\n case \"csv\":\n s.exportToCSV({\n series: e.config.series,\n columnDelimiter: e.config.chart.toolbar.export.csv.columnDelimiter\n });\n break;\n }\n }\n handleZoomReset() {\n this.ctx.getSyncedCharts().forEach((e) => {\n const s = e.w;\n if (s.globals.lastXAxis.min = s.globals.initialConfig.xaxis.min, s.globals.lastXAxis.max = s.globals.initialConfig.xaxis.max, e.updateHelpers.revertDefaultAxisMinMax(), typeof s.config.chart.events.beforeResetZoom == \"function\") {\n const a = s.config.chart.events.beforeResetZoom(e, s);\n a && e.updateHelpers.revertDefaultAxisMinMax(a);\n }\n typeof s.config.chart.events.zoomed == \"function\" && e.ctx.toolbar.zoomCallback({\n min: s.config.xaxis.min,\n max: s.config.xaxis.max\n }), s.interact.zoomed = !1;\n const i = e.ctx.series.emptyCollapsedSeries(\n L.clone(s.globals.initialSeries)\n );\n e.updateHelpers._updateSeries(\n i,\n s.config.chart.animations.dynamicAnimation.enabled\n );\n });\n }\n destroy() {\n this.elZoom = null, this.elZoomIn = null, this.elZoomOut = null, this.elPan = null, this.elSelection = null, this.elZoomReset = null, this.elMenuIcon = null;\n }\n}\nclass Ns extends Ce {\n constructor(t, e) {\n super(t, e), this.w = t, this.ctx = e, this.dragged = !1, this.graphics = new P(this.w), this.eventList = [\n \"mousedown\",\n \"mouseleave\",\n \"mousemove\",\n \"touchstart\",\n \"touchmove\",\n \"mouseup\",\n \"touchend\",\n \"wheel\"\n ], this.clientX = 0, this.clientY = 0, this.startX = 0, this.endX = 0, this.dragX = 0, this.startY = 0, this.endY = 0, this.dragY = 0, this.moveDirection = \"none\", this.debounceTimer = null, this.debounceDelay = 100, this.wheelDelay = 400;\n }\n init({ xyRatios: t }) {\n const e = this.w, s = this;\n this.xyRatios = t, this.zoomRect = this.graphics.drawRect(0, 0, 0, 0), this.selectionRect = this.graphics.drawRect(0, 0, 0, 0), this.gridRect = e.dom.baseEl.querySelector(\".apexcharts-grid\"), this.constraints = new Ne(0, 0, e.layout.gridWidth, e.layout.gridHeight), this.zoomRect.node.classList.add(\"apexcharts-zoom-rect\"), this.selectionRect.node.classList.add(\"apexcharts-selection-rect\"), e.dom.Paper.add(this.zoomRect), e.dom.Paper.add(this.selectionRect), e.config.chart.selection.type === \"x\" ? this.slDraggableRect = this.selectionRect.draggable({\n minX: 0,\n minY: 0,\n maxX: e.layout.gridWidth,\n maxY: e.layout.gridHeight\n }).on(\"dragmove.namespace\", this.selectionDragging.bind(this, \"dragging\")) : e.config.chart.selection.type === \"y\" ? this.slDraggableRect = this.selectionRect.draggable({\n minX: 0,\n maxX: e.layout.gridWidth\n }).on(\"dragmove.namespace\", this.selectionDragging.bind(this, \"dragging\")) : this.slDraggableRect = this.selectionRect.draggable().on(\"dragmove.namespace\", this.selectionDragging.bind(this, \"dragging\")), this.preselectedSelection(), this.hoverArea = e.dom.baseEl.querySelector(\n `${e.globals.chartClass} .apexcharts-svg`\n ), this.hoverArea.classList.add(\"apexcharts-zoomable\"), this.eventList.forEach((i) => {\n this.hoverArea.addEventListener(\n i,\n s.svgMouseEvents.bind(s, t),\n {\n capture: !1,\n passive: !0\n }\n );\n }), e.config.chart.zoom.enabled && e.config.chart.zoom.allowMouseWheelZoom && this.hoverArea.addEventListener(\"wheel\", s.mouseWheelEvent.bind(s), {\n capture: !1,\n passive: !1\n });\n }\n // remove the event listeners which were previously added on hover area\n destroy() {\n this.slDraggableRect && (this.slDraggableRect.draggable(!1), this.slDraggableRect.off(), this.selectionRect.off()), this.selectionRect = null, this.zoomRect = null, this.gridRect = null;\n }\n svgMouseEvents(t, e) {\n const s = this.w, i = this.ctx.toolbar, a = s.interact.zoomEnabled ? s.config.chart.zoom.type : s.config.chart.selection.type, o = s.config.chart.toolbar.autoSelected;\n if (e.shiftKey ? (this.shiftWasPressed = !0, i.enableZoomPanFromToolbar(o === \"pan\" ? \"zoom\" : \"pan\")) : this.shiftWasPressed && (i.enableZoomPanFromToolbar(o), this.shiftWasPressed = !1), !e.target)\n return;\n const r = e.target.classList;\n let n;\n if (e.target.parentNode && e.target.parentNode !== null && (n = e.target.parentNode.classList), !(r.contains(\"apexcharts-legend-marker\") || r.contains(\"apexcharts-legend-text\") || n && n.contains(\"apexcharts-toolbar\"))) {\n if (this.clientX = e.type === \"touchmove\" || e.type === \"touchstart\" ? e.touches[0].clientX : e.type === \"touchend\" ? e.changedTouches[0].clientX : e.clientX, this.clientY = e.type === \"touchmove\" || e.type === \"touchstart\" ? e.touches[0].clientY : e.type === \"touchend\" ? e.changedTouches[0].clientY : e.clientY, e.type === \"mousedown\" && e.which === 1 || e.type === \"touchstart\") {\n const c = this.gridRect.getBoundingClientRect();\n this.startX = this.clientX - c.left - s.globals.barPadForNumericAxis, this.startY = this.clientY - c.top, this.dragged = !1, this.w.interact.mousedown = !0;\n }\n (e.type === \"mousemove\" && e.which === 1 || e.type === \"touchmove\") && (this.dragged = !0, s.interact.panEnabled ? (s.interact.selection = null, this.w.interact.mousedown && this.panDragging({\n context: this,\n zoomtype: a,\n xyRatios: t\n })) : (this.w.interact.mousedown && s.interact.zoomEnabled || this.w.interact.mousedown && s.interact.selectionEnabled) && (this.selection = this.selectionDrawing({\n context: this,\n zoomtype: a\n }))), (e.type === \"mouseup\" || e.type === \"touchend\" || e.type === \"mouseleave\") && this.handleMouseUp({ zoomtype: a }), this.makeSelectionRectDraggable();\n }\n }\n handleMouseUp({ zoomtype: t, isResized: e }) {\n var s;\n const i = this.w, a = (s = this.gridRect) == null ? void 0 : s.getBoundingClientRect();\n a && (this.w.interact.mousedown || e) && (this.endX = this.clientX - a.left - i.globals.barPadForNumericAxis, this.endY = this.clientY - a.top, this.dragX = Math.abs(this.endX - this.startX), this.dragY = Math.abs(this.endY - this.startY), (i.interact.zoomEnabled || i.interact.selectionEnabled) && this.selectionDrawn({\n context: this,\n zoomtype: t\n })), i.interact.zoomEnabled && this.hideSelectionRect(this.selectionRect), this.dragged = !1, this.w.interact.mousedown = !1;\n }\n mouseWheelEvent(t) {\n const e = this.w;\n t.preventDefault();\n const s = Date.now();\n s - e.interact.lastWheelExecution > this.wheelDelay && (this.executeMouseWheelZoom(t), e.interact.lastWheelExecution = s), this.debounceTimer && clearTimeout(this.debounceTimer), this.debounceTimer = setTimeout(() => {\n s - e.interact.lastWheelExecution > this.wheelDelay && (this.executeMouseWheelZoom(t), e.interact.lastWheelExecution = s);\n }, this.debounceDelay);\n }\n executeMouseWheelZoom(t) {\n var e;\n const s = this.w;\n this.minX = s.axisFlags.isRangeBar ? s.globals.minY : s.globals.minX, this.maxX = s.axisFlags.isRangeBar ? s.globals.maxY : s.globals.maxX;\n const i = (e = this.gridRect) == null ? void 0 : e.getBoundingClientRect();\n if (!i)\n return;\n const a = (t.clientX - i.left) / i.width, o = this.minX, r = this.maxX, n = r - o, l = 0.5, c = 1.5;\n let h, d, p;\n if (t.deltaY < 0) {\n h = l * n;\n const f = o + a * n;\n d = f - h / 2, p = f + h / 2;\n } else\n h = c * n, d = o - h / 2, p = r + h / 2;\n if (!s.axisFlags.isRangeBar) {\n d = Math.max(d, s.globals.initialMinX), p = Math.min(p, s.globals.initialMaxX);\n const f = (s.globals.initialMaxX - s.globals.initialMinX) * 0.01;\n if (p - d < f) {\n const x = (d + p) / 2;\n d = x - f / 2, p = x + f / 2;\n }\n }\n const g = this._getNewMinXMaxX(d, p);\n !isNaN(g.minX) && !isNaN(g.maxX) && this.zoomUpdateOptions(g.minX, g.maxX);\n }\n makeSelectionRectDraggable() {\n const t = this.w;\n if (!this.selectionRect)\n return;\n const e = this.selectionRect.node.getBoundingClientRect();\n e.width > 0 && e.height > 0 && (this.selectionRect.select(!1).resize(!1), this.selectionRect.select({\n createRot: () => {\n },\n updateRot: () => {\n },\n createHandle: (s, i, a, o, r) => r === \"l\" || r === \"r\" ? s.circle(8).css({ \"stroke-width\": 1, stroke: \"#333\", fill: \"#fff\" }) : s.circle(0),\n updateHandle: (s, i) => s.center(i[0], i[1])\n }).resize().on(\"resize\", () => {\n const s = t.interact.zoomEnabled ? t.config.chart.zoom.type : t.config.chart.selection.type;\n this.handleMouseUp({ zoomtype: s, isResized: !0 });\n }));\n }\n preselectedSelection() {\n const t = this.w, e = this.xyRatios;\n if (!t.interact.zoomEnabled) {\n if (typeof t.interact.selection < \"u\" && t.interact.selection !== null)\n this.drawSelectionRect(O(I({}, t.interact.selection), {\n translateX: t.layout.translateX,\n translateY: t.layout.translateY\n }));\n else if (t.config.chart.selection.xaxis.min !== void 0 && t.config.chart.selection.xaxis.max !== void 0) {\n let s = (t.config.chart.selection.xaxis.min - t.globals.minX) / e.xRatio, i = t.layout.gridWidth - (t.globals.maxX - t.config.chart.selection.xaxis.max) / e.xRatio - s;\n t.axisFlags.isRangeBar && (s = (t.config.chart.selection.xaxis.min - t.globals.yAxisScale[0].niceMin) / e.invertedYRatio, i = (t.config.chart.selection.xaxis.max - t.config.chart.selection.xaxis.min) / e.invertedYRatio);\n const a = {\n x: s,\n y: 0,\n width: i,\n height: t.layout.gridHeight,\n translateX: t.layout.translateX,\n translateY: t.layout.translateY,\n selectionEnabled: !0\n };\n this.drawSelectionRect(a), this.makeSelectionRectDraggable(), typeof t.config.chart.events.selection == \"function\" && t.config.chart.events.selection(this.ctx, {\n xaxis: {\n min: t.config.chart.selection.xaxis.min,\n max: t.config.chart.selection.xaxis.max\n },\n yaxis: {}\n });\n }\n }\n }\n drawSelectionRect({ x: t, y: e, width: s, height: i, translateX: a = 0, translateY: o = 0 }) {\n const r = this.w, n = this.zoomRect, l = this.selectionRect;\n if (this.dragged || r.interact.selection !== null) {\n const c = {\n transform: \"translate(\" + a + \", \" + o + \")\"\n };\n r.interact.zoomEnabled && this.dragged && (s < 0 && (s = 1), n.attr({\n x: t,\n y: e,\n width: s,\n height: i,\n fill: r.config.chart.zoom.zoomedArea.fill.color,\n \"fill-opacity\": r.config.chart.zoom.zoomedArea.fill.opacity,\n stroke: r.config.chart.zoom.zoomedArea.stroke.color,\n \"stroke-width\": r.config.chart.zoom.zoomedArea.stroke.width,\n \"stroke-opacity\": r.config.chart.zoom.zoomedArea.stroke.opacity\n }), P.setAttrs(n.node, c)), r.interact.selectionEnabled && (l.attr({\n x: t,\n y: e,\n width: s > 0 ? s : 0,\n height: i > 0 ? i : 0,\n fill: r.config.chart.selection.fill.color,\n \"fill-opacity\": r.config.chart.selection.fill.opacity,\n stroke: r.config.chart.selection.stroke.color,\n \"stroke-width\": r.config.chart.selection.stroke.width,\n \"stroke-dasharray\": r.config.chart.selection.stroke.dashArray,\n \"stroke-opacity\": r.config.chart.selection.stroke.opacity\n }), P.setAttrs(l.node, c));\n }\n }\n hideSelectionRect(t) {\n t && t.attr({\n x: 0,\n y: 0,\n width: 0,\n height: 0\n });\n }\n selectionDrawing({ context: t, zoomtype: e }) {\n const s = this.w, i = t, a = this.gridRect.getBoundingClientRect(), o = i.startX - 1, r = i.startY;\n let n = !1, l = !1;\n const c = i.clientX - a.left - s.globals.barPadForNumericAxis, h = i.clientY - a.top;\n let d = c - o, p = h - r, g = {\n translateX: s.layout.translateX,\n translateY: s.layout.translateY\n };\n return Math.abs(d + o) > s.layout.gridWidth ? d = s.layout.gridWidth - o : c < 0 && (d = o), o > c && (n = !0, d = Math.abs(d)), r > h && (l = !0, p = Math.abs(p)), e === \"x\" ? g = {\n x: n ? o - d : o,\n y: 0,\n width: d,\n height: s.layout.gridHeight\n } : e === \"y\" ? g = {\n x: 0,\n y: l ? r - p : r,\n width: s.layout.gridWidth,\n height: p\n } : g = {\n x: n ? o - d : o,\n y: l ? r - p : r,\n width: d,\n height: p\n }, g = O(I({}, g), {\n translateX: s.layout.translateX,\n translateY: s.layout.translateY\n }), i.drawSelectionRect(g), i.selectionDragging(\"resizing\"), g;\n }\n selectionDragging(t, e) {\n const s = this.w;\n if (!e)\n return;\n e.preventDefault();\n const { handler: i, box: a } = e.detail;\n let { x: o, y: r } = a;\n o < this.constraints.x && (o = this.constraints.x), r < this.constraints.y && (r = this.constraints.y), a.x2 > this.constraints.x2 && (o = this.constraints.x2 - a.w), a.y2 > this.constraints.y2 && (r = this.constraints.y2 - a.h), i.move(o, r);\n const n = this.xyRatios, l = this.selectionRect;\n let c = 0;\n t === \"resizing\" && (c = 30);\n const h = (p) => parseFloat(l.node.getAttribute(p)), d = {\n x: h(\"x\"),\n y: h(\"y\"),\n width: h(\"width\"),\n height: h(\"height\")\n };\n s.interact.selection = d, typeof s.config.chart.events.selection == \"function\" && s.interact.selectionEnabled && (clearTimeout(this.w.globals.selectionResizeTimer), this.w.globals.selectionResizeTimer = window.setTimeout(() => {\n const p = this.gridRect.getBoundingClientRect(), g = l.node.getBoundingClientRect();\n let f, x, m, u;\n s.axisFlags.isRangeBar ? (f = s.globals.yAxisScale[0].niceMin + (g.left - p.left) * n.invertedYRatio, x = s.globals.yAxisScale[0].niceMin + (g.right - p.left) * n.invertedYRatio, m = 0, u = 1) : (f = s.globals.xAxisScale.niceMin + (g.left - p.left) * n.xRatio, x = s.globals.xAxisScale.niceMin + (g.right - p.left) * n.xRatio, m = s.globals.yAxisScale[0].niceMin + (p.bottom - g.bottom) * n.yRatio[0], u = s.globals.yAxisScale[0].niceMax - (g.top - p.top) * n.yRatio[0]);\n const y = {\n xaxis: {\n min: f,\n max: x\n },\n yaxis: {\n min: m,\n max: u\n }\n };\n s.config.chart.events.selection(this.ctx, y), s.config.chart.brush.enabled && s.config.chart.events.brushScrolled !== void 0 && s.config.chart.events.brushScrolled(this.ctx, y);\n }, c));\n }\n selectionDrawn({ context: t, zoomtype: e }) {\n const s = this.w, i = t, a = this.xyRatios, o = this.ctx.toolbar, r = s.interact.zoomEnabled ? i.zoomRect.node.getBoundingClientRect() : i.selectionRect.node.getBoundingClientRect(), n = i.gridRect.getBoundingClientRect(), l = r.left - n.left - s.globals.barPadForNumericAxis, c = r.right - n.left - s.globals.barPadForNumericAxis, h = r.top - n.top, d = r.bottom - n.top;\n let p, g;\n s.axisFlags.isRangeBar ? (p = s.globals.yAxisScale[0].niceMin + l * a.invertedYRatio, g = s.globals.yAxisScale[0].niceMin + c * a.invertedYRatio) : (p = s.globals.xAxisScale.niceMin + l * a.xRatio, g = s.globals.xAxisScale.niceMin + c * a.xRatio);\n const f = [], x = [];\n if (s.config.yaxis.forEach((m, u) => {\n const y = s.globals.seriesYAxisMap[u][0], b = s.globals.yAxisScale[u].niceMax - a.yRatio[y] * h, w = s.globals.yAxisScale[u].niceMax - a.yRatio[y] * d;\n f.push(b), x.push(w);\n }), i.dragged && (i.dragX > 10 || i.dragY > 10) && p !== g) {\n if (s.interact.zoomEnabled) {\n let m = L.clone(s.globals.initialConfig.yaxis), u = L.clone(s.globals.initialConfig.xaxis);\n if (s.interact.zoomed = !0, s.config.xaxis.convertedCatToNumeric && (p = Math.floor(p), g = Math.floor(g), p < 1 && (p = 1, g = s.globals.dataPoints), g - p < 2 && (g = p + 1)), (e === \"xy\" || e === \"x\") && (u = {\n min: p,\n max: g\n }), (e === \"xy\" || e === \"y\") && m.forEach((b, w) => {\n m[w].min = x[w], m[w].max = f[w];\n }), o) {\n const b = o.getBeforeZoomRange(u, m);\n b && (u = b.xaxis ? b.xaxis : u, m = b.yaxis ? b.yaxis : m);\n }\n const y = {\n xaxis: u\n };\n s.config.chart.group || (y.yaxis = m), i.ctx.updateHelpers._updateOptions(\n y,\n !1,\n i.w.config.chart.animations.dynamicAnimation.enabled\n ), typeof s.config.chart.events.zoomed == \"function\" && o.zoomCallback(u, m);\n } else if (s.interact.selectionEnabled) {\n let m = null, u = null;\n u = {\n min: p,\n max: g\n }, (e === \"xy\" || e === \"y\") && (m = L.clone(s.config.yaxis), m.forEach((y, b) => {\n m[b].min = x[b], m[b].max = f[b];\n })), s.interact.selection = i.selection, typeof s.config.chart.events.selection == \"function\" && s.config.chart.events.selection(i.ctx, {\n xaxis: u,\n yaxis: m\n });\n }\n }\n }\n panDragging({ context: t }) {\n const e = this.w, s = t;\n if (typeof e.interact.lastClientPosition.x < \"u\") {\n const o = e.interact.lastClientPosition.x - s.clientX, r = e.interact.lastClientPosition.y - s.clientY;\n Math.abs(o) > Math.abs(r) && o > 0 ? this.moveDirection = \"left\" : Math.abs(o) > Math.abs(r) && o < 0 ? this.moveDirection = \"right\" : Math.abs(r) > Math.abs(o) && r > 0 ? this.moveDirection = \"up\" : Math.abs(r) > Math.abs(o) && r < 0 && (this.moveDirection = \"down\");\n }\n e.interact.lastClientPosition = {\n x: s.clientX,\n y: s.clientY\n };\n const i = e.axisFlags.isRangeBar ? e.globals.minY : e.globals.minX, a = e.axisFlags.isRangeBar ? e.globals.maxY : e.globals.maxX;\n s.panScrolled(i, a);\n }\n // delayedPanScrolled() {\n // const w = this.w\n // let newMinX = w.globals.minX\n // let newMaxX = w.globals.maxX\n // const centerX = (w.globals.maxX - w.globals.minX) / 2\n // if (this.moveDirection === 'left') {\n // newMinX = w.globals.minX + centerX\n // newMaxX = w.globals.maxX + centerX\n // } else if (this.moveDirection === 'right') {\n // newMinX = w.globals.minX - centerX\n // newMaxX = w.globals.maxX - centerX\n // }\n // newMinX = Math.floor(newMinX)\n // newMaxX = Math.floor(newMaxX)\n // this.updateScrolledChart(\n // { xaxis: { min: newMinX, max: newMaxX } },\n // newMinX,\n // newMaxX\n // )\n // }\n panScrolled(t, e) {\n const s = this.w, i = this.xyRatios, a = L.clone(s.globals.initialConfig.yaxis);\n let o = i.xRatio, r = s.globals.minX, n = s.globals.maxX;\n s.axisFlags.isRangeBar && (o = i.invertedYRatio, r = s.globals.minY, n = s.globals.maxY), this.moveDirection === \"left\" ? (t = r + s.layout.gridWidth / 15 * o, e = n + s.layout.gridWidth / 15 * o) : this.moveDirection === \"right\" && (t = r - s.layout.gridWidth / 15 * o, e = n - s.layout.gridWidth / 15 * o), s.axisFlags.isRangeBar || (t < s.globals.initialMinX || e > s.globals.initialMaxX) && (t = r, e = n);\n const c = {\n xaxis: {\n min: t,\n max: e\n }\n };\n s.config.chart.group || (c.yaxis = a), this.updateScrolledChart(c, t, e);\n }\n updateScrolledChart(t, e, s) {\n const i = this.w;\n if (this.ctx.updateHelpers._updateOptions(t, !1, !1), typeof i.config.chart.events.scrolled == \"function\") {\n const a = {\n xaxis: {\n min: e,\n max: s\n }\n };\n i.config.chart.events.scrolled(this.ctx, a), this.ctx.events.fireEvent(\"scrolled\", a);\n }\n }\n}\nK.registerFeatures({\n toolbar: Ce,\n zoomPanSelection: Ns\n});\nlet Pt = class {\n constructor(t) {\n this.w = t.w, this.annoCtx = t;\n }\n setOrientations(t, e = null) {\n const s = this.w;\n if (t.label.orientation === \"vertical\") {\n const i = e !== null ? e : 0, a = s.dom.baseEl.querySelector(\n `.apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='${i}']`\n );\n if (a !== null) {\n const o = a.getBBox();\n a.setAttribute(\n \"x\",\n parseFloat(a.getAttribute(\"x\")) - o.height + 4\n );\n const r = t.label.position === \"top\" ? o.width : -o.width;\n a.setAttribute(\"y\", parseFloat(a.getAttribute(\"y\")) + r);\n const { x: n, y: l } = this.annoCtx.graphics.rotateAroundCenter(a);\n a.setAttribute(\"transform\", `rotate(-90 ${n} ${l})`);\n }\n }\n }\n addBackgroundToAnno(t, e) {\n const s = this.w;\n if (!t || !e.label.text || !String(e.label.text).trim())\n return null;\n const i = s.dom.baseEl.querySelector(\".apexcharts-grid\"), a = i.getBoundingClientRect(), o = i.getBBox(), r = a.width / o.width || 1, n = t.getBoundingClientRect();\n let {\n left: l,\n right: c,\n top: h,\n bottom: d\n } = e.label.style.padding;\n e.label.orientation === \"vertical\" && ([h, d, l, c] = [l, c, h, d]);\n const p = (n.left - a.left) / r - l, g = (n.top - a.top) / r - h, f = this.annoCtx.graphics.drawRect(\n p - s.globals.barPadForNumericAxis,\n g,\n n.width / r + l + c,\n n.height / r + h + d,\n e.label.borderRadius,\n e.label.style.background,\n 1,\n e.label.borderWidth,\n e.label.borderColor,\n 0\n );\n return e.id && f.node.classList.add(e.id), f;\n }\n annotationsBackground() {\n const t = this.w, e = (s, i, a) => {\n const o = t.dom.baseEl.querySelector(\n `.apexcharts-${a}-annotations .apexcharts-${a}-annotation-label[rel='${i}']`\n );\n if (o) {\n const r = o.parentNode, n = this.addBackgroundToAnno(o, s);\n n && (r.insertBefore(n.node, o), s.label.mouseEnter && n.node.addEventListener(\n \"mouseenter\",\n s.label.mouseEnter.bind(this, s)\n ), s.label.mouseLeave && n.node.addEventListener(\n \"mouseleave\",\n s.label.mouseLeave.bind(this, s)\n ), s.label.click && n.node.addEventListener(\n \"click\",\n s.label.click.bind(this, s)\n ));\n }\n };\n t.config.annotations.xaxis.forEach((s, i) => e(s, i, \"xaxis\")), t.config.annotations.yaxis.forEach((s, i) => e(s, i, \"yaxis\")), t.config.annotations.points.forEach((s, i) => e(s, i, \"point\"));\n }\n getY1Y2(t, e) {\n var s;\n const i = this.w, a = t === \"y1\" ? e.y : e.y2;\n let o, r = !1;\n if (this.annoCtx.invertAxis) {\n const n = i.config.xaxis.convertedCatToNumeric ? i.labelData.categoryLabels : i.labelData.labels, l = n.indexOf(a), c = i.dom.baseEl.querySelector(\n `.apexcharts-yaxis-texts-g text:nth-child(${l + 1})`\n );\n o = c ? parseFloat(c.getAttribute(\"y\")) : (i.layout.gridHeight / n.length - 1) * (l + 1) - i.globals.barHeight, e.seriesIndex !== void 0 && i.globals.barHeight && (o -= i.globals.barHeight / 2 * (i.seriesData.series.length - 1) - i.globals.barHeight * e.seriesIndex);\n } else {\n const n = i.globals.seriesYAxisMap[e.yAxisIndex][0], l = i.config.yaxis[e.yAxisIndex].logarithmic ? new V(this.w).getLogVal(\n i.config.yaxis[e.yAxisIndex].logBase,\n a,\n n\n ) / i.globals.yLogRatio[n] : (a - i.globals.minYArr[n]) / (i.globals.yRange[n] / i.layout.gridHeight);\n o = i.layout.gridHeight - Math.min(Math.max(l, 0), i.layout.gridHeight), r = l > i.layout.gridHeight || l < 0, e.marker && (e.y === void 0 || e.y === null) && (o = 0), (s = i.config.yaxis[e.yAxisIndex]) != null && s.reversed && (o = l);\n }\n return typeof a == \"string\" && a.includes(\"px\") && (o = parseFloat(a)), { yP: o, clipped: r };\n }\n getX1X2(t, e) {\n const s = this.w, i = t === \"x1\" ? e.x : e.x2, a = this.annoCtx.invertAxis ? s.globals.minY : s.globals.minX, o = this.annoCtx.invertAxis ? s.globals.maxY : s.globals.maxX, r = this.annoCtx.invertAxis ? s.globals.yRange[0] : s.globals.xRange;\n let n = !1, l = this.annoCtx.inversedReversedAxis ? (o - i) / (r / s.layout.gridWidth) : (i - a) / (r / s.layout.gridWidth);\n return (s.config.xaxis.type === \"category\" || s.config.xaxis.convertedCatToNumeric) && !this.annoCtx.invertAxis && !s.axisFlags.dataFormatXNumeric && (s.config.chart.sparkline.enabled || (l = this.getStringX(i))), typeof i == \"string\" && i.includes(\"px\") && (l = parseFloat(i)), i == null && e.marker && (l = s.layout.gridWidth), e.seriesIndex !== void 0 && s.globals.barWidth && !this.annoCtx.invertAxis && (l -= s.globals.barWidth / 2 * (s.seriesData.series.length - 1) - s.globals.barWidth * e.seriesIndex), typeof l != \"number\" && (l = 0, n = !0), parseFloat(l.toFixed(10)) > parseFloat(s.layout.gridWidth.toFixed(10)) ? (l = s.layout.gridWidth, n = !0) : l < 0 && (l = 0, n = !0), { x: l, clipped: n };\n }\n getStringX(t) {\n const e = this.w;\n let s = t;\n e.config.xaxis.convertedCatToNumeric && e.labelData.categoryLabels.length && (t = e.labelData.categoryLabels.indexOf(t) + 1);\n const i = e.labelData.labels.map((o) => Array.isArray(o) ? o.join(\" \") : o).indexOf(t), a = e.dom.baseEl.querySelector(\n `.apexcharts-xaxis-texts-g text:nth-child(${i + 1})`\n );\n return a && (s = parseFloat(a.getAttribute(\"x\"))), s;\n }\n};\nclass zs {\n constructor(t) {\n this.w = t.w, this.annoCtx = t, this.invertAxis = this.annoCtx.invertAxis, this.helpers = new Pt(this.annoCtx);\n }\n addXaxisAnnotation(t, e, s) {\n const i = this.w, a = this.helpers.getX1X2(\"x1\", t);\n let o = a.x;\n const r = a.clipped;\n let n = !0, l;\n const c = t.label.text, h = t.strokeDashArray;\n if (L.isNumber(o)) {\n if (t.x2 === null || typeof t.x2 > \"u\") {\n if (!r) {\n const d = this.annoCtx.graphics.drawLine(\n o + t.offsetX,\n // x1\n 0 + t.offsetY,\n // y1\n o + t.offsetX,\n // x2\n i.layout.gridHeight + t.offsetY,\n // y2\n t.borderColor,\n // lineColor\n h,\n //dashArray\n t.borderWidth\n );\n e.appendChild(d.node), t.id && d.node.classList.add(t.id);\n }\n } else {\n const d = this.helpers.getX1X2(\"x2\", t);\n if (l = d.x, n = d.clipped, l < o) {\n const g = o;\n o = l, l = g;\n }\n const p = this.annoCtx.graphics.drawRect(\n o + t.offsetX,\n // x1\n 0 + t.offsetY,\n // y1\n l - o,\n // x2\n i.layout.gridHeight + t.offsetY,\n // y2\n 0,\n // radius\n t.fillColor,\n // color\n t.opacity,\n // opacity,\n 1,\n // strokeWidth\n t.borderColor,\n // strokeColor\n h\n // stokeDashArray\n );\n p.node.classList.add(\"apexcharts-annotation-rect\"), p.attr(\"clip-path\", `url(#gridRectMask${i.globals.cuid})`), e.appendChild(p.node), t.id && p.node.classList.add(t.id);\n }\n if (!(r && n)) {\n const d = this.annoCtx.graphics.getTextRects(\n c,\n parseFloat(t.label.style.fontSize)\n ), p = t.label.position === \"top\" ? 4 : t.label.position === \"center\" ? i.layout.gridHeight / 2 + (t.label.orientation === \"vertical\" ? d.width / 2 : 0) : i.layout.gridHeight, g = this.annoCtx.graphics.drawText({\n x: o + t.label.offsetX,\n y: p + t.label.offsetY - (t.label.orientation === \"vertical\" ? t.label.position === \"top\" ? d.width / 2 - 12 : -d.width / 2 : 0),\n text: c,\n textAnchor: t.label.textAnchor,\n fontSize: t.label.style.fontSize,\n fontFamily: t.label.style.fontFamily,\n fontWeight: t.label.style.fontWeight,\n foreColor: t.label.style.color,\n cssClass: `apexcharts-xaxis-annotation-label ${t.label.style.cssClass} ${t.id ? t.id : \"\"}`\n });\n g.attr({\n rel: s\n }), e.appendChild(g.node), this.annoCtx.helpers.setOrientations(t, s);\n }\n }\n }\n drawXAxisAnnotations() {\n const t = this.w, e = this.annoCtx.graphics.group({\n class: \"apexcharts-xaxis-annotations\"\n });\n return t.config.annotations.xaxis.map((s, i) => {\n this.addXaxisAnnotation(s, e.node, i);\n }), e;\n }\n}\nclass Hs {\n constructor(t) {\n this.w = t.w, this.annoCtx = t, this.helpers = new Pt(this.annoCtx), this.axesUtils = new at(this.annoCtx.w, { theme: this.annoCtx.theme, timeScale: this.annoCtx.timeScale });\n }\n addYaxisAnnotation(t, e, s) {\n const i = this.w, a = t.strokeDashArray;\n let o = this.helpers.getY1Y2(\"y1\", t), r = o.yP;\n const n = o.clipped;\n let l, c = !0, h = !1;\n const d = t.label.text;\n if (t.y2 === null || typeof t.y2 > \"u\") {\n if (!n) {\n h = !0;\n const p = this.annoCtx.graphics.drawLine(\n 0 + t.offsetX,\n // x1\n r + t.offsetY,\n // y1\n this._getYAxisAnnotationWidth(t),\n // x2\n r + t.offsetY,\n // y2\n t.borderColor,\n // lineColor\n a,\n // dashArray\n t.borderWidth\n );\n e.appendChild(p.node), t.id && p.node.classList.add(t.id);\n }\n } else {\n if (o = this.helpers.getY1Y2(\"y2\", t), l = o.yP, c = o.clipped, l > r) {\n const p = r;\n r = l, l = p;\n }\n if (!(n && c)) {\n h = !0;\n const p = this.annoCtx.graphics.drawRect(\n 0 + t.offsetX,\n // x1\n l + t.offsetY,\n // y1\n this._getYAxisAnnotationWidth(t),\n // x2\n r - l,\n // y2\n 0,\n // radius\n t.fillColor,\n // color\n t.opacity,\n // opacity,\n 1,\n // strokeWidth\n t.borderColor,\n // strokeColor\n a\n // stokeDashArray\n );\n p.node.classList.add(\"apexcharts-annotation-rect\"), p.attr(\"clip-path\", `url(#gridRectMask${i.globals.cuid})`), e.appendChild(p.node), t.id && p.node.classList.add(t.id);\n }\n }\n if (h) {\n const p = t.label.position === \"right\" ? i.layout.gridWidth : t.label.position === \"center\" ? i.layout.gridWidth / 2 : 0, g = this.annoCtx.graphics.drawText({\n x: p + t.label.offsetX,\n y: (l ?? r) + t.label.offsetY - 3,\n text: d,\n textAnchor: t.label.textAnchor,\n fontSize: t.label.style.fontSize,\n fontFamily: t.label.style.fontFamily,\n fontWeight: t.label.style.fontWeight,\n foreColor: t.label.style.color,\n cssClass: `apexcharts-yaxis-annotation-label ${t.label.style.cssClass} ${t.id ? t.id : \"\"}`\n });\n g.attr({\n rel: s\n }), e.appendChild(g.node);\n }\n }\n _getYAxisAnnotationWidth(t) {\n const e = this.w;\n let s = e.layout.gridWidth;\n return t.width.indexOf(\"%\") > -1 ? s = e.layout.gridWidth * parseInt(t.width, 10) / 100 : s = parseInt(t.width, 10), s + t.offsetX;\n }\n drawYAxisAnnotations() {\n const t = this.w, e = this.annoCtx.graphics.group({\n class: \"apexcharts-yaxis-annotations\"\n });\n return t.config.annotations.yaxis.forEach((s, i) => {\n s.yAxisIndex = this.axesUtils.translateYAxisIndex(s.yAxisIndex), this.axesUtils.isYAxisHidden(s.yAxisIndex) && this.axesUtils.yAxisAllSeriesCollapsed(s.yAxisIndex) || this.addYaxisAnnotation(s, e.node, i);\n }), e;\n }\n}\nclass Os {\n constructor(t) {\n this.w = t.w, this.annoCtx = t, this.helpers = new Pt(this.annoCtx);\n }\n addPointAnnotation(t, e, s) {\n if (this.w.globals.collapsedSeriesIndices.indexOf(t.seriesIndex) > -1)\n return;\n let a = this.helpers.getX1X2(\"x1\", t);\n const o = a.x, r = a.clipped;\n a = this.helpers.getY1Y2(\"y1\", t);\n const n = a.yP, l = a.clipped;\n if (L.isNumber(o) && !(l || r)) {\n const c = {\n pSize: t.marker.size,\n pointStrokeWidth: t.marker.strokeWidth,\n pointFillColor: t.marker.fillColor,\n pointStrokeColor: t.marker.strokeColor,\n shape: t.marker.shape,\n pRadius: t.marker.radius,\n class: `apexcharts-point-annotation-marker ${t.marker.cssClass} ${t.id ? t.id : \"\"}`\n };\n let h = this.annoCtx.graphics.drawMarker(\n o + t.marker.offsetX,\n n + t.marker.offsetY,\n c\n );\n e.appendChild(h.node);\n const d = t.label.text ? t.label.text : \"\", p = this.annoCtx.graphics.drawText({\n x: o + t.label.offsetX,\n y: n + t.label.offsetY - t.marker.size - parseFloat(t.label.style.fontSize) / 1.6,\n text: d,\n textAnchor: t.label.textAnchor,\n fontSize: t.label.style.fontSize,\n fontFamily: t.label.style.fontFamily,\n fontWeight: t.label.style.fontWeight,\n foreColor: t.label.style.color,\n cssClass: `apexcharts-point-annotation-label ${t.label.style.cssClass} ${t.id ? t.id : \"\"}`\n });\n if (p.attr({\n rel: s\n }), e.appendChild(p.node), t.customSVG.SVG) {\n const g = this.annoCtx.graphics.group({\n class: \"apexcharts-point-annotations-custom-svg \" + t.customSVG.cssClass\n });\n g.attr({\n transform: `translate(${o + t.customSVG.offsetX}, ${n + t.customSVG.offsetY})`\n }), g.node.innerHTML = t.customSVG.SVG, e.appendChild(g.node);\n }\n if (t.image.path) {\n const g = t.image.width ? t.image.width : 20, f = t.image.height ? t.image.height : 20;\n h = this.annoCtx.addImage({\n x: o + t.image.offsetX - g / 2,\n y: n + t.image.offsetY - f / 2,\n width: g,\n height: f,\n path: t.image.path,\n appendTo: \".apexcharts-point-annotations\"\n });\n }\n t.mouseEnter && h.node.addEventListener(\n \"mouseenter\",\n t.mouseEnter.bind(this, t)\n ), t.mouseLeave && h.node.addEventListener(\n \"mouseleave\",\n t.mouseLeave.bind(this, t)\n ), t.click && h.node.addEventListener(\"click\", t.click.bind(this, t));\n }\n }\n drawPointAnnotations() {\n const t = this.w, e = this.annoCtx.graphics.group({\n class: \"apexcharts-point-annotations\"\n });\n return t.config.annotations.points.map((s, i) => {\n this.addPointAnnotation(s, e.node, i);\n }), e;\n }\n}\nclass _s {\n constructor(t, { theme: e = null, timeScale: s = null } = {}) {\n this.w = t, this.theme = e, this.timeScale = s, this.graphics = new P(this.w), this.w.globals.isBarHorizontal && (this.invertAxis = !0), this.helpers = new Pt(this), this.xAxisAnnotations = new zs(this), this.yAxisAnnotations = new Hs(this), this.pointsAnnotations = new Os(this), this.w.globals.isBarHorizontal && this.w.config.yaxis[0].reversed && (this.inversedReversedAxis = !0), this.xDivision = this.w.layout.gridWidth / this.w.globals.dataPoints;\n }\n drawAxesAnnotations() {\n const t = this.w;\n if (t.globals.axisCharts && t.globals.dataPoints) {\n const e = this.yAxisAnnotations.drawYAxisAnnotations(), s = this.xAxisAnnotations.drawXAxisAnnotations(), i = this.pointsAnnotations.drawPointAnnotations(), a = t.config.chart.animations.enabled, o = [e, s, i], r = [\n s.node,\n e.node,\n i.node\n ];\n for (let n = 0; n < 3; n++)\n t.dom.elGraphical.add(o[n]), a && !t.globals.resized && !t.globals.dataChanged && t.config.chart.type !== \"scatter\" && t.config.chart.type !== \"bubble\" && t.globals.dataPoints > 1 && r[n].classList.add(\"apexcharts-element-hidden\"), t.globals.delayedElements.push({ el: r[n], index: 0 });\n this.helpers.annotationsBackground();\n }\n }\n drawImageAnnos() {\n this.w.config.annotations.images.map((e, s) => {\n this.addImage(e, s);\n });\n }\n drawTextAnnos() {\n this.w.config.annotations.texts.map((e, s) => {\n this.addText(e, s);\n });\n }\n addXaxisAnnotation(t, e, s) {\n this.xAxisAnnotations.addXaxisAnnotation(t, e, s);\n }\n addYaxisAnnotation(t, e, s) {\n this.yAxisAnnotations.addYaxisAnnotation(t, e, s);\n }\n addPointAnnotation(t, e, s) {\n this.pointsAnnotations.addPointAnnotation(t, e, s);\n }\n addText(t) {\n const {\n x: e,\n y: s,\n text: i,\n textAnchor: a,\n foreColor: o,\n fontSize: r,\n fontFamily: n,\n fontWeight: l,\n cssClass: c,\n backgroundColor: h,\n borderWidth: d,\n strokeDashArray: p,\n borderRadius: g,\n borderColor: f,\n appendTo: x = \".apexcharts-svg\",\n paddingLeft: m = 4,\n paddingRight: u = 4,\n paddingBottom: y = 2,\n paddingTop: b = 2\n } = t, w = this.w, v = this.graphics.drawText({\n x: e,\n y: s,\n text: i,\n textAnchor: a || \"start\",\n fontSize: r || \"12px\",\n fontWeight: l || \"regular\",\n fontFamily: n || w.config.chart.fontFamily,\n foreColor: o || w.config.chart.foreColor,\n cssClass: \"apexcharts-text \" + c ? c : \"\"\n }), C = w.dom.baseEl.querySelector(x);\n C && C.appendChild(v.node);\n const D = v.bbox();\n if (i) {\n const S = this.graphics.drawRect(\n D.x - m,\n D.y - b,\n D.width + m + u,\n D.height + y + b,\n g,\n h || \"transparent\",\n 1,\n d,\n f,\n p\n );\n C.insertBefore(S.node, v.node);\n }\n }\n addImage(t) {\n const e = this.w, {\n path: s,\n x: i = 0,\n y: a = 0,\n width: o = 20,\n height: r = 20,\n appendTo: n = \".apexcharts-svg\"\n } = t, l = e.dom.Paper.image(s);\n l.size(o, r).move(i, a);\n const c = e.dom.baseEl.querySelector(n);\n return c && c.appendChild(l.node), l;\n }\n // The addXaxisAnnotation method requires a parent class, and user calling this method externally on the chart instance may not specify parent, hence a different method\n addXaxisAnnotationExternal(t, e, s) {\n return this.addAnnotationExternal({\n params: t,\n pushToMemory: e,\n context: s,\n type: \"xaxis\",\n contextMethod: s.addXaxisAnnotation\n }), s;\n }\n addYaxisAnnotationExternal(t, e, s) {\n return this.addAnnotationExternal({\n params: t,\n pushToMemory: e,\n context: s,\n type: \"yaxis\",\n contextMethod: s.addYaxisAnnotation\n }), s;\n }\n addPointAnnotationExternal(t, e, s) {\n return typeof this.invertAxis > \"u\" && (this.invertAxis = s.w.globals.isBarHorizontal), this.addAnnotationExternal({\n params: t,\n pushToMemory: e,\n context: s,\n type: \"point\",\n contextMethod: s.addPointAnnotation\n }), s;\n }\n addAnnotationExternal({\n params: t,\n pushToMemory: e,\n context: s,\n type: i,\n contextMethod: a\n }) {\n const o = s, r = o.w, n = r.dom.baseEl.querySelector(\n `.apexcharts-${i}-annotations`\n ), l = n.childNodes.length + 1, c = new nt(), h = Object.assign(\n {},\n i === \"xaxis\" ? c.xAxisAnnotation : i === \"yaxis\" ? c.yAxisAnnotation : c.pointAnnotation\n ), d = L.extend(h, t);\n switch (i) {\n case \"xaxis\":\n this.addXaxisAnnotation(d, n, l);\n break;\n case \"yaxis\":\n this.addYaxisAnnotation(d, n, l);\n break;\n case \"point\":\n this.addPointAnnotation(d, n, l);\n break;\n }\n const p = r.dom.baseEl.querySelector(\n `.apexcharts-${i}-annotations .apexcharts-${i}-annotation-label[rel='${l}']`\n ), g = this.helpers.addBackgroundToAnno(p, d);\n return g && n.insertBefore(g.node, p), e && r.globals.memory.methodsToExec.push({\n context: o,\n id: d.id ? d.id : L.randomId(),\n method: a,\n label: \"addAnnotation\",\n params: t\n }), s;\n }\n clearAnnotations(t) {\n const e = t.w;\n let s = e.dom.baseEl.querySelectorAll(\n \".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations\"\n );\n for (let i = e.globals.memory.methodsToExec.length - 1; i >= 0; i--)\n (e.globals.memory.methodsToExec[i].label === \"addText\" || e.globals.memory.methodsToExec[i].label === \"addAnnotation\") && e.globals.memory.methodsToExec.splice(i, 1);\n s = Array.from(s), Array.prototype.forEach.call(s, (i) => {\n for (; i.firstChild; )\n i.removeChild(i.firstChild);\n });\n }\n removeAnnotation(t, e) {\n const s = t.w, i = s.dom.baseEl.querySelectorAll(`.${e}`);\n i && (s.globals.memory.methodsToExec.map((a, o) => {\n a.id === e && s.globals.memory.methodsToExec.splice(o, 1);\n }), Object.keys(s.config.annotations).forEach((a) => {\n const o = s.config.annotations[a];\n Array.isArray(o) && (s.config.annotations[a] = o.filter((r) => r.id !== e));\n }), Array.prototype.forEach.call(i, (a) => {\n a.parentElement.removeChild(a);\n }));\n }\n}\nK.registerFeatures({ annotations: _s });\nclass Ws {\n constructor(t, e) {\n this.w = t, this.ctx = e, this.seriesIndex = 0, this.dataPointIndex = 0, this.active = !1, this._focusedEl = null, this._hoveredBarEl = null, this._enlargedScatterMarker = null, this._onKeyDown = this._onKeyDown.bind(this), this._onFocus = this._onFocus.bind(this), this._onBlur = this._onBlur.bind(this), this._onLegendClick = this._onLegendClick.bind(this);\n }\n // ─── Public API ───────────────────────────────────────────────────────────\n /**\n * Called after the chart and tooltip have been fully rendered.\n * Attaches event listeners and makes the SVG keyboard-focusable.\n */\n init() {\n const e = this.w.dom.Paper.node;\n e && (e.setAttribute(\"tabindex\", \"0\"), e.addEventListener(\"focus\", this._onFocus), e.addEventListener(\"blur\", this._onBlur), e.addEventListener(\"keydown\", this._onKeyDown, { passive: !1 }), this.ctx.events.addEventListener(\"legendClick\", this._onLegendClick));\n }\n /**\n * Removes all event listeners. Called from chart.destroy().\n */\n destroy() {\n const t = this.w, e = t.dom.Paper && t.dom.Paper.node;\n e && (e.removeEventListener(\"focus\", this._onFocus), e.removeEventListener(\"blur\", this._onBlur), e.removeEventListener(\"keydown\", this._onKeyDown), this.ctx.events.removeEventListener(\"legendClick\", this._onLegendClick));\n }\n /**\n * Called from Events.js keydown handler. Navigation keys are already handled\n * by the direct SVG listener (which can call preventDefault). This entry\n * point is intentionally a no-op — Events.js still fires the public keyDown\n * callback and fireEvent('keydown') independently.\n */\n handleKey(t) {\n }\n // ─── Focus / blur ─────────────────────────────────────────────────────────\n _onFocus() {\n this._isNavEnabled() && (this.active = !0, this._clampCursor(), this._snapToVisibleRange(), this._showCurrentPoint());\n }\n _onBlur() {\n this.active = !1, this._hideFocus();\n }\n // Called when the user clicks a legend item (collapse/expand a series).\n // Hide the keyboard-nav tooltip — the chart is about to re-render and the\n // current position may no longer be valid.\n _onLegendClick() {\n this.active && (this.active = !1, this._hideFocus());\n }\n // ─── Key handler ──────────────────────────────────────────────────────────\n _onKeyDown(t) {\n if (!(!this._isNavEnabled() || !this.active))\n switch (t.key) {\n case \"ArrowRight\":\n t.preventDefault(), this._move(0, 1);\n break;\n case \"ArrowLeft\":\n t.preventDefault(), this._move(0, -1);\n break;\n case \"ArrowUp\":\n t.preventDefault(), this._move(-1, 0);\n break;\n case \"ArrowDown\":\n t.preventDefault(), this._move(1, 0);\n break;\n case \"Home\":\n t.preventDefault(), this.dataPointIndex = 0, this._skipNullForward(), this._showCurrentPoint();\n break;\n case \"End\":\n t.preventDefault(), this.dataPointIndex = this._getDataPointCount(this.seriesIndex) - 1, this._skipNullBackward(), this._showCurrentPoint();\n break;\n case \"Enter\":\n case \" \":\n t.preventDefault(), this._fireClick();\n break;\n case \"Escape\":\n t.preventDefault(), this.active = !1, this._hideFocus();\n break;\n }\n }\n // ─── Navigation ───────────────────────────────────────────────────────────\n _move(t, e) {\n const s = this.w, i = s.config.chart.accessibility.keyboard.navigation.wrapAround;\n if (t !== 0) {\n const a = this.w.globals.tooltip;\n if (a && a.tConfig && a.tConfig.shared) {\n const c = this.dataPointIndex;\n if (a.tooltipUtil && a.tooltipUtil.isXoverlap(c) && a.tooltipUtil.isInitialSeriesSameLen())\n return;\n }\n const o = this._getSeriesCount();\n let r = this.seriesIndex + t, n = 0;\n for (; n < o && (r < 0 && (r = i ? o - 1 : 0), r >= o && (r = i ? 0 : o - 1), !!s.globals.collapsedSeriesIndices.includes(r)); )\n r += t, n++;\n this.seriesIndex = r;\n const l = this._getDataPointCount(r);\n this.dataPointIndex >= l && (this.dataPointIndex = l - 1);\n }\n if (e !== 0) {\n const a = this._getDataPointCount(this.seriesIndex);\n let o = this.dataPointIndex + e;\n o < 0 && (o = i ? a - 1 : 0), o >= a && (o = i ? 0 : a - 1), this.dataPointIndex = o, e > 0 ? this._skipNullForward() : this._skipNullBackward(), this._isDataPointVisible(this.seriesIndex, this.dataPointIndex) || this._snapToVisibleRangeInDirection(e);\n }\n this._showCurrentPoint();\n }\n /** Advance dataPointIndex forward past any nulls */\n _skipNullForward() {\n const t = this.w, e = this.seriesIndex, s = this._getDataPointCount(e);\n let i = this.dataPointIndex, a = 0;\n if (Array.isArray(t.seriesData.series[e])) {\n for (; a < s && t.seriesData.series[e][i] === null; )\n i = (i + 1) % s, a++;\n this.dataPointIndex = i;\n }\n }\n /** Retreat dataPointIndex backward past any nulls */\n _skipNullBackward() {\n const t = this.w, e = this.seriesIndex, s = this._getDataPointCount(e);\n let i = this.dataPointIndex, a = 0;\n if (Array.isArray(t.seriesData.series[e])) {\n for (; a < s && t.seriesData.series[e][i] === null; )\n i = (i - 1 + s) % s, a++;\n this.dataPointIndex = i;\n }\n }\n // ─── Display ──────────────────────────────────────────────────────────────\n _showCurrentPoint() {\n const { seriesIndex: t, dataPointIndex: e } = this, s = this.w, i = s.globals.tooltip;\n !i || !i.ttItems || (s.interact.capturedSeriesIndex = t, s.interact.capturedDataPointIndex = e, this._applyFocusClass(t, e), this._showTooltip(t, e, i));\n }\n _hideFocus() {\n const t = this.w, e = t.globals.tooltip;\n if (this._removeFocusClass(), this._leaveHoveredBar(), !e)\n return;\n e.marker && e.marker.resetPointsSize(), this._enlargedScatterMarker = null;\n const s = e.getElTooltip();\n s && (s.classList.remove(\"apexcharts-active\"), t.config.chart.accessibility.enabled && t.config.chart.accessibility.announcements.enabled && s.setAttribute(\"aria-hidden\", \"true\")), t.dom.baseEl.classList.remove(\"apexcharts-tooltip-active\");\n const i = e.getElXCrosshairs();\n i && i.classList.remove(\"apexcharts-active\");\n }\n // ─── Tooltip display per chart type ───────────────────────────────────────\n _showTooltip(t, e, s) {\n const i = this.w, a = i.config.chart.type, o = s.getElTooltip();\n if (!o)\n return;\n const r = s.getCachedDimensions();\n s.tooltipRect = {\n x: 0,\n y: 0,\n ttWidth: r.ttWidth || 0,\n ttHeight: r.ttHeight || 0\n }, this._setSyntheticEvent(t, e, s), i.dom.baseEl.classList.add(\"apexcharts-tooltip-active\"), o.classList.add(\"apexcharts-active\"), i.config.chart.accessibility.enabled && i.config.chart.accessibility.announcements.enabled && o.removeAttribute(\"aria-hidden\"), a === \"pie\" || a === \"donut\" || a === \"polarArea\" ? this._showTooltipNonAxis(t, e, s, o) : a === \"radialBar\" ? this._showTooltipRadialBar(t, e, s, o) : a === \"heatmap\" || a === \"treemap\" ? this._showTooltipHeatTree(t, e, s, o, a) : a === \"bar\" || a === \"candlestick\" || a === \"boxPlot\" || a === \"rangeBar\" ? this._showTooltipBar(t, e, s) : this._showTooltipAxisLine(t, e, s);\n }\n /**\n * Set ttCtx.e to a synthetic mouse-event-like object whose clientX/Y point\n * to the centre of the current data-point element. This ensures that any\n * positioning helper that reads ttCtx.e (followCursor path in moveTooltip,\n * moveStickyTooltipOverBars, moveDynamicPointsOnHover, etc.) gets valid\n * coordinates rather than crashing on undefined.\n *\n * For chart types that don't have a concrete SVG element per data point\n * (pie, radialBar) we fall back to the SVG centre.\n */\n _setSyntheticEvent(t, e, s) {\n const i = this.w, a = i.config.chart.type;\n let o = 0, r = 0;\n const n = this._getFocusableElement(t, e);\n if (n) {\n const l = n.getBoundingClientRect();\n o = l.left + l.width / 2, r = l.top + l.height / 2;\n } else if (i.globals.pointsArray && i.globals.pointsArray[t] && i.globals.pointsArray[t][e]) {\n const l = i.globals.pointsArray[t][e], c = s.getElGrid && s.getElGrid();\n if (c) {\n const h = c.getBoundingClientRect();\n o = h.left + (l[0] || 0), r = h.top + (l[1] || 0);\n }\n } else {\n const l = i.dom.Paper && i.dom.Paper.node;\n if (l) {\n const c = l.getBoundingClientRect();\n o = c.left + c.width / 2, r = c.top + c.height / 2;\n }\n }\n if ((a === \"line\" || a === \"area\" || a === \"rangeArea\" || a === \"scatter\" || a === \"bubble\" || a === \"radar\") && i.globals.pointsArray && i.globals.pointsArray[t] && i.globals.pointsArray[t][e]) {\n const l = i.globals.pointsArray[t][e], c = s.getElGrid && s.getElGrid();\n if (c) {\n const h = c.getBoundingClientRect();\n o = h.left + (l[0] || 0), r = h.top + (l[1] || 0);\n }\n }\n s.e = { type: \"mousemove\", clientX: o, clientY: r };\n }\n /** bar / column / candlestick / boxPlot / rangeBar */\n _showTooltipBar(t, e, s) {\n var i, a, o, r;\n const n = this.w, l = s.tConfig.shared && (s.tooltipUtil.isXoverlap(e) || n.globals.isBarHorizontal) && s.tooltipUtil.isInitialSeriesSameLen(), c = (r = (o = (a = (i = n.rangeData.seriesRange) == null ? void 0 : i[t]) == null ? void 0 : a[e]) == null ? void 0 : o.y) == null ? void 0 : r[0];\n s.tooltipLabels.drawSeriesTexts(O(I(I({\n ttItems: s.ttItems,\n i: t,\n j: e\n }, (c == null ? void 0 : c.y1) !== void 0 && { y1: c.y1 }), (c == null ? void 0 : c.y2) !== void 0 && { y2: c.y2 }), {\n shared: l\n }));\n const h = `.apexcharts-series[data\\\\:realIndex='${t}']`, d = n.dom.Paper.findOne(\n `${h} path[j='${e}'], ${h} circle[j='${e}'], ${h} rect[j='${e}']`\n );\n if (d && (this._leaveHoveredBar(), new P(this.w, this.ctx).pathMouseEnter(d, null), this._hoveredBarEl = d), n.globals.isBarHorizontal) {\n const p = d && d.node;\n if (p) {\n const g = n.dom.elWrap.getBoundingClientRect(), f = p.getBoundingClientRect(), x = f.left - g.left, m = f.top - g.top, u = f.height, y = f.width, b = s.tooltipRect.ttWidth || 0, w = s.tooltipRect.ttHeight || 0, v = m + u / 2 - w / 2;\n let C = x + y;\n const D = s.xyRatios && s.xyRatios.baseLineInvertedY != null ? s.xyRatios.baseLineInvertedY : g.width / 2;\n x < D && (C = x - b);\n const S = s.getElTooltip();\n S && (S.style.left = C + \"px\", S.style.top = v + \"px\");\n }\n } else\n s.tooltipPosition.moveStickyTooltipOverBars(e, t);\n }\n /** line / area / scatter / bubble / radar / rangeArea */\n _showTooltipAxisLine(t, e, s) {\n const i = this.w, a = i.config.chart.type, r = s.tConfig.shared && s.tooltipUtil.isXoverlap(e) && s.tooltipUtil.isInitialSeriesSameLen();\n s.tooltipLabels.drawSeriesTexts({\n ttItems: s.ttItems,\n i: t,\n j: e,\n shared: r\n });\n const n = a === \"scatter\" || a === \"bubble\", l = i.globals.markers.largestSize > 0;\n n ? this._showScatterBubblePoint(t, e, s) : l ? r ? s.marker.enlargePoints(e) : s.tooltipPosition.moveDynamicPointOnHover(e, t) : r ? s.tooltipPosition.moveDynamicPointsOnHover(e) : s.tooltipPosition.moveDynamicPointOnHover(e, t);\n }\n /**\n * Scatter / bubble: find the specific marker element for (seriesIndex i,\n * dataPointIndex j), resize only that element, and position the tooltip at\n * its coordinates — mirroring what Position.moveMarkers does for mouse hover.\n *\n * Unlike enlargePoints(j) which queries ALL series for rel===j (causing\n * multiple bubbles to enlarge and tooltip to land on the wrong one), this\n * method queries by both series index AND data-point index for precision.\n */\n _showScatterBubblePoint(t, e, s) {\n const i = this.w.dom.baseEl;\n this._enlargedScatterMarker && (s.marker.oldPointSize(this._enlargedScatterMarker), this._enlargedScatterMarker = null);\n const a = i.querySelector(\n `.apexcharts-series[data\\\\:realIndex='${t}']`\n );\n if (!a)\n return;\n const o = a.querySelector(`.apexcharts-marker[rel='${e}']`);\n o && (s.marker.enlargeCurrentPoint(e, o), this._enlargedScatterMarker = o);\n }\n /** pie / donut / polarArea */\n _showTooltipNonAxis(t, e, s, i) {\n const a = this.w;\n s.tooltipLabels.drawSeriesTexts({\n ttItems: s.ttItems,\n i: e,\n shared: !1\n });\n const o = i.getBoundingClientRect(), r = o.width || s.tooltipRect.ttWidth || 0, n = o.height || s.tooltipRect.ttHeight || 0, l = a.dom.baseEl.querySelector(\n `.apexcharts-pie-area[j='${e}']`\n );\n if (l) {\n const c = parseFloat(l.getAttribute(\"data:cx\")), h = parseFloat(l.getAttribute(\"data:cy\"));\n if (!isNaN(c) && !isNaN(h)) {\n const d = a.dom.Paper.node.getBoundingClientRect(), p = a.dom.elWrap.getBoundingClientRect(), g = d.left - p.left, f = d.top - p.top;\n i.style.left = g + c - r / 2 + \"px\", i.style.top = f + h - n - 10 + \"px\";\n }\n }\n }\n /** radialBar — one ring per series, single value each */\n _showTooltipRadialBar(t, e, s, i) {\n const a = this.w;\n s.tooltipLabels.drawSeriesTexts({\n ttItems: s.ttItems,\n i: t,\n shared: !1\n });\n const { ttWidth: o = 0, ttHeight: r = 0 } = s.getCachedDimensions(), n = a.dom.baseEl.querySelector(\n `.apexcharts-radialbar-series[data\\\\:realIndex='${t}'] path`\n );\n if (n) {\n const l = parseFloat(n.getAttribute(\"data:angle\")) || 0, h = (a.config.plotOptions.radialBar.startAngle || 0) + l / 2, d = a.layout.gridWidth / 2, p = a.layout.gridHeight / 2, g = a.globals.radialSize || Math.min(a.layout.gridWidth, a.layout.gridHeight) / 2, f = a.seriesData.series.length, x = g / Math.max(f, 1), m = g - t * x, u = m - x, y = (m + u) / 2, b = L.polarToCartesian(d, p, y, h), w = b.x + (a.layout.translateX || 0), v = b.y + (a.layout.translateY || 0);\n i.style.left = w - o / 2 + \"px\", i.style.top = v - r - 10 + \"px\";\n }\n }\n /** heatmap / treemap — position tooltip using element bounding rect */\n _showTooltipHeatTree(t, e, s, i, a) {\n const o = this.w;\n s.tooltipLabels.drawSeriesTexts({\n ttItems: s.ttItems,\n i: t,\n j: e,\n shared: !1\n });\n const r = i.getBoundingClientRect(), n = r.width || s.tooltipRect.ttWidth || 0, l = r.height || s.tooltipRect.ttHeight || 0, c = a === \"heatmap\" ? \"apexcharts-heatmap-rect\" : \"apexcharts-treemap-rect\", h = o.dom.baseEl.querySelector(\n `.${c}[i='${t}'][j='${e}']`\n );\n if (h) {\n const d = o.dom.elWrap.getBoundingClientRect(), p = h.getBoundingClientRect(), g = p.left - d.left, f = p.top - d.top, x = p.width, m = p.height, u = parseFloat(h.getAttribute(\"cx\")), y = parseFloat(h.getAttribute(\"width\"));\n s.tooltipPosition.moveXCrosshairs(u + y / 2);\n let b = g + x + n / 2;\n const w = f + m / 2 - l / 2;\n g + x > o.layout.gridWidth / 2 && (b = g - n / 2), i.style.left = b + \"px\", i.style.top = w + \"px\";\n }\n }\n // ─── Focus class management ───────────────────────────────────────────────\n _applyFocusClass(t, e) {\n this._removeFocusClass();\n const s = this._getFocusableElement(t, e);\n s && (s.classList.add(\"apexcharts-keyboard-focused\"), this._focusedEl = s);\n }\n _removeFocusClass() {\n this._focusedEl && (this._focusedEl.classList.remove(\"apexcharts-keyboard-focused\"), this._focusedEl = null);\n }\n _leaveHoveredBar() {\n this._hoveredBarEl && (new P(this.w, this.ctx).pathMouseLeave(this._hoveredBarEl, null), this._hoveredBarEl = null);\n }\n _getFocusableElement(t, e) {\n const s = this.w, i = s.config.chart.type, a = s.dom.baseEl;\n return i === \"pie\" || i === \"donut\" || i === \"polarArea\" ? a.querySelector(`.apexcharts-pie-area[j='${e}']`) : i === \"heatmap\" ? a.querySelector(\n `.apexcharts-heatmap-rect[i='${t}'][j='${e}']`\n ) : i === \"treemap\" ? a.querySelector(\n `.apexcharts-treemap-rect[i='${t}'][j='${e}']`\n ) : i === \"radialBar\" ? a.querySelector(\n `.apexcharts-radialbar-series[data\\\\:realIndex='${t}'] path`\n ) : i === \"bar\" || i === \"candlestick\" || i === \"boxPlot\" || i === \"rangeBar\" ? a.querySelector(\n `.apexcharts-series[data\\\\:realIndex='${t}'] path[j='${e}']`\n ) : a.querySelector(\n `.apexcharts-series[data\\\\:realIndex='${t}'] .apexcharts-marker[rel='${e}']`\n ) || null;\n }\n // ─── Click / Enter ────────────────────────────────────────────────────────\n _fireClick() {\n const e = this.w.globals.tooltip;\n if (!e)\n return;\n const s = {\n type: \"mouseup\",\n clientX: 0,\n clientY: 0\n };\n e.markerClick(s, this.seriesIndex, this.dataPointIndex);\n }\n // ─── Helpers ──────────────────────────────────────────────────────────────\n _isNavEnabled() {\n const t = this.w.config.chart.accessibility;\n return t.enabled && t.keyboard.enabled && t.keyboard.navigation.enabled;\n }\n _getSeriesCount() {\n const t = this.w, e = t.config.chart.type;\n return e === \"pie\" || e === \"donut\" || e === \"polarArea\" ? 1 : t.seriesData.series.length;\n }\n _getDataPointCount(t) {\n const e = this.w, s = e.config.chart.type;\n if (s === \"pie\" || s === \"donut\" || s === \"polarArea\")\n return e.seriesData.series.length;\n const i = e.seriesData.series;\n return i[t] && Array.isArray(i[t]) ? i[t].length : 0;\n }\n _clampCursor() {\n const t = this._getSeriesCount();\n this.seriesIndex >= t && (this.seriesIndex = t - 1), this.seriesIndex < 0 && (this.seriesIndex = 0);\n const e = this._getDataPointCount(this.seriesIndex);\n this.dataPointIndex >= e && (this.dataPointIndex = e - 1), this.dataPointIndex < 0 && (this.dataPointIndex = 0);\n }\n /**\n * When the chart is zoomed in, the current dataPointIndex may point to a\n * data point that is outside the visible viewport. Snap the cursor to the\n * first data point whose x-value falls within [minX, maxX].\n *\n * Only adjusts when w.seriesData.seriesX is populated (numeric/datetime axes).\n * Category-only charts (seriesX entries are strings or auto-indices) are\n * unaffected — all points are always visible.\n */\n _snapToVisibleRange() {\n const t = this.w, e = t.globals, s = this.seriesIndex;\n if (!t.interact.zoomed)\n return;\n const i = t.seriesData.seriesX && t.seriesData.seriesX[s];\n if (!i || !i.length)\n return;\n const a = e.minX, o = e.maxX;\n if (a === void 0 || o === void 0)\n return;\n const r = i[this.dataPointIndex];\n if (r >= a && r <= o)\n return;\n const n = i.length;\n for (let l = 0; l < n; l++)\n if (i[l] >= a && i[l] <= o) {\n this.dataPointIndex = l;\n return;\n }\n }\n /**\n * Snap to the nearest visible data point in the given navigation direction.\n * direction > 0 → find the first visible point (left boundary of zoomed range)\n * direction < 0 → find the last visible point (right boundary of zoomed range)\n */\n _snapToVisibleRangeInDirection(t) {\n const e = this.w, s = e.globals, i = this.seriesIndex, a = e.seriesData.seriesX && e.seriesData.seriesX[i];\n if (!a || !a.length)\n return;\n const o = s.minX, r = s.maxX;\n if (o === void 0 || r === void 0)\n return;\n const n = a.length;\n if (t >= 0) {\n for (let l = 0; l < n; l++)\n if (a[l] >= o && a[l] <= r) {\n this.dataPointIndex = l;\n return;\n }\n } else\n for (let l = n - 1; l >= 0; l--)\n if (a[l] >= o && a[l] <= r) {\n this.dataPointIndex = l;\n return;\n }\n }\n /**\n * Check whether the data point at (si, di) is within the current visible\n * x-axis range. Used to skip out-of-viewport points during keyboard nav.\n */\n _isDataPointVisible(t, e) {\n const s = this.w, i = s.globals;\n if (!s.interact.zoomed)\n return !0;\n const a = s.seriesData.seriesX && s.seriesData.seriesX[t];\n if (!a)\n return !0;\n const o = a[e];\n return o === void 0 ? !0 : o >= i.minX && o <= i.maxX;\n }\n}\nK.registerFeatures({ keyboardNavigation: Ws });\nclass Gs {\n constructor(t) {\n this.w = t.w, this.barCtx = t, this.totalFormatter = this.w.config.plotOptions.bar.dataLabels.total.formatter, this.totalFormatter || (this.totalFormatter = this.w.config.dataLabels.formatter);\n }\n /** handleBarDataLabels is used to calculate the positions for the data-labels\n * It also sets the element's data attr for bars and calls drawCalculatedBarDataLabels()\n * After calculating, it also calls the function to draw data labels\n * @memberof Bar\n * @param {object} {barProps} most of the bar properties used throughout the bar\n * drawing function\n * @return {object} dataLabels node-element which you can append later\n **/\n handleBarDataLabels(t) {\n const {\n x: e,\n y: s,\n y1: i,\n y2: a,\n i: o,\n j: r,\n realIndex: n,\n columnGroupIndex: l,\n series: c,\n barHeight: h,\n barWidth: d,\n barXPosition: p,\n barYPosition: g,\n visibleSeries: f\n } = t, x = this.w, m = new P(this.barCtx.w), u = Array.isArray(this.barCtx.strokeWidth) ? this.barCtx.strokeWidth[n] : this.barCtx.strokeWidth;\n let y, b;\n x.axisFlags.isXNumeric && !x.globals.isBarHorizontal ? (y = e + parseFloat(d * (f + 1)), b = s + parseFloat(h * (f + 1)) - u) : (y = e + parseFloat(d * f), b = s + parseFloat(h * f));\n let w = null, v = null, C = e, D = s, S = {};\n const k = x.config.dataLabels, F = this.barCtx.barOptions.dataLabels, T = this.barCtx.barOptions.dataLabels.total;\n typeof g < \"u\" && this.barCtx.isRangeBar && (b = g, D = g), typeof p < \"u\" && this.barCtx.isVerticalGroupedRangeBar && (y = p, C = p);\n const M = k.offsetX, E = k.offsetY;\n let X = {\n width: 0,\n height: 0\n };\n if (x.config.dataLabels.enabled) {\n const Y = x.seriesData.series[o][r];\n X = m.getTextRects(\n x.config.dataLabels.formatter ? x.config.dataLabels.formatter(Y, O(I({}, x), {\n seriesIndex: o,\n dataPointIndex: r,\n w: x\n })) : x.formatters.yLabelFormatters[0](Y),\n parseFloat(k.style.fontSize)\n );\n }\n const R = {\n x: e,\n y: s,\n i: o,\n j: r,\n realIndex: n,\n columnGroupIndex: l,\n bcx: y,\n bcy: b,\n barHeight: h,\n barWidth: d,\n textRects: X,\n strokeWidth: u,\n dataLabelsX: C,\n dataLabelsY: D,\n dataLabelsConfig: k,\n barDataLabelsConfig: F,\n barTotalDataLabelsConfig: T,\n offX: M,\n offY: E\n };\n return this.barCtx.isHorizontal ? S = this.calculateBarsDataLabelsPosition(R) : S = this.calculateColumnsDataLabelsPosition(R), w = this.drawCalculatedDataLabels({\n x: S.dataLabelsX,\n y: S.dataLabelsY,\n val: this.barCtx.isRangeBar ? [i, a] : x.config.chart.stackType === \"100%\" ? c[n][r] : x.seriesData.series[n][r],\n i: n,\n j: r,\n barWidth: d,\n barHeight: h,\n textRects: X,\n dataLabelsConfig: k\n }), x.config.chart.stacked && T.enabled && (v = this.drawTotalDataLabels({\n x: S.totalDataLabelsX,\n y: S.totalDataLabelsY,\n barWidth: d,\n barHeight: h,\n realIndex: n,\n textAnchor: S.totalDataLabelsAnchor,\n val: this.getStackedTotalDataLabel({ realIndex: n, j: r }),\n dataLabelsConfig: k,\n barTotalDataLabelsConfig: T\n })), {\n dataLabelsPos: S,\n dataLabels: w,\n totalDataLabels: v\n };\n }\n getStackedTotalDataLabel({ realIndex: t, j: e }) {\n const s = this.w;\n let i = this.barCtx.stackedSeriesTotals[e];\n return this.totalFormatter && (i = this.totalFormatter(i, O(I({}, s), {\n seriesIndex: t,\n dataPointIndex: e,\n w: s\n }))), i;\n }\n calculateColumnsDataLabelsPosition(t) {\n const e = this.w;\n let {\n i: s,\n j: i,\n realIndex: a,\n y: o,\n bcx: r,\n barWidth: n,\n barHeight: l,\n textRects: c,\n dataLabelsX: h,\n dataLabelsY: d,\n dataLabelsConfig: p,\n barDataLabelsConfig: g,\n barTotalDataLabelsConfig: f,\n strokeWidth: x,\n offX: m,\n offY: u\n } = t, y, b;\n const w = \"middle\", v = r;\n l = Math.abs(l);\n const C = e.config.plotOptions.bar.dataLabels.orientation === \"vertical\", { zeroEncounters: D } = this.barCtx.barHelpers.getZeroValueEncounters({\n i: s,\n j: i\n });\n r = r - x / 2;\n const S = e.layout.gridWidth / e.globals.dataPoints;\n this.barCtx.isVerticalGroupedRangeBar ? h += n / 2 : (e.axisFlags.isXNumeric ? h = r - n / 2 + m : h = r - S + n / 2 + m, !e.config.chart.stacked && D > 0 && e.config.plotOptions.bar.hideZeroBarsWhenGrouped && (h -= n * D)), C && (h = h + c.height / 2 - x / 2 - 2);\n const k = e.seriesData.series[s][i] < 0;\n let F = o;\n switch (this.barCtx.isReversed && (F = o + (k ? l : -l)), g.position) {\n case \"center\":\n C ? k ? d = F - l / 2 + u : d = F + l / 2 - u : k ? d = F - l / 2 + c.height / 2 + u : d = F + l / 2 + c.height / 2 - u;\n break;\n case \"bottom\":\n C ? k ? d = F - l + u : d = F + l - u : k ? d = F - l + c.height + x + u : d = F + l - c.height / 2 + x - u;\n break;\n case \"top\":\n C ? k ? d = F + u : d = F - u : k ? d = F - c.height / 2 - u : d = F + c.height + u;\n break;\n }\n let T = F;\n if (e.labelData.seriesGroups.forEach((M) => {\n var E;\n (E = this.barCtx[M.join(\",\")]) == null || E.prevY.forEach((X) => {\n k ? T = Math.max(X[i], T) : T = Math.min(X[i], T);\n });\n }), this.barCtx.lastActiveBarSerieIndex === a && f.enabled) {\n const X = new P(this.barCtx.w).getTextRects(\n this.getStackedTotalDataLabel({ realIndex: a, j: i }),\n p.fontSize\n );\n k ? y = T - X.height / 2 - u - f.offsetY + 18 : y = T + X.height + u + f.offsetY - 18;\n const R = S;\n b = v + (e.axisFlags.isXNumeric ? -n * e.globals.barGroups.length / 2 : e.globals.barGroups.length * n / 2 - (e.globals.barGroups.length - 1) * n - R) + f.offsetX;\n }\n return e.config.chart.stacked || (d < 0 ? d = 0 + x : d + c.height / 3 > e.layout.gridHeight && (d = e.layout.gridHeight - x)), {\n bcx: r,\n bcy: o,\n dataLabelsX: h,\n dataLabelsY: d,\n totalDataLabelsX: b,\n totalDataLabelsY: y,\n totalDataLabelsAnchor: w\n };\n }\n calculateBarsDataLabelsPosition(t) {\n const e = this.w;\n let {\n x: s,\n i,\n j: a,\n realIndex: o,\n bcy: r,\n barHeight: n,\n barWidth: l,\n textRects: c,\n dataLabelsX: h,\n strokeWidth: d,\n dataLabelsConfig: p,\n barDataLabelsConfig: g,\n barTotalDataLabelsConfig: f,\n offX: x,\n offY: m\n } = t;\n const u = e.layout.gridHeight / e.globals.dataPoints, { zeroEncounters: y } = this.barCtx.barHelpers.getZeroValueEncounters({\n i,\n j: a\n });\n l = Math.abs(l);\n let b = r - (this.barCtx.isRangeBar ? 0 : u) + n / 2 + c.height / 2 + m - 3;\n !e.config.chart.stacked && y > 0 && e.config.plotOptions.bar.hideZeroBarsWhenGrouped && (b -= n * y);\n let w, v, C = \"start\";\n const D = e.seriesData.series[i][a] < 0;\n let S = s;\n switch (this.barCtx.isReversed && (S = s + (D ? -l : l), C = D ? \"start\" : \"end\"), g.position) {\n case \"center\":\n D ? h = S + l / 2 - x : h = Math.max(c.width / 2, S - l / 2) + x;\n break;\n case \"bottom\":\n D ? h = S + l - d - x : h = S - l + d + x;\n break;\n case \"top\":\n D ? h = S - d - x : h = S - d + x;\n break;\n }\n let k = S;\n if (e.labelData.seriesGroups.forEach((F) => {\n var T;\n (T = this.barCtx[F.join(\",\")]) == null || T.prevX.forEach((M) => {\n D ? k = Math.min(M[a], k) : k = Math.max(M[a], k);\n });\n }), this.barCtx.lastActiveBarSerieIndex === o && f.enabled) {\n const T = new P(this.barCtx.w).getTextRects(\n this.getStackedTotalDataLabel({ realIndex: o, j: a }),\n p.fontSize\n );\n D ? (w = k - d - x - f.offsetX, C = \"end\") : w = k + x + f.offsetX + (this.barCtx.isReversed ? -(l + d) : d), v = b - c.height / 2 + T.height / 2 + f.offsetY + d, e.globals.barGroups.length > 1 && (v = v - e.globals.barGroups.length / 2 * (n / 2));\n }\n return e.config.chart.stacked || (p.textAnchor === \"start\" ? h - c.width < 0 ? h = D ? c.width + d : d : h + c.width > e.layout.gridWidth && (h = D ? e.layout.gridWidth - d : e.layout.gridWidth - c.width - d) : p.textAnchor === \"middle\" ? h - c.width / 2 < 0 ? h = c.width / 2 + d : h + c.width / 2 > e.layout.gridWidth && (h = e.layout.gridWidth - c.width / 2 - d) : p.textAnchor === \"end\" && (h < 1 ? h = c.width + d : h + 1 > e.layout.gridWidth && (h = e.layout.gridWidth - c.width - d))), {\n bcx: s,\n bcy: r,\n dataLabelsX: h,\n dataLabelsY: b,\n totalDataLabelsX: w,\n totalDataLabelsY: v,\n totalDataLabelsAnchor: C\n };\n }\n drawCalculatedDataLabels({\n x: t,\n y: e,\n val: s,\n i,\n // = realIndex\n j: a,\n textRects: o,\n barHeight: r,\n barWidth: n,\n dataLabelsConfig: l\n }) {\n const c = this.w;\n let h = \"rotate(0)\";\n c.config.plotOptions.bar.dataLabels.orientation === \"vertical\" && (h = `rotate(-90, ${t}, ${e})`);\n const d = new gt(this.barCtx.w, this.barCtx.ctx), p = new P(this.barCtx.w), g = l.formatter;\n let f = null;\n const x = c.globals.collapsedSeriesIndices.indexOf(i) > -1;\n if (l.enabled && !x) {\n f = p.group({\n class: \"apexcharts-data-labels\",\n transform: h\n });\n let m = \"\";\n typeof s < \"u\" && (m = g(s, O(I({}, c), {\n seriesIndex: i,\n dataPointIndex: a,\n w: c\n }))), !s && c.config.plotOptions.bar.hideZeroBarsWhenGrouped && (m = \"\");\n const u = c.seriesData.series[i][a] < 0, y = c.config.plotOptions.bar.dataLabels.position;\n if (c.config.plotOptions.bar.dataLabels.orientation === \"vertical\" && (y === \"top\" && (u ? l.textAnchor = \"end\" : l.textAnchor = \"start\"), y === \"center\" && (l.textAnchor = \"middle\"), y === \"bottom\" && (u ? l.textAnchor = \"end\" : l.textAnchor = \"start\")), this.barCtx.isRangeBar && this.barCtx.barOptions.dataLabels.hideOverflowingLabels) {\n const w = p.getTextRects(\n m,\n parseFloat(l.style.fontSize)\n );\n n < w.width && (m = \"\");\n }\n c.config.chart.stacked && this.barCtx.barOptions.dataLabels.hideOverflowingLabels && (this.barCtx.isHorizontal ? o.width / 1.6 > Math.abs(n) && (m = \"\") : o.height / 1.6 > Math.abs(r) && (m = \"\"));\n const b = I({}, l);\n this.barCtx.isHorizontal && s < 0 && (l.textAnchor === \"start\" ? b.textAnchor = \"end\" : l.textAnchor === \"end\" && (b.textAnchor = \"start\")), d.plotDataLabelsText({\n x: t,\n y: e,\n text: m,\n i,\n j: a,\n parent: f,\n dataLabelsConfig: b,\n alwaysDrawDataLabel: !0,\n offsetCorrection: !0\n });\n }\n return f;\n }\n drawTotalDataLabels({\n x: t,\n y: e,\n val: s,\n realIndex: i,\n textAnchor: a,\n barTotalDataLabelsConfig: o\n }) {\n const r = new P(this.barCtx.w);\n let n;\n return o.enabled && typeof t < \"u\" && typeof e < \"u\" && this.barCtx.lastActiveBarSerieIndex === i && (n = r.drawText({\n x: t,\n y: e,\n foreColor: o.style.color,\n text: s,\n textAnchor: a,\n fontFamily: o.style.fontFamily,\n fontSize: o.style.fontSize,\n fontWeight: o.style.fontWeight\n })), n;\n }\n}\nlet $s = class {\n constructor(t) {\n this.w = t.w, this.barCtx = t;\n }\n initVariables(t) {\n const e = this.w;\n this.barCtx.series = t, this.barCtx.totalItems = 0, this.barCtx.seriesLen = 0, this.barCtx.visibleI = -1, this.barCtx.visibleItems = 1;\n for (let s = 0; s < t.length; s++)\n if (t[s].length > 0 && (this.barCtx.seriesLen = this.barCtx.seriesLen + 1, this.barCtx.totalItems += t[s].length), e.axisFlags.isXNumeric)\n for (let i = 0; i < t[s].length; i++)\n e.seriesData.seriesX[s][i] > e.globals.minX && e.seriesData.seriesX[s][i] < e.globals.maxX && this.barCtx.visibleItems++;\n else\n this.barCtx.visibleItems = e.globals.dataPoints;\n this.arrBorderRadius = this.createBorderRadiusArr(e.seriesData.series), L.isSafari() && (this.arrBorderRadius = this.arrBorderRadius.map(\n (s) => s.map((i) => \"none\")\n )), this.barCtx.seriesLen === 0 && (this.barCtx.seriesLen = 1), this.barCtx.zeroSerieses = [], e.globals.comboCharts || this.checkZeroSeries({ series: t });\n }\n initialPositions(t) {\n const e = this.w;\n let s, i, a, o, r, n, l, c, h = e.globals.dataPoints;\n this.barCtx.isRangeBar && (h = e.labelData.labels.length);\n let d = this.barCtx.seriesLen;\n if (e.config.plotOptions.bar.rangeBarGroupRows && (d = 1), this.barCtx.isHorizontal)\n a = e.layout.gridHeight / h, r = a / d, e.axisFlags.isXNumeric && (a = e.layout.gridHeight / this.barCtx.totalItems, r = a / this.barCtx.seriesLen), r = r * parseInt(this.barCtx.barOptions.barHeight, 10) / 100, String(this.barCtx.barOptions.barHeight).indexOf(\"%\") === -1 && (r = parseInt(this.barCtx.barOptions.barHeight, 10)), c = this.barCtx.baseLineInvertedY + e.globals.padHorizontal + (this.barCtx.isReversed ? e.layout.gridWidth : 0) - (this.barCtx.isReversed ? this.barCtx.baseLineInvertedY * 2 : 0), this.barCtx.isFunnel && (c = e.layout.gridWidth / 2), i = (a - r * this.barCtx.seriesLen) / 2;\n else {\n if (o = e.layout.gridWidth / this.barCtx.visibleItems, e.config.xaxis.convertedCatToNumeric && (o = e.layout.gridWidth / e.globals.dataPoints), n = o / d * parseInt(this.barCtx.barOptions.columnWidth, 10) / 100, e.axisFlags.isXNumeric) {\n const p = this.barCtx.xRatio;\n e.globals.minXDiff && e.globals.minXDiff !== 0.5 && e.globals.minXDiff / p > 0 && (o = e.globals.minXDiff / p), n = o / d * parseInt(this.barCtx.barOptions.columnWidth, 10) / 100, n < 1 && (n = 1);\n }\n String(this.barCtx.barOptions.columnWidth).indexOf(\"%\") === -1 && (n = parseInt(this.barCtx.barOptions.columnWidth, 10)), l = e.layout.gridHeight - this.barCtx.baseLineY[this.barCtx.translationsIndex] - (this.barCtx.isReversed ? e.layout.gridHeight : 0) + (this.barCtx.isReversed ? this.barCtx.baseLineY[this.barCtx.translationsIndex] * 2 : 0), e.axisFlags.isXNumeric ? s = this.barCtx.getBarXForNumericXAxis({\n x: s,\n j: 0,\n realIndex: t,\n barWidth: n\n }).x : s = e.globals.padHorizontal + L.noExponents(o - n * this.barCtx.seriesLen) / 2;\n }\n return e.globals.barHeight = r, e.globals.barWidth = n, {\n x: s,\n y: i,\n yDivision: a,\n xDivision: o,\n barHeight: r,\n barWidth: n,\n zeroH: l,\n zeroW: c\n };\n }\n initializeStackedPrevVars(t) {\n t.w.labelData.seriesGroups.forEach((s) => {\n t[s] || (t[s] = {}), t[s].prevY = [], t[s].prevX = [], t[s].prevYF = [], t[s].prevXF = [], t[s].prevYVal = [], t[s].prevXVal = [];\n });\n }\n initializeStackedXYVars(t) {\n t.w.labelData.seriesGroups.forEach((s) => {\n t[s] || (t[s] = {}), t[s].xArrj = [], t[s].xArrjF = [], t[s].xArrjVal = [], t[s].yArrj = [], t[s].yArrjF = [], t[s].yArrjVal = [];\n });\n }\n getPathFillColor(t, e, s, i) {\n var a, o, r, n;\n const l = this.w, c = new st(this.barCtx.w);\n let h = null;\n const d = this.barCtx.barOptions.distributed ? s : e;\n let p = !1;\n return this.barCtx.barOptions.colors.ranges.length > 0 && this.barCtx.barOptions.colors.ranges.map((x) => {\n t[e][s] >= x.from && t[e][s] <= x.to && (h = x.color, p = !0);\n }), {\n color: c.fillPath({\n seriesNumber: this.barCtx.barOptions.distributed ? d : i,\n dataPointIndex: s,\n color: h,\n value: t[e][s],\n fillConfig: (a = l.config.series[e].data[s]) == null ? void 0 : a.fill,\n fillType: (r = (o = l.config.series[e].data[s]) == null ? void 0 : o.fill) != null && r.type ? (n = l.config.series[e].data[s]) == null ? void 0 : n.fill.type : Array.isArray(l.config.fill.type) ? l.config.fill.type[i] : l.config.fill.type\n }),\n useRangeColor: p\n };\n }\n getStrokeWidth(t, e, s) {\n let i = 0;\n const a = this.w;\n return typeof this.barCtx.series[t][e] > \"u\" || this.barCtx.series[t][e] === null || a.config.chart.type === \"bar\" && !this.barCtx.series[t][e] ? this.barCtx.isNullValue = !0 : this.barCtx.isNullValue = !1, a.config.stroke.show && (this.barCtx.isNullValue || (i = Array.isArray(this.barCtx.strokeWidth) ? this.barCtx.strokeWidth[s] : this.barCtx.strokeWidth)), i;\n }\n createBorderRadiusArr(t) {\n var e;\n const s = this.w, i = !this.w.config.chart.stacked || s.config.plotOptions.bar.borderRadius <= 0, a = t.length, o = ((e = t[0]) == null ? void 0 : e.length) | 0, r = Array.from(\n { length: a },\n () => Array(o).fill(i ? \"top\" : \"none\")\n );\n if (i)\n return r;\n const n = this.w.config.chart.type;\n for (let l = 0; l < o; l++) {\n const c = [], h = [];\n let d = 0;\n for (let p = 0; p < a; p++) {\n const g = t[p][l];\n g > 0 ? (c.push(p), d++) : g < 0 && (h.push(p), d++);\n }\n if (c.length > 0 && h.length === 0)\n if (c.length === 1)\n r[c[0]][l] = n === \"bar\" && o === 1 ? \"top\" : \"both\";\n else {\n const p = c[0], g = c[c.length - 1];\n for (const f of c)\n f === p ? r[f][l] = n === \"bar\" && o === 1 ? \"top\" : \"bottom\" : f === g ? r[f][l] = \"top\" : r[f][l] = \"none\";\n }\n else if (h.length > 0 && c.length === 0)\n if (h.length === 1)\n r[h[0]][l] = \"both\";\n else {\n const p = Math.max(...h), g = Math.min(...h);\n for (const f of h)\n f === p ? r[f][l] = \"bottom\" : f === g ? r[f][l] = \"top\" : r[f][l] = \"none\";\n }\n else if (c.length > 0 && h.length > 0) {\n const p = c[c.length - 1];\n for (const f of c)\n f === p ? r[f][l] = \"top\" : r[f][l] = \"none\";\n const g = Math.max(...h);\n for (const f of h)\n f === g ? r[f][l] = \"bottom\" : r[f][l] = \"none\";\n } else if (d === 1) {\n const p = c[0] || h[0];\n r[p][l] = \"both\";\n }\n }\n return r;\n }\n barBackground({ j: t, i: e, x1: s, x2: i, y1: a, y2: o, elSeries: r }) {\n const n = this.w, l = new P(this.barCtx.w), h = new U(this.barCtx.w).getActiveConfigSeriesIndex();\n if (this.barCtx.barOptions.colors.backgroundBarColors.length > 0 && h === e) {\n t >= this.barCtx.barOptions.colors.backgroundBarColors.length && (t %= this.barCtx.barOptions.colors.backgroundBarColors.length);\n const d = this.barCtx.barOptions.colors.backgroundBarColors[t], p = l.drawRect(\n typeof s < \"u\" ? s : 0,\n typeof a < \"u\" ? a : 0,\n typeof i < \"u\" ? i : n.layout.gridWidth,\n typeof o < \"u\" ? o : n.layout.gridHeight,\n this.barCtx.barOptions.colors.backgroundBarRadius,\n d,\n this.barCtx.barOptions.colors.backgroundBarOpacity\n );\n r.add(p), p.node.classList.add(\"apexcharts-backgroundBar\");\n }\n }\n getColumnPaths({\n barWidth: t,\n barXPosition: e,\n y1: s,\n y2: i,\n strokeWidth: a,\n isReversed: o,\n series: r,\n seriesGroup: n,\n realIndex: l,\n i: c,\n j: h,\n w: d\n }) {\n var p;\n const g = new P(this.barCtx.w);\n a = Array.isArray(a) ? a[l] : a, a || (a = 0);\n let f = t, x = e;\n (p = d.config.series[l].data[h]) != null && p.columnWidthOffset && (x = e - d.config.series[l].data[h].columnWidthOffset / 2, f = t + d.config.series[l].data[h].columnWidthOffset);\n const m = a / 2, u = x + m, y = x + f - m, b = (r[c][h] >= 0 ? 1 : -1) * (o ? -1 : 1);\n s += 1e-3 - m * b, i += 1e-3 + m * b;\n let w = g.move(u, s), v = g.move(u, s);\n const C = g.line(y, s);\n if (d.globals.previousPaths.length > 0 && (v = this.barCtx.getPreviousPath(l, h, !1)), w = w + g.line(u, i) + g.line(y, i) + C + (d.config.plotOptions.bar.borderRadiusApplication === \"around\" || this.arrBorderRadius[l][h] === \"both\" ? \" Z\" : \" z\"), v = v + g.line(u, s) + C + C + C + C + C + g.line(u, s) + (d.config.plotOptions.bar.borderRadiusApplication === \"around\" || this.arrBorderRadius[l][h] === \"both\" ? \" Z\" : \" z\"), this.arrBorderRadius[l][h] !== \"none\" && (w = g.roundPathCorners(\n w,\n d.config.plotOptions.bar.borderRadius\n )), d.config.chart.stacked) {\n let D = this.barCtx;\n D = this.barCtx[n], D.yArrj.push(i - m * b), D.yArrjF.push(Math.abs(s - i + a * b)), D.yArrjVal.push(this.barCtx.series[c][h]);\n }\n return {\n pathTo: w,\n pathFrom: v\n };\n }\n getBarpaths({\n barYPosition: t,\n barHeight: e,\n x1: s,\n x2: i,\n strokeWidth: a,\n isReversed: o,\n series: r,\n seriesGroup: n,\n realIndex: l,\n i: c,\n j: h,\n w: d\n }) {\n var p;\n const g = new P(this.barCtx.w);\n a = Array.isArray(a) ? a[l] : a, a || (a = 0);\n let f = t, x = e;\n (p = d.config.series[l].data[h]) != null && p.barHeightOffset && (f = t - d.config.series[l].data[h].barHeightOffset / 2, x = e + d.config.series[l].data[h].barHeightOffset);\n const m = a / 2, u = f + m, y = f + x - m, b = (r[c][h] >= 0 ? 1 : -1) * (o ? -1 : 1);\n s += 1e-3 + m * b, i += 1e-3 - m * b;\n let w = g.move(s, u), v = g.move(s, u);\n d.globals.previousPaths.length > 0 && (v = this.barCtx.getPreviousPath(l, h, !1));\n const C = g.line(s, y);\n if (w = w + g.line(i, u) + g.line(i, y) + C + (d.config.plotOptions.bar.borderRadiusApplication === \"around\" || this.arrBorderRadius[l][h] === \"both\" ? \" Z\" : \" z\"), v = v + g.line(s, u) + C + C + C + C + C + g.line(s, u) + (d.config.plotOptions.bar.borderRadiusApplication === \"around\" || this.arrBorderRadius[l][h] === \"both\" ? \" Z\" : \" z\"), this.arrBorderRadius[l][h] !== \"none\" && (w = g.roundPathCorners(\n w,\n d.config.plotOptions.bar.borderRadius\n )), d.config.chart.stacked) {\n let D = this.barCtx;\n D = this.barCtx[n], D.xArrj.push(i + m * b), D.xArrjF.push(Math.abs(s - i - a * b)), D.xArrjVal.push(this.barCtx.series[c][h]);\n }\n return {\n pathTo: w,\n pathFrom: v\n };\n }\n checkZeroSeries({ series: t }) {\n const e = this.w;\n for (let s = 0; s < t.length; s++) {\n let i = 0;\n for (let a = 0; a < t[e.globals.maxValsInArrayIndex].length; a++)\n i += t[s][a];\n i === 0 && this.barCtx.zeroSerieses.push(s);\n }\n }\n getXForValue(t, e, s = !0) {\n let i = s ? e : null;\n return typeof t < \"u\" && t !== null && (i = e + t / this.barCtx.invertedYRatio - (this.barCtx.isReversed ? t / this.barCtx.invertedYRatio : 0) * 2), i;\n }\n getYForValue(t, e, s, i = !0) {\n let a = i ? e : null;\n return typeof t < \"u\" && t !== null && (a = e - t / this.barCtx.yRatio[s] + (this.barCtx.isReversed ? t / this.barCtx.yRatio[s] : 0) * 2), a;\n }\n getGoalValues(t, e, s, i, a, o) {\n const r = this.w, n = [], l = (c, h) => {\n n.push({\n [t]: t === \"x\" ? this.getXForValue(c, e, !1) : this.getYForValue(c, s, o, !1),\n attrs: h\n });\n };\n if (r.seriesData.seriesGoals[i] && r.seriesData.seriesGoals[i][a] && Array.isArray(r.seriesData.seriesGoals[i][a]) && r.seriesData.seriesGoals[i][a].forEach((c) => {\n l(c.value, c);\n }), this.barCtx.barOptions.isDumbbell && r.rangeData.seriesRange.length) {\n const c = this.barCtx.barOptions.dumbbellColors ? this.barCtx.barOptions.dumbbellColors : r.globals.colors, h = {\n strokeHeight: t === \"x\" ? 0 : r.globals.markers.size[i],\n strokeWidth: t === \"x\" ? r.globals.markers.size[i] : 0,\n strokeDashArray: 0,\n strokeLineCap: \"round\",\n strokeColor: Array.isArray(c[i]) ? c[i][0] : c[i]\n };\n l(r.rangeData.seriesRangeStart[i][a], h), l(r.rangeData.seriesRangeEnd[i][a], O(I({}, h), {\n strokeColor: Array.isArray(c[i]) ? c[i][1] : c[i]\n }));\n }\n return n;\n }\n drawGoalLine({\n barXPosition: t,\n barYPosition: e,\n goalX: s,\n goalY: i,\n barWidth: a,\n barHeight: o\n }) {\n const r = new P(this.barCtx.w), n = r.group({\n className: \"apexcharts-bar-goals-groups\"\n });\n n.node.classList.add(\"apexcharts-element-hidden\"), this.barCtx.w.globals.delayedElements.push({\n el: n.node\n }), n.attr(\n \"clip-path\",\n `url(#gridRectMarkerMask${this.barCtx.w.globals.cuid})`\n );\n let l = null;\n return this.barCtx.isHorizontal ? Array.isArray(s) && s.forEach((c) => {\n if (c.x >= -1 && c.x <= r.w.layout.gridWidth + 1) {\n const h = typeof c.attrs.strokeHeight < \"u\" ? c.attrs.strokeHeight : o / 2, d = e + h + o / 2;\n l = r.drawLine(\n c.x,\n d - h * 2,\n c.x,\n d,\n c.attrs.strokeColor ? c.attrs.strokeColor : void 0,\n c.attrs.strokeDashArray,\n c.attrs.strokeWidth ? c.attrs.strokeWidth : 2,\n c.attrs.strokeLineCap\n ), n.add(l);\n }\n }) : Array.isArray(i) && i.forEach((c) => {\n if (c.y >= -1 && c.y <= r.w.layout.gridHeight + 1) {\n const h = typeof c.attrs.strokeWidth < \"u\" ? c.attrs.strokeWidth : a / 2, d = t + h + a / 2;\n l = r.drawLine(\n d - h * 2,\n c.y,\n d,\n c.y,\n c.attrs.strokeColor ? c.attrs.strokeColor : void 0,\n c.attrs.strokeDashArray,\n c.attrs.strokeHeight ? c.attrs.strokeHeight : 2,\n c.attrs.strokeLineCap\n ), n.add(l);\n }\n }), n;\n }\n drawBarShadow({ prevPaths: t, currPaths: e, color: s, realIndex: i, j: a }) {\n const o = this.w, { x: r, x1: n, barYPosition: l } = t, { x: c, x1: h, barYPosition: d } = e, p = l + e.barHeight, g = new P(this.barCtx.w), f = new L(), x = g.move(n, p) + g.line(r, p) + g.line(c, d) + g.line(h, d) + g.line(n, p) + (o.config.plotOptions.bar.borderRadiusApplication === \"around\" || this.arrBorderRadius[i][a] === \"both\" ? \" Z\" : \" z\");\n return g.drawPath({\n d: x,\n fill: f.shadeColor(0.5, L.rgb2hex(s)),\n stroke: \"none\",\n strokeWidth: 0,\n fillOpacity: 1,\n classes: \"apexcharts-bar-shadow apexcharts-decoration-element\"\n });\n }\n getZeroValueEncounters({ i: t, j: e }) {\n var s;\n const i = this.w;\n let a = 0, o = 0;\n return (i.config.plotOptions.bar.horizontal ? i.seriesData.series.map((n, l) => l) : ((s = i.globals.columnSeries) == null ? void 0 : s.i.map((n) => n)) || []).forEach((n) => {\n const l = i.globals.seriesPercent[n][e];\n l && a++, n < t && l === 0 && o++;\n }), {\n nonZeroColumns: a,\n zeroEncounters: o\n };\n }\n getGroupIndex(t) {\n const e = this.w, s = e.labelData.seriesGroups.findIndex(\n (o) => (\n // w.config.series[i].name may be undefined, so use\n // w.seriesData.seriesNames[i], which has default names for those\n // series. w.labelData.seriesGroups[] uses the same default naming.\n o.indexOf(e.seriesData.seriesNames[t]) > -1\n )\n ), i = this.barCtx.columnGroupIndices;\n let a = i.indexOf(s);\n return a < 0 && (i.push(s), a = i.length - 1), { groupIndex: s, columnGroupIndex: a };\n }\n};\nclass ft {\n constructor(t, e, s) {\n this.ctx = e, this.w = t, this.barOptions = t.config.plotOptions.bar, this.isHorizontal = this.barOptions.horizontal, this.strokeWidth = t.config.stroke.width, this.isNullValue = !1, this.isRangeBar = t.rangeData.seriesRange.length && this.isHorizontal, this.isVerticalGroupedRangeBar = !t.globals.isBarHorizontal && t.rangeData.seriesRange.length && t.config.plotOptions.bar.rangeBarGroupRows, this.isFunnel = this.barOptions.isFunnel, this.xyRatios = s, this.xyRatios !== null && (this.xRatio = s.xRatio, this.yRatio = s.yRatio, this.invertedXRatio = s.invertedXRatio, this.invertedYRatio = s.invertedYRatio, this.baseLineY = s.baseLineY, this.baseLineInvertedY = s.baseLineInvertedY), this.yaxisIndex = 0, this.translationsIndex = 0, this.seriesLen = 0, this.pathArr = [];\n const i = new U(this.w);\n this.lastActiveBarSerieIndex = i.getActiveConfigSeriesIndex(\"desc\", [\n \"bar\",\n \"column\"\n ]), this.columnGroupIndices = [];\n const a = i.getBarSeriesIndices(), o = new V(this.w);\n this.stackedSeriesTotals = o.getStackedSeriesTotals(\n this.w.config.series.map((r, n) => a.indexOf(n) === -1 ? n : -1).filter((r) => r !== -1)\n ), this.barHelpers = new $s(this);\n }\n /** primary draw method which is called on bar object\n * @memberof Bar\n * @param {array} series - user supplied series values\n * @param {int} seriesIndex - the index by which series will be drawn on the svg\n * @return {node} element which is supplied to parent chart draw method for appending\n **/\n draw(t, e) {\n var s;\n const i = this.w, a = new P(this.w), o = new V(this.w);\n t = o.getLogSeries(t), this.series = t, this.yRatio = o.getLogYRatios(this.yRatio), this.barHelpers.initVariables(t);\n const r = a.group({\n class: \"apexcharts-bar-series apexcharts-plot-series\"\n });\n i.config.dataLabels.enabled && this.totalItems > this.barOptions.dataLabels.maxItems && console.warn(\n \"WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts\"\n );\n for (let n = 0, l = 0; n < t.length; n++, l++) {\n let c, h;\n const d = [], p = [], g = i.globals.comboCharts ? e[n] : n, { columnGroupIndex: f } = this.barHelpers.getGroupIndex(g), x = a.group({\n class: \"apexcharts-series\",\n rel: n + 1,\n seriesName: L.escapeString(i.seriesData.seriesNames[g]),\n \"data:realIndex\": g\n });\n U.addCollapsedClassToSeries(this.w, x, g), t[n].length > 0 && (this.visibleI = this.visibleI + 1), this.yRatio.length > 1 && (this.yaxisIndex = i.globals.seriesYAxisReverseMap[g], this.translationsIndex = g);\n const m = this.translationsIndex;\n this.isReversed = i.config.yaxis[this.yaxisIndex] && i.config.yaxis[this.yaxisIndex].reversed;\n const u = this.barHelpers.initialPositions(g), {\n y,\n yDivision: b,\n // yDivision is the GRIDHEIGHT divided by number of datapoints (bars)\n zeroW: w,\n // zeroW is the baseline where 0 meets x axis\n x: v,\n xDivision: C,\n // xDivision is the GRIDWIDTH divided by number of datapoints (columns)\n zeroH: D\n // zeroH is the baseline where 0 meets y axis\n } = u;\n let S = u.barHeight, k = u.barWidth;\n h = y, c = v, this.isHorizontal || p.push(c + k / 2);\n const F = a.group({\n class: \"apexcharts-datalabels\",\n \"data:realIndex\": g\n });\n i.globals.delayedElements.push({\n el: F.node\n }), F.node.classList.add(\"apexcharts-element-hidden\");\n const T = a.group({\n class: \"apexcharts-bar-goals-markers\"\n }), M = a.group({\n class: \"apexcharts-bar-shadows\"\n });\n i.globals.delayedElements.push({\n el: M.node\n }), M.node.classList.add(\"apexcharts-element-hidden\");\n for (let E = 0; E < t[n].length; E++) {\n const X = this.barHelpers.getStrokeWidth(n, E, g);\n let R = null;\n const Y = {\n indexes: {\n i: n,\n j: E,\n realIndex: g,\n translationsIndex: m,\n bc: l\n },\n x: c,\n y: h,\n strokeWidth: X,\n elSeries: x\n };\n this.isHorizontal ? (R = this.drawBarPaths(O(I({}, Y), {\n barHeight: S,\n zeroW: w,\n yDivision: b\n })), k = this.series[n][E] / this.invertedYRatio) : (R = this.drawColumnPaths(O(I({}, Y), {\n xDivision: C,\n barWidth: k,\n zeroH: D\n })), S = this.series[n][E] / this.yRatio[m]);\n const z = this.barHelpers.getPathFillColor(t, n, E, g);\n if (this.isFunnel && this.barOptions.isFunnel3d && this.pathArr.length && E > 0) {\n const _ = this.barHelpers.drawBarShadow({\n color: typeof z.color == \"string\" && ((s = z.color) == null ? void 0 : s.indexOf(\"url\")) === -1 ? z.color : L.hexToRgba(i.globals.colors[n]),\n prevPaths: this.pathArr[this.pathArr.length - 1],\n currPaths: R,\n realIndex: g,\n j: E\n });\n M.add(_), i.config.chart.dropShadow.enabled && new Z(this.w).dropShadow(_, i.config.chart.dropShadow, g);\n }\n this.pathArr.push(R);\n const H = this.barHelpers.drawGoalLine({\n barXPosition: R.barXPosition,\n barYPosition: R.barYPosition,\n goalX: R.goalX,\n goalY: R.goalY,\n barHeight: S,\n barWidth: k\n });\n H && T.add(H), h = R.y, c = R.x, E > 0 && p.push(c + k / 2), d.push(h), this.renderSeries(O(I({\n realIndex: g,\n pathFill: z.color\n }, z.useRangeColor ? { lineFill: z.color } : {}), {\n j: E,\n i: n,\n columnGroupIndex: f,\n pathFrom: R.pathFrom,\n pathTo: R.pathTo,\n strokeWidth: X,\n elSeries: x,\n x: c,\n y: h,\n series: t,\n barHeight: Math.abs(R.barHeight ? R.barHeight : S),\n barWidth: Math.abs(R.barWidth ? R.barWidth : k),\n elDataLabelsWrap: F,\n elGoalsMarkers: T,\n elBarShadows: M,\n visibleSeries: this.visibleI,\n type: \"bar\"\n }));\n }\n i.globals.seriesXvalues[g] = p, i.globals.seriesYvalues[g] = d, r.add(x);\n }\n return r;\n }\n renderSeries({\n realIndex: t,\n pathFill: e,\n lineFill: s,\n j: i,\n i: a,\n columnGroupIndex: o,\n pathFrom: r,\n pathTo: n,\n strokeWidth: l,\n elSeries: c,\n x: h,\n // x pos\n y: d,\n // y pos\n y1: p,\n // absolute value\n y2: g,\n // absolute value\n series: f,\n barHeight: x,\n barWidth: m,\n barXPosition: u,\n barYPosition: y,\n elDataLabelsWrap: b,\n elGoalsMarkers: w,\n elBarShadows: v,\n visibleSeries: C,\n type: D,\n classes: S\n }) {\n const k = this.w, F = new P(this.w, this.ctx);\n let T = !1;\n if (c._bindingsDelegated || (c._bindingsDelegated = !0, F.setupEventDelegation(\n c,\n `.apexcharts-${D}-area`\n )), !s) {\n let R = function(z) {\n const H = k.config.stroke.colors;\n let _;\n return Array.isArray(H) && H.length > 0 && (_ = H[z], _ || (_ = \"\"), typeof _ == \"function\") ? _({\n value: k.seriesData.series[z][i],\n dataPointIndex: i,\n w: k\n }) : _;\n };\n const Y = typeof k.globals.stroke.colors[t] == \"function\" ? R(t) : k.globals.stroke.colors[t];\n s = this.barOptions.distributed ? k.globals.stroke.colors[i] : Y;\n }\n const E = new Gs(this).handleBarDataLabels({\n x: h,\n y: d,\n y1: p,\n y2: g,\n i: a,\n j: i,\n series: f,\n realIndex: t,\n columnGroupIndex: o,\n barHeight: x,\n barWidth: m,\n barXPosition: u,\n barYPosition: y,\n visibleSeries: C\n });\n k.globals.isBarHorizontal || (E.dataLabelsPos.dataLabelsX + Math.max(m, k.globals.barPadForNumericAxis) < 0 || E.dataLabelsPos.dataLabelsX - Math.max(m, k.globals.barPadForNumericAxis) > k.layout.gridWidth) && (T = !0), k.config.series[a].data[i] && k.config.series[a].data[i].strokeColor && (s = k.config.series[a].data[i].strokeColor), this.isNullValue && (e = \"none\");\n const X = i / k.config.chart.animations.animateGradually.delay * (k.config.chart.animations.speed / k.globals.dataPoints) / 2.4;\n if (!T) {\n const R = F.renderPaths({\n i: a,\n j: i,\n realIndex: t,\n pathFrom: r,\n pathTo: n,\n stroke: s,\n strokeWidth: l,\n strokeLineCap: k.config.stroke.lineCap,\n fill: e,\n animationDelay: X,\n initialSpeed: k.config.chart.animations.speed,\n dataChangeSpeed: k.config.chart.animations.dynamicAnimation.speed,\n className: `apexcharts-${D}-area ${S}`,\n chartType: D,\n bindEventsOnPaths: !1\n });\n R.attr(\"clip-path\", `url(#gridRectBarMask${k.globals.cuid})`);\n const Y = k.config.forecastDataPoints;\n Y.count > 0 && i >= k.globals.dataPoints - Y.count && (R.node.setAttribute(\"stroke-dasharray\", Y.dashArray), R.node.setAttribute(\"stroke-width\", Y.strokeWidth), R.node.setAttribute(\"fill-opacity\", Y.fillOpacity)), typeof p < \"u\" && typeof g < \"u\" && (R.attr(\"data-range-y1\", p), R.attr(\"data-range-y2\", g)), new Z(this.w).setSelectionFilter(R, t, i), c.add(R), R.attr({\n cy: E.dataLabelsPos.bcy,\n cx: E.dataLabelsPos.bcx,\n j: i,\n val: k.seriesData.series[a][i],\n barHeight: x,\n barWidth: m\n }), E.dataLabels !== null && b.add(E.dataLabels), E.totalDataLabels && b.add(E.totalDataLabels), c.add(b), w && c.add(w), v && c.add(v);\n }\n return c;\n }\n drawBarPaths({\n indexes: t,\n barHeight: e,\n strokeWidth: s,\n zeroW: i,\n x: a,\n y: o,\n yDivision: r,\n elSeries: n\n }) {\n const l = this.w, c = t.i, h = t.j;\n let d;\n if (l.axisFlags.isXNumeric)\n o = (l.seriesData.seriesX[c][h] - l.globals.minX) / this.invertedXRatio - e, d = o + e * this.visibleI;\n else if (l.config.plotOptions.bar.hideZeroBarsWhenGrouped) {\n const { nonZeroColumns: g, zeroEncounters: f } = this.barHelpers.getZeroValueEncounters({ i: c, j: h });\n g > 0 && (e = this.seriesLen * e / g), d = o + e * this.visibleI, d -= e * f;\n } else\n d = o + e * this.visibleI;\n this.isFunnel && (i = i - (this.barHelpers.getXForValue(this.series[c][h], i) - i) / 2), a = this.barHelpers.getXForValue(this.series[c][h], i);\n const p = this.barHelpers.getBarpaths({\n barYPosition: d,\n barHeight: e,\n x1: i,\n x2: a,\n strokeWidth: s,\n isReversed: this.isReversed,\n series: this.series,\n realIndex: t.realIndex,\n i: c,\n j: h,\n w: l\n });\n return l.axisFlags.isXNumeric || (o = o + r), this.barHelpers.barBackground({\n j: h,\n i: c,\n y1: d - e * this.visibleI,\n y2: e * this.seriesLen,\n elSeries: n\n }), {\n pathTo: p.pathTo,\n pathFrom: p.pathFrom,\n x1: i,\n x: a,\n y: o,\n goalX: this.barHelpers.getGoalValues(\"x\", i, null, c, h),\n barYPosition: d,\n barHeight: e\n };\n }\n drawColumnPaths({\n indexes: t,\n x: e,\n y: s,\n xDivision: i,\n barWidth: a,\n zeroH: o,\n strokeWidth: r,\n elSeries: n\n }) {\n const l = this.w, c = t.realIndex, h = t.translationsIndex, d = t.i, p = t.j, g = t.bc;\n let f;\n if (l.axisFlags.isXNumeric) {\n const m = this.getBarXForNumericXAxis({\n x: e,\n j: p,\n realIndex: c,\n barWidth: a\n });\n e = m.x, f = m.barXPosition;\n } else if (l.config.plotOptions.bar.hideZeroBarsWhenGrouped) {\n const { nonZeroColumns: m, zeroEncounters: u } = this.barHelpers.getZeroValueEncounters({ i: d, j: p });\n m > 0 && (a = this.seriesLen * a / m), f = e + a * this.visibleI, f -= a * u;\n } else\n f = e + a * this.visibleI;\n s = this.barHelpers.getYForValue(\n this.series[d][p],\n o,\n h\n );\n const x = this.barHelpers.getColumnPaths({\n barXPosition: f,\n barWidth: a,\n y1: o,\n y2: s,\n strokeWidth: r,\n isReversed: this.isReversed,\n series: this.series,\n realIndex: c,\n i: d,\n j: p,\n w: l\n });\n return l.axisFlags.isXNumeric || (e = e + i), this.barHelpers.barBackground({\n bc: g,\n j: p,\n i: d,\n x1: f - r / 2 - a * this.visibleI,\n x2: a * this.seriesLen + r / 2,\n elSeries: n\n }), {\n pathTo: x.pathTo,\n pathFrom: x.pathFrom,\n x: e,\n y: s,\n goalY: this.barHelpers.getGoalValues(\n \"y\",\n null,\n o,\n d,\n p,\n h\n ),\n barXPosition: f,\n barWidth: a\n };\n }\n getBarXForNumericXAxis({ x: t, barWidth: e, realIndex: s, j: i }) {\n const a = this.w;\n let o = s;\n return a.seriesData.seriesX[s].length || (o = a.globals.maxValsInArrayIndex), L.isNumber(a.seriesData.seriesX[o][i]) && (t = (a.seriesData.seriesX[o][i] - a.globals.minX) / this.xRatio - e * this.seriesLen / 2), {\n barXPosition: t + e * this.visibleI,\n x: t\n };\n }\n /** getPreviousPath is a common function for bars/columns which is used to get previous paths when data changes.\n * @memberof Bar\n * @param {int} realIndex - current iterating i\n * @param {int} j - current iterating series's j index\n * @return {string} pathFrom is the string which will be appended in animations\n **/\n getPreviousPath(t, e) {\n const s = this.w;\n let i = \"M 0 0\";\n for (let a = 0; a < s.globals.previousPaths.length; a++) {\n const o = s.globals.previousPaths[a];\n o.paths && o.paths.length > 0 && parseInt(o.realIndex, 10) === parseInt(t, 10) && typeof s.globals.previousPaths[a].paths[e] < \"u\" && (i = s.globals.previousPaths[a].paths[e].d);\n }\n return i;\n }\n}\nclass Vs extends ft {\n draw(t, e) {\n const s = this.w;\n this.graphics = new P(this.w), this.bar = new ft(this.w, this.ctx, this.xyRatios);\n const i = new V(this.w);\n t = i.getLogSeries(t), this.yRatio = i.getLogYRatios(this.yRatio), this.barHelpers.initVariables(t), s.config.chart.stackType === \"100%\" && (t = s.globals.comboCharts ? e.map((n) => s.globals.seriesPercent[n]) : s.globals.seriesPercent.slice()), this.series = t, this.barHelpers.initializeStackedPrevVars(this);\n const a = this.graphics.group({\n class: \"apexcharts-bar-series apexcharts-plot-series\"\n });\n let o = 0, r = 0;\n for (let n = 0, l = 0; n < t.length; n++, l++) {\n const c = s.globals.comboCharts ? e[n] : n, { groupIndex: h, columnGroupIndex: d } = this.barHelpers.getGroupIndex(c);\n this.groupCtx = this[s.labelData.seriesGroups[h]];\n const p = [], g = [];\n let f = 0;\n this.yRatio.length > 1 && (this.yaxisIndex = s.globals.seriesYAxisReverseMap[c][0], f = c), this.isReversed = s.config.yaxis[this.yaxisIndex] && s.config.yaxis[this.yaxisIndex].reversed;\n let x = this.graphics.group({\n class: \"apexcharts-series\",\n seriesName: L.escapeString(s.seriesData.seriesNames[c]),\n rel: n + 1,\n \"data:realIndex\": c\n });\n U.addCollapsedClassToSeries(this.w, x, c);\n const m = this.graphics.group({\n class: \"apexcharts-datalabels\",\n \"data:realIndex\": c\n }), u = this.graphics.group({\n class: \"apexcharts-bar-goals-markers\"\n }), y = this.initialPositions(o, r, void 0, void 0, void 0, void 0, f), {\n xDivision: b,\n // xDivision is the GRIDWIDTH divided by number of datapoints (columns)\n yDivision: w,\n // yDivision is the GRIDHEIGHT divided by number of datapoints (bars)\n zeroH: v,\n // zeroH is the baseline where 0 meets y axis\n zeroW: C\n // zeroW is the baseline where 0 meets x axis\n } = y;\n let D = y.barHeight, S = y.barWidth;\n r = y.y, o = y.x, s.globals.barHeight = D, s.globals.barWidth = S, this.barHelpers.initializeStackedXYVars(this), this.groupCtx.prevY.length === 1 && this.groupCtx.prevY[0].every((k) => isNaN(k)) && (this.groupCtx.prevY[0] = this.groupCtx.prevY[0].map(() => v), this.groupCtx.prevYF[0] = this.groupCtx.prevYF[0].map(() => 0));\n for (let k = 0; k < s.globals.dataPoints; k++) {\n const F = this.barHelpers.getStrokeWidth(n, k, c), T = {\n indexes: { i: n, j: k, realIndex: c, translationsIndex: f, bc: l },\n strokeWidth: F,\n x: o,\n y: r,\n elSeries: x,\n columnGroupIndex: d,\n seriesGroup: s.labelData.seriesGroups[h]\n };\n let M = null;\n this.isHorizontal ? (M = this.drawStackedBarPaths(O(I({}, T), {\n zeroW: C,\n barHeight: D,\n yDivision: w\n })), S = this.series[n][k] / this.invertedYRatio) : (M = this.drawStackedColumnPaths(O(I({}, T), {\n xDivision: b,\n barWidth: S,\n zeroH: v\n })), D = this.series[n][k] / this.yRatio[f]);\n const E = this.barHelpers.drawGoalLine({\n barXPosition: M.barXPosition,\n barYPosition: M.barYPosition,\n goalX: M.goalX,\n goalY: M.goalY,\n barHeight: D,\n barWidth: S\n });\n E && u.add(E), r = M.y, o = M.x, p.push(o), g.push(r);\n const X = this.barHelpers.getPathFillColor(t, n, k, c);\n let R = \"\";\n const Y = s.globals.isBarHorizontal ? \"apexcharts-flip-x\" : \"apexcharts-flip-y\";\n (this.barHelpers.arrBorderRadius[c][k] === \"bottom\" && s.seriesData.series[c][k] > 0 || this.barHelpers.arrBorderRadius[c][k] === \"top\" && s.seriesData.series[c][k] < 0) && (R = Y), x = this.renderSeries(O(I({\n realIndex: c,\n pathFill: X.color\n }, X.useRangeColor ? { lineFill: X.color } : {}), {\n j: k,\n i: n,\n columnGroupIndex: d,\n pathFrom: M.pathFrom,\n pathTo: M.pathTo,\n strokeWidth: F,\n elSeries: x,\n x: o,\n y: r,\n series: t,\n barHeight: D,\n barWidth: S,\n elDataLabelsWrap: m,\n elGoalsMarkers: u,\n type: \"bar\",\n visibleSeries: d,\n classes: R\n }));\n }\n s.globals.seriesXvalues[c] = p, s.globals.seriesYvalues[c] = g, this.groupCtx.prevY.push(this.groupCtx.yArrj), this.groupCtx.prevYF.push(this.groupCtx.yArrjF), this.groupCtx.prevYVal.push(this.groupCtx.yArrjVal), this.groupCtx.prevX.push(this.groupCtx.xArrj), this.groupCtx.prevXF.push(this.groupCtx.xArrjF), this.groupCtx.prevXVal.push(this.groupCtx.xArrjVal), a.add(x);\n }\n return a;\n }\n initialPositions(t, e, s, i, a, o, r) {\n const n = this.w;\n let l, c;\n if (this.isHorizontal) {\n i = n.layout.gridHeight / n.globals.dataPoints;\n const d = n.config.plotOptions.bar.barHeight;\n String(d).indexOf(\"%\") === -1 ? l = parseInt(d, 10) : l = i * parseInt(d, 10) / 100, o = n.globals.padHorizontal + (this.isReversed ? n.layout.gridWidth - this.baseLineInvertedY : this.baseLineInvertedY), e = (i - l) / 2;\n } else {\n s = n.layout.gridWidth / n.globals.dataPoints, c = s;\n const d = n.config.plotOptions.bar.columnWidth;\n n.axisFlags.isXNumeric && n.globals.dataPoints > 1 ? (s = n.globals.minXDiff / this.xRatio, c = s * parseInt(this.barOptions.columnWidth, 10) / 100) : String(d).indexOf(\"%\") === -1 ? c = parseInt(d, 10) : c *= parseInt(d, 10) / 100, this.isReversed ? a = this.baseLineY[r] : a = n.layout.gridHeight - this.baseLineY[r], t = n.globals.padHorizontal + (s - c) / 2;\n }\n const h = n.globals.barGroups.length || 1;\n return {\n x: t,\n y: e,\n yDivision: i,\n xDivision: s,\n barHeight: l / h,\n barWidth: c / h,\n zeroH: a,\n zeroW: o\n };\n }\n drawStackedBarPaths({\n indexes: t,\n barHeight: e,\n strokeWidth: s,\n zeroW: i,\n x: a,\n y: o,\n columnGroupIndex: r,\n seriesGroup: n,\n yDivision: l,\n elSeries: c\n }) {\n const h = this.w, d = o + r * e;\n let p;\n const g = t.i, f = t.j, x = t.realIndex, m = t.translationsIndex;\n let u = 0;\n for (let w = 0; w < this.groupCtx.prevXF.length; w++)\n u = u + this.groupCtx.prevXF[w][f];\n let y = g;\n if (h.config.series[x].name && (y = n.indexOf(h.config.series[x].name)), y > 0) {\n let w = i;\n this.groupCtx.prevXVal[y - 1][f] < 0 ? w = this.series[g][f] >= 0 ? this.groupCtx.prevX[y - 1][f] + u - (this.isReversed ? u : 0) * 2 : this.groupCtx.prevX[y - 1][f] : this.groupCtx.prevXVal[y - 1][f] >= 0 && (w = this.series[g][f] >= 0 ? this.groupCtx.prevX[y - 1][f] : this.groupCtx.prevX[y - 1][f] - u + (this.isReversed ? u : 0) * 2), p = w;\n } else\n p = i;\n this.series[g][f] === null ? a = p : a = p + this.series[g][f] / this.invertedYRatio - (this.isReversed ? this.series[g][f] / this.invertedYRatio : 0) * 2;\n const b = this.barHelpers.getBarpaths({\n barYPosition: d,\n barHeight: e,\n x1: p,\n x2: a,\n strokeWidth: s,\n isReversed: this.isReversed,\n series: this.series,\n realIndex: t.realIndex,\n seriesGroup: n,\n i: g,\n j: f,\n w: h\n });\n return this.barHelpers.barBackground({\n j: f,\n i: g,\n y1: d,\n y2: e,\n elSeries: c\n }), o = o + l, {\n pathTo: b.pathTo,\n pathFrom: b.pathFrom,\n goalX: this.barHelpers.getGoalValues(\n \"x\",\n i,\n null,\n g,\n f,\n m\n ),\n barXPosition: p,\n barYPosition: d,\n x: a,\n y: o\n };\n }\n drawStackedColumnPaths({\n indexes: t,\n x: e,\n y: s,\n xDivision: i,\n barWidth: a,\n zeroH: o,\n columnGroupIndex: r,\n seriesGroup: n,\n elSeries: l\n }) {\n var c, h, d, p;\n const g = this.w, f = t.i, x = t.j, m = t.bc, u = t.realIndex, y = t.translationsIndex;\n if (g.axisFlags.isXNumeric) {\n let S = g.seriesData.seriesX[u][x];\n S || (S = 0), e = (S - g.globals.minX) / this.xRatio - a / 2 * g.globals.barGroups.length;\n }\n const b = e + r * a;\n let w, v = 0;\n for (let S = 0; S < this.groupCtx.prevYF.length; S++)\n v = v + (isNaN(this.groupCtx.prevYF[S][x]) ? 0 : this.groupCtx.prevYF[S][x]);\n let C = f;\n if (n && (C = n.indexOf(g.seriesData.seriesNames[u])), C > 0 && !g.axisFlags.isXNumeric || C > 0 && g.axisFlags.isXNumeric && g.seriesData.seriesX[u - 1][x] === g.seriesData.seriesX[u][x]) {\n let S, k;\n const F = Math.min(this.yRatio.length + 1, u + 1);\n if (this.groupCtx.prevY[C - 1] !== void 0 && this.groupCtx.prevY[C - 1].length) {\n for (let T = 1; T < F; T++)\n if (!isNaN((c = this.groupCtx.prevY[C - T]) == null ? void 0 : c[x])) {\n k = this.groupCtx.prevY[C - T][x];\n break;\n }\n }\n for (let T = 1; T < F; T++)\n if (((h = this.groupCtx.prevYVal[C - T]) == null ? void 0 : h[x]) < 0) {\n S = this.series[f][x] >= 0 ? k - v + (this.isReversed ? v : 0) * 2 : k;\n break;\n } else if (((d = this.groupCtx.prevYVal[C - T]) == null ? void 0 : d[x]) >= 0) {\n S = this.series[f][x] >= 0 ? k : k + v - (this.isReversed ? v : 0) * 2;\n break;\n }\n typeof S > \"u\" && (S = g.layout.gridHeight), (p = this.groupCtx.prevYF[0]) != null && p.every((T) => T === 0) && this.groupCtx.prevYF.slice(1, C).every((T) => T.every((M) => isNaN(M))) ? w = o : w = S;\n } else\n w = o;\n this.series[f][x] ? s = w - this.series[f][x] / this.yRatio[y] + (this.isReversed ? this.series[f][x] / this.yRatio[y] : 0) * 2 : s = w;\n const D = this.barHelpers.getColumnPaths({\n barXPosition: b,\n barWidth: a,\n y1: w,\n y2: s,\n yRatio: this.yRatio[y],\n strokeWidth: this.strokeWidth,\n isReversed: this.isReversed,\n series: this.series,\n seriesGroup: n,\n realIndex: t.realIndex,\n i: f,\n j: x,\n w: g\n });\n return this.barHelpers.barBackground({\n bc: m,\n j: x,\n i: f,\n x1: b,\n x2: a,\n elSeries: l\n }), {\n pathTo: D.pathTo,\n pathFrom: D.pathFrom,\n goalY: this.barHelpers.getGoalValues(\"y\", null, o, f, x),\n barXPosition: b,\n x: g.axisFlags.isXNumeric ? e : e + i,\n y: s\n };\n }\n}\nclass se extends ft {\n draw(t, e, s) {\n const i = this.w, a = new P(this.w), o = i.globals.comboCharts ? e : i.config.chart.type, r = new st(this.w);\n this.candlestickOptions = this.w.config.plotOptions.candlestick, this.boxOptions = this.w.config.plotOptions.boxPlot, this.isHorizontal = i.config.plotOptions.bar.horizontal, this.isOHLC = this.candlestickOptions && this.candlestickOptions.type === \"ohlc\", this.coreUtils = new V(this.w), t = this.coreUtils.getLogSeries(t), this.series = t, this.yRatio = this.coreUtils.getLogYRatios(this.yRatio), this.barHelpers.initVariables(t);\n const n = a.group({\n class: `apexcharts-${o}-series apexcharts-plot-series`\n });\n for (let l = 0; l < t.length; l++) {\n this.isBoxPlot = i.config.chart.type === \"boxPlot\" || i.config.series[l].type === \"boxPlot\";\n let c, h;\n const d = [], p = [], g = i.globals.comboCharts ? s[l] : l, { columnGroupIndex: f } = this.barHelpers.getGroupIndex(g), x = a.group({\n class: \"apexcharts-series\",\n seriesName: L.escapeString(i.seriesData.seriesNames[g]),\n rel: l + 1,\n \"data:realIndex\": g\n });\n U.addCollapsedClassToSeries(this.w, x, g), t[l].length > 0 && (this.visibleI = this.visibleI + 1);\n let m = 0;\n this.yRatio.length > 1 && (this.yaxisIndex = i.globals.seriesYAxisReverseMap[g][0], m = g);\n const u = this.barHelpers.initialPositions(g), {\n y,\n barHeight: b,\n yDivision: w,\n // yDivision is the GRIDHEIGHT divided by number of datapoints (bars)\n zeroW: v,\n // zeroW is the baseline where 0 meets x axis\n x: C,\n barWidth: D,\n xDivision: S,\n // xDivision is the GRIDWIDTH divided by number of datapoints (columns)\n zeroH: k\n // zeroH is the baseline where 0 meets y axis\n } = u;\n h = y, c = C, p.push(c + D / 2);\n const F = a.group({\n class: \"apexcharts-datalabels\",\n \"data:realIndex\": g\n }), T = a.group({\n class: \"apexcharts-bar-goals-markers\"\n });\n for (let M = 0; M < i.globals.dataPoints; M++) {\n const E = this.barHelpers.getStrokeWidth(l, M, g);\n let X = null;\n const R = {\n indexes: {\n i: l,\n j: M,\n realIndex: g,\n translationsIndex: m\n },\n x: c,\n y: h,\n strokeWidth: E,\n elSeries: x\n };\n this.isHorizontal ? X = this.drawHorizontalBoxPaths(O(I({}, R), {\n yDivision: w,\n barHeight: b,\n zeroW: v\n })) : X = this.drawVerticalBoxPaths(O(I({}, R), {\n xDivision: S,\n barWidth: D,\n zeroH: k\n })), h = X.y, c = X.x;\n const Y = this.barHelpers.drawGoalLine({\n barXPosition: X.barXPosition,\n barYPosition: X.barYPosition,\n goalX: X.goalX,\n goalY: X.goalY,\n barHeight: b,\n barWidth: D\n });\n Y && T.add(Y), M > 0 && p.push(c + D / 2), d.push(h), X.pathTo.forEach((z, H) => {\n const _ = !this.isBoxPlot && this.candlestickOptions.wick.useFillColor ? X.color[H] : i.globals.stroke.colors[l], $ = r.fillPath({\n seriesNumber: g,\n dataPointIndex: M,\n color: X.color[H],\n value: t[l][M]\n });\n this.renderSeries({\n realIndex: g,\n pathFill: $,\n lineFill: _,\n j: M,\n i: l,\n pathFrom: X.pathFrom,\n pathTo: z,\n strokeWidth: E,\n elSeries: x,\n x: c,\n y: h,\n series: t,\n columnGroupIndex: f,\n barHeight: b,\n barWidth: D,\n elDataLabelsWrap: F,\n elGoalsMarkers: T,\n visibleSeries: this.visibleI,\n type: i.config.chart.type\n });\n });\n }\n i.globals.seriesXvalues[g] = p, i.globals.seriesYvalues[g] = d, n.add(x);\n }\n return n;\n }\n drawVerticalBoxPaths({\n indexes: t,\n x: e,\n xDivision: s,\n barWidth: i,\n zeroH: a,\n strokeWidth: o\n }) {\n const r = this.w, n = new P(this.w), l = t.i, c = t.j, { colors: h } = r.config.plotOptions.candlestick, { colors: d } = this.boxOptions, p = t.realIndex, g = (T) => Array.isArray(T) ? T[p] : T, f = g(h.upward), x = g(h.downward), m = this.yRatio[t.translationsIndex], u = this.getOHLCValue(p, c);\n let y = a, b = a, w = u.o < u.c ? [f] : [x];\n this.isBoxPlot && (w = [g(d.lower), g(d.upper)]);\n let v = Math.min(u.o, u.c), C = Math.max(u.o, u.c), D = u.m;\n r.axisFlags.isXNumeric && (e = (r.seriesData.seriesX[p][c] - r.globals.minX) / this.xRatio - i / 2);\n const S = e + i * this.visibleI;\n typeof this.series[l][c] > \"u\" || this.series[l][c] === null ? (v = a, C = a) : (v = a - v / m, C = a - C / m, y = a - u.h / m, b = a - u.l / m, D = a - u.m / m);\n let k, F = n.move(S + i / 2, v);\n if (r.globals.previousPaths.length > 0 && (F = this.getPreviousPath(p, c, !0)), this.isOHLC) {\n const T = S + i / 2, M = a - u.o / m, E = a - u.c / m;\n k = [\n n.move(T, y) + n.line(T, b) + n.move(T, M) + n.line(S, M) + n.move(T, E) + n.line(S + i, E)\n ];\n } else\n this.isBoxPlot ? k = [\n n.move(S, v) + n.line(S + i / 2, v) + n.line(S + i / 2, y) + n.line(S + i / 4, y) + n.line(S + i - i / 4, y) + n.line(S + i / 2, y) + n.line(S + i / 2, v) + n.line(S + i, v) + n.line(S + i, D) + n.line(S, D) + n.line(S, v + o / 2),\n n.move(S, D) + n.line(S + i, D) + n.line(S + i, C) + n.line(S + i / 2, C) + n.line(S + i / 2, b) + n.line(S + i - i / 4, b) + n.line(S + i / 4, b) + n.line(S + i / 2, b) + n.line(S + i / 2, C) + n.line(S, C) + n.line(S, D) + \"z\"\n ] : k = [\n n.move(S, C) + n.line(S + i / 2, C) + n.line(S + i / 2, y) + n.line(S + i / 2, C) + n.line(S + i, C) + n.line(S + i, v) + n.line(S + i / 2, v) + n.line(S + i / 2, b) + n.line(S + i / 2, v) + n.line(S, v) + n.line(S, C - o / 2)\n ];\n return F = F + n.move(S, v), r.axisFlags.isXNumeric || (e = e + s), {\n pathTo: k,\n pathFrom: F,\n x: e,\n y: C,\n goalY: this.barHelpers.getGoalValues(\n \"y\",\n null,\n a,\n l,\n c,\n t.translationsIndex\n ),\n barXPosition: S,\n color: w\n };\n }\n drawHorizontalBoxPaths({\n indexes: t,\n y: e,\n yDivision: s,\n barHeight: i,\n zeroW: a,\n strokeWidth: o\n }) {\n const r = this.w, n = new P(this.w), l = t.i, c = t.j, h = t.realIndex, { colors: d } = r.config.plotOptions.candlestick, { colors: p } = this.boxOptions, g = (k) => Array.isArray(k) ? k[h] : k, f = this.invertedYRatio, x = this.getOHLCValue(h, c);\n let m = x.o < x.c ? [g(d.upward)] : [g(d.downward)];\n this.isBoxPlot && (m = [g(p.lower), g(p.upper)]);\n let u = a, y = a, b = Math.min(x.o, x.c), w = Math.max(x.o, x.c), v = x.m;\n r.axisFlags.isXNumeric && (e = (r.seriesData.seriesX[h][c] - r.globals.minX) / this.invertedXRatio - i / 2);\n const C = e + i * this.visibleI;\n typeof this.series[l][c] > \"u\" || this.series[l][c] === null ? (b = a, w = a) : (b = a + b / f, w = a + w / f, u = a + x.h / f, y = a + x.l / f, v = a + x.m / f);\n let D = n.move(b, C + i / 2);\n r.globals.previousPaths.length > 0 && (D = this.getPreviousPath(h, c, !0));\n const S = [\n n.move(b, C) + n.line(b, C + i / 2) + n.line(u, C + i / 2) + n.line(u, C + i / 2 - i / 4) + n.line(u, C + i / 2 + i / 4) + n.line(u, C + i / 2) + n.line(b, C + i / 2) + n.line(b, C + i) + n.line(v, C + i) + n.line(v, C) + n.line(b + o / 2, C),\n n.move(v, C) + n.line(v, C + i) + n.line(w, C + i) + n.line(w, C + i / 2) + n.line(y, C + i / 2) + n.line(y, C + i - i / 4) + n.line(y, C + i / 4) + n.line(y, C + i / 2) + n.line(w, C + i / 2) + n.line(w, C) + n.line(v, C) + \"z\"\n ];\n return D = D + n.move(b, C), r.axisFlags.isXNumeric || (e = e + s), {\n pathTo: S,\n pathFrom: D,\n x: w,\n y: e,\n goalX: this.barHelpers.getGoalValues(\"x\", a, null, l, c),\n barYPosition: C,\n color: m\n };\n }\n getOHLCValue(t, e) {\n const s = this.w, i = this.coreUtils, a = (h) => h[t] && h[t][e] != null ? i.getLogValAtSeriesIndex(h[t][e], t) : 0, o = a(s.candleData.seriesCandleH), r = a(s.candleData.seriesCandleO), n = a(s.candleData.seriesCandleM), l = a(s.candleData.seriesCandleC), c = a(s.candleData.seriesCandleL);\n return {\n o: this.isBoxPlot ? o : r,\n h: this.isBoxPlot ? r : o,\n m: n,\n l: this.isBoxPlot ? l : c,\n c: this.isBoxPlot ? c : l\n };\n }\n}\nclass Se {\n constructor(t, e) {\n this.ctx = e, this.w = t;\n }\n checkColorRange() {\n const t = this.w;\n let e = !1;\n const s = t.config.plotOptions[t.config.chart.type];\n return s.colorScale.ranges.length > 0 && s.colorScale.ranges.map((i) => {\n i.from <= 0 && (e = !0);\n }), e;\n }\n getShadeColor(t, e, s, i) {\n const a = this.w;\n let o = 1;\n const r = a.config.plotOptions[t].shadeIntensity, n = this.determineColor(t, e, s);\n a.globals.hasNegs || i ? a.config.plotOptions[t].reverseNegativeShade ? n.percent < 0 ? o = n.percent / 100 * (r * 1.25) : o = (1 - n.percent / 100) * (r * 1.25) : n.percent <= 0 ? o = 1 - (1 + n.percent / 100) * r : o = (1 - n.percent / 100) * r : (o = 1 - n.percent / 100, t === \"treemap\" && (o = (1 - n.percent / 100) * (r * 1.25)));\n let l = n.color;\n const c = new L();\n if (a.config.plotOptions[t].enableShades)\n if (this.w.config.theme.mode === \"dark\") {\n const h = c.shadeColor(\n o * -1,\n n.color\n );\n l = L.hexToRgba(\n L.isColorHex(h) ? h : L.rgb2hex(h),\n a.config.fill.opacity\n );\n } else {\n const h = c.shadeColor(o, n.color);\n l = L.hexToRgba(\n L.isColorHex(h) ? h : L.rgb2hex(h),\n a.config.fill.opacity\n );\n }\n return { color: l, colorProps: n };\n }\n determineColor(t, e, s) {\n const i = this.w, a = i.seriesData.series[e][s], o = i.config.plotOptions[t];\n let r = o.colorScale.inverse ? s : e;\n o.distributed && i.config.chart.type === \"treemap\" && (r = s);\n let n = i.globals.colors[r], l = null, c = Math.min(...i.seriesData.series[e]), h = Math.max(...i.seriesData.series[e]);\n !o.distributed && t === \"heatmap\" && (c = i.globals.minY, h = i.globals.maxY), typeof o.colorScale.min < \"u\" && (c = o.colorScale.min < i.globals.minY ? o.colorScale.min : i.globals.minY, h = o.colorScale.max > i.globals.maxY ? o.colorScale.max : i.globals.maxY);\n const d = Math.abs(h) + Math.abs(c);\n let p = 100 * a / (d === 0 ? d - 1e-6 : d);\n return o.colorScale.ranges.length > 0 && o.colorScale.ranges.map((f) => {\n if (a >= f.from && a <= f.to) {\n n = f.color, l = f.foreColor ? f.foreColor : null, c = f.from, h = f.to;\n const x = Math.abs(h) + Math.abs(c);\n p = 100 * a / (x === 0 ? x - 1e-6 : x);\n }\n }), {\n color: n,\n foreColor: l,\n percent: p\n };\n }\n calculateDataLabels({ text: t, x: e, y: s, i, j: a, colorProps: o, fontSize: r }) {\n const l = this.w.config.dataLabels, c = new P(this.w), h = new gt(this.w, this.ctx);\n let d = null;\n if (l.enabled) {\n d = c.group({\n class: \"apexcharts-data-labels\"\n });\n const p = l.offsetX, g = l.offsetY, f = e + p, x = s + parseFloat(l.style.fontSize) / 3 + g;\n h.plotDataLabelsText({\n x: f,\n y: x,\n text: t,\n i,\n j: a,\n color: o.foreColor,\n parent: d,\n fontSize: r,\n dataLabelsConfig: l\n });\n }\n return d;\n }\n}\nclass Us {\n constructor(t, e, s) {\n this.ctx = e, this.w = t, this.xRatio = s.xRatio, this.yRatio = s.yRatio, this.dynamicAnim = this.w.config.chart.animations.dynamicAnimation, this.helpers = new Se(t, e), this.rectRadius = this.w.config.plotOptions.heatmap.radius, this.strokeWidth = this.w.config.stroke.show ? this.w.config.stroke.width : 0;\n }\n draw(t) {\n const e = this.w, s = new P(this.w, this.ctx), i = s.group({\n class: \"apexcharts-heatmap\"\n });\n i.attr(\"clip-path\", `url(#gridRectMask${e.globals.cuid})`);\n const a = e.layout.gridWidth / e.globals.dataPoints, o = e.layout.gridHeight / e.seriesData.series.length;\n let r = 0, n = !1;\n this.negRange = this.helpers.checkColorRange();\n const l = t.slice();\n e.config.yaxis[0].reversed && (n = !0, l.reverse());\n for (let h = n ? 0 : l.length - 1; n ? h < l.length : h >= 0; n ? h++ : h--) {\n const d = s.group({\n class: \"apexcharts-series apexcharts-heatmap-series\",\n seriesName: L.escapeString(e.seriesData.seriesNames[h]),\n rel: h + 1,\n \"data:realIndex\": h\n });\n if (U.addCollapsedClassToSeries(this.w, d, h), s.setupEventDelegation(d, \".apexcharts-heatmap-rect\"), e.config.chart.dropShadow.enabled) {\n const x = e.config.chart.dropShadow;\n new Z(this.w).dropShadow(d, x, h);\n }\n let p = 0;\n const g = e.config.plotOptions.heatmap.shadeIntensity;\n let f = 0;\n for (let x = 0; x < e.globals.dataPoints; x++) {\n if (e.seriesData.seriesX.length && !e.globals.allSeriesHasEqualX && e.globals.minX + e.globals.minXDiff * x < e.seriesData.seriesX[h][f]) {\n p = p + a;\n continue;\n }\n if (f >= l[h].length)\n break;\n const m = this.helpers.getShadeColor(\n e.config.chart.type,\n h,\n f,\n this.negRange\n );\n let u = m.color;\n const y = m.colorProps;\n e.config.fill.type === \"image\" && (u = new st(this.w).fillPath({\n seriesNumber: h,\n dataPointIndex: f,\n opacity: e.globals.hasNegs ? y.percent < 0 ? 1 - (1 + y.percent / 100) : g + y.percent / 100 : y.percent / 100,\n patternID: L.randomId(),\n width: e.config.fill.image.width ? e.config.fill.image.width : a,\n height: e.config.fill.image.height ? e.config.fill.image.height : o\n }));\n const b = this.rectRadius, w = s.drawRect(p, r, a, o, b);\n if (w.attr({\n cx: p,\n cy: r\n }), w.node.classList.add(\"apexcharts-heatmap-rect\"), d.add(w), w.attr({\n fill: u,\n i: h,\n index: h,\n j: f,\n val: t[h][f],\n \"stroke-width\": this.strokeWidth,\n stroke: e.config.plotOptions.heatmap.useFillColorAsStroke ? u : e.globals.stroke.colors[0],\n color: u\n }), e.config.chart.animations.enabled && !e.globals.dataChanged) {\n let S = 1;\n e.globals.resized || (S = e.config.chart.animations.speed), this.animateHeatMap(w, p, r, a, o, S);\n }\n if (e.globals.dataChanged) {\n let S = 1;\n if (this.dynamicAnim.enabled && e.globals.shouldAnimate) {\n S = this.dynamicAnim.speed;\n let k = e.globals.previousPaths[h] && e.globals.previousPaths[h][f] && e.globals.previousPaths[h][f].color;\n k || (k = \"rgba(255, 255, 255, 0)\"), this.animateHeatColor(\n w,\n L.isColorHex(k) ? k : L.rgb2hex(k),\n L.isColorHex(u) ? u : L.rgb2hex(u),\n S\n );\n }\n }\n const v = e.config.dataLabels.formatter, C = v(e.seriesData.series[h][f], {\n value: e.seriesData.series[h][f],\n seriesIndex: h,\n dataPointIndex: f,\n w: e\n }), D = this.helpers.calculateDataLabels({\n text: C,\n x: p + a / 2,\n y: r + o / 2,\n i: h,\n j: f,\n colorProps: y,\n series: l\n });\n D !== null && d.add(D), p = p + a, f++;\n }\n r = r + o, i.add(d);\n }\n const c = e.globals.yAxisScale[0].result.slice();\n return e.config.yaxis[0].reversed ? c.unshift(\"\") : c.push(\"\"), e.globals.yAxisScale[0].result = c, i;\n }\n animateHeatMap(t, e, s, i, a, o) {\n const r = new ut(this.w);\n r.animateRect(\n t,\n {\n x: e + i / 2,\n y: s + a / 2,\n width: 0,\n height: 0\n },\n {\n x: e,\n y: s,\n width: i,\n height: a\n },\n o,\n () => {\n r.animationCompleted(t);\n }\n );\n }\n animateHeatColor(t, e, s, i) {\n t.attr({\n fill: e\n }).animate(i).attr({\n fill: s\n });\n }\n}\nclass qs {\n constructor(t) {\n this.w = t.w, this.lineCtx = t;\n }\n sameValueSeriesFix(t, e) {\n const s = this.w;\n if ((s.config.fill.type === \"gradient\" || s.config.fill.type[t] === \"gradient\") && new V(this.lineCtx.w).seriesHaveSameValues(t)) {\n const a = e[t].slice();\n a[a.length - 1] = a[a.length - 1] + 1e-6, e[t] = a;\n }\n return e;\n }\n calculatePoints({ series: t, realIndex: e, x: s, y: i, i: a, j: o, prevY: r }) {\n const n = this.w, l = [], c = [];\n let h = this.lineCtx.categoryAxisCorrection + n.config.markers.offsetX;\n return n.axisFlags.isXNumeric && (h = (n.seriesData.seriesX[e][0] - n.globals.minX) / this.lineCtx.xRatio + n.config.markers.offsetX), o === 0 && (l.push(h), c.push(\n L.isNumber(t[a][0]) ? r + n.config.markers.offsetY : null\n )), l.push(s + n.config.markers.offsetX), c.push(\n L.isNumber(t[a][o + 1]) ? i + n.config.markers.offsetY : null\n ), {\n x: l,\n y: c\n };\n }\n checkPreviousPaths({ pathFromLine: t, pathFromArea: e, realIndex: s }) {\n const i = this.w;\n for (let a = 0; a < i.globals.previousPaths.length; a++) {\n const o = i.globals.previousPaths[a];\n (o.type === \"line\" || o.type === \"area\") && o.paths.length > 0 && parseInt(o.realIndex, 10) === parseInt(s, 10) && (o.type === \"line\" ? (this.lineCtx.appendPathFrom = !1, t = i.globals.previousPaths[a].paths[0].d) : o.type === \"area\" && (this.lineCtx.appendPathFrom = !1, e = i.globals.previousPaths[a].paths[0].d, i.config.stroke.show && i.globals.previousPaths[a].paths[1] && (t = i.globals.previousPaths[a].paths[1].d)));\n }\n return {\n pathFromLine: t,\n pathFromArea: e\n };\n }\n determineFirstPrevY({\n i: t,\n realIndex: e,\n series: s,\n prevY: i,\n lineYPosition: a,\n translationsIndex: o\n }) {\n var r, n, l;\n const c = this.w, h = c.config.chart.stacked && !c.globals.comboCharts || c.config.chart.stacked && c.globals.comboCharts && (!this.w.config.chart.stackOnlyBar || ((r = this.w.config.series[e]) == null ? void 0 : r.type) === \"bar\" || ((n = this.w.config.series[e]) == null ? void 0 : n.type) === \"column\");\n if (typeof ((l = s[t]) == null ? void 0 : l[0]) < \"u\")\n h ? t > 0 ? a = this.lineCtx.prevSeriesY[t - 1][0] : a = this.lineCtx.zeroY : a = this.lineCtx.zeroY, i = a - s[t][0] / this.lineCtx.yRatio[o] + (this.lineCtx.isReversed ? s[t][0] / this.lineCtx.yRatio[o] : 0) * 2;\n else if (h && t > 0 && typeof s[t][0] > \"u\") {\n for (let d = t - 1; d >= 0; d--)\n if (s[d][0] !== null && typeof s[d][0] < \"u\") {\n a = this.lineCtx.prevSeriesY[d][0], i = a;\n break;\n }\n }\n return {\n prevY: i,\n lineYPosition: a\n };\n }\n}\nconst Zs = (A) => {\n const t = Ks(A), e = A.length - 1, s = 1e-6, i = [];\n let a, o, r, n;\n for (let l = 0; l < e; l++)\n r = Ot(A[l], A[l + 1]), Math.abs(r) < s ? t[l] = t[l + 1] = 0 : (a = t[l] / r, o = t[l + 1] / r, n = a * a + o * o, n > 9 && (n = r * 3 / Math.sqrt(n), t[l] = n * a, t[l + 1] = n * o));\n for (let l = 0; l <= e; l++)\n n = (A[Math.min(e, l + 1)][0] - A[Math.max(0, l - 1)][0]) / (6 * (1 + t[l] * t[l])), i.push([n || 0, t[l] * n || 0]);\n return i;\n}, js = (A) => {\n let t = \"\";\n for (let e = 0; e < A.length; e++) {\n const s = A[e], i = s.length;\n i > 4 ? (t += `C${s[0]}, ${s[1]}`, t += `, ${s[2]}, ${s[3]}`, t += `, ${s[4]}, ${s[5]}`) : i > 2 && (t += `S${s[0]}, ${s[1]}`, t += `, ${s[2]}, ${s[3]}`);\n }\n return t;\n}, ie = {\n /**\n * Convert 'points' to bezier\n * @param {Array} points\n * @returns {Array}\n */\n points(A) {\n const t = Zs(A), e = A[1], s = A[0], i = [], a = t[1], o = t[0];\n i.push(s, [\n s[0] + o[0],\n s[1] + o[1],\n e[0] - a[0],\n e[1] - a[1],\n e[0],\n e[1]\n ]);\n for (let r = 2, n = t.length; r < n; r++) {\n const l = A[r], c = t[r];\n i.push([l[0] - c[0], l[1] - c[1], l[0], l[1]]);\n }\n return i;\n },\n /**\n * Slice out a segment of 'points'\n * @param {Array} points\n * @param {Number} start\n * @param {Number} end\n * @returns {Array}\n */\n slice(A, t, e) {\n const s = A.slice(t, e);\n if (t) {\n if (e - t > 1 && s[1].length < 6) {\n const i = s[0].length;\n s[1] = [\n s[0][i - 2] * 2 - s[0][i - 4],\n s[0][i - 1] * 2 - s[0][i - 3]\n ].concat(s[1]);\n }\n s[0] = s[0].slice(-2);\n }\n return s;\n }\n};\nfunction Ot(A, t) {\n return (t[1] - A[1]) / (t[0] - A[0]);\n}\nfunction Ks(A) {\n const t = [];\n let e = A[0], s = A[1], i = t[0] = Ot(e, s), a = 1;\n for (let o = A.length - 1; a < o; a++)\n e = s, s = A[a + 1], t[a] = (i + (i = Ot(e, s))) * 0.5;\n return t[a] = i, t;\n}\nclass mt {\n constructor(t, e, s, i) {\n this.ctx = e, this.w = t, this.xyRatios = s, this.pointsChart = !(this.w.config.chart.type !== \"bubble\" && this.w.config.chart.type !== \"scatter\") || i, this.scatter = new ge(this.w, this.ctx), this.noNegatives = this.w.globals.minX === Number.MAX_VALUE, this.lineHelpers = new qs(this), this.markers = new xt(this.w, this.ctx), this.prevSeriesY = [], this.categoryAxisCorrection = 0, this.yaxisIndex = 0;\n }\n draw(t, e, s, i) {\n var a;\n const o = this.w, r = new P(this.w), n = o.globals.comboCharts ? e : o.config.chart.type, l = r.group({\n class: `apexcharts-${n}-series apexcharts-plot-series`\n }), c = new V(this.w);\n this.yRatio = this.xyRatios.yRatio, this.zRatio = this.xyRatios.zRatio, this.xRatio = this.xyRatios.xRatio, this.baseLineY = this.xyRatios.baseLineY, t = c.getLogSeries(t), this.yRatio = c.getLogYRatios(this.yRatio), this.prevSeriesY = [];\n const h = [];\n for (let d = 0; d < t.length; d++) {\n t = this.lineHelpers.sameValueSeriesFix(d, t);\n const p = o.globals.comboCharts ? s[d] : d, g = this.yRatio.length > 1 ? p : 0;\n this._initSerieVariables(t, d, p);\n const f = [], x = [], m = [];\n let u = o.globals.padHorizontal + this.categoryAxisCorrection;\n const y = 1, b = [], w = [];\n U.addCollapsedClassToSeries(this.w, this.elSeries, p), o.axisFlags.isXNumeric && o.seriesData.seriesX.length > 0 && (u = (o.seriesData.seriesX[p][0] - o.globals.minX) / this.xRatio), m.push(u);\n const v = u;\n let C;\n const D = v;\n let S = this.zeroY, k = this.zeroY;\n const F = 0;\n S = this.lineHelpers.determineFirstPrevY({\n i: d,\n realIndex: p,\n series: t,\n prevY: S,\n lineYPosition: F,\n translationsIndex: g\n }).prevY, o.config.stroke.curve === \"monotoneCubic\" && t[d][0] === null ? f.push(null) : f.push(S);\n const M = S;\n let E;\n n === \"rangeArea\" && (E = this.lineHelpers.determineFirstPrevY({\n i: d,\n realIndex: p,\n series: i,\n prevY: k,\n lineYPosition: F,\n translationsIndex: g\n }), k = E.prevY, C = k, x.push(f[0] !== null ? k : null));\n const X = this._calculatePathsFrom({\n type: n,\n series: t,\n i: d,\n realIndex: p,\n translationsIndex: g,\n prevX: D,\n prevY: S,\n prevY2: k\n }), R = [f[0]], Y = [x[0]], z = {\n type: n,\n series: t,\n realIndex: p,\n translationsIndex: g,\n i: d,\n x: u,\n y,\n pX: v,\n pY: M,\n pathsFrom: X,\n linePaths: b,\n areaPaths: w,\n seriesIndex: s,\n lineYPosition: F,\n xArrj: m,\n yArrj: f,\n y2Arrj: x,\n seriesRangeEnd: i\n }, H = this._iterateOverDataPoints(O(I({}, z), {\n iterations: n === \"rangeArea\" ? t[d].length - 1 : void 0,\n isRangeStart: !0\n }));\n if (n === \"rangeArea\") {\n const _ = this._calculatePathsFrom({\n series: i,\n i: d,\n realIndex: p,\n prevX: D,\n prevY: k\n }), $ = this._iterateOverDataPoints(O(I({}, z), {\n series: i,\n xArrj: [u],\n yArrj: R,\n y2Arrj: Y,\n pY: C,\n areaPaths: H.areaPaths,\n pathsFrom: _,\n iterations: i[d].length - 1,\n isRangeStart: !1\n })), W = H.linePaths.length / 2;\n for (let J = 0; J < W; J++)\n H.linePaths[J] = $.linePaths[J + W] + H.linePaths[J];\n H.linePaths.splice(W), H.pathFromLine = $.pathFromLine + H.pathFromLine;\n } else\n H.pathFromArea += \"z\";\n this._handlePaths({ type: n, realIndex: p, i: d, paths: H }), this.elSeries.add(this.elPointsMain), this.elSeries.add(this.elDataLabelsWrap), h.push(this.elSeries);\n }\n if (typeof ((a = o.config.series[0]) == null ? void 0 : a.zIndex) < \"u\" && h.sort(\n (d, p) => Number(d.node.getAttribute(\"zIndex\")) - Number(p.node.getAttribute(\"zIndex\"))\n ), o.config.chart.stacked)\n for (let d = h.length - 1; d >= 0; d--)\n l.add(h[d]);\n else\n for (let d = 0; d < h.length; d++)\n l.add(h[d]);\n return l;\n }\n _initSerieVariables(t, e, s) {\n const i = this.w, a = new P(this.w);\n this.xDivision = i.layout.gridWidth / (i.globals.dataPoints - (i.config.xaxis.tickPlacement === \"on\" ? 1 : 0)), this.strokeWidth = Array.isArray(i.config.stroke.width) ? i.config.stroke.width[s] : i.config.stroke.width;\n let o = 0;\n if (this.yRatio.length > 1 && (this.yaxisIndex = i.globals.seriesYAxisReverseMap[s], o = s), this.isReversed = i.config.yaxis[this.yaxisIndex] && i.config.yaxis[this.yaxisIndex].reversed, this.zeroY = i.layout.gridHeight - this.baseLineY[o] - (this.isReversed ? i.layout.gridHeight : 0) + (this.isReversed ? this.baseLineY[o] * 2 : 0), this.areaBottomY = this.zeroY, (this.zeroY > i.layout.gridHeight || i.config.plotOptions.area.fillTo === \"end\") && (this.areaBottomY = i.layout.gridHeight), this.categoryAxisCorrection = this.xDivision / 2, this.elSeries = a.group({\n class: \"apexcharts-series\",\n zIndex: typeof i.config.series[s].zIndex < \"u\" ? i.config.series[s].zIndex : s,\n seriesName: L.escapeString(i.seriesData.seriesNames[s])\n }), this.elPointsMain = a.group({\n class: \"apexcharts-series-markers-wrap\",\n \"data:realIndex\": s\n }), i.globals.hasNullValues) {\n const n = this.markers.plotChartMarkers({\n pointsPos: {\n x: [0],\n y: [i.layout.gridHeight + i.globals.markers.largestSize]\n },\n seriesIndex: e,\n j: 0,\n pSize: 0.1,\n alwaysDrawMarker: !0,\n isVirtualPoint: !0\n });\n n !== null && this.elPointsMain.add(n);\n }\n this.elDataLabelsWrap = a.group({\n class: \"apexcharts-datalabels\",\n \"data:realIndex\": s\n });\n const r = t[e].length === i.globals.dataPoints;\n this.elSeries.attr({\n \"data:longestSeries\": r,\n rel: e + 1,\n \"data:realIndex\": s\n }), this.appendPathFrom = !0;\n }\n _calculatePathsFrom({\n type: t,\n series: e,\n i: s,\n realIndex: i,\n translationsIndex: a,\n prevX: o,\n prevY: r,\n prevY2: n\n }) {\n const l = this.w, c = new P(this.w);\n let h, d, p, g;\n if (e[s][0] === null) {\n for (let f = 0; f < e[s].length; f++)\n if (e[s][f] !== null) {\n o = this.xDivision * f, r = this.zeroY - e[s][f] / this.yRatio[a], h = c.move(o, r), d = c.move(o, this.areaBottomY);\n break;\n }\n } else\n h = c.move(o, r), t === \"rangeArea\" && (h = c.move(o, n) + c.line(o, r)), d = c.move(o, this.areaBottomY) + c.line(o, r);\n if (p = c.move(0, this.areaBottomY) + c.line(0, this.areaBottomY), g = c.move(0, this.areaBottomY) + c.line(0, this.areaBottomY), l.globals.previousPaths.length > 0) {\n const f = this.lineHelpers.checkPreviousPaths({\n pathFromLine: p,\n pathFromArea: g,\n realIndex: i\n });\n p = f.pathFromLine, g = f.pathFromArea;\n }\n return {\n prevX: o,\n prevY: r,\n linePath: h,\n areaPath: d,\n pathFromLine: p,\n pathFromArea: g\n };\n }\n _handlePaths({ type: t, realIndex: e, i: s, paths: i }) {\n const a = this.w, o = new P(this.w), r = new st(this.w);\n this.prevSeriesY.push(i.yArrj), a.globals.seriesXvalues[e] = i.xArrj, a.globals.seriesYvalues[e] = i.yArrj;\n const n = a.config.forecastDataPoints;\n if (n.count > 0 && t !== \"rangeArea\") {\n const c = a.globals.seriesXvalues[e][a.globals.seriesXvalues[e].length - n.count - 1], h = o.drawRect(\n c,\n 0,\n a.layout.gridWidth,\n a.layout.gridHeight,\n 0\n );\n a.dom.elForecastMask.appendChild(h.node);\n const d = o.drawRect(\n 0,\n 0,\n c,\n a.layout.gridHeight,\n 0\n );\n a.dom.elNonForecastMask.appendChild(d.node);\n }\n this.pointsChart || a.globals.delayedElements.push({\n el: this.elPointsMain.node,\n index: e\n });\n const l = {\n i: s,\n realIndex: e,\n animationDelay: s,\n initialSpeed: a.config.chart.animations.speed,\n dataChangeSpeed: a.config.chart.animations.dynamicAnimation.speed,\n className: `apexcharts-${t}`\n };\n if (t === \"area\") {\n const c = r.fillPath({\n seriesNumber: e\n });\n for (let h = 0; h < i.areaPaths.length; h++) {\n const d = o.renderPaths(O(I({}, l), {\n pathFrom: i.pathFromArea,\n pathTo: i.areaPaths[h],\n stroke: \"none\",\n strokeWidth: 0,\n strokeLineCap: null,\n fill: c\n }));\n this.elSeries.add(d);\n }\n }\n if (a.config.stroke.show && !this.pointsChart) {\n let c = null;\n if (t === \"line\")\n c = r.fillPath({\n seriesNumber: e,\n i: s\n });\n else if (a.config.stroke.fill.type === \"solid\")\n c = a.globals.stroke.colors[e];\n else {\n const h = a.config.fill;\n a.config.fill = a.config.stroke.fill, c = r.fillPath({\n seriesNumber: e,\n i: s\n }), a.config.fill = h;\n }\n for (let h = 0; h < i.linePaths.length; h++) {\n let d = c;\n t === \"rangeArea\" && (d = r.fillPath({\n seriesNumber: e\n }));\n const p = O(I({}, l), {\n pathFrom: i.pathFromLine,\n pathTo: i.linePaths[h],\n stroke: c,\n strokeWidth: this.strokeWidth,\n strokeLineCap: a.config.stroke.lineCap,\n fill: t === \"rangeArea\" ? d : \"none\"\n }), g = o.renderPaths(p);\n if (this.elSeries.add(g), g.attr(\"fill-rule\", \"evenodd\"), n.count > 0 && t !== \"rangeArea\") {\n const f = o.renderPaths(p);\n f.node.setAttribute(\n \"stroke-dasharray\",\n n.dashArray\n ), n.strokeWidth && f.node.setAttribute(\n \"stroke-width\",\n n.strokeWidth\n ), this.elSeries.add(f), f.attr(\n \"clip-path\",\n `url(#forecastMask${a.globals.cuid})`\n ), g.attr(\n \"clip-path\",\n `url(#nonForecastMask${a.globals.cuid})`\n );\n }\n }\n }\n }\n _iterateOverDataPoints({\n type: t,\n series: e,\n iterations: s,\n realIndex: i,\n translationsIndex: a,\n i: o,\n x: r,\n y: n,\n pX: l,\n pY: c,\n pathsFrom: h,\n linePaths: d,\n areaPaths: p,\n seriesIndex: g,\n lineYPosition: f,\n xArrj: x,\n yArrj: m,\n y2Arrj: u,\n isRangeStart: y,\n seriesRangeEnd: b\n }) {\n var w, v;\n const C = this.w, D = new P(this.w), S = this.yRatio;\n let { prevY: k, linePath: F, areaPath: T, pathFromLine: M, pathFromArea: E } = h;\n const X = L.isNumber(C.globals.minYArr[i]) ? C.globals.minYArr[i] : C.globals.minY;\n s || (s = C.globals.dataPoints > 1 ? C.globals.dataPoints - 1 : C.globals.dataPoints);\n const R = (W, J) => J - W / S[a] + (this.isReversed ? W / S[a] : 0) * 2;\n let Y = n;\n const z = C.config.chart.stacked && !C.globals.comboCharts || C.config.chart.stacked && C.globals.comboCharts && (!this.w.config.chart.stackOnlyBar || ((w = this.w.config.series[i]) == null ? void 0 : w.type) === \"bar\" || ((v = this.w.config.series[i]) == null ? void 0 : v.type) === \"column\");\n let H = C.config.stroke.curve;\n Array.isArray(H) && (Array.isArray(g) ? H = H[g[o]] : H = H[o]);\n let _ = 0, $;\n for (let W = 0; W < s && e[o].length !== 0; W++) {\n const J = typeof e[o][W + 1] > \"u\" || e[o][W + 1] === null;\n if (C.axisFlags.isXNumeric) {\n let Ct = C.seriesData.seriesX[i][W + 1];\n typeof C.seriesData.seriesX[i][W + 1] > \"u\" && (Ct = C.seriesData.seriesX[i][s - 1]), r = (Ct - C.globals.minX) / this.xRatio;\n } else\n r = r + this.xDivision;\n if (z)\n if (o > 0 && C.globals.collapsedSeries.length < C.config.series.length - 1) {\n const Ct = (Le) => {\n for (let ct = Le; ct > 0; ct--)\n if (C.globals.collapsedSeriesIndices.indexOf(\n (g == null ? void 0 : g[ct]) || ct\n ) > -1)\n ct--;\n else\n return ct;\n return 0;\n };\n f = this.prevSeriesY[Ct(o - 1)][W + 1];\n } else\n f = this.zeroY;\n else\n f = this.zeroY;\n J ? n = R(X, f) : (n = R(e[o][W + 1], f), t === \"rangeArea\" && (Y = R(b[o][W + 1], f))), x.push(e[o][W + 1] === null ? null : r), J && (C.config.stroke.curve === \"smooth\" || C.config.stroke.curve === \"monotoneCubic\") ? (m.push(null), u.push(null)) : (m.push(n), u.push(Y));\n const $t = this.lineHelpers.calculatePoints({\n series: e,\n x: r,\n y: n,\n realIndex: i,\n i: o,\n j: W,\n prevY: k\n }), it = this._createPaths({\n type: t,\n series: e,\n i: o,\n j: W,\n x: r,\n y: n,\n y2: Y,\n xArrj: x,\n yArrj: m,\n y2Arrj: u,\n pX: l,\n pY: c,\n pathState: _,\n segmentStartX: $,\n linePath: F,\n areaPath: T,\n linePaths: d,\n areaPaths: p,\n curve: H,\n isRangeStart: y\n });\n p = it.areaPaths, d = it.linePaths, l = it.pX, c = it.pY, _ = it.pathState, $ = it.segmentStartX, T = it.areaPath, F = it.linePath, this.appendPathFrom && !C.globals.hasNullValues && !(H === \"monotoneCubic\" && t === \"rangeArea\") && (M += D.line(r, this.areaBottomY), E += D.line(r, this.areaBottomY)), this.handleNullDataPoints(e, $t, o, W, i), this._handleMarkersAndLabels({\n type: t,\n pointsPos: $t,\n i: o,\n j: W,\n realIndex: i,\n isRangeStart: y\n });\n }\n return {\n yArrj: m,\n xArrj: x,\n pathFromArea: E,\n areaPaths: p,\n pathFromLine: M,\n linePaths: d,\n linePath: F,\n areaPath: T\n };\n }\n _handleMarkersAndLabels({ type: t, pointsPos: e, isRangeStart: s, i, j: a, realIndex: o }) {\n const r = this.w, n = new gt(this.w, this.ctx);\n if (this.pointsChart)\n this.scatter.draw(this.elSeries, a, {\n realIndex: o,\n pointsPos: e,\n zRatio: this.zRatio,\n elParent: this.elPointsMain\n });\n else {\n r.seriesData.series[i].length > 1 && this.elPointsMain.node.classList.add(\"apexcharts-element-hidden\");\n const c = this.markers.plotChartMarkers({\n pointsPos: e,\n seriesIndex: o,\n j: a + 1\n });\n c !== null && this.elPointsMain.add(c);\n }\n const l = n.drawDataLabel({\n type: t,\n isRangeStart: s,\n pos: e,\n i: o,\n j: a + 1\n });\n l !== null && this.elDataLabelsWrap.add(l);\n }\n _createPaths({\n type: t,\n series: e,\n i: s,\n j: i,\n x: a,\n y: o,\n xArrj: r,\n yArrj: n,\n y2: l,\n y2Arrj: c,\n pX: h,\n pY: d,\n pathState: p,\n segmentStartX: g,\n linePath: f,\n areaPath: x,\n linePaths: m,\n areaPaths: u,\n curve: y,\n isRangeStart: b\n }) {\n const w = new P(this.w), v = this.areaBottomY, C = t === \"rangeArea\", D = t === \"rangeArea\" && b;\n switch (y) {\n case \"monotoneCubic\": {\n const S = b ? n : c, k = (M, E) => M.map((X, R) => [X, E[R]]).filter((X) => X[1] !== null), F = (M) => {\n const E = [];\n let X = 0;\n return M.forEach((R) => {\n R !== null ? X++ : X > 0 && (E.push(X), X = 0);\n }), X > 0 && E.push(X), E;\n }, T = (M, E) => {\n const X = F(M), R = [];\n for (let Y = 0, z = 0; Y < X.length; z += X[Y++])\n R[Y] = ie.slice(E, z, z + X[Y]);\n return R;\n };\n switch (p) {\n case 0:\n if (S[i + 1] === null)\n break;\n p = 1;\n case 1:\n if (!(C ? r.length === e[s].length : i === e[s].length - 2))\n break;\n case 2: {\n const M = b ? r : r.slice().reverse(), E = b ? S : S.slice().reverse(), X = k(M, E), R = X.length > 1 ? ie.points(X) : X;\n let Y = [];\n C && (D ? u = X : Y = u.reverse());\n let z = 0, H = 0;\n if (T(E, R).forEach((_) => {\n z++;\n const $ = js(_), W = H;\n H += _.length;\n const J = H - 1;\n D ? f = w.move(\n X[W][0],\n X[W][1]\n ) + $ : C ? f = w.move(\n Y[W][0],\n Y[W][1]\n ) + w.line(\n X[W][0],\n X[W][1]\n ) + $ + w.line(\n Y[J][0],\n Y[J][1]\n ) : (f = w.move(\n X[W][0],\n X[W][1]\n ) + $, x = f + w.line(X[J][0], v) + w.line(X[W][0], v) + \"z\", u.push(x)), m.push(f);\n }), C && z > 1 && !D) {\n const _ = m.slice(z).reverse();\n m.splice(z), _.forEach(($) => m.push($));\n }\n p = 0;\n break;\n }\n }\n break;\n }\n case \"smooth\": {\n const S = (a - h) * 0.35;\n if (e[s][i] === null)\n p = 0;\n else\n switch (p) {\n case 0:\n if (g = h, D ? f = w.move(h, c[i]) + w.line(h, d) : f = w.move(h, d), x = w.move(h, d), e[s][i + 1] === null || typeof e[s][i + 1] > \"u\") {\n m.push(f), u.push(x);\n break;\n }\n if (p = 1, i < e[s].length - 2) {\n const k = w.curve(h + S, d, a - S, o, a, o);\n f += k, x += k;\n break;\n }\n case 1:\n if (e[s][i + 1] === null)\n D ? f += w.line(h, l) : f += w.move(h, d), x += w.line(h, v) + w.line(g, v) + \"z\", m.push(f), u.push(x), p = -1;\n else {\n const k = w.curve(h + S, d, a - S, o, a, o);\n f += k, x += k, i >= e[s].length - 2 && (D && (f += w.curve(a, o, a, o, a, l) + w.move(a, l)), x += w.curve(a, o, a, o, a, v) + w.line(g, v) + \"z\", m.push(f), u.push(x), p = -1);\n }\n break;\n }\n h = a, d = o;\n break;\n }\n default: {\n const S = (k, F, T) => {\n let M = [];\n switch (k) {\n case \"stepline\":\n M = w.line(F, null, \"H\") + w.line(null, T, \"V\");\n break;\n case \"linestep\":\n M = w.line(null, T, \"V\") + w.line(F, null, \"H\");\n break;\n case \"straight\":\n M = w.line(F, T);\n break;\n }\n return M;\n };\n if (e[s][i] === null)\n p = 0;\n else\n switch (p) {\n case 0:\n if (g = h, D ? f = w.move(h, c[i]) + w.line(h, d) : f = w.move(h, d), x = w.move(h, d), e[s][i + 1] === null || typeof e[s][i + 1] > \"u\") {\n m.push(f), u.push(x);\n break;\n }\n if (p = 1, i < e[s].length - 2) {\n const k = S(y, a, o);\n f += k, x += k;\n break;\n }\n case 1:\n if (e[s][i + 1] === null)\n D ? f += w.line(h, l) : f += w.move(h, d), x += w.line(h, v) + w.line(g, v) + \"z\", m.push(f), u.push(x), p = -1;\n else {\n const k = S(y, a, o);\n f += k, x += k, i >= e[s].length - 2 && (D && (f += w.line(a, l)), x += w.line(a, v) + w.line(g, v) + \"z\", m.push(f), u.push(x), p = -1);\n }\n break;\n }\n h = a, d = o;\n break;\n }\n }\n return {\n linePaths: m,\n areaPaths: u,\n pX: h,\n pY: d,\n pathState: p,\n segmentStartX: g,\n linePath: f,\n areaPath: x\n };\n }\n handleNullDataPoints(t, e, s, i, a) {\n const o = this.w;\n if (t[s][i] === null && o.config.markers.showNullDataPoints || t[s].length === 1) {\n let r = this.strokeWidth - o.config.markers.strokeWidth / 2;\n r > 0 || (r = 0);\n const n = this.markers.plotChartMarkers({\n pointsPos: e,\n seriesIndex: a,\n j: i + 1,\n pSize: r,\n alwaysDrawMarker: !0\n });\n n !== null && this.elPointsMain.add(n);\n }\n }\n}\nclass ke {\n constructor(t) {\n this.w = t;\n }\n drawYAxisTexts(t, e, s, i) {\n const a = this.w, o = a.config.yaxis[0], r = a.formatters.yLabelFormatters[0];\n return new P(this.w).drawText({\n x: t + o.labels.offsetX,\n y: e + o.labels.offsetY,\n text: r(i, s),\n textAnchor: \"middle\",\n fontSize: o.labels.style.fontSize,\n fontFamily: o.labels.style.fontFamily,\n foreColor: Array.isArray(o.labels.style.colors) ? o.labels.style.colors[s] : o.labels.style.colors\n });\n }\n}\nclass kt {\n constructor(t, e) {\n this.ctx = e, this.w = t, this.chartType = this.w.config.chart.type, this.initialAnim = this.w.config.chart.animations.enabled, this.dynamicAnim = this.initialAnim && this.w.config.chart.animations.dynamicAnimation.enabled, this.animBeginArr = [0], this.animDur = 0, this.donutDataLabels = this.w.config.plotOptions.pie.donut.labels, this.lineColorArr = t.globals.stroke.colors !== void 0 ? t.globals.stroke.colors : t.globals.colors, this.defaultSize = Math.min(t.layout.gridWidth, t.layout.gridHeight), this.centerY = this.defaultSize / 2, this.centerX = t.layout.gridWidth / 2, t.config.chart.type === \"radialBar\" ? this.fullAngle = 360 : this.fullAngle = Math.abs(\n t.config.plotOptions.pie.endAngle - t.config.plotOptions.pie.startAngle\n ), this.initialAngle = t.config.plotOptions.pie.startAngle % this.fullAngle, t.globals.radialSize = this.defaultSize / 2.05 - t.config.stroke.width - (t.config.chart.sparkline.enabled ? 0 : t.config.chart.dropShadow.blur), this.donutSize = t.globals.radialSize * parseInt(t.config.plotOptions.pie.donut.size, 10) / 100;\n const s = t.config.plotOptions.pie.customScale, i = t.layout.gridWidth / 2, a = t.layout.gridHeight / 2;\n this.translateX = i - i * s, this.translateY = a - a * s, this.dataLabelsGroup = new P(this.w).group({\n class: \"apexcharts-datalabels-group\",\n transform: `translate(${this.translateX}, ${this.translateY}) scale(${s})`\n }), this.maxY = 0, this.sliceLabels = [], this.sliceSizes = [], this.prevSectorAngleArr = [];\n }\n draw(t) {\n const e = this, s = this.w, i = new P(this.w), a = i.group({\n class: \"apexcharts-pie\"\n });\n if (s.globals.noData)\n return a;\n let o = 0;\n for (let c = 0; c < t.length; c++)\n o += L.negToZero(t[c]);\n const r = [], n = i.group();\n o === 0 && (o = 1e-5), t.forEach((c) => {\n this.maxY = Math.max(this.maxY, c);\n }), s.config.yaxis[0].max && (this.maxY = s.config.yaxis[0].max), s.config.grid.position === \"back\" && this.chartType === \"polarArea\" && this.drawPolarElements(a);\n for (let c = 0; c < t.length; c++) {\n const h = this.fullAngle * L.negToZero(t[c]) / o;\n r.push(h), this.chartType === \"polarArea\" ? (r[c] = this.fullAngle / t.length, this.sliceSizes.push(s.globals.radialSize * t[c] / this.maxY)) : this.sliceSizes.push(s.globals.radialSize);\n }\n if (s.globals.dataChanged) {\n let c = 0;\n for (let d = 0; d < s.globals.previousPaths.length; d++)\n c += L.negToZero(s.globals.previousPaths[d]);\n let h;\n for (let d = 0; d < s.globals.previousPaths.length; d++)\n h = this.fullAngle * L.negToZero(s.globals.previousPaths[d]) / c, this.prevSectorAngleArr.push(h);\n }\n if (this.donutSize < 0 && (this.donutSize = 0), this.chartType === \"donut\") {\n const c = i.drawCircle(this.donutSize);\n c.attr({\n cx: this.centerX,\n cy: this.centerY,\n fill: s.config.plotOptions.pie.donut.background ? s.config.plotOptions.pie.donut.background : \"transparent\"\n }), n.add(c);\n }\n const l = e.drawArcs(r, t);\n if (this.sliceLabels.forEach((c) => {\n l.add(c);\n }), n.attr({\n transform: `translate(${this.translateX}, ${this.translateY}) scale(${s.config.plotOptions.pie.customScale})`\n }), n.add(l), a.add(n), this.donutDataLabels.show) {\n const c = this.renderInnerDataLabels(\n this.dataLabelsGroup,\n this.donutDataLabels,\n {\n hollowSize: this.donutSize,\n centerX: this.centerX,\n centerY: this.centerY,\n opacity: this.donutDataLabels.show\n }\n );\n a.add(c);\n }\n return s.config.grid.position === \"front\" && this.chartType === \"polarArea\" && this.drawPolarElements(a), a;\n }\n // core function for drawing pie arcs\n drawArcs(t, e) {\n const s = this.w, i = new Z(this.w), a = new P(this.w), o = new st(this.w), r = a.group({\n class: \"apexcharts-slices\"\n });\n let n = this.initialAngle, l = this.initialAngle, c = this.initialAngle, h = this.initialAngle;\n this.strokeWidth = s.config.stroke.show ? s.config.stroke.width : 0;\n for (let d = 0; d < t.length; d++) {\n const p = a.group({\n class: \"apexcharts-series apexcharts-pie-series\",\n seriesName: L.escapeString(s.seriesData.seriesNames[d]),\n rel: d + 1,\n \"data:realIndex\": d\n });\n r.add(p), n = c, l = h, c = n + t[d], h = l + this.prevSectorAngleArr[d];\n const g = c < n ? this.fullAngle + c - n : c - n, f = o.fillPath({\n seriesNumber: d,\n size: this.sliceSizes[d],\n value: e[d]\n }), x = this.getChangedPath(l, h), m = a.drawPath({\n d: x,\n stroke: Array.isArray(this.lineColorArr) ? this.lineColorArr[d] : this.lineColorArr,\n strokeWidth: 0,\n fill: f,\n fillOpacity: s.config.fill.opacity,\n classes: `apexcharts-pie-area apexcharts-${this.chartType.toLowerCase()}-slice-${d}`\n });\n if (m.attr({\n index: 0,\n j: d\n }), i.setSelectionFilter(m, 0, d), s.config.chart.dropShadow.enabled) {\n const v = s.config.chart.dropShadow;\n i.dropShadow(m, v, d);\n }\n this.addListeners(m, this.donutDataLabels);\n let u = {\n x: 0,\n y: 0\n };\n const y = (n + g / 2) % this.fullAngle;\n let b = { x: this.centerX, y: this.centerY };\n this.chartType === \"pie\" || this.chartType === \"polarArea\" ? (u = L.polarToCartesian(\n this.centerX,\n this.centerY,\n s.globals.radialSize / 1.25 + s.config.plotOptions.pie.dataLabels.offset,\n y\n ), b = L.polarToCartesian(\n this.centerX,\n this.centerY,\n s.globals.radialSize / 2,\n y\n )) : this.chartType === \"donut\" && (u = L.polarToCartesian(\n this.centerX,\n this.centerY,\n (s.globals.radialSize + this.donutSize) / 2 + s.config.plotOptions.pie.dataLabels.offset,\n y\n ), b = L.polarToCartesian(\n this.centerX,\n this.centerY,\n (s.globals.radialSize + this.donutSize) / 2,\n y\n )), P.setAttrs(m.node, {\n \"data:angle\": g,\n \"data:startAngle\": n,\n \"data:strokeWidth\": this.strokeWidth,\n \"data:value\": e[d],\n \"data:cx\": b.x,\n \"data:cy\": b.y\n }), p.add(m);\n let w = 0;\n if (this.initialAnim && !s.globals.resized && !s.globals.dataChanged ? (w = g / this.fullAngle * s.config.chart.animations.speed, w === 0 && (w = 1), this.animDur = w + this.animDur, this.animBeginArr.push(this.animDur)) : this.animBeginArr.push(0), this.dynamicAnim && s.globals.dataChanged ? this.animatePaths(m, {\n size: this.sliceSizes[d],\n endAngle: c,\n startAngle: n,\n prevStartAngle: l,\n prevEndAngle: h,\n animateStartingPos: !0,\n i: d,\n animBeginArr: this.animBeginArr,\n shouldSetPrevPaths: !0,\n dur: s.config.chart.animations.dynamicAnimation.speed\n }) : this.animatePaths(m, {\n size: this.sliceSizes[d],\n endAngle: c,\n startAngle: n,\n i: d,\n totalItems: t.length - 1,\n animBeginArr: this.animBeginArr,\n dur: w\n }), s.config.plotOptions.pie.expandOnClick && this.chartType !== \"polarArea\" && m.node.addEventListener(\"mouseup\", this.pieClicked.bind(this, d)), typeof s.interact.selectedDataPoints[0] < \"u\" && s.interact.selectedDataPoints[0].indexOf(d) > -1 && this.pieClicked(d), s.config.dataLabels.enabled) {\n const v = u.x, C = u.y;\n let D = 100 * g / this.fullAngle + \"%\";\n if (g !== 0 && s.config.plotOptions.pie.dataLabels.minAngleToShowLabel < t[d]) {\n const S = s.config.dataLabels.formatter;\n S !== void 0 && (D = S(s.globals.seriesPercent[d][0], {\n seriesIndex: d,\n w: s\n }));\n const k = s.globals.dataLabels.style.colors[d], F = a.group({\n class: \"apexcharts-datalabels\"\n }), T = a.drawText({\n x: v,\n y: C,\n text: D,\n textAnchor: \"middle\",\n fontSize: s.config.dataLabels.style.fontSize,\n fontFamily: s.config.dataLabels.style.fontFamily,\n fontWeight: s.config.dataLabels.style.fontWeight,\n foreColor: k\n });\n if (F.add(T), s.config.dataLabels.dropShadow.enabled) {\n const M = s.config.dataLabels.dropShadow;\n i.dropShadow(T, M);\n }\n T.node.classList.add(\"apexcharts-pie-label\"), s.config.chart.animations.animate && s.globals.resized === !1 && (T.node.classList.add(\"apexcharts-pie-label-delay\"), T.node.style.animationDelay = s.config.chart.animations.speed / 940 + \"s\"), this.sliceLabels.push(F);\n }\n }\n }\n return r;\n }\n addListeners(t, e) {\n const s = new P(this.w);\n t.node.addEventListener(\n \"mouseenter\",\n s.pathMouseEnter.bind(this, t)\n ), t.node.addEventListener(\n \"mouseleave\",\n s.pathMouseLeave.bind(this, t)\n ), t.node.addEventListener(\n \"mouseleave\",\n this.revertDataLabelsInner.bind(this, t.node, e)\n ), t.node.addEventListener(\n \"mousedown\",\n s.pathMouseDown.bind(this, t)\n ), this.donutDataLabels.total.showAlways || (t.node.addEventListener(\n \"mouseenter\",\n this.printDataLabelsInner.bind(this, t.node, e)\n ), t.node.addEventListener(\n \"mousedown\",\n this.printDataLabelsInner.bind(this, t.node, e)\n ));\n }\n // This function can be used for other circle charts too\n animatePaths(t, e) {\n const s = this.w, i = this;\n let a = e.endAngle < e.startAngle ? this.fullAngle + e.endAngle - e.startAngle : e.endAngle - e.startAngle, o = a, r = e.startAngle;\n const n = e.startAngle;\n e.prevStartAngle !== void 0 && e.prevEndAngle !== void 0 && (r = e.prevEndAngle, o = e.prevEndAngle < e.prevStartAngle ? this.fullAngle + e.prevEndAngle - e.prevStartAngle : e.prevEndAngle - e.prevStartAngle), e.i === s.config.series.length - 1 && (a + n > this.fullAngle ? e.endAngle = e.endAngle - (a + n) : a + n < this.fullAngle && (e.endAngle = e.endAngle + (this.fullAngle - (a + n)))), a === this.fullAngle && (a = this.fullAngle - 0.01), i.animateArc(t, r, n, a, o, e);\n }\n animateArc(t, e, s, i, a, o) {\n const r = this, n = this.w, l = new ut(this.w), c = o.size;\n let h;\n (isNaN(e) || isNaN(a)) && (e = s, a = i, o.dur = 0);\n let d = i, p = s;\n const g = e < s ? this.fullAngle + e - s : e - s;\n n.globals.dataChanged && o.shouldSetPrevPaths && o.prevEndAngle && (h = r.getPiePath({\n me: r,\n startAngle: o.prevStartAngle,\n angle: o.prevEndAngle < o.prevStartAngle ? this.fullAngle + o.prevEndAngle - o.prevStartAngle : o.prevEndAngle - o.prevStartAngle,\n size: c\n }), t.attr({ d: h })), o.dur !== 0 ? t.animate(o.dur, o.animBeginArr[o.i]).after(function() {\n (r.chartType === \"pie\" || r.chartType === \"donut\" || r.chartType === \"polarArea\") && this.animate(n.config.chart.animations.dynamicAnimation.speed).attr(\n {\n \"stroke-width\": r.strokeWidth\n }\n ), o.i === n.config.series.length - 1 && l.animationCompleted(t);\n }).during((f) => {\n d = g + (i - g) * f, o.animateStartingPos && (d = a + (i - a) * f, p = e - a + (s - (e - a)) * f), h = r.getPiePath({\n me: r,\n startAngle: p,\n angle: d,\n size: c\n }), t.node.setAttribute(\"data:pathOrig\", h), t.attr({\n d: h\n });\n }) : (h = r.getPiePath({\n me: r,\n startAngle: p,\n angle: i,\n size: c\n }), o.isTrack || (n.globals.animationEnded = !0), t.node.setAttribute(\"data:pathOrig\", h), t.attr({\n d: h,\n \"stroke-width\": r.strokeWidth\n }));\n }\n pieClicked(t) {\n const e = this.w, s = this, i = s.sliceSizes[t] + (e.config.plotOptions.pie.expandOnClick ? 4 : 0), a = e.dom.Paper.findOne(\n `.apexcharts-${s.chartType.toLowerCase()}-slice-${t}`\n );\n if (a.attr(\"data:pieClicked\") === \"true\") {\n a.attr({\n \"data:pieClicked\": \"false\"\n }), this.revertDataLabelsInner(a.node, this.donutDataLabels);\n const l = a.attr(\"data:pathOrig\");\n a.attr({\n d: l\n });\n return;\n } else {\n const l = e.dom.baseEl.getElementsByClassName(\n \"apexcharts-pie-area\"\n );\n Array.prototype.forEach.call(l, (c) => {\n c.setAttribute(\"data:pieClicked\", \"false\");\n const h = c.getAttribute(\"data:pathOrig\");\n h && c.setAttribute(\"d\", h);\n }), e.interact.capturedDataPointIndex = t, a.attr(\"data:pieClicked\", \"true\");\n }\n const o = parseInt(a.attr(\"data:startAngle\"), 10), r = parseInt(a.attr(\"data:angle\"), 10), n = s.getPiePath({\n me: s,\n startAngle: o,\n angle: r,\n size: i\n });\n r !== 360 && a.plot(n);\n }\n getChangedPath(t, e) {\n let s = \"\";\n return this.dynamicAnim && this.w.globals.dataChanged && (s = this.getPiePath({\n me: this,\n startAngle: t,\n angle: e - t,\n size: this.size\n })), s;\n }\n getPiePath({ me: t, startAngle: e, angle: s, size: i }) {\n let a;\n const o = new P(this.w), r = e, n = Math.PI * (r - 90) / 180;\n let l = s + e;\n Math.ceil(l) >= this.fullAngle + this.w.config.plotOptions.pie.startAngle % this.fullAngle && (l = this.fullAngle + this.w.config.plotOptions.pie.startAngle % this.fullAngle - 0.01), Math.ceil(l) > this.fullAngle && (l -= this.fullAngle);\n const c = Math.PI * (l - 90) / 180, h = t.centerX + i * Math.cos(n), d = t.centerY + i * Math.sin(n), p = t.centerX + i * Math.cos(c), g = t.centerY + i * Math.sin(c), f = L.polarToCartesian(\n t.centerX,\n t.centerY,\n t.donutSize,\n l\n ), x = L.polarToCartesian(\n t.centerX,\n t.centerY,\n t.donutSize,\n r\n ), m = s > 180 ? 1 : 0, u = [\"M\", h, d, \"A\", i, i, 0, m, 1, p, g];\n return t.chartType === \"donut\" ? a = [\n ...u,\n \"L\",\n f.x,\n f.y,\n \"A\",\n t.donutSize,\n t.donutSize,\n 0,\n m,\n 0,\n x.x,\n x.y,\n \"L\",\n h,\n d,\n \"z\"\n ].join(\" \") : t.chartType === \"pie\" || t.chartType === \"polarArea\" ? a = [...u, \"L\", t.centerX, t.centerY, \"L\", h, d].join(\n \" \"\n ) : a = [...u].join(\" \"), o.roundPathCorners(a, this.strokeWidth * 2);\n }\n drawPolarElements(t) {\n const e = this.w, s = new pe(this.w), i = new P(this.w), a = new ke(this.w), o = i.group(), r = i.group(), n = s.niceScale(0, Math.ceil(this.maxY), 0), l = n.result.reverse(), c = n.result.length;\n this.maxY = n.niceMax;\n let h = e.globals.radialSize;\n const d = h / (c - 1);\n for (let p = 0; p < c - 1; p++) {\n const g = i.drawCircle(h);\n if (g.attr({\n cx: this.centerX,\n cy: this.centerY,\n fill: \"none\",\n \"stroke-width\": e.config.plotOptions.polarArea.rings.strokeWidth,\n stroke: e.config.plotOptions.polarArea.rings.strokeColor\n }), e.config.yaxis[0].show) {\n const f = a.drawYAxisTexts(\n this.centerX,\n this.centerY - h + parseInt(e.config.yaxis[0].labels.style.fontSize, 10) / 2,\n p,\n l[p]\n );\n r.add(f);\n }\n o.add(g), h = h - d;\n }\n this.drawSpokes(t), t.add(o), t.add(r);\n }\n renderInnerDataLabels(t, e, s) {\n const i = this.w, a = new P(this.w), o = e.total.show;\n t.node.innerHTML = \"\", t.node.style.opacity = s.opacity;\n const r = s.centerX, n = this.donutDataLabels.total.label ? s.centerY : s.centerY - s.centerY / 6;\n let l, c;\n e.name.color === void 0 ? l = i.globals.colors[0] : l = e.name.color;\n let h = e.name.fontSize, d = e.name.fontFamily, p = e.name.fontWeight;\n e.value.color === void 0 ? c = i.config.chart.foreColor : c = e.value.color;\n const g = e.value.formatter;\n let f = \"\", x = \"\";\n if (o ? (l = e.total.color, h = e.total.fontSize, d = e.total.fontFamily, p = e.total.fontWeight, x = this.donutDataLabels.total.label ? e.total.label : \"\", f = e.total.formatter(i)) : i.seriesData.series.length === 1 && (f = g(i.seriesData.series[0], i), x = i.seriesData.seriesNames[0]), x && (x = e.name.formatter(\n x,\n e.total.show,\n i\n )), e.name.show) {\n const m = a.drawText({\n x: r,\n y: n + parseFloat(e.name.offsetY),\n text: x,\n textAnchor: \"middle\",\n foreColor: l,\n fontSize: h,\n fontWeight: p,\n fontFamily: d\n });\n m.node.classList.add(\"apexcharts-datalabel-label\"), t.add(m);\n }\n if (e.value.show) {\n const m = e.name.show ? parseFloat(e.value.offsetY) + 16 : e.value.offsetY, u = a.drawText({\n x: r,\n y: n + m,\n text: f,\n textAnchor: \"middle\",\n foreColor: c,\n fontWeight: e.value.fontWeight,\n fontSize: e.value.fontSize,\n fontFamily: e.value.fontFamily\n });\n u.node.classList.add(\"apexcharts-datalabel-value\"), t.add(u);\n }\n return t;\n }\n /**\n *\n * @param {string} name - The name of the series\n * @param {string} val - The value of that series\n * @param {object} el - Optional el (indicates which series was hovered/clicked). If this param is not present, means we need to show total\n */\n printInnerLabels(t, e, s, i) {\n const a = this.w;\n let o;\n i ? t.name.color === void 0 ? o = a.globals.colors[parseInt(i.parentNode.getAttribute(\"rel\"), 10) - 1] : o = t.name.color : a.seriesData.series.length > 1 && t.total.show && (o = t.total.color);\n const r = a.dom.baseEl.querySelector(\n \".apexcharts-datalabel-label\"\n ), n = a.dom.baseEl.querySelector(\n \".apexcharts-datalabel-value\"\n ), l = t.value.formatter;\n s = l(s, a), !i && typeof t.total.formatter == \"function\" && (s = t.total.formatter(a));\n const c = e === t.total.label;\n e = this.donutDataLabels.total.label ? t.name.formatter(e, c, a) : \"\", r !== null && (r.textContent = e), n !== null && (n.textContent = s), r !== null && (r.style.fill = o);\n }\n printDataLabelsInner(t, e) {\n const s = this.w, i = t.getAttribute(\"data:value\"), a = s.seriesData.seriesNames[parseInt(t.parentNode.getAttribute(\"rel\"), 10) - 1];\n s.seriesData.series.length > 1 && this.printInnerLabels(e, a, i, t);\n const o = s.dom.baseEl.querySelector(\n \".apexcharts-datalabels-group\"\n );\n o !== null && (o.style.opacity = 1);\n }\n drawSpokes(t) {\n const e = this.w, s = new P(this.w), i = e.config.plotOptions.polarArea.spokes;\n if (i.strokeWidth === 0)\n return;\n const a = [], o = 360 / e.seriesData.series.length;\n for (let r = 0; r < e.seriesData.series.length; r++)\n a.push(\n L.polarToCartesian(\n this.centerX,\n this.centerY,\n e.globals.radialSize,\n e.config.plotOptions.pie.startAngle + o * r\n )\n );\n a.forEach((r, n) => {\n const l = s.drawLine(\n r.x,\n r.y,\n this.centerX,\n this.centerY,\n Array.isArray(i.connectorColors) ? i.connectorColors[n] : i.connectorColors\n );\n t.add(l);\n });\n }\n revertDataLabelsInner() {\n const t = this.w;\n if (this.donutDataLabels.show) {\n const e = t.dom.Paper.findOne(\n \".apexcharts-datalabels-group\"\n ), s = this.renderInnerDataLabels(\n e,\n this.donutDataLabels,\n {\n hollowSize: this.donutSize,\n centerX: this.centerX,\n centerY: this.centerY,\n opacity: this.donutDataLabels.show\n }\n );\n t.dom.Paper.findOne(\n \".apexcharts-radialbar, .apexcharts-pie\"\n ).add(s);\n }\n }\n}\nclass Js {\n constructor(t, e) {\n this.ctx = e, this.w = t, this.chartType = this.w.config.chart.type, this.initialAnim = this.w.config.chart.animations.enabled, this.dynamicAnim = this.initialAnim && this.w.config.chart.animations.dynamicAnimation.enabled, this.animDur = 0, this.graphics = new P(this.w), this.lineColorArr = t.globals.stroke.colors !== void 0 ? t.globals.stroke.colors : t.globals.colors, this.defaultSize = t.globals.svgHeight < t.globals.svgWidth ? t.layout.gridHeight : t.layout.gridWidth, this.isLog = t.config.yaxis[0].logarithmic, this.logBase = t.config.yaxis[0].logBase, this.coreUtils = new V(this.w), this.maxValue = this.isLog ? this.coreUtils.getLogVal(this.logBase, t.globals.maxY, 0) : t.globals.maxY, this.minValue = this.isLog ? this.coreUtils.getLogVal(this.logBase, this.w.globals.minY, 0) : t.globals.minY, this.polygons = t.config.plotOptions.radar.polygons, this.strokeWidth = t.config.stroke.show ? t.config.stroke.width : 0, this.size = this.defaultSize / 2.1 - this.strokeWidth - t.config.chart.dropShadow.blur, t.config.xaxis.labels.show && (this.size = this.size - t.layout.xAxisLabelsWidth / 1.75), t.config.plotOptions.radar.size !== void 0 && (this.size = t.config.plotOptions.radar.size), this.dataRadiusOfPercent = [], this.dataRadius = [], this.angleArr = [], this.yaxisLabelsTextsPos = [];\n }\n draw(t) {\n const e = this.w, s = new st(this.w), i = [], a = new gt(this.w, this.ctx);\n t.length && (this.dataPointsLen = t[e.globals.maxValsInArrayIndex].length), this.disAngle = Math.PI * 2 / this.dataPointsLen;\n const o = e.layout.gridWidth / 2, r = e.layout.gridHeight / 2, n = o + e.config.plotOptions.radar.offsetX, l = r + e.config.plotOptions.radar.offsetY, c = this.graphics.group({\n class: \"apexcharts-radar-series apexcharts-plot-series\",\n transform: `translate(${n || 0}, ${l || 0})`\n });\n let h = [], d = null, p = null;\n if (this.yaxisLabels = this.graphics.group({\n class: \"apexcharts-yaxis\"\n }), t.forEach((g, f) => {\n const x = g.length === e.globals.dataPoints, m = this.graphics.group().attr({\n class: \"apexcharts-series\",\n \"data:longestSeries\": x,\n seriesName: L.escapeString(e.seriesData.seriesNames[f]),\n rel: f + 1,\n \"data:realIndex\": f\n });\n this.dataRadiusOfPercent[f] = [], this.dataRadius[f] = [], this.angleArr[f] = [], g.forEach((w, v) => {\n const C = Math.abs(this.maxValue - this.minValue);\n w = w - this.minValue, this.isLog && (w = this.coreUtils.getLogVal(this.logBase, w, 0)), this.dataRadiusOfPercent[f][v] = w / C, this.dataRadius[f][v] = this.dataRadiusOfPercent[f][v] * this.size, this.angleArr[f][v] = v * this.disAngle;\n }), h = this.getDataPointsPos(\n this.dataRadius[f],\n this.angleArr[f]\n );\n const u = this.createPaths(h, {\n x: 0,\n y: 0\n });\n d = this.graphics.group({\n class: \"apexcharts-series-markers-wrap apexcharts-element-hidden\"\n }), p = this.graphics.group({\n class: \"apexcharts-datalabels\",\n \"data:realIndex\": f\n }), e.globals.delayedElements.push({\n el: d.node,\n index: f\n });\n const y = {\n i: f,\n realIndex: f,\n animationDelay: f,\n initialSpeed: e.config.chart.animations.speed,\n dataChangeSpeed: e.config.chart.animations.dynamicAnimation.speed,\n className: \"apexcharts-radar\",\n shouldClipToGrid: !1,\n bindEventsOnPaths: !1,\n stroke: e.globals.stroke.colors[f],\n strokeLineCap: e.config.stroke.lineCap\n };\n let b = null;\n e.globals.previousPaths.length > 0 && (b = this.getPreviousPath(f));\n for (let w = 0; w < u.linePathsTo.length; w++) {\n const v = this.graphics.renderPaths(O(I({}, y), {\n pathFrom: b === null ? u.linePathsFrom[w] : b,\n pathTo: u.linePathsTo[w],\n strokeWidth: Array.isArray(this.strokeWidth) ? this.strokeWidth[f] : this.strokeWidth,\n fill: \"none\",\n drawShadow: !1\n }));\n m.add(v);\n const C = s.fillPath({\n seriesNumber: f\n }), D = this.graphics.renderPaths(O(I({}, y), {\n pathFrom: b === null ? u.areaPathsFrom[w] : b,\n pathTo: u.areaPathsTo[w],\n strokeWidth: 0,\n fill: C,\n drawShadow: !1\n }));\n if (e.config.chart.dropShadow.enabled) {\n const S = new Z(this.w), k = e.config.chart.dropShadow;\n S.dropShadow(\n D,\n Object.assign({}, k, { noUserSpaceOnUse: !0 }),\n f\n );\n }\n m.add(D);\n }\n g.forEach((w, v) => {\n const D = new xt(this.w, this.ctx).getMarkerConfig({\n cssClass: \"apexcharts-marker\",\n seriesIndex: f,\n dataPointIndex: v\n }), S = this.graphics.drawMarker(\n h[v].x,\n h[v].y,\n D\n );\n S.attr(\"rel\", v), S.attr(\"j\", v), S.attr(\"index\", f), S.node.setAttribute(\"default-marker-size\", D.pSize);\n const k = this.graphics.group({\n class: \"apexcharts-series-markers\"\n });\n k && k.add(S), d.add(k), m.add(d);\n const F = e.config.dataLabels;\n if (F.enabled) {\n const T = F.formatter(e.seriesData.series[f][v], {\n seriesIndex: f,\n dataPointIndex: v,\n w: e\n });\n a.plotDataLabelsText({\n x: h[v].x,\n y: h[v].y,\n text: T,\n textAnchor: \"middle\",\n i: f,\n j: f,\n parent: p,\n offsetCorrection: !1,\n dataLabelsConfig: I({}, F)\n });\n }\n m.add(p);\n }), i.push(m);\n }), this.drawPolygons({\n parent: c\n }), e.config.xaxis.labels.show) {\n const g = this.drawXAxisTexts();\n c.add(g);\n }\n return i.forEach((g) => {\n c.add(g);\n }), c.add(this.yaxisLabels), c;\n }\n drawPolygons(t) {\n const e = this.w, { parent: s } = t, i = new ke(this.w), a = e.globals.yAxisScale[0].result.reverse(), o = a.length, r = [], n = this.size / (o - 1);\n for (let h = 0; h < o; h++)\n r[h] = n * h;\n r.reverse();\n const l = [], c = [];\n r.forEach((h, d) => {\n const p = L.getPolygonPos(h, this.dataPointsLen);\n let g = \"\";\n p.forEach((f, x) => {\n if (d === 0) {\n const m = this.graphics.drawLine(\n f.x,\n f.y,\n 0,\n 0,\n Array.isArray(this.polygons.connectorColors) ? this.polygons.connectorColors[x] : this.polygons.connectorColors\n );\n c.push(m);\n }\n x === 0 && this.yaxisLabelsTextsPos.push({\n x: f.x,\n y: f.y\n }), g += f.x + \",\" + f.y + \" \";\n }), l.push(g);\n }), l.forEach((h, d) => {\n const p = this.polygons.strokeColors, g = this.polygons.strokeWidth, f = this.graphics.drawPolygon(\n h,\n Array.isArray(p) ? p[d] : p,\n Array.isArray(g) ? g[d] : g,\n e.globals.radarPolygons.fill.colors[d]\n );\n s.add(f);\n }), c.forEach((h) => {\n s.add(h);\n }), e.config.yaxis[0].show && this.yaxisLabelsTextsPos.forEach((h, d) => {\n const p = i.drawYAxisTexts(h.x, h.y, d, a[d]);\n this.yaxisLabels.add(p);\n });\n }\n drawXAxisTexts() {\n const t = this.w, e = t.config.xaxis.labels, s = this.graphics.group({\n class: \"apexcharts-xaxis\"\n }), i = L.getPolygonPos(this.size, this.dataPointsLen);\n return t.labelData.labels.forEach((a, o) => {\n const r = t.config.xaxis.labels.formatter, n = new gt(this.w, this.ctx);\n if (i[o]) {\n const l = this.getTextPos(i[o], this.size), c = r(a, {\n seriesIndex: -1,\n dataPointIndex: o,\n w: t\n });\n n.plotDataLabelsText({\n x: l.newX,\n y: l.newY,\n text: c,\n textAnchor: l.textAnchor,\n i: o,\n j: o,\n parent: s,\n className: \"apexcharts-xaxis-label\",\n color: Array.isArray(e.style.colors) && e.style.colors[o] ? e.style.colors[o] : \"#a8a8a8\",\n dataLabelsConfig: I({\n textAnchor: l.textAnchor,\n dropShadow: { enabled: !1 }\n }, e),\n offsetCorrection: !1\n }).on(\"click\", (d) => {\n if (typeof t.config.chart.events.xAxisLabelClick == \"function\") {\n const p = Object.assign({}, t, {\n labelIndex: o\n });\n t.config.chart.events.xAxisLabelClick(d, this.ctx, p);\n }\n });\n }\n }), s;\n }\n createPaths(t, e) {\n const s = [];\n let i = [];\n const a = [];\n let o = [];\n if (t.length) {\n i = [this.graphics.move(e.x, e.y)], o = [this.graphics.move(e.x, e.y)];\n let r = this.graphics.move(t[0].x, t[0].y), n = this.graphics.move(t[0].x, t[0].y);\n t.forEach((l, c) => {\n r += this.graphics.line(l.x, l.y), n += this.graphics.line(l.x, l.y), c === t.length - 1 && (r += \"Z\", n += \"Z\");\n }), s.push(r), a.push(n);\n }\n return {\n linePathsFrom: i,\n linePathsTo: s,\n areaPathsFrom: o,\n areaPathsTo: a\n };\n }\n getTextPos(t, e) {\n let i = \"middle\", a = t.x, o = t.y;\n return Math.abs(t.x) >= 10 ? t.x > 0 ? (i = \"start\", a += 10) : t.x < 0 && (i = \"end\", a -= 10) : i = \"middle\", Math.abs(t.y) >= e - 10 && (t.y < 0 ? o -= 10 : t.y > 0 && (o += 10)), {\n textAnchor: i,\n newX: a,\n newY: o\n };\n }\n getPreviousPath(t) {\n const e = this.w;\n let s = null;\n for (let i = 0; i < e.globals.previousPaths.length; i++) {\n const a = e.globals.previousPaths[i];\n a.paths.length > 0 && parseInt(a.realIndex, 10) === parseInt(t, 10) && typeof e.globals.previousPaths[i].paths[0] < \"u\" && (s = e.globals.previousPaths[i].paths[0].d);\n }\n return s;\n }\n getDataPointsPos(t, e, s = this.dataPointsLen) {\n t = t || [], e = e || [];\n const i = [];\n for (let a = 0; a < s; a++) {\n const o = {};\n o.x = t[a] * Math.sin(e[a]), o.y = -t[a] * Math.cos(e[a]), i.push(o);\n }\n return i;\n }\n}\nclass Qs extends kt {\n constructor(t, e) {\n super(t, e), this.ctx = e, this.w = t, this.animBeginArr = [0], this.animDur = 0, this.startAngle = t.config.plotOptions.radialBar.startAngle, this.endAngle = t.config.plotOptions.radialBar.endAngle, this.totalAngle = Math.abs(\n t.config.plotOptions.radialBar.endAngle - t.config.plotOptions.radialBar.startAngle\n ), this.trackStartAngle = t.config.plotOptions.radialBar.track.startAngle, this.trackEndAngle = t.config.plotOptions.radialBar.track.endAngle, this.barLabels = this.w.config.plotOptions.radialBar.barLabels, this.donutDataLabels = this.w.config.plotOptions.radialBar.dataLabels, this.radialDataLabels = this.donutDataLabels, this.trackStartAngle || (this.trackStartAngle = this.startAngle), this.trackEndAngle || (this.trackEndAngle = this.endAngle), this.endAngle === 360 && (this.endAngle = 359.99), this.margin = parseInt(t.config.plotOptions.radialBar.track.margin, 10), this.onBarLabelClick = this.onBarLabelClick.bind(this);\n }\n draw(t) {\n const e = this.w, s = new P(this.w), i = s.group({\n class: \"apexcharts-radialbar\"\n });\n if (e.globals.noData)\n return i;\n const a = s.group(), o = this.defaultSize / 2, r = e.layout.gridWidth / 2;\n let n = this.defaultSize / 2.05;\n e.config.chart.sparkline.enabled || (n = n - e.config.stroke.width - e.config.chart.dropShadow.blur);\n const l = e.globals.fill.colors;\n if (e.config.plotOptions.radialBar.track.show) {\n const p = this.drawTracks({\n size: n,\n centerX: r,\n centerY: o,\n colorArr: l,\n series: t\n });\n a.add(p);\n }\n const c = this.drawArcs({\n size: n,\n centerX: r,\n centerY: o,\n colorArr: l,\n series: t\n });\n let h = 360;\n e.config.plotOptions.radialBar.startAngle < 0 && (h = this.totalAngle);\n const d = (360 - h) / 360;\n if (e.globals.radialSize = n - n * d, this.radialDataLabels.value.show) {\n const p = Math.max(\n this.radialDataLabels.value.offsetY,\n this.radialDataLabels.name.offsetY\n );\n e.globals.radialSize += p * d;\n }\n return a.add(c.g), e.config.plotOptions.radialBar.hollow.position === \"front\" && (c.g.add(c.elHollow), c.dataLabels && c.g.add(c.dataLabels)), i.add(a), i;\n }\n drawTracks(t) {\n const e = this.w, s = new P(this.w), i = s.group({\n class: \"apexcharts-tracks\"\n }), a = new Z(this.w), o = new st(this.w), r = this.getStrokeWidth(t);\n t.size = t.size - r / 2;\n for (let n = 0; n < t.series.length; n++) {\n const l = s.group({\n class: \"apexcharts-radialbar-track apexcharts-track\"\n });\n i.add(l), l.attr({\n rel: n + 1\n }), t.size = t.size - r - this.margin;\n const c = e.config.plotOptions.radialBar.track, h = o.fillPath({\n seriesNumber: 0,\n size: t.size,\n fillColors: Array.isArray(c.background) ? c.background[n] : c.background,\n solid: !0\n }), d = this.trackStartAngle;\n let p = this.trackEndAngle;\n Math.abs(p) + Math.abs(d) >= 360 && (p = 360 - Math.abs(this.startAngle) - 0.1);\n const g = s.drawPath({\n d: \"\",\n stroke: h,\n strokeWidth: r * parseInt(c.strokeWidth, 10) / 100,\n fill: \"none\",\n strokeOpacity: c.opacity,\n classes: \"apexcharts-radialbar-area\"\n });\n if (c.dropShadow.enabled) {\n const f = c.dropShadow;\n a.dropShadow(g, f);\n }\n l.add(g), g.attr(\"id\", \"apexcharts-radialbarTrack-\" + n), this.animatePaths(g, {\n centerX: t.centerX,\n centerY: t.centerY,\n endAngle: p,\n startAngle: d,\n size: t.size,\n i: n,\n totalItems: 2,\n animBeginArr: 0,\n dur: 0,\n isTrack: !0\n });\n }\n return i;\n }\n drawArcs(t) {\n const e = this.w, s = new P(this.w), i = new st(this.w), a = new Z(this.w), o = s.group(), r = this.getStrokeWidth(t);\n t.size = t.size - r / 2;\n let n = e.config.plotOptions.radialBar.hollow.background;\n const l = t.size - r * t.series.length - this.margin * t.series.length - r * parseInt(e.config.plotOptions.radialBar.track.strokeWidth, 10) / 100 / 2, c = l - e.config.plotOptions.radialBar.hollow.margin;\n e.config.plotOptions.radialBar.hollow.image !== void 0 && (n = this.drawHollowImage(t, o, l, n));\n const h = this.drawHollow({\n size: c,\n centerX: t.centerX,\n centerY: t.centerY,\n fill: n || \"transparent\"\n });\n if (e.config.plotOptions.radialBar.hollow.dropShadow.enabled) {\n const f = e.config.plotOptions.radialBar.hollow.dropShadow;\n a.dropShadow(h, f);\n }\n let d = 1;\n !this.radialDataLabels.total.show && e.seriesData.series.length > 1 && (d = 0);\n let p = null;\n if (this.radialDataLabels.show) {\n const f = e.dom.Paper.findOne(\n \".apexcharts-datalabels-group\"\n );\n p = this.renderInnerDataLabels(\n f,\n this.radialDataLabels,\n {\n hollowSize: l,\n centerX: t.centerX,\n centerY: t.centerY,\n opacity: d\n }\n );\n }\n e.config.plotOptions.radialBar.hollow.position === \"back\" && (o.add(h), p && o.add(p));\n let g = !1;\n e.config.plotOptions.radialBar.inverseOrder && (g = !0);\n for (let f = g ? t.series.length - 1 : 0; g ? f >= 0 : f < t.series.length; g ? f-- : f++) {\n const x = s.group({\n class: \"apexcharts-series apexcharts-radial-series\",\n seriesName: L.escapeString(e.seriesData.seriesNames[f])\n });\n o.add(x), x.attr({\n rel: f + 1,\n \"data:realIndex\": f\n }), U.addCollapsedClassToSeries(this.w, x, f), t.size = t.size - r - this.margin;\n const m = i.fillPath({\n seriesNumber: f,\n size: t.size,\n value: t.series[f]\n }), u = this.startAngle;\n let y;\n const b = L.negToZero(t.series[f] > 100 ? 100 : t.series[f]) / 100;\n let w = Math.round(this.totalAngle * b) + this.startAngle, v;\n e.globals.dataChanged && (y = this.startAngle, v = Math.round(\n this.totalAngle * L.negToZero(e.globals.previousPaths[f]) / 100\n ) + y), Math.abs(w) + Math.abs(u) > 360 && (w = w - 0.01), Math.abs(v) + Math.abs(y) > 360 && (v = v - 0.01);\n const S = w - u, k = Array.isArray(e.config.stroke.dashArray) ? e.config.stroke.dashArray[f] : e.config.stroke.dashArray, F = s.drawPath({\n d: \"\",\n stroke: m,\n strokeWidth: r,\n fill: \"none\",\n fillOpacity: e.config.fill.opacity,\n classes: \"apexcharts-radialbar-area apexcharts-radialbar-slice-\" + f,\n strokeDashArray: k\n }), T = u + S / 2, M = L.polarToCartesian(\n t.centerX,\n t.centerY,\n t.size,\n T\n );\n if (P.setAttrs(F.node, {\n \"data:angle\": S,\n \"data:value\": t.series[f],\n \"data:cx\": M.x,\n \"data:cy\": M.y\n }), e.config.chart.dropShadow.enabled) {\n const X = e.config.chart.dropShadow;\n a.dropShadow(F, X, f);\n }\n if (a.setSelectionFilter(F, 0, f), this.addListeners(F, this.radialDataLabels), x.add(F), F.attr({\n index: 0,\n j: f\n }), this.barLabels.enabled) {\n const X = L.polarToCartesian(\n t.centerX,\n t.centerY,\n t.size,\n u\n ), R = this.barLabels.formatter(e.seriesData.seriesNames[f], {\n seriesIndex: f,\n w: e\n }), Y = [\"apexcharts-radialbar-label\"];\n this.barLabels.onClick || Y.push(\"apexcharts-no-click\");\n let z = this.barLabels.useSeriesColors ? e.globals.colors[f] : e.config.chart.foreColor;\n z || (z = e.config.chart.foreColor);\n const H = X.x + this.barLabels.offsetX, _ = X.y + this.barLabels.offsetY, $ = s.drawText({\n x: H,\n y: _,\n text: R,\n textAnchor: \"end\",\n dominantBaseline: \"middle\",\n fontFamily: this.barLabels.fontFamily,\n fontWeight: this.barLabels.fontWeight,\n fontSize: this.barLabels.fontSize,\n foreColor: z,\n cssClass: Y.join(\" \")\n });\n $.on(\"click\", this.onBarLabelClick), $.attr({\n rel: f + 1\n }), u !== 0 && $.attr({\n \"transform-origin\": `${H} ${_}`,\n transform: `rotate(${u} 0 0)`\n }), x.add($);\n }\n let E = 0;\n this.initialAnim && !e.globals.resized && !e.globals.dataChanged && (E = e.config.chart.animations.speed), e.globals.dataChanged && (E = e.config.chart.animations.dynamicAnimation.speed), this.animDur = E / (t.series.length * 1.2) + this.animDur, this.animBeginArr.push(this.animDur), this.animatePaths(F, {\n centerX: t.centerX,\n centerY: t.centerY,\n endAngle: w,\n startAngle: u,\n prevEndAngle: v,\n prevStartAngle: y,\n size: t.size,\n i: f,\n totalItems: 2,\n animBeginArr: this.animBeginArr,\n dur: E,\n shouldSetPrevPaths: !0\n });\n }\n return {\n g: o,\n elHollow: h,\n dataLabels: p\n };\n }\n drawHollow(t) {\n const s = new P(this.w).drawCircle(t.size * 2);\n return s.attr({\n class: \"apexcharts-radialbar-hollow\",\n cx: t.centerX,\n cy: t.centerY,\n r: t.size,\n fill: t.fill\n }), s;\n }\n drawHollowImage(t, e, s, i) {\n const a = this.w, o = new st(this.w), r = L.randomId(), n = a.config.plotOptions.radialBar.hollow.image;\n if (a.config.plotOptions.radialBar.hollow.imageClipped)\n o.clippedImgArea({\n width: s,\n height: s,\n image: n,\n patternID: `pattern${a.globals.cuid}${r}`\n }), i = `url(#pattern${a.globals.cuid}${r})`;\n else {\n const l = a.config.plotOptions.radialBar.hollow.imageWidth, c = a.config.plotOptions.radialBar.hollow.imageHeight;\n if (l === void 0 && c === void 0) {\n const h = a.dom.Paper.image(n, function(d) {\n this.move(\n t.centerX - d.width / 2 + a.config.plotOptions.radialBar.hollow.imageOffsetX,\n t.centerY - d.height / 2 + a.config.plotOptions.radialBar.hollow.imageOffsetY\n );\n });\n e.add(h);\n } else {\n const h = a.dom.Paper.image(n, function() {\n this.move(\n t.centerX - l / 2 + a.config.plotOptions.radialBar.hollow.imageOffsetX,\n t.centerY - c / 2 + a.config.plotOptions.radialBar.hollow.imageOffsetY\n ), this.size(l, c);\n });\n e.add(h);\n }\n }\n return i;\n }\n getStrokeWidth(t) {\n const e = this.w;\n return t.size * (100 - parseInt(e.config.plotOptions.radialBar.hollow.size, 10)) / 100 / (t.series.length + 1) - this.margin;\n }\n onBarLabelClick(t) {\n const e = parseInt(t.target.getAttribute(\"rel\"), 10) - 1, s = this.barLabels.onClick, i = this.w;\n s && s(i.seriesData.seriesNames[e], { w: i, seriesIndex: e });\n }\n}\nclass ti extends ft {\n draw(t, e) {\n const s = this.w, i = new P(this.w);\n this.rangeBarOptions = this.w.config.plotOptions.rangeBar, this.series = t, this.seriesRangeStart = s.rangeData.seriesRangeStart, this.seriesRangeEnd = s.rangeData.seriesRangeEnd, this.barHelpers.initVariables(t);\n const a = i.group({\n class: \"apexcharts-rangebar-series apexcharts-plot-series\"\n });\n for (let o = 0; o < t.length; o++) {\n let r, n;\n const l = s.globals.comboCharts ? e[o] : o, { columnGroupIndex: c } = this.barHelpers.getGroupIndex(l), h = i.group({\n class: \"apexcharts-series\",\n seriesName: L.escapeString(s.seriesData.seriesNames[l]),\n rel: o + 1,\n \"data:realIndex\": l\n });\n U.addCollapsedClassToSeries(this.w, h, l), t[o].length > 0 && (this.visibleI = this.visibleI + 1);\n let d = 0;\n this.yRatio.length > 1 && (this.yaxisIndex = s.globals.seriesYAxisReverseMap[l][0], d = l);\n const p = this.barHelpers.initialPositions(l), {\n y: g,\n zeroW: f,\n // zeroW is the baseline where 0 meets x axis\n x,\n xDivision: m,\n // xDivision is the GRIDWIDTH divided by number of datapoints (columns)\n yDivision: u,\n // yDivision is the GRIDHEIGHT divided by number of datapoints (bars)\n zeroH: y\n // zeroH is the baseline where 0 meets y axis\n } = p;\n let b = p.barWidth, w = p.barHeight;\n n = g, r = x;\n const v = i.group({\n class: \"apexcharts-datalabels\",\n \"data:realIndex\": l\n }), C = i.group({\n class: \"apexcharts-rangebar-goals-markers\"\n });\n for (let D = 0; D < s.globals.dataPoints; D++) {\n const S = this.barHelpers.getStrokeWidth(o, D, l), k = this.seriesRangeStart[o][D], F = this.seriesRangeEnd[o][D];\n let T = null, M = null, E = null;\n const X = { x: r, y: n, strokeWidth: S, elSeries: h };\n let R = this.seriesLen;\n if (s.config.plotOptions.bar.rangeBarGroupRows && (R = 1), typeof s.config.series[o].data[D] > \"u\")\n break;\n if (this.isHorizontal) {\n E = n + w * this.visibleI;\n const H = (u - w * R) / 2;\n if (s.config.series[o].data[D].x) {\n const _ = this.detectOverlappingBars({\n i: o,\n j: D,\n barYPosition: E,\n srty: H,\n barHeight: w,\n yDivision: u,\n initPositions: p\n });\n w = _.barHeight, E = _.barYPosition;\n }\n T = this.drawRangeBarPaths(I({\n indexes: { i: o, j: D, realIndex: l },\n barHeight: w,\n barYPosition: E,\n zeroW: f,\n yDivision: u,\n y1: k,\n y2: F\n }, X)), b = T.barWidth;\n } else {\n s.axisFlags.isXNumeric && (r = (s.seriesData.seriesX[o][D] - s.globals.minX) / this.xRatio - b / 2), M = r + b * this.visibleI;\n const H = (m - b * R) / 2;\n if (s.config.series[o].data[D].x) {\n const _ = this.detectOverlappingBars({\n i: o,\n j: D,\n barXPosition: M,\n srtx: H,\n barWidth: b,\n xDivision: m,\n initPositions: p\n });\n b = _.barWidth, M = _.barXPosition;\n }\n T = this.drawRangeColumnPaths(I({\n indexes: { i: o, j: D, realIndex: l, translationsIndex: d },\n barWidth: b,\n barXPosition: M,\n zeroH: y,\n xDivision: m\n }, X)), w = T.barHeight;\n }\n const Y = this.barHelpers.drawGoalLine({\n barXPosition: T.barXPosition,\n barYPosition: E,\n goalX: T.goalX,\n goalY: T.goalY,\n barHeight: w,\n barWidth: b\n });\n Y && C.add(Y), n = T.y, r = T.x;\n const z = this.barHelpers.getPathFillColor(t, o, D, l);\n this.renderSeries({\n realIndex: l,\n pathFill: z.color,\n lineFill: z.useRangeColor ? z.color : s.globals.stroke.colors[l],\n j: D,\n i: o,\n x: r,\n y: n,\n y1: k,\n y2: F,\n pathFrom: T.pathFrom,\n pathTo: T.pathTo,\n strokeWidth: S,\n elSeries: h,\n series: t,\n barHeight: w,\n barWidth: b,\n barXPosition: M,\n barYPosition: E,\n columnGroupIndex: c,\n elDataLabelsWrap: v,\n elGoalsMarkers: C,\n visibleSeries: this.visibleI,\n type: \"rangebar\"\n });\n }\n a.add(h);\n }\n return a;\n }\n detectOverlappingBars({\n i: t,\n j: e,\n barYPosition: s,\n barXPosition: i,\n srty: a,\n srtx: o,\n barHeight: r,\n barWidth: n,\n yDivision: l,\n xDivision: c,\n initPositions: h\n }) {\n const d = this.w;\n let p = [];\n const g = d.config.series[t].data[e].rangeName, f = d.config.series[t].data[e].x, x = Array.isArray(f) ? f.join(\" \") : f, m = d.labelData.labels.map((y) => Array.isArray(y) ? y.join(\" \") : y).indexOf(x), u = d.rangeData.seriesRange[t].findIndex(\n (y) => y.x === x && y.overlaps.length > 0\n );\n return this.isHorizontal ? (d.config.plotOptions.bar.rangeBarGroupRows ? s = a + l * m : s = a + r * this.visibleI + l * m, u > -1 && !d.config.plotOptions.bar.rangeBarOverlap && (p = d.rangeData.seriesRange[t][u].overlaps, p.indexOf(g) > -1 && (r = h.barHeight / p.length, s = r * this.visibleI + l * (100 - parseInt(this.barOptions.barHeight, 10)) / 100 / 2 + r * (this.visibleI + p.indexOf(g)) + l * m))) : (m > -1 && !d.labelData.timescaleLabels.length && (d.config.plotOptions.bar.rangeBarGroupRows ? i = o + c * m : i = o + n * this.visibleI + c * m), u > -1 && !d.config.plotOptions.bar.rangeBarOverlap && (p = d.rangeData.seriesRange[t][u].overlaps, p.indexOf(g) > -1 && (n = h.barWidth / p.length, i = n * this.visibleI + c * (100 - parseInt(this.barOptions.barWidth, 10)) / 100 / 2 + n * (this.visibleI + p.indexOf(g)) + c * m))), {\n barYPosition: s,\n barXPosition: i,\n barHeight: r,\n barWidth: n\n };\n }\n drawRangeColumnPaths({\n indexes: t,\n x: e,\n xDivision: s,\n barWidth: i,\n barXPosition: a,\n zeroH: o\n }) {\n const r = this.w, { i: n, j: l, realIndex: c, translationsIndex: h } = t, d = this.yRatio[h], p = this.getRangeValue(c, l);\n let g = Math.min(p.start, p.end), f = Math.max(p.start, p.end);\n typeof this.series[n][l] > \"u\" || this.series[n][l] === null ? g = o : (g = o - g / d, f = o - f / d);\n const x = Math.abs(f - g), m = this.barHelpers.getColumnPaths({\n barXPosition: a,\n barWidth: i,\n y1: g,\n y2: f,\n strokeWidth: this.strokeWidth,\n series: this.seriesRangeEnd,\n realIndex: c,\n i: c,\n j: l,\n w: r\n });\n if (!r.axisFlags.isXNumeric)\n e = e + s;\n else {\n const u = this.getBarXForNumericXAxis({\n x: e,\n j: l,\n realIndex: c,\n barWidth: i\n });\n e = u.x, a = u.barXPosition;\n }\n return {\n pathTo: m.pathTo,\n pathFrom: m.pathFrom,\n barHeight: x,\n x: e,\n y: p.start < 0 && p.end < 0 ? g : f,\n goalY: this.barHelpers.getGoalValues(\n \"y\",\n null,\n o,\n n,\n l,\n h\n ),\n barXPosition: a\n };\n }\n preventBarOverflow(t) {\n const e = this.w;\n return t < 0 && (t = 0), t > e.layout.gridWidth && (t = e.layout.gridWidth), t;\n }\n drawRangeBarPaths({\n indexes: t,\n y: e,\n y1: s,\n y2: i,\n yDivision: a,\n barHeight: o,\n barYPosition: r,\n zeroW: n\n }) {\n const l = this.w, { realIndex: c, j: h } = t, d = this.preventBarOverflow(n + s / this.invertedYRatio), p = this.preventBarOverflow(n + i / this.invertedYRatio), g = this.getRangeValue(c, h), f = Math.abs(p - d), x = this.barHelpers.getBarpaths({\n barYPosition: r,\n barHeight: o,\n x1: d,\n x2: p,\n strokeWidth: this.strokeWidth,\n series: this.seriesRangeEnd,\n i: c,\n realIndex: c,\n j: h,\n w: l\n });\n return l.axisFlags.isXNumeric || (e = e + a), {\n pathTo: x.pathTo,\n pathFrom: x.pathFrom,\n barWidth: f,\n x: g.start < 0 && g.end < 0 ? d : p,\n goalX: this.barHelpers.getGoalValues(\"x\", n, null, c, h),\n y: e\n };\n }\n getRangeValue(t, e) {\n const s = this.w;\n return {\n start: s.rangeData.seriesRangeStart[t][e],\n end: s.rangeData.seriesRangeEnd[t][e]\n };\n }\n}\nfunction ae(A, t) {\n let e = 0;\n for (let a = 0; a < A.length; a++)\n e += A[a];\n const s = t / e, i = new Array(A.length);\n for (let a = 0; a < A.length; a++)\n i[a] = A[a] * s;\n return i;\n}\nfunction oe(A, t, e, s) {\n const i = s * s, a = e * e;\n return Math.max(\n i * t / a,\n a / (i * A)\n );\n}\nfunction ei(A, t, e, s, i, a) {\n if (A === 0)\n return !0;\n const o = oe(t, e, s, a), r = oe(\n Math.min(t, i),\n Math.max(e, i),\n s + i,\n a\n );\n return o >= r;\n}\nfunction re(A, t, e, s, i, a, o, r) {\n if (o >= r) {\n const n = s / r;\n let l = a;\n for (let c = 0; c < e; c++) {\n const h = t[c] / n;\n A.push([i, l, i + n, l + h]), l += h;\n }\n } else {\n const n = s / o;\n let l = i;\n for (let c = 0; c < e; c++) {\n const h = t[c] / n;\n A.push([l, a, l + h, a + n]), l += h;\n }\n }\n}\nfunction ne(A, t, e, s, i) {\n const a = [], o = A.length;\n if (o === 0)\n return a;\n const r = new Array(o);\n let n = 0, l = 0, c = 1 / 0, h = -1 / 0, d = 0;\n for (; d < o; ) {\n const p = Math.min(s, i), g = A[d];\n if (ei(n, c, h, l, g, p))\n r[n] = g, n++, l += g, g < c && (c = g), g > h && (h = g), d++;\n else {\n if (re(a, r, n, l, t, e, s, i), s >= i) {\n const f = l / i;\n t += f, s -= f;\n } else {\n const f = l / s;\n e += f, i -= f;\n }\n n = 0, l = 0, c = 1 / 0, h = -1 / 0;\n }\n }\n return n > 0 && re(a, r, n, l, t, e, s, i), a;\n}\nfunction si(A, t, e) {\n const s = A.length, i = new Array(s);\n for (let r = 0; r < s; r++) {\n let n = 0;\n const l = A[r];\n for (let c = 0; c < l.length; c++)\n n += l[c];\n i[r] = n;\n }\n const a = ne(\n ae(i, t * e),\n 0,\n 0,\n t,\n e\n ), o = new Array(s);\n for (let r = 0; r < s; r++) {\n const n = a[r], l = n[0], c = n[1], h = n[2] - l, d = n[3] - c;\n o[r] = ne(\n ae(A[r], h * d),\n l,\n c,\n h,\n d\n );\n }\n return o;\n}\nconst ii = { generate: si };\nclass ai {\n constructor(t, e) {\n this.ctx = e, this.w = t, this.strokeWidth = this.w.config.stroke.width, this.helpers = new Se(t, e), this.dynamicAnim = this.w.config.chart.animations.dynamicAnimation, this.labels = [];\n }\n draw(t) {\n const e = this.w, s = new P(this.w, this.ctx), i = new st(this.w), a = s.group({\n class: \"apexcharts-treemap\"\n });\n if (e.globals.noData)\n return a;\n const o = [];\n return t.forEach((n) => {\n const l = n.map((c) => Math.abs(c));\n o.push(l);\n }), this.negRange = this.helpers.checkColorRange(), e.config.series.forEach((n, l) => {\n n.data.forEach((c) => {\n Array.isArray(this.labels[l]) || (this.labels[l] = []), this.labels[l].push(c.x);\n });\n }), ii.generate(\n o,\n e.layout.gridWidth,\n e.layout.gridHeight\n ).forEach((n, l) => {\n const c = s.group({\n class: \"apexcharts-series apexcharts-treemap-series\",\n seriesName: L.escapeString(e.seriesData.seriesNames[l]),\n rel: l + 1,\n \"data:realIndex\": l\n });\n if (s.setupEventDelegation(c, \".apexcharts-treemap-rect\"), e.config.chart.dropShadow.enabled) {\n const g = e.config.chart.dropShadow;\n new Z(this.w).dropShadow(a, g, l);\n }\n const h = s.group({\n class: \"apexcharts-data-labels\"\n }), d = {\n xMin: 1 / 0,\n yMin: 1 / 0,\n xMax: -1 / 0,\n yMax: -1 / 0\n };\n n.forEach((g, f) => {\n const x = g[0], m = g[1], u = g[2], y = g[3];\n d.xMin = Math.min(d.xMin, x), d.yMin = Math.min(d.yMin, m), d.xMax = Math.max(d.xMax, u), d.yMax = Math.max(d.yMax, y);\n const b = this.helpers.getShadeColor(\n e.config.chart.type,\n l,\n f,\n this.negRange\n ), w = b.color, v = i.fillPath({\n color: w,\n seriesNumber: l,\n dataPointIndex: f\n }), C = s.drawRect(\n x,\n m,\n u - x,\n y - m,\n e.config.plotOptions.treemap.borderRadius,\n \"#fff\",\n 1,\n this.strokeWidth,\n e.config.plotOptions.treemap.useFillColorAsStroke ? w : e.globals.stroke.colors[l]\n );\n C.attr({\n cx: x,\n cy: m,\n index: l,\n i: l,\n j: f,\n width: u - x,\n height: y - m,\n fill: v\n }), C.node.classList.add(\"apexcharts-treemap-rect\");\n let D = {\n x: x + (u - x) / 2,\n y: m + (y - m) / 2,\n width: 0,\n height: 0\n };\n const S = {\n x,\n y: m,\n width: u - x,\n height: y - m\n };\n if (e.config.chart.animations.enabled && !e.globals.dataChanged) {\n let M = 1;\n e.globals.resized || (M = e.config.chart.animations.speed), this.animateTreemap(C, D, S, M);\n }\n if (e.globals.dataChanged) {\n let M = 1;\n this.dynamicAnim.enabled && e.globals.shouldAnimate && (M = this.dynamicAnim.speed, e.globals.previousPaths[l] && e.globals.previousPaths[l][f] && e.globals.previousPaths[l][f].rect && (D = e.globals.previousPaths[l][f].rect), this.animateTreemap(C, D, S, M));\n }\n let k = this.getFontSize(g), F = e.config.dataLabels.formatter(this.labels[l][f], {\n value: e.seriesData.series[l][f],\n seriesIndex: l,\n dataPointIndex: f,\n w: e\n });\n e.config.plotOptions.treemap.dataLabels.format === \"truncate\" && (k = parseInt(e.config.dataLabels.style.fontSize, 10), F = this.truncateLabels(\n F,\n k,\n x,\n m,\n u,\n y\n ));\n let T = null;\n e.seriesData.series[l][f] && (T = this.helpers.calculateDataLabels({\n text: F,\n x: (x + u) / 2,\n y: (m + y) / 2 + this.strokeWidth / 2 + k / 3,\n i: l,\n j: f,\n colorProps: b,\n fontSize: k,\n series: t\n })), e.config.dataLabels.enabled && T && this.rotateToFitLabel(\n T,\n k,\n F,\n x,\n m,\n u,\n y\n ), c.add(C), T !== null && c.add(T);\n });\n const p = e.config.plotOptions.treemap.seriesTitle;\n if (e.config.series.length > 1 && p && p.show) {\n const g = e.config.series[l].name || \"\";\n if (g && d.xMin < 1 / 0 && d.yMin < 1 / 0) {\n const {\n offsetX: f,\n offsetY: x,\n borderColor: m,\n borderWidth: u,\n borderRadius: y,\n style: b\n } = p, w = b.color || e.config.chart.foreColor, v = {\n left: b.padding.left,\n right: b.padding.right,\n top: b.padding.top,\n bottom: b.padding.bottom\n }, C = s.getTextRects(\n g,\n b.fontSize,\n b.fontFamily\n ), D = C.width + v.left + v.right, S = C.height + v.top + v.bottom, k = d.xMin + (f || 0), F = d.yMin + (x || 0), T = s.drawRect(\n k,\n F,\n D,\n S,\n y,\n b.background,\n 1,\n u,\n m\n ), M = s.drawText({\n x: k + v.left,\n y: F + v.top + C.height * 0.75,\n text: g,\n fontSize: b.fontSize,\n fontFamily: b.fontFamily,\n fontWeight: b.fontWeight,\n foreColor: w,\n cssClass: b.cssClass || \"\"\n });\n c.add(T), c.add(M);\n }\n }\n c.add(h), a.add(c);\n }), a;\n }\n // This calculates a font-size based upon\n // average label length and the size of the box\n getFontSize(t) {\n const e = this.w;\n function s(r) {\n let n, l = 0;\n if (Array.isArray(r[0]))\n for (n = 0; n < r.length; n++)\n l += s(r[n]);\n else\n for (n = 0; n < r.length; n++)\n l += r[n].length;\n return l;\n }\n function i(r) {\n let n, l = 0;\n if (Array.isArray(r[0]))\n for (n = 0; n < r.length; n++)\n l += i(r[n]);\n else\n for (n = 0; n < r.length; n++)\n l += 1;\n return l;\n }\n const a = s(this.labels) / i(this.labels);\n function o(r, n) {\n const l = r * n, c = Math.pow(l, 0.5);\n return Math.min(\n c / a,\n parseInt(e.config.dataLabels.style.fontSize, 10)\n );\n }\n return o(\n t[2] - t[0],\n t[3] - t[1]\n );\n }\n rotateToFitLabel(t, e, s, i, a, o, r) {\n const n = new P(this.w), l = n.getTextRects(s, e);\n if (l.width + this.w.config.stroke.width + 5 > o - i && l.width <= r - a) {\n const c = n.rotateAroundCenter(t.node);\n t.node.setAttribute(\n \"transform\",\n `rotate(-90 ${c.x} ${c.y}) translate(${l.height / 3})`\n );\n }\n }\n // This is an alternative label formatting method that uses a\n // consistent font size, and trims the edge of long labels\n truncateLabels(t, e, s, i, a, o) {\n const r = new P(this.w), l = r.getTextRects(t, e).width + this.w.config.stroke.width + 5 > a - s && o - i > a - s ? o - i : a - s, c = r.getTextBasedOnMaxWidth({\n text: t,\n maxWidth: l,\n fontSize: e\n });\n return t.length !== c.length && l / e < 5 ? \"\" : c;\n }\n animateTreemap(t, e, s, i) {\n const a = new ut(this.w);\n a.animateRect(t, e, s, i, () => {\n a.animationCompleted(t);\n });\n }\n}\nK.use({\n line: mt,\n area: mt,\n scatter: mt,\n bubble: mt,\n rangeArea: mt,\n bar: ft,\n column: ft,\n barStacked: Vs,\n rangeBar: ti,\n candlestick: se,\n boxPlot: se,\n pie: kt,\n donut: kt,\n polarArea: kt,\n radialBar: Qs,\n radar: Js,\n heatmap: Us,\n treemap: ai\n});\nclass Mt {\n /**\n * Render chart to SVG string for server-side rendering\n *\n * @param {object} options - Chart configuration (same as ApexCharts constructor)\n * @param {object} ssrOptions - SSR-specific options\n * @param {number} ssrOptions.width - Chart width in pixels (default: 400)\n * @param {number} ssrOptions.height - Chart height in pixels (default: 300)\n * @param {number} ssrOptions.scale - SVG scale factor (default: 1)\n * @returns {Promise<string>} SVG string\n *\n * @example\n * const svgString = await SSRRenderer.renderToString({\n * series: [{ data: [30, 40, 35] }],\n * chart: { type: 'bar' }\n * }, {\n * width: 500,\n * height: 300\n * });\n */\n static renderToString(t) {\n return Ut(this, arguments, function* (e, s = {}) {\n B.isSSR() && N.init();\n const { width: i = 400, height: a = 300, scale: o = 1 } = s, r = this._createVirtualElement(i, a), n = O(I({}, e), {\n chart: O(I({}, e.chart), {\n width: i,\n height: a,\n // Disable interactive features for SSR\n toolbar: { show: !1 },\n animations: { enabled: !1 }\n })\n }), l = new K(r, n);\n try {\n yield l.render();\n const c = this._extractSVGString(l, o);\n return l.destroy(), c;\n } catch (c) {\n throw l.destroy(), new Error(`SSR rendering failed: ${c.message}`);\n }\n });\n }\n /**\n * Generate hydration-ready HTML with embedded configuration\n *\n * @param {object} options - Chart configuration\n * @param {object} ssrOptions - SSR-specific options\n * @param {number} ssrOptions.width - Chart width in pixels (default: 400)\n * @param {number} ssrOptions.height - Chart height in pixels (default: 300)\n * @param {number} ssrOptions.scale - SVG scale factor (default: 1)\n * @param {string} ssrOptions.className - Additional CSS class for wrapper (default: '')\n * @returns {Promise<string>} HTML string with SVG and hydration data\n *\n * @example\n * const html = await SSRRenderer.renderToHTML({\n * series: [{ data: [30, 40, 35] }],\n * chart: { type: 'bar' }\n * }, {\n * width: 500,\n * height: 300\n * });\n */\n static renderToHTML(t) {\n return Ut(this, arguments, function* (e, s = {}) {\n const { className: i = \"\" } = s, a = yield this.renderToString(e, s), o = this._encodeConfig(e);\n return `<div class=\"${`apexcharts-ssr-wrapper${i ? \" \" + i : \"\"}`}\" data-apexcharts-hydrate data-apexcharts-config=\"${o}\">\n${a}\n</div>`;\n });\n }\n /**\n * Create a virtual DOM element for SSR rendering\n * @private\n */\n static _createVirtualElement(t, e) {\n if (B.isBrowser()) {\n const s = document.createElement(\"div\");\n return s.style.width = `${t}px`, s.style.height = `${e}px`, s;\n }\n return {\n _ssrWidth: t,\n _ssrHeight: e,\n _ssrMode: !0,\n nodeType: 1,\n nodeName: \"DIV\",\n children: [],\n style: {},\n classList: {\n add: () => {\n },\n remove: () => {\n },\n contains: () => !1\n },\n appendChild(s) {\n this.children.push(s);\n },\n removeChild(s) {\n const i = this.children.indexOf(s);\n i > -1 && this.children.splice(i, 1);\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementsByClassName() {\n return [];\n },\n getAttribute() {\n return null;\n },\n setAttribute() {\n },\n removeAttribute() {\n },\n hasAttribute() {\n return !1;\n },\n getBoundingClientRect() {\n return {\n width: this._ssrWidth,\n height: this._ssrHeight,\n top: 0,\n left: 0,\n right: this._ssrWidth,\n bottom: this._ssrHeight,\n x: 0,\n y: 0\n };\n },\n get parentNode() {\n return null;\n },\n get isConnected() {\n return !0;\n },\n getRootNode() {\n return this;\n }\n };\n }\n /**\n * Extract SVG string from rendered chart\n * @private\n */\n static _extractSVGString(t, e = 1) {\n const s = t.w;\n if (!s || !s.dom || !s.dom.Paper)\n throw new Error(\"Chart not properly initialized\");\n const i = s.dom.Paper.node;\n if (B.isBrowser() && i instanceof SVGElement) {\n let o = new XMLSerializer().serializeToString(i);\n return e !== 1 && (o = this._applyScale(o, e)), o;\n }\n if (i && typeof i.toString == \"function\") {\n let a = i.toString();\n return e !== 1 && (a = this._applyScale(a, e)), a;\n }\n throw new Error(\"Unable to extract SVG string from chart\");\n }\n /**\n * Apply scale transformation to SVG string\n * @private\n */\n static _applyScale(t, e) {\n const s = t.match(/width=\"([^\"]+)\"/), i = t.match(/height=\"([^\"]+)\"/);\n if (s && i) {\n const a = parseFloat(s[1]), o = parseFloat(i[1]), r = a * e, n = o * e;\n t = t.replace(/width=\"[^\"]+\"/, `width=\"${r}\"`).replace(/height=\"[^\"]+\"/, `height=\"${n}\"`);\n }\n return t;\n }\n /**\n * Encode configuration for client-side hydration\n * @private\n */\n static _encodeConfig(t) {\n try {\n const e = JSON.stringify(t);\n return typeof Buffer < \"u\" ? Buffer.from(e).toString(\"base64\") : typeof btoa < \"u\" ? btoa(e) : encodeURIComponent(e);\n } catch (e) {\n throw new Error(`Failed to encode config: ${e.message}`);\n }\n }\n /**\n * Decode configuration from hydration data\n * @private\n */\n static _decodeConfig(t) {\n try {\n let e;\n return typeof Buffer < \"u\" ? e = Buffer.from(t, \"base64\").toString(\"utf-8\") : typeof atob < \"u\" ? e = atob(t) : e = decodeURIComponent(t), JSON.parse(e);\n } catch (e) {\n throw new Error(`Failed to decode config: ${e.message}`);\n }\n }\n}\nclass pt {\n /**\n * Hydrate a single server-rendered chart\n *\n * @param {HTMLElement} el - Container element with data-apexcharts-hydrate attribute\n * @param {object} clientOptions - Optional config overrides for client-side (e.g., enable animations)\n * @returns {ApexCharts} Hydrated chart instance\n *\n * @example\n * // Hydrate with default settings\n * const chart = Hydration.hydrate(document.getElementById('my-chart'));\n *\n * @example\n * // Hydrate with custom options\n * const chart = Hydration.hydrate(element, {\n * chart: {\n * animations: { enabled: true, speed: 800 }\n * }\n * });\n */\n static hydrate(t, e = {}) {\n if (!B.isBrowser())\n throw new Error(\"Hydration can only be performed in browser environment\");\n if (!t)\n throw new Error(\"Element is required for hydration\");\n if (!t.hasAttribute(\"data-apexcharts-hydrate\"))\n throw new Error(\"Element does not have data-apexcharts-hydrate attribute\");\n const s = t.getAttribute(\"data-apexcharts-config\");\n if (!s)\n throw new Error(\"Element is missing data-apexcharts-config attribute\");\n const i = this._decodeConfig(s), a = this._mergeConfigs(i, e), o = t.innerHTML, r = new K(t, a), n = t.getBoundingClientRect();\n return t.style.width = `${n.width}px`, t.style.height = `${n.height}px`, t.innerHTML = \"\", t.removeAttribute(\"data-apexcharts-hydrate\"), t.removeAttribute(\"data-apexcharts-config\"), r.render().then(() => {\n t.setAttribute(\"data-apexcharts-hydrated\", \"true\"), t.style.width = \"\", t.style.height = \"\";\n const l = new CustomEvent(\"apexcharts:hydrated\", {\n detail: { chart: r, ssrContent: o }\n });\n t.dispatchEvent(l);\n }).catch((l) => {\n throw console.error(\"ApexCharts hydration failed:\", l), t.innerHTML = o, t.setAttribute(\"data-apexcharts-hydrate\", \"\"), t.setAttribute(\"data-apexcharts-config\", s), l;\n }), r;\n }\n /**\n * Auto-hydrate all server-rendered charts on the page\n *\n * @param {string} selector - CSS selector for containers (default: '[data-apexcharts-hydrate]')\n * @param {object} clientOptions - Optional config overrides applied to all charts\n * @returns {ApexCharts[]} Array of hydrated chart instances\n *\n * @example\n * // Hydrate all charts on page load\n * document.addEventListener('DOMContentLoaded', () => {\n * ApexCharts.hydrateAll();\n * });\n *\n * @example\n * // Hydrate with animations enabled\n * ApexCharts.hydrateAll('[data-apexcharts-hydrate]', {\n * chart: { animations: { enabled: true } }\n * });\n */\n static hydrateAll(t = \"[data-apexcharts-hydrate]\", e = {}) {\n if (!B.isBrowser())\n throw new Error(\"Hydration can only be performed in browser environment\");\n const s = document.querySelectorAll(t);\n if (s.length === 0)\n return console.warn(`No elements found matching selector: ${t}`), [];\n const i = [];\n return s.forEach((a) => {\n try {\n const o = this.hydrate(a, e);\n i.push(o);\n } catch (o) {\n console.error(\"Failed to hydrate element:\", a, o);\n }\n }), i;\n }\n /**\n * Check if an element has been hydrated\n *\n * @param {HTMLElement} el - Element to check\n * @returns {boolean} True if element has been hydrated\n */\n static isHydrated(t) {\n return t ? t.hasAttribute(\"data-apexcharts-hydrated\") : !1;\n }\n /**\n * Decode configuration from base64-encoded data attribute\n * @private\n */\n static _decodeConfig(t) {\n try {\n let e;\n return typeof atob < \"u\" ? e = atob(t) : typeof Buffer < \"u\" ? e = Buffer.from(t, \"base64\").toString(\"utf-8\") : e = decodeURIComponent(t), JSON.parse(e);\n } catch (e) {\n throw new Error(`Failed to decode chart config: ${e.message}`);\n }\n }\n /**\n * Merge SSR configuration with client-side overrides\n * @private\n */\n static _mergeConfigs(t, e) {\n var s, i, a;\n const o = I(I({}, t), e);\n return (t.chart || e.chart) && (o.chart = I(I({}, t.chart), e.chart), (o.chart.animations === void 0 || o.chart.animations.enabled === !1) && (o.chart.animations = O(I({}, o.chart.animations || {}), {\n enabled: !0\n })), ((s = e.chart) == null ? void 0 : s.toolbar) === void 0 && ((a = (i = t.chart) == null ? void 0 : i.toolbar) == null ? void 0 : a.show) === !1 && (o.chart.toolbar = O(I({}, o.chart.toolbar || {}), {\n show: !0\n }))), o;\n }\n}\nK.renderToString = Mt.renderToString.bind(Mt);\nK.renderToHTML = Mt.renderToHTML.bind(Mt);\nK.hydrate = pt.hydrate.bind(pt);\nK.hydrateAll = pt.hydrateAll.bind(pt);\nK.isHydrated = pt.isHydrated.bind(pt);\nexport {\n pt as Hydration,\n Mt as SSRRenderer,\n K as default\n};\n"],"names":["De","Te","Me","Vt","Pe","Fe","Xt","A","t","e","I","Ee","Ut","i","a","n","r","l","o","B","Lt","Xe","Re","j","ot","rt","N","L","ht","q","C","D","c","h","p","f","x","m","u","y","b","v","vt","Ft","Et","bt","Ie","Ye","le","nt","yt","ce","he","Rt","de","Be","V","ut","Z","s","P","F","T","M","E","d","G","et","lt","Ne","st","w","xt","ge","gt","at","wt","S","k","fe","g","pe","R","Y","It","Yt","_t","ze","He","Oe","Bt","_e","U","We","Ge","$e","Ve","Ue","qe","Dt","ue","Nt","Ze","je","z","xe","Ke","Q","Je","Wt","me","Qe","be","ts","ye","es","is","as","X","H","tt","dt","os","rs","ns","ls","cs","At","hs","fs","ps","us","qt","Zt","xs","jt","Kt","Jt","ms","Qt","_","$","bs","te","As","Gt","Cs","Tt","we","zt","St","ee","Ht","Ls","Ds","Ts","ve","Ae","Ps","Fs","Es","Rs","Is","Ys","Bs","Ce","Ns","Pt","zs","Hs","Os","_s","Ws","ft","Vs","se","Se","Us","qs","Zs","Ot","js","ie","mt","W","J","Ct","Le","ct","$t","it","ke","kt","ti","ae","oe","ei","re","ne","si","ii","ai","Mt","pt"],"mappings":"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AAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;A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","x_google_ignoreList":[0]}
|