WaniKani Stats

Add stats info to WaniKani

// ==UserScript==
// @name         WaniKani Stats
// @namespace    http://tampermonkey.net/
// @version      0.10.0
// @description  Add stats info to WaniKani
// @author       Jigen
// @match        https://www.wanikani.com/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        none
// ==/UserScript==

(function polyfill() {
  const relList = document.createElement("link").relList;
  if (relList && relList.supports && relList.supports("modulepreload")) {
    return;
  }
  for (const link of document.querySelectorAll('link[rel="modulepreload"]')) {
    processPreload(link);
  }
  new MutationObserver((mutations) => {
    for (const mutation of mutations) {
      if (mutation.type !== "childList") {
        continue;
      }
      for (const node of mutation.addedNodes) {
        if (node.tagName === "LINK" && node.rel === "modulepreload")
          processPreload(node);
      }
    }
  }).observe(document, { childList: true, subtree: true });
  function getFetchOpts(link) {
    const fetchOpts = {};
    if (link.integrity) fetchOpts.integrity = link.integrity;
    if (link.referrerPolicy) fetchOpts.referrerPolicy = link.referrerPolicy;
    if (link.crossOrigin === "use-credentials")
      fetchOpts.credentials = "include";
    else if (link.crossOrigin === "anonymous") fetchOpts.credentials = "omit";
    else fetchOpts.credentials = "same-origin";
    return fetchOpts;
  }
  function processPreload(link) {
    if (link.ep)
      return;
    link.ep = true;
    const fetchOpts = getFetchOpts(link);
    fetch(link.href, fetchOpts);
  }
})();
var __defProp$1 = Object.defineProperty;
var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
var __propIsEnum$1 = Object.prototype.propertyIsEnumerable;
var __defNormalProp$1 = (obj, key, value2) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value: value2 }) : obj[key] = value2;
var __spreadValues$1 = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$1.call(b, prop))
      __defNormalProp$1(a, prop, b[prop]);
  if (__getOwnPropSymbols$1)
    for (var prop of __getOwnPropSymbols$1(b)) {
      if (__propIsEnum$1.call(b, prop))
        __defNormalProp$1(a, prop, b[prop]);
    }
  return a;
};
function isEmpty(value2) {
  return value2 === null || value2 === void 0 || value2 === "" || Array.isArray(value2) && value2.length === 0 || !(value2 instanceof Date) && typeof value2 === "object" && Object.keys(value2).length === 0;
}
function _deepEquals(obj1, obj2, visited = /* @__PURE__ */ new WeakSet()) {
  if (obj1 === obj2) return true;
  if (!obj1 || !obj2 || typeof obj1 !== "object" || typeof obj2 !== "object") return false;
  if (visited.has(obj1) || visited.has(obj2)) return false;
  visited.add(obj1).add(obj2);
  let arrObj1 = Array.isArray(obj1), arrObj2 = Array.isArray(obj2), i, length, key;
  if (arrObj1 && arrObj2) {
    length = obj1.length;
    if (length != obj2.length) return false;
    for (i = length; i-- !== 0; ) if (!_deepEquals(obj1[i], obj2[i], visited)) return false;
    return true;
  }
  if (arrObj1 != arrObj2) return false;
  let dateObj1 = obj1 instanceof Date, dateObj2 = obj2 instanceof Date;
  if (dateObj1 != dateObj2) return false;
  if (dateObj1 && dateObj2) return obj1.getTime() == obj2.getTime();
  let regexpObj1 = obj1 instanceof RegExp, regexpObj2 = obj2 instanceof RegExp;
  if (regexpObj1 != regexpObj2) return false;
  if (regexpObj1 && regexpObj2) return obj1.toString() == obj2.toString();
  let keys = Object.keys(obj1);
  length = keys.length;
  if (length !== Object.keys(obj2).length) return false;
  for (i = length; i-- !== 0; ) if (!Object.prototype.hasOwnProperty.call(obj2, keys[i])) return false;
  for (i = length; i-- !== 0; ) {
    key = keys[i];
    if (!_deepEquals(obj1[key], obj2[key], visited)) return false;
  }
  return true;
}
function deepEquals(obj1, obj2) {
  return _deepEquals(obj1, obj2);
}
function isFunction$2(value2) {
  return !!(value2 && value2.constructor && value2.call && value2.apply);
}
function isNotEmpty(value2) {
  return !isEmpty(value2);
}
function equals(obj1, obj2, field) {
  return deepEquals(obj1, obj2);
}
function isObject$2(value2, empty = true) {
  return value2 instanceof Object && value2.constructor === Object && (empty || Object.keys(value2).length !== 0);
}
function resolve$1(obj, ...params) {
  return isFunction$2(obj) ? obj(...params) : obj;
}
function isString$2(value2, empty = true) {
  return typeof value2 === "string" && (empty || value2 !== "");
}
function toFlatCase(str) {
  return isString$2(str) ? str.replace(/(-|_)/g, "").toLowerCase() : str;
}
function getKeyValue(obj, key = "", params = {}) {
  const fKeys = toFlatCase(key).split(".");
  const fKey = fKeys.shift();
  return fKey ? isObject$2(obj) ? getKeyValue(resolve$1(obj[Object.keys(obj).find((k) => toFlatCase(k) === fKey) || ""], params), fKeys.join("."), params) : void 0 : resolve$1(obj, params);
}
function isArray$2(value2, empty = true) {
  return Array.isArray(value2) && (empty || value2.length !== 0);
}
function isNumber$1(value2) {
  return isNotEmpty(value2) && !isNaN(value2);
}
function matchRegex(str, regex) {
  if (regex) {
    const match2 = regex.test(str);
    regex.lastIndex = 0;
    return match2;
  }
  return false;
}
function mergeKeys(...args) {
  const _mergeKeys = (target = {}, source = {}) => {
    const mergedObj = __spreadValues$1({}, target);
    Object.keys(source).forEach((key) => {
      if (isObject$2(source[key]) && key in target && isObject$2(target[key])) {
        mergedObj[key] = _mergeKeys(target[key], source[key]);
      } else {
        mergedObj[key] = source[key];
      }
    });
    return mergedObj;
  };
  return args.reduce((acc, obj, i) => i === 0 ? obj : _mergeKeys(acc, obj), {});
}
function minifyCSS(css3) {
  return css3 ? css3.replace(/\/\*(?:(?!\*\/)[\s\S])*\*\/|[\r\n\t]+/g, "").replace(/ {2,}/g, " ").replace(/ ([{:}]) /g, "$1").replace(/([;,]) /g, "$1").replace(/ !/g, "!").replace(/: /g, ":") : css3;
}
function toCapitalCase(str) {
  return isString$2(str, false) ? str[0].toUpperCase() + str.slice(1) : str;
}
function toKebabCase(str) {
  return isString$2(str) ? str.replace(/(_)/g, "-").replace(/[A-Z]/g, (c, i) => i === 0 ? c : "-" + c.toLowerCase()).toLowerCase() : str;
}
function toTokenKey(str) {
  return isString$2(str) ? str.replace(/[A-Z]/g, (c, i) => i === 0 ? c : "." + c.toLowerCase()).toLowerCase() : str;
}
function EventBus() {
  const allHandlers = /* @__PURE__ */ new Map();
  return {
    on(type, handler6) {
      let handlers = allHandlers.get(type);
      if (!handlers) handlers = [handler6];
      else handlers.push(handler6);
      allHandlers.set(type, handlers);
      return this;
    },
    off(type, handler6) {
      let handlers = allHandlers.get(type);
      if (handlers) {
        handlers.splice(handlers.indexOf(handler6) >>> 0, 1);
      }
      return this;
    },
    emit(type, evt) {
      let handlers = allHandlers.get(type);
      if (handlers) {
        handlers.slice().map((handler6) => {
          handler6(evt);
        });
      }
    },
    clear() {
      allHandlers.clear();
    }
  };
}
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value2) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value: value2 }) : obj[key] = value2;
var __spreadValues = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp.call(b, prop))
      __defNormalProp(a, prop, b[prop]);
  if (__getOwnPropSymbols)
    for (var prop of __getOwnPropSymbols(b)) {
      if (__propIsEnum.call(b, prop))
        __defNormalProp(a, prop, b[prop]);
    }
  return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __objRest = (source, exclude) => {
  var target = {};
  for (var prop in source)
    if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
      target[prop] = source[prop];
  if (source != null && __getOwnPropSymbols)
    for (var prop of __getOwnPropSymbols(source)) {
      if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
        target[prop] = source[prop];
    }
  return target;
};
function definePreset(...presets) {
  return mergeKeys(...presets);
}
var ThemeService = EventBus();
var service_default = ThemeService;
function merge$1(value1, value2) {
  if (isArray$2(value1)) {
    value1.push(...value2 || []);
  } else if (isObject$2(value1)) {
    Object.assign(value1, value2);
  }
}
function toValue(value2) {
  return isObject$2(value2) && value2.hasOwnProperty("value") && value2.hasOwnProperty("type") ? value2.value : value2;
}
function toNormalizePrefix(prefix) {
  return prefix.replaceAll(/ /g, "").replace(/[^\w]/g, "-");
}
function toNormalizeVariable(prefix = "", variable = "") {
  return toNormalizePrefix(`${isString$2(prefix, false) && isString$2(variable, false) ? `${prefix}-` : prefix}${variable}`);
}
function getVariableName(prefix = "", variable = "") {
  return `--${toNormalizeVariable(prefix, variable)}`;
}
function hasOddBraces(str = "") {
  const openBraces = (str.match(/{/g) || []).length;
  const closeBraces = (str.match(/}/g) || []).length;
  return (openBraces + closeBraces) % 2 !== 0;
}
function getVariableValue(value2, variable = "", prefix = "", excludedKeyRegexes = [], fallback) {
  if (isString$2(value2)) {
    const regex = /{([^}]*)}/g;
    const val = value2.trim();
    if (hasOddBraces(val)) {
      return void 0;
    } else if (matchRegex(val, regex)) {
      const _val = val.replaceAll(regex, (v) => {
        const path = v.replace(/{|}/g, "");
        const keys = path.split(".").filter((_v) => !excludedKeyRegexes.some((_r) => matchRegex(_v, _r)));
        return `var(${getVariableName(prefix, toKebabCase(keys.join("-")))}${isNotEmpty(fallback) ? `, ${fallback}` : ""})`;
      });
      const calculationRegex = /(\d+\s+[\+\-\*\/]\s+\d+)/g;
      const cleanedVarRegex = /var\([^)]+\)/g;
      return matchRegex(_val.replace(cleanedVarRegex, "0"), calculationRegex) ? `calc(${_val})` : _val;
    }
    return val;
  } else if (isNumber$1(value2)) {
    return value2;
  }
  return void 0;
}
function setProperty(properties, key, value2) {
  if (isString$2(key, false)) {
    properties.push(`${key}:${value2};`);
  }
}
function getRule(selector, properties) {
  if (selector) {
    return `${selector}{${properties}}`;
  }
  return "";
}
var $dt = (tokenPath) => {
  var _a;
  const theme10 = config_default.getTheme();
  const variable = dtwt(theme10, tokenPath, void 0, "variable");
  const name = (_a = variable == null ? void 0 : variable.match(/--[\w-]+/g)) == null ? void 0 : _a[0];
  const value2 = dtwt(theme10, tokenPath, void 0, "value");
  return {
    name,
    variable,
    value: value2
  };
};
var dt = (...args) => {
  return dtwt(config_default.getTheme(), ...args);
};
var dtwt = (theme10 = {}, tokenPath, fallback, type) => {
  if (tokenPath) {
    const { variable: VARIABLE, options: OPTIONS } = config_default.defaults || {};
    const { prefix, transform } = (theme10 == null ? void 0 : theme10.options) || OPTIONS || {};
    const regex = /{([^}]*)}/g;
    const token = matchRegex(tokenPath, regex) ? tokenPath : `{${tokenPath}}`;
    const isStrictTransform = type === "value" || isEmpty(type) && transform === "strict";
    return isStrictTransform ? config_default.getTokenValue(tokenPath) : getVariableValue(token, void 0, prefix, [VARIABLE.excludedKeyRegex], fallback);
  }
  return "";
};
function toVariables_default(theme10, options = {}) {
  const VARIABLE = config_default.defaults.variable;
  const { prefix = VARIABLE.prefix, selector = VARIABLE.selector, excludedKeyRegex = VARIABLE.excludedKeyRegex } = options;
  const _toVariables = (_theme, _prefix = "") => {
    return Object.entries(_theme).reduce(
      (acc, [key, value2]) => {
        const px = matchRegex(key, excludedKeyRegex) ? toNormalizeVariable(_prefix) : toNormalizeVariable(_prefix, toKebabCase(key));
        const v = toValue(value2);
        if (isObject$2(v)) {
          const { variables: variables2, tokens: tokens2 } = _toVariables(v, px);
          merge$1(acc["tokens"], tokens2);
          merge$1(acc["variables"], variables2);
        } else {
          acc["tokens"].push((prefix ? px.replace(`${prefix}-`, "") : px).replaceAll("-", "."));
          setProperty(acc["variables"], getVariableName(px), getVariableValue(v, px, prefix, [excludedKeyRegex]));
        }
        return acc;
      },
      { variables: [], tokens: [] }
    );
  };
  const { variables, tokens } = _toVariables(theme10, prefix);
  return {
    value: variables,
    tokens,
    declarations: variables.join(""),
    css: getRule(selector, variables.join(""))
  };
}
var themeUtils_default = {
  regex: {
    rules: {
      class: {
        pattern: /^\.([a-zA-Z][\w-]*)$/,
        resolve(value2) {
          return { type: "class", selector: value2, matched: this.pattern.test(value2.trim()) };
        }
      },
      attr: {
        pattern: /^\[(.*)\]$/,
        resolve(value2) {
          return { type: "attr", selector: `:root${value2}`, matched: this.pattern.test(value2.trim()) };
        }
      },
      media: {
        pattern: /^@media (.*)$/,
        resolve(value2) {
          return { type: "media", selector: `${value2}{:root{[CSS]}}`, matched: this.pattern.test(value2.trim()) };
        }
      },
      system: {
        pattern: /^system$/,
        resolve(value2) {
          return { type: "system", selector: "@media (prefers-color-scheme: dark){:root{[CSS]}}", matched: this.pattern.test(value2.trim()) };
        }
      },
      custom: {
        resolve(value2) {
          return { type: "custom", selector: value2, matched: true };
        }
      }
    },
    resolve(value2) {
      const rules = Object.keys(this.rules).filter((k) => k !== "custom").map((r2) => this.rules[r2]);
      return [value2].flat().map((v) => {
        var _a;
        return (_a = rules.map((r2) => r2.resolve(v)).find((rr) => rr.matched)) != null ? _a : this.rules.custom.resolve(v);
      });
    }
  },
  _toVariables(theme10, options) {
    return toVariables_default(theme10, { prefix: options == null ? void 0 : options.prefix });
  },
  getCommon({ name = "", theme: theme10 = {}, params, set: set2, defaults: defaults2 }) {
    var _e, _f, _g, _h, _i, _j, _k;
    const { preset, options } = theme10;
    let primitive_css, primitive_tokens, semantic_css, semantic_tokens, global_css, global_tokens, style;
    if (isNotEmpty(preset) && options.transform !== "strict") {
      const { primitive, semantic, extend: extend4 } = preset;
      const _a = semantic || {}, { colorScheme } = _a, sRest = __objRest(_a, ["colorScheme"]);
      const _b = extend4 || {}, { colorScheme: eColorScheme } = _b, eRest = __objRest(_b, ["colorScheme"]);
      const _c = colorScheme || {}, { dark } = _c, csRest = __objRest(_c, ["dark"]);
      const _d = eColorScheme || {}, { dark: eDark } = _d, ecsRest = __objRest(_d, ["dark"]);
      const prim_var = isNotEmpty(primitive) ? this._toVariables({ primitive }, options) : {};
      const sRest_var = isNotEmpty(sRest) ? this._toVariables({ semantic: sRest }, options) : {};
      const csRest_var = isNotEmpty(csRest) ? this._toVariables({ light: csRest }, options) : {};
      const csDark_var = isNotEmpty(dark) ? this._toVariables({ dark }, options) : {};
      const eRest_var = isNotEmpty(eRest) ? this._toVariables({ semantic: eRest }, options) : {};
      const ecsRest_var = isNotEmpty(ecsRest) ? this._toVariables({ light: ecsRest }, options) : {};
      const ecsDark_var = isNotEmpty(eDark) ? this._toVariables({ dark: eDark }, options) : {};
      const [prim_css, prim_tokens] = [(_e = prim_var.declarations) != null ? _e : "", prim_var.tokens];
      const [sRest_css, sRest_tokens] = [(_f = sRest_var.declarations) != null ? _f : "", sRest_var.tokens || []];
      const [csRest_css, csRest_tokens] = [(_g = csRest_var.declarations) != null ? _g : "", csRest_var.tokens || []];
      const [csDark_css, csDark_tokens] = [(_h = csDark_var.declarations) != null ? _h : "", csDark_var.tokens || []];
      const [eRest_css, eRest_tokens] = [(_i = eRest_var.declarations) != null ? _i : "", eRest_var.tokens || []];
      const [ecsRest_css, ecsRest_tokens] = [(_j = ecsRest_var.declarations) != null ? _j : "", ecsRest_var.tokens || []];
      const [ecsDark_css, ecsDark_tokens] = [(_k = ecsDark_var.declarations) != null ? _k : "", ecsDark_var.tokens || []];
      primitive_css = this.transformCSS(name, prim_css, "light", "variable", options, set2, defaults2);
      primitive_tokens = prim_tokens;
      const semantic_light_css = this.transformCSS(name, `${sRest_css}${csRest_css}`, "light", "variable", options, set2, defaults2);
      const semantic_dark_css = this.transformCSS(name, `${csDark_css}`, "dark", "variable", options, set2, defaults2);
      semantic_css = `${semantic_light_css}${semantic_dark_css}`;
      semantic_tokens = [.../* @__PURE__ */ new Set([...sRest_tokens, ...csRest_tokens, ...csDark_tokens])];
      const global_light_css = this.transformCSS(name, `${eRest_css}${ecsRest_css}color-scheme:light`, "light", "variable", options, set2, defaults2);
      const global_dark_css = this.transformCSS(name, `${ecsDark_css}color-scheme:dark`, "dark", "variable", options, set2, defaults2);
      global_css = `${global_light_css}${global_dark_css}`;
      global_tokens = [.../* @__PURE__ */ new Set([...eRest_tokens, ...ecsRest_tokens, ...ecsDark_tokens])];
      style = resolve$1(preset.css, { dt });
    }
    return {
      primitive: {
        css: primitive_css,
        tokens: primitive_tokens
      },
      semantic: {
        css: semantic_css,
        tokens: semantic_tokens
      },
      global: {
        css: global_css,
        tokens: global_tokens
      },
      style
    };
  },
  getPreset({ name = "", preset = {}, options, params, set: set2, defaults: defaults2, selector }) {
    var _e, _f, _g;
    let p_css, p_tokens, p_style;
    if (isNotEmpty(preset) && options.transform !== "strict") {
      const _name = name.replace("-directive", "");
      const _a = preset, { colorScheme, extend: extend4, css: css22 } = _a, vRest = __objRest(_a, ["colorScheme", "extend", "css"]);
      const _b = extend4 || {}, { colorScheme: eColorScheme } = _b, evRest = __objRest(_b, ["colorScheme"]);
      const _c = colorScheme || {}, { dark } = _c, csRest = __objRest(_c, ["dark"]);
      const _d = eColorScheme || {}, { dark: ecsDark } = _d, ecsRest = __objRest(_d, ["dark"]);
      const vRest_var = isNotEmpty(vRest) ? this._toVariables({ [_name]: __spreadValues(__spreadValues({}, vRest), evRest) }, options) : {};
      const csRest_var = isNotEmpty(csRest) ? this._toVariables({ [_name]: __spreadValues(__spreadValues({}, csRest), ecsRest) }, options) : {};
      const csDark_var = isNotEmpty(dark) ? this._toVariables({ [_name]: __spreadValues(__spreadValues({}, dark), ecsDark) }, options) : {};
      const [vRest_css, vRest_tokens] = [(_e = vRest_var.declarations) != null ? _e : "", vRest_var.tokens || []];
      const [csRest_css, csRest_tokens] = [(_f = csRest_var.declarations) != null ? _f : "", csRest_var.tokens || []];
      const [csDark_css, csDark_tokens] = [(_g = csDark_var.declarations) != null ? _g : "", csDark_var.tokens || []];
      const light_variable_css = this.transformCSS(_name, `${vRest_css}${csRest_css}`, "light", "variable", options, set2, defaults2, selector);
      const dark_variable_css = this.transformCSS(_name, csDark_css, "dark", "variable", options, set2, defaults2, selector);
      p_css = `${light_variable_css}${dark_variable_css}`;
      p_tokens = [.../* @__PURE__ */ new Set([...vRest_tokens, ...csRest_tokens, ...csDark_tokens])];
      p_style = resolve$1(css22, { dt });
    }
    return {
      css: p_css,
      tokens: p_tokens,
      style: p_style
    };
  },
  getPresetC({ name = "", theme: theme10 = {}, params, set: set2, defaults: defaults2 }) {
    var _a;
    const { preset, options } = theme10;
    const cPreset = (_a = preset == null ? void 0 : preset.components) == null ? void 0 : _a[name];
    return this.getPreset({ name, preset: cPreset, options, params, set: set2, defaults: defaults2 });
  },
  getPresetD({ name = "", theme: theme10 = {}, params, set: set2, defaults: defaults2 }) {
    var _a;
    const dName = name.replace("-directive", "");
    const { preset, options } = theme10;
    const dPreset = (_a = preset == null ? void 0 : preset.directives) == null ? void 0 : _a[dName];
    return this.getPreset({ name: dName, preset: dPreset, options, params, set: set2, defaults: defaults2 });
  },
  applyDarkColorScheme(options) {
    return !(options.darkModeSelector === "none" || options.darkModeSelector === false);
  },
  getColorSchemeOption(options, defaults2) {
    var _a;
    return this.applyDarkColorScheme(options) ? this.regex.resolve(options.darkModeSelector === true ? defaults2.options.darkModeSelector : (_a = options.darkModeSelector) != null ? _a : defaults2.options.darkModeSelector) : [];
  },
  getLayerOrder(name, options = {}, params, defaults2) {
    const { cssLayer } = options;
    if (cssLayer) {
      const order = resolve$1(cssLayer.order || "primeui", params);
      return `@layer ${order}`;
    }
    return "";
  },
  getCommonStyleSheet({ name = "", theme: theme10 = {}, params, props = {}, set: set2, defaults: defaults2 }) {
    const common = this.getCommon({ name, theme: theme10, params, set: set2, defaults: defaults2 });
    const _props = Object.entries(props).reduce((acc, [k, v]) => acc.push(`${k}="${v}"`) && acc, []).join(" ");
    return Object.entries(common || {}).reduce((acc, [key, value2]) => {
      if (value2 == null ? void 0 : value2.css) {
        const _css = minifyCSS(value2 == null ? void 0 : value2.css);
        const id3 = `${key}-variables`;
        acc.push(`<style type="text/css" data-primevue-style-id="${id3}" ${_props}>${_css}</style>`);
      }
      return acc;
    }, []).join("");
  },
  getStyleSheet({ name = "", theme: theme10 = {}, params, props = {}, set: set2, defaults: defaults2 }) {
    var _a;
    const options = { name, theme: theme10, params, set: set2, defaults: defaults2 };
    const preset_css = (_a = name.includes("-directive") ? this.getPresetD(options) : this.getPresetC(options)) == null ? void 0 : _a.css;
    const _props = Object.entries(props).reduce((acc, [k, v]) => acc.push(`${k}="${v}"`) && acc, []).join(" ");
    return preset_css ? `<style type="text/css" data-primevue-style-id="${name}-variables" ${_props}>${minifyCSS(preset_css)}</style>` : "";
  },
  createTokens(obj = {}, defaults2, parentKey = "", parentPath = "", tokens = {}) {
    Object.entries(obj).forEach(([key, value2]) => {
      const currentKey = matchRegex(key, defaults2.variable.excludedKeyRegex) ? parentKey : parentKey ? `${parentKey}.${toTokenKey(key)}` : toTokenKey(key);
      const currentPath = parentPath ? `${parentPath}.${key}` : key;
      if (isObject$2(value2)) {
        this.createTokens(value2, defaults2, currentKey, currentPath, tokens);
      } else {
        tokens[currentKey] || (tokens[currentKey] = {
          paths: [],
          computed(colorScheme, tokenPathMap = {}) {
            var _a, _b;
            if (this.paths.length === 1) {
              return (_a = this.paths[0]) == null ? void 0 : _a.computed(this.paths[0].scheme, tokenPathMap["binding"]);
            } else if (colorScheme && colorScheme !== "none") {
              return (_b = this.paths.find((p2) => p2.scheme === colorScheme)) == null ? void 0 : _b.computed(colorScheme, tokenPathMap["binding"]);
            }
            return this.paths.map((p2) => p2.computed(p2.scheme, tokenPathMap[p2.scheme]));
          }
        });
        tokens[currentKey].paths.push({
          path: currentPath,
          value: value2,
          scheme: currentPath.includes("colorScheme.light") ? "light" : currentPath.includes("colorScheme.dark") ? "dark" : "none",
          computed(colorScheme, tokenPathMap = {}) {
            const regex = /{([^}]*)}/g;
            let computedValue = value2;
            tokenPathMap["name"] = this.path;
            tokenPathMap["binding"] || (tokenPathMap["binding"] = {});
            if (matchRegex(value2, regex)) {
              const val = value2.trim();
              const _val = val.replaceAll(regex, (v) => {
                var _a;
                const path = v.replace(/{|}/g, "");
                const computed2 = (_a = tokens[path]) == null ? void 0 : _a.computed(colorScheme, tokenPathMap);
                return isArray$2(computed2) && computed2.length === 2 ? `light-dark(${computed2[0].value},${computed2[1].value})` : computed2 == null ? void 0 : computed2.value;
              });
              const calculationRegex = /(\d+\w*\s+[\+\-\*\/]\s+\d+\w*)/g;
              const cleanedVarRegex = /var\([^)]+\)/g;
              computedValue = matchRegex(_val.replace(cleanedVarRegex, "0"), calculationRegex) ? `calc(${_val})` : _val;
            }
            isEmpty(tokenPathMap["binding"]) && delete tokenPathMap["binding"];
            return {
              colorScheme,
              path: this.path,
              paths: tokenPathMap,
              value: computedValue.includes("undefined") ? void 0 : computedValue
            };
          }
        });
      }
    });
    return tokens;
  },
  getTokenValue(tokens, path, defaults2) {
    var _a;
    const normalizePath = (str) => {
      const strArr = str.split(".");
      return strArr.filter((s2) => !matchRegex(s2.toLowerCase(), defaults2.variable.excludedKeyRegex)).join(".");
    };
    const token = normalizePath(path);
    const colorScheme = path.includes("colorScheme.light") ? "light" : path.includes("colorScheme.dark") ? "dark" : void 0;
    const computedValues = [(_a = tokens[token]) == null ? void 0 : _a.computed(colorScheme)].flat().filter((computed2) => computed2);
    return computedValues.length === 1 ? computedValues[0].value : computedValues.reduce((acc = {}, computed2) => {
      const _a2 = computed2, { colorScheme: cs } = _a2, rest = __objRest(_a2, ["colorScheme"]);
      acc[cs] = rest;
      return acc;
    }, void 0);
  },
  getSelectorRule(selector1, selector2, type, css22) {
    return type === "class" || type === "attr" ? getRule(isNotEmpty(selector2) ? `${selector1}${selector2},${selector1} ${selector2}` : selector1, css22) : getRule(selector1, isNotEmpty(selector2) ? getRule(selector2, css22) : css22);
  },
  transformCSS(name, css22, mode, type, options = {}, set2, defaults2, selector) {
    if (isNotEmpty(css22)) {
      const { cssLayer } = options;
      if (type !== "style") {
        const colorSchemeOption = this.getColorSchemeOption(options, defaults2);
        css22 = mode === "dark" ? colorSchemeOption.reduce((acc, { type: type2, selector: _selector }) => {
          if (isNotEmpty(_selector)) {
            acc += _selector.includes("[CSS]") ? _selector.replace("[CSS]", css22) : this.getSelectorRule(_selector, selector, type2, css22);
          }
          return acc;
        }, "") : getRule(selector != null ? selector : ":root", css22);
      }
      if (cssLayer) {
        const layerOptions = {
          name: "primeui",
          order: "primeui"
        };
        isObject$2(cssLayer) && (layerOptions.name = resolve$1(cssLayer.name, { name, type }));
        if (isNotEmpty(layerOptions.name)) {
          css22 = getRule(`@layer ${layerOptions.name}`, css22);
          set2 == null ? void 0 : set2.layerNames(layerOptions.name);
        }
      }
      return css22;
    }
    return "";
  }
};
var config_default = {
  defaults: {
    variable: {
      prefix: "p",
      selector: ":root",
      excludedKeyRegex: /^(primitive|semantic|components|directives|variables|colorscheme|light|dark|common|root|states|extend|css)$/gi
    },
    options: {
      prefix: "p",
      darkModeSelector: "system",
      cssLayer: false
    }
  },
  _theme: void 0,
  _layerNames: /* @__PURE__ */ new Set(),
  _loadedStyleNames: /* @__PURE__ */ new Set(),
  _loadingStyles: /* @__PURE__ */ new Set(),
  _tokens: {},
  update(newValues = {}) {
    const { theme: theme10 } = newValues;
    if (theme10) {
      this._theme = __spreadProps(__spreadValues({}, theme10), {
        options: __spreadValues(__spreadValues({}, this.defaults.options), theme10.options)
      });
      this._tokens = themeUtils_default.createTokens(this.preset, this.defaults);
      this.clearLoadedStyleNames();
    }
  },
  get theme() {
    return this._theme;
  },
  get preset() {
    var _a;
    return ((_a = this.theme) == null ? void 0 : _a.preset) || {};
  },
  get options() {
    var _a;
    return ((_a = this.theme) == null ? void 0 : _a.options) || {};
  },
  get tokens() {
    return this._tokens;
  },
  getTheme() {
    return this.theme;
  },
  setTheme(newValue) {
    this.update({ theme: newValue });
    service_default.emit("theme:change", newValue);
  },
  getPreset() {
    return this.preset;
  },
  setPreset(newValue) {
    this._theme = __spreadProps(__spreadValues({}, this.theme), { preset: newValue });
    this._tokens = themeUtils_default.createTokens(newValue, this.defaults);
    this.clearLoadedStyleNames();
    service_default.emit("preset:change", newValue);
    service_default.emit("theme:change", this.theme);
  },
  getOptions() {
    return this.options;
  },
  setOptions(newValue) {
    this._theme = __spreadProps(__spreadValues({}, this.theme), { options: newValue });
    this.clearLoadedStyleNames();
    service_default.emit("options:change", newValue);
    service_default.emit("theme:change", this.theme);
  },
  getLayerNames() {
    return [...this._layerNames];
  },
  setLayerNames(layerName) {
    this._layerNames.add(layerName);
  },
  getLoadedStyleNames() {
    return this._loadedStyleNames;
  },
  isStyleNameLoaded(name) {
    return this._loadedStyleNames.has(name);
  },
  setLoadedStyleName(name) {
    this._loadedStyleNames.add(name);
  },
  deleteLoadedStyleName(name) {
    this._loadedStyleNames.delete(name);
  },
  clearLoadedStyleNames() {
    this._loadedStyleNames.clear();
  },
  getTokenValue(tokenPath) {
    return themeUtils_default.getTokenValue(this.tokens, tokenPath, this.defaults);
  },
  getCommon(name = "", params) {
    return themeUtils_default.getCommon({ name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } });
  },
  getComponent(name = "", params) {
    const options = { name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } };
    return themeUtils_default.getPresetC(options);
  },
  getDirective(name = "", params) {
    const options = { name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } };
    return themeUtils_default.getPresetD(options);
  },
  getCustomPreset(name = "", preset, selector, params) {
    const options = { name, preset, options: this.options, selector, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } };
    return themeUtils_default.getPreset(options);
  },
  getLayerOrderCSS(name = "") {
    return themeUtils_default.getLayerOrder(name, this.options, { names: this.getLayerNames() }, this.defaults);
  },
  transformCSS(name = "", css22, type = "style", mode) {
    return themeUtils_default.transformCSS(name, css22, mode, type, this.options, { layerNames: this.setLayerNames.bind(this) }, this.defaults);
  },
  getCommonStyleSheet(name = "", params, props = {}) {
    return themeUtils_default.getCommonStyleSheet({ name, theme: this.theme, params, props, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } });
  },
  getStyleSheet(name, params, props = {}) {
    return themeUtils_default.getStyleSheet({ name, theme: this.theme, params, props, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } });
  },
  onStyleMounted(name) {
    this._loadingStyles.add(name);
  },
  onStyleUpdated(name) {
    this._loadingStyles.add(name);
  },
  onStyleLoaded(event, { name }) {
    if (this._loadingStyles.size) {
      this._loadingStyles.delete(name);
      service_default.emit(`theme:${name}:load`, event);
      !this._loadingStyles.size && service_default.emit("theme:load");
    }
  }
};
var index$1p = {
  root: {
    transitionDuration: "{transition.duration}"
  },
  panel: {
    borderWidth: "0",
    borderColor: "{content.border.color}"
  },
  header: {
    color: "{text.muted.color}",
    hoverColor: "{text.color}",
    activeColor: "{text.color}",
    padding: "1.125rem",
    fontWeight: "700",
    borderRadius: "0",
    borderWidth: "0 1px 1px 1px",
    borderColor: "{content.border.color}",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "inset {focus.ring.shadow}"
    },
    toggleIcon: {
      color: "{text.muted.color}",
      hoverColor: "{text.color}",
      activeColor: "{text.color}",
      activeHoverColor: "{text.color}"
    },
    first: {
      topBorderRadius: "{content.border.radius}",
      borderWidth: "1px"
    },
    last: {
      bottomBorderRadius: "{content.border.radius}",
      activeBottomBorderRadius: "0"
    }
  },
  content: {
    borderWidth: "0 1px 1px 1px",
    borderColor: "{content.border.color}",
    background: "{content.background}",
    color: "{text.color}",
    padding: "1.125rem"
  },
  colorScheme: {
    light: {
      header: {
        background: "{surface.50}",
        hoverBackground: "{surface.100}",
        activeBackground: "{surface.50}",
        activeHoverBackground: "{surface.100}"
      }
    },
    dark: {
      header: {
        background: "{surface.800}",
        hoverBackground: "{surface.700}",
        activeBackground: "{surface.800}",
        activeHoverBackground: "{surface.700}"
      }
    }
  }
};
var index$1o = {
  root: {
    background: "{form.field.background}",
    disabledBackground: "{form.field.disabled.background}",
    filledBackground: "{form.field.filled.background}",
    filledHoverBackground: "{form.field.filled.hover.background}",
    filledFocusBackground: "{form.field.filled.focus.background}",
    borderColor: "{form.field.border.color}",
    hoverBorderColor: "{form.field.hover.border.color}",
    focusBorderColor: "{form.field.focus.border.color}",
    invalidBorderColor: "{form.field.invalid.border.color}",
    color: "{form.field.color}",
    disabledColor: "{form.field.disabled.color}",
    placeholderColor: "{form.field.placeholder.color}",
    shadow: "{form.field.shadow}",
    paddingX: "{form.field.padding.x}",
    paddingY: "{form.field.padding.y}",
    borderRadius: "{form.field.border.radius}",
    focusRing: {
      width: "{form.field.focus.ring.width}",
      style: "{form.field.focus.ring.style}",
      color: "{form.field.focus.ring.color}",
      offset: "{form.field.focus.ring.offset}",
      shadow: "{form.field.focus.ring.shadow}"
    },
    transitionDuration: "{form.field.transition.duration}"
  },
  overlay: {
    background: "{overlay.select.background}",
    borderColor: "{overlay.select.border.color}",
    borderRadius: "{overlay.select.border.radius}",
    color: "{overlay.select.color}",
    shadow: "{overlay.select.shadow}"
  },
  list: {
    padding: "{list.padding}",
    gap: "{list.gap}"
  },
  option: {
    focusBackground: "{list.option.focus.background}",
    selectedBackground: "{list.option.selected.background}",
    selectedFocusBackground: "{list.option.selected.focus.background}",
    color: "{list.option.color}",
    focusColor: "{list.option.focus.color}",
    selectedColor: "{list.option.selected.color}",
    selectedFocusColor: "{list.option.selected.focus.color}",
    padding: "{list.option.padding}",
    borderRadius: "{list.option.border.radius}"
  },
  optionGroup: {
    background: "{list.option.group.background}",
    color: "{list.option.group.color}",
    fontWeight: "{list.option.group.font.weight}",
    padding: "{list.option.group.padding}"
  },
  dropdown: {
    width: "2.5rem",
    sm: {
      width: "2rem"
    },
    lg: {
      width: "3rem"
    },
    borderColor: "{form.field.border.color}",
    hoverBorderColor: "{form.field.border.color}",
    activeBorderColor: "{form.field.border.color}",
    borderRadius: "{form.field.border.radius}",
    focusRing: {
      width: "{form.field.focus.ring.width}",
      style: "{form.field.focus.ring.style}",
      color: "{form.field.focus.ring.color}",
      offset: "{form.field.focus.ring.offset}",
      shadow: "{form.field.focus.ring.shadow}"
    }
  },
  chip: {
    borderRadius: "{border.radius.sm}"
  },
  emptyMessage: {
    padding: "{list.option.padding}"
  },
  colorScheme: {
    light: {
      chip: {
        focusBackground: "{surface.200}",
        focusColor: "{surface.800}"
      },
      dropdown: {
        background: "{surface.50}",
        hoverBackground: "{surface.100}",
        activeBackground: "{surface.200}",
        color: "{surface.600}",
        hoverColor: "{surface.700}",
        activeColor: "{surface.800}"
      }
    },
    dark: {
      chip: {
        focusBackground: "{surface.700}",
        focusColor: "{surface.0}"
      },
      dropdown: {
        background: "{surface.800}",
        hoverBackground: "{surface.700}",
        activeBackground: "{surface.600}",
        color: "{surface.300}",
        hoverColor: "{surface.200}",
        activeColor: "{surface.100}"
      }
    }
  }
};
var index$1n = {
  root: {
    width: "2rem",
    height: "2rem",
    fontSize: "1rem",
    background: "{content.border.color}",
    color: "{content.color}",
    borderRadius: "{content.border.radius}"
  },
  icon: {
    size: "1rem"
  },
  group: {
    borderColor: "{content.background}",
    offset: "-0.75rem"
  },
  lg: {
    width: "3rem",
    height: "3rem",
    fontSize: "1.5rem",
    icon: {
      size: "1.5rem"
    },
    group: {
      offset: "-1rem"
    }
  },
  xl: {
    width: "4rem",
    height: "4rem",
    fontSize: "2rem",
    icon: {
      size: "2rem"
    }
  }
};
var index$1m = {
  root: {
    borderRadius: "{border.radius.md}",
    padding: "0 0.5rem",
    fontSize: "0.75rem",
    fontWeight: "700",
    minWidth: "1.5rem",
    height: "1.5rem"
  },
  dot: {
    size: "0.5rem"
  },
  sm: {
    fontSize: "0.625rem",
    minWidth: "1.25rem",
    height: "1.25rem"
  },
  lg: {
    fontSize: "0.875rem",
    minWidth: "1.75rem",
    height: "1.75rem"
  },
  xl: {
    fontSize: "1rem",
    minWidth: "2rem",
    height: "2rem"
  },
  colorScheme: {
    light: {
      primary: {
        background: "{primary.color}",
        color: "{primary.contrast.color}"
      },
      secondary: {
        background: "{surface.100}",
        color: "{surface.600}"
      },
      success: {
        background: "{green.500}",
        color: "{surface.0}"
      },
      info: {
        background: "{sky.500}",
        color: "{surface.0}"
      },
      warn: {
        background: "{orange.500}",
        color: "{surface.0}"
      },
      danger: {
        background: "{red.500}",
        color: "{surface.0}"
      },
      contrast: {
        background: "{surface.950}",
        color: "{surface.0}"
      }
    },
    dark: {
      primary: {
        background: "{primary.color}",
        color: "{primary.contrast.color}"
      },
      secondary: {
        background: "{surface.800}",
        color: "{surface.300}"
      },
      success: {
        background: "{green.400}",
        color: "{green.950}"
      },
      info: {
        background: "{sky.400}",
        color: "{sky.950}"
      },
      warn: {
        background: "{orange.400}",
        color: "{orange.950}"
      },
      danger: {
        background: "{red.400}",
        color: "{red.950}"
      },
      contrast: {
        background: "{surface.0}",
        color: "{surface.950}"
      }
    }
  }
};
var index$1l = {
  primitive: {
    borderRadius: {
      none: "0",
      xs: "2px",
      sm: "4px",
      md: "6px",
      lg: "8px",
      xl: "12px"
    },
    emerald: {
      50: "#ecfdf5",
      100: "#d1fae5",
      200: "#a7f3d0",
      300: "#6ee7b7",
      400: "#34d399",
      500: "#10b981",
      600: "#059669",
      700: "#047857",
      800: "#065f46",
      900: "#064e3b",
      950: "#022c22"
    },
    green: {
      50: "#f0fdf4",
      100: "#dcfce7",
      200: "#bbf7d0",
      300: "#86efac",
      400: "#4ade80",
      500: "#22c55e",
      600: "#16a34a",
      700: "#15803d",
      800: "#166534",
      900: "#14532d",
      950: "#052e16"
    },
    lime: {
      50: "#f7fee7",
      100: "#ecfccb",
      200: "#d9f99d",
      300: "#bef264",
      400: "#a3e635",
      500: "#84cc16",
      600: "#65a30d",
      700: "#4d7c0f",
      800: "#3f6212",
      900: "#365314",
      950: "#1a2e05"
    },
    red: {
      50: "#fef2f2",
      100: "#fee2e2",
      200: "#fecaca",
      300: "#fca5a5",
      400: "#f87171",
      500: "#ef4444",
      600: "#dc2626",
      700: "#b91c1c",
      800: "#991b1b",
      900: "#7f1d1d",
      950: "#450a0a"
    },
    orange: {
      50: "#fff7ed",
      100: "#ffedd5",
      200: "#fed7aa",
      300: "#fdba74",
      400: "#fb923c",
      500: "#f97316",
      600: "#ea580c",
      700: "#c2410c",
      800: "#9a3412",
      900: "#7c2d12",
      950: "#431407"
    },
    amber: {
      50: "#fffbeb",
      100: "#fef3c7",
      200: "#fde68a",
      300: "#fcd34d",
      400: "#fbbf24",
      500: "#f59e0b",
      600: "#d97706",
      700: "#b45309",
      800: "#92400e",
      900: "#78350f",
      950: "#451a03"
    },
    yellow: {
      50: "#fefce8",
      100: "#fef9c3",
      200: "#fef08a",
      300: "#fde047",
      400: "#facc15",
      500: "#eab308",
      600: "#ca8a04",
      700: "#a16207",
      800: "#854d0e",
      900: "#713f12",
      950: "#422006"
    },
    teal: {
      50: "#f0fdfa",
      100: "#ccfbf1",
      200: "#99f6e4",
      300: "#5eead4",
      400: "#2dd4bf",
      500: "#14b8a6",
      600: "#0d9488",
      700: "#0f766e",
      800: "#115e59",
      900: "#134e4a",
      950: "#042f2e"
    },
    cyan: {
      50: "#ecfeff",
      100: "#cffafe",
      200: "#a5f3fc",
      300: "#67e8f9",
      400: "#22d3ee",
      500: "#06b6d4",
      600: "#0891b2",
      700: "#0e7490",
      800: "#155e75",
      900: "#164e63",
      950: "#083344"
    },
    sky: {
      50: "#f0f9ff",
      100: "#e0f2fe",
      200: "#bae6fd",
      300: "#7dd3fc",
      400: "#38bdf8",
      500: "#0ea5e9",
      600: "#0284c7",
      700: "#0369a1",
      800: "#075985",
      900: "#0c4a6e",
      950: "#082f49"
    },
    blue: {
      50: "#eff6ff",
      100: "#dbeafe",
      200: "#bfdbfe",
      300: "#93c5fd",
      400: "#60a5fa",
      500: "#3b82f6",
      600: "#2563eb",
      700: "#1d4ed8",
      800: "#1e40af",
      900: "#1e3a8a",
      950: "#172554"
    },
    indigo: {
      50: "#eef2ff",
      100: "#e0e7ff",
      200: "#c7d2fe",
      300: "#a5b4fc",
      400: "#818cf8",
      500: "#6366f1",
      600: "#4f46e5",
      700: "#4338ca",
      800: "#3730a3",
      900: "#312e81",
      950: "#1e1b4b"
    },
    violet: {
      50: "#f5f3ff",
      100: "#ede9fe",
      200: "#ddd6fe",
      300: "#c4b5fd",
      400: "#a78bfa",
      500: "#8b5cf6",
      600: "#7c3aed",
      700: "#6d28d9",
      800: "#5b21b6",
      900: "#4c1d95",
      950: "#2e1065"
    },
    purple: {
      50: "#faf5ff",
      100: "#f3e8ff",
      200: "#e9d5ff",
      300: "#d8b4fe",
      400: "#c084fc",
      500: "#a855f7",
      600: "#9333ea",
      700: "#7e22ce",
      800: "#6b21a8",
      900: "#581c87",
      950: "#3b0764"
    },
    fuchsia: {
      50: "#fdf4ff",
      100: "#fae8ff",
      200: "#f5d0fe",
      300: "#f0abfc",
      400: "#e879f9",
      500: "#d946ef",
      600: "#c026d3",
      700: "#a21caf",
      800: "#86198f",
      900: "#701a75",
      950: "#4a044e"
    },
    pink: {
      50: "#fdf2f8",
      100: "#fce7f3",
      200: "#fbcfe8",
      300: "#f9a8d4",
      400: "#f472b6",
      500: "#ec4899",
      600: "#db2777",
      700: "#be185d",
      800: "#9d174d",
      900: "#831843",
      950: "#500724"
    },
    rose: {
      50: "#fff1f2",
      100: "#ffe4e6",
      200: "#fecdd3",
      300: "#fda4af",
      400: "#fb7185",
      500: "#f43f5e",
      600: "#e11d48",
      700: "#be123c",
      800: "#9f1239",
      900: "#881337",
      950: "#4c0519"
    },
    slate: {
      50: "#f8fafc",
      100: "#f1f5f9",
      200: "#e2e8f0",
      300: "#cbd5e1",
      400: "#94a3b8",
      500: "#64748b",
      600: "#475569",
      700: "#334155",
      800: "#1e293b",
      900: "#0f172a",
      950: "#020617"
    },
    gray: {
      50: "#f9fafb",
      100: "#f3f4f6",
      200: "#e5e7eb",
      300: "#d1d5db",
      400: "#9ca3af",
      500: "#6b7280",
      600: "#4b5563",
      700: "#374151",
      800: "#1f2937",
      900: "#111827",
      950: "#030712"
    },
    zinc: {
      50: "#fafafa",
      100: "#f4f4f5",
      200: "#e4e4e7",
      300: "#d4d4d8",
      400: "#a1a1aa",
      500: "#71717a",
      600: "#52525b",
      700: "#3f3f46",
      800: "#27272a",
      900: "#18181b",
      950: "#09090b"
    },
    neutral: {
      50: "#fafafa",
      100: "#f5f5f5",
      200: "#e5e5e5",
      300: "#d4d4d4",
      400: "#a3a3a3",
      500: "#737373",
      600: "#525252",
      700: "#404040",
      800: "#262626",
      900: "#171717",
      950: "#0a0a0a"
    },
    stone: {
      50: "#fafaf9",
      100: "#f5f5f4",
      200: "#e7e5e4",
      300: "#d6d3d1",
      400: "#a8a29e",
      500: "#78716c",
      600: "#57534e",
      700: "#44403c",
      800: "#292524",
      900: "#1c1917",
      950: "#0c0a09"
    }
  },
  semantic: {
    transitionDuration: "0.2s",
    focusRing: {
      width: "0",
      style: "none",
      color: "transparent",
      offset: "0"
    },
    disabledOpacity: "0.6",
    iconSize: "1rem",
    anchorGutter: "2px",
    primary: {
      50: "{emerald.50}",
      100: "{emerald.100}",
      200: "{emerald.200}",
      300: "{emerald.300}",
      400: "{emerald.400}",
      500: "{emerald.500}",
      600: "{emerald.600}",
      700: "{emerald.700}",
      800: "{emerald.800}",
      900: "{emerald.900}",
      950: "{emerald.950}"
    },
    formField: {
      paddingX: "0.75rem",
      paddingY: "0.625rem",
      sm: {
        fontSize: "0.875rem",
        paddingX: "0.625rem",
        paddingY: "0.5rem"
      },
      lg: {
        fontSize: "1.125rem",
        paddingX: "0.875rem",
        paddingY: "0.75rem"
      },
      borderRadius: "{border.radius.md}",
      focusRing: {
        width: "{focus.ring.width}",
        style: "{focus.ring.style}",
        color: "{focus.ring.color}",
        offset: "{focus.ring.offset}",
        shadow: "{focus.ring.shadow}"
      },
      transitionDuration: "{transition.duration}"
    },
    list: {
      padding: "0.5rem 0",
      gap: "0",
      header: {
        padding: "0.625rem 1rem 0 1rem"
      },
      option: {
        padding: "0.625rem 1rem",
        borderRadius: "0"
      },
      optionGroup: {
        padding: "0.625rem 1rem",
        fontWeight: "600"
      }
    },
    content: {
      borderRadius: "{border.radius.md}"
    },
    mask: {
      transitionDuration: "0.15s"
    },
    navigation: {
      list: {
        padding: "0.5rem 0",
        gap: "0"
      },
      item: {
        padding: "0.625rem 1rem",
        borderRadius: "0",
        gap: "0.5rem"
      },
      submenuLabel: {
        padding: "0.625rem 1rem",
        fontWeight: "600"
      },
      submenuIcon: {
        size: "0.875rem"
      }
    },
    overlay: {
      select: {
        borderRadius: "{border.radius.md}",
        shadow: "0 2px 12px 0 rgba(0, 0, 0, 0.1)"
      },
      popover: {
        borderRadius: "{border.radius.md}",
        padding: "1rem",
        shadow: "0 1px 3px rgba(0, 0, 0, 0.1)"
      },
      modal: {
        borderRadius: "{border.radius.xl}",
        padding: "1.5rem",
        shadow: "0 1px 3px rgba(0, 0, 0, 0.3)"
      },
      navigation: {
        shadow: "0 2px 12px 0 rgba(0, 0, 0, 0.1)"
      }
    },
    colorScheme: {
      light: {
        surface: {
          0: "#ffffff",
          50: "{slate.50}",
          100: "{slate.100}",
          200: "{slate.200}",
          300: "{slate.300}",
          400: "{slate.400}",
          500: "{slate.500}",
          600: "{slate.600}",
          700: "{slate.700}",
          800: "{slate.800}",
          900: "{slate.900}",
          950: "{slate.950}"
        },
        primary: {
          color: "{primary.500}",
          contrastColor: "#ffffff",
          hoverColor: "{primary.600}",
          activeColor: "{primary.700}"
        },
        highlight: {
          background: "{primary.50}",
          focusBackground: "{primary.100}",
          color: "{primary.700}",
          focusColor: "{primary.800}"
        },
        focusRing: {
          shadow: "0 0 0 0.2rem {primary.200}"
        },
        mask: {
          background: "rgba(0,0,0,0.4)",
          color: "{surface.200}"
        },
        formField: {
          background: "{surface.0}",
          disabledBackground: "{surface.200}",
          filledBackground: "{surface.50}",
          filledHoverBackground: "{surface.50}",
          filledFocusBackground: "{surface.0}",
          borderColor: "{surface.300}",
          hoverBorderColor: "{primary.color}",
          focusBorderColor: "{primary.color}",
          invalidBorderColor: "{red.400}",
          color: "{surface.700}",
          disabledColor: "{surface.500}",
          placeholderColor: "{surface.500}",
          invalidPlaceholderColor: "{red.600}",
          floatLabelColor: "{surface.500}",
          floatLabelFocusColor: "{primary.600}",
          floatLabelActiveColor: "{surface.500}",
          floatLabelInvalidColor: "{form.field.invalid.placeholder.color}",
          iconColor: "{surface.500}",
          shadow: "none"
        },
        text: {
          color: "{surface.700}",
          hoverColor: "{surface.800}",
          mutedColor: "{surface.500}",
          hoverMutedColor: "{surface.600}"
        },
        content: {
          background: "{surface.0}",
          hoverBackground: "{surface.100}",
          borderColor: "{surface.200}",
          color: "{text.color}",
          hoverColor: "{text.hover.color}"
        },
        overlay: {
          select: {
            background: "{surface.0}",
            borderColor: "{surface.200}",
            color: "{text.color}"
          },
          popover: {
            background: "{surface.0}",
            borderColor: "{surface.200}",
            color: "{text.color}"
          },
          modal: {
            background: "{surface.0}",
            borderColor: "{surface.200}",
            color: "{text.color}"
          }
        },
        list: {
          option: {
            focusBackground: "{surface.100}",
            selectedBackground: "{highlight.background}",
            selectedFocusBackground: "{highlight.focus.background}",
            color: "{text.color}",
            focusColor: "{text.hover.color}",
            selectedColor: "{highlight.color}",
            selectedFocusColor: "{highlight.focus.color}",
            icon: {
              color: "{surface.400}",
              focusColor: "{surface.500}"
            }
          },
          optionGroup: {
            background: "transparent",
            color: "{text.color}"
          }
        },
        navigation: {
          item: {
            focusBackground: "{surface.100}",
            activeBackground: "{surface.100}",
            color: "{text.color}",
            focusColor: "{text.hover.color}",
            activeColor: "{text.hover.color}",
            icon: {
              color: "{surface.400}",
              focusColor: "{surface.500}",
              activeColor: "{surface.500}"
            }
          },
          submenuLabel: {
            background: "transparent",
            color: "{text.color}"
          },
          submenuIcon: {
            color: "{surface.400}",
            focusColor: "{surface.500}",
            activeColor: "{surface.500}"
          }
        }
      },
      dark: {
        surface: {
          0: "#ffffff",
          50: "{zinc.50}",
          100: "{zinc.100}",
          200: "{zinc.200}",
          300: "{zinc.300}",
          400: "{zinc.400}",
          500: "{zinc.500}",
          600: "{zinc.600}",
          700: "{zinc.700}",
          800: "{zinc.800}",
          900: "{zinc.900}",
          950: "{zinc.950}"
        },
        primary: {
          color: "{primary.400}",
          contrastColor: "{surface.900}",
          hoverColor: "{primary.300}",
          activeColor: "{primary.200}"
        },
        highlight: {
          background: "color-mix(in srgb, {primary.400}, transparent 84%)",
          focusBackground: "color-mix(in srgb, {primary.400}, transparent 76%)",
          color: "rgba(255,255,255,.87)",
          focusColor: "rgba(255,255,255,.87)"
        },
        focusRing: {
          shadow: "0 0 0 0.2rem color-mix(in srgb, {primary.color}, transparent 80%)"
        },
        mask: {
          background: "rgba(0,0,0,0.6)",
          color: "{surface.200}"
        },
        formField: {
          background: "{surface.950}",
          disabledBackground: "{surface.700}",
          filledBackground: "{surface.800}",
          filledHoverBackground: "{surface.800}",
          filledFocusBackground: "{surface.950}",
          borderColor: "{surface.600}",
          hoverBorderColor: "{primary.color}",
          focusBorderColor: "{primary.color}",
          invalidBorderColor: "{red.300}",
          color: "{surface.0}",
          disabledColor: "{surface.400}",
          placeholderColor: "{surface.400}",
          invalidPlaceholderColor: "{red.400}",
          floatLabelColor: "{surface.400}",
          floatLabelFocusColor: "{primary.color}",
          floatLabelActiveColor: "{surface.400}",
          floatLabelInvalidColor: "{form.field.invalid.placeholder.color}",
          iconColor: "{surface.400}",
          shadow: "none"
        },
        text: {
          color: "{surface.0}",
          hoverColor: "{surface.0}",
          mutedColor: "{surface.400}",
          hoverMutedColor: "{surface.300}"
        },
        content: {
          background: "{surface.900}",
          hoverBackground: "{surface.800}",
          borderColor: "{surface.700}",
          color: "{text.color}",
          hoverColor: "{text.hover.color}"
        },
        overlay: {
          select: {
            background: "{surface.900}",
            borderColor: "{surface.700}",
            color: "{text.color}"
          },
          popover: {
            background: "{surface.900}",
            borderColor: "{surface.700}",
            color: "{text.color}"
          },
          modal: {
            background: "{surface.900}",
            borderColor: "{surface.700}",
            color: "{text.color}"
          }
        },
        list: {
          option: {
            focusBackground: "{surface.800}",
            selectedBackground: "{highlight.background}",
            selectedFocusBackground: "{highlight.focus.background}",
            color: "{text.color}",
            focusColor: "{text.hover.color}",
            selectedColor: "{highlight.color}",
            selectedFocusColor: "{highlight.focus.color}",
            icon: {
              color: "{surface.500}",
              focusColor: "{surface.400}"
            }
          },
          optionGroup: {
            background: "transparent",
            color: "{text.color}"
          }
        },
        navigation: {
          item: {
            focusBackground: "{surface.800}",
            activeBackground: "{surface.800}",
            color: "{text.color}",
            focusColor: "{text.hover.color}",
            activeColor: "{text.hover.color}",
            icon: {
              color: "{surface.500}",
              focusColor: "{surface.400}",
              activeColor: "{surface.400}"
            }
          },
          submenuLabel: {
            background: "transparent",
            color: "{text.color}"
          },
          submenuIcon: {
            color: "{surface.500}",
            focusColor: "{surface.400}",
            activeColor: "{surface.400}"
          }
        }
      }
    }
  }
};
var index$1k = {
  root: {
    borderRadius: "{content.border.radius}"
  }
};
var index$1j = {
  root: {
    padding: "1.25rem",
    background: "{content.background}",
    gap: "0.5rem",
    transitionDuration: "{transition.duration}"
  },
  item: {
    color: "{text.muted.color}",
    hoverColor: "{text.color}",
    borderRadius: "{content.border.radius}",
    gap: "{navigation.item.gap}",
    icon: {
      color: "{navigation.item.icon.color}",
      hoverColor: "{navigation.item.icon.focus.color}"
    },
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  },
  separator: {
    color: "{navigation.item.icon.color}"
  }
};
var index$1i = {
  root: {
    borderRadius: "{form.field.border.radius}",
    roundedBorderRadius: "2rem",
    gap: "0.5rem",
    paddingX: "1rem",
    paddingY: "{form.field.padding.y}",
    iconOnlyWidth: "2.75rem",
    sm: {
      fontSize: "{form.field.sm.font.size}",
      paddingX: "{form.field.sm.padding.x}",
      paddingY: "{form.field.sm.padding.y}"
    },
    lg: {
      fontSize: "{form.field.lg.font.size}",
      paddingX: "{form.field.lg.padding.x}",
      paddingY: "{form.field.lg.padding.y}"
    },
    label: {
      fontWeight: "600"
    },
    raisedShadow: "0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)",
    focusRing: {
      width: "{form.field.focus.ring.width}",
      style: "{form.field.focus.ring.style}",
      offset: "{form.field.focus.ring.offset}"
    },
    badgeSize: "1rem",
    transitionDuration: "{form.field.transition.duration}"
  },
  colorScheme: {
    light: {
      root: {
        primary: {
          background: "{primary.color}",
          hoverBackground: "{primary.hover.color}",
          activeBackground: "{primary.active.color}",
          borderColor: "{primary.color}",
          hoverBorderColor: "{primary.hover.color}",
          activeBorderColor: "{primary.active.color}",
          color: "{primary.contrast.color}",
          hoverColor: "{primary.contrast.color}",
          activeColor: "{primary.contrast.color}",
          focusRing: {
            color: "transparent",
            shadow: "0 0 0 0.2rem {primary.200}"
          }
        },
        secondary: {
          background: "{surface.100}",
          hoverBackground: "{surface.200}",
          activeBackground: "{surface.300}",
          borderColor: "{surface.100}",
          hoverBorderColor: "{surface.200}",
          activeBorderColor: "{surface.300}",
          color: "{surface.600}",
          hoverColor: "{surface.700}",
          activeColor: "{surface.800}",
          focusRing: {
            color: "transparent",
            shadow: "0 0 0 0.2rem {surface.200}"
          }
        },
        info: {
          background: "{sky.500}",
          hoverBackground: "{sky.600}",
          activeBackground: "{sky.700}",
          borderColor: "{sky.500}",
          hoverBorderColor: "{sky.600}",
          activeBorderColor: "{sky.700}",
          color: "#ffffff",
          hoverColor: "#ffffff",
          activeColor: "#ffffff",
          focusRing: {
            color: "transparent",
            shadow: "0 0 0 0.2rem {sky.200}"
          }
        },
        success: {
          background: "{green.500}",
          hoverBackground: "{green.600}",
          activeBackground: "{green.700}",
          borderColor: "{green.500}",
          hoverBorderColor: "{green.600}",
          activeBorderColor: "{green.700}",
          color: "#ffffff",
          hoverColor: "#ffffff",
          activeColor: "#ffffff",
          focusRing: {
            color: "transparent",
            shadow: "0 0 0 0.2rem {green.200}"
          }
        },
        warn: {
          background: "{orange.500}",
          hoverBackground: "{orange.600}",
          activeBackground: "{orange.700}",
          borderColor: "{orange.500}",
          hoverBorderColor: "{orange.600}",
          activeBorderColor: "{orange.700}",
          color: "#ffffff",
          hoverColor: "#ffffff",
          activeColor: "#ffffff",
          focusRing: {
            color: "transparent",
            shadow: "0 0 0 0.2rem {orange.200}"
          }
        },
        help: {
          background: "{purple.500}",
          hoverBackground: "{purple.600}",
          activeBackground: "{purple.700}",
          borderColor: "{purple.500}",
          hoverBorderColor: "{purple.600}",
          activeBorderColor: "{purple.700}",
          color: "#ffffff",
          hoverColor: "#ffffff",
          activeColor: "#ffffff",
          focusRing: {
            color: "transparent",
            shadow: "0 0 0 0.2rem {purple.200}"
          }
        },
        danger: {
          background: "{red.500}",
          hoverBackground: "{red.600}",
          activeBackground: "{red.700}",
          borderColor: "{red.500}",
          hoverBorderColor: "{red.600}",
          activeBorderColor: "{red.700}",
          color: "#ffffff",
          hoverColor: "#ffffff",
          activeColor: "#ffffff",
          focusRing: {
            color: "transparent",
            shadow: "0 0 0 0.2rem {red.200}"
          }
        },
        contrast: {
          background: "{surface.950}",
          hoverBackground: "{surface.900}",
          activeBackground: "{surface.800}",
          borderColor: "{surface.950}",
          hoverBorderColor: "{surface.900}",
          activeBorderColor: "{surface.800}",
          color: "{surface.0}",
          hoverColor: "{surface.0}",
          activeColor: "{surface.0}",
          focusRing: {
            color: "transparent",
            shadow: "0 0 0 0.2rem {surface.400}"
          }
        }
      },
      outlined: {
        primary: {
          hoverBackground: "{primary.50}",
          activeBackground: "{primary.100}",
          borderColor: "{primary.200}",
          color: "{primary.color}"
        },
        secondary: {
          hoverBackground: "{surface.50}",
          activeBackground: "{surface.100}",
          borderColor: "{surface.200}",
          color: "{surface.500}"
        },
        success: {
          hoverBackground: "{green.50}",
          activeBackground: "{green.100}",
          borderColor: "{green.200}",
          color: "{green.500}"
        },
        info: {
          hoverBackground: "{sky.50}",
          activeBackground: "{sky.100}",
          borderColor: "{sky.200}",
          color: "{sky.500}"
        },
        warn: {
          hoverBackground: "{orange.50}",
          activeBackground: "{orange.100}",
          borderColor: "{orange.200}",
          color: "{orange.500}"
        },
        help: {
          hoverBackground: "{purple.50}",
          activeBackground: "{purple.100}",
          borderColor: "{purple.200}",
          color: "{purple.500}"
        },
        danger: {
          hoverBackground: "{red.50}",
          activeBackground: "{red.100}",
          borderColor: "{red.200}",
          color: "{red.500}"
        },
        contrast: {
          hoverBackground: "{surface.50}",
          activeBackground: "{surface.100}",
          borderColor: "{surface.700}",
          color: "{surface.950}"
        },
        plain: {
          hoverBackground: "{surface.50}",
          activeBackground: "{surface.100}",
          borderColor: "{surface.200}",
          color: "{surface.700}"
        }
      },
      text: {
        primary: {
          hoverBackground: "{primary.50}",
          activeBackground: "{primary.100}",
          color: "{primary.color}"
        },
        secondary: {
          hoverBackground: "{surface.100}",
          activeBackground: "{surface.200}",
          color: "{surface.600}"
        },
        success: {
          hoverBackground: "{green.50}",
          activeBackground: "{green.100}",
          color: "{green.500}"
        },
        info: {
          hoverBackground: "{sky.50}",
          activeBackground: "{sky.100}",
          color: "{sky.500}"
        },
        warn: {
          hoverBackground: "{orange.50}",
          activeBackground: "{orange.100}",
          color: "{orange.500}"
        },
        help: {
          hoverBackground: "{purple.50}",
          activeBackground: "{purple.100}",
          color: "{purple.500}"
        },
        danger: {
          hoverBackground: "{red.50}",
          activeBackground: "{red.100}",
          color: "{red.500}"
        },
        contrast: {
          hoverBackground: "{surface.50}",
          activeBackground: "{surface.100}",
          color: "{surface.950}"
        },
        plain: {
          hoverBackground: "{surface.50}",
          activeBackground: "{surface.100}",
          color: "{surface.700}"
        }
      },
      link: {
        color: "{primary.color}",
        hoverColor: "{primary.color}",
        activeColor: "{primary.color}"
      }
    },
    dark: {
      root: {
        primary: {
          background: "{primary.color}",
          hoverBackground: "{primary.hover.color}",
          activeBackground: "{primary.active.color}",
          borderColor: "{primary.color}",
          hoverBorderColor: "{primary.hover.color}",
          activeBorderColor: "{primary.active.color}",
          color: "{primary.contrast.color}",
          hoverColor: "{primary.contrast.color}",
          activeColor: "{primary.contrast.color}",
          focusRing: {
            color: "transparent",
            shadow: "0 0 0 0.2rem color-mix(in srgb, {primary.color}, transparent 80%)"
          }
        },
        secondary: {
          background: "{surface.800}",
          hoverBackground: "{surface.700}",
          activeBackground: "{surface.600}",
          borderColor: "{surface.800}",
          hoverBorderColor: "{surface.700}",
          activeBorderColor: "{surface.600}",
          color: "{surface.300}",
          hoverColor: "{surface.200}",
          activeColor: "{surface.100}",
          focusRing: {
            color: "transparent",
            shadow: "0 0 0 0.2rem color-mix(in srgb, {surface.300}, transparent 80%)"
          }
        },
        info: {
          background: "{sky.400}",
          hoverBackground: "{sky.300}",
          activeBackground: "{sky.200}",
          borderColor: "{sky.400}",
          hoverBorderColor: "{sky.300}",
          activeBorderColor: "{sky.200}",
          color: "{sky.950}",
          hoverColor: "{sky.950}",
          activeColor: "{sky.950}",
          focusRing: {
            color: "transparent",
            shadow: "0 0 0 0.2rem color-mix(in srgb, {sky.400}, transparent 80%)"
          }
        },
        success: {
          background: "{green.400}",
          hoverBackground: "{green.300}",
          activeBackground: "{green.200}",
          borderColor: "{green.400}",
          hoverBorderColor: "{green.300}",
          activeBorderColor: "{green.200}",
          color: "{green.950}",
          hoverColor: "{green.950}",
          activeColor: "{green.950}",
          focusRing: {
            color: "transparent",
            shadow: "0 0 0 0.2rem color-mix(in srgb, {green.400}, transparent 80%)"
          }
        },
        warn: {
          background: "{orange.400}",
          hoverBackground: "{orange.300}",
          activeBackground: "{orange.200}",
          borderColor: "{orange.400}",
          hoverBorderColor: "{orange.300}",
          activeBorderColor: "{orange.200}",
          color: "{orange.950}",
          hoverColor: "{orange.950}",
          activeColor: "{orange.950}",
          focusRing: {
            color: "transparent",
            shadow: "0 0 0 0.2rem color-mix(in srgb, {orange.400}, transparent 80%)"
          }
        },
        help: {
          background: "{purple.400}",
          hoverBackground: "{purple.300}",
          activeBackground: "{purple.200}",
          borderColor: "{purple.400}",
          hoverBorderColor: "{purple.300}",
          activeBorderColor: "{purple.200}",
          color: "{purple.950}",
          hoverColor: "{purple.950}",
          activeColor: "{purple.950}",
          focusRing: {
            color: "transparent",
            shadow: "0 0 0 0.2rem color-mix(in srgb, {purple.400}, transparent 80%)"
          }
        },
        danger: {
          background: "{red.400}",
          hoverBackground: "{red.300}",
          activeBackground: "{red.200}",
          borderColor: "{red.400}",
          hoverBorderColor: "{red.300}",
          activeBorderColor: "{red.200}",
          color: "{red.950}",
          hoverColor: "{red.950}",
          activeColor: "{red.950}",
          focusRing: {
            color: "transparent",
            shadow: "0 0 0 0.2rem color-mix(in srgb, {red.400}, transparent 80%)"
          }
        },
        contrast: {
          background: "{surface.0}",
          hoverBackground: "{surface.100}",
          activeBackground: "{surface.200}",
          borderColor: "{surface.0}",
          hoverBorderColor: "{surface.100}",
          activeBorderColor: "{surface.200}",
          color: "{surface.950}",
          hoverColor: "{surface.950}",
          activeColor: "{surface.950}",
          focusRing: {
            color: "transparent",
            shadow: "0 0 0 0.2rem color-mix(in srgb, {surface.0}, transparent 80%)"
          }
        }
      },
      outlined: {
        primary: {
          hoverBackground: "color-mix(in srgb, {primary.color}, transparent 96%)",
          activeBackground: "color-mix(in srgb, {primary.color}, transparent 84%)",
          borderColor: "{primary.700}",
          color: "{primary.color}"
        },
        secondary: {
          hoverBackground: "rgba(255,255,255,0.04)",
          activeBackground: "rgba(255,255,255,0.16)",
          borderColor: "{surface.700}",
          color: "{surface.400}"
        },
        success: {
          hoverBackground: "color-mix(in srgb, {green.400}, transparent 96%)",
          activeBackground: "color-mix(in srgb, {green.400}, transparent 84%)",
          borderColor: "{green.700}",
          color: "{green.400}"
        },
        info: {
          hoverBackground: "color-mix(in srgb, {sky.400}, transparent 96%)",
          activeBackground: "color-mix(in srgb, {sky.400}, transparent 84%)",
          borderColor: "{sky.700}",
          color: "{sky.400}"
        },
        warn: {
          hoverBackground: "color-mix(in srgb, {orange.400}, transparent 96%)",
          activeBackground: "color-mix(in srgb, {orange.400}, transparent 84%)",
          borderColor: "{orange.700}",
          color: "{orange.400}"
        },
        help: {
          hoverBackground: "color-mix(in srgb, {help.400}, transparent 96%)",
          activeBackground: "color-mix(in srgb, {help.400}, transparent 84%)",
          borderColor: "{purple.700}",
          color: "{purple.400}"
        },
        danger: {
          hoverBackground: "color-mix(in srgb, {danger.400}, transparent 96%)",
          activeBackground: "color-mix(in srgb, {danger.400}, transparent 84%)",
          borderColor: "{red.700}",
          color: "{red.400}"
        },
        contrast: {
          hoverBackground: "{surface.800}",
          activeBackground: "{surface.700}",
          borderColor: "{surface.500}",
          color: "{surface.0}"
        },
        plain: {
          hoverBackground: "{surface.800}",
          activeBackground: "{surface.700}",
          borderColor: "{surface.600}",
          color: "{surface.0}"
        }
      },
      text: {
        primary: {
          hoverBackground: "color-mix(in srgb, {primary.color}, transparent 96%)",
          activeBackground: "color-mix(in srgb, {primary.color}, transparent 84%)",
          color: "{primary.color}"
        },
        secondary: {
          hoverBackground: "{surface.700}",
          activeBackground: "{surface.600}",
          color: "{surface.300}"
        },
        success: {
          hoverBackground: "color-mix(in srgb, {green.400}, transparent 96%)",
          activeBackground: "color-mix(in srgb, {green.400}, transparent 84%)",
          color: "{green.400}"
        },
        info: {
          hoverBackground: "color-mix(in srgb, {sky.400}, transparent 96%)",
          activeBackground: "color-mix(in srgb, {sky.400}, transparent 84%)",
          color: "{sky.400}"
        },
        warn: {
          hoverBackground: "color-mix(in srgb, {orange.400}, transparent 96%)",
          activeBackground: "color-mix(in srgb, {orange.400}, transparent 84%)",
          color: "{orange.400}"
        },
        help: {
          hoverBackground: "color-mix(in srgb, {purple.400}, transparent 96%)",
          activeBackground: "color-mix(in srgb, {purple.400}, transparent 84%)",
          color: "{purple.400}"
        },
        danger: {
          hoverBackground: "color-mix(in srgb, {red.400}, transparent 96%)",
          activeBackground: "color-mix(in srgb, {red.400}, transparent 84%)",
          color: "{red.400}"
        },
        contrast: {
          hoverBackground: "{surface.800}",
          activeBackground: "{surface.700}",
          color: "{surface.0}"
        },
        plain: {
          hoverBackground: "{surface.800}",
          activeBackground: "{surface.700}",
          color: "{surface.0}"
        }
      },
      link: {
        color: "{primary.color}",
        hoverColor: "{primary.color}",
        activeColor: "{primary.color}"
      }
    }
  }
};
var index$1h = {
  root: {
    background: "{content.background}",
    borderRadius: "{border.radius.lg}",
    color: "{content.color}",
    shadow: "0 .125rem .25rem rgba(0,0,0,.075)"
  },
  body: {
    padding: "1.5rem",
    gap: "0.75rem"
  },
  caption: {
    gap: "0.5rem"
  },
  title: {
    fontSize: "1.25rem",
    fontWeight: "700"
  },
  subtitle: {
    color: "{text.muted.color}"
  }
};
var index$1g = {
  root: {
    transitionDuration: "{transition.duration}"
  },
  content: {
    gap: "0.25rem"
  },
  indicatorList: {
    padding: "1rem",
    gap: "0.5rem"
  },
  indicator: {
    width: "1rem",
    height: "1rem",
    borderRadius: "50",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  },
  colorScheme: {
    light: {
      indicator: {
        background: "{surface.200}",
        hoverBackground: "{surface.300}",
        activeBackground: "{primary.color}"
      }
    },
    dark: {
      indicator: {
        background: "{surface.700}",
        hoverBackground: "{surface.600}",
        activeBackground: "{primary.color}"
      }
    }
  }
};
var index$1f = {
  root: {
    background: "{form.field.background}",
    disabledBackground: "{form.field.disabled.background}",
    filledBackground: "{form.field.filled.background}",
    filledHoverBackground: "{form.field.filled.hover.background}",
    filledFocusBackground: "{form.field.filled.focus.background}",
    borderColor: "{form.field.border.color}",
    hoverBorderColor: "{form.field.hover.border.color}",
    focusBorderColor: "{form.field.focus.border.color}",
    invalidBorderColor: "{form.field.invalid.border.color}",
    color: "{form.field.color}",
    disabledColor: "{form.field.disabled.color}",
    placeholderColor: "{form.field.placeholder.color}",
    invalidPlaceholderColor: "{form.field.invalid.placeholder.color}",
    shadow: "{form.field.shadow}",
    paddingX: "{form.field.padding.x}",
    paddingY: "{form.field.padding.y}",
    borderRadius: "{form.field.border.radius}",
    focusRing: {
      width: "{form.field.focus.ring.width}",
      style: "{form.field.focus.ring.style}",
      color: "{form.field.focus.ring.color}",
      offset: "{form.field.focus.ring.offset}",
      shadow: "{form.field.focus.ring.shadow}"
    },
    transitionDuration: "{form.field.transition.duration}",
    sm: {
      fontSize: "{form.field.sm.font.size}",
      paddingX: "{form.field.sm.padding.x}",
      paddingY: "{form.field.sm.padding.y}"
    },
    lg: {
      fontSize: "{form.field.lg.font.size}",
      paddingX: "{form.field.lg.padding.x}",
      paddingY: "{form.field.lg.padding.y}"
    }
  },
  dropdown: {
    width: "2.5rem",
    color: "{form.field.icon.color}"
  },
  overlay: {
    background: "{overlay.select.background}",
    borderColor: "{overlay.select.border.color}",
    borderRadius: "{overlay.select.border.radius}",
    color: "{overlay.select.color}",
    shadow: "{overlay.select.shadow}"
  },
  list: {
    padding: "{list.padding}",
    gap: "{list.gap}",
    mobileIndent: "1.25rem"
  },
  option: {
    focusBackground: "{list.option.focus.background}",
    selectedBackground: "{list.option.selected.background}",
    selectedFocusBackground: "{list.option.selected.focus.background}",
    color: "{list.option.color}",
    focusColor: "{list.option.focus.color}",
    selectedColor: "{list.option.selected.color}",
    selectedFocusColor: "{list.option.selected.focus.color}",
    padding: "{list.option.padding}",
    borderRadius: "{list.option.border.radius}",
    icon: {
      color: "{list.option.icon.color}",
      focusColor: "{list.option.icon.focus.color}",
      size: "0.875rem"
    }
  },
  clearIcon: {
    color: "{form.field.icon.color}"
  }
};
var index$1e = {
  root: {
    borderRadius: "{border.radius.sm}",
    width: "1.5rem",
    height: "1.5rem",
    background: "{form.field.background}",
    checkedBackground: "{primary.color}",
    checkedHoverBackground: "{primary.hover.color}",
    disabledBackground: "{form.field.disabled.background}",
    filledBackground: "{form.field.filled.background}",
    borderColor: "{form.field.border.color}",
    hoverBorderColor: "{form.field.hover.border.color}",
    focusBorderColor: "{form.field.focus.border.color}",
    checkedBorderColor: "{primary.color}",
    checkedHoverBorderColor: "{primary.hover.color}",
    checkedFocusBorderColor: "{primary.color}",
    checkedDisabledBorderColor: "{form.field.border.color}",
    invalidBorderColor: "{form.field.invalid.border.color}",
    shadow: "{form.field.shadow}",
    focusRing: {
      width: "{form.field.focus.ring.width}",
      style: "{form.field.focus.ring.style}",
      color: "{form.field.focus.ring.color}",
      offset: "{form.field.focus.ring.offset}",
      shadow: "{form.field.focus.ring.shadow}"
    },
    transitionDuration: "{form.field.transition.duration}",
    sm: {
      width: "1.25rem",
      height: "1.25rem"
    },
    lg: {
      width: "1.75rem",
      height: "1.75rem"
    }
  },
  icon: {
    size: "1rem",
    color: "{form.field.color}",
    checkedColor: "{primary.contrast.color}",
    checkedHoverColor: "{primary.contrast.color}",
    disabledColor: "{form.field.disabled.color}",
    sm: {
      size: "0.75rem"
    },
    lg: {
      size: "1.25rem"
    }
  }
};
var index$1d = {
  root: {
    borderRadius: "16px",
    paddingX: "0.875rem",
    paddingY: "0.625rem",
    gap: "0.5rem",
    transitionDuration: "{transition.duration}"
  },
  image: {
    width: "2rem",
    height: "2rem"
  },
  icon: {
    size: "1rem"
  },
  removeIcon: {
    size: "1rem",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  },
  colorScheme: {
    light: {
      root: {
        background: "{surface.100}",
        color: "{surface.800}"
      },
      icon: {
        color: "{surface.800}"
      },
      removeIcon: {
        color: "{surface.800}"
      }
    },
    dark: {
      root: {
        background: "{surface.800}",
        color: "{surface.0}"
      },
      icon: {
        color: "{surface.0}"
      },
      removeIcon: {
        color: "{surface.0}"
      }
    }
  }
};
var index$1c = {
  root: {
    transitionDuration: "{transition.duration}"
  },
  preview: {
    width: "1.75rem",
    height: "1.75rem",
    borderRadius: "{form.field.border.radius}",
    focusRing: {
      width: "{form.field.focus.ring.width}",
      style: "{form.field.focus.ring.style}",
      color: "{form.field.focus.ring.color}",
      offset: "{form.field.focus.ring.offset}",
      shadow: "{form.field.focus.ring.shadow}"
    }
  },
  panel: {
    shadow: "{overlay.popover.shadow}",
    borderRadius: "{overlay.popover.borderRadius}"
  },
  colorScheme: {
    light: {
      panel: {
        background: "{surface.800}",
        borderColor: "{surface.900}"
      },
      handle: {
        color: "{surface.0}"
      }
    },
    dark: {
      panel: {
        background: "{surface.900}",
        borderColor: "{surface.700}"
      },
      handle: {
        color: "{surface.0}"
      }
    }
  }
};
var index$1b = {
  icon: {
    size: "2rem",
    color: "{overlay.modal.color}"
  },
  content: {
    gap: "1rem"
  }
};
var index$1a = {
  root: {
    background: "{overlay.popover.background}",
    borderColor: "{overlay.popover.border.color}",
    color: "{overlay.popover.color}",
    borderRadius: "{overlay.popover.border.radius}",
    shadow: "{overlay.popover.shadow}",
    gutter: "10px",
    arrowOffset: "1.25rem"
  },
  content: {
    padding: "{overlay.popover.padding}",
    gap: "1rem"
  },
  icon: {
    size: "1.5rem",
    color: "{overlay.popover.color}"
  },
  footer: {
    gap: "0.5rem",
    padding: "0 {overlay.popover.padding} {overlay.popover.padding} {overlay.popover.padding}"
  }
};
var index$19 = {
  root: {
    background: "{content.background}",
    borderColor: "{content.border.color}",
    color: "{content.color}",
    borderRadius: "{content.border.radius}",
    shadow: "{overlay.navigation.shadow}",
    transitionDuration: "{transition.duration}"
  },
  list: {
    padding: "{navigation.list.padding}",
    gap: "{navigation.list.gap}"
  },
  item: {
    focusBackground: "{navigation.item.focus.background}",
    activeBackground: "{navigation.item.active.background}",
    color: "{navigation.item.color}",
    focusColor: "{navigation.item.focus.color}",
    activeColor: "{navigation.item.active.color}",
    padding: "{navigation.item.padding}",
    borderRadius: "{navigation.item.border.radius}",
    gap: "{navigation.item.gap}",
    icon: {
      color: "{navigation.item.icon.color}",
      focusColor: "{navigation.item.icon.focus.color}",
      activeColor: "{navigation.item.icon.active.color}"
    }
  },
  submenu: {
    mobileIndent: "1.25rem"
  },
  submenuLabel: {
    padding: "{navigation.submenu.label.padding}",
    fontWeight: "{navigation.submenu.label.font.weight}",
    background: "{navigation.submenu.label.background.}",
    color: "{navigation.submenu.label.color}"
  },
  submenuIcon: {
    size: "{navigation.submenu.icon.size}",
    color: "{navigation.submenu.icon.color}",
    focusColor: "{navigation.submenu.icon.focus.color}",
    activeColor: "{navigation.submenu.icon.active.color}"
  },
  separator: {
    borderColor: "{content.border.color}"
  }
};
var index$18 = {
  root: {
    transitionDuration: "{transition.duration}"
  },
  header: {
    borderColor: "{datatable.border.color}",
    borderWidth: "1px 0 1px 0",
    padding: "0.75rem 1rem"
  },
  headerCell: {
    selectedBackground: "{highlight.background}",
    borderColor: "{datatable.border.color}",
    hoverColor: "{content.hover.color}",
    selectedColor: "{highlight.color}",
    gap: "0.5rem",
    padding: "0.75rem 1rem",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "inset {focus.ring.shadow}"
    }
  },
  columnTitle: {
    fontWeight: "700"
  },
  row: {
    background: "{content.background}",
    hoverBackground: "{content.hover.background}",
    selectedBackground: "{highlight.background}",
    color: "{content.color}",
    hoverColor: "{content.hover.color}",
    selectedColor: "{highlight.color}",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "inset {focus.ring.shadow}"
    }
  },
  bodyCell: {
    borderColor: "{datatable.border.color}",
    padding: "0.75rem 1rem"
  },
  footerCell: {
    borderColor: "{datatable.border.color}",
    padding: "0.75rem 1rem"
  },
  columnFooter: {
    fontWeight: "700"
  },
  footer: {
    borderColor: "{datatable.border.color}",
    borderWidth: "0 0 1px 0",
    padding: "0.75rem 1rem"
  },
  dropPoint: {
    color: "{primary.color}"
  },
  columnResizerWidth: "0.5rem",
  resizeIndicator: {
    width: "1px",
    color: "{primary.color}"
  },
  sortIcon: {
    color: "{text.muted.color}",
    hoverColor: "{text.hover.muted.color}",
    size: "0.875rem"
  },
  loadingIcon: {
    size: "2rem"
  },
  rowToggleButton: {
    hoverBackground: "{content.hover.background}",
    selectedHoverBackground: "{content.background}",
    color: "{text.muted.color}",
    hoverColor: "{text.color}",
    selectedHoverColor: "{primary.color}",
    size: "1.75rem",
    borderRadius: "50%",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  },
  filter: {
    inlineGap: "0.5rem",
    overlaySelect: {
      background: "{overlay.select.background}",
      borderColor: "{overlay.select.border.color}",
      borderRadius: "{overlay.select.border.radius}",
      color: "{overlay.select.color}",
      shadow: "{overlay.select.shadow}"
    },
    overlayPopover: {
      background: "{overlay.popover.background}",
      borderColor: "{overlay.popover.border.color}",
      borderRadius: "{overlay.popover.border.radius}",
      color: "{overlay.popover.color}",
      shadow: "{overlay.popover.shadow}",
      padding: "{overlay.popover.padding}",
      gap: "0.5rem"
    },
    rule: {
      borderColor: "{content.border.color}"
    },
    constraintList: {
      padding: "{list.padding}",
      gap: "{list.gap}"
    },
    constraint: {
      focusBackground: "{list.option.focus.background}",
      selectedBackground: "{list.option.selected.background}",
      selectedFocusBackground: "{list.option.selected.focus.background}",
      color: "{list.option.color}",
      focusColor: "{list.option.focus.color}",
      selectedColor: "{list.option.selected.color}",
      selectedFocusColor: "{list.option.selected.focus.color}",
      separator: {
        borderColor: "{content.border.color}"
      },
      padding: "{list.option.padding}",
      borderRadius: "{list.option.border.radius}"
    }
  },
  paginatorTop: {
    borderColor: "{datatable.border.color}",
    borderWidth: "0 0 1px 0"
  },
  paginatorBottom: {
    borderColor: "{datatable.border.color}",
    borderWidth: "0 0 1px 0"
  },
  colorScheme: {
    light: {
      root: {
        borderColor: "{content.border.color}"
      },
      header: {
        background: "{surface.50}",
        color: "{text.color}"
      },
      headerCell: {
        background: "{surface.50}",
        hoverBackground: "{surface.100}",
        color: "{text.color}"
      },
      footer: {
        background: "{surface.50}",
        color: "{text.color}"
      },
      footerCell: {
        background: "{surface.50}",
        color: "{text.color}"
      },
      row: {
        stripedBackground: "{surface.50}"
      },
      bodyCell: {
        selectedBorderColor: "{primary.100}"
      }
    },
    dark: {
      root: {
        borderColor: "{surface.800}"
      },
      header: {
        background: "{surface.800}",
        color: "{text.color}"
      },
      headerCell: {
        background: "{surface.800}",
        hoverBackground: "{surface.700}",
        color: "{text.color}"
      },
      footer: {
        background: "{surface.800}",
        color: "{text.color}"
      },
      footerCell: {
        background: "{surface.800}",
        color: "{text.color}"
      },
      row: {
        stripedBackground: "{surface.950}"
      },
      bodyCell: {
        selectedBorderColor: "{primary.900}"
      }
    }
  }
};
var index$17 = {
  root: {
    borderColor: "{content.border.color}",
    borderWidth: "1px",
    borderRadius: "4px",
    padding: "0"
  },
  header: {
    borderColor: "{content.border.color}",
    borderWidth: "0 0 1px 0",
    padding: "0.875rem 1.125rem",
    borderRadius: "5px 5px 0 0"
  },
  content: {
    background: "{content.background}",
    color: "{content.color}",
    borderColor: "transparent",
    borderWidth: "0",
    padding: "0",
    borderRadius: "5px"
  },
  footer: {
    background: "{content.background}",
    color: "{content.color}",
    borderColor: "{content.border.color}",
    borderWidth: "1px 0 0 0",
    padding: "0.875rem 1.125rem",
    borderRadius: "0 0 5px 5px"
  },
  paginatorTop: {
    borderColor: "{content.border.color}",
    borderWidth: "0 0 1px 0"
  },
  paginatorBottom: {
    borderColor: "{content.border.color}",
    borderWidth: "1px 0 0 0"
  },
  colorScheme: {
    light: {
      header: {
        background: "{surface.50}",
        color: "{text.color}"
      }
    },
    dark: {
      header: {
        background: "{surface.800}",
        color: "{text.color}"
      }
    }
  }
};
var index$16 = {
  root: {
    transitionDuration: "{transition.duration}"
  },
  panel: {
    background: "{content.background}",
    borderColor: "{content.border.color}",
    color: "{content.color}",
    borderRadius: "{content.border.radius}",
    shadow: "{overlay.popover.shadow}",
    padding: "{overlay.popover.padding}"
  },
  header: {
    background: "{content.background}",
    borderColor: "{content.border.color}",
    color: "{content.color}",
    padding: "0 0 0.75rem 0"
  },
  title: {
    gap: "0.5rem",
    fontWeight: "700"
  },
  dropdown: {
    width: "2.5rem",
    sm: {
      width: "2rem"
    },
    lg: {
      width: "3rem"
    },
    borderColor: "{form.field.border.color}",
    hoverBorderColor: "{form.field.border.color}",
    activeBorderColor: "{form.field.border.color}",
    borderRadius: "{form.field.border.radius}",
    focusRing: {
      width: "{form.field.focus.ring.width}",
      style: "{form.field.focus.ring.style}",
      color: "{form.field.focus.ring.color}",
      offset: "{form.field.focus.ring.offset}",
      shadow: "{form.field.focus.ring.shadow}"
    }
  },
  inputIcon: {
    color: "{form.field.icon.color}"
  },
  selectMonth: {
    hoverBackground: "{content.hover.background}",
    color: "{content.color}",
    hoverColor: "{content.hover.color}",
    padding: "0.375rem 0.625rem",
    borderRadius: "{content.border.radius}"
  },
  selectYear: {
    hoverBackground: "{content.hover.background}",
    color: "{content.color}",
    hoverColor: "{content.hover.color}",
    padding: "0.375rem 0.625rem",
    borderRadius: "{content.border.radius}"
  },
  group: {
    borderColor: "{content.border.color}",
    gap: "{overlay.popover.padding}"
  },
  dayView: {
    margin: "0.75rem 0 0 0"
  },
  weekDay: {
    padding: "0.375rem",
    fontWeight: "700",
    color: "{content.color}"
  },
  date: {
    hoverBackground: "{content.hover.background}",
    selectedBackground: "{primary.color}",
    rangeSelectedBackground: "{highlight.background}",
    color: "{content.color}",
    hoverColor: "{content.hover.color}",
    selectedColor: "{primary.contrast.color}",
    rangeSelectedColor: "{highlight.color}",
    width: "2.5rem",
    height: "2.5rem",
    borderRadius: "50%",
    padding: "0.375rem",
    focusRing: {
      width: "{form.field.focus.ring.width}",
      style: "{form.field.focus.ring.style}",
      color: "{form.field.focus.ring.color}",
      offset: "{form.field.focus.ring.offset}",
      shadow: "{form.field.focus.ring.shadow}"
    }
  },
  monthView: {
    margin: "0.75rem 0 0 0"
  },
  month: {
    padding: "0.5rem",
    borderRadius: "{content.border.radius}"
  },
  yearView: {
    margin: "0.75rem 0 0 0"
  },
  year: {
    padding: "0.5rem",
    borderRadius: "{content.border.radius}"
  },
  buttonbar: {
    padding: "0.75rem 0 0 0",
    borderColor: "{content.border.color}"
  },
  timePicker: {
    padding: "0.75rem 0 0 0",
    borderColor: "{content.border.color}",
    gap: "0.5rem",
    buttonGap: "0.25rem"
  },
  colorScheme: {
    light: {
      dropdown: {
        background: "{surface.50}",
        hoverBackground: "{surface.100}",
        activeBackground: "{surface.200}",
        color: "{surface.600}",
        hoverColor: "{surface.700}",
        activeColor: "{surface.800}"
      },
      today: {
        background: "{surface.200}",
        color: "{surface.900}"
      }
    },
    dark: {
      dropdown: {
        background: "{surface.800}",
        hoverBackground: "{surface.700}",
        activeBackground: "{surface.600}",
        color: "{surface.300}",
        hoverColor: "{surface.200}",
        activeColor: "{surface.100}"
      },
      today: {
        background: "{surface.700}",
        color: "{surface.0}"
      }
    }
  }
};
var index$15 = {
  root: {
    background: "{overlay.modal.background}",
    borderColor: "{overlay.modal.border.color}",
    color: "{overlay.modal.color}",
    borderRadius: "{overlay.modal.border.radius}",
    shadow: "{overlay.modal.shadow}"
  },
  header: {
    padding: "{overlay.modal.padding}",
    gap: "0.5rem"
  },
  title: {
    fontSize: "1.25rem",
    fontWeight: "600"
  },
  content: {
    padding: "0 {overlay.modal.padding} {overlay.modal.padding} {overlay.modal.padding}"
  },
  footer: {
    padding: "0 {overlay.modal.padding} {overlay.modal.padding} {overlay.modal.padding}",
    gap: "0.5rem"
  }
};
var index$14 = {
  root: {
    borderColor: "{content.border.color}"
  },
  content: {
    background: "{content.background}",
    color: "{text.color}"
  },
  horizontal: {
    margin: "1.125rem 0",
    padding: "0 1.125rem",
    content: {
      padding: "0 0.625rem"
    }
  },
  vertical: {
    margin: "0 1.125rem",
    padding: "1.125rem 0",
    content: {
      padding: "0.625rem 0"
    }
  }
};
var index$13 = {
  root: {
    background: "rgba(255, 255, 255, 0.1)",
    borderColor: "rgba(255, 255, 255, 0.2)",
    padding: "0.5rem",
    borderRadius: "{border.radius.lg}"
  },
  item: {
    borderRadius: "{content.border.radius}",
    padding: "0.5rem",
    size: "3rem",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  }
};
var index$12 = {
  root: {
    background: "{overlay.modal.background}",
    borderColor: "{overlay.modal.border.color}",
    color: "{overlay.modal.color}",
    shadow: "{overlay.modal.shadow}"
  },
  header: {
    padding: "{overlay.modal.padding}"
  },
  title: {
    fontSize: "1.5rem",
    fontWeight: "600"
  },
  content: {
    padding: "0 {overlay.modal.padding} {overlay.modal.padding} {overlay.modal.padding}"
  },
  footer: {
    padding: "{overlay.modal.padding}"
  }
};
var index$11 = {
  toolbar: {
    borderColor: "{content.border.color}",
    borderRadius: "{content.border.radius}"
  },
  toolbarItem: {
    color: "{text.muted.color}",
    hoverColor: "{text.color}",
    activeColor: "{primary.color}"
  },
  overlay: {
    background: "{overlay.select.background}",
    borderColor: "{overlay.select.border.color}",
    borderRadius: "{overlay.select.border.radius}",
    color: "{overlay.select.color}",
    shadow: "{overlay.select.shadow}",
    padding: "{list.padding}"
  },
  overlayOption: {
    focusBackground: "{list.option.focus.background}",
    color: "{list.option.color}",
    focusColor: "{list.option.focus.color}",
    padding: "{list.option.padding}",
    borderRadius: "{list.option.border.radius}"
  },
  content: {
    background: "{content.background}",
    borderColor: "{content.border.color}",
    color: "{content.color}",
    borderRadius: "{content.border.radius}"
  },
  colorScheme: {
    light: {
      toolbar: {
        background: "{surface.50}"
      }
    },
    dark: {
      toolbar: {
        background: "{surface.800}"
      }
    }
  }
};
var index$10 = {
  root: {
    background: "{content.background}",
    borderColor: "{content.border.color}",
    borderRadius: "{content.border.radius}",
    color: "{content.color}",
    padding: "0.75rem 1.125rem 1.125rem 1.125rem",
    transitionDuration: "{transition.duration}"
  },
  legend: {
    borderRadius: "{content.border.radius}",
    borderWidth: "1px",
    borderColor: "{content.border.color}",
    padding: "0.625rem 0.875rem",
    gap: "0.5rem",
    fontWeight: "700",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  },
  toggleIcon: {
    color: "{text.muted.color}",
    hoverColor: "{text.hover.muted.color}"
  },
  content: {
    padding: "0"
  },
  colorScheme: {
    light: {
      legend: {
        background: "{surface.50}",
        hoverBackground: "{surface.100}",
        color: "{text.color}",
        hoverColor: "{text.hover.color}"
      }
    },
    dark: {
      legend: {
        background: "{surface.800}",
        hoverBackground: "{surface.700}",
        color: "{text.color}",
        hoverColor: "{text.hover.color}"
      }
    }
  }
};
var index$$ = {
  root: {
    background: "{content.background}",
    borderColor: "{content.border.color}",
    color: "{content.color}",
    borderRadius: "{content.border.radius}",
    transitionDuration: "{transition.duration}"
  },
  header: {
    borderWidth: "0 0 1px 0",
    borderColor: "{content.border.color}",
    padding: "1.125rem",
    borderRadius: "5px 5px 0 0",
    gap: "0.5rem"
  },
  content: {
    highlightBorderColor: "{primary.color}",
    padding: "1.125rem",
    gap: "1rem"
  },
  file: {
    padding: "1rem",
    gap: "1rem",
    borderColor: "{content.border.color}",
    info: {
      gap: "0.5rem"
    }
  },
  fileList: {
    gap: "0.5rem"
  },
  progressbar: {
    height: "0.25rem"
  },
  basic: {
    gap: "0.5rem"
  },
  colorScheme: {
    light: {
      header: {
        background: "{surface.50}",
        color: "{text.color}"
      }
    },
    dark: {
      header: {
        background: "{surface.800}",
        color: "{text.color}"
      }
    }
  }
};
var index$_ = {
  root: {
    color: "{form.field.float.label.color}",
    focusColor: "{form.field.float.label.focus.color}",
    activeColor: "{form.field.float.label.active.color}",
    invalidColor: "{form.field.float.label.invalid.color}",
    transitionDuration: "0.2s",
    positionX: "{form.field.padding.x}",
    positionY: "{form.field.padding.y}",
    fontWeight: "500",
    active: {
      fontSize: "0.75rem",
      fontWeight: "400"
    }
  },
  over: {
    active: {
      top: "-1.375rem"
    }
  },
  "in": {
    input: {
      paddingTop: "1.875rem",
      paddingBottom: "{form.field.padding.y}"
    },
    active: {
      top: "{form.field.padding.y}"
    }
  },
  on: {
    borderRadius: "{border.radius.xs}",
    active: {
      background: "{form.field.background}",
      padding: "0 0.125rem"
    }
  }
};
var index$Z = {
  root: {
    borderWidth: "1px",
    borderColor: "{content.border.color}",
    borderRadius: "{content.border.radius}",
    transitionDuration: "{transition.duration}"
  },
  navButton: {
    background: "rgba(255, 255, 255, 0.1)",
    hoverBackground: "rgba(255, 255, 255, 0.2)",
    color: "{surface.100}",
    hoverColor: "{surface.0}",
    size: "3rem",
    gutter: "0",
    prev: {
      borderRadius: "0 12px 12px 0"
    },
    next: {
      borderRadius: "12px 0 0 12px"
    },
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  },
  navIcon: {
    size: "1.5rem"
  },
  thumbnailsContent: {
    padding: "1rem 0.25rem"
  },
  thumbnailNavButton: {
    size: "2rem",
    borderRadius: "{content.border.radius}",
    gutter: "0.5rem",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  },
  thumbnailNavButtonIcon: {
    size: "1rem"
  },
  caption: {
    background: "rgba(0, 0, 0, 0.5)",
    color: "{surface.100}",
    padding: "1rem"
  },
  indicatorList: {
    gap: "0.5rem",
    padding: "1rem"
  },
  indicatorButton: {
    width: "1rem",
    height: "1rem",
    activeBackground: "{primary.color}",
    borderRadius: "50%",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  },
  insetIndicatorList: {
    background: "rgba(0, 0, 0, 0.5)"
  },
  insetIndicatorButton: {
    background: "rgba(255, 255, 255, 0.4)",
    hoverBackground: "rgba(255, 255, 255, 0.6)",
    activeBackground: "rgba(255, 255, 255, 0.9)"
  },
  closeButton: {
    size: "3rem",
    gutter: "0.5rem",
    background: "rgba(255, 255, 255, 0.1)",
    hoverBackground: "rgba(255, 255, 255, 0.2)",
    color: "{surface.50}",
    hoverColor: "{surface.0}",
    borderRadius: "50%",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  },
  closeButtonIcon: {
    size: "1.5rem"
  },
  colorScheme: {
    light: {
      thumbnailsContent: {
        background: "{surface.50}"
      },
      thumbnailNavButton: {
        hoverBackground: "{surface.100}",
        color: "{surface.600}",
        hoverColor: "{surface.700}"
      },
      indicatorButton: {
        background: "{surface.200}",
        hoverBackground: "{surface.300}"
      }
    },
    dark: {
      thumbnailsContent: {
        background: "{surface.800}"
      },
      thumbnailNavButton: {
        hoverBackground: "{surface.700}",
        color: "{surface.400}",
        hoverColor: "{surface.0}"
      },
      indicatorButton: {
        background: "{surface.700}",
        hoverBackground: "{surface.600}"
      }
    }
  }
};
var index$Y = {
  icon: {
    color: "{form.field.icon.color}"
  }
};
var index$X = {
  root: {
    color: "{form.field.float.label.color}",
    focusColor: "{form.field.float.label.focus.color}",
    invalidColor: "{form.field.float.label.invalid.color}",
    transitionDuration: "0.2s",
    positionX: "{form.field.padding.x}",
    top: "{form.field.padding.y}",
    fontSize: "0.75rem",
    fontWeight: "400"
  },
  input: {
    paddingTop: "1.875rem",
    paddingBottom: "{form.field.padding.y}"
  }
};
var index$W = {
  root: {
    transitionDuration: "{transition.duration}"
  },
  preview: {
    icon: {
      size: "1.5rem"
    },
    mask: {
      background: "{mask.background}",
      color: "{mask.color}"
    }
  },
  toolbar: {
    position: {
      left: "auto",
      right: "1rem",
      top: "1rem",
      bottom: "auto"
    },
    blur: "8px",
    background: "rgba(255,255,255,0.1)",
    borderColor: "rgba(255,255,255,0.2)",
    borderWidth: "1px",
    borderRadius: "{content.border.radius}",
    padding: ".5rem",
    gap: "0.5rem"
  },
  action: {
    hoverBackground: "rgba(255,255,255,0.1)",
    color: "{surface.50}",
    hoverColor: "{surface.0}",
    size: "3rem",
    iconSize: "1.5rem",
    borderRadius: "{content.border.radius}",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  }
};
var index$V = {
  handle: {
    size: "15px",
    hoverSize: "30px",
    background: "rgba(255,255,255,0.3)",
    hoverBackground: "rgba(255,255,255,0.3)",
    borderColor: "rgba(255,255,255,0.3)",
    hoverBorderColor: "rgba(255,255,255,0.3)",
    borderWidth: "3px",
    borderRadius: "50%",
    transitionDuration: "{transition.duration}",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "rgba(255,255,255,0.3)",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  }
};
var index$U = {
  root: {
    padding: "{form.field.padding.y} {form.field.padding.x}",
    borderRadius: "{content.border.radius}",
    gap: "0.5rem"
  },
  text: {
    fontWeight: "500"
  },
  icon: {
    size: "1.125rem"
  },
  colorScheme: {
    light: {
      info: {
        background: "color-mix(in srgb, {blue.50}, transparent 5%)",
        borderColor: "color-mix(in srgb, {blue.50}, transparent 5%)",
        color: "{blue.600}",
        shadow: "none"
      },
      success: {
        background: "color-mix(in srgb, {green.50}, transparent 5%)",
        borderColor: "color-mix(in srgb, {green.50}, transparent 5%)",
        color: "{green.600}",
        shadow: "none"
      },
      warn: {
        background: "color-mix(in srgb,{yellow.50}, transparent 5%)",
        borderColor: "color-mix(in srgb,{yellow.50}, transparent 5%)",
        color: "{yellow.600}",
        shadow: "none"
      },
      error: {
        background: "color-mix(in srgb, {red.50}, transparent 5%)",
        borderColor: "color-mix(in srgb, {red.50}, transparent 5%)",
        color: "{red.600}",
        shadow: "none"
      },
      secondary: {
        background: "{surface.100}",
        borderColor: "{surface.100}",
        color: "{surface.600}",
        shadow: "none"
      },
      contrast: {
        background: "{surface.900}",
        borderColor: "{surface.900}",
        color: "{surface.50}",
        shadow: "none"
      }
    },
    dark: {
      info: {
        background: "color-mix(in srgb, {blue.500}, transparent 84%)",
        borderColor: "color-mix(in srgb, {blue.500}, transparent 84%)",
        color: "{blue.500}",
        shadow: "none"
      },
      success: {
        background: "color-mix(in srgb, {green.500}, transparent 84%)",
        borderColor: "color-mix(in srgb, {green.500}, transparent 84%)",
        color: "{green.500}",
        shadow: "none"
      },
      warn: {
        background: "color-mix(in srgb, {yellow.500}, transparent 84%)",
        borderColor: "color-mix(in srgb, {yellow.500}, transparent 84%)",
        color: "{yellow.500}",
        shadow: "none"
      },
      error: {
        background: "color-mix(in srgb, {red.500}, transparent 84%)",
        borderColor: "color-mix(in srgb, {red.500}, transparent 84%)",
        color: "{red.500}",
        shadow: "none"
      },
      secondary: {
        background: "{surface.800}",
        borderColor: "{surface.800}",
        color: "{surface.300}",
        shadow: "none"
      },
      contrast: {
        background: "{surface.0}",
        borderColor: "{surface.0}",
        color: "{surface.950}",
        shadow: "none"
      }
    }
  }
};
var index$T = {
  root: {
    padding: "{form.field.padding.y} {form.field.padding.x}",
    borderRadius: "{content.border.radius}",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    },
    transitionDuration: "{transition.duration}"
  },
  display: {
    hoverBackground: "{content.hover.background}",
    hoverColor: "{content.hover.color}"
  }
};
var index$S = {
  root: {
    background: "{form.field.background}",
    disabledBackground: "{form.field.disabled.background}",
    filledBackground: "{form.field.filled.background}",
    filledFocusBackground: "{form.field.filled.focus.background}",
    borderColor: "{form.field.border.color}",
    hoverBorderColor: "{form.field.hover.border.color}",
    focusBorderColor: "{form.field.focus.border.color}",
    invalidBorderColor: "{form.field.invalid.border.color}",
    color: "{form.field.color}",
    disabledColor: "{form.field.disabled.color}",
    placeholderColor: "{form.field.placeholder.color}",
    shadow: "{form.field.shadow}",
    paddingX: "{form.field.padding.x}",
    paddingY: "{form.field.padding.y}",
    borderRadius: "{form.field.border.radius}",
    focusRing: {
      width: "{form.field.focus.ring.width}",
      style: "{form.field.focus.ring.style}",
      color: "{form.field.focus.ring.color}",
      offset: "{form.field.focus.ring.offset}",
      shadow: "{form.field.focus.ring.shadow}"
    },
    transitionDuration: "{form.field.transition.duration}"
  },
  chip: {
    borderRadius: "{border.radius.sm}"
  },
  colorScheme: {
    light: {
      chip: {
        focusBackground: "{surface.200}",
        color: "{surface.800}"
      }
    },
    dark: {
      chip: {
        focusBackground: "{surface.700}",
        color: "{surface.0}"
      }
    }
  }
};
var index$R = {
  addon: {
    borderRadius: "{form.field.border.radius}",
    padding: "0.625rem 0.5rem",
    minWidth: "2.75rem"
  },
  colorScheme: {
    light: {
      addon: {
        background: "{surface.50}",
        borderColor: "{form.field.border.color}",
        color: "{text.muted.color}"
      }
    },
    dark: {
      addon: {
        background: "{surface.800}",
        borderColor: "{form.field.border.color}",
        color: "{text.muted.color}"
      }
    }
  }
};
var index$Q = {
  root: {
    transitionDuration: "{transition.duration}"
  },
  button: {
    width: "2.5rem",
    borderRadius: "{form.field.border.radius}",
    verticalPadding: "{form.field.padding.y}"
  },
  colorScheme: {
    light: {
      button: {
        background: "{surface.100}",
        hoverBackground: "{surface.200}",
        activeBackground: "{surface.300}",
        borderColor: "{form.field.border.color}",
        hoverBorderColor: "{form.field.border.color}",
        activeBorderColor: "{form.field.border.color}",
        color: "{surface.600}",
        hoverColor: "{surface.700}",
        activeColor: "{surface.800}"
      }
    },
    dark: {
      button: {
        background: "{surface.800}",
        hoverBackground: "{surface.700}",
        activeBackground: "{surface.500}",
        borderColor: "{form.field.border.color}",
        hoverBorderColor: "{form.field.border.color}",
        activeBorderColor: "{form.field.border.color}",
        color: "{surface.300}",
        hoverColor: "{surface.200}",
        activeColor: "{surface.100}"
      }
    }
  }
};
var index$P = {
  root: {
    gap: "0.5rem"
  },
  input: {
    width: "2.5rem",
    sm: {
      width: "2rem"
    },
    lg: {
      width: "3rem"
    }
  }
};
var index$O = {
  root: {
    background: "{form.field.background}",
    disabledBackground: "{form.field.disabled.background}",
    filledBackground: "{form.field.filled.background}",
    filledHoverBackground: "{form.field.filled.hover.background}",
    filledFocusBackground: "{form.field.filled.focus.background}",
    borderColor: "{form.field.border.color}",
    hoverBorderColor: "{form.field.hover.border.color}",
    focusBorderColor: "{form.field.focus.border.color}",
    invalidBorderColor: "{form.field.invalid.border.color}",
    color: "{form.field.color}",
    disabledColor: "{form.field.disabled.color}",
    placeholderColor: "{form.field.placeholder.color}",
    invalidPlaceholderColor: "{form.field.invalid.placeholder.color}",
    shadow: "{form.field.shadow}",
    paddingX: "{form.field.padding.x}",
    paddingY: "{form.field.padding.y}",
    borderRadius: "{form.field.border.radius}",
    focusRing: {
      width: "{form.field.focus.ring.width}",
      style: "{form.field.focus.ring.style}",
      color: "{form.field.focus.ring.color}",
      offset: "{form.field.focus.ring.offset}",
      shadow: "{form.field.focus.ring.shadow}"
    },
    transitionDuration: "{form.field.transition.duration}",
    sm: {
      fontSize: "{form.field.sm.font.size}",
      paddingX: "{form.field.sm.padding.x}",
      paddingY: "{form.field.sm.padding.y}"
    },
    lg: {
      fontSize: "{form.field.lg.font.size}",
      paddingX: "{form.field.lg.padding.x}",
      paddingY: "{form.field.lg.padding.y}"
    }
  }
};
var index$N = {
  root: {
    transitionDuration: "{transition.duration}",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  },
  value: {
    background: "{primary.color}"
  },
  range: {
    background: "{content.border.color}"
  },
  text: {
    color: "{text.muted.color}"
  }
};
var index$M = {
  root: {
    background: "{form.field.background}",
    disabledBackground: "{form.field.disabled.background}",
    borderColor: "{form.field.border.color}",
    invalidBorderColor: "{form.field.invalid.border.color}",
    color: "{form.field.color}",
    disabledColor: "{form.field.disabled.color}",
    shadow: "{form.field.shadow}",
    borderRadius: "{form.field.border.radius}",
    transitionDuration: "{form.field.transition.duration}"
  },
  list: {
    padding: "{list.padding}",
    gap: "{list.gap}",
    header: {
      padding: "{list.header.padding}"
    }
  },
  option: {
    focusBackground: "{list.option.focus.background}",
    selectedBackground: "{list.option.selected.background}",
    selectedFocusBackground: "{list.option.selected.focus.background}",
    color: "{list.option.color}",
    focusColor: "{list.option.focus.color}",
    selectedColor: "{list.option.selected.color}",
    selectedFocusColor: "{list.option.selected.focus.color}",
    padding: "{list.option.padding}",
    borderRadius: "{list.option.border.radius}"
  },
  optionGroup: {
    background: "{list.option.group.background}",
    color: "{list.option.group.color}",
    fontWeight: "{list.option.group.font.weight}",
    padding: "{list.option.group.padding}"
  },
  checkmark: {
    color: "{list.option.color}",
    gutterStart: "-0.5rem",
    gutterEnd: "0.5rem"
  },
  emptyMessage: {
    padding: "{list.option.padding}"
  },
  colorScheme: {
    light: {
      option: {
        stripedBackground: "{surface.50}"
      }
    },
    dark: {
      option: {
        stripedBackground: "{surface.900}"
      }
    }
  }
};
var index$L = {
  root: {
    borderColor: "transparent",
    borderRadius: "{content.border.radius}",
    color: "{content.color}",
    gap: "0.5rem",
    verticalOrientation: {
      padding: "{navigation.list.padding}",
      gap: "{navigation.list.gap}"
    },
    horizontalOrientation: {
      padding: "0.75rem 1rem",
      gap: "0.5rem"
    },
    transitionDuration: "{transition.duration}"
  },
  baseItem: {
    borderRadius: "{content.border.radius}",
    padding: "0.75rem 1rem"
  },
  item: {
    focusBackground: "{navigation.item.focus.background}",
    activeBackground: "{navigation.item.active.background}",
    color: "{navigation.item.color}",
    focusColor: "{navigation.item.focus.color}",
    activeColor: "{navigation.item.active.color}",
    padding: "{navigation.item.padding}",
    borderRadius: "{navigation.item.border.radius}",
    gap: "{navigation.item.gap}",
    icon: {
      color: "{navigation.item.icon.color}",
      focusColor: "{navigation.item.icon.focus.color}",
      activeColor: "{navigation.item.icon.active.color}"
    }
  },
  overlay: {
    padding: "0",
    background: "{content.background}",
    borderColor: "{content.border.color}",
    borderRadius: "{content.border.radius}",
    color: "{content.color}",
    shadow: "{overlay.navigation.shadow}",
    gap: "0.5rem"
  },
  submenu: {
    padding: "{navigation.list.padding}",
    gap: "{navigation.list.gap}"
  },
  submenuLabel: {
    padding: "{navigation.submenu.label.padding}",
    fontWeight: "{navigation.submenu.label.font.weight}",
    background: "{navigation.submenu.label.background.}",
    color: "{navigation.submenu.label.color}"
  },
  submenuIcon: {
    size: "{navigation.submenu.icon.size}",
    color: "{navigation.submenu.icon.color}",
    focusColor: "{navigation.submenu.icon.focus.color}",
    activeColor: "{navigation.submenu.icon.active.color}"
  },
  separator: {
    borderColor: "{content.border.color}"
  },
  mobileButton: {
    borderRadius: "50%",
    size: "2rem",
    color: "{text.muted.color}",
    hoverColor: "{text.hover.muted.color}",
    hoverBackground: "{content.hover.background}",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  },
  colorScheme: {
    light: {
      root: {
        background: "{surface.50}"
      }
    },
    dark: {
      root: {
        background: "{surface.800}"
      }
    }
  }
};
var index$K = {
  root: {
    background: "{content.background}",
    borderColor: "{content.border.color}",
    color: "{content.color}",
    borderRadius: "{content.border.radius}",
    shadow: "{overlay.navigation.shadow}",
    transitionDuration: "{transition.duration}"
  },
  list: {
    padding: "{navigation.list.padding}",
    gap: "{navigation.list.gap}"
  },
  item: {
    focusBackground: "{navigation.item.focus.background}",
    color: "{navigation.item.color}",
    focusColor: "{navigation.item.focus.color}",
    padding: "{navigation.item.padding}",
    borderRadius: "{navigation.item.border.radius}",
    gap: "{navigation.item.gap}",
    icon: {
      color: "{navigation.item.icon.color}",
      focusColor: "{navigation.item.icon.focus.color}"
    }
  },
  submenuLabel: {
    padding: "{navigation.submenu.label.padding}",
    fontWeight: "{navigation.submenu.label.font.weight}",
    background: "{navigation.submenu.label.background.}",
    color: "{navigation.submenu.label.color}"
  },
  separator: {
    borderColor: "{content.border.color}"
  }
};
var index$J = {
  root: {
    borderColor: "transparent",
    borderRadius: "{content.border.radius}",
    color: "{content.color}",
    gap: "0.5rem",
    padding: "0.75rem 1rem",
    transitionDuration: "{transition.duration}"
  },
  baseItem: {
    borderRadius: "{content.border.radius}",
    padding: "0.75rem 1rem"
  },
  item: {
    focusBackground: "{navigation.item.focus.background}",
    activeBackground: "{navigation.item.active.background}",
    color: "{navigation.item.color}",
    focusColor: "{navigation.item.focus.color}",
    activeColor: "{navigation.item.active.color}",
    padding: "{navigation.item.padding}",
    borderRadius: "{navigation.item.border.radius}",
    gap: "{navigation.item.gap}",
    icon: {
      color: "{navigation.item.icon.color}",
      focusColor: "{navigation.item.icon.focus.color}",
      activeColor: "{navigation.item.icon.active.color}"
    }
  },
  submenu: {
    padding: "{navigation.list.padding}",
    gap: "{navigation.list.gap}",
    background: "{content.background}",
    borderColor: "{content.border.color}",
    borderRadius: "{content.border.radius}",
    shadow: "{overlay.navigation.shadow}",
    mobileIndent: "1.25rem",
    icon: {
      size: "{navigation.submenu.icon.size}",
      color: "{navigation.submenu.icon.color}",
      focusColor: "{navigation.submenu.icon.focus.color}",
      activeColor: "{navigation.submenu.icon.active.color}"
    }
  },
  separator: {
    borderColor: "{content.border.color}"
  },
  mobileButton: {
    borderRadius: "50%",
    size: "2rem",
    color: "{text.muted.color}",
    hoverColor: "{text.hover.muted.color}",
    hoverBackground: "{content.hover.background}",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  },
  colorScheme: {
    light: {
      root: {
        background: "{surface.50}"
      }
    },
    dark: {
      root: {
        background: "{surface.800}"
      }
    }
  }
};
var index$I = {
  root: {
    borderRadius: "{content.border.radius}",
    borderWidth: "1px",
    transitionDuration: "{transition.duration}"
  },
  content: {
    padding: "0.75rem 1rem",
    gap: "0.5rem",
    sm: {
      padding: "0.5rem 0.625rem"
    },
    lg: {
      padding: "0.75rem 0.875rem"
    }
  },
  text: {
    fontSize: "1rem",
    fontWeight: "500",
    sm: {
      fontSize: "0.875rem"
    },
    lg: {
      fontSize: "1.125rem"
    }
  },
  icon: {
    size: "1.25rem",
    sm: {
      size: "1rem"
    },
    lg: {
      size: "1.5rem"
    }
  },
  closeButton: {
    width: "2rem",
    height: "2rem",
    borderRadius: "50%",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      offset: "{focus.ring.offset}"
    }
  },
  closeIcon: {
    size: "1rem",
    sm: {
      fontSize: "0.875rem"
    },
    lg: {
      fontSize: "1.125rem"
    }
  },
  outlined: {
    root: {
      borderWidth: "1px"
    }
  },
  simple: {
    content: {
      padding: "0"
    }
  },
  colorScheme: {
    light: {
      info: {
        background: "color-mix(in srgb, {blue.50}, transparent 5%)",
        borderColor: "transparent",
        color: "{blue.600}",
        shadow: "none",
        closeButton: {
          hoverBackground: "{blue.100}",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem {blue.200}"
          }
        },
        outlined: {
          color: "{blue.600}",
          borderColor: "{blue.600}"
        },
        simple: {
          color: "{blue.600}"
        }
      },
      success: {
        background: "color-mix(in srgb, {green.50}, transparent 5%)",
        borderColor: "transparent",
        color: "{green.600}",
        shadow: "none",
        closeButton: {
          hoverBackground: "{green.100}",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem {green.200}"
          }
        },
        outlined: {
          color: "{green.600}",
          borderColor: "{green.600}"
        },
        simple: {
          color: "{green.600}"
        }
      },
      warn: {
        background: "color-mix(in srgb,{yellow.50}, transparent 5%)",
        borderColor: "transparent",
        color: "{yellow.600}",
        shadow: "none",
        closeButton: {
          hoverBackground: "{yellow.100}",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem {yellow.200}"
          }
        },
        outlined: {
          color: "{yellow.600}",
          borderColor: "{yellow.600}"
        },
        simple: {
          color: "{yellow.600}"
        }
      },
      error: {
        background: "color-mix(in srgb, {red.50}, transparent 5%)",
        borderColor: "transparent",
        color: "{red.600}",
        shadow: "none",
        closeButton: {
          hoverBackground: "{red.100}",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem {red.200}"
          }
        },
        outlined: {
          color: "{red.600}",
          borderColor: "{red.600}"
        },
        simple: {
          color: "{red.600}"
        }
      },
      secondary: {
        background: "{surface.100}",
        borderColor: "transparent",
        color: "{surface.600}",
        shadow: "none",
        closeButton: {
          hoverBackground: "{surface.200}",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem {surface.200}"
          }
        },
        outlined: {
          color: "{surface.500}",
          borderColor: "{surface.500}"
        },
        simple: {
          color: "{surface.500}"
        }
      },
      contrast: {
        background: "{surface.900}",
        borderColor: "transparent",
        color: "{surface.50}",
        shadow: "none",
        closeButton: {
          hoverBackground: "{surface.800}",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem {surface.400}"
          }
        },
        outlined: {
          color: "{surface.900}",
          borderColor: "{surface.900}"
        },
        simple: {
          color: "{surface.900}"
        }
      }
    },
    dark: {
      info: {
        background: "color-mix(in srgb, {blue.500}, transparent 84%)",
        borderColor: "transparent",
        color: "{blue.500}",
        shadow: "none",
        closeButton: {
          hoverBackground: "rgba(255, 255, 255, 0.05)",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem color-mix(in srgb, {blue.500}, transparent 80%)"
          }
        },
        outlined: {
          color: "{blue.500}",
          borderColor: "{blue.500}"
        },
        simple: {
          color: "{blue.500}"
        }
      },
      success: {
        background: "color-mix(in srgb, {green.500}, transparent 84%)",
        borderColor: "transparent",
        color: "{green.500}",
        shadow: "none",
        closeButton: {
          hoverBackground: "rgba(255, 255, 255, 0.05)",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem color-mix(in srgb, {green.500}, transparent 80%)"
          }
        },
        outlined: {
          color: "{green.500}",
          borderColor: "{green.500}"
        },
        simple: {
          color: "{green.500}"
        }
      },
      warn: {
        background: "color-mix(in srgb, {yellow.500}, transparent 84%)",
        borderColor: "transparent",
        color: "{yellow.500}",
        shadow: "none",
        closeButton: {
          hoverBackground: "rgba(255, 255, 255, 0.05)",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem color-mix(in srgb, {yellow.500}, transparent 80%)"
          }
        },
        outlined: {
          color: "{yellow.500}",
          borderColor: "{yellow.500}"
        },
        simple: {
          color: "{yellow.500}"
        }
      },
      error: {
        background: "color-mix(in srgb, {red.500}, transparent 84%)",
        borderColor: "transparent",
        color: "{red.500}",
        shadow: "none",
        closeButton: {
          hoverBackground: "rgba(255, 255, 255, 0.05)",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem color-mix(in srgb, {red.500}, transparent 80%)"
          }
        },
        outlined: {
          color: "{red.500}",
          borderColor: "{red.500}"
        },
        simple: {
          color: "{red.500}"
        }
      },
      secondary: {
        background: "{surface.800}",
        borderColor: "transparent",
        color: "{surface.300}",
        shadow: "none",
        closeButton: {
          hoverBackground: "{surface.700}",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem color-mix(in srgb, {surface.300}, transparent 80%)"
          }
        },
        outlined: {
          color: "{surface.400}",
          borderColor: "{surface.400}"
        },
        simple: {
          color: "{surface.400}"
        }
      },
      contrast: {
        background: "{surface.0}",
        borderColor: "transparent",
        color: "{surface.950}",
        shadow: "none",
        closeButton: {
          hoverBackground: "{surface.100}",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem color-mix(in srgb, {surface.950}, transparent 80%)"
          }
        },
        outlined: {
          color: "{surface.0}",
          borderColor: "{surface.0}"
        },
        simple: {
          color: "{surface.0}"
        }
      }
    }
  }
};
var index$H = {
  root: {
    borderRadius: "{content.border.radius}",
    gap: "1rem"
  },
  meters: {
    background: "{content.border.color}",
    size: "0.625rem"
  },
  label: {
    gap: "0.5rem"
  },
  labelMarker: {
    size: "0.5rem"
  },
  labelIcon: {
    size: "1rem"
  },
  labelList: {
    verticalGap: "0.5rem",
    horizontalGap: "1rem"
  }
};
var index$G = {
  root: {
    background: "{form.field.background}",
    disabledBackground: "{form.field.disabled.background}",
    filledBackground: "{form.field.filled.background}",
    filledHoverBackground: "{form.field.filled.hover.background}",
    filledFocusBackground: "{form.field.filled.focus.background}",
    borderColor: "{form.field.border.color}",
    hoverBorderColor: "{form.field.hover.border.color}",
    focusBorderColor: "{form.field.focus.border.color}",
    invalidBorderColor: "{form.field.invalid.border.color}",
    color: "{form.field.color}",
    disabledColor: "{form.field.disabled.color}",
    placeholderColor: "{form.field.placeholder.color}",
    invalidPlaceholderColor: "{form.field.invalid.placeholder.color}",
    shadow: "{form.field.shadow}",
    paddingX: "{form.field.padding.x}",
    paddingY: "{form.field.padding.y}",
    borderRadius: "{form.field.border.radius}",
    focusRing: {
      width: "{form.field.focus.ring.width}",
      style: "{form.field.focus.ring.style}",
      color: "{form.field.focus.ring.color}",
      offset: "{form.field.focus.ring.offset}",
      shadow: "{form.field.focus.ring.shadow}"
    },
    transitionDuration: "{form.field.transition.duration}",
    sm: {
      fontSize: "{form.field.sm.font.size}",
      paddingX: "{form.field.sm.padding.x}",
      paddingY: "{form.field.sm.padding.y}"
    },
    lg: {
      fontSize: "{form.field.lg.font.size}",
      paddingX: "{form.field.lg.padding.x}",
      paddingY: "{form.field.lg.padding.y}"
    }
  },
  dropdown: {
    width: "2.5rem",
    color: "{form.field.icon.color}"
  },
  overlay: {
    background: "{overlay.select.background}",
    borderColor: "{overlay.select.border.color}",
    borderRadius: "{overlay.select.border.radius}",
    color: "{overlay.select.color}",
    shadow: "{overlay.select.shadow}"
  },
  list: {
    padding: "{list.padding}",
    gap: "{list.gap}",
    header: {
      padding: "{list.header.padding}"
    }
  },
  option: {
    focusBackground: "{list.option.focus.background}",
    selectedBackground: "{list.option.selected.background}",
    selectedFocusBackground: "{list.option.selected.focus.background}",
    color: "{list.option.color}",
    focusColor: "{list.option.focus.color}",
    selectedColor: "{list.option.selected.color}",
    selectedFocusColor: "{list.option.selected.focus.color}",
    padding: "{list.option.padding}",
    borderRadius: "{list.option.border.radius}",
    gap: "0.5rem"
  },
  optionGroup: {
    background: "{list.option.group.background}",
    color: "{list.option.group.color}",
    fontWeight: "{list.option.group.font.weight}",
    padding: "{list.option.group.padding}"
  },
  clearIcon: {
    color: "{form.field.icon.color}"
  },
  chip: {
    borderRadius: "{border.radius.sm}"
  },
  emptyMessage: {
    padding: "{list.option.padding}"
  }
};
var index$F = {
  root: {
    gap: "1.125rem"
  },
  controls: {
    gap: "0.5rem"
  }
};
var index$E = {
  root: {
    gutter: "0.75rem",
    transitionDuration: "{transition.duration}"
  },
  node: {
    background: "{content.background}",
    hoverBackground: "{content.hover.background}",
    selectedBackground: "{highlight.background}",
    borderColor: "{content.border.color}",
    color: "{content.color}",
    selectedColor: "{highlight.color}",
    hoverColor: "{content.hover.color}",
    padding: "1rem 1.25rem",
    toggleablePadding: "1rem 1.25rem 1.5rem 1.25rem",
    borderRadius: "{content.border.radius}"
  },
  nodeToggleButton: {
    background: "{content.background}",
    hoverBackground: "{content.hover.background}",
    borderColor: "{content.border.color}",
    color: "{text.muted.color}",
    hoverColor: "{text.color}",
    size: "1.75rem",
    borderRadius: "50%",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  },
  connector: {
    color: "{content.border.color}",
    borderRadius: "{content.border.radius}",
    height: "24px"
  }
};
var index$D = {
  root: {
    outline: {
      width: "2px",
      color: "{content.background}"
    }
  }
};
var index$C = {
  root: {
    padding: "0.5rem 1rem",
    gap: "0.25rem",
    borderRadius: "{content.border.radius}",
    background: "{content.background}",
    color: "{content.color}",
    transitionDuration: "{transition.duration}"
  },
  navButton: {
    background: "transparent",
    hoverBackground: "{content.hover.background}",
    selectedBackground: "{highlight.background}",
    color: "{text.muted.color}",
    hoverColor: "{text.hover.muted.color}",
    selectedColor: "{highlight.color}",
    width: "2.5rem",
    height: "2.5rem",
    borderRadius: "50%",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  },
  currentPageReport: {
    color: "{text.muted.color}"
  },
  jumpToPageInput: {
    maxWidth: "2.5rem"
  }
};
var index$B = {
  root: {
    borderColor: "{content.border.color}",
    borderRadius: "{content.border.radius}"
  },
  header: {
    borderWidth: "0 0 1px 0",
    borderColor: "{content.border.color}",
    padding: "1.125rem",
    borderRadius: "5px 5px 0 0"
  },
  toggleableHeader: {
    padding: "0.25rem 1.125rem"
  },
  title: {
    fontWeight: "700"
  },
  content: {
    padding: "1.125rem"
  },
  footer: {
    padding: "1.125rem"
  },
  colorScheme: {
    light: {
      header: {
        background: "{surface.50}",
        color: "{text.color}"
      }
    },
    dark: {
      header: {
        background: "{surface.800}",
        color: "{text.color}"
      }
    }
  }
};
var index$A = {
  root: {
    gap: "0",
    transitionDuration: "{transition.duration}"
  },
  panel: {
    background: "{content.background}",
    borderColor: "{content.border.color}",
    borderWidth: "1px",
    color: "{content.color}",
    padding: "0.25rem 0.25rem",
    borderRadius: "0",
    first: {
      borderWidth: "1px 1px 0 1px",
      topBorderRadius: "{content.border.radius}"
    },
    last: {
      borderWidth: "0 1px 1px 1px",
      bottomBorderRadius: "{content.border.radius}"
    }
  },
  item: {
    focusBackground: "{navigation.item.focus.background}",
    color: "{navigation.item.color}",
    focusColor: "{navigation.item.focus.color}",
    gap: "0.5rem",
    padding: "{navigation.item.padding}",
    borderRadius: "{content.border.radius}",
    icon: {
      color: "{navigation.item.icon.color}",
      focusColor: "{navigation.item.icon.focus.color}"
    }
  },
  submenu: {
    indent: "1rem"
  },
  submenuIcon: {
    color: "{navigation.submenu.icon.color}",
    focusColor: "{navigation.submenu.icon.focus.color}"
  }
};
var index$z = {
  meter: {
    background: "{content.border.color}",
    borderRadius: "{content.border.radius}",
    height: ".75rem"
  },
  icon: {
    color: "{form.field.icon.color}"
  },
  overlay: {
    background: "{overlay.popover.background}",
    borderColor: "{overlay.popover.border.color}",
    borderRadius: "{overlay.popover.border.radius}",
    color: "{overlay.popover.color}",
    padding: "{overlay.popover.padding}",
    shadow: "{overlay.popover.shadow}"
  },
  content: {
    gap: "0.75rem"
  },
  colorScheme: {
    light: {
      strength: {
        weakBackground: "{red.500}",
        mediumBackground: "{amber.500}",
        strongBackground: "{green.500}"
      }
    },
    dark: {
      strength: {
        weakBackground: "{red.400}",
        mediumBackground: "{amber.400}",
        strongBackground: "{green.400}"
      }
    }
  }
};
var index$y = {
  root: {
    gap: "1.125rem"
  },
  controls: {
    gap: "0.5rem"
  }
};
var index$x = {
  root: {
    background: "{overlay.popover.background}",
    borderColor: "{overlay.popover.border.color}",
    color: "{overlay.popover.color}",
    borderRadius: "{overlay.popover.border.radius}",
    shadow: "{overlay.popover.shadow}",
    gutter: "10px",
    arrowOffset: "1.25rem"
  },
  content: {
    padding: "{overlay.popover.padding}"
  }
};
var index$w = {
  root: {
    background: "{content.border.color}",
    borderRadius: "{content.border.radius}",
    height: "1.5rem"
  },
  value: {
    background: "{primary.color}"
  },
  label: {
    color: "{primary.contrast.color}",
    fontSize: "0.875rem",
    fontWeight: "600"
  }
};
var index$v = {
  colorScheme: {
    light: {
      root: {
        "color.1": "{pink.500}",
        "color.2": "{sky.500}",
        "color.3": "{emerald.500}",
        "color.4": "{amber.500}"
      }
    },
    dark: {
      root: {
        "color.1": "{pink.400}",
        "color.2": "{sky.400}",
        "color.3": "{emerald.400}",
        "color.4": "{amber.400}"
      }
    }
  }
};
var index$u = {
  root: {
    width: "1.5rem",
    height: "1.5rem",
    background: "{form.field.background}",
    checkedBackground: "{primary.color}",
    checkedHoverBackground: "{primary.hover.color}",
    disabledBackground: "{form.field.disabled.background}",
    filledBackground: "{form.field.filled.background}",
    borderColor: "{form.field.border.color}",
    hoverBorderColor: "{form.field.hover.border.color}",
    focusBorderColor: "{form.field.focus.border.color}",
    checkedBorderColor: "{primary.color}",
    checkedHoverBorderColor: "{primary.hover.color}",
    checkedFocusBorderColor: "{primary.color}",
    checkedDisabledBorderColor: "{form.field.border.color}",
    invalidBorderColor: "{form.field.invalid.border.color}",
    shadow: "{form.field.shadow}",
    focusRing: {
      width: "{form.field.focus.ring.width}",
      style: "{form.field.focus.ring.style}",
      color: "{form.field.focus.ring.color}",
      offset: "{form.field.focus.ring.offset}",
      shadow: "{form.field.focus.ring.shadow}"
    },
    transitionDuration: "{form.field.transition.duration}",
    sm: {
      width: "1.25rem",
      height: "1.25rem"
    },
    lg: {
      width: "1.75rem",
      height: "1.75rem"
    }
  },
  icon: {
    size: "1rem",
    checkedColor: "{primary.contrast.color}",
    checkedHoverColor: "{primary.contrast.color}",
    disabledColor: "{form.field.disabled.color}",
    sm: {
      size: "0.75rem"
    },
    lg: {
      size: "1.25rem"
    }
  }
};
var index$t = {
  root: {
    gap: "0.25rem",
    transitionDuration: "{transition.duration}",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  },
  icon: {
    size: "1.25rem",
    color: "{text.muted.color}",
    hoverColor: "{primary.color}",
    activeColor: "{primary.color}"
  }
};
var index$s = {
  colorScheme: {
    light: {
      root: {
        background: "rgba(0,0,0,0.1)"
      }
    },
    dark: {
      root: {
        background: "rgba(255,255,255,0.3)"
      }
    }
  }
};
var index$r = {
  root: {
    transitionDuration: "{transition.duration}"
  },
  bar: {
    size: "9px",
    borderRadius: "{border.radius.sm}",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  },
  colorScheme: {
    light: {
      bar: {
        background: "{surface.200}"
      }
    },
    dark: {
      bar: {
        background: "{surface.700}"
      }
    }
  }
};
var index$q = {
  root: {
    background: "{form.field.background}",
    disabledBackground: "{form.field.disabled.background}",
    filledBackground: "{form.field.filled.background}",
    filledHoverBackground: "{form.field.filled.hover.background}",
    filledFocusBackground: "{form.field.filled.focus.background}",
    borderColor: "{form.field.border.color}",
    hoverBorderColor: "{form.field.hover.border.color}",
    focusBorderColor: "{form.field.focus.border.color}",
    invalidBorderColor: "{form.field.invalid.border.color}",
    color: "{form.field.color}",
    disabledColor: "{form.field.disabled.color}",
    placeholderColor: "{form.field.placeholder.color}",
    invalidPlaceholderColor: "{form.field.invalid.placeholder.color}",
    shadow: "{form.field.shadow}",
    paddingX: "{form.field.padding.x}",
    paddingY: "{form.field.padding.y}",
    borderRadius: "{form.field.border.radius}",
    focusRing: {
      width: "{form.field.focus.ring.width}",
      style: "{form.field.focus.ring.style}",
      color: "{form.field.focus.ring.color}",
      offset: "{form.field.focus.ring.offset}",
      shadow: "{form.field.focus.ring.shadow}"
    },
    transitionDuration: "{form.field.transition.duration}",
    sm: {
      fontSize: "{form.field.sm.font.size}",
      paddingX: "{form.field.sm.padding.x}",
      paddingY: "{form.field.sm.padding.y}"
    },
    lg: {
      fontSize: "{form.field.lg.font.size}",
      paddingX: "{form.field.lg.padding.x}",
      paddingY: "{form.field.lg.padding.y}"
    }
  },
  dropdown: {
    width: "2.5rem",
    color: "{form.field.icon.color}"
  },
  overlay: {
    background: "{overlay.select.background}",
    borderColor: "{overlay.select.border.color}",
    borderRadius: "{overlay.select.border.radius}",
    color: "{overlay.select.color}",
    shadow: "{overlay.select.shadow}"
  },
  list: {
    padding: "{list.padding}",
    gap: "{list.gap}",
    header: {
      padding: "{list.header.padding}"
    }
  },
  option: {
    focusBackground: "{list.option.focus.background}",
    selectedBackground: "{list.option.selected.background}",
    selectedFocusBackground: "{list.option.selected.focus.background}",
    color: "{list.option.color}",
    focusColor: "{list.option.focus.color}",
    selectedColor: "{list.option.selected.color}",
    selectedFocusColor: "{list.option.selected.focus.color}",
    padding: "{list.option.padding}",
    borderRadius: "{list.option.border.radius}"
  },
  optionGroup: {
    background: "{list.option.group.background}",
    color: "{list.option.group.color}",
    fontWeight: "{list.option.group.font.weight}",
    padding: "{list.option.group.padding}"
  },
  clearIcon: {
    color: "{form.field.icon.color}"
  },
  checkmark: {
    color: "{list.option.color}",
    gutterStart: "-0.5rem",
    gutterEnd: "0.5rem"
  },
  emptyMessage: {
    padding: "{list.option.padding}"
  }
};
var index$p = {
  root: {
    borderRadius: "{form.field.border.radius}"
  },
  colorScheme: {
    light: {
      root: {
        invalidBorderColor: "{form.field.invalid.border.color}"
      }
    },
    dark: {
      root: {
        invalidBorderColor: "{form.field.invalid.border.color}"
      }
    }
  }
};
var index$o = {
  root: {
    borderRadius: "{content.border.radius}"
  },
  colorScheme: {
    light: {
      root: {
        background: "{surface.200}",
        animationBackground: "rgba(255,255,255,0.4)"
      }
    },
    dark: {
      root: {
        background: "rgba(255, 255, 255, 0.06)",
        animationBackground: "rgba(255, 255, 255, 0.04)"
      }
    }
  }
};
var index$n = {
  root: {
    transitionDuration: "{transition.duration}"
  },
  track: {
    background: "{content.border.color}",
    borderRadius: "{content.border.radius}",
    size: "3px"
  },
  range: {
    background: "{primary.color}"
  },
  handle: {
    width: "16px",
    height: "16px",
    borderRadius: "50%",
    background: "{primary.color}",
    hoverBackground: "{primary.color}",
    content: {
      borderRadius: "50%",
      hoverBackground: "{primary.color}",
      width: "12px",
      height: "12px",
      shadow: "none"
    },
    focusRing: {
      width: "{form.field.focus.ring.width}",
      style: "{form.field.focus.ring.style}",
      color: "{form.field.focus.ring.color}",
      offset: "{form.field.focus.ring.offset}",
      shadow: "{form.field.focus.ring.shadow}"
    }
  },
  colorScheme: {
    light: {
      handle: {
        contentBackground: "{surface.0}"
      }
    },
    dark: {
      handle: {
        contentBackground: "{surface.950}"
      }
    }
  }
};
var index$m = {
  root: {
    gap: "0.5rem",
    transitionDuration: "{transition.duration}"
  }
};
var index$l = {
  root: {
    borderRadius: "{form.field.border.radius}",
    roundedBorderRadius: "2rem",
    raisedShadow: "0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)"
  }
};
var index$k = {
  root: {
    background: "{content.background}",
    borderColor: "{content.border.color}",
    color: "{content.color}",
    transitionDuration: "{transition.duration}"
  },
  gutter: {
    background: "{content.border.color}"
  },
  handle: {
    size: "24px",
    borderRadius: "{content.border.radius}",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  },
  colorScheme: {
    light: {
      handle: {
        background: "{surface.400}"
      }
    },
    dark: {
      handle: {
        background: "{surface.600}"
      }
    }
  }
};
var index$j = {
  root: {
    transitionDuration: "{transition.duration}"
  },
  separator: {
    background: "{content.border.color}",
    activeBackground: "{primary.color}",
    margin: "0 0 0 1.625rem",
    size: "2px"
  },
  step: {
    padding: "0.5rem",
    gap: "1rem"
  },
  stepHeader: {
    padding: "0",
    borderRadius: "{content.border.radius}",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    },
    gap: "0.5rem"
  },
  stepTitle: {
    color: "{text.muted.color}",
    activeColor: "{primary.color}",
    fontWeight: "500"
  },
  stepNumber: {
    background: "{content.background}",
    activeBackground: "{primary.color}",
    borderColor: "{content.border.color}",
    activeBorderColor: "{primary.color}",
    color: "{text.muted.color}",
    activeColor: "{primary.contrast.color}",
    size: "2.25rem",
    fontSize: "1.125rem",
    fontWeight: "500",
    borderRadius: "50%",
    shadow: "none"
  },
  steppanels: {
    padding: "0.875rem 0.5rem 1.125rem 0.5rem"
  },
  steppanel: {
    background: "{content.background}",
    color: "{content.color}",
    padding: "0",
    indent: "1rem"
  }
};
var index$i = {
  root: {
    transitionDuration: "{transition.duration}"
  },
  separator: {
    background: "{content.border.color}"
  },
  itemLink: {
    borderRadius: "{content.border.radius}",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    },
    gap: "0.5rem"
  },
  itemLabel: {
    color: "{text.muted.color}",
    activeColor: "{primary.color}",
    fontWeight: "500"
  },
  itemNumber: {
    background: "{content.background}",
    activeBackground: "{primary.color}",
    borderColor: "{content.border.color}",
    activeBorderColor: "{primary.color}",
    color: "{text.muted.color}",
    activeColor: "{primary.contrast.color}",
    size: "2.25rem",
    fontSize: "1.125rem",
    fontWeight: "500",
    borderRadius: "50%",
    shadow: "none"
  }
};
var index$h = {
  root: {
    transitionDuration: "{transition.duration}"
  },
  tablist: {
    borderWidth: "0",
    background: "{content.background}",
    borderColor: "{content.border.color}"
  },
  item: {
    borderWidth: "2px 0 0 0",
    borderColor: "transparent",
    hoverBorderColor: "transparent",
    activeBorderColor: "{primary.color}",
    color: "{text.muted.color}",
    hoverColor: "{text.color}",
    activeColor: "{primary.color}",
    padding: "1rem 1.25rem",
    fontWeight: "600",
    margin: "0",
    gap: "0.5rem",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  },
  itemIcon: {
    color: "{text.muted.color}",
    hoverColor: "{text.color}",
    activeColor: "{primary.color}"
  },
  activeBar: {
    height: "0",
    bottom: "0",
    background: "transparent"
  },
  colorScheme: {
    light: {
      item: {
        background: "{surface.50}",
        hoverBackground: "{surface.100}",
        activeBackground: "{surface.0}"
      }
    },
    dark: {
      item: {
        background: "{surface.800}",
        hoverBackground: "{surface.700}",
        activeBackground: "{surface.900}"
      }
    }
  }
};
var index$g = {
  root: {
    transitionDuration: "{transition.duration}"
  },
  tablist: {
    borderWidth: "0",
    background: "{content.background}",
    borderColor: "{content.border.color}"
  },
  tab: {
    borderWidth: "2px 0 0 0",
    borderColor: "transparent",
    hoverBorderColor: "transparent",
    activeBorderColor: "{primary.color}",
    color: "{text.muted.color}",
    hoverColor: "{text.color}",
    activeColor: "{primary.color}",
    padding: "1rem 1.25rem",
    fontWeight: "700",
    margin: "0",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "inset {focus.ring.shadow}"
    }
  },
  tabpanel: {
    background: "{content.background}",
    color: "{content.color}",
    padding: "0.875rem 1.125rem 1.125rem 1.125rem",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "inset {focus.ring.shadow}"
    }
  },
  navButton: {
    background: "{content.background}",
    color: "{text.muted.color}",
    hoverColor: "{text.color}",
    width: "2.5rem",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "inset {focus.ring.shadow}"
    }
  },
  activeBar: {
    height: "0",
    bottom: "0",
    background: "transparent"
  },
  colorScheme: {
    light: {
      navButton: {
        shadow: "0px 0px 10px 50px rgba(255, 255, 255, 0.6)"
      },
      tab: {
        background: "{surface.50}",
        hoverBackground: "{surface.100}",
        activeBackground: "{surface.0}"
      }
    },
    dark: {
      navButton: {
        shadow: "0px 0px 10px 50px color-mix(in srgb, {content.background}, transparent 50%)"
      },
      tab: {
        background: "{surface.800}",
        hoverBackground: "{surface.700}",
        activeBackground: "{surface.900}"
      }
    }
  }
};
var index$f = {
  root: {
    transitionDuration: "{transition.duration}"
  },
  tabList: {
    background: "{content.background}",
    borderColor: "{content.border.color}"
  },
  tab: {
    borderColor: "{content.border.color}",
    activeBorderColor: "{primary.color}",
    color: "{text.muted.color}",
    hoverColor: "{text.color}",
    activeColor: "{primary.color}"
  },
  tabPanel: {
    background: "{content.background}",
    color: "{content.color}"
  },
  navButton: {
    background: "{content.background}",
    color: "{text.muted.color}",
    hoverColor: "{text.color}"
  },
  colorScheme: {
    light: {
      navButton: {
        shadow: "0px 0px 10px 50px rgba(255, 255, 255, 0.6)"
      }
    },
    dark: {
      navButton: {
        shadow: "0px 0px 10px 50px color-mix(in srgb, {content.background}, transparent 50%)"
      }
    }
  }
};
var index$e = {
  root: {
    fontSize: "0.875rem",
    fontWeight: "700",
    padding: "0.25rem 0.5rem",
    gap: "0.25rem",
    borderRadius: "{content.border.radius}",
    roundedBorderRadius: "{border.radius.xl}"
  },
  icon: {
    size: "0.75rem"
  },
  colorScheme: {
    light: {
      primary: {
        background: "{primary.color}",
        color: "{primary.contrast.color}"
      },
      secondary: {
        background: "{surface.100}",
        color: "{surface.600}"
      },
      success: {
        background: "{green.500}",
        color: "{surface.0}"
      },
      info: {
        background: "{sky.500}",
        color: "{surface.0}"
      },
      warn: {
        background: "{orange.500}",
        color: "{surface.0}"
      },
      danger: {
        background: "{red.500}",
        color: "{surface.0}"
      },
      contrast: {
        background: "{surface.950}",
        color: "{surface.0}"
      }
    },
    dark: {
      primary: {
        background: "{primary.color}",
        color: "{primary.contrast.color}"
      },
      secondary: {
        background: "{surface.800}",
        color: "{surface.300}"
      },
      success: {
        background: "{green.400}",
        color: "{green.950}"
      },
      info: {
        background: "{sky.400}",
        color: "{sky.950}"
      },
      warn: {
        background: "{orange.400}",
        color: "{orange.950}"
      },
      danger: {
        background: "{red.400}",
        color: "{red.950}"
      },
      contrast: {
        background: "{surface.0}",
        color: "{surface.950}"
      }
    }
  }
};
var index$d = {
  root: {
    background: "{form.field.background}",
    borderColor: "{form.field.border.color}",
    color: "{form.field.color}",
    height: "18rem",
    padding: "{form.field.padding.y} {form.field.padding.x}",
    borderRadius: "{form.field.border.radius}"
  },
  prompt: {
    gap: "0.25rem"
  },
  commandResponse: {
    margin: "2px 0"
  }
};
var index$c = {
  root: {
    background: "{form.field.background}",
    disabledBackground: "{form.field.disabled.background}",
    filledBackground: "{form.field.filled.background}",
    filledFocusBackground: "{form.field.filled.focus.background}",
    borderColor: "{form.field.border.color}",
    hoverBorderColor: "{form.field.hover.border.color}",
    focusBorderColor: "{form.field.focus.border.color}",
    invalidBorderColor: "{form.field.invalid.border.color}",
    color: "{form.field.color}",
    disabledColor: "{form.field.disabled.color}",
    placeholderColor: "{form.field.placeholder.color}",
    invalidPlaceholderColor: "{form.field.invalid.placeholder.color}",
    shadow: "{form.field.shadow}",
    paddingX: "{form.field.padding.x}",
    paddingY: "{form.field.padding.y}",
    borderRadius: "{form.field.border.radius}",
    focusRing: {
      width: "{form.field.focus.ring.width}",
      style: "{form.field.focus.ring.style}",
      color: "{form.field.focus.ring.color}",
      offset: "{form.field.focus.ring.offset}",
      shadow: "{form.field.focus.ring.shadow}"
    },
    transitionDuration: "{form.field.transition.duration}",
    sm: {
      fontSize: "{form.field.sm.font.size}",
      paddingX: "{form.field.sm.padding.x}",
      paddingY: "{form.field.sm.padding.y}"
    },
    lg: {
      fontSize: "{form.field.lg.font.size}",
      paddingX: "{form.field.lg.padding.x}",
      paddingY: "{form.field.lg.padding.y}"
    }
  }
};
var index$b = {
  root: {
    background: "{content.background}",
    borderColor: "{content.border.color}",
    color: "{content.color}",
    borderRadius: "{content.border.radius}",
    shadow: "{overlay.navigation.shadow}",
    transitionDuration: "{transition.duration}"
  },
  list: {
    padding: "{navigation.list.padding}",
    gap: "{navigation.list.gap}"
  },
  item: {
    focusBackground: "{navigation.item.focus.background}",
    activeBackground: "{navigation.item.active.background}",
    color: "{navigation.item.color}",
    focusColor: "{navigation.item.focus.color}",
    activeColor: "{navigation.item.active.color}",
    padding: "{navigation.item.padding}",
    borderRadius: "{navigation.item.border.radius}",
    gap: "{navigation.item.gap}",
    icon: {
      color: "{navigation.item.icon.color}",
      focusColor: "{navigation.item.icon.focus.color}",
      activeColor: "{navigation.item.icon.active.color}"
    }
  },
  submenu: {
    mobileIndent: "1.25rem"
  },
  submenuIcon: {
    size: "{navigation.submenu.icon.size}",
    color: "{navigation.submenu.icon.color}",
    focusColor: "{navigation.submenu.icon.focus.color}",
    activeColor: "{navigation.submenu.icon.active.color}"
  },
  separator: {
    borderColor: "{content.border.color}"
  }
};
var index$a = {
  event: {
    minHeight: "5rem"
  },
  horizontal: {
    eventContent: {
      padding: "1rem 0"
    }
  },
  vertical: {
    eventContent: {
      padding: "0 1rem"
    }
  },
  eventMarker: {
    size: "1.125rem",
    borderRadius: "50%",
    borderWidth: "2px",
    background: "{content.background}",
    borderColor: "{primary.color}",
    content: {
      borderRadius: "50%",
      size: "0.375rem",
      background: "transparent",
      insetShadow: "none"
    }
  },
  eventConnector: {
    color: "{content.border.color}",
    size: "2px"
  }
};
var index$9 = {
  root: {
    width: "25rem",
    borderRadius: "{content.border.radius}",
    borderWidth: "0 0 0 6px",
    transitionDuration: "{transition.duration}"
  },
  icon: {
    size: "1.25rem"
  },
  content: {
    padding: "{overlay.popover.padding}",
    gap: "0.5rem"
  },
  text: {
    gap: "0.5rem"
  },
  summary: {
    fontWeight: "500",
    fontSize: "1rem"
  },
  detail: {
    fontWeight: "500",
    fontSize: "0.875rem"
  },
  closeButton: {
    width: "2rem",
    height: "2rem",
    borderRadius: "50%",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      offset: "{focus.ring.offset}"
    }
  },
  closeIcon: {
    size: "1rem"
  },
  colorScheme: {
    light: {
      blur: "1.5px",
      info: {
        background: "color-mix(in srgb, {blue.50}, transparent 5%)",
        borderColor: "{blue.500}",
        color: "{blue.600}",
        detailColor: "{surface.700}",
        shadow: "{overlay.popover.shadow}",
        closeButton: {
          hoverBackground: "{blue.100}",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem {blue.200}"
          }
        }
      },
      success: {
        background: "color-mix(in srgb, {green.50}, transparent 5%)",
        borderColor: "{green.500}",
        color: "{green.600}",
        detailColor: "{surface.700}",
        shadow: "{overlay.popover.shadow}",
        closeButton: {
          hoverBackground: "{green.100}",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem {green.200}"
          }
        }
      },
      warn: {
        background: "color-mix(in srgb,{yellow.50}, transparent 5%)",
        borderColor: "{yellow.500}",
        color: "{yellow.600}",
        detailColor: "{surface.700}",
        shadow: "{overlay.popover.shadow}",
        closeButton: {
          hoverBackground: "{yellow.100}",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem {yellow.200}"
          }
        }
      },
      error: {
        background: "color-mix(in srgb, {red.50}, transparent 5%)",
        borderColor: "{red.500}",
        color: "{red.600}",
        detailColor: "{surface.700}",
        shadow: "{overlay.popover.shadow}",
        closeButton: {
          hoverBackground: "{red.100}",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem {red.200}"
          }
        }
      },
      secondary: {
        background: "{surface.100}",
        borderColor: "{surface.500}",
        color: "{surface.600}",
        detailColor: "{surface.700}",
        shadow: "{overlay.popover.shadow}",
        closeButton: {
          hoverBackground: "{surface.200}",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem {surface.200}"
          }
        }
      },
      contrast: {
        background: "{surface.900}",
        borderColor: "{primary.color}",
        color: "{surface.50}",
        detailColor: "{surface.0}",
        shadow: "{overlay.popover.shadow}",
        closeButton: {
          hoverBackground: "{surface.800}",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem {surface.400}"
          }
        }
      }
    },
    dark: {
      blur: "10px",
      info: {
        background: "color-mix(in srgb, {blue.500}, transparent 84%)",
        borderColor: "color-mix(in srgb, {blue.700}, transparent 64%)",
        color: "{blue.500}",
        detailColor: "{surface.0}",
        shadow: "{overlay.popover.shadow}",
        closeButton: {
          hoverBackground: "rgba(255, 255, 255, 0.05)",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem color-mix(in srgb, {blue.500}, transparent 80%)"
          }
        }
      },
      success: {
        background: "color-mix(in srgb, {green.500}, transparent 84%)",
        borderColor: "color-mix(in srgb, {green.700}, transparent 64%)",
        color: "{green.500}",
        detailColor: "{surface.0}",
        shadow: "{overlay.popover.shadow}",
        closeButton: {
          hoverBackground: "rgba(255, 255, 255, 0.05)",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem color-mix(in srgb, {green.500}, transparent 80%)"
          }
        }
      },
      warn: {
        background: "color-mix(in srgb, {yellow.500}, transparent 84%)",
        borderColor: "color-mix(in srgb, {yellow.700}, transparent 64%)",
        color: "{yellow.500}",
        detailColor: "{surface.0}",
        shadow: "{overlay.popover.shadow}",
        closeButton: {
          hoverBackground: "rgba(255, 255, 255, 0.05)",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem color-mix(in srgb, {yellow.500}, transparent 80%)"
          }
        }
      },
      error: {
        background: "color-mix(in srgb, {red.500}, transparent 84%)",
        borderColor: "color-mix(in srgb, {red.700}, transparent 64%)",
        color: "{red.500}",
        detailColor: "{surface.0}",
        shadow: "{overlay.popover.shadow}",
        closeButton: {
          hoverBackground: "rgba(255, 255, 255, 0.05)",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem color-mix(in srgb, {red.500}, transparent 80%)"
          }
        }
      },
      secondary: {
        background: "{surface.800}",
        borderColor: "{surface.700}",
        color: "{surface.300}",
        detailColor: "{surface.0}",
        shadow: "{overlay.popover.shadow}",
        closeButton: {
          hoverBackground: "{surface.700}",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem color-mix(in srgb, {surface.300}, transparent 80%)"
          }
        }
      },
      contrast: {
        background: "{surface.0}",
        borderColor: "{surface.100}",
        color: "{surface.950}",
        detailColor: "{surface.950}",
        shadow: "{overlay.popover.shadow}",
        closeButton: {
          hoverBackground: "{surface.100}",
          focusRing: {
            color: "{focus.ring.color}",
            shadow: "0 0 0 0.2rem color-mix(in srgb, {surface.950}, transparent 80%)"
          }
        }
      }
    }
  }
};
var index$8 = {
  root: {
    padding: "0.625rem 1rem",
    borderRadius: "{content.border.radius}",
    gap: "0.5rem",
    fontWeight: "500",
    background: "{form.field.background}",
    borderColor: "{form.field.border.color}",
    color: "{form.field.color}",
    hoverColor: "{form.field.color}",
    checkedBackground: "{highlight.background}",
    checkedColor: "{highlight.color}",
    checkedBorderColor: "{form.field.border.color}",
    disabledBackground: "{form.field.disabled.background}",
    disabledBorderColor: "{form.field.disabled.background}",
    disabledColor: "{form.field.disabled.color}",
    invalidBorderColor: "{form.field.invalid.border.color}",
    focusRing: {
      width: "{form.field.focus.ring.width}",
      style: "{form.field.focus.ring.style}",
      color: "{form.field.focus.ring.color}",
      offset: "{form.field.focus.ring.offset}",
      shadow: "{form.field.focus.ring.shadow}"
    },
    transitionDuration: "{form.field.transition.duration}",
    sm: {
      fontSize: "{form.field.sm.font.size}",
      padding: "0.5rem 0.75rem"
    },
    lg: {
      fontSize: "{form.field.lg.font.size}",
      padding: "0.75rem 1.25rem"
    }
  },
  icon: {
    color: "{text.muted.color}",
    hoverColor: "{text.muted.color}",
    checkedColor: "{highlight.color}",
    disabledColor: "{form.field.disabled.color}"
  },
  content: {
    left: "0.25rem",
    top: "0.25rem",
    checkedBackground: "transparent",
    checkedShadow: "none"
  },
  colorScheme: {
    light: {
      root: {
        hoverBackground: "{surface.100}"
      }
    },
    dark: {
      root: {
        hoverBackground: "{surface.800}"
      }
    }
  }
};
var index$7 = {
  root: {
    width: "3rem",
    height: "1.75rem",
    borderRadius: "30px",
    gap: "0.25rem",
    shadow: "{form.field.shadow}",
    focusRing: {
      width: "{form.field.focus.ring.width}",
      style: "{form.field.focus.ring.style}",
      color: "{form.field.focus.ring.color}",
      offset: "{form.field.focus.ring.offset}",
      shadow: "{form.field.focus.ring.shadow}"
    },
    borderWidth: "1px",
    borderColor: "transparent",
    hoverBorderColor: "transparent",
    checkedBorderColor: "transparent",
    checkedHoverBorderColor: "transparent",
    invalidBorderColor: "{form.field.invalid.border.color}",
    transitionDuration: "{form.field.transition.duration}",
    slideDuration: "0.2s"
  },
  handle: {
    borderRadius: "50%",
    size: "1.25rem"
  },
  colorScheme: {
    light: {
      root: {
        background: "{surface.300}",
        disabledBackground: "{form.field.disabled.background}",
        hoverBackground: "{surface.400}",
        checkedBackground: "{primary.color}",
        checkedHoverBackground: "{primary.hover.color}"
      },
      handle: {
        background: "{surface.0}",
        disabledBackground: "{form.field.disabled.color}",
        hoverBackground: "{surface.0}",
        checkedBackground: "{surface.0}",
        checkedHoverBackground: "{surface.0}",
        color: "{text.muted.color}",
        hoverColor: "{text.color}",
        checkedColor: "{primary.color}",
        checkedHoverColor: "{primary.hover.color}"
      }
    },
    dark: {
      root: {
        background: "{surface.700}",
        disabledBackground: "{surface.600}",
        hoverBackground: "{surface.600}",
        checkedBackground: "{primary.color}",
        checkedHoverBackground: "{primary.hover.color}"
      },
      handle: {
        background: "{surface.400}",
        disabledBackground: "{surface.900}",
        hoverBackground: "{surface.300}",
        checkedBackground: "{surface.900}",
        checkedHoverBackground: "{surface.900}",
        color: "{surface.900}",
        hoverColor: "{surface.800}",
        checkedColor: "{primary.color}",
        checkedHoverColor: "{primary.hover.color}"
      }
    }
  }
};
var index$6 = {
  root: {
    background: "{content.background}",
    borderColor: "{content.border.color}",
    borderRadius: "{content.border.radius}",
    color: "{content.color}",
    gap: "0.5rem",
    padding: "0.75rem"
  },
  colorScheme: {
    light: {
      root: {
        background: "{surface.50}",
        color: "{content.color}"
      }
    },
    dark: {
      root: {
        background: "{surface.800}",
        color: "{content.color}"
      }
    }
  }
};
var index$5 = {
  root: {
    maxWidth: "12.5rem",
    gutter: "0.25rem",
    shadow: "{overlay.popover.shadow}",
    padding: "0.625rem 0.75rem",
    borderRadius: "{overlay.popover.border.radius}"
  },
  colorScheme: {
    light: {
      root: {
        background: "{surface.700}",
        color: "{surface.0}"
      }
    },
    dark: {
      root: {
        background: "{surface.700}",
        color: "{surface.0}"
      }
    }
  }
};
var index$4 = {
  root: {
    background: "{content.background}",
    color: "{content.color}",
    padding: "1rem",
    gap: "2px",
    indent: "1rem",
    transitionDuration: "{transition.duration}"
  },
  node: {
    padding: "0.375rem 0.625rem",
    borderRadius: "{content.border.radius}",
    hoverBackground: "{content.hover.background}",
    selectedBackground: "{highlight.background}",
    color: "{text.color}",
    hoverColor: "{text.hover.color}",
    selectedColor: "{highlight.color}",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "inset {focus.ring.shadow}"
    },
    gap: "0.25rem"
  },
  nodeIcon: {
    color: "{text.muted.color}",
    hoverColor: "{text.hover.muted.color}",
    selectedColor: "{highlight.color}"
  },
  nodeToggleButton: {
    borderRadius: "50%",
    size: "1.75rem",
    hoverBackground: "{content.hover.background}",
    selectedHoverBackground: "{content.background}",
    color: "{text.muted.color}",
    hoverColor: "{text.hover.muted.color}",
    selectedHoverColor: "{primary.color}",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  },
  loadingIcon: {
    size: "2rem"
  },
  filter: {
    margin: "0 0 0.5rem 0"
  }
};
var index$3 = {
  root: {
    background: "{form.field.background}",
    disabledBackground: "{form.field.disabled.background}",
    filledBackground: "{form.field.filled.background}",
    filledHoverBackground: "{form.field.filled.hover.background}",
    filledFocusBackground: "{form.field.filled.focus.background}",
    borderColor: "{form.field.border.color}",
    hoverBorderColor: "{form.field.hover.border.color}",
    focusBorderColor: "{form.field.focus.border.color}",
    invalidBorderColor: "{form.field.invalid.border.color}",
    color: "{form.field.color}",
    disabledColor: "{form.field.disabled.color}",
    placeholderColor: "{form.field.placeholder.color}",
    invalidPlaceholderColor: "{form.field.invalid.placeholder.color}",
    shadow: "{form.field.shadow}",
    paddingX: "{form.field.padding.x}",
    paddingY: "{form.field.padding.y}",
    borderRadius: "{form.field.border.radius}",
    focusRing: {
      width: "{form.field.focus.ring.width}",
      style: "{form.field.focus.ring.style}",
      color: "{form.field.focus.ring.color}",
      offset: "{form.field.focus.ring.offset}",
      shadow: "{form.field.focus.ring.shadow}"
    },
    transitionDuration: "{form.field.transition.duration}",
    sm: {
      fontSize: "{form.field.sm.font.size}",
      paddingX: "{form.field.sm.padding.x}",
      paddingY: "{form.field.sm.padding.y}"
    },
    lg: {
      fontSize: "{form.field.lg.font.size}",
      paddingX: "{form.field.lg.padding.x}",
      paddingY: "{form.field.lg.padding.y}"
    }
  },
  dropdown: {
    width: "2.5rem",
    color: "{form.field.icon.color}"
  },
  overlay: {
    background: "{overlay.select.background}",
    borderColor: "{overlay.select.border.color}",
    borderRadius: "{overlay.select.border.radius}",
    color: "{overlay.select.color}",
    shadow: "{overlay.select.shadow}"
  },
  tree: {
    padding: "{list.padding}"
  },
  clearIcon: {
    color: "{form.field.icon.color}"
  },
  emptyMessage: {
    padding: "{list.option.padding}"
  },
  chip: {
    borderRadius: "{border.radius.sm}"
  }
};
var index$2 = {
  root: {
    transitionDuration: "{transition.duration}"
  },
  header: {
    borderColor: "{treetable.border.color}",
    borderWidth: "1px 0 1px 0",
    padding: "0.75rem 1rem"
  },
  headerCell: {
    selectedBackground: "{highlight.background}",
    borderColor: "{treetable.border.color}",
    hoverColor: "{content.hover.color}",
    selectedColor: "{highlight.color}",
    gap: "0.5rem",
    padding: "0.75rem 1rem",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "inset {focus.ring.shadow}"
    }
  },
  columnTitle: {
    fontWeight: "700"
  },
  row: {
    background: "{content.background}",
    hoverBackground: "{content.hover.background}",
    selectedBackground: "{highlight.background}",
    color: "{content.color}",
    hoverColor: "{sr.hover.color}",
    selectedColor: "{highlight.color}",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "inset {focus.ring.shadow}"
    }
  },
  bodyCell: {
    borderColor: "{treetable.border.color}",
    padding: "0.75rem 1rem",
    gap: "0.5rem"
  },
  footerCell: {
    borderColor: "{treetable.border.color}",
    padding: "0.75rem 1rem"
  },
  columnFooter: {
    fontWeight: "700"
  },
  footer: {
    borderColor: "{treetable.border.color}",
    borderWidth: "0 0 1px 0",
    padding: "0.75rem 1rem"
  },
  columnResizerWidth: "0.5rem",
  resizeIndicator: {
    width: "1px",
    color: "{primary.color}"
  },
  sortIcon: {
    color: "{text.muted.color}",
    hoverColor: "{text.hover.muted.color}",
    size: "0.875rem"
  },
  loadingIcon: {
    size: "2rem"
  },
  nodeToggleButton: {
    hoverBackground: "{content.hover.background}",
    selectedHoverBackground: "{content.background}",
    color: "{text.muted.color}",
    hoverColor: "{text.color}",
    selectedHoverColor: "{primary.color}",
    size: "1.75rem",
    borderRadius: "50%",
    focusRing: {
      width: "{focus.ring.width}",
      style: "{focus.ring.style}",
      color: "{focus.ring.color}",
      offset: "{focus.ring.offset}",
      shadow: "{focus.ring.shadow}"
    }
  },
  paginatorTop: {
    borderColor: "{content.border.color}",
    borderWidth: "0 0 1px 0"
  },
  paginatorBottom: {
    borderColor: "{content.border.color}",
    borderWidth: "0 0 1px 0"
  },
  colorScheme: {
    light: {
      root: {
        borderColor: "{content.border.color}"
      },
      header: {
        background: "{surface.50}",
        color: "{text.color}"
      },
      headerCell: {
        background: "{surface.50}",
        hoverBackground: "{surface.100}",
        color: "{text.color}"
      },
      footer: {
        background: "{surface.50}",
        color: "{text.color}"
      },
      footerCell: {
        background: "{surface.50}",
        color: "{text.color}"
      },
      bodyCell: {
        selectedBorderColor: "{primary.100}"
      }
    },
    dark: {
      root: {
        borderColor: "{surface.800}"
      },
      header: {
        background: "{surface.800}",
        color: "{text.color}"
      },
      headerCell: {
        background: "{surface.800}",
        hoverBackground: "{surface.700}",
        color: "{text.color}"
      },
      footer: {
        background: "{surface.800}",
        color: "{text.color}"
      },
      footerCell: {
        background: "{surface.800}",
        color: "{text.color}"
      },
      bodyCell: {
        selectedBorderColor: "{primary.900}"
      }
    }
  }
};
var index$1 = {
  loader: {
    mask: {
      background: "{content.background}",
      color: "{text.muted.color}"
    },
    icon: {
      size: "2rem"
    }
  }
};
function _typeof$c(o2) {
  "@babel/helpers - typeof";
  return _typeof$c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) {
    return typeof o3;
  } : function(o3) {
    return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3;
  }, _typeof$c(o2);
}
function ownKeys$a(e, r2) {
  var t2 = Object.keys(e);
  if (Object.getOwnPropertySymbols) {
    var o2 = Object.getOwnPropertySymbols(e);
    r2 && (o2 = o2.filter(function(r3) {
      return Object.getOwnPropertyDescriptor(e, r3).enumerable;
    })), t2.push.apply(t2, o2);
  }
  return t2;
}
function _objectSpread$8(e) {
  for (var r2 = 1; r2 < arguments.length; r2++) {
    var t2 = null != arguments[r2] ? arguments[r2] : {};
    r2 % 2 ? ownKeys$a(Object(t2), true).forEach(function(r3) {
      _defineProperty$d(e, r3, t2[r3]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$a(Object(t2)).forEach(function(r3) {
      Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));
    });
  }
  return e;
}
function _defineProperty$d(e, r2, t2) {
  return (r2 = _toPropertyKey$d(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;
}
function _toPropertyKey$d(t2) {
  var i = _toPrimitive$d(t2, "string");
  return "symbol" == _typeof$c(i) ? i : i + "";
}
function _toPrimitive$d(t2, r2) {
  if ("object" != _typeof$c(t2) || !t2) return t2;
  var e = t2[Symbol.toPrimitive];
  if (void 0 !== e) {
    var i = e.call(t2, r2 || "default");
    if ("object" != _typeof$c(i)) return i;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return ("string" === r2 ? String : Number)(t2);
}
var index = _objectSpread$8(_objectSpread$8({}, index$1l), {}, {
  components: {
    accordion: index$1p,
    autocomplete: index$1o,
    avatar: index$1n,
    badge: index$1m,
    blockui: index$1k,
    breadcrumb: index$1j,
    button: index$1i,
    datepicker: index$16,
    card: index$1h,
    carousel: index$1g,
    cascadeselect: index$1f,
    checkbox: index$1e,
    chip: index$1d,
    colorpicker: index$1c,
    confirmdialog: index$1b,
    confirmpopup: index$1a,
    contextmenu: index$19,
    dataview: index$17,
    datatable: index$18,
    dialog: index$15,
    divider: index$14,
    dock: index$13,
    drawer: index$12,
    editor: index$11,
    fieldset: index$10,
    fileupload: index$$,
    iftalabel: index$X,
    floatlabel: index$_,
    galleria: index$Z,
    iconfield: index$Y,
    image: index$W,
    imagecompare: index$V,
    inlinemessage: index$U,
    inplace: index$T,
    inputchips: index$S,
    inputgroup: index$R,
    inputnumber: index$Q,
    inputotp: index$P,
    inputtext: index$O,
    knob: index$N,
    listbox: index$M,
    megamenu: index$L,
    menu: index$K,
    menubar: index$J,
    message: index$I,
    metergroup: index$H,
    multiselect: index$G,
    orderlist: index$F,
    organizationchart: index$E,
    overlaybadge: index$D,
    popover: index$x,
    paginator: index$C,
    password: index$z,
    panel: index$B,
    panelmenu: index$A,
    picklist: index$y,
    progressbar: index$w,
    progressspinner: index$v,
    radiobutton: index$u,
    rating: index$t,
    scrollpanel: index$r,
    select: index$q,
    selectbutton: index$p,
    skeleton: index$o,
    slider: index$n,
    speeddial: index$m,
    splitter: index$k,
    splitbutton: index$l,
    stepper: index$j,
    steps: index$i,
    tabmenu: index$h,
    tabs: index$g,
    tabview: index$f,
    textarea: index$c,
    tieredmenu: index$b,
    tag: index$e,
    terminal: index$d,
    timeline: index$a,
    togglebutton: index$8,
    toggleswitch: index$7,
    tree: index$4,
    treeselect: index$3,
    treetable: index$2,
    toast: index$9,
    toolbar: index$6,
    virtualscroller: index$1
  },
  directives: {
    tooltip: index$5,
    ripple: index$s
  }
});
/**
* @vue/shared v3.5.13
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
/*! #__NO_SIDE_EFFECTS__ */
// @__NO_SIDE_EFFECTS__
function makeMap(str) {
  const map = /* @__PURE__ */ Object.create(null);
  for (const key of str.split(",")) map[key] = 1;
  return (val) => val in map;
}
const EMPTY_OBJ = {};
const EMPTY_ARR = [];
const NOOP = () => {
};
const NO = () => false;
const isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter
(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);
const isModelListener = (key) => key.startsWith("onUpdate:");
const extend$1 = Object.assign;
const remove = (arr, el) => {
  const i = arr.indexOf(el);
  if (i > -1) {
    arr.splice(i, 1);
  }
};
const hasOwnProperty$2 = Object.prototype.hasOwnProperty;
const hasOwn = (val, key) => hasOwnProperty$2.call(val, key);
const isArray$1 = Array.isArray;
const isMap = (val) => toTypeString(val) === "[object Map]";
const isSet = (val) => toTypeString(val) === "[object Set]";
const isFunction$1 = (val) => typeof val === "function";
const isString$1 = (val) => typeof val === "string";
const isSymbol = (val) => typeof val === "symbol";
const isObject$1 = (val) => val !== null && typeof val === "object";
const isPromise = (val) => {
  return (isObject$1(val) || isFunction$1(val)) && isFunction$1(val.then) && isFunction$1(val.catch);
};
const objectToString = Object.prototype.toString;
const toTypeString = (value2) => objectToString.call(value2);
const toRawType = (value2) => {
  return toTypeString(value2).slice(8, -1);
};
const isPlainObject$2 = (val) => toTypeString(val) === "[object Object]";
const isIntegerKey = (key) => isString$1(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key;
const isReservedProp = /* @__PURE__ */ makeMap(
  // the leading comma is intentional so empty string "" is also included
  ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"
);
const cacheStringFunction = (fn) => {
  const cache = /* @__PURE__ */ Object.create(null);
  return (str) => {
    const hit = cache[str];
    return hit || (cache[str] = fn(str));
  };
};
const camelizeRE = /-(\w)/g;
const camelize = cacheStringFunction(
  (str) => {
    return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : "");
  }
);
const hyphenateRE = /\B([A-Z])/g;
const hyphenate = cacheStringFunction(
  (str) => str.replace(hyphenateRE, "-$1").toLowerCase()
);
const capitalize = cacheStringFunction((str) => {
  return str.charAt(0).toUpperCase() + str.slice(1);
});
const toHandlerKey = cacheStringFunction(
  (str) => {
    const s2 = str ? `on${capitalize(str)}` : ``;
    return s2;
  }
);
const hasChanged = (value2, oldValue) => !Object.is(value2, oldValue);
const invokeArrayFns = (fns, ...arg) => {
  for (let i = 0; i < fns.length; i++) {
    fns[i](...arg);
  }
};
const def = (obj, key, value2, writable = false) => {
  Object.defineProperty(obj, key, {
    configurable: true,
    enumerable: false,
    writable,
    value: value2
  });
};
const looseToNumber = (val) => {
  const n = parseFloat(val);
  return isNaN(n) ? val : n;
};
const toNumber = (val) => {
  const n = isString$1(val) ? Number(val) : NaN;
  return isNaN(n) ? val : n;
};
let _globalThis;
const getGlobalThis = () => {
  return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {});
};
function normalizeStyle(value2) {
  if (isArray$1(value2)) {
    const res = {};
    for (let i = 0; i < value2.length; i++) {
      const item = value2[i];
      const normalized = isString$1(item) ? parseStringStyle(item) : normalizeStyle(item);
      if (normalized) {
        for (const key in normalized) {
          res[key] = normalized[key];
        }
      }
    }
    return res;
  } else if (isString$1(value2) || isObject$1(value2)) {
    return value2;
  }
}
const listDelimiterRE = /;(?![^(]*\))/g;
const propertyDelimiterRE = /:([^]+)/;
const styleCommentRE = /\/\*[^]*?\*\//g;
function parseStringStyle(cssText) {
  const ret = {};
  cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => {
    if (item) {
      const tmp = item.split(propertyDelimiterRE);
      tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());
    }
  });
  return ret;
}
function normalizeClass(value2) {
  let res = "";
  if (isString$1(value2)) {
    res = value2;
  } else if (isArray$1(value2)) {
    for (let i = 0; i < value2.length; i++) {
      const normalized = normalizeClass(value2[i]);
      if (normalized) {
        res += normalized + " ";
      }
    }
  } else if (isObject$1(value2)) {
    for (const name in value2) {
      if (value2[name]) {
        res += name + " ";
      }
    }
  }
  return res.trim();
}
function normalizeProps(props) {
  if (!props) return null;
  let { class: klass, style } = props;
  if (klass && !isString$1(klass)) {
    props.class = normalizeClass(klass);
  }
  if (style) {
    props.style = normalizeStyle(style);
  }
  return props;
}
const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);
function includeBooleanAttr(value2) {
  return !!value2 || value2 === "";
}
const isRef$1 = (val) => {
  return !!(val && val["__v_isRef"] === true);
};
const toDisplayString = (val) => {
  return isString$1(val) ? val : val == null ? "" : isArray$1(val) || isObject$1(val) && (val.toString === objectToString || !isFunction$1(val.toString)) ? isRef$1(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val);
};
const replacer = (_key, val) => {
  if (isRef$1(val)) {
    return replacer(_key, val.value);
  } else if (isMap(val)) {
    return {
      [`Map(${val.size})`]: [...val.entries()].reduce(
        (entries, [key, val2], i) => {
          entries[stringifySymbol(key, i) + " =>"] = val2;
          return entries;
        },
        {}
      )
    };
  } else if (isSet(val)) {
    return {
      [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))
    };
  } else if (isSymbol(val)) {
    return stringifySymbol(val);
  } else if (isObject$1(val) && !isArray$1(val) && !isPlainObject$2(val)) {
    return String(val);
  }
  return val;
};
const stringifySymbol = (v, i = "") => {
  var _a;
  return (
    // Symbol.description in es2019+ so we need to cast here to pass
    // the lib: es2016 check
    isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v
  );
};
/**
* @vue/reactivity v3.5.13
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
let activeEffectScope;
class EffectScope {
  constructor(detached = false) {
    this.detached = detached;
    this._active = true;
    this.effects = [];
    this.cleanups = [];
    this._isPaused = false;
    this.parent = activeEffectScope;
    if (!detached && activeEffectScope) {
      this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
        this
      ) - 1;
    }
  }
  get active() {
    return this._active;
  }
  pause() {
    if (this._active) {
      this._isPaused = true;
      let i, l;
      if (this.scopes) {
        for (i = 0, l = this.scopes.length; i < l; i++) {
          this.scopes[i].pause();
        }
      }
      for (i = 0, l = this.effects.length; i < l; i++) {
        this.effects[i].pause();
      }
    }
  }
  /**
   * Resumes the effect scope, including all child scopes and effects.
   */
  resume() {
    if (this._active) {
      if (this._isPaused) {
        this._isPaused = false;
        let i, l;
        if (this.scopes) {
          for (i = 0, l = this.scopes.length; i < l; i++) {
            this.scopes[i].resume();
          }
        }
        for (i = 0, l = this.effects.length; i < l; i++) {
          this.effects[i].resume();
        }
      }
    }
  }
  run(fn) {
    if (this._active) {
      const currentEffectScope = activeEffectScope;
      try {
        activeEffectScope = this;
        return fn();
      } finally {
        activeEffectScope = currentEffectScope;
      }
    }
  }
  /**
   * This should only be called on non-detached scopes
   * @internal
   */
  on() {
    activeEffectScope = this;
  }
  /**
   * This should only be called on non-detached scopes
   * @internal
   */
  off() {
    activeEffectScope = this.parent;
  }
  stop(fromParent) {
    if (this._active) {
      this._active = false;
      let i, l;
      for (i = 0, l = this.effects.length; i < l; i++) {
        this.effects[i].stop();
      }
      this.effects.length = 0;
      for (i = 0, l = this.cleanups.length; i < l; i++) {
        this.cleanups[i]();
      }
      this.cleanups.length = 0;
      if (this.scopes) {
        for (i = 0, l = this.scopes.length; i < l; i++) {
          this.scopes[i].stop(true);
        }
        this.scopes.length = 0;
      }
      if (!this.detached && this.parent && !fromParent) {
        const last = this.parent.scopes.pop();
        if (last && last !== this) {
          this.parent.scopes[this.index] = last;
          last.index = this.index;
        }
      }
      this.parent = void 0;
    }
  }
}
function effectScope(detached) {
  return new EffectScope(detached);
}
function getCurrentScope() {
  return activeEffectScope;
}
function onScopeDispose(fn, failSilently = false) {
  if (activeEffectScope) {
    activeEffectScope.cleanups.push(fn);
  }
}
let activeSub;
const pausedQueueEffects = /* @__PURE__ */ new WeakSet();
class ReactiveEffect {
  constructor(fn) {
    this.fn = fn;
    this.deps = void 0;
    this.depsTail = void 0;
    this.flags = 1 | 4;
    this.next = void 0;
    this.cleanup = void 0;
    this.scheduler = void 0;
    if (activeEffectScope && activeEffectScope.active) {
      activeEffectScope.effects.push(this);
    }
  }
  pause() {
    this.flags |= 64;
  }
  resume() {
    if (this.flags & 64) {
      this.flags &= -65;
      if (pausedQueueEffects.has(this)) {
        pausedQueueEffects.delete(this);
        this.trigger();
      }
    }
  }
  /**
   * @internal
   */
  notify() {
    if (this.flags & 2 && !(this.flags & 32)) {
      return;
    }
    if (!(this.flags & 8)) {
      batch(this);
    }
  }
  run() {
    if (!(this.flags & 1)) {
      return this.fn();
    }
    this.flags |= 2;
    cleanupEffect(this);
    prepareDeps(this);
    const prevEffect = activeSub;
    const prevShouldTrack = shouldTrack;
    activeSub = this;
    shouldTrack = true;
    try {
      return this.fn();
    } finally {
      cleanupDeps(this);
      activeSub = prevEffect;
      shouldTrack = prevShouldTrack;
      this.flags &= -3;
    }
  }
  stop() {
    if (this.flags & 1) {
      for (let link = this.deps; link; link = link.nextDep) {
        removeSub(link);
      }
      this.deps = this.depsTail = void 0;
      cleanupEffect(this);
      this.onStop && this.onStop();
      this.flags &= -2;
    }
  }
  trigger() {
    if (this.flags & 64) {
      pausedQueueEffects.add(this);
    } else if (this.scheduler) {
      this.scheduler();
    } else {
      this.runIfDirty();
    }
  }
  /**
   * @internal
   */
  runIfDirty() {
    if (isDirty(this)) {
      this.run();
    }
  }
  get dirty() {
    return isDirty(this);
  }
}
let batchDepth = 0;
let batchedSub;
let batchedComputed;
function batch(sub, isComputed2 = false) {
  sub.flags |= 8;
  if (isComputed2) {
    sub.next = batchedComputed;
    batchedComputed = sub;
    return;
  }
  sub.next = batchedSub;
  batchedSub = sub;
}
function startBatch() {
  batchDepth++;
}
function endBatch() {
  if (--batchDepth > 0) {
    return;
  }
  if (batchedComputed) {
    let e = batchedComputed;
    batchedComputed = void 0;
    while (e) {
      const next = e.next;
      e.next = void 0;
      e.flags &= -9;
      e = next;
    }
  }
  let error;
  while (batchedSub) {
    let e = batchedSub;
    batchedSub = void 0;
    while (e) {
      const next = e.next;
      e.next = void 0;
      e.flags &= -9;
      if (e.flags & 1) {
        try {
          ;
          e.trigger();
        } catch (err) {
          if (!error) error = err;
        }
      }
      e = next;
    }
  }
  if (error) throw error;
}
function prepareDeps(sub) {
  for (let link = sub.deps; link; link = link.nextDep) {
    link.version = -1;
    link.prevActiveLink = link.dep.activeLink;
    link.dep.activeLink = link;
  }
}
function cleanupDeps(sub) {
  let head;
  let tail = sub.depsTail;
  let link = tail;
  while (link) {
    const prev = link.prevDep;
    if (link.version === -1) {
      if (link === tail) tail = prev;
      removeSub(link);
      removeDep(link);
    } else {
      head = link;
    }
    link.dep.activeLink = link.prevActiveLink;
    link.prevActiveLink = void 0;
    link = prev;
  }
  sub.deps = head;
  sub.depsTail = tail;
}
function isDirty(sub) {
  for (let link = sub.deps; link; link = link.nextDep) {
    if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) {
      return true;
    }
  }
  if (sub._dirty) {
    return true;
  }
  return false;
}
function refreshComputed(computed2) {
  if (computed2.flags & 4 && !(computed2.flags & 16)) {
    return;
  }
  computed2.flags &= -17;
  if (computed2.globalVersion === globalVersion) {
    return;
  }
  computed2.globalVersion = globalVersion;
  const dep = computed2.dep;
  computed2.flags |= 2;
  if (dep.version > 0 && !computed2.isSSR && computed2.deps && !isDirty(computed2)) {
    computed2.flags &= -3;
    return;
  }
  const prevSub = activeSub;
  const prevShouldTrack = shouldTrack;
  activeSub = computed2;
  shouldTrack = true;
  try {
    prepareDeps(computed2);
    const value2 = computed2.fn(computed2._value);
    if (dep.version === 0 || hasChanged(value2, computed2._value)) {
      computed2._value = value2;
      dep.version++;
    }
  } catch (err) {
    dep.version++;
    throw err;
  } finally {
    activeSub = prevSub;
    shouldTrack = prevShouldTrack;
    cleanupDeps(computed2);
    computed2.flags &= -3;
  }
}
function removeSub(link, soft = false) {
  const { dep, prevSub, nextSub } = link;
  if (prevSub) {
    prevSub.nextSub = nextSub;
    link.prevSub = void 0;
  }
  if (nextSub) {
    nextSub.prevSub = prevSub;
    link.nextSub = void 0;
  }
  if (dep.subs === link) {
    dep.subs = prevSub;
    if (!prevSub && dep.computed) {
      dep.computed.flags &= -5;
      for (let l = dep.computed.deps; l; l = l.nextDep) {
        removeSub(l, true);
      }
    }
  }
  if (!soft && !--dep.sc && dep.map) {
    dep.map.delete(dep.key);
  }
}
function removeDep(link) {
  const { prevDep, nextDep } = link;
  if (prevDep) {
    prevDep.nextDep = nextDep;
    link.prevDep = void 0;
  }
  if (nextDep) {
    nextDep.prevDep = prevDep;
    link.nextDep = void 0;
  }
}
let shouldTrack = true;
const trackStack = [];
function pauseTracking() {
  trackStack.push(shouldTrack);
  shouldTrack = false;
}
function resetTracking() {
  const last = trackStack.pop();
  shouldTrack = last === void 0 ? true : last;
}
function cleanupEffect(e) {
  const { cleanup } = e;
  e.cleanup = void 0;
  if (cleanup) {
    const prevSub = activeSub;
    activeSub = void 0;
    try {
      cleanup();
    } finally {
      activeSub = prevSub;
    }
  }
}
let globalVersion = 0;
class Link {
  constructor(sub, dep) {
    this.sub = sub;
    this.dep = dep;
    this.version = dep.version;
    this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;
  }
}
class Dep {
  constructor(computed2) {
    this.computed = computed2;
    this.version = 0;
    this.activeLink = void 0;
    this.subs = void 0;
    this.map = void 0;
    this.key = void 0;
    this.sc = 0;
  }
  track(debugInfo) {
    if (!activeSub || !shouldTrack || activeSub === this.computed) {
      return;
    }
    let link = this.activeLink;
    if (link === void 0 || link.sub !== activeSub) {
      link = this.activeLink = new Link(activeSub, this);
      if (!activeSub.deps) {
        activeSub.deps = activeSub.depsTail = link;
      } else {
        link.prevDep = activeSub.depsTail;
        activeSub.depsTail.nextDep = link;
        activeSub.depsTail = link;
      }
      addSub(link);
    } else if (link.version === -1) {
      link.version = this.version;
      if (link.nextDep) {
        const next = link.nextDep;
        next.prevDep = link.prevDep;
        if (link.prevDep) {
          link.prevDep.nextDep = next;
        }
        link.prevDep = activeSub.depsTail;
        link.nextDep = void 0;
        activeSub.depsTail.nextDep = link;
        activeSub.depsTail = link;
        if (activeSub.deps === link) {
          activeSub.deps = next;
        }
      }
    }
    return link;
  }
  trigger(debugInfo) {
    this.version++;
    globalVersion++;
    this.notify(debugInfo);
  }
  notify(debugInfo) {
    startBatch();
    try {
      if (false) ;
      for (let link = this.subs; link; link = link.prevSub) {
        if (link.sub.notify()) {
          ;
          link.sub.dep.notify();
        }
      }
    } finally {
      endBatch();
    }
  }
}
function addSub(link) {
  link.dep.sc++;
  if (link.sub.flags & 4) {
    const computed2 = link.dep.computed;
    if (computed2 && !link.dep.subs) {
      computed2.flags |= 4 | 16;
      for (let l = computed2.deps; l; l = l.nextDep) {
        addSub(l);
      }
    }
    const currentTail = link.dep.subs;
    if (currentTail !== link) {
      link.prevSub = currentTail;
      if (currentTail) currentTail.nextSub = link;
    }
    link.dep.subs = link;
  }
}
const targetMap = /* @__PURE__ */ new WeakMap();
const ITERATE_KEY = Symbol(
  ""
);
const MAP_KEY_ITERATE_KEY = Symbol(
  ""
);
const ARRAY_ITERATE_KEY = Symbol(
  ""
);
function track(target, type, key) {
  if (shouldTrack && activeSub) {
    let depsMap = targetMap.get(target);
    if (!depsMap) {
      targetMap.set(target, depsMap = /* @__PURE__ */ new Map());
    }
    let dep = depsMap.get(key);
    if (!dep) {
      depsMap.set(key, dep = new Dep());
      dep.map = depsMap;
      dep.key = key;
    }
    {
      dep.track();
    }
  }
}
function trigger(target, type, key, newValue, oldValue, oldTarget) {
  const depsMap = targetMap.get(target);
  if (!depsMap) {
    globalVersion++;
    return;
  }
  const run = (dep) => {
    if (dep) {
      {
        dep.trigger();
      }
    }
  };
  startBatch();
  if (type === "clear") {
    depsMap.forEach(run);
  } else {
    const targetIsArray = isArray$1(target);
    const isArrayIndex = targetIsArray && isIntegerKey(key);
    if (targetIsArray && key === "length") {
      const newLength = Number(newValue);
      depsMap.forEach((dep, key2) => {
        if (key2 === "length" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) {
          run(dep);
        }
      });
    } else {
      if (key !== void 0 || depsMap.has(void 0)) {
        run(depsMap.get(key));
      }
      if (isArrayIndex) {
        run(depsMap.get(ARRAY_ITERATE_KEY));
      }
      switch (type) {
        case "add":
          if (!targetIsArray) {
            run(depsMap.get(ITERATE_KEY));
            if (isMap(target)) {
              run(depsMap.get(MAP_KEY_ITERATE_KEY));
            }
          } else if (isArrayIndex) {
            run(depsMap.get("length"));
          }
          break;
        case "delete":
          if (!targetIsArray) {
            run(depsMap.get(ITERATE_KEY));
            if (isMap(target)) {
              run(depsMap.get(MAP_KEY_ITERATE_KEY));
            }
          }
          break;
        case "set":
          if (isMap(target)) {
            run(depsMap.get(ITERATE_KEY));
          }
          break;
      }
    }
  }
  endBatch();
}
function getDepFromReactive(object, key) {
  const depMap = targetMap.get(object);
  return depMap && depMap.get(key);
}
function reactiveReadArray(array) {
  const raw = toRaw(array);
  if (raw === array) return raw;
  track(raw, "iterate", ARRAY_ITERATE_KEY);
  return isShallow(array) ? raw : raw.map(toReactive);
}
function shallowReadArray(arr) {
  track(arr = toRaw(arr), "iterate", ARRAY_ITERATE_KEY);
  return arr;
}
const arrayInstrumentations = {
  __proto__: null,
  [Symbol.iterator]() {
    return iterator(this, Symbol.iterator, toReactive);
  },
  concat(...args) {
    return reactiveReadArray(this).concat(
      ...args.map((x2) => isArray$1(x2) ? reactiveReadArray(x2) : x2)
    );
  },
  entries() {
    return iterator(this, "entries", (value2) => {
      value2[1] = toReactive(value2[1]);
      return value2;
    });
  },
  every(fn, thisArg) {
    return apply(this, "every", fn, thisArg, void 0, arguments);
  },
  filter(fn, thisArg) {
    return apply(this, "filter", fn, thisArg, (v) => v.map(toReactive), arguments);
  },
  find(fn, thisArg) {
    return apply(this, "find", fn, thisArg, toReactive, arguments);
  },
  findIndex(fn, thisArg) {
    return apply(this, "findIndex", fn, thisArg, void 0, arguments);
  },
  findLast(fn, thisArg) {
    return apply(this, "findLast", fn, thisArg, toReactive, arguments);
  },
  findLastIndex(fn, thisArg) {
    return apply(this, "findLastIndex", fn, thisArg, void 0, arguments);
  },
  // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement
  forEach(fn, thisArg) {
    return apply(this, "forEach", fn, thisArg, void 0, arguments);
  },
  includes(...args) {
    return searchProxy(this, "includes", args);
  },
  indexOf(...args) {
    return searchProxy(this, "indexOf", args);
  },
  join(separator) {
    return reactiveReadArray(this).join(separator);
  },
  // keys() iterator only reads `length`, no optimisation required
  lastIndexOf(...args) {
    return searchProxy(this, "lastIndexOf", args);
  },
  map(fn, thisArg) {
    return apply(this, "map", fn, thisArg, void 0, arguments);
  },
  pop() {
    return noTracking(this, "pop");
  },
  push(...args) {
    return noTracking(this, "push", args);
  },
  reduce(fn, ...args) {
    return reduce$1(this, "reduce", fn, args);
  },
  reduceRight(fn, ...args) {
    return reduce$1(this, "reduceRight", fn, args);
  },
  shift() {
    return noTracking(this, "shift");
  },
  // slice could use ARRAY_ITERATE but also seems to beg for range tracking
  some(fn, thisArg) {
    return apply(this, "some", fn, thisArg, void 0, arguments);
  },
  splice(...args) {
    return noTracking(this, "splice", args);
  },
  toReversed() {
    return reactiveReadArray(this).toReversed();
  },
  toSorted(comparer) {
    return reactiveReadArray(this).toSorted(comparer);
  },
  toSpliced(...args) {
    return reactiveReadArray(this).toSpliced(...args);
  },
  unshift(...args) {
    return noTracking(this, "unshift", args);
  },
  values() {
    return iterator(this, "values", toReactive);
  }
};
function iterator(self2, method, wrapValue) {
  const arr = shallowReadArray(self2);
  const iter = arr[method]();
  if (arr !== self2 && !isShallow(self2)) {
    iter._next = iter.next;
    iter.next = () => {
      const result = iter._next();
      if (result.value) {
        result.value = wrapValue(result.value);
      }
      return result;
    };
  }
  return iter;
}
const arrayProto = Array.prototype;
function apply(self2, method, fn, thisArg, wrappedRetFn, args) {
  const arr = shallowReadArray(self2);
  const needsWrap = arr !== self2 && !isShallow(self2);
  const methodFn = arr[method];
  if (methodFn !== arrayProto[method]) {
    const result2 = methodFn.apply(self2, args);
    return needsWrap ? toReactive(result2) : result2;
  }
  let wrappedFn = fn;
  if (arr !== self2) {
    if (needsWrap) {
      wrappedFn = function(item, index2) {
        return fn.call(this, toReactive(item), index2, self2);
      };
    } else if (fn.length > 2) {
      wrappedFn = function(item, index2) {
        return fn.call(this, item, index2, self2);
      };
    }
  }
  const result = methodFn.call(arr, wrappedFn, thisArg);
  return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;
}
function reduce$1(self2, method, fn, args) {
  const arr = shallowReadArray(self2);
  let wrappedFn = fn;
  if (arr !== self2) {
    if (!isShallow(self2)) {
      wrappedFn = function(acc, item, index2) {
        return fn.call(this, acc, toReactive(item), index2, self2);
      };
    } else if (fn.length > 3) {
      wrappedFn = function(acc, item, index2) {
        return fn.call(this, acc, item, index2, self2);
      };
    }
  }
  return arr[method](wrappedFn, ...args);
}
function searchProxy(self2, method, args) {
  const arr = toRaw(self2);
  track(arr, "iterate", ARRAY_ITERATE_KEY);
  const res = arr[method](...args);
  if ((res === -1 || res === false) && isProxy(args[0])) {
    args[0] = toRaw(args[0]);
    return arr[method](...args);
  }
  return res;
}
function noTracking(self2, method, args = []) {
  pauseTracking();
  startBatch();
  const res = toRaw(self2)[method].apply(self2, args);
  endBatch();
  resetTracking();
  return res;
}
const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);
const builtInSymbols = new Set(
  /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol)
);
function hasOwnProperty$1(key) {
  if (!isSymbol(key)) key = String(key);
  const obj = toRaw(this);
  track(obj, "has", key);
  return obj.hasOwnProperty(key);
}
class BaseReactiveHandler {
  constructor(_isReadonly = false, _isShallow = false) {
    this._isReadonly = _isReadonly;
    this._isShallow = _isShallow;
  }
  get(target, key, receiver) {
    if (key === "__v_skip") return target["__v_skip"];
    const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;
    if (key === "__v_isReactive") {
      return !isReadonly2;
    } else if (key === "__v_isReadonly") {
      return isReadonly2;
    } else if (key === "__v_isShallow") {
      return isShallow2;
    } else if (key === "__v_raw") {
      if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype
      // this means the receiver is a user proxy of the reactive proxy
      Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {
        return target;
      }
      return;
    }
    const targetIsArray = isArray$1(target);
    if (!isReadonly2) {
      let fn;
      if (targetIsArray && (fn = arrayInstrumentations[key])) {
        return fn;
      }
      if (key === "hasOwnProperty") {
        return hasOwnProperty$1;
      }
    }
    const res = Reflect.get(
      target,
      key,
      // if this is a proxy wrapping a ref, return methods using the raw ref
      // as receiver so that we don't have to call `toRaw` on the ref in all
      // its class methods
      isRef(target) ? target : receiver
    );
    if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {
      return res;
    }
    if (!isReadonly2) {
      track(target, "get", key);
    }
    if (isShallow2) {
      return res;
    }
    if (isRef(res)) {
      return targetIsArray && isIntegerKey(key) ? res : res.value;
    }
    if (isObject$1(res)) {
      return isReadonly2 ? readonly(res) : reactive(res);
    }
    return res;
  }
}
class MutableReactiveHandler extends BaseReactiveHandler {
  constructor(isShallow2 = false) {
    super(false, isShallow2);
  }
  set(target, key, value2, receiver) {
    let oldValue = target[key];
    if (!this._isShallow) {
      const isOldValueReadonly = isReadonly(oldValue);
      if (!isShallow(value2) && !isReadonly(value2)) {
        oldValue = toRaw(oldValue);
        value2 = toRaw(value2);
      }
      if (!isArray$1(target) && isRef(oldValue) && !isRef(value2)) {
        if (isOldValueReadonly) {
          return false;
        } else {
          oldValue.value = value2;
          return true;
        }
      }
    }
    const hadKey = isArray$1(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);
    const result = Reflect.set(
      target,
      key,
      value2,
      isRef(target) ? target : receiver
    );
    if (target === toRaw(receiver)) {
      if (!hadKey) {
        trigger(target, "add", key, value2);
      } else if (hasChanged(value2, oldValue)) {
        trigger(target, "set", key, value2);
      }
    }
    return result;
  }
  deleteProperty(target, key) {
    const hadKey = hasOwn(target, key);
    target[key];
    const result = Reflect.deleteProperty(target, key);
    if (result && hadKey) {
      trigger(target, "delete", key, void 0);
    }
    return result;
  }
  has(target, key) {
    const result = Reflect.has(target, key);
    if (!isSymbol(key) || !builtInSymbols.has(key)) {
      track(target, "has", key);
    }
    return result;
  }
  ownKeys(target) {
    track(
      target,
      "iterate",
      isArray$1(target) ? "length" : ITERATE_KEY
    );
    return Reflect.ownKeys(target);
  }
}
class ReadonlyReactiveHandler extends BaseReactiveHandler {
  constructor(isShallow2 = false) {
    super(true, isShallow2);
  }
  set(target, key) {
    return true;
  }
  deleteProperty(target, key) {
    return true;
  }
}
const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();
const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();
const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true);
const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);
const toShallow = (value2) => value2;
const getProto = (v) => Reflect.getPrototypeOf(v);
function createIterableMethod(method, isReadonly2, isShallow2) {
  return function(...args) {
    const target = this["__v_raw"];
    const rawTarget = toRaw(target);
    const targetIsMap = isMap(rawTarget);
    const isPair = method === "entries" || method === Symbol.iterator && targetIsMap;
    const isKeyOnly = method === "keys" && targetIsMap;
    const innerIterator = target[method](...args);
    const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;
    !isReadonly2 && track(
      rawTarget,
      "iterate",
      isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY
    );
    return {
      // iterator protocol
      next() {
        const { value: value2, done } = innerIterator.next();
        return done ? { value: value2, done } : {
          value: isPair ? [wrap(value2[0]), wrap(value2[1])] : wrap(value2),
          done
        };
      },
      // iterable protocol
      [Symbol.iterator]() {
        return this;
      }
    };
  };
}
function createReadonlyMethod(type) {
  return function(...args) {
    return type === "delete" ? false : type === "clear" ? void 0 : this;
  };
}
function createInstrumentations(readonly2, shallow) {
  const instrumentations = {
    get(key) {
      const target = this["__v_raw"];
      const rawTarget = toRaw(target);
      const rawKey = toRaw(key);
      if (!readonly2) {
        if (hasChanged(key, rawKey)) {
          track(rawTarget, "get", key);
        }
        track(rawTarget, "get", rawKey);
      }
      const { has } = getProto(rawTarget);
      const wrap = shallow ? toShallow : readonly2 ? toReadonly : toReactive;
      if (has.call(rawTarget, key)) {
        return wrap(target.get(key));
      } else if (has.call(rawTarget, rawKey)) {
        return wrap(target.get(rawKey));
      } else if (target !== rawTarget) {
        target.get(key);
      }
    },
    get size() {
      const target = this["__v_raw"];
      !readonly2 && track(toRaw(target), "iterate", ITERATE_KEY);
      return Reflect.get(target, "size", target);
    },
    has(key) {
      const target = this["__v_raw"];
      const rawTarget = toRaw(target);
      const rawKey = toRaw(key);
      if (!readonly2) {
        if (hasChanged(key, rawKey)) {
          track(rawTarget, "has", key);
        }
        track(rawTarget, "has", rawKey);
      }
      return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);
    },
    forEach(callback, thisArg) {
      const observed = this;
      const target = observed["__v_raw"];
      const rawTarget = toRaw(target);
      const wrap = shallow ? toShallow : readonly2 ? toReadonly : toReactive;
      !readonly2 && track(rawTarget, "iterate", ITERATE_KEY);
      return target.forEach((value2, key) => {
        return callback.call(thisArg, wrap(value2), wrap(key), observed);
      });
    }
  };
  extend$1(
    instrumentations,
    readonly2 ? {
      add: createReadonlyMethod("add"),
      set: createReadonlyMethod("set"),
      delete: createReadonlyMethod("delete"),
      clear: createReadonlyMethod("clear")
    } : {
      add(value2) {
        if (!shallow && !isShallow(value2) && !isReadonly(value2)) {
          value2 = toRaw(value2);
        }
        const target = toRaw(this);
        const proto = getProto(target);
        const hadKey = proto.has.call(target, value2);
        if (!hadKey) {
          target.add(value2);
          trigger(target, "add", value2, value2);
        }
        return this;
      },
      set(key, value2) {
        if (!shallow && !isShallow(value2) && !isReadonly(value2)) {
          value2 = toRaw(value2);
        }
        const target = toRaw(this);
        const { has, get: get2 } = getProto(target);
        let hadKey = has.call(target, key);
        if (!hadKey) {
          key = toRaw(key);
          hadKey = has.call(target, key);
        }
        const oldValue = get2.call(target, key);
        target.set(key, value2);
        if (!hadKey) {
          trigger(target, "add", key, value2);
        } else if (hasChanged(value2, oldValue)) {
          trigger(target, "set", key, value2);
        }
        return this;
      },
      delete(key) {
        const target = toRaw(this);
        const { has, get: get2 } = getProto(target);
        let hadKey = has.call(target, key);
        if (!hadKey) {
          key = toRaw(key);
          hadKey = has.call(target, key);
        }
        get2 ? get2.call(target, key) : void 0;
        const result = target.delete(key);
        if (hadKey) {
          trigger(target, "delete", key, void 0);
        }
        return result;
      },
      clear() {
        const target = toRaw(this);
        const hadItems = target.size !== 0;
        const result = target.clear();
        if (hadItems) {
          trigger(
            target,
            "clear",
            void 0,
            void 0
          );
        }
        return result;
      }
    }
  );
  const iteratorMethods = [
    "keys",
    "values",
    "entries",
    Symbol.iterator
  ];
  iteratorMethods.forEach((method) => {
    instrumentations[method] = createIterableMethod(method, readonly2, shallow);
  });
  return instrumentations;
}
function createInstrumentationGetter(isReadonly2, shallow) {
  const instrumentations = createInstrumentations(isReadonly2, shallow);
  return (target, key, receiver) => {
    if (key === "__v_isReactive") {
      return !isReadonly2;
    } else if (key === "__v_isReadonly") {
      return isReadonly2;
    } else if (key === "__v_raw") {
      return target;
    }
    return Reflect.get(
      hasOwn(instrumentations, key) && key in target ? instrumentations : target,
      key,
      receiver
    );
  };
}
const mutableCollectionHandlers = {
  get: /* @__PURE__ */ createInstrumentationGetter(false, false)
};
const shallowCollectionHandlers = {
  get: /* @__PURE__ */ createInstrumentationGetter(false, true)
};
const readonlyCollectionHandlers = {
  get: /* @__PURE__ */ createInstrumentationGetter(true, false)
};
const shallowReadonlyCollectionHandlers = {
  get: /* @__PURE__ */ createInstrumentationGetter(true, true)
};
const reactiveMap = /* @__PURE__ */ new WeakMap();
const shallowReactiveMap = /* @__PURE__ */ new WeakMap();
const readonlyMap = /* @__PURE__ */ new WeakMap();
const shallowReadonlyMap = /* @__PURE__ */ new WeakMap();
function targetTypeMap(rawType) {
  switch (rawType) {
    case "Object":
    case "Array":
      return 1;
    case "Map":
    case "Set":
    case "WeakMap":
    case "WeakSet":
      return 2;
    default:
      return 0;
  }
}
function getTargetType(value2) {
  return value2["__v_skip"] || !Object.isExtensible(value2) ? 0 : targetTypeMap(toRawType(value2));
}
function reactive(target) {
  if (isReadonly(target)) {
    return target;
  }
  return createReactiveObject(
    target,
    false,
    mutableHandlers,
    mutableCollectionHandlers,
    reactiveMap
  );
}
function shallowReactive(target) {
  return createReactiveObject(
    target,
    false,
    shallowReactiveHandlers,
    shallowCollectionHandlers,
    shallowReactiveMap
  );
}
function readonly(target) {
  return createReactiveObject(
    target,
    true,
    readonlyHandlers,
    readonlyCollectionHandlers,
    readonlyMap
  );
}
function shallowReadonly(target) {
  return createReactiveObject(
    target,
    true,
    shallowReadonlyHandlers,
    shallowReadonlyCollectionHandlers,
    shallowReadonlyMap
  );
}
function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {
  if (!isObject$1(target)) {
    return target;
  }
  if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) {
    return target;
  }
  const existingProxy = proxyMap.get(target);
  if (existingProxy) {
    return existingProxy;
  }
  const targetType = getTargetType(target);
  if (targetType === 0) {
    return target;
  }
  const proxy = new Proxy(
    target,
    targetType === 2 ? collectionHandlers : baseHandlers
  );
  proxyMap.set(target, proxy);
  return proxy;
}
function isReactive(value2) {
  if (isReadonly(value2)) {
    return isReactive(value2["__v_raw"]);
  }
  return !!(value2 && value2["__v_isReactive"]);
}
function isReadonly(value2) {
  return !!(value2 && value2["__v_isReadonly"]);
}
function isShallow(value2) {
  return !!(value2 && value2["__v_isShallow"]);
}
function isProxy(value2) {
  return value2 ? !!value2["__v_raw"] : false;
}
function toRaw(observed) {
  const raw = observed && observed["__v_raw"];
  return raw ? toRaw(raw) : observed;
}
function markRaw(value2) {
  if (!hasOwn(value2, "__v_skip") && Object.isExtensible(value2)) {
    def(value2, "__v_skip", true);
  }
  return value2;
}
const toReactive = (value2) => isObject$1(value2) ? reactive(value2) : value2;
const toReadonly = (value2) => isObject$1(value2) ? readonly(value2) : value2;
function isRef(r2) {
  return r2 ? r2["__v_isRef"] === true : false;
}
function ref(value2) {
  return createRef(value2, false);
}
function createRef(rawValue, shallow) {
  if (isRef(rawValue)) {
    return rawValue;
  }
  return new RefImpl(rawValue, shallow);
}
class RefImpl {
  constructor(value2, isShallow2) {
    this.dep = new Dep();
    this["__v_isRef"] = true;
    this["__v_isShallow"] = false;
    this._rawValue = isShallow2 ? value2 : toRaw(value2);
    this._value = isShallow2 ? value2 : toReactive(value2);
    this["__v_isShallow"] = isShallow2;
  }
  get value() {
    {
      this.dep.track();
    }
    return this._value;
  }
  set value(newValue) {
    const oldValue = this._rawValue;
    const useDirectValue = this["__v_isShallow"] || isShallow(newValue) || isReadonly(newValue);
    newValue = useDirectValue ? newValue : toRaw(newValue);
    if (hasChanged(newValue, oldValue)) {
      this._rawValue = newValue;
      this._value = useDirectValue ? newValue : toReactive(newValue);
      {
        this.dep.trigger();
      }
    }
  }
}
function unref(ref2) {
  return isRef(ref2) ? ref2.value : ref2;
}
const shallowUnwrapHandlers = {
  get: (target, key, receiver) => key === "__v_raw" ? target : unref(Reflect.get(target, key, receiver)),
  set: (target, key, value2, receiver) => {
    const oldValue = target[key];
    if (isRef(oldValue) && !isRef(value2)) {
      oldValue.value = value2;
      return true;
    } else {
      return Reflect.set(target, key, value2, receiver);
    }
  }
};
function proxyRefs(objectWithRefs) {
  return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);
}
function toRefs(object) {
  const ret = isArray$1(object) ? new Array(object.length) : {};
  for (const key in object) {
    ret[key] = propertyToRef(object, key);
  }
  return ret;
}
class ObjectRefImpl {
  constructor(_object, _key, _defaultValue) {
    this._object = _object;
    this._key = _key;
    this._defaultValue = _defaultValue;
    this["__v_isRef"] = true;
    this._value = void 0;
  }
  get value() {
    const val = this._object[this._key];
    return this._value = val === void 0 ? this._defaultValue : val;
  }
  set value(newVal) {
    this._object[this._key] = newVal;
  }
  get dep() {
    return getDepFromReactive(toRaw(this._object), this._key);
  }
}
function propertyToRef(source, key, defaultValue) {
  const val = source[key];
  return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);
}
class ComputedRefImpl {
  constructor(fn, setter, isSSR) {
    this.fn = fn;
    this.setter = setter;
    this._value = void 0;
    this.dep = new Dep(this);
    this.__v_isRef = true;
    this.deps = void 0;
    this.depsTail = void 0;
    this.flags = 16;
    this.globalVersion = globalVersion - 1;
    this.next = void 0;
    this.effect = this;
    this["__v_isReadonly"] = !setter;
    this.isSSR = isSSR;
  }
  /**
   * @internal
   */
  notify() {
    this.flags |= 16;
    if (!(this.flags & 8) && // avoid infinite self recursion
    activeSub !== this) {
      batch(this, true);
      return true;
    }
  }
  get value() {
    const link = this.dep.track();
    refreshComputed(this);
    if (link) {
      link.version = this.dep.version;
    }
    return this._value;
  }
  set value(newValue) {
    if (this.setter) {
      this.setter(newValue);
    }
  }
}
function computed$1(getterOrOptions, debugOptions, isSSR = false) {
  let getter;
  let setter;
  if (isFunction$1(getterOrOptions)) {
    getter = getterOrOptions;
  } else {
    getter = getterOrOptions.get;
    setter = getterOrOptions.set;
  }
  const cRef = new ComputedRefImpl(getter, setter, isSSR);
  return cRef;
}
const INITIAL_WATCHER_VALUE = {};
const cleanupMap = /* @__PURE__ */ new WeakMap();
let activeWatcher = void 0;
function onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {
  if (owner) {
    let cleanups = cleanupMap.get(owner);
    if (!cleanups) cleanupMap.set(owner, cleanups = []);
    cleanups.push(cleanupFn);
  }
}
function watch$1(source, cb, options = EMPTY_OBJ) {
  const { immediate, deep, once, scheduler, augmentJob, call } = options;
  const reactiveGetter = (source2) => {
    if (deep) return source2;
    if (isShallow(source2) || deep === false || deep === 0)
      return traverse(source2, 1);
    return traverse(source2);
  };
  let effect2;
  let getter;
  let cleanup;
  let boundCleanup;
  let forceTrigger = false;
  let isMultiSource = false;
  if (isRef(source)) {
    getter = () => source.value;
    forceTrigger = isShallow(source);
  } else if (isReactive(source)) {
    getter = () => reactiveGetter(source);
    forceTrigger = true;
  } else if (isArray$1(source)) {
    isMultiSource = true;
    forceTrigger = source.some((s2) => isReactive(s2) || isShallow(s2));
    getter = () => source.map((s2) => {
      if (isRef(s2)) {
        return s2.value;
      } else if (isReactive(s2)) {
        return reactiveGetter(s2);
      } else if (isFunction$1(s2)) {
        return call ? call(s2, 2) : s2();
      } else ;
    });
  } else if (isFunction$1(source)) {
    if (cb) {
      getter = call ? () => call(source, 2) : source;
    } else {
      getter = () => {
        if (cleanup) {
          pauseTracking();
          try {
            cleanup();
          } finally {
            resetTracking();
          }
        }
        const currentEffect = activeWatcher;
        activeWatcher = effect2;
        try {
          return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);
        } finally {
          activeWatcher = currentEffect;
        }
      };
    }
  } else {
    getter = NOOP;
  }
  if (cb && deep) {
    const baseGetter = getter;
    const depth = deep === true ? Infinity : deep;
    getter = () => traverse(baseGetter(), depth);
  }
  const scope = getCurrentScope();
  const watchHandle = () => {
    effect2.stop();
    if (scope && scope.active) {
      remove(scope.effects, effect2);
    }
  };
  if (once && cb) {
    const _cb = cb;
    cb = (...args) => {
      _cb(...args);
      watchHandle();
    };
  }
  let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;
  const job = (immediateFirstRun) => {
    if (!(effect2.flags & 1) || !effect2.dirty && !immediateFirstRun) {
      return;
    }
    if (cb) {
      const newValue = effect2.run();
      if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {
        if (cleanup) {
          cleanup();
        }
        const currentWatcher = activeWatcher;
        activeWatcher = effect2;
        try {
          const args = [
            newValue,
            // pass undefined as the old value when it's changed for the first time
            oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,
            boundCleanup
          ];
          call ? call(cb, 3, args) : (
            // @ts-expect-error
            cb(...args)
          );
          oldValue = newValue;
        } finally {
          activeWatcher = currentWatcher;
        }
      }
    } else {
      effect2.run();
    }
  };
  if (augmentJob) {
    augmentJob(job);
  }
  effect2 = new ReactiveEffect(getter);
  effect2.scheduler = scheduler ? () => scheduler(job, false) : job;
  boundCleanup = (fn) => onWatcherCleanup(fn, false, effect2);
  cleanup = effect2.onStop = () => {
    const cleanups = cleanupMap.get(effect2);
    if (cleanups) {
      if (call) {
        call(cleanups, 4);
      } else {
        for (const cleanup2 of cleanups) cleanup2();
      }
      cleanupMap.delete(effect2);
    }
  };
  if (cb) {
    if (immediate) {
      job(true);
    } else {
      oldValue = effect2.run();
    }
  } else if (scheduler) {
    scheduler(job.bind(null, true), true);
  } else {
    effect2.run();
  }
  watchHandle.pause = effect2.pause.bind(effect2);
  watchHandle.resume = effect2.resume.bind(effect2);
  watchHandle.stop = watchHandle;
  return watchHandle;
}
function traverse(value2, depth = Infinity, seen) {
  if (depth <= 0 || !isObject$1(value2) || value2["__v_skip"]) {
    return value2;
  }
  seen = seen || /* @__PURE__ */ new Set();
  if (seen.has(value2)) {
    return value2;
  }
  seen.add(value2);
  depth--;
  if (isRef(value2)) {
    traverse(value2.value, depth, seen);
  } else if (isArray$1(value2)) {
    for (let i = 0; i < value2.length; i++) {
      traverse(value2[i], depth, seen);
    }
  } else if (isSet(value2) || isMap(value2)) {
    value2.forEach((v) => {
      traverse(v, depth, seen);
    });
  } else if (isPlainObject$2(value2)) {
    for (const key in value2) {
      traverse(value2[key], depth, seen);
    }
    for (const key of Object.getOwnPropertySymbols(value2)) {
      if (Object.prototype.propertyIsEnumerable.call(value2, key)) {
        traverse(value2[key], depth, seen);
      }
    }
  }
  return value2;
}
/**
* @vue/runtime-core v3.5.13
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
const stack = [];
let isWarning = false;
function warn$1(msg, ...args) {
  if (isWarning) return;
  isWarning = true;
  pauseTracking();
  const instance2 = stack.length ? stack[stack.length - 1].component : null;
  const appWarnHandler = instance2 && instance2.appContext.config.warnHandler;
  const trace = getComponentTrace();
  if (appWarnHandler) {
    callWithErrorHandling(
      appWarnHandler,
      instance2,
      11,
      [
        // eslint-disable-next-line no-restricted-syntax
        msg + args.map((a) => {
          var _a, _b;
          return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);
        }).join(""),
        instance2 && instance2.proxy,
        trace.map(
          ({ vnode }) => `at <${formatComponentName(instance2, vnode.type)}>`
        ).join("\n"),
        trace
      ]
    );
  } else {
    const warnArgs = [`[Vue warn]: ${msg}`, ...args];
    if (trace.length && // avoid spamming console during tests
    true) {
      warnArgs.push(`
`, ...formatTrace(trace));
    }
    console.warn(...warnArgs);
  }
  resetTracking();
  isWarning = false;
}
function getComponentTrace() {
  let currentVNode = stack[stack.length - 1];
  if (!currentVNode) {
    return [];
  }
  const normalizedStack = [];
  while (currentVNode) {
    const last = normalizedStack[0];
    if (last && last.vnode === currentVNode) {
      last.recurseCount++;
    } else {
      normalizedStack.push({
        vnode: currentVNode,
        recurseCount: 0
      });
    }
    const parentInstance = currentVNode.component && currentVNode.component.parent;
    currentVNode = parentInstance && parentInstance.vnode;
  }
  return normalizedStack;
}
function formatTrace(trace) {
  const logs = [];
  trace.forEach((entry, i) => {
    logs.push(...i === 0 ? [] : [`
`], ...formatTraceEntry(entry));
  });
  return logs;
}
function formatTraceEntry({ vnode, recurseCount }) {
  const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;
  const isRoot = vnode.component ? vnode.component.parent == null : false;
  const open = ` at <${formatComponentName(
    vnode.component,
    vnode.type,
    isRoot
  )}`;
  const close = `>` + postfix;
  return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];
}
function formatProps(props) {
  const res = [];
  const keys = Object.keys(props);
  keys.slice(0, 3).forEach((key) => {
    res.push(...formatProp(key, props[key]));
  });
  if (keys.length > 3) {
    res.push(` ...`);
  }
  return res;
}
function formatProp(key, value2, raw) {
  if (isString$1(value2)) {
    value2 = JSON.stringify(value2);
    return raw ? value2 : [`${key}=${value2}`];
  } else if (typeof value2 === "number" || typeof value2 === "boolean" || value2 == null) {
    return raw ? value2 : [`${key}=${value2}`];
  } else if (isRef(value2)) {
    value2 = formatProp(key, toRaw(value2.value), true);
    return raw ? value2 : [`${key}=Ref<`, value2, `>`];
  } else if (isFunction$1(value2)) {
    return [`${key}=fn${value2.name ? `<${value2.name}>` : ``}`];
  } else {
    value2 = toRaw(value2);
    return raw ? value2 : [`${key}=`, value2];
  }
}
function callWithErrorHandling(fn, instance2, type, args) {
  try {
    return args ? fn(...args) : fn();
  } catch (err) {
    handleError(err, instance2, type);
  }
}
function callWithAsyncErrorHandling(fn, instance2, type, args) {
  if (isFunction$1(fn)) {
    const res = callWithErrorHandling(fn, instance2, type, args);
    if (res && isPromise(res)) {
      res.catch((err) => {
        handleError(err, instance2, type);
      });
    }
    return res;
  }
  if (isArray$1(fn)) {
    const values = [];
    for (let i = 0; i < fn.length; i++) {
      values.push(callWithAsyncErrorHandling(fn[i], instance2, type, args));
    }
    return values;
  }
}
function handleError(err, instance2, type, throwInDev = true) {
  const contextVNode = instance2 ? instance2.vnode : null;
  const { errorHandler, throwUnhandledErrorInProduction } = instance2 && instance2.appContext.config || EMPTY_OBJ;
  if (instance2) {
    let cur = instance2.parent;
    const exposedInstance = instance2.proxy;
    const errorInfo = `https://vuejs.org/error-reference/#runtime-${type}`;
    while (cur) {
      const errorCapturedHooks = cur.ec;
      if (errorCapturedHooks) {
        for (let i = 0; i < errorCapturedHooks.length; i++) {
          if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {
            return;
          }
        }
      }
      cur = cur.parent;
    }
    if (errorHandler) {
      pauseTracking();
      callWithErrorHandling(errorHandler, null, 10, [
        err,
        exposedInstance,
        errorInfo
      ]);
      resetTracking();
      return;
    }
  }
  logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction);
}
function logError(err, type, contextVNode, throwInDev = true, throwInProd = false) {
  if (throwInProd) {
    throw err;
  } else {
    console.error(err);
  }
}
const queue = [];
let flushIndex = -1;
const pendingPostFlushCbs = [];
let activePostFlushCbs = null;
let postFlushIndex = 0;
const resolvedPromise = /* @__PURE__ */ Promise.resolve();
let currentFlushPromise = null;
function nextTick(fn) {
  const p2 = currentFlushPromise || resolvedPromise;
  return fn ? p2.then(this ? fn.bind(this) : fn) : p2;
}
function findInsertionIndex(id3) {
  let start = flushIndex + 1;
  let end2 = queue.length;
  while (start < end2) {
    const middle = start + end2 >>> 1;
    const middleJob = queue[middle];
    const middleJobId = getId(middleJob);
    if (middleJobId < id3 || middleJobId === id3 && middleJob.flags & 2) {
      start = middle + 1;
    } else {
      end2 = middle;
    }
  }
  return start;
}
function queueJob(job) {
  if (!(job.flags & 1)) {
    const jobId = getId(job);
    const lastJob = queue[queue.length - 1];
    if (!lastJob || // fast path when the job id is larger than the tail
    !(job.flags & 2) && jobId >= getId(lastJob)) {
      queue.push(job);
    } else {
      queue.splice(findInsertionIndex(jobId), 0, job);
    }
    job.flags |= 1;
    queueFlush();
  }
}
function queueFlush() {
  if (!currentFlushPromise) {
    currentFlushPromise = resolvedPromise.then(flushJobs);
  }
}
function queuePostFlushCb(cb) {
  if (!isArray$1(cb)) {
    if (activePostFlushCbs && cb.id === -1) {
      activePostFlushCbs.splice(postFlushIndex + 1, 0, cb);
    } else if (!(cb.flags & 1)) {
      pendingPostFlushCbs.push(cb);
      cb.flags |= 1;
    }
  } else {
    pendingPostFlushCbs.push(...cb);
  }
  queueFlush();
}
function flushPreFlushCbs(instance2, seen, i = flushIndex + 1) {
  for (; i < queue.length; i++) {
    const cb = queue[i];
    if (cb && cb.flags & 2) {
      if (instance2 && cb.id !== instance2.uid) {
        continue;
      }
      queue.splice(i, 1);
      i--;
      if (cb.flags & 4) {
        cb.flags &= -2;
      }
      cb();
      if (!(cb.flags & 4)) {
        cb.flags &= -2;
      }
    }
  }
}
function flushPostFlushCbs(seen) {
  if (pendingPostFlushCbs.length) {
    const deduped = [...new Set(pendingPostFlushCbs)].sort(
      (a, b) => getId(a) - getId(b)
    );
    pendingPostFlushCbs.length = 0;
    if (activePostFlushCbs) {
      activePostFlushCbs.push(...deduped);
      return;
    }
    activePostFlushCbs = deduped;
    for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {
      const cb = activePostFlushCbs[postFlushIndex];
      if (cb.flags & 4) {
        cb.flags &= -2;
      }
      if (!(cb.flags & 8)) cb();
      cb.flags &= -2;
    }
    activePostFlushCbs = null;
    postFlushIndex = 0;
  }
}
const getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;
function flushJobs(seen) {
  try {
    for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {
      const job = queue[flushIndex];
      if (job && !(job.flags & 8)) {
        if (false) ;
        if (job.flags & 4) {
          job.flags &= ~1;
        }
        callWithErrorHandling(
          job,
          job.i,
          job.i ? 15 : 14
        );
        if (!(job.flags & 4)) {
          job.flags &= ~1;
        }
      }
    }
  } finally {
    for (; flushIndex < queue.length; flushIndex++) {
      const job = queue[flushIndex];
      if (job) {
        job.flags &= -2;
      }
    }
    flushIndex = -1;
    queue.length = 0;
    flushPostFlushCbs();
    currentFlushPromise = null;
    if (queue.length || pendingPostFlushCbs.length) {
      flushJobs();
    }
  }
}
let currentRenderingInstance = null;
let currentScopeId = null;
function setCurrentRenderingInstance(instance2) {
  const prev = currentRenderingInstance;
  currentRenderingInstance = instance2;
  currentScopeId = instance2 && instance2.type.__scopeId || null;
  return prev;
}
function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {
  if (!ctx) return fn;
  if (fn._n) {
    return fn;
  }
  const renderFnWithContext = (...args) => {
    if (renderFnWithContext._d) {
      setBlockTracking(-1);
    }
    const prevInstance = setCurrentRenderingInstance(ctx);
    let res;
    try {
      res = fn(...args);
    } finally {
      setCurrentRenderingInstance(prevInstance);
      if (renderFnWithContext._d) {
        setBlockTracking(1);
      }
    }
    return res;
  };
  renderFnWithContext._n = true;
  renderFnWithContext._c = true;
  renderFnWithContext._d = true;
  return renderFnWithContext;
}
function withDirectives(vnode, directives) {
  if (currentRenderingInstance === null) {
    return vnode;
  }
  const instance2 = getComponentPublicInstance(currentRenderingInstance);
  const bindings = vnode.dirs || (vnode.dirs = []);
  for (let i = 0; i < directives.length; i++) {
    let [dir, value2, arg, modifiers = EMPTY_OBJ] = directives[i];
    if (dir) {
      if (isFunction$1(dir)) {
        dir = {
          mounted: dir,
          updated: dir
        };
      }
      if (dir.deep) {
        traverse(value2);
      }
      bindings.push({
        dir,
        instance: instance2,
        value: value2,
        oldValue: void 0,
        arg,
        modifiers
      });
    }
  }
  return vnode;
}
function invokeDirectiveHook(vnode, prevVNode, instance2, name) {
  const bindings = vnode.dirs;
  const oldBindings = prevVNode && prevVNode.dirs;
  for (let i = 0; i < bindings.length; i++) {
    const binding = bindings[i];
    if (oldBindings) {
      binding.oldValue = oldBindings[i].value;
    }
    let hook = binding.dir[name];
    if (hook) {
      pauseTracking();
      callWithAsyncErrorHandling(hook, instance2, 8, [
        vnode.el,
        binding,
        vnode,
        prevVNode
      ]);
      resetTracking();
    }
  }
}
const TeleportEndKey = Symbol("_vte");
const isTeleport = (type) => type.__isTeleport;
const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === "");
const isTeleportDeferred = (props) => props && (props.defer || props.defer === "");
const isTargetSVG = (target) => typeof SVGElement !== "undefined" && target instanceof SVGElement;
const isTargetMathML = (target) => typeof MathMLElement === "function" && target instanceof MathMLElement;
const resolveTarget = (props, select) => {
  const targetSelector = props && props.to;
  if (isString$1(targetSelector)) {
    if (!select) {
      return null;
    } else {
      const target = select(targetSelector);
      return target;
    }
  } else {
    return targetSelector;
  }
};
const TeleportImpl = {
  name: "Teleport",
  __isTeleport: true,
  process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace2, slotScopeIds, optimized, internals) {
    const {
      mc: mountChildren,
      pc: patchChildren,
      pbc: patchBlockChildren,
      o: { insert, querySelector, createText, createComment }
    } = internals;
    const disabled3 = isTeleportDisabled(n2.props);
    let { shapeFlag, children, dynamicChildren } = n2;
    if (n1 == null) {
      const placeholder = n2.el = createText("");
      const mainAnchor = n2.anchor = createText("");
      insert(placeholder, container, anchor);
      insert(mainAnchor, container, anchor);
      const mount = (container2, anchor2) => {
        if (shapeFlag & 16) {
          if (parentComponent && parentComponent.isCE) {
            parentComponent.ce._teleportTarget = container2;
          }
          mountChildren(
            children,
            container2,
            anchor2,
            parentComponent,
            parentSuspense,
            namespace2,
            slotScopeIds,
            optimized
          );
        }
      };
      const mountToTarget = () => {
        const target = n2.target = resolveTarget(n2.props, querySelector);
        const targetAnchor = prepareAnchor(target, n2, createText, insert);
        if (target) {
          if (namespace2 !== "svg" && isTargetSVG(target)) {
            namespace2 = "svg";
          } else if (namespace2 !== "mathml" && isTargetMathML(target)) {
            namespace2 = "mathml";
          }
          if (!disabled3) {
            mount(target, targetAnchor);
            updateCssVars(n2, false);
          }
        }
      };
      if (disabled3) {
        mount(container, mainAnchor);
        updateCssVars(n2, true);
      }
      if (isTeleportDeferred(n2.props)) {
        queuePostRenderEffect(() => {
          mountToTarget();
          n2.el.__isMounted = true;
        }, parentSuspense);
      } else {
        mountToTarget();
      }
    } else {
      if (isTeleportDeferred(n2.props) && !n1.el.__isMounted) {
        queuePostRenderEffect(() => {
          TeleportImpl.process(
            n1,
            n2,
            container,
            anchor,
            parentComponent,
            parentSuspense,
            namespace2,
            slotScopeIds,
            optimized,
            internals
          );
          delete n1.el.__isMounted;
        }, parentSuspense);
        return;
      }
      n2.el = n1.el;
      n2.targetStart = n1.targetStart;
      const mainAnchor = n2.anchor = n1.anchor;
      const target = n2.target = n1.target;
      const targetAnchor = n2.targetAnchor = n1.targetAnchor;
      const wasDisabled = isTeleportDisabled(n1.props);
      const currentContainer = wasDisabled ? container : target;
      const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;
      if (namespace2 === "svg" || isTargetSVG(target)) {
        namespace2 = "svg";
      } else if (namespace2 === "mathml" || isTargetMathML(target)) {
        namespace2 = "mathml";
      }
      if (dynamicChildren) {
        patchBlockChildren(
          n1.dynamicChildren,
          dynamicChildren,
          currentContainer,
          parentComponent,
          parentSuspense,
          namespace2,
          slotScopeIds
        );
        traverseStaticChildren(n1, n2, true);
      } else if (!optimized) {
        patchChildren(
          n1,
          n2,
          currentContainer,
          currentAnchor,
          parentComponent,
          parentSuspense,
          namespace2,
          slotScopeIds,
          false
        );
      }
      if (disabled3) {
        if (!wasDisabled) {
          moveTeleport(
            n2,
            container,
            mainAnchor,
            internals,
            1
          );
        } else {
          if (n2.props && n1.props && n2.props.to !== n1.props.to) {
            n2.props.to = n1.props.to;
          }
        }
      } else {
        if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {
          const nextTarget = n2.target = resolveTarget(
            n2.props,
            querySelector
          );
          if (nextTarget) {
            moveTeleport(
              n2,
              nextTarget,
              null,
              internals,
              0
            );
          }
        } else if (wasDisabled) {
          moveTeleport(
            n2,
            target,
            targetAnchor,
            internals,
            1
          );
        }
      }
      updateCssVars(n2, disabled3);
    }
  },
  remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {
    const {
      shapeFlag,
      children,
      anchor,
      targetStart,
      targetAnchor,
      target,
      props
    } = vnode;
    if (target) {
      hostRemove(targetStart);
      hostRemove(targetAnchor);
    }
    doRemove && hostRemove(anchor);
    if (shapeFlag & 16) {
      const shouldRemove = doRemove || !isTeleportDisabled(props);
      for (let i = 0; i < children.length; i++) {
        const child = children[i];
        unmount(
          child,
          parentComponent,
          parentSuspense,
          shouldRemove,
          !!child.dynamicChildren
        );
      }
    }
  },
  move: moveTeleport,
  hydrate: hydrateTeleport
};
function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {
  if (moveType === 0) {
    insert(vnode.targetAnchor, container, parentAnchor);
  }
  const { el, anchor, shapeFlag, children, props } = vnode;
  const isReorder = moveType === 2;
  if (isReorder) {
    insert(el, container, parentAnchor);
  }
  if (!isReorder || isTeleportDisabled(props)) {
    if (shapeFlag & 16) {
      for (let i = 0; i < children.length; i++) {
        move(
          children[i],
          container,
          parentAnchor,
          2
        );
      }
    }
  }
  if (isReorder) {
    insert(anchor, container, parentAnchor);
  }
}
function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
  o: { nextSibling, parentNode, querySelector, insert, createText }
}, hydrateChildren) {
  const target = vnode.target = resolveTarget(
    vnode.props,
    querySelector
  );
  if (target) {
    const disabled3 = isTeleportDisabled(vnode.props);
    const targetNode = target._lpa || target.firstChild;
    if (vnode.shapeFlag & 16) {
      if (disabled3) {
        vnode.anchor = hydrateChildren(
          nextSibling(node),
          vnode,
          parentNode(node),
          parentComponent,
          parentSuspense,
          slotScopeIds,
          optimized
        );
        vnode.targetStart = targetNode;
        vnode.targetAnchor = targetNode && nextSibling(targetNode);
      } else {
        vnode.anchor = nextSibling(node);
        let targetAnchor = targetNode;
        while (targetAnchor) {
          if (targetAnchor && targetAnchor.nodeType === 8) {
            if (targetAnchor.data === "teleport start anchor") {
              vnode.targetStart = targetAnchor;
            } else if (targetAnchor.data === "teleport anchor") {
              vnode.targetAnchor = targetAnchor;
              target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
              break;
            }
          }
          targetAnchor = nextSibling(targetAnchor);
        }
        if (!vnode.targetAnchor) {
          prepareAnchor(target, vnode, createText, insert);
        }
        hydrateChildren(
          targetNode && nextSibling(targetNode),
          vnode,
          target,
          parentComponent,
          parentSuspense,
          slotScopeIds,
          optimized
        );
      }
    }
    updateCssVars(vnode, disabled3);
  }
  return vnode.anchor && nextSibling(vnode.anchor);
}
const Teleport = TeleportImpl;
function updateCssVars(vnode, isDisabled) {
  const ctx = vnode.ctx;
  if (ctx && ctx.ut) {
    let node, anchor;
    if (isDisabled) {
      node = vnode.el;
      anchor = vnode.anchor;
    } else {
      node = vnode.targetStart;
      anchor = vnode.targetAnchor;
    }
    while (node && node !== anchor) {
      if (node.nodeType === 1) node.setAttribute("data-v-owner", ctx.uid);
      node = node.nextSibling;
    }
    ctx.ut();
  }
}
function prepareAnchor(target, vnode, createText, insert) {
  const targetStart = vnode.targetStart = createText("");
  const targetAnchor = vnode.targetAnchor = createText("");
  targetStart[TeleportEndKey] = targetAnchor;
  if (target) {
    insert(targetStart, target);
    insert(targetAnchor, target);
  }
  return targetAnchor;
}
const leaveCbKey = Symbol("_leaveCb");
const enterCbKey = Symbol("_enterCb");
function useTransitionState() {
  const state = {
    isMounted: false,
    isLeaving: false,
    isUnmounting: false,
    leavingVNodes: /* @__PURE__ */ new Map()
  };
  onMounted(() => {
    state.isMounted = true;
  });
  onBeforeUnmount(() => {
    state.isUnmounting = true;
  });
  return state;
}
const TransitionHookValidator = [Function, Array];
const BaseTransitionPropsValidators = {
  mode: String,
  appear: Boolean,
  persisted: Boolean,
  // enter
  onBeforeEnter: TransitionHookValidator,
  onEnter: TransitionHookValidator,
  onAfterEnter: TransitionHookValidator,
  onEnterCancelled: TransitionHookValidator,
  // leave
  onBeforeLeave: TransitionHookValidator,
  onLeave: TransitionHookValidator,
  onAfterLeave: TransitionHookValidator,
  onLeaveCancelled: TransitionHookValidator,
  // appear
  onBeforeAppear: TransitionHookValidator,
  onAppear: TransitionHookValidator,
  onAfterAppear: TransitionHookValidator,
  onAppearCancelled: TransitionHookValidator
};
const recursiveGetSubtree = (instance2) => {
  const subTree = instance2.subTree;
  return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;
};
const BaseTransitionImpl = {
  name: `BaseTransition`,
  props: BaseTransitionPropsValidators,
  setup(props, { slots }) {
    const instance2 = getCurrentInstance();
    const state = useTransitionState();
    return () => {
      const children = slots.default && getTransitionRawChildren(slots.default(), true);
      if (!children || !children.length) {
        return;
      }
      const child = findNonCommentChild(children);
      const rawProps = toRaw(props);
      const { mode } = rawProps;
      if (state.isLeaving) {
        return emptyPlaceholder(child);
      }
      const innerChild = getInnerChild$1(child);
      if (!innerChild) {
        return emptyPlaceholder(child);
      }
      let enterHooks = resolveTransitionHooks(
        innerChild,
        rawProps,
        state,
        instance2,
        // #11061, ensure enterHooks is fresh after clone
        (hooks) => enterHooks = hooks
      );
      if (innerChild.type !== Comment) {
        setTransitionHooks(innerChild, enterHooks);
      }
      let oldInnerChild = instance2.subTree && getInnerChild$1(instance2.subTree);
      if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance2).type !== Comment) {
        let leavingHooks = resolveTransitionHooks(
          oldInnerChild,
          rawProps,
          state,
          instance2
        );
        setTransitionHooks(oldInnerChild, leavingHooks);
        if (mode === "out-in" && innerChild.type !== Comment) {
          state.isLeaving = true;
          leavingHooks.afterLeave = () => {
            state.isLeaving = false;
            if (!(instance2.job.flags & 8)) {
              instance2.update();
            }
            delete leavingHooks.afterLeave;
            oldInnerChild = void 0;
          };
          return emptyPlaceholder(child);
        } else if (mode === "in-out" && innerChild.type !== Comment) {
          leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {
            const leavingVNodesCache = getLeavingNodesForType(
              state,
              oldInnerChild
            );
            leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;
            el[leaveCbKey] = () => {
              earlyRemove();
              el[leaveCbKey] = void 0;
              delete enterHooks.delayedLeave;
              oldInnerChild = void 0;
            };
            enterHooks.delayedLeave = () => {
              delayedLeave();
              delete enterHooks.delayedLeave;
              oldInnerChild = void 0;
            };
          };
        } else {
          oldInnerChild = void 0;
        }
      } else if (oldInnerChild) {
        oldInnerChild = void 0;
      }
      return child;
    };
  }
};
function findNonCommentChild(children) {
  let child = children[0];
  if (children.length > 1) {
    for (const c of children) {
      if (c.type !== Comment) {
        child = c;
        break;
      }
    }
  }
  return child;
}
const BaseTransition = BaseTransitionImpl;
function getLeavingNodesForType(state, vnode) {
  const { leavingVNodes } = state;
  let leavingVNodesCache = leavingVNodes.get(vnode.type);
  if (!leavingVNodesCache) {
    leavingVNodesCache = /* @__PURE__ */ Object.create(null);
    leavingVNodes.set(vnode.type, leavingVNodesCache);
  }
  return leavingVNodesCache;
}
function resolveTransitionHooks(vnode, props, state, instance2, postClone) {
  const {
    appear,
    mode,
    persisted = false,
    onBeforeEnter: onBeforeEnter2,
    onEnter: onEnter3,
    onAfterEnter,
    onEnterCancelled,
    onBeforeLeave: onBeforeLeave2,
    onLeave: onLeave3,
    onAfterLeave: onAfterLeave3,
    onLeaveCancelled,
    onBeforeAppear,
    onAppear,
    onAfterAppear,
    onAppearCancelled
  } = props;
  const key = String(vnode.key);
  const leavingVNodesCache = getLeavingNodesForType(state, vnode);
  const callHook2 = (hook, args) => {
    hook && callWithAsyncErrorHandling(
      hook,
      instance2,
      9,
      args
    );
  };
  const callAsyncHook = (hook, args) => {
    const done = args[1];
    callHook2(hook, args);
    if (isArray$1(hook)) {
      if (hook.every((hook2) => hook2.length <= 1)) done();
    } else if (hook.length <= 1) {
      done();
    }
  };
  const hooks = {
    mode,
    persisted,
    beforeEnter(el) {
      let hook = onBeforeEnter2;
      if (!state.isMounted) {
        if (appear) {
          hook = onBeforeAppear || onBeforeEnter2;
        } else {
          return;
        }
      }
      if (el[leaveCbKey]) {
        el[leaveCbKey](
          true
          /* cancelled */
        );
      }
      const leavingVNode = leavingVNodesCache[key];
      if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {
        leavingVNode.el[leaveCbKey]();
      }
      callHook2(hook, [el]);
    },
    enter(el) {
      let hook = onEnter3;
      let afterHook = onAfterEnter;
      let cancelHook = onEnterCancelled;
      if (!state.isMounted) {
        if (appear) {
          hook = onAppear || onEnter3;
          afterHook = onAfterAppear || onAfterEnter;
          cancelHook = onAppearCancelled || onEnterCancelled;
        } else {
          return;
        }
      }
      let called = false;
      const done = el[enterCbKey] = (cancelled) => {
        if (called) return;
        called = true;
        if (cancelled) {
          callHook2(cancelHook, [el]);
        } else {
          callHook2(afterHook, [el]);
        }
        if (hooks.delayedLeave) {
          hooks.delayedLeave();
        }
        el[enterCbKey] = void 0;
      };
      if (hook) {
        callAsyncHook(hook, [el, done]);
      } else {
        done();
      }
    },
    leave(el, remove22) {
      const key2 = String(vnode.key);
      if (el[enterCbKey]) {
        el[enterCbKey](
          true
          /* cancelled */
        );
      }
      if (state.isUnmounting) {
        return remove22();
      }
      callHook2(onBeforeLeave2, [el]);
      let called = false;
      const done = el[leaveCbKey] = (cancelled) => {
        if (called) return;
        called = true;
        remove22();
        if (cancelled) {
          callHook2(onLeaveCancelled, [el]);
        } else {
          callHook2(onAfterLeave3, [el]);
        }
        el[leaveCbKey] = void 0;
        if (leavingVNodesCache[key2] === vnode) {
          delete leavingVNodesCache[key2];
        }
      };
      leavingVNodesCache[key2] = vnode;
      if (onLeave3) {
        callAsyncHook(onLeave3, [el, done]);
      } else {
        done();
      }
    },
    clone(vnode2) {
      const hooks2 = resolveTransitionHooks(
        vnode2,
        props,
        state,
        instance2,
        postClone
      );
      if (postClone) postClone(hooks2);
      return hooks2;
    }
  };
  return hooks;
}
function emptyPlaceholder(vnode) {
  if (isKeepAlive(vnode)) {
    vnode = cloneVNode(vnode);
    vnode.children = null;
    return vnode;
  }
}
function getInnerChild$1(vnode) {
  if (!isKeepAlive(vnode)) {
    if (isTeleport(vnode.type) && vnode.children) {
      return findNonCommentChild(vnode.children);
    }
    return vnode;
  }
  const { shapeFlag, children } = vnode;
  if (children) {
    if (shapeFlag & 16) {
      return children[0];
    }
    if (shapeFlag & 32 && isFunction$1(children.default)) {
      return children.default();
    }
  }
}
function setTransitionHooks(vnode, hooks) {
  if (vnode.shapeFlag & 6 && vnode.component) {
    vnode.transition = hooks;
    setTransitionHooks(vnode.component.subTree, hooks);
  } else if (vnode.shapeFlag & 128) {
    vnode.ssContent.transition = hooks.clone(vnode.ssContent);
    vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
  } else {
    vnode.transition = hooks;
  }
}
function getTransitionRawChildren(children, keepComment = false, parentKey) {
  let ret = [];
  let keyedFragmentCount = 0;
  for (let i = 0; i < children.length; i++) {
    let child = children[i];
    const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);
    if (child.type === Fragment) {
      if (child.patchFlag & 128) keyedFragmentCount++;
      ret = ret.concat(
        getTransitionRawChildren(child.children, keepComment, key)
      );
    } else if (keepComment || child.type !== Comment) {
      ret.push(key != null ? cloneVNode(child, { key }) : child);
    }
  }
  if (keyedFragmentCount > 1) {
    for (let i = 0; i < ret.length; i++) {
      ret[i].patchFlag = -2;
    }
  }
  return ret;
}
/*! #__NO_SIDE_EFFECTS__ */
// @__NO_SIDE_EFFECTS__
function defineComponent(options, extraOptions) {
  return isFunction$1(options) ? (
    // #8236: extend call and options.name access are considered side-effects
    // by Rollup, so we have to wrap it in a pure-annotated IIFE.
    /* @__PURE__ */ (() => extend$1({ name: options.name }, extraOptions, { setup: options }))()
  ) : options;
}
function markAsyncBoundary(instance2) {
  instance2.ids = [instance2.ids[0] + instance2.ids[2]++ + "-", 0, 0];
}
function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
  if (isArray$1(rawRef)) {
    rawRef.forEach(
      (r2, i) => setRef(
        r2,
        oldRawRef && (isArray$1(oldRawRef) ? oldRawRef[i] : oldRawRef),
        parentSuspense,
        vnode,
        isUnmount
      )
    );
    return;
  }
  if (isAsyncWrapper(vnode) && !isUnmount) {
    if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) {
      setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree);
    }
    return;
  }
  const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;
  const value2 = isUnmount ? null : refValue;
  const { i: owner, r: ref3 } = rawRef;
  const oldRef = oldRawRef && oldRawRef.r;
  const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;
  const setupState = owner.setupState;
  const rawSetupState = toRaw(setupState);
  const canSetSetupRef = setupState === EMPTY_OBJ ? () => false : (key) => {
    return hasOwn(rawSetupState, key);
  };
  if (oldRef != null && oldRef !== ref3) {
    if (isString$1(oldRef)) {
      refs[oldRef] = null;
      if (canSetSetupRef(oldRef)) {
        setupState[oldRef] = null;
      }
    } else if (isRef(oldRef)) {
      oldRef.value = null;
    }
  }
  if (isFunction$1(ref3)) {
    callWithErrorHandling(ref3, owner, 12, [value2, refs]);
  } else {
    const _isString = isString$1(ref3);
    const _isRef = isRef(ref3);
    if (_isString || _isRef) {
      const doSet = () => {
        if (rawRef.f) {
          const existing = _isString ? canSetSetupRef(ref3) ? setupState[ref3] : refs[ref3] : ref3.value;
          if (isUnmount) {
            isArray$1(existing) && remove(existing, refValue);
          } else {
            if (!isArray$1(existing)) {
              if (_isString) {
                refs[ref3] = [refValue];
                if (canSetSetupRef(ref3)) {
                  setupState[ref3] = refs[ref3];
                }
              } else {
                ref3.value = [refValue];
                if (rawRef.k) refs[rawRef.k] = ref3.value;
              }
            } else if (!existing.includes(refValue)) {
              existing.push(refValue);
            }
          }
        } else if (_isString) {
          refs[ref3] = value2;
          if (canSetSetupRef(ref3)) {
            setupState[ref3] = value2;
          }
        } else if (_isRef) {
          ref3.value = value2;
          if (rawRef.k) refs[rawRef.k] = value2;
        } else ;
      };
      if (value2) {
        doSet.id = -1;
        queuePostRenderEffect(doSet, parentSuspense);
      } else {
        doSet();
      }
    }
  }
}
getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1));
getGlobalThis().cancelIdleCallback || ((id3) => clearTimeout(id3));
const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
const isKeepAlive = (vnode) => vnode.type.__isKeepAlive;
function onActivated(hook, target) {
  registerKeepAliveHook(hook, "a", target);
}
function onDeactivated(hook, target) {
  registerKeepAliveHook(hook, "da", target);
}
function registerKeepAliveHook(hook, type, target = currentInstance) {
  const wrappedHook = hook.__wdc || (hook.__wdc = () => {
    let current = target;
    while (current) {
      if (current.isDeactivated) {
        return;
      }
      current = current.parent;
    }
    return hook();
  });
  injectHook(type, wrappedHook, target);
  if (target) {
    let current = target.parent;
    while (current && current.parent) {
      if (isKeepAlive(current.parent.vnode)) {
        injectToKeepAliveRoot(wrappedHook, type, target, current);
      }
      current = current.parent;
    }
  }
}
function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {
  const injected = injectHook(
    type,
    hook,
    keepAliveRoot,
    true
    /* prepend */
  );
  onUnmounted(() => {
    remove(keepAliveRoot[type], injected);
  }, target);
}
function injectHook(type, hook, target = currentInstance, prepend = false) {
  if (target) {
    const hooks = target[type] || (target[type] = []);
    const wrappedHook = hook.__weh || (hook.__weh = (...args) => {
      pauseTracking();
      const reset = setCurrentInstance(target);
      const res = callWithAsyncErrorHandling(hook, target, type, args);
      reset();
      resetTracking();
      return res;
    });
    if (prepend) {
      hooks.unshift(wrappedHook);
    } else {
      hooks.push(wrappedHook);
    }
    return wrappedHook;
  }
}
const createHook = (lifecycle) => (hook, target = currentInstance) => {
  if (!isInSSRComponentSetup || lifecycle === "sp") {
    injectHook(lifecycle, (...args) => hook(...args), target);
  }
};
const onBeforeMount = createHook("bm");
const onMounted = createHook("m");
const onBeforeUpdate = createHook(
  "bu"
);
const onUpdated = createHook("u");
const onBeforeUnmount = createHook(
  "bum"
);
const onUnmounted = createHook("um");
const onServerPrefetch = createHook(
  "sp"
);
const onRenderTriggered = createHook("rtg");
const onRenderTracked = createHook("rtc");
function onErrorCaptured(hook, target = currentInstance) {
  injectHook("ec", hook, target);
}
const COMPONENTS = "components";
const DIRECTIVES = "directives";
function resolveComponent(name, maybeSelfReference) {
  return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
}
const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc");
function resolveDynamicComponent(component) {
  if (isString$1(component)) {
    return resolveAsset(COMPONENTS, component, false) || component;
  } else {
    return component || NULL_DYNAMIC_COMPONENT;
  }
}
function resolveDirective(name) {
  return resolveAsset(DIRECTIVES, name);
}
function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {
  const instance2 = currentRenderingInstance || currentInstance;
  if (instance2) {
    const Component = instance2.type;
    if (type === COMPONENTS) {
      const selfName = getComponentName(
        Component,
        false
      );
      if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {
        return Component;
      }
    }
    const res = (
      // local registration
      // check instance[type] first which is resolved for options API
      resolve(instance2[type] || Component[type], name) || // global registration
      resolve(instance2.appContext[type], name)
    );
    if (!res && maybeSelfReference) {
      return Component;
    }
    return res;
  }
}
function resolve(registry, name) {
  return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);
}
function renderList(source, renderItem, cache, index2) {
  let ret;
  const cached = cache;
  const sourceIsArray = isArray$1(source);
  if (sourceIsArray || isString$1(source)) {
    const sourceIsReactiveArray = sourceIsArray && isReactive(source);
    let needsWrap = false;
    if (sourceIsReactiveArray) {
      needsWrap = !isShallow(source);
      source = shallowReadArray(source);
    }
    ret = new Array(source.length);
    for (let i = 0, l = source.length; i < l; i++) {
      ret[i] = renderItem(
        needsWrap ? toReactive(source[i]) : source[i],
        i,
        void 0,
        cached
      );
    }
  } else if (typeof source === "number") {
    ret = new Array(source);
    for (let i = 0; i < source; i++) {
      ret[i] = renderItem(i + 1, i, void 0, cached);
    }
  } else if (isObject$1(source)) {
    if (source[Symbol.iterator]) {
      ret = Array.from(
        source,
        (item, i) => renderItem(item, i, void 0, cached)
      );
    } else {
      const keys = Object.keys(source);
      ret = new Array(keys.length);
      for (let i = 0, l = keys.length; i < l; i++) {
        const key = keys[i];
        ret[i] = renderItem(source[key], key, i, cached);
      }
    }
  } else {
    ret = [];
  }
  return ret;
}
function renderSlot(slots, name, props = {}, fallback, noSlotted) {
  if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {
    if (name !== "default") props.name = name;
    return openBlock(), createBlock(
      Fragment,
      null,
      [createVNode("slot", props, fallback && fallback())],
      64
    );
  }
  let slot = slots[name];
  if (slot && slot._c) {
    slot._d = false;
  }
  openBlock();
  const validSlotContent = slot && ensureValidVNode(slot(props));
  const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch
  // key attached in the `createSlots` helper, respect that
  validSlotContent && validSlotContent.key;
  const rendered = createBlock(
    Fragment,
    {
      key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content
      (!validSlotContent && fallback ? "_fb" : "")
    },
    validSlotContent || (fallback ? fallback() : []),
    validSlotContent && slots._ === 1 ? 64 : -2
  );
  if (rendered.scopeId) {
    rendered.slotScopeIds = [rendered.scopeId + "-s"];
  }
  if (slot && slot._c) {
    slot._d = true;
  }
  return rendered;
}
function ensureValidVNode(vnodes) {
  return vnodes.some((child) => {
    if (!isVNode(child)) return true;
    if (child.type === Comment) return false;
    if (child.type === Fragment && !ensureValidVNode(child.children))
      return false;
    return true;
  }) ? vnodes : null;
}
const getPublicInstance = (i) => {
  if (!i) return null;
  if (isStatefulComponent(i)) return getComponentPublicInstance(i);
  return getPublicInstance(i.parent);
};
const publicPropertiesMap = (
  // Move PURE marker to new line to workaround compiler discarding it
  // due to type annotation
  /* @__PURE__ */ extend$1(/* @__PURE__ */ Object.create(null), {
    $: (i) => i,
    $el: (i) => i.vnode.el,
    $data: (i) => i.data,
    $props: (i) => i.props,
    $attrs: (i) => i.attrs,
    $slots: (i) => i.slots,
    $refs: (i) => i.refs,
    $parent: (i) => getPublicInstance(i.parent),
    $root: (i) => getPublicInstance(i.root),
    $host: (i) => i.ce,
    $emit: (i) => i.emit,
    $options: (i) => resolveMergedOptions(i),
    $forceUpdate: (i) => i.f || (i.f = () => {
      queueJob(i.update);
    }),
    $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),
    $watch: (i) => instanceWatch.bind(i)
  })
);
const hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);
const PublicInstanceProxyHandlers = {
  get({ _: instance2 }, key) {
    if (key === "__v_skip") {
      return true;
    }
    const { ctx, setupState, data: data6, props, accessCache, type, appContext } = instance2;
    let normalizedProps;
    if (key[0] !== "$") {
      const n = accessCache[key];
      if (n !== void 0) {
        switch (n) {
          case 1:
            return setupState[key];
          case 2:
            return data6[key];
          case 4:
            return ctx[key];
          case 3:
            return props[key];
        }
      } else if (hasSetupBinding(setupState, key)) {
        accessCache[key] = 1;
        return setupState[key];
      } else if (data6 !== EMPTY_OBJ && hasOwn(data6, key)) {
        accessCache[key] = 2;
        return data6[key];
      } else if (
        // only cache other properties when instance has declared (thus stable)
        // props
        (normalizedProps = instance2.propsOptions[0]) && hasOwn(normalizedProps, key)
      ) {
        accessCache[key] = 3;
        return props[key];
      } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {
        accessCache[key] = 4;
        return ctx[key];
      } else if (shouldCacheAccess) {
        accessCache[key] = 0;
      }
    }
    const publicGetter = publicPropertiesMap[key];
    let cssModule, globalProperties;
    if (publicGetter) {
      if (key === "$attrs") {
        track(instance2.attrs, "get", "");
      }
      return publicGetter(instance2);
    } else if (
      // css module (injected by vue-loader)
      (cssModule = type.__cssModules) && (cssModule = cssModule[key])
    ) {
      return cssModule;
    } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {
      accessCache[key] = 4;
      return ctx[key];
    } else if (
      // global properties
      globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)
    ) {
      {
        return globalProperties[key];
      }
    } else ;
  },
  set({ _: instance2 }, key, value2) {
    const { data: data6, setupState, ctx } = instance2;
    if (hasSetupBinding(setupState, key)) {
      setupState[key] = value2;
      return true;
    } else if (data6 !== EMPTY_OBJ && hasOwn(data6, key)) {
      data6[key] = value2;
      return true;
    } else if (hasOwn(instance2.props, key)) {
      return false;
    }
    if (key[0] === "$" && key.slice(1) in instance2) {
      return false;
    } else {
      {
        ctx[key] = value2;
      }
    }
    return true;
  },
  has({
    _: { data: data6, setupState, accessCache, ctx, appContext, propsOptions }
  }, key) {
    let normalizedProps;
    return !!accessCache[key] || data6 !== EMPTY_OBJ && hasOwn(data6, key) || hasSetupBinding(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key) || hasOwn(ctx, key) || hasOwn(publicPropertiesMap, key) || hasOwn(appContext.config.globalProperties, key);
  },
  defineProperty(target, key, descriptor) {
    if (descriptor.get != null) {
      target._.accessCache[key] = 0;
    } else if (hasOwn(descriptor, "value")) {
      this.set(target, key, descriptor.value, null);
    }
    return Reflect.defineProperty(target, key, descriptor);
  }
};
function normalizePropsOrEmits(props) {
  return isArray$1(props) ? props.reduce(
    (normalized, p2) => (normalized[p2] = null, normalized),
    {}
  ) : props;
}
let shouldCacheAccess = true;
function applyOptions(instance2) {
  const options = resolveMergedOptions(instance2);
  const publicThis = instance2.proxy;
  const ctx = instance2.ctx;
  shouldCacheAccess = false;
  if (options.beforeCreate) {
    callHook$1(options.beforeCreate, instance2, "bc");
  }
  const {
    // state
    data: dataOptions,
    computed: computedOptions,
    methods,
    watch: watchOptions,
    provide: provideOptions,
    inject: injectOptions,
    // lifecycle
    created: created2,
    beforeMount: beforeMount3,
    mounted: mounted7,
    beforeUpdate: beforeUpdate2,
    updated: updated5,
    activated,
    deactivated,
    beforeDestroy,
    beforeUnmount: beforeUnmount5,
    destroyed,
    unmounted: unmounted5,
    render: render2,
    renderTracked,
    renderTriggered,
    errorCaptured,
    serverPrefetch,
    // public API
    expose,
    inheritAttrs,
    // assets
    components,
    directives,
    filters
  } = options;
  const checkDuplicateProperties = null;
  if (injectOptions) {
    resolveInjections(injectOptions, ctx, checkDuplicateProperties);
  }
  if (methods) {
    for (const key in methods) {
      const methodHandler = methods[key];
      if (isFunction$1(methodHandler)) {
        {
          ctx[key] = methodHandler.bind(publicThis);
        }
      }
    }
  }
  if (dataOptions) {
    const data6 = dataOptions.call(publicThis, publicThis);
    if (!isObject$1(data6)) ;
    else {
      instance2.data = reactive(data6);
    }
  }
  shouldCacheAccess = true;
  if (computedOptions) {
    for (const key in computedOptions) {
      const opt = computedOptions[key];
      const get2 = isFunction$1(opt) ? opt.bind(publicThis, publicThis) : isFunction$1(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;
      const set2 = !isFunction$1(opt) && isFunction$1(opt.set) ? opt.set.bind(publicThis) : NOOP;
      const c = computed({
        get: get2,
        set: set2
      });
      Object.defineProperty(ctx, key, {
        enumerable: true,
        configurable: true,
        get: () => c.value,
        set: (v) => c.value = v
      });
    }
  }
  if (watchOptions) {
    for (const key in watchOptions) {
      createWatcher(watchOptions[key], ctx, publicThis, key);
    }
  }
  if (provideOptions) {
    const provides = isFunction$1(provideOptions) ? provideOptions.call(publicThis) : provideOptions;
    Reflect.ownKeys(provides).forEach((key) => {
      provide(key, provides[key]);
    });
  }
  if (created2) {
    callHook$1(created2, instance2, "c");
  }
  function registerLifecycleHook(register, hook) {
    if (isArray$1(hook)) {
      hook.forEach((_hook3) => register(_hook3.bind(publicThis)));
    } else if (hook) {
      register(hook.bind(publicThis));
    }
  }
  registerLifecycleHook(onBeforeMount, beforeMount3);
  registerLifecycleHook(onMounted, mounted7);
  registerLifecycleHook(onBeforeUpdate, beforeUpdate2);
  registerLifecycleHook(onUpdated, updated5);
  registerLifecycleHook(onActivated, activated);
  registerLifecycleHook(onDeactivated, deactivated);
  registerLifecycleHook(onErrorCaptured, errorCaptured);
  registerLifecycleHook(onRenderTracked, renderTracked);
  registerLifecycleHook(onRenderTriggered, renderTriggered);
  registerLifecycleHook(onBeforeUnmount, beforeUnmount5);
  registerLifecycleHook(onUnmounted, unmounted5);
  registerLifecycleHook(onServerPrefetch, serverPrefetch);
  if (isArray$1(expose)) {
    if (expose.length) {
      const exposed = instance2.exposed || (instance2.exposed = {});
      expose.forEach((key) => {
        Object.defineProperty(exposed, key, {
          get: () => publicThis[key],
          set: (val) => publicThis[key] = val
        });
      });
    } else if (!instance2.exposed) {
      instance2.exposed = {};
    }
  }
  if (render2 && instance2.render === NOOP) {
    instance2.render = render2;
  }
  if (inheritAttrs != null) {
    instance2.inheritAttrs = inheritAttrs;
  }
  if (components) instance2.components = components;
  if (directives) instance2.directives = directives;
  if (serverPrefetch) {
    markAsyncBoundary(instance2);
  }
}
function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP) {
  if (isArray$1(injectOptions)) {
    injectOptions = normalizeInject(injectOptions);
  }
  for (const key in injectOptions) {
    const opt = injectOptions[key];
    let injected;
    if (isObject$1(opt)) {
      if ("default" in opt) {
        injected = inject(
          opt.from || key,
          opt.default,
          true
        );
      } else {
        injected = inject(opt.from || key);
      }
    } else {
      injected = inject(opt);
    }
    if (isRef(injected)) {
      Object.defineProperty(ctx, key, {
        enumerable: true,
        configurable: true,
        get: () => injected.value,
        set: (v) => injected.value = v
      });
    } else {
      ctx[key] = injected;
    }
  }
}
function callHook$1(hook, instance2, type) {
  callWithAsyncErrorHandling(
    isArray$1(hook) ? hook.map((h2) => h2.bind(instance2.proxy)) : hook.bind(instance2.proxy),
    instance2,
    type
  );
}
function createWatcher(raw, ctx, publicThis, key) {
  let getter = key.includes(".") ? createPathGetter(publicThis, key) : () => publicThis[key];
  if (isString$1(raw)) {
    const handler6 = ctx[raw];
    if (isFunction$1(handler6)) {
      {
        watch(getter, handler6);
      }
    }
  } else if (isFunction$1(raw)) {
    {
      watch(getter, raw.bind(publicThis));
    }
  } else if (isObject$1(raw)) {
    if (isArray$1(raw)) {
      raw.forEach((r2) => createWatcher(r2, ctx, publicThis, key));
    } else {
      const handler6 = isFunction$1(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];
      if (isFunction$1(handler6)) {
        watch(getter, handler6, raw);
      }
    }
  } else ;
}
function resolveMergedOptions(instance2) {
  const base = instance2.type;
  const { mixins, extends: extendsOptions } = base;
  const {
    mixins: globalMixins,
    optionsCache: cache,
    config: { optionMergeStrategies }
  } = instance2.appContext;
  const cached = cache.get(base);
  let resolved;
  if (cached) {
    resolved = cached;
  } else if (!globalMixins.length && !mixins && !extendsOptions) {
    {
      resolved = base;
    }
  } else {
    resolved = {};
    if (globalMixins.length) {
      globalMixins.forEach(
        (m2) => mergeOptions(resolved, m2, optionMergeStrategies, true)
      );
    }
    mergeOptions(resolved, base, optionMergeStrategies);
  }
  if (isObject$1(base)) {
    cache.set(base, resolved);
  }
  return resolved;
}
function mergeOptions(to, from, strats, asMixin = false) {
  const { mixins, extends: extendsOptions } = from;
  if (extendsOptions) {
    mergeOptions(to, extendsOptions, strats, true);
  }
  if (mixins) {
    mixins.forEach(
      (m2) => mergeOptions(to, m2, strats, true)
    );
  }
  for (const key in from) {
    if (asMixin && key === "expose") ;
    else {
      const strat = internalOptionMergeStrats[key] || strats && strats[key];
      to[key] = strat ? strat(to[key], from[key]) : from[key];
    }
  }
  return to;
}
const internalOptionMergeStrats = {
  data: mergeDataFn,
  props: mergeEmitsOrPropsOptions,
  emits: mergeEmitsOrPropsOptions,
  // objects
  methods: mergeObjectOptions,
  computed: mergeObjectOptions,
  // lifecycle
  beforeCreate: mergeAsArray,
  created: mergeAsArray,
  beforeMount: mergeAsArray,
  mounted: mergeAsArray,
  beforeUpdate: mergeAsArray,
  updated: mergeAsArray,
  beforeDestroy: mergeAsArray,
  beforeUnmount: mergeAsArray,
  destroyed: mergeAsArray,
  unmounted: mergeAsArray,
  activated: mergeAsArray,
  deactivated: mergeAsArray,
  errorCaptured: mergeAsArray,
  serverPrefetch: mergeAsArray,
  // assets
  components: mergeObjectOptions,
  directives: mergeObjectOptions,
  // watch
  watch: mergeWatchOptions,
  // provide / inject
  provide: mergeDataFn,
  inject: mergeInject
};
function mergeDataFn(to, from) {
  if (!from) {
    return to;
  }
  if (!to) {
    return from;
  }
  return function mergedDataFn() {
    return extend$1(
      isFunction$1(to) ? to.call(this, this) : to,
      isFunction$1(from) ? from.call(this, this) : from
    );
  };
}
function mergeInject(to, from) {
  return mergeObjectOptions(normalizeInject(to), normalizeInject(from));
}
function normalizeInject(raw) {
  if (isArray$1(raw)) {
    const res = {};
    for (let i = 0; i < raw.length; i++) {
      res[raw[i]] = raw[i];
    }
    return res;
  }
  return raw;
}
function mergeAsArray(to, from) {
  return to ? [...new Set([].concat(to, from))] : from;
}
function mergeObjectOptions(to, from) {
  return to ? extend$1(/* @__PURE__ */ Object.create(null), to, from) : from;
}
function mergeEmitsOrPropsOptions(to, from) {
  if (to) {
    if (isArray$1(to) && isArray$1(from)) {
      return [.../* @__PURE__ */ new Set([...to, ...from])];
    }
    return extend$1(
      /* @__PURE__ */ Object.create(null),
      normalizePropsOrEmits(to),
      normalizePropsOrEmits(from != null ? from : {})
    );
  } else {
    return from;
  }
}
function mergeWatchOptions(to, from) {
  if (!to) return from;
  if (!from) return to;
  const merged = extend$1(/* @__PURE__ */ Object.create(null), to);
  for (const key in from) {
    merged[key] = mergeAsArray(to[key], from[key]);
  }
  return merged;
}
function createAppContext() {
  return {
    app: null,
    config: {
      isNativeTag: NO,
      performance: false,
      globalProperties: {},
      optionMergeStrategies: {},
      errorHandler: void 0,
      warnHandler: void 0,
      compilerOptions: {}
    },
    mixins: [],
    components: {},
    directives: {},
    provides: /* @__PURE__ */ Object.create(null),
    optionsCache: /* @__PURE__ */ new WeakMap(),
    propsCache: /* @__PURE__ */ new WeakMap(),
    emitsCache: /* @__PURE__ */ new WeakMap()
  };
}
let uid$1 = 0;
function createAppAPI(render2, hydrate) {
  return function createApp2(rootComponent, rootProps = null) {
    if (!isFunction$1(rootComponent)) {
      rootComponent = extend$1({}, rootComponent);
    }
    if (rootProps != null && !isObject$1(rootProps)) {
      rootProps = null;
    }
    const context = createAppContext();
    const installedPlugins = /* @__PURE__ */ new WeakSet();
    const pluginCleanupFns = [];
    let isMounted = false;
    const app2 = context.app = {
      _uid: uid$1++,
      _component: rootComponent,
      _props: rootProps,
      _container: null,
      _context: context,
      _instance: null,
      version,
      get config() {
        return context.config;
      },
      set config(v) {
      },
      use(plugin, ...options) {
        if (installedPlugins.has(plugin)) ;
        else if (plugin && isFunction$1(plugin.install)) {
          installedPlugins.add(plugin);
          plugin.install(app2, ...options);
        } else if (isFunction$1(plugin)) {
          installedPlugins.add(plugin);
          plugin(app2, ...options);
        } else ;
        return app2;
      },
      mixin(mixin) {
        {
          if (!context.mixins.includes(mixin)) {
            context.mixins.push(mixin);
          }
        }
        return app2;
      },
      component(name, component) {
        if (!component) {
          return context.components[name];
        }
        context.components[name] = component;
        return app2;
      },
      directive(name, directive) {
        if (!directive) {
          return context.directives[name];
        }
        context.directives[name] = directive;
        return app2;
      },
      mount(rootContainer, isHydrate, namespace2) {
        if (!isMounted) {
          const vnode = app2._ceVNode || createVNode(rootComponent, rootProps);
          vnode.appContext = context;
          if (namespace2 === true) {
            namespace2 = "svg";
          } else if (namespace2 === false) {
            namespace2 = void 0;
          }
          {
            render2(vnode, rootContainer, namespace2);
          }
          isMounted = true;
          app2._container = rootContainer;
          rootContainer.__vue_app__ = app2;
          return getComponentPublicInstance(vnode.component);
        }
      },
      onUnmount(cleanupFn) {
        pluginCleanupFns.push(cleanupFn);
      },
      unmount() {
        if (isMounted) {
          callWithAsyncErrorHandling(
            pluginCleanupFns,
            app2._instance,
            16
          );
          render2(null, app2._container);
          delete app2._container.__vue_app__;
        }
      },
      provide(key, value2) {
        context.provides[key] = value2;
        return app2;
      },
      runWithContext(fn) {
        const lastApp = currentApp;
        currentApp = app2;
        try {
          return fn();
        } finally {
          currentApp = lastApp;
        }
      }
    };
    return app2;
  };
}
let currentApp = null;
function provide(key, value2) {
  if (!currentInstance) ;
  else {
    let provides = currentInstance.provides;
    const parentProvides = currentInstance.parent && currentInstance.parent.provides;
    if (parentProvides === provides) {
      provides = currentInstance.provides = Object.create(parentProvides);
    }
    provides[key] = value2;
  }
}
function inject(key, defaultValue, treatDefaultAsFactory = false) {
  const instance2 = currentInstance || currentRenderingInstance;
  if (instance2 || currentApp) {
    const provides = currentApp ? currentApp._context.provides : instance2 ? instance2.parent == null ? instance2.vnode.appContext && instance2.vnode.appContext.provides : instance2.parent.provides : void 0;
    if (provides && key in provides) {
      return provides[key];
    } else if (arguments.length > 1) {
      return treatDefaultAsFactory && isFunction$1(defaultValue) ? defaultValue.call(instance2 && instance2.proxy) : defaultValue;
    } else ;
  }
}
function hasInjectionContext() {
  return !!(currentInstance || currentRenderingInstance || currentApp);
}
const internalObjectProto = {};
const createInternalObject = () => Object.create(internalObjectProto);
const isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto;
function initProps(instance2, rawProps, isStateful, isSSR = false) {
  const props = {};
  const attrs4 = createInternalObject();
  instance2.propsDefaults = /* @__PURE__ */ Object.create(null);
  setFullProps(instance2, rawProps, props, attrs4);
  for (const key in instance2.propsOptions[0]) {
    if (!(key in props)) {
      props[key] = void 0;
    }
  }
  if (isStateful) {
    instance2.props = isSSR ? props : shallowReactive(props);
  } else {
    if (!instance2.type.props) {
      instance2.props = attrs4;
    } else {
      instance2.props = props;
    }
  }
  instance2.attrs = attrs4;
}
function updateProps(instance2, rawProps, rawPrevProps, optimized) {
  const {
    props,
    attrs: attrs4,
    vnode: { patchFlag }
  } = instance2;
  const rawCurrentProps = toRaw(props);
  const [options] = instance2.propsOptions;
  let hasAttrsChanged = false;
  if (
    // always force full diff in dev
    // - #1942 if hmr is enabled with sfc component
    // - vite#872 non-sfc component used by sfc component
    (optimized || patchFlag > 0) && !(patchFlag & 16)
  ) {
    if (patchFlag & 8) {
      const propsToUpdate = instance2.vnode.dynamicProps;
      for (let i = 0; i < propsToUpdate.length; i++) {
        let key = propsToUpdate[i];
        if (isEmitListener(instance2.emitsOptions, key)) {
          continue;
        }
        const value2 = rawProps[key];
        if (options) {
          if (hasOwn(attrs4, key)) {
            if (value2 !== attrs4[key]) {
              attrs4[key] = value2;
              hasAttrsChanged = true;
            }
          } else {
            const camelizedKey = camelize(key);
            props[camelizedKey] = resolvePropValue(
              options,
              rawCurrentProps,
              camelizedKey,
              value2,
              instance2,
              false
            );
          }
        } else {
          if (value2 !== attrs4[key]) {
            attrs4[key] = value2;
            hasAttrsChanged = true;
          }
        }
      }
    }
  } else {
    if (setFullProps(instance2, rawProps, props, attrs4)) {
      hasAttrsChanged = true;
    }
    let kebabKey;
    for (const key in rawCurrentProps) {
      if (!rawProps || // for camelCase
      !hasOwn(rawProps, key) && // it's possible the original props was passed in as kebab-case
      // and converted to camelCase (#955)
      ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) {
        if (options) {
          if (rawPrevProps && // for camelCase
          (rawPrevProps[key] !== void 0 || // for kebab-case
          rawPrevProps[kebabKey] !== void 0)) {
            props[key] = resolvePropValue(
              options,
              rawCurrentProps,
              key,
              void 0,
              instance2,
              true
            );
          }
        } else {
          delete props[key];
        }
      }
    }
    if (attrs4 !== rawCurrentProps) {
      for (const key in attrs4) {
        if (!rawProps || !hasOwn(rawProps, key) && true) {
          delete attrs4[key];
          hasAttrsChanged = true;
        }
      }
    }
  }
  if (hasAttrsChanged) {
    trigger(instance2.attrs, "set", "");
  }
}
function setFullProps(instance2, rawProps, props, attrs4) {
  const [options, needCastKeys] = instance2.propsOptions;
  let hasAttrsChanged = false;
  let rawCastValues;
  if (rawProps) {
    for (let key in rawProps) {
      if (isReservedProp(key)) {
        continue;
      }
      const value2 = rawProps[key];
      let camelKey;
      if (options && hasOwn(options, camelKey = camelize(key))) {
        if (!needCastKeys || !needCastKeys.includes(camelKey)) {
          props[camelKey] = value2;
        } else {
          (rawCastValues || (rawCastValues = {}))[camelKey] = value2;
        }
      } else if (!isEmitListener(instance2.emitsOptions, key)) {
        if (!(key in attrs4) || value2 !== attrs4[key]) {
          attrs4[key] = value2;
          hasAttrsChanged = true;
        }
      }
    }
  }
  if (needCastKeys) {
    const rawCurrentProps = toRaw(props);
    const castValues = rawCastValues || EMPTY_OBJ;
    for (let i = 0; i < needCastKeys.length; i++) {
      const key = needCastKeys[i];
      props[key] = resolvePropValue(
        options,
        rawCurrentProps,
        key,
        castValues[key],
        instance2,
        !hasOwn(castValues, key)
      );
    }
  }
  return hasAttrsChanged;
}
function resolvePropValue(options, props, key, value2, instance2, isAbsent) {
  const opt = options[key];
  if (opt != null) {
    const hasDefault = hasOwn(opt, "default");
    if (hasDefault && value2 === void 0) {
      const defaultValue = opt.default;
      if (opt.type !== Function && !opt.skipFactory && isFunction$1(defaultValue)) {
        const { propsDefaults } = instance2;
        if (key in propsDefaults) {
          value2 = propsDefaults[key];
        } else {
          const reset = setCurrentInstance(instance2);
          value2 = propsDefaults[key] = defaultValue.call(
            null,
            props
          );
          reset();
        }
      } else {
        value2 = defaultValue;
      }
      if (instance2.ce) {
        instance2.ce._setProp(key, value2);
      }
    }
    if (opt[
      0
      /* shouldCast */
    ]) {
      if (isAbsent && !hasDefault) {
        value2 = false;
      } else if (opt[
        1
        /* shouldCastTrue */
      ] && (value2 === "" || value2 === hyphenate(key))) {
        value2 = true;
      }
    }
  }
  return value2;
}
const mixinPropsCache = /* @__PURE__ */ new WeakMap();
function normalizePropsOptions(comp, appContext, asMixin = false) {
  const cache = asMixin ? mixinPropsCache : appContext.propsCache;
  const cached = cache.get(comp);
  if (cached) {
    return cached;
  }
  const raw = comp.props;
  const normalized = {};
  const needCastKeys = [];
  let hasExtends = false;
  if (!isFunction$1(comp)) {
    const extendProps = (raw2) => {
      hasExtends = true;
      const [props, keys] = normalizePropsOptions(raw2, appContext, true);
      extend$1(normalized, props);
      if (keys) needCastKeys.push(...keys);
    };
    if (!asMixin && appContext.mixins.length) {
      appContext.mixins.forEach(extendProps);
    }
    if (comp.extends) {
      extendProps(comp.extends);
    }
    if (comp.mixins) {
      comp.mixins.forEach(extendProps);
    }
  }
  if (!raw && !hasExtends) {
    if (isObject$1(comp)) {
      cache.set(comp, EMPTY_ARR);
    }
    return EMPTY_ARR;
  }
  if (isArray$1(raw)) {
    for (let i = 0; i < raw.length; i++) {
      const normalizedKey = camelize(raw[i]);
      if (validatePropName(normalizedKey)) {
        normalized[normalizedKey] = EMPTY_OBJ;
      }
    }
  } else if (raw) {
    for (const key in raw) {
      const normalizedKey = camelize(key);
      if (validatePropName(normalizedKey)) {
        const opt = raw[key];
        const prop = normalized[normalizedKey] = isArray$1(opt) || isFunction$1(opt) ? { type: opt } : extend$1({}, opt);
        const propType = prop.type;
        let shouldCast = false;
        let shouldCastTrue = true;
        if (isArray$1(propType)) {
          for (let index2 = 0; index2 < propType.length; ++index2) {
            const type = propType[index2];
            const typeName = isFunction$1(type) && type.name;
            if (typeName === "Boolean") {
              shouldCast = true;
              break;
            } else if (typeName === "String") {
              shouldCastTrue = false;
            }
          }
        } else {
          shouldCast = isFunction$1(propType) && propType.name === "Boolean";
        }
        prop[
          0
          /* shouldCast */
        ] = shouldCast;
        prop[
          1
          /* shouldCastTrue */
        ] = shouldCastTrue;
        if (shouldCast || hasOwn(prop, "default")) {
          needCastKeys.push(normalizedKey);
        }
      }
    }
  }
  const res = [normalized, needCastKeys];
  if (isObject$1(comp)) {
    cache.set(comp, res);
  }
  return res;
}
function validatePropName(key) {
  if (key[0] !== "$" && !isReservedProp(key)) {
    return true;
  }
  return false;
}
const isInternalKey = (key) => key[0] === "_" || key === "$stable";
const normalizeSlotValue = (value2) => isArray$1(value2) ? value2.map(normalizeVNode) : [normalizeVNode(value2)];
const normalizeSlot = (key, rawSlot, ctx) => {
  if (rawSlot._n) {
    return rawSlot;
  }
  const normalized = withCtx((...args) => {
    if (false) ;
    return normalizeSlotValue(rawSlot(...args));
  }, ctx);
  normalized._c = false;
  return normalized;
};
const normalizeObjectSlots = (rawSlots, slots, instance2) => {
  const ctx = rawSlots._ctx;
  for (const key in rawSlots) {
    if (isInternalKey(key)) continue;
    const value2 = rawSlots[key];
    if (isFunction$1(value2)) {
      slots[key] = normalizeSlot(key, value2, ctx);
    } else if (value2 != null) {
      const normalized = normalizeSlotValue(value2);
      slots[key] = () => normalized;
    }
  }
};
const normalizeVNodeSlots = (instance2, children) => {
  const normalized = normalizeSlotValue(children);
  instance2.slots.default = () => normalized;
};
const assignSlots = (slots, children, optimized) => {
  for (const key in children) {
    if (optimized || key !== "_") {
      slots[key] = children[key];
    }
  }
};
const initSlots = (instance2, children, optimized) => {
  const slots = instance2.slots = createInternalObject();
  if (instance2.vnode.shapeFlag & 32) {
    const type = children._;
    if (type) {
      assignSlots(slots, children, optimized);
      if (optimized) {
        def(slots, "_", type, true);
      }
    } else {
      normalizeObjectSlots(children, slots);
    }
  } else if (children) {
    normalizeVNodeSlots(instance2, children);
  }
};
const updateSlots = (instance2, children, optimized) => {
  const { vnode, slots } = instance2;
  let needDeletionCheck = true;
  let deletionComparisonTarget = EMPTY_OBJ;
  if (vnode.shapeFlag & 32) {
    const type = children._;
    if (type) {
      if (optimized && type === 1) {
        needDeletionCheck = false;
      } else {
        assignSlots(slots, children, optimized);
      }
    } else {
      needDeletionCheck = !children.$stable;
      normalizeObjectSlots(children, slots);
    }
    deletionComparisonTarget = children;
  } else if (children) {
    normalizeVNodeSlots(instance2, children);
    deletionComparisonTarget = { default: 1 };
  }
  if (needDeletionCheck) {
    for (const key in slots) {
      if (!isInternalKey(key) && deletionComparisonTarget[key] == null) {
        delete slots[key];
      }
    }
  }
};
const queuePostRenderEffect = queueEffectWithSuspense;
function createRenderer(options) {
  return baseCreateRenderer(options);
}
function baseCreateRenderer(options, createHydrationFns) {
  const target = getGlobalThis();
  target.__VUE__ = true;
  const {
    insert: hostInsert,
    remove: hostRemove,
    patchProp: hostPatchProp,
    createElement: hostCreateElement,
    createText: hostCreateText,
    createComment: hostCreateComment,
    setText: hostSetText,
    setElementText: hostSetElementText,
    parentNode: hostParentNode,
    nextSibling: hostNextSibling,
    setScopeId: hostSetScopeId = NOOP,
    insertStaticContent: hostInsertStaticContent
  } = options;
  const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, namespace2 = void 0, slotScopeIds = null, optimized = !!n2.dynamicChildren) => {
    if (n1 === n2) {
      return;
    }
    if (n1 && !isSameVNodeType(n1, n2)) {
      anchor = getNextHostNode(n1);
      unmount(n1, parentComponent, parentSuspense, true);
      n1 = null;
    }
    if (n2.patchFlag === -2) {
      optimized = false;
      n2.dynamicChildren = null;
    }
    const { type, ref: ref3, shapeFlag } = n2;
    switch (type) {
      case Text:
        processText(n1, n2, container, anchor);
        break;
      case Comment:
        processCommentNode(n1, n2, container, anchor);
        break;
      case Static:
        if (n1 == null) {
          mountStaticNode(n2, container, anchor, namespace2);
        }
        break;
      case Fragment:
        processFragment(
          n1,
          n2,
          container,
          anchor,
          parentComponent,
          parentSuspense,
          namespace2,
          slotScopeIds,
          optimized
        );
        break;
      default:
        if (shapeFlag & 1) {
          processElement(
            n1,
            n2,
            container,
            anchor,
            parentComponent,
            parentSuspense,
            namespace2,
            slotScopeIds,
            optimized
          );
        } else if (shapeFlag & 6) {
          processComponent(
            n1,
            n2,
            container,
            anchor,
            parentComponent,
            parentSuspense,
            namespace2,
            slotScopeIds,
            optimized
          );
        } else if (shapeFlag & 64) {
          type.process(
            n1,
            n2,
            container,
            anchor,
            parentComponent,
            parentSuspense,
            namespace2,
            slotScopeIds,
            optimized,
            internals
          );
        } else if (shapeFlag & 128) {
          type.process(
            n1,
            n2,
            container,
            anchor,
            parentComponent,
            parentSuspense,
            namespace2,
            slotScopeIds,
            optimized,
            internals
          );
        } else ;
    }
    if (ref3 != null && parentComponent) {
      setRef(ref3, n1 && n1.ref, parentSuspense, n2 || n1, !n2);
    }
  };
  const processText = (n1, n2, container, anchor) => {
    if (n1 == null) {
      hostInsert(
        n2.el = hostCreateText(n2.children),
        container,
        anchor
      );
    } else {
      const el = n2.el = n1.el;
      if (n2.children !== n1.children) {
        hostSetText(el, n2.children);
      }
    }
  };
  const processCommentNode = (n1, n2, container, anchor) => {
    if (n1 == null) {
      hostInsert(
        n2.el = hostCreateComment(n2.children || ""),
        container,
        anchor
      );
    } else {
      n2.el = n1.el;
    }
  };
  const mountStaticNode = (n2, container, anchor, namespace2) => {
    [n2.el, n2.anchor] = hostInsertStaticContent(
      n2.children,
      container,
      anchor,
      namespace2,
      n2.el,
      n2.anchor
    );
  };
  const moveStaticNode = ({ el, anchor }, container, nextSibling) => {
    let next;
    while (el && el !== anchor) {
      next = hostNextSibling(el);
      hostInsert(el, container, nextSibling);
      el = next;
    }
    hostInsert(anchor, container, nextSibling);
  };
  const removeStaticNode = ({ el, anchor }) => {
    let next;
    while (el && el !== anchor) {
      next = hostNextSibling(el);
      hostRemove(el);
      el = next;
    }
    hostRemove(anchor);
  };
  const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace2, slotScopeIds, optimized) => {
    if (n2.type === "svg") {
      namespace2 = "svg";
    } else if (n2.type === "math") {
      namespace2 = "mathml";
    }
    if (n1 == null) {
      mountElement(
        n2,
        container,
        anchor,
        parentComponent,
        parentSuspense,
        namespace2,
        slotScopeIds,
        optimized
      );
    } else {
      patchElement(
        n1,
        n2,
        parentComponent,
        parentSuspense,
        namespace2,
        slotScopeIds,
        optimized
      );
    }
  };
  const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, namespace2, slotScopeIds, optimized) => {
    let el;
    let vnodeHook;
    const { props, shapeFlag, transition, dirs } = vnode;
    el = vnode.el = hostCreateElement(
      vnode.type,
      namespace2,
      props && props.is,
      props
    );
    if (shapeFlag & 8) {
      hostSetElementText(el, vnode.children);
    } else if (shapeFlag & 16) {
      mountChildren(
        vnode.children,
        el,
        null,
        parentComponent,
        parentSuspense,
        resolveChildrenNamespace(vnode, namespace2),
        slotScopeIds,
        optimized
      );
    }
    if (dirs) {
      invokeDirectiveHook(vnode, null, parentComponent, "created");
    }
    setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);
    if (props) {
      for (const key in props) {
        if (key !== "value" && !isReservedProp(key)) {
          hostPatchProp(el, key, null, props[key], namespace2, parentComponent);
        }
      }
      if ("value" in props) {
        hostPatchProp(el, "value", null, props.value, namespace2);
      }
      if (vnodeHook = props.onVnodeBeforeMount) {
        invokeVNodeHook(vnodeHook, parentComponent, vnode);
      }
    }
    if (dirs) {
      invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
    }
    const needCallTransitionHooks = needTransition(parentSuspense, transition);
    if (needCallTransitionHooks) {
      transition.beforeEnter(el);
    }
    hostInsert(el, container, anchor);
    if ((vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks || dirs) {
      queuePostRenderEffect(() => {
        vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
        needCallTransitionHooks && transition.enter(el);
        dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
      }, parentSuspense);
    }
  };
  const setScopeId = (el, vnode, scopeId, slotScopeIds, parentComponent) => {
    if (scopeId) {
      hostSetScopeId(el, scopeId);
    }
    if (slotScopeIds) {
      for (let i = 0; i < slotScopeIds.length; i++) {
        hostSetScopeId(el, slotScopeIds[i]);
      }
    }
    if (parentComponent) {
      let subTree = parentComponent.subTree;
      if (vnode === subTree || isSuspense(subTree.type) && (subTree.ssContent === vnode || subTree.ssFallback === vnode)) {
        const parentVNode = parentComponent.vnode;
        setScopeId(
          el,
          parentVNode,
          parentVNode.scopeId,
          parentVNode.slotScopeIds,
          parentComponent.parent
        );
      }
    }
  };
  const mountChildren = (children, container, anchor, parentComponent, parentSuspense, namespace2, slotScopeIds, optimized, start = 0) => {
    for (let i = start; i < children.length; i++) {
      const child = children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]);
      patch(
        null,
        child,
        container,
        anchor,
        parentComponent,
        parentSuspense,
        namespace2,
        slotScopeIds,
        optimized
      );
    }
  };
  const patchElement = (n1, n2, parentComponent, parentSuspense, namespace2, slotScopeIds, optimized) => {
    const el = n2.el = n1.el;
    let { patchFlag, dynamicChildren, dirs } = n2;
    patchFlag |= n1.patchFlag & 16;
    const oldProps = n1.props || EMPTY_OBJ;
    const newProps = n2.props || EMPTY_OBJ;
    let vnodeHook;
    parentComponent && toggleRecurse(parentComponent, false);
    if (vnodeHook = newProps.onVnodeBeforeUpdate) {
      invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
    }
    if (dirs) {
      invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
    }
    parentComponent && toggleRecurse(parentComponent, true);
    if (oldProps.innerHTML && newProps.innerHTML == null || oldProps.textContent && newProps.textContent == null) {
      hostSetElementText(el, "");
    }
    if (dynamicChildren) {
      patchBlockChildren(
        n1.dynamicChildren,
        dynamicChildren,
        el,
        parentComponent,
        parentSuspense,
        resolveChildrenNamespace(n2, namespace2),
        slotScopeIds
      );
    } else if (!optimized) {
      patchChildren(
        n1,
        n2,
        el,
        null,
        parentComponent,
        parentSuspense,
        resolveChildrenNamespace(n2, namespace2),
        slotScopeIds,
        false
      );
    }
    if (patchFlag > 0) {
      if (patchFlag & 16) {
        patchProps(el, oldProps, newProps, parentComponent, namespace2);
      } else {
        if (patchFlag & 2) {
          if (oldProps.class !== newProps.class) {
            hostPatchProp(el, "class", null, newProps.class, namespace2);
          }
        }
        if (patchFlag & 4) {
          hostPatchProp(el, "style", oldProps.style, newProps.style, namespace2);
        }
        if (patchFlag & 8) {
          const propsToUpdate = n2.dynamicProps;
          for (let i = 0; i < propsToUpdate.length; i++) {
            const key = propsToUpdate[i];
            const prev = oldProps[key];
            const next = newProps[key];
            if (next !== prev || key === "value") {
              hostPatchProp(el, key, prev, next, namespace2, parentComponent);
            }
          }
        }
      }
      if (patchFlag & 1) {
        if (n1.children !== n2.children) {
          hostSetElementText(el, n2.children);
        }
      }
    } else if (!optimized && dynamicChildren == null) {
      patchProps(el, oldProps, newProps, parentComponent, namespace2);
    }
    if ((vnodeHook = newProps.onVnodeUpdated) || dirs) {
      queuePostRenderEffect(() => {
        vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
        dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
      }, parentSuspense);
    }
  };
  const patchBlockChildren = (oldChildren, newChildren, fallbackContainer, parentComponent, parentSuspense, namespace2, slotScopeIds) => {
    for (let i = 0; i < newChildren.length; i++) {
      const oldVNode = oldChildren[i];
      const newVNode = newChildren[i];
      const container = (
        // oldVNode may be an errored async setup() component inside Suspense
        // which will not have a mounted element
        oldVNode.el && // - In the case of a Fragment, we need to provide the actual parent
        // of the Fragment itself so it can move its children.
        (oldVNode.type === Fragment || // - In the case of different nodes, there is going to be a replacement
        // which also requires the correct parent container
        !isSameVNodeType(oldVNode, newVNode) || // - In the case of a component, it could contain anything.
        oldVNode.shapeFlag & (6 | 64)) ? hostParentNode(oldVNode.el) : (
          // In other cases, the parent container is not actually used so we
          // just pass the block element here to avoid a DOM parentNode call.
          fallbackContainer
        )
      );
      patch(
        oldVNode,
        newVNode,
        container,
        null,
        parentComponent,
        parentSuspense,
        namespace2,
        slotScopeIds,
        true
      );
    }
  };
  const patchProps = (el, oldProps, newProps, parentComponent, namespace2) => {
    if (oldProps !== newProps) {
      if (oldProps !== EMPTY_OBJ) {
        for (const key in oldProps) {
          if (!isReservedProp(key) && !(key in newProps)) {
            hostPatchProp(
              el,
              key,
              oldProps[key],
              null,
              namespace2,
              parentComponent
            );
          }
        }
      }
      for (const key in newProps) {
        if (isReservedProp(key)) continue;
        const next = newProps[key];
        const prev = oldProps[key];
        if (next !== prev && key !== "value") {
          hostPatchProp(el, key, prev, next, namespace2, parentComponent);
        }
      }
      if ("value" in newProps) {
        hostPatchProp(el, "value", oldProps.value, newProps.value, namespace2);
      }
    }
  };
  const processFragment = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace2, slotScopeIds, optimized) => {
    const fragmentStartAnchor = n2.el = n1 ? n1.el : hostCreateText("");
    const fragmentEndAnchor = n2.anchor = n1 ? n1.anchor : hostCreateText("");
    let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2;
    if (fragmentSlotScopeIds) {
      slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;
    }
    if (n1 == null) {
      hostInsert(fragmentStartAnchor, container, anchor);
      hostInsert(fragmentEndAnchor, container, anchor);
      mountChildren(
        // #10007
        // such fragment like `<></>` will be compiled into
        // a fragment which doesn't have a children.
        // In this case fallback to an empty array
        n2.children || [],
        container,
        fragmentEndAnchor,
        parentComponent,
        parentSuspense,
        namespace2,
        slotScopeIds,
        optimized
      );
    } else {
      if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && // #2715 the previous fragment could've been a BAILed one as a result
      // of renderSlot() with no valid children
      n1.dynamicChildren) {
        patchBlockChildren(
          n1.dynamicChildren,
          dynamicChildren,
          container,
          parentComponent,
          parentSuspense,
          namespace2,
          slotScopeIds
        );
        if (
          // #2080 if the stable fragment has a key, it's a <template v-for> that may
          //  get moved around. Make sure all root level vnodes inherit el.
          // #2134 or if it's a component root, it may also get moved around
          // as the component is being moved.
          n2.key != null || parentComponent && n2 === parentComponent.subTree
        ) {
          traverseStaticChildren(
            n1,
            n2,
            true
            /* shallow */
          );
        }
      } else {
        patchChildren(
          n1,
          n2,
          container,
          fragmentEndAnchor,
          parentComponent,
          parentSuspense,
          namespace2,
          slotScopeIds,
          optimized
        );
      }
    }
  };
  const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace2, slotScopeIds, optimized) => {
    n2.slotScopeIds = slotScopeIds;
    if (n1 == null) {
      if (n2.shapeFlag & 512) {
        parentComponent.ctx.activate(
          n2,
          container,
          anchor,
          namespace2,
          optimized
        );
      } else {
        mountComponent(
          n2,
          container,
          anchor,
          parentComponent,
          parentSuspense,
          namespace2,
          optimized
        );
      }
    } else {
      updateComponent(n1, n2, optimized);
    }
  };
  const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, namespace2, optimized) => {
    const instance2 = initialVNode.component = createComponentInstance(
      initialVNode,
      parentComponent,
      parentSuspense
    );
    if (isKeepAlive(initialVNode)) {
      instance2.ctx.renderer = internals;
    }
    {
      setupComponent(instance2, false, optimized);
    }
    if (instance2.asyncDep) {
      parentSuspense && parentSuspense.registerDep(instance2, setupRenderEffect, optimized);
      if (!initialVNode.el) {
        const placeholder = instance2.subTree = createVNode(Comment);
        processCommentNode(null, placeholder, container, anchor);
      }
    } else {
      setupRenderEffect(
        instance2,
        initialVNode,
        container,
        anchor,
        parentSuspense,
        namespace2,
        optimized
      );
    }
  };
  const updateComponent = (n1, n2, optimized) => {
    const instance2 = n2.component = n1.component;
    if (shouldUpdateComponent(n1, n2, optimized)) {
      if (instance2.asyncDep && !instance2.asyncResolved) {
        updateComponentPreRender(instance2, n2, optimized);
        return;
      } else {
        instance2.next = n2;
        instance2.update();
      }
    } else {
      n2.el = n1.el;
      instance2.vnode = n2;
    }
  };
  const setupRenderEffect = (instance2, initialVNode, container, anchor, parentSuspense, namespace2, optimized) => {
    const componentUpdateFn = () => {
      if (!instance2.isMounted) {
        let vnodeHook;
        const { el, props } = initialVNode;
        const { bm, m: m2, parent, root: root7, type } = instance2;
        const isAsyncWrapperVNode = isAsyncWrapper(initialVNode);
        toggleRecurse(instance2, false);
        if (bm) {
          invokeArrayFns(bm);
        }
        if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeBeforeMount)) {
          invokeVNodeHook(vnodeHook, parent, initialVNode);
        }
        toggleRecurse(instance2, true);
        {
          if (root7.ce) {
            root7.ce._injectChildStyle(type);
          }
          const subTree = instance2.subTree = renderComponentRoot(instance2);
          patch(
            null,
            subTree,
            container,
            anchor,
            instance2,
            parentSuspense,
            namespace2
          );
          initialVNode.el = subTree.el;
        }
        if (m2) {
          queuePostRenderEffect(m2, parentSuspense);
        }
        if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeMounted)) {
          const scopedInitialVNode = initialVNode;
          queuePostRenderEffect(
            () => invokeVNodeHook(vnodeHook, parent, scopedInitialVNode),
            parentSuspense
          );
        }
        if (initialVNode.shapeFlag & 256 || parent && isAsyncWrapper(parent.vnode) && parent.vnode.shapeFlag & 256) {
          instance2.a && queuePostRenderEffect(instance2.a, parentSuspense);
        }
        instance2.isMounted = true;
        initialVNode = container = anchor = null;
      } else {
        let { next, bu, u, parent, vnode } = instance2;
        {
          const nonHydratedAsyncRoot = locateNonHydratedAsyncRoot(instance2);
          if (nonHydratedAsyncRoot) {
            if (next) {
              next.el = vnode.el;
              updateComponentPreRender(instance2, next, optimized);
            }
            nonHydratedAsyncRoot.asyncDep.then(() => {
              if (!instance2.isUnmounted) {
                componentUpdateFn();
              }
            });
            return;
          }
        }
        let originNext = next;
        let vnodeHook;
        toggleRecurse(instance2, false);
        if (next) {
          next.el = vnode.el;
          updateComponentPreRender(instance2, next, optimized);
        } else {
          next = vnode;
        }
        if (bu) {
          invokeArrayFns(bu);
        }
        if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) {
          invokeVNodeHook(vnodeHook, parent, next, vnode);
        }
        toggleRecurse(instance2, true);
        const nextTree = renderComponentRoot(instance2);
        const prevTree = instance2.subTree;
        instance2.subTree = nextTree;
        patch(
          prevTree,
          nextTree,
          // parent may have changed if it's in a teleport
          hostParentNode(prevTree.el),
          // anchor may have changed if it's in a fragment
          getNextHostNode(prevTree),
          instance2,
          parentSuspense,
          namespace2
        );
        next.el = nextTree.el;
        if (originNext === null) {
          updateHOCHostEl(instance2, nextTree.el);
        }
        if (u) {
          queuePostRenderEffect(u, parentSuspense);
        }
        if (vnodeHook = next.props && next.props.onVnodeUpdated) {
          queuePostRenderEffect(
            () => invokeVNodeHook(vnodeHook, parent, next, vnode),
            parentSuspense
          );
        }
      }
    };
    instance2.scope.on();
    const effect2 = instance2.effect = new ReactiveEffect(componentUpdateFn);
    instance2.scope.off();
    const update = instance2.update = effect2.run.bind(effect2);
    const job = instance2.job = effect2.runIfDirty.bind(effect2);
    job.i = instance2;
    job.id = instance2.uid;
    effect2.scheduler = () => queueJob(job);
    toggleRecurse(instance2, true);
    update();
  };
  const updateComponentPreRender = (instance2, nextVNode, optimized) => {
    nextVNode.component = instance2;
    const prevProps = instance2.vnode.props;
    instance2.vnode = nextVNode;
    instance2.next = null;
    updateProps(instance2, nextVNode.props, prevProps, optimized);
    updateSlots(instance2, nextVNode.children, optimized);
    pauseTracking();
    flushPreFlushCbs(instance2);
    resetTracking();
  };
  const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace2, slotScopeIds, optimized = false) => {
    const c1 = n1 && n1.children;
    const prevShapeFlag = n1 ? n1.shapeFlag : 0;
    const c2 = n2.children;
    const { patchFlag, shapeFlag } = n2;
    if (patchFlag > 0) {
      if (patchFlag & 128) {
        patchKeyedChildren(
          c1,
          c2,
          container,
          anchor,
          parentComponent,
          parentSuspense,
          namespace2,
          slotScopeIds,
          optimized
        );
        return;
      } else if (patchFlag & 256) {
        patchUnkeyedChildren(
          c1,
          c2,
          container,
          anchor,
          parentComponent,
          parentSuspense,
          namespace2,
          slotScopeIds,
          optimized
        );
        return;
      }
    }
    if (shapeFlag & 8) {
      if (prevShapeFlag & 16) {
        unmountChildren(c1, parentComponent, parentSuspense);
      }
      if (c2 !== c1) {
        hostSetElementText(container, c2);
      }
    } else {
      if (prevShapeFlag & 16) {
        if (shapeFlag & 16) {
          patchKeyedChildren(
            c1,
            c2,
            container,
            anchor,
            parentComponent,
            parentSuspense,
            namespace2,
            slotScopeIds,
            optimized
          );
        } else {
          unmountChildren(c1, parentComponent, parentSuspense, true);
        }
      } else {
        if (prevShapeFlag & 8) {
          hostSetElementText(container, "");
        }
        if (shapeFlag & 16) {
          mountChildren(
            c2,
            container,
            anchor,
            parentComponent,
            parentSuspense,
            namespace2,
            slotScopeIds,
            optimized
          );
        }
      }
    }
  };
  const patchUnkeyedChildren = (c1, c2, container, anchor, parentComponent, parentSuspense, namespace2, slotScopeIds, optimized) => {
    c1 = c1 || EMPTY_ARR;
    c2 = c2 || EMPTY_ARR;
    const oldLength = c1.length;
    const newLength = c2.length;
    const commonLength = Math.min(oldLength, newLength);
    let i;
    for (i = 0; i < commonLength; i++) {
      const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);
      patch(
        c1[i],
        nextChild,
        container,
        null,
        parentComponent,
        parentSuspense,
        namespace2,
        slotScopeIds,
        optimized
      );
    }
    if (oldLength > newLength) {
      unmountChildren(
        c1,
        parentComponent,
        parentSuspense,
        true,
        false,
        commonLength
      );
    } else {
      mountChildren(
        c2,
        container,
        anchor,
        parentComponent,
        parentSuspense,
        namespace2,
        slotScopeIds,
        optimized,
        commonLength
      );
    }
  };
  const patchKeyedChildren = (c1, c2, container, parentAnchor, parentComponent, parentSuspense, namespace2, slotScopeIds, optimized) => {
    let i = 0;
    const l2 = c2.length;
    let e1 = c1.length - 1;
    let e2 = l2 - 1;
    while (i <= e1 && i <= e2) {
      const n1 = c1[i];
      const n2 = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);
      if (isSameVNodeType(n1, n2)) {
        patch(
          n1,
          n2,
          container,
          null,
          parentComponent,
          parentSuspense,
          namespace2,
          slotScopeIds,
          optimized
        );
      } else {
        break;
      }
      i++;
    }
    while (i <= e1 && i <= e2) {
      const n1 = c1[e1];
      const n2 = c2[e2] = optimized ? cloneIfMounted(c2[e2]) : normalizeVNode(c2[e2]);
      if (isSameVNodeType(n1, n2)) {
        patch(
          n1,
          n2,
          container,
          null,
          parentComponent,
          parentSuspense,
          namespace2,
          slotScopeIds,
          optimized
        );
      } else {
        break;
      }
      e1--;
      e2--;
    }
    if (i > e1) {
      if (i <= e2) {
        const nextPos = e2 + 1;
        const anchor = nextPos < l2 ? c2[nextPos].el : parentAnchor;
        while (i <= e2) {
          patch(
            null,
            c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]),
            container,
            anchor,
            parentComponent,
            parentSuspense,
            namespace2,
            slotScopeIds,
            optimized
          );
          i++;
        }
      }
    } else if (i > e2) {
      while (i <= e1) {
        unmount(c1[i], parentComponent, parentSuspense, true);
        i++;
      }
    } else {
      const s1 = i;
      const s2 = i;
      const keyToNewIndexMap = /* @__PURE__ */ new Map();
      for (i = s2; i <= e2; i++) {
        const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);
        if (nextChild.key != null) {
          keyToNewIndexMap.set(nextChild.key, i);
        }
      }
      let j2;
      let patched = 0;
      const toBePatched = e2 - s2 + 1;
      let moved = false;
      let maxNewIndexSoFar = 0;
      const newIndexToOldIndexMap = new Array(toBePatched);
      for (i = 0; i < toBePatched; i++) newIndexToOldIndexMap[i] = 0;
      for (i = s1; i <= e1; i++) {
        const prevChild = c1[i];
        if (patched >= toBePatched) {
          unmount(prevChild, parentComponent, parentSuspense, true);
          continue;
        }
        let newIndex;
        if (prevChild.key != null) {
          newIndex = keyToNewIndexMap.get(prevChild.key);
        } else {
          for (j2 = s2; j2 <= e2; j2++) {
            if (newIndexToOldIndexMap[j2 - s2] === 0 && isSameVNodeType(prevChild, c2[j2])) {
              newIndex = j2;
              break;
            }
          }
        }
        if (newIndex === void 0) {
          unmount(prevChild, parentComponent, parentSuspense, true);
        } else {
          newIndexToOldIndexMap[newIndex - s2] = i + 1;
          if (newIndex >= maxNewIndexSoFar) {
            maxNewIndexSoFar = newIndex;
          } else {
            moved = true;
          }
          patch(
            prevChild,
            c2[newIndex],
            container,
            null,
            parentComponent,
            parentSuspense,
            namespace2,
            slotScopeIds,
            optimized
          );
          patched++;
        }
      }
      const increasingNewIndexSequence = moved ? getSequence(newIndexToOldIndexMap) : EMPTY_ARR;
      j2 = increasingNewIndexSequence.length - 1;
      for (i = toBePatched - 1; i >= 0; i--) {
        const nextIndex = s2 + i;
        const nextChild = c2[nextIndex];
        const anchor = nextIndex + 1 < l2 ? c2[nextIndex + 1].el : parentAnchor;
        if (newIndexToOldIndexMap[i] === 0) {
          patch(
            null,
            nextChild,
            container,
            anchor,
            parentComponent,
            parentSuspense,
            namespace2,
            slotScopeIds,
            optimized
          );
        } else if (moved) {
          if (j2 < 0 || i !== increasingNewIndexSequence[j2]) {
            move(nextChild, container, anchor, 2);
          } else {
            j2--;
          }
        }
      }
    }
  };
  const move = (vnode, container, anchor, moveType, parentSuspense = null) => {
    const { el, type, transition, children, shapeFlag } = vnode;
    if (shapeFlag & 6) {
      move(vnode.component.subTree, container, anchor, moveType);
      return;
    }
    if (shapeFlag & 128) {
      vnode.suspense.move(container, anchor, moveType);
      return;
    }
    if (shapeFlag & 64) {
      type.move(vnode, container, anchor, internals);
      return;
    }
    if (type === Fragment) {
      hostInsert(el, container, anchor);
      for (let i = 0; i < children.length; i++) {
        move(children[i], container, anchor, moveType);
      }
      hostInsert(vnode.anchor, container, anchor);
      return;
    }
    if (type === Static) {
      moveStaticNode(vnode, container, anchor);
      return;
    }
    const needTransition2 = moveType !== 2 && shapeFlag & 1 && transition;
    if (needTransition2) {
      if (moveType === 0) {
        transition.beforeEnter(el);
        hostInsert(el, container, anchor);
        queuePostRenderEffect(() => transition.enter(el), parentSuspense);
      } else {
        const { leave, delayLeave, afterLeave } = transition;
        const remove222 = () => hostInsert(el, container, anchor);
        const performLeave = () => {
          leave(el, () => {
            remove222();
            afterLeave && afterLeave();
          });
        };
        if (delayLeave) {
          delayLeave(el, remove222, performLeave);
        } else {
          performLeave();
        }
      }
    } else {
      hostInsert(el, container, anchor);
    }
  };
  const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
    const {
      type,
      props,
      ref: ref3,
      children,
      dynamicChildren,
      shapeFlag,
      patchFlag,
      dirs,
      cacheIndex
    } = vnode;
    if (patchFlag === -2) {
      optimized = false;
    }
    if (ref3 != null) {
      setRef(ref3, null, parentSuspense, vnode, true);
    }
    if (cacheIndex != null) {
      parentComponent.renderCache[cacheIndex] = void 0;
    }
    if (shapeFlag & 256) {
      parentComponent.ctx.deactivate(vnode);
      return;
    }
    const shouldInvokeDirs = shapeFlag & 1 && dirs;
    const shouldInvokeVnodeHook = !isAsyncWrapper(vnode);
    let vnodeHook;
    if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeBeforeUnmount)) {
      invokeVNodeHook(vnodeHook, parentComponent, vnode);
    }
    if (shapeFlag & 6) {
      unmountComponent(vnode.component, parentSuspense, doRemove);
    } else {
      if (shapeFlag & 128) {
        vnode.suspense.unmount(parentSuspense, doRemove);
        return;
      }
      if (shouldInvokeDirs) {
        invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount");
      }
      if (shapeFlag & 64) {
        vnode.type.remove(
          vnode,
          parentComponent,
          parentSuspense,
          internals,
          doRemove
        );
      } else if (dynamicChildren && // #5154
      // when v-once is used inside a block, setBlockTracking(-1) marks the
      // parent block with hasOnce: true
      // so that it doesn't take the fast path during unmount - otherwise
      // components nested in v-once are never unmounted.
      !dynamicChildren.hasOnce && // #1153: fast path should not be taken for non-stable (v-for) fragments
      (type !== Fragment || patchFlag > 0 && patchFlag & 64)) {
        unmountChildren(
          dynamicChildren,
          parentComponent,
          parentSuspense,
          false,
          true
        );
      } else if (type === Fragment && patchFlag & (128 | 256) || !optimized && shapeFlag & 16) {
        unmountChildren(children, parentComponent, parentSuspense);
      }
      if (doRemove) {
        remove22(vnode);
      }
    }
    if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs) {
      queuePostRenderEffect(() => {
        vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
        shouldInvokeDirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
      }, parentSuspense);
    }
  };
  const remove22 = (vnode) => {
    const { type, el, anchor, transition } = vnode;
    if (type === Fragment) {
      {
        removeFragment(el, anchor);
      }
      return;
    }
    if (type === Static) {
      removeStaticNode(vnode);
      return;
    }
    const performRemove = () => {
      hostRemove(el);
      if (transition && !transition.persisted && transition.afterLeave) {
        transition.afterLeave();
      }
    };
    if (vnode.shapeFlag & 1 && transition && !transition.persisted) {
      const { leave, delayLeave } = transition;
      const performLeave = () => leave(el, performRemove);
      if (delayLeave) {
        delayLeave(vnode.el, performRemove, performLeave);
      } else {
        performLeave();
      }
    } else {
      performRemove();
    }
  };
  const removeFragment = (cur, end2) => {
    let next;
    while (cur !== end2) {
      next = hostNextSibling(cur);
      hostRemove(cur);
      cur = next;
    }
    hostRemove(end2);
  };
  const unmountComponent = (instance2, parentSuspense, doRemove) => {
    const { bum, scope, job, subTree, um, m: m2, a } = instance2;
    invalidateMount(m2);
    invalidateMount(a);
    if (bum) {
      invokeArrayFns(bum);
    }
    scope.stop();
    if (job) {
      job.flags |= 8;
      unmount(subTree, instance2, parentSuspense, doRemove);
    }
    if (um) {
      queuePostRenderEffect(um, parentSuspense);
    }
    queuePostRenderEffect(() => {
      instance2.isUnmounted = true;
    }, parentSuspense);
    if (parentSuspense && parentSuspense.pendingBranch && !parentSuspense.isUnmounted && instance2.asyncDep && !instance2.asyncResolved && instance2.suspenseId === parentSuspense.pendingId) {
      parentSuspense.deps--;
      if (parentSuspense.deps === 0) {
        parentSuspense.resolve();
      }
    }
  };
  const unmountChildren = (children, parentComponent, parentSuspense, doRemove = false, optimized = false, start = 0) => {
    for (let i = start; i < children.length; i++) {
      unmount(children[i], parentComponent, parentSuspense, doRemove, optimized);
    }
  };
  const getNextHostNode = (vnode) => {
    if (vnode.shapeFlag & 6) {
      return getNextHostNode(vnode.component.subTree);
    }
    if (vnode.shapeFlag & 128) {
      return vnode.suspense.next();
    }
    const el = hostNextSibling(vnode.anchor || vnode.el);
    const teleportEnd = el && el[TeleportEndKey];
    return teleportEnd ? hostNextSibling(teleportEnd) : el;
  };
  let isFlushing = false;
  const render2 = (vnode, container, namespace2) => {
    if (vnode == null) {
      if (container._vnode) {
        unmount(container._vnode, null, null, true);
      }
    } else {
      patch(
        container._vnode || null,
        vnode,
        container,
        null,
        null,
        null,
        namespace2
      );
    }
    container._vnode = vnode;
    if (!isFlushing) {
      isFlushing = true;
      flushPreFlushCbs();
      flushPostFlushCbs();
      isFlushing = false;
    }
  };
  const internals = {
    p: patch,
    um: unmount,
    m: move,
    r: remove22,
    mt: mountComponent,
    mc: mountChildren,
    pc: patchChildren,
    pbc: patchBlockChildren,
    n: getNextHostNode,
    o: options
  };
  let hydrate;
  return {
    render: render2,
    hydrate,
    createApp: createAppAPI(render2)
  };
}
function resolveChildrenNamespace({ type, props }, currentNamespace) {
  return currentNamespace === "svg" && type === "foreignObject" || currentNamespace === "mathml" && type === "annotation-xml" && props && props.encoding && props.encoding.includes("html") ? void 0 : currentNamespace;
}
function toggleRecurse({ effect: effect2, job }, allowed) {
  if (allowed) {
    effect2.flags |= 32;
    job.flags |= 4;
  } else {
    effect2.flags &= -33;
    job.flags &= -5;
  }
}
function needTransition(parentSuspense, transition) {
  return (!parentSuspense || parentSuspense && !parentSuspense.pendingBranch) && transition && !transition.persisted;
}
function traverseStaticChildren(n1, n2, shallow = false) {
  const ch1 = n1.children;
  const ch2 = n2.children;
  if (isArray$1(ch1) && isArray$1(ch2)) {
    for (let i = 0; i < ch1.length; i++) {
      const c1 = ch1[i];
      let c2 = ch2[i];
      if (c2.shapeFlag & 1 && !c2.dynamicChildren) {
        if (c2.patchFlag <= 0 || c2.patchFlag === 32) {
          c2 = ch2[i] = cloneIfMounted(ch2[i]);
          c2.el = c1.el;
        }
        if (!shallow && c2.patchFlag !== -2)
          traverseStaticChildren(c1, c2);
      }
      if (c2.type === Text) {
        c2.el = c1.el;
      }
    }
  }
}
function getSequence(arr) {
  const p2 = arr.slice();
  const result = [0];
  let i, j2, u, v, c;
  const len = arr.length;
  for (i = 0; i < len; i++) {
    const arrI = arr[i];
    if (arrI !== 0) {
      j2 = result[result.length - 1];
      if (arr[j2] < arrI) {
        p2[i] = j2;
        result.push(i);
        continue;
      }
      u = 0;
      v = result.length - 1;
      while (u < v) {
        c = u + v >> 1;
        if (arr[result[c]] < arrI) {
          u = c + 1;
        } else {
          v = c;
        }
      }
      if (arrI < arr[result[u]]) {
        if (u > 0) {
          p2[i] = result[u - 1];
        }
        result[u] = i;
      }
    }
  }
  u = result.length;
  v = result[u - 1];
  while (u-- > 0) {
    result[u] = v;
    v = p2[v];
  }
  return result;
}
function locateNonHydratedAsyncRoot(instance2) {
  const subComponent = instance2.subTree.component;
  if (subComponent) {
    if (subComponent.asyncDep && !subComponent.asyncResolved) {
      return subComponent;
    } else {
      return locateNonHydratedAsyncRoot(subComponent);
    }
  }
}
function invalidateMount(hooks) {
  if (hooks) {
    for (let i = 0; i < hooks.length; i++)
      hooks[i].flags |= 8;
  }
}
const ssrContextKey = Symbol.for("v-scx");
const useSSRContext = () => {
  {
    const ctx = inject(ssrContextKey);
    return ctx;
  }
};
function watch(source, cb, options) {
  return doWatch(source, cb, options);
}
function doWatch(source, cb, options = EMPTY_OBJ) {
  const { immediate, deep, flush, once } = options;
  const baseWatchOptions = extend$1({}, options);
  const runsImmediately = cb && immediate || !cb && flush !== "post";
  let ssrCleanup;
  if (isInSSRComponentSetup) {
    if (flush === "sync") {
      const ctx = useSSRContext();
      ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);
    } else if (!runsImmediately) {
      const watchStopHandle = () => {
      };
      watchStopHandle.stop = NOOP;
      watchStopHandle.resume = NOOP;
      watchStopHandle.pause = NOOP;
      return watchStopHandle;
    }
  }
  const instance2 = currentInstance;
  baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance2, type, args);
  let isPre = false;
  if (flush === "post") {
    baseWatchOptions.scheduler = (job) => {
      queuePostRenderEffect(job, instance2 && instance2.suspense);
    };
  } else if (flush !== "sync") {
    isPre = true;
    baseWatchOptions.scheduler = (job, isFirstRun) => {
      if (isFirstRun) {
        job();
      } else {
        queueJob(job);
      }
    };
  }
  baseWatchOptions.augmentJob = (job) => {
    if (cb) {
      job.flags |= 4;
    }
    if (isPre) {
      job.flags |= 2;
      if (instance2) {
        job.id = instance2.uid;
        job.i = instance2;
      }
    }
  };
  const watchHandle = watch$1(source, cb, baseWatchOptions);
  if (isInSSRComponentSetup) {
    if (ssrCleanup) {
      ssrCleanup.push(watchHandle);
    } else if (runsImmediately) {
      watchHandle();
    }
  }
  return watchHandle;
}
function instanceWatch(source, value2, options) {
  const publicThis = this.proxy;
  const getter = isString$1(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
  let cb;
  if (isFunction$1(value2)) {
    cb = value2;
  } else {
    cb = value2.handler;
    options = value2;
  }
  const reset = setCurrentInstance(this);
  const res = doWatch(getter, cb.bind(publicThis), options);
  reset();
  return res;
}
function createPathGetter(ctx, path) {
  const segments = path.split(".");
  return () => {
    let cur = ctx;
    for (let i = 0; i < segments.length && cur; i++) {
      cur = cur[segments[i]];
    }
    return cur;
  };
}
const getModelModifiers = (props, modelName) => {
  return modelName === "modelValue" || modelName === "model-value" ? props.modelModifiers : props[`${modelName}Modifiers`] || props[`${camelize(modelName)}Modifiers`] || props[`${hyphenate(modelName)}Modifiers`];
};
function emit(instance2, event, ...rawArgs) {
  if (instance2.isUnmounted) return;
  const props = instance2.vnode.props || EMPTY_OBJ;
  let args = rawArgs;
  const isModelListener2 = event.startsWith("update:");
  const modifiers = isModelListener2 && getModelModifiers(props, event.slice(7));
  if (modifiers) {
    if (modifiers.trim) {
      args = rawArgs.map((a) => isString$1(a) ? a.trim() : a);
    }
    if (modifiers.number) {
      args = rawArgs.map(looseToNumber);
    }
  }
  let handlerName;
  let handler6 = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)
  props[handlerName = toHandlerKey(camelize(event))];
  if (!handler6 && isModelListener2) {
    handler6 = props[handlerName = toHandlerKey(hyphenate(event))];
  }
  if (handler6) {
    callWithAsyncErrorHandling(
      handler6,
      instance2,
      6,
      args
    );
  }
  const onceHandler = props[handlerName + `Once`];
  if (onceHandler) {
    if (!instance2.emitted) {
      instance2.emitted = {};
    } else if (instance2.emitted[handlerName]) {
      return;
    }
    instance2.emitted[handlerName] = true;
    callWithAsyncErrorHandling(
      onceHandler,
      instance2,
      6,
      args
    );
  }
}
function normalizeEmitsOptions(comp, appContext, asMixin = false) {
  const cache = appContext.emitsCache;
  const cached = cache.get(comp);
  if (cached !== void 0) {
    return cached;
  }
  const raw = comp.emits;
  let normalized = {};
  let hasExtends = false;
  if (!isFunction$1(comp)) {
    const extendEmits = (raw2) => {
      const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);
      if (normalizedFromExtend) {
        hasExtends = true;
        extend$1(normalized, normalizedFromExtend);
      }
    };
    if (!asMixin && appContext.mixins.length) {
      appContext.mixins.forEach(extendEmits);
    }
    if (comp.extends) {
      extendEmits(comp.extends);
    }
    if (comp.mixins) {
      comp.mixins.forEach(extendEmits);
    }
  }
  if (!raw && !hasExtends) {
    if (isObject$1(comp)) {
      cache.set(comp, null);
    }
    return null;
  }
  if (isArray$1(raw)) {
    raw.forEach((key) => normalized[key] = null);
  } else {
    extend$1(normalized, raw);
  }
  if (isObject$1(comp)) {
    cache.set(comp, normalized);
  }
  return normalized;
}
function isEmitListener(options, key) {
  if (!options || !isOn(key)) {
    return false;
  }
  key = key.slice(2).replace(/Once$/, "");
  return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);
}
function markAttrsAccessed() {
}
function renderComponentRoot(instance2) {
  const {
    type: Component,
    vnode,
    proxy,
    withProxy,
    propsOptions: [propsOptions],
    slots,
    attrs: attrs4,
    emit: emit2,
    render: render2,
    renderCache,
    props,
    data: data6,
    setupState,
    ctx,
    inheritAttrs
  } = instance2;
  const prev = setCurrentRenderingInstance(instance2);
  let result;
  let fallthroughAttrs;
  try {
    if (vnode.shapeFlag & 4) {
      const proxyToUse = withProxy || proxy;
      const thisProxy = false ? new Proxy(proxyToUse, {
        get(target, key, receiver) {
          warn$1(
            `Property '${String(
              key
            )}' was accessed via 'this'. Avoid using 'this' in templates.`
          );
          return Reflect.get(target, key, receiver);
        }
      }) : proxyToUse;
      result = normalizeVNode(
        render2.call(
          thisProxy,
          proxyToUse,
          renderCache,
          false ? shallowReadonly(props) : props,
          setupState,
          data6,
          ctx
        )
      );
      fallthroughAttrs = attrs4;
    } else {
      const render22 = Component;
      if (false) ;
      result = normalizeVNode(
        render22.length > 1 ? render22(
          false ? shallowReadonly(props) : props,
          false ? {
            get attrs() {
              markAttrsAccessed();
              return shallowReadonly(attrs4);
            },
            slots,
            emit: emit2
          } : { attrs: attrs4, slots, emit: emit2 }
        ) : render22(
          false ? shallowReadonly(props) : props,
          null
        )
      );
      fallthroughAttrs = Component.props ? attrs4 : getFunctionalFallthrough(attrs4);
    }
  } catch (err) {
    blockStack.length = 0;
    handleError(err, instance2, 1);
    result = createVNode(Comment);
  }
  let root7 = result;
  if (fallthroughAttrs && inheritAttrs !== false) {
    const keys = Object.keys(fallthroughAttrs);
    const { shapeFlag } = root7;
    if (keys.length) {
      if (shapeFlag & (1 | 6)) {
        if (propsOptions && keys.some(isModelListener)) {
          fallthroughAttrs = filterModelListeners(
            fallthroughAttrs,
            propsOptions
          );
        }
        root7 = cloneVNode(root7, fallthroughAttrs, false, true);
      }
    }
  }
  if (vnode.dirs) {
    root7 = cloneVNode(root7, null, false, true);
    root7.dirs = root7.dirs ? root7.dirs.concat(vnode.dirs) : vnode.dirs;
  }
  if (vnode.transition) {
    setTransitionHooks(root7, vnode.transition);
  }
  {
    result = root7;
  }
  setCurrentRenderingInstance(prev);
  return result;
}
const getFunctionalFallthrough = (attrs4) => {
  let res;
  for (const key in attrs4) {
    if (key === "class" || key === "style" || isOn(key)) {
      (res || (res = {}))[key] = attrs4[key];
    }
  }
  return res;
};
const filterModelListeners = (attrs4, props) => {
  const res = {};
  for (const key in attrs4) {
    if (!isModelListener(key) || !(key.slice(9) in props)) {
      res[key] = attrs4[key];
    }
  }
  return res;
};
function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
  const { props: prevProps, children: prevChildren, component } = prevVNode;
  const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;
  const emits = component.emitsOptions;
  if (nextVNode.dirs || nextVNode.transition) {
    return true;
  }
  if (optimized && patchFlag >= 0) {
    if (patchFlag & 1024) {
      return true;
    }
    if (patchFlag & 16) {
      if (!prevProps) {
        return !!nextProps;
      }
      return hasPropsChanged(prevProps, nextProps, emits);
    } else if (patchFlag & 8) {
      const dynamicProps = nextVNode.dynamicProps;
      for (let i = 0; i < dynamicProps.length; i++) {
        const key = dynamicProps[i];
        if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {
          return true;
        }
      }
    }
  } else {
    if (prevChildren || nextChildren) {
      if (!nextChildren || !nextChildren.$stable) {
        return true;
      }
    }
    if (prevProps === nextProps) {
      return false;
    }
    if (!prevProps) {
      return !!nextProps;
    }
    if (!nextProps) {
      return true;
    }
    return hasPropsChanged(prevProps, nextProps, emits);
  }
  return false;
}
function hasPropsChanged(prevProps, nextProps, emitsOptions) {
  const nextKeys = Object.keys(nextProps);
  if (nextKeys.length !== Object.keys(prevProps).length) {
    return true;
  }
  for (let i = 0; i < nextKeys.length; i++) {
    const key = nextKeys[i];
    if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {
      return true;
    }
  }
  return false;
}
function updateHOCHostEl({ vnode, parent }, el) {
  while (parent) {
    const root7 = parent.subTree;
    if (root7.suspense && root7.suspense.activeBranch === vnode) {
      root7.el = vnode.el;
    }
    if (root7 === vnode) {
      (vnode = parent.vnode).el = el;
      parent = parent.parent;
    } else {
      break;
    }
  }
}
const isSuspense = (type) => type.__isSuspense;
function queueEffectWithSuspense(fn, suspense) {
  if (suspense && suspense.pendingBranch) {
    if (isArray$1(fn)) {
      suspense.effects.push(...fn);
    } else {
      suspense.effects.push(fn);
    }
  } else {
    queuePostFlushCb(fn);
  }
}
const Fragment = Symbol.for("v-fgt");
const Text = Symbol.for("v-txt");
const Comment = Symbol.for("v-cmt");
const Static = Symbol.for("v-stc");
const blockStack = [];
let currentBlock = null;
function openBlock(disableTracking = false) {
  blockStack.push(currentBlock = disableTracking ? null : []);
}
function closeBlock() {
  blockStack.pop();
  currentBlock = blockStack[blockStack.length - 1] || null;
}
let isBlockTreeEnabled = 1;
function setBlockTracking(value2, inVOnce = false) {
  isBlockTreeEnabled += value2;
  if (value2 < 0 && currentBlock && inVOnce) {
    currentBlock.hasOnce = true;
  }
}
function setupBlock(vnode) {
  vnode.dynamicChildren = isBlockTreeEnabled > 0 ? currentBlock || EMPTY_ARR : null;
  closeBlock();
  if (isBlockTreeEnabled > 0 && currentBlock) {
    currentBlock.push(vnode);
  }
  return vnode;
}
function createElementBlock(type, props, children, patchFlag, dynamicProps, shapeFlag) {
  return setupBlock(
    createBaseVNode(
      type,
      props,
      children,
      patchFlag,
      dynamicProps,
      shapeFlag,
      true
    )
  );
}
function createBlock(type, props, children, patchFlag, dynamicProps) {
  return setupBlock(
    createVNode(
      type,
      props,
      children,
      patchFlag,
      dynamicProps,
      true
    )
  );
}
function isVNode(value2) {
  return value2 ? value2.__v_isVNode === true : false;
}
function isSameVNodeType(n1, n2) {
  return n1.type === n2.type && n1.key === n2.key;
}
const normalizeKey = ({ key }) => key != null ? key : null;
const normalizeRef = ({
  ref: ref3,
  ref_key,
  ref_for
}) => {
  if (typeof ref3 === "number") {
    ref3 = "" + ref3;
  }
  return ref3 != null ? isString$1(ref3) || isRef(ref3) || isFunction$1(ref3) ? { i: currentRenderingInstance, r: ref3, k: ref_key, f: !!ref_for } : ref3 : null;
};
function createBaseVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, shapeFlag = type === Fragment ? 0 : 1, isBlockNode = false, needFullChildrenNormalization = false) {
  const vnode = {
    __v_isVNode: true,
    __v_skip: true,
    type,
    props,
    key: props && normalizeKey(props),
    ref: props && normalizeRef(props),
    scopeId: currentScopeId,
    slotScopeIds: null,
    children,
    component: null,
    suspense: null,
    ssContent: null,
    ssFallback: null,
    dirs: null,
    transition: null,
    el: null,
    anchor: null,
    target: null,
    targetStart: null,
    targetAnchor: null,
    staticCount: 0,
    shapeFlag,
    patchFlag,
    dynamicProps,
    dynamicChildren: null,
    appContext: null,
    ctx: currentRenderingInstance
  };
  if (needFullChildrenNormalization) {
    normalizeChildren(vnode, children);
    if (shapeFlag & 128) {
      type.normalize(vnode);
    }
  } else if (children) {
    vnode.shapeFlag |= isString$1(children) ? 8 : 16;
  }
  if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself
  !isBlockNode && // has current parent block
  currentBlock && // presence of a patch flag indicates this node needs patching on updates.
  // component nodes also should always be patched, because even if the
  // component doesn't need to update, it needs to persist the instance on to
  // the next vnode so that it can be properly unmounted later.
  (vnode.patchFlag > 0 || shapeFlag & 6) && // the EVENTS flag is only for hydration and if it is the only flag, the
  // vnode should not be considered dynamic due to handler caching.
  vnode.patchFlag !== 32) {
    currentBlock.push(vnode);
  }
  return vnode;
}
const createVNode = _createVNode;
function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
  if (!type || type === NULL_DYNAMIC_COMPONENT) {
    type = Comment;
  }
  if (isVNode(type)) {
    const cloned = cloneVNode(
      type,
      props,
      true
      /* mergeRef: true */
    );
    if (children) {
      normalizeChildren(cloned, children);
    }
    if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) {
      if (cloned.shapeFlag & 6) {
        currentBlock[currentBlock.indexOf(type)] = cloned;
      } else {
        currentBlock.push(cloned);
      }
    }
    cloned.patchFlag = -2;
    return cloned;
  }
  if (isClassComponent(type)) {
    type = type.__vccOpts;
  }
  if (props) {
    props = guardReactiveProps(props);
    let { class: klass, style } = props;
    if (klass && !isString$1(klass)) {
      props.class = normalizeClass(klass);
    }
    if (isObject$1(style)) {
      if (isProxy(style) && !isArray$1(style)) {
        style = extend$1({}, style);
      }
      props.style = normalizeStyle(style);
    }
  }
  const shapeFlag = isString$1(type) ? 1 : isSuspense(type) ? 128 : isTeleport(type) ? 64 : isObject$1(type) ? 4 : isFunction$1(type) ? 2 : 0;
  return createBaseVNode(
    type,
    props,
    children,
    patchFlag,
    dynamicProps,
    shapeFlag,
    isBlockNode,
    true
  );
}
function guardReactiveProps(props) {
  if (!props) return null;
  return isProxy(props) || isInternalObject(props) ? extend$1({}, props) : props;
}
function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) {
  const { props, ref: ref3, patchFlag, children, transition } = vnode;
  const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;
  const cloned = {
    __v_isVNode: true,
    __v_skip: true,
    type: vnode.type,
    props: mergedProps,
    key: mergedProps && normalizeKey(mergedProps),
    ref: extraProps && extraProps.ref ? (
      // #2078 in the case of <component :is="vnode" ref="extra"/>
      // if the vnode itself already has a ref, cloneVNode will need to merge
      // the refs so the single vnode can be set on multiple refs
      mergeRef && ref3 ? isArray$1(ref3) ? ref3.concat(normalizeRef(extraProps)) : [ref3, normalizeRef(extraProps)] : normalizeRef(extraProps)
    ) : ref3,
    scopeId: vnode.scopeId,
    slotScopeIds: vnode.slotScopeIds,
    children,
    target: vnode.target,
    targetStart: vnode.targetStart,
    targetAnchor: vnode.targetAnchor,
    staticCount: vnode.staticCount,
    shapeFlag: vnode.shapeFlag,
    // if the vnode is cloned with extra props, we can no longer assume its
    // existing patch flag to be reliable and need to add the FULL_PROPS flag.
    // note: preserve flag for fragments since they use the flag for children
    // fast paths only.
    patchFlag: extraProps && vnode.type !== Fragment ? patchFlag === -1 ? 16 : patchFlag | 16 : patchFlag,
    dynamicProps: vnode.dynamicProps,
    dynamicChildren: vnode.dynamicChildren,
    appContext: vnode.appContext,
    dirs: vnode.dirs,
    transition,
    // These should technically only be non-null on mounted VNodes. However,
    // they *should* be copied for kept-alive vnodes. So we just always copy
    // them since them being non-null during a mount doesn't affect the logic as
    // they will simply be overwritten.
    component: vnode.component,
    suspense: vnode.suspense,
    ssContent: vnode.ssContent && cloneVNode(vnode.ssContent),
    ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),
    el: vnode.el,
    anchor: vnode.anchor,
    ctx: vnode.ctx,
    ce: vnode.ce
  };
  if (transition && cloneTransition) {
    setTransitionHooks(
      cloned,
      transition.clone(cloned)
    );
  }
  return cloned;
}
function createTextVNode(text = " ", flag = 0) {
  return createVNode(Text, null, text, flag);
}
function createCommentVNode(text = "", asBlock = false) {
  return asBlock ? (openBlock(), createBlock(Comment, null, text)) : createVNode(Comment, null, text);
}
function normalizeVNode(child) {
  if (child == null || typeof child === "boolean") {
    return createVNode(Comment);
  } else if (isArray$1(child)) {
    return createVNode(
      Fragment,
      null,
      // #3666, avoid reference pollution when reusing vnode
      child.slice()
    );
  } else if (isVNode(child)) {
    return cloneIfMounted(child);
  } else {
    return createVNode(Text, null, String(child));
  }
}
function cloneIfMounted(child) {
  return child.el === null && child.patchFlag !== -1 || child.memo ? child : cloneVNode(child);
}
function normalizeChildren(vnode, children) {
  let type = 0;
  const { shapeFlag } = vnode;
  if (children == null) {
    children = null;
  } else if (isArray$1(children)) {
    type = 16;
  } else if (typeof children === "object") {
    if (shapeFlag & (1 | 64)) {
      const slot = children.default;
      if (slot) {
        slot._c && (slot._d = false);
        normalizeChildren(vnode, slot());
        slot._c && (slot._d = true);
      }
      return;
    } else {
      type = 32;
      const slotFlag = children._;
      if (!slotFlag && !isInternalObject(children)) {
        children._ctx = currentRenderingInstance;
      } else if (slotFlag === 3 && currentRenderingInstance) {
        if (currentRenderingInstance.slots._ === 1) {
          children._ = 1;
        } else {
          children._ = 2;
          vnode.patchFlag |= 1024;
        }
      }
    }
  } else if (isFunction$1(children)) {
    children = { default: children, _ctx: currentRenderingInstance };
    type = 32;
  } else {
    children = String(children);
    if (shapeFlag & 64) {
      type = 16;
      children = [createTextVNode(children)];
    } else {
      type = 8;
    }
  }
  vnode.children = children;
  vnode.shapeFlag |= type;
}
function mergeProps(...args) {
  const ret = {};
  for (let i = 0; i < args.length; i++) {
    const toMerge = args[i];
    for (const key in toMerge) {
      if (key === "class") {
        if (ret.class !== toMerge.class) {
          ret.class = normalizeClass([ret.class, toMerge.class]);
        }
      } else if (key === "style") {
        ret.style = normalizeStyle([ret.style, toMerge.style]);
      } else if (isOn(key)) {
        const existing = ret[key];
        const incoming = toMerge[key];
        if (incoming && existing !== incoming && !(isArray$1(existing) && existing.includes(incoming))) {
          ret[key] = existing ? [].concat(existing, incoming) : incoming;
        }
      } else if (key !== "") {
        ret[key] = toMerge[key];
      }
    }
  }
  return ret;
}
function invokeVNodeHook(hook, instance2, vnode, prevVNode = null) {
  callWithAsyncErrorHandling(hook, instance2, 7, [
    vnode,
    prevVNode
  ]);
}
const emptyAppContext = createAppContext();
let uid = 0;
function createComponentInstance(vnode, parent, suspense) {
  const type = vnode.type;
  const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;
  const instance2 = {
    uid: uid++,
    vnode,
    type,
    parent,
    appContext,
    root: null,
    // to be immediately set
    next: null,
    subTree: null,
    // will be set synchronously right after creation
    effect: null,
    update: null,
    // will be set synchronously right after creation
    job: null,
    scope: new EffectScope(
      true
      /* detached */
    ),
    render: null,
    proxy: null,
    exposed: null,
    exposeProxy: null,
    withProxy: null,
    provides: parent ? parent.provides : Object.create(appContext.provides),
    ids: parent ? parent.ids : ["", 0, 0],
    accessCache: null,
    renderCache: [],
    // local resolved assets
    components: null,
    directives: null,
    // resolved props and emits options
    propsOptions: normalizePropsOptions(type, appContext),
    emitsOptions: normalizeEmitsOptions(type, appContext),
    // emit
    emit: null,
    // to be set immediately
    emitted: null,
    // props default value
    propsDefaults: EMPTY_OBJ,
    // inheritAttrs
    inheritAttrs: type.inheritAttrs,
    // state
    ctx: EMPTY_OBJ,
    data: EMPTY_OBJ,
    props: EMPTY_OBJ,
    attrs: EMPTY_OBJ,
    slots: EMPTY_OBJ,
    refs: EMPTY_OBJ,
    setupState: EMPTY_OBJ,
    setupContext: null,
    // suspense related
    suspense,
    suspenseId: suspense ? suspense.pendingId : 0,
    asyncDep: null,
    asyncResolved: false,
    // lifecycle hooks
    // not using enums here because it results in computed properties
    isMounted: false,
    isUnmounted: false,
    isDeactivated: false,
    bc: null,
    c: null,
    bm: null,
    m: null,
    bu: null,
    u: null,
    um: null,
    bum: null,
    da: null,
    a: null,
    rtg: null,
    rtc: null,
    ec: null,
    sp: null
  };
  {
    instance2.ctx = { _: instance2 };
  }
  instance2.root = parent ? parent.root : instance2;
  instance2.emit = emit.bind(null, instance2);
  if (vnode.ce) {
    vnode.ce(instance2);
  }
  return instance2;
}
let currentInstance = null;
const getCurrentInstance = () => currentInstance || currentRenderingInstance;
let internalSetCurrentInstance;
let setInSSRSetupState;
{
  const g2 = getGlobalThis();
  const registerGlobalSetter = (key, setter) => {
    let setters;
    if (!(setters = g2[key])) setters = g2[key] = [];
    setters.push(setter);
    return (v) => {
      if (setters.length > 1) setters.forEach((set2) => set2(v));
      else setters[0](v);
    };
  };
  internalSetCurrentInstance = registerGlobalSetter(
    `__VUE_INSTANCE_SETTERS__`,
    (v) => currentInstance = v
  );
  setInSSRSetupState = registerGlobalSetter(
    `__VUE_SSR_SETTERS__`,
    (v) => isInSSRComponentSetup = v
  );
}
const setCurrentInstance = (instance2) => {
  const prev = currentInstance;
  internalSetCurrentInstance(instance2);
  instance2.scope.on();
  return () => {
    instance2.scope.off();
    internalSetCurrentInstance(prev);
  };
};
const unsetCurrentInstance = () => {
  currentInstance && currentInstance.scope.off();
  internalSetCurrentInstance(null);
};
function isStatefulComponent(instance2) {
  return instance2.vnode.shapeFlag & 4;
}
let isInSSRComponentSetup = false;
function setupComponent(instance2, isSSR = false, optimized = false) {
  isSSR && setInSSRSetupState(isSSR);
  const { props, children } = instance2.vnode;
  const isStateful = isStatefulComponent(instance2);
  initProps(instance2, props, isStateful, isSSR);
  initSlots(instance2, children, optimized);
  const setupResult = isStateful ? setupStatefulComponent(instance2, isSSR) : void 0;
  isSSR && setInSSRSetupState(false);
  return setupResult;
}
function setupStatefulComponent(instance2, isSSR) {
  const Component = instance2.type;
  instance2.accessCache = /* @__PURE__ */ Object.create(null);
  instance2.proxy = new Proxy(instance2.ctx, PublicInstanceProxyHandlers);
  const { setup: setup3 } = Component;
  if (setup3) {
    pauseTracking();
    const setupContext = instance2.setupContext = setup3.length > 1 ? createSetupContext(instance2) : null;
    const reset = setCurrentInstance(instance2);
    const setupResult = callWithErrorHandling(
      setup3,
      instance2,
      0,
      [
        instance2.props,
        setupContext
      ]
    );
    const isAsyncSetup = isPromise(setupResult);
    resetTracking();
    reset();
    if ((isAsyncSetup || instance2.sp) && !isAsyncWrapper(instance2)) {
      markAsyncBoundary(instance2);
    }
    if (isAsyncSetup) {
      setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
      if (isSSR) {
        return setupResult.then((resolvedResult) => {
          handleSetupResult(instance2, resolvedResult);
        }).catch((e) => {
          handleError(e, instance2, 0);
        });
      } else {
        instance2.asyncDep = setupResult;
      }
    } else {
      handleSetupResult(instance2, setupResult);
    }
  } else {
    finishComponentSetup(instance2);
  }
}
function handleSetupResult(instance2, setupResult, isSSR) {
  if (isFunction$1(setupResult)) {
    if (instance2.type.__ssrInlineRender) {
      instance2.ssrRender = setupResult;
    } else {
      instance2.render = setupResult;
    }
  } else if (isObject$1(setupResult)) {
    instance2.setupState = proxyRefs(setupResult);
  } else ;
  finishComponentSetup(instance2);
}
function finishComponentSetup(instance2, isSSR, skipOptions) {
  const Component = instance2.type;
  if (!instance2.render) {
    instance2.render = Component.render || NOOP;
  }
  {
    const reset = setCurrentInstance(instance2);
    pauseTracking();
    try {
      applyOptions(instance2);
    } finally {
      resetTracking();
      reset();
    }
  }
}
const attrsProxyHandlers = {
  get(target, key) {
    track(target, "get", "");
    return target[key];
  }
};
function createSetupContext(instance2) {
  const expose = (exposed) => {
    instance2.exposed = exposed || {};
  };
  {
    return {
      attrs: new Proxy(instance2.attrs, attrsProxyHandlers),
      slots: instance2.slots,
      emit: instance2.emit,
      expose
    };
  }
}
function getComponentPublicInstance(instance2) {
  if (instance2.exposed) {
    return instance2.exposeProxy || (instance2.exposeProxy = new Proxy(proxyRefs(markRaw(instance2.exposed)), {
      get(target, key) {
        if (key in target) {
          return target[key];
        } else if (key in publicPropertiesMap) {
          return publicPropertiesMap[key](instance2);
        }
      },
      has(target, key) {
        return key in target || key in publicPropertiesMap;
      }
    }));
  } else {
    return instance2.proxy;
  }
}
const classifyRE = /(?:^|[-_])(\w)/g;
const classify = (str) => str.replace(classifyRE, (c) => c.toUpperCase()).replace(/[-_]/g, "");
function getComponentName(Component, includeInferred = true) {
  return isFunction$1(Component) ? Component.displayName || Component.name : Component.name || includeInferred && Component.__name;
}
function formatComponentName(instance2, Component, isRoot = false) {
  let name = getComponentName(Component);
  if (!name && Component.__file) {
    const match2 = Component.__file.match(/([^/\\]+)\.\w+$/);
    if (match2) {
      name = match2[1];
    }
  }
  if (!name && instance2 && instance2.parent) {
    const inferFromRegistry = (registry) => {
      for (const key in registry) {
        if (registry[key] === Component) {
          return key;
        }
      }
    };
    name = inferFromRegistry(
      instance2.components || instance2.parent.type.components
    ) || inferFromRegistry(instance2.appContext.components);
  }
  return name ? classify(name) : isRoot ? `App` : `Anonymous`;
}
function isClassComponent(value2) {
  return isFunction$1(value2) && "__vccOpts" in value2;
}
const computed = (getterOrOptions, debugOptions) => {
  const c = computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);
  return c;
};
function h(type, propsOrChildren, children) {
  const l = arguments.length;
  if (l === 2) {
    if (isObject$1(propsOrChildren) && !isArray$1(propsOrChildren)) {
      if (isVNode(propsOrChildren)) {
        return createVNode(type, null, [propsOrChildren]);
      }
      return createVNode(type, propsOrChildren);
    } else {
      return createVNode(type, null, propsOrChildren);
    }
  } else {
    if (l > 3) {
      children = Array.prototype.slice.call(arguments, 2);
    } else if (l === 3 && isVNode(children)) {
      children = [children];
    }
    return createVNode(type, propsOrChildren, children);
  }
}
const version = "3.5.13";
/**
* @vue/runtime-dom v3.5.13
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
let policy = void 0;
const tt = typeof window !== "undefined" && window.trustedTypes;
if (tt) {
  try {
    policy = /* @__PURE__ */ tt.createPolicy("vue", {
      createHTML: (val) => val
    });
  } catch (e) {
  }
}
const unsafeToTrustedHTML = policy ? (val) => policy.createHTML(val) : (val) => val;
const svgNS = "http://www.w3.org/2000/svg";
const mathmlNS = "http://www.w3.org/1998/Math/MathML";
const doc = typeof document !== "undefined" ? document : null;
const templateContainer = doc && /* @__PURE__ */ doc.createElement("template");
const nodeOps = {
  insert: (child, parent, anchor) => {
    parent.insertBefore(child, anchor || null);
  },
  remove: (child) => {
    const parent = child.parentNode;
    if (parent) {
      parent.removeChild(child);
    }
  },
  createElement: (tag, namespace2, is, props) => {
    const el = namespace2 === "svg" ? doc.createElementNS(svgNS, tag) : namespace2 === "mathml" ? doc.createElementNS(mathmlNS, tag) : is ? doc.createElement(tag, { is }) : doc.createElement(tag);
    if (tag === "select" && props && props.multiple != null) {
      el.setAttribute("multiple", props.multiple);
    }
    return el;
  },
  createText: (text) => doc.createTextNode(text),
  createComment: (text) => doc.createComment(text),
  setText: (node, text) => {
    node.nodeValue = text;
  },
  setElementText: (el, text) => {
    el.textContent = text;
  },
  parentNode: (node) => node.parentNode,
  nextSibling: (node) => node.nextSibling,
  querySelector: (selector) => doc.querySelector(selector),
  setScopeId(el, id3) {
    el.setAttribute(id3, "");
  },
  // __UNSAFE__
  // Reason: innerHTML.
  // Static content here can only come from compiled templates.
  // As long as the user only uses trusted templates, this is safe.
  insertStaticContent(content2, parent, anchor, namespace2, start, end2) {
    const before = anchor ? anchor.previousSibling : parent.lastChild;
    if (start && (start === end2 || start.nextSibling)) {
      while (true) {
        parent.insertBefore(start.cloneNode(true), anchor);
        if (start === end2 || !(start = start.nextSibling)) break;
      }
    } else {
      templateContainer.innerHTML = unsafeToTrustedHTML(
        namespace2 === "svg" ? `<svg>${content2}</svg>` : namespace2 === "mathml" ? `<math>${content2}</math>` : content2
      );
      const template = templateContainer.content;
      if (namespace2 === "svg" || namespace2 === "mathml") {
        const wrapper = template.firstChild;
        while (wrapper.firstChild) {
          template.appendChild(wrapper.firstChild);
        }
        template.removeChild(wrapper);
      }
      parent.insertBefore(template, anchor);
    }
    return [
      // first
      before ? before.nextSibling : parent.firstChild,
      // last
      anchor ? anchor.previousSibling : parent.lastChild
    ];
  }
};
const TRANSITION = "transition";
const ANIMATION = "animation";
const vtcKey = Symbol("_vtc");
const DOMTransitionPropsValidators = {
  name: String,
  type: String,
  css: {
    type: Boolean,
    default: true
  },
  duration: [String, Number, Object],
  enterFromClass: String,
  enterActiveClass: String,
  enterToClass: String,
  appearFromClass: String,
  appearActiveClass: String,
  appearToClass: String,
  leaveFromClass: String,
  leaveActiveClass: String,
  leaveToClass: String
};
const TransitionPropsValidators = /* @__PURE__ */ extend$1(
  {},
  BaseTransitionPropsValidators,
  DOMTransitionPropsValidators
);
const decorate$1 = (t2) => {
  t2.displayName = "Transition";
  t2.props = TransitionPropsValidators;
  return t2;
};
const Transition = /* @__PURE__ */ decorate$1(
  (props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots)
);
const callHook = (hook, args = []) => {
  if (isArray$1(hook)) {
    hook.forEach((h2) => h2(...args));
  } else if (hook) {
    hook(...args);
  }
};
const hasExplicitCallback = (hook) => {
  return hook ? isArray$1(hook) ? hook.some((h2) => h2.length > 1) : hook.length > 1 : false;
};
function resolveTransitionProps(rawProps) {
  const baseProps = {};
  for (const key in rawProps) {
    if (!(key in DOMTransitionPropsValidators)) {
      baseProps[key] = rawProps[key];
    }
  }
  if (rawProps.css === false) {
    return baseProps;
  }
  const {
    name = "v",
    type,
    duration,
    enterFromClass = `${name}-enter-from`,
    enterActiveClass = `${name}-enter-active`,
    enterToClass = `${name}-enter-to`,
    appearFromClass = enterFromClass,
    appearActiveClass = enterActiveClass,
    appearToClass = enterToClass,
    leaveFromClass = `${name}-leave-from`,
    leaveActiveClass = `${name}-leave-active`,
    leaveToClass = `${name}-leave-to`
  } = rawProps;
  const durations = normalizeDuration(duration);
  const enterDuration = durations && durations[0];
  const leaveDuration = durations && durations[1];
  const {
    onBeforeEnter: onBeforeEnter2,
    onEnter: onEnter3,
    onEnterCancelled,
    onLeave: onLeave3,
    onLeaveCancelled,
    onBeforeAppear = onBeforeEnter2,
    onAppear = onEnter3,
    onAppearCancelled = onEnterCancelled
  } = baseProps;
  const finishEnter = (el, isAppear, done, isCancelled) => {
    el._enterCancelled = isCancelled;
    removeTransitionClass(el, isAppear ? appearToClass : enterToClass);
    removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);
    done && done();
  };
  const finishLeave = (el, done) => {
    el._isLeaving = false;
    removeTransitionClass(el, leaveFromClass);
    removeTransitionClass(el, leaveToClass);
    removeTransitionClass(el, leaveActiveClass);
    done && done();
  };
  const makeEnterHook = (isAppear) => {
    return (el, done) => {
      const hook = isAppear ? onAppear : onEnter3;
      const resolve2 = () => finishEnter(el, isAppear, done);
      callHook(hook, [el, resolve2]);
      nextFrame(() => {
        removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass);
        addTransitionClass(el, isAppear ? appearToClass : enterToClass);
        if (!hasExplicitCallback(hook)) {
          whenTransitionEnds(el, type, enterDuration, resolve2);
        }
      });
    };
  };
  return extend$1(baseProps, {
    onBeforeEnter(el) {
      callHook(onBeforeEnter2, [el]);
      addTransitionClass(el, enterFromClass);
      addTransitionClass(el, enterActiveClass);
    },
    onBeforeAppear(el) {
      callHook(onBeforeAppear, [el]);
      addTransitionClass(el, appearFromClass);
      addTransitionClass(el, appearActiveClass);
    },
    onEnter: makeEnterHook(false),
    onAppear: makeEnterHook(true),
    onLeave(el, done) {
      el._isLeaving = true;
      const resolve2 = () => finishLeave(el, done);
      addTransitionClass(el, leaveFromClass);
      if (!el._enterCancelled) {
        forceReflow();
        addTransitionClass(el, leaveActiveClass);
      } else {
        addTransitionClass(el, leaveActiveClass);
        forceReflow();
      }
      nextFrame(() => {
        if (!el._isLeaving) {
          return;
        }
        removeTransitionClass(el, leaveFromClass);
        addTransitionClass(el, leaveToClass);
        if (!hasExplicitCallback(onLeave3)) {
          whenTransitionEnds(el, type, leaveDuration, resolve2);
        }
      });
      callHook(onLeave3, [el, resolve2]);
    },
    onEnterCancelled(el) {
      finishEnter(el, false, void 0, true);
      callHook(onEnterCancelled, [el]);
    },
    onAppearCancelled(el) {
      finishEnter(el, true, void 0, true);
      callHook(onAppearCancelled, [el]);
    },
    onLeaveCancelled(el) {
      finishLeave(el);
      callHook(onLeaveCancelled, [el]);
    }
  });
}
function normalizeDuration(duration) {
  if (duration == null) {
    return null;
  } else if (isObject$1(duration)) {
    return [NumberOf(duration.enter), NumberOf(duration.leave)];
  } else {
    const n = NumberOf(duration);
    return [n, n];
  }
}
function NumberOf(val) {
  const res = toNumber(val);
  return res;
}
function addTransitionClass(el, cls) {
  cls.split(/\s+/).forEach((c) => c && el.classList.add(c));
  (el[vtcKey] || (el[vtcKey] = /* @__PURE__ */ new Set())).add(cls);
}
function removeTransitionClass(el, cls) {
  cls.split(/\s+/).forEach((c) => c && el.classList.remove(c));
  const _vtc = el[vtcKey];
  if (_vtc) {
    _vtc.delete(cls);
    if (!_vtc.size) {
      el[vtcKey] = void 0;
    }
  }
}
function nextFrame(cb) {
  requestAnimationFrame(() => {
    requestAnimationFrame(cb);
  });
}
let endId = 0;
function whenTransitionEnds(el, expectedType, explicitTimeout, resolve2) {
  const id3 = el._endId = ++endId;
  const resolveIfNotStale = () => {
    if (id3 === el._endId) {
      resolve2();
    }
  };
  if (explicitTimeout != null) {
    return setTimeout(resolveIfNotStale, explicitTimeout);
  }
  const { type, timeout, propCount } = getTransitionInfo(el, expectedType);
  if (!type) {
    return resolve2();
  }
  const endEvent = type + "end";
  let ended = 0;
  const end2 = () => {
    el.removeEventListener(endEvent, onEnd);
    resolveIfNotStale();
  };
  const onEnd = (e) => {
    if (e.target === el && ++ended >= propCount) {
      end2();
    }
  };
  setTimeout(() => {
    if (ended < propCount) {
      end2();
    }
  }, timeout + 1);
  el.addEventListener(endEvent, onEnd);
}
function getTransitionInfo(el, expectedType) {
  const styles2 = window.getComputedStyle(el);
  const getStyleProperties = (key) => (styles2[key] || "").split(", ");
  const transitionDelays = getStyleProperties(`${TRANSITION}Delay`);
  const transitionDurations = getStyleProperties(`${TRANSITION}Duration`);
  const transitionTimeout = getTimeout(transitionDelays, transitionDurations);
  const animationDelays = getStyleProperties(`${ANIMATION}Delay`);
  const animationDurations = getStyleProperties(`${ANIMATION}Duration`);
  const animationTimeout = getTimeout(animationDelays, animationDurations);
  let type = null;
  let timeout = 0;
  let propCount = 0;
  if (expectedType === TRANSITION) {
    if (transitionTimeout > 0) {
      type = TRANSITION;
      timeout = transitionTimeout;
      propCount = transitionDurations.length;
    }
  } else if (expectedType === ANIMATION) {
    if (animationTimeout > 0) {
      type = ANIMATION;
      timeout = animationTimeout;
      propCount = animationDurations.length;
    }
  } else {
    timeout = Math.max(transitionTimeout, animationTimeout);
    type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION : ANIMATION : null;
    propCount = type ? type === TRANSITION ? transitionDurations.length : animationDurations.length : 0;
  }
  const hasTransform = type === TRANSITION && /\b(transform|all)(,|$)/.test(
    getStyleProperties(`${TRANSITION}Property`).toString()
  );
  return {
    type,
    timeout,
    propCount,
    hasTransform
  };
}
function getTimeout(delays, durations) {
  while (delays.length < durations.length) {
    delays = delays.concat(delays);
  }
  return Math.max(...durations.map((d, i) => toMs(d) + toMs(delays[i])));
}
function toMs(s2) {
  if (s2 === "auto") return 0;
  return Number(s2.slice(0, -1).replace(",", ".")) * 1e3;
}
function forceReflow() {
  return document.body.offsetHeight;
}
function patchClass(el, value2, isSVG) {
  const transitionClasses = el[vtcKey];
  if (transitionClasses) {
    value2 = (value2 ? [value2, ...transitionClasses] : [...transitionClasses]).join(" ");
  }
  if (value2 == null) {
    el.removeAttribute("class");
  } else if (isSVG) {
    el.setAttribute("class", value2);
  } else {
    el.className = value2;
  }
}
const vShowOriginalDisplay = Symbol("_vod");
const vShowHidden = Symbol("_vsh");
const vShow = {
  beforeMount(el, { value: value2 }, { transition }) {
    el[vShowOriginalDisplay] = el.style.display === "none" ? "" : el.style.display;
    if (transition && value2) {
      transition.beforeEnter(el);
    } else {
      setDisplay(el, value2);
    }
  },
  mounted(el, { value: value2 }, { transition }) {
    if (transition && value2) {
      transition.enter(el);
    }
  },
  updated(el, { value: value2, oldValue }, { transition }) {
    if (!value2 === !oldValue) return;
    if (transition) {
      if (value2) {
        transition.beforeEnter(el);
        setDisplay(el, true);
        transition.enter(el);
      } else {
        transition.leave(el, () => {
          setDisplay(el, false);
        });
      }
    } else {
      setDisplay(el, value2);
    }
  },
  beforeUnmount(el, { value: value2 }) {
    setDisplay(el, value2);
  }
};
function setDisplay(el, value2) {
  el.style.display = value2 ? el[vShowOriginalDisplay] : "none";
  el[vShowHidden] = !value2;
}
const CSS_VAR_TEXT = Symbol("");
const displayRE = /(^|;)\s*display\s*:/;
function patchStyle(el, prev, next) {
  const style = el.style;
  const isCssString = isString$1(next);
  let hasControlledDisplay = false;
  if (next && !isCssString) {
    if (prev) {
      if (!isString$1(prev)) {
        for (const key in prev) {
          if (next[key] == null) {
            setStyle(style, key, "");
          }
        }
      } else {
        for (const prevStyle of prev.split(";")) {
          const key = prevStyle.slice(0, prevStyle.indexOf(":")).trim();
          if (next[key] == null) {
            setStyle(style, key, "");
          }
        }
      }
    }
    for (const key in next) {
      if (key === "display") {
        hasControlledDisplay = true;
      }
      setStyle(style, key, next[key]);
    }
  } else {
    if (isCssString) {
      if (prev !== next) {
        const cssVarText = style[CSS_VAR_TEXT];
        if (cssVarText) {
          next += ";" + cssVarText;
        }
        style.cssText = next;
        hasControlledDisplay = displayRE.test(next);
      }
    } else if (prev) {
      el.removeAttribute("style");
    }
  }
  if (vShowOriginalDisplay in el) {
    el[vShowOriginalDisplay] = hasControlledDisplay ? style.display : "";
    if (el[vShowHidden]) {
      style.display = "none";
    }
  }
}
const importantRE = /\s*!important$/;
function setStyle(style, name, val) {
  if (isArray$1(val)) {
    val.forEach((v) => setStyle(style, name, v));
  } else {
    if (val == null) val = "";
    if (name.startsWith("--")) {
      style.setProperty(name, val);
    } else {
      const prefixed = autoPrefix(style, name);
      if (importantRE.test(val)) {
        style.setProperty(
          hyphenate(prefixed),
          val.replace(importantRE, ""),
          "important"
        );
      } else {
        style[prefixed] = val;
      }
    }
  }
}
const prefixes = ["Webkit", "Moz", "ms"];
const prefixCache = {};
function autoPrefix(style, rawName) {
  const cached = prefixCache[rawName];
  if (cached) {
    return cached;
  }
  let name = camelize(rawName);
  if (name !== "filter" && name in style) {
    return prefixCache[rawName] = name;
  }
  name = capitalize(name);
  for (let i = 0; i < prefixes.length; i++) {
    const prefixed = prefixes[i] + name;
    if (prefixed in style) {
      return prefixCache[rawName] = prefixed;
    }
  }
  return rawName;
}
const xlinkNS = "http://www.w3.org/1999/xlink";
function patchAttr(el, key, value2, isSVG, instance2, isBoolean2 = isSpecialBooleanAttr(key)) {
  if (isSVG && key.startsWith("xlink:")) {
    if (value2 == null) {
      el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
    } else {
      el.setAttributeNS(xlinkNS, key, value2);
    }
  } else {
    if (value2 == null || isBoolean2 && !includeBooleanAttr(value2)) {
      el.removeAttribute(key);
    } else {
      el.setAttribute(
        key,
        isBoolean2 ? "" : isSymbol(value2) ? String(value2) : value2
      );
    }
  }
}
function patchDOMProp(el, key, value2, parentComponent, attrName) {
  if (key === "innerHTML" || key === "textContent") {
    if (value2 != null) {
      el[key] = key === "innerHTML" ? unsafeToTrustedHTML(value2) : value2;
    }
    return;
  }
  const tag = el.tagName;
  if (key === "value" && tag !== "PROGRESS" && // custom elements may use _value internally
  !tag.includes("-")) {
    const oldValue = tag === "OPTION" ? el.getAttribute("value") || "" : el.value;
    const newValue = value2 == null ? (
      // #11647: value should be set as empty string for null and undefined,
      // but <input type="checkbox"> should be set as 'on'.
      el.type === "checkbox" ? "on" : ""
    ) : String(value2);
    if (oldValue !== newValue || !("_value" in el)) {
      el.value = newValue;
    }
    if (value2 == null) {
      el.removeAttribute(key);
    }
    el._value = value2;
    return;
  }
  let needRemove = false;
  if (value2 === "" || value2 == null) {
    const type = typeof el[key];
    if (type === "boolean") {
      value2 = includeBooleanAttr(value2);
    } else if (value2 == null && type === "string") {
      value2 = "";
      needRemove = true;
    } else if (type === "number") {
      value2 = 0;
      needRemove = true;
    }
  }
  try {
    el[key] = value2;
  } catch (e) {
  }
  needRemove && el.removeAttribute(attrName || key);
}
function addEventListener(el, event, handler6, options) {
  el.addEventListener(event, handler6, options);
}
function removeEventListener(el, event, handler6, options) {
  el.removeEventListener(event, handler6, options);
}
const veiKey = Symbol("_vei");
function patchEvent(el, rawName, prevValue, nextValue, instance2 = null) {
  const invokers = el[veiKey] || (el[veiKey] = {});
  const existingInvoker = invokers[rawName];
  if (nextValue && existingInvoker) {
    existingInvoker.value = nextValue;
  } else {
    const [name, options] = parseName(rawName);
    if (nextValue) {
      const invoker = invokers[rawName] = createInvoker(
        nextValue,
        instance2
      );
      addEventListener(el, name, invoker, options);
    } else if (existingInvoker) {
      removeEventListener(el, name, existingInvoker, options);
      invokers[rawName] = void 0;
    }
  }
}
const optionsModifierRE = /(?:Once|Passive|Capture)$/;
function parseName(name) {
  let options;
  if (optionsModifierRE.test(name)) {
    options = {};
    let m2;
    while (m2 = name.match(optionsModifierRE)) {
      name = name.slice(0, name.length - m2[0].length);
      options[m2[0].toLowerCase()] = true;
    }
  }
  const event = name[2] === ":" ? name.slice(3) : hyphenate(name.slice(2));
  return [event, options];
}
let cachedNow = 0;
const p$1 = /* @__PURE__ */ Promise.resolve();
const getNow = () => cachedNow || (p$1.then(() => cachedNow = 0), cachedNow = Date.now());
function createInvoker(initialValue, instance2) {
  const invoker = (e) => {
    if (!e._vts) {
      e._vts = Date.now();
    } else if (e._vts <= invoker.attached) {
      return;
    }
    callWithAsyncErrorHandling(
      patchStopImmediatePropagation(e, invoker.value),
      instance2,
      5,
      [e]
    );
  };
  invoker.value = initialValue;
  invoker.attached = getNow();
  return invoker;
}
function patchStopImmediatePropagation(e, value2) {
  if (isArray$1(value2)) {
    const originalStop = e.stopImmediatePropagation;
    e.stopImmediatePropagation = () => {
      originalStop.call(e);
      e._stopped = true;
    };
    return value2.map(
      (fn) => (e2) => !e2._stopped && fn && fn(e2)
    );
  } else {
    return value2;
  }
}
const isNativeOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // lowercase letter
key.charCodeAt(2) > 96 && key.charCodeAt(2) < 123;
const patchProp = (el, key, prevValue, nextValue, namespace2, parentComponent) => {
  const isSVG = namespace2 === "svg";
  if (key === "class") {
    patchClass(el, nextValue, isSVG);
  } else if (key === "style") {
    patchStyle(el, prevValue, nextValue);
  } else if (isOn(key)) {
    if (!isModelListener(key)) {
      patchEvent(el, key, prevValue, nextValue, parentComponent);
    }
  } else if (key[0] === "." ? (key = key.slice(1), true) : key[0] === "^" ? (key = key.slice(1), false) : shouldSetAsProp(el, key, nextValue, isSVG)) {
    patchDOMProp(el, key, nextValue);
    if (!el.tagName.includes("-") && (key === "value" || key === "checked" || key === "selected")) {
      patchAttr(el, key, nextValue, isSVG, parentComponent, key !== "value");
    }
  } else if (
    // #11081 force set props for possible async custom element
    el._isVueCE && (/[A-Z]/.test(key) || !isString$1(nextValue))
  ) {
    patchDOMProp(el, camelize(key), nextValue, parentComponent, key);
  } else {
    if (key === "true-value") {
      el._trueValue = nextValue;
    } else if (key === "false-value") {
      el._falseValue = nextValue;
    }
    patchAttr(el, key, nextValue, isSVG);
  }
};
function shouldSetAsProp(el, key, value2, isSVG) {
  if (isSVG) {
    if (key === "innerHTML" || key === "textContent") {
      return true;
    }
    if (key in el && isNativeOn(key) && isFunction$1(value2)) {
      return true;
    }
    return false;
  }
  if (key === "spellcheck" || key === "draggable" || key === "translate") {
    return false;
  }
  if (key === "form") {
    return false;
  }
  if (key === "list" && el.tagName === "INPUT") {
    return false;
  }
  if (key === "type" && el.tagName === "TEXTAREA") {
    return false;
  }
  if (key === "width" || key === "height") {
    const tag = el.tagName;
    if (tag === "IMG" || tag === "VIDEO" || tag === "CANVAS" || tag === "SOURCE") {
      return false;
    }
  }
  if (isNativeOn(key) && isString$1(value2)) {
    return false;
  }
  return key in el;
}
const rendererOptions = /* @__PURE__ */ extend$1({ patchProp }, nodeOps);
let renderer;
function ensureRenderer() {
  return renderer || (renderer = createRenderer(rendererOptions));
}
const createApp = (...args) => {
  const app2 = ensureRenderer().createApp(...args);
  const { mount } = app2;
  app2.mount = (containerOrSelector) => {
    const container = normalizeContainer(containerOrSelector);
    if (!container) return;
    const component = app2._component;
    if (!isFunction$1(component) && !component.render && !component.template) {
      component.template = container.innerHTML;
    }
    if (container.nodeType === 1) {
      container.textContent = "";
    }
    const proxy = mount(container, false, resolveRootNamespace(container));
    if (container instanceof Element) {
      container.removeAttribute("v-cloak");
      container.setAttribute("data-v-app", "");
    }
    return proxy;
  };
  return app2;
};
function resolveRootNamespace(container) {
  if (container instanceof SVGElement) {
    return "svg";
  }
  if (typeof MathMLElement === "function" && container instanceof MathMLElement) {
    return "mathml";
  }
}
function normalizeContainer(container) {
  if (isString$1(container)) {
    const res = document.querySelector(container);
    return res;
  }
  return container;
}
/*!
 * pinia v2.3.0
 * (c) 2024 Eduardo San Martin Morote
 * @license MIT
 */
let activePinia;
const setActivePinia = (pinia2) => activePinia = pinia2;
const piniaSymbol = (
  /* istanbul ignore next */
  Symbol()
);
function isPlainObject$1(o2) {
  return o2 && typeof o2 === "object" && Object.prototype.toString.call(o2) === "[object Object]" && typeof o2.toJSON !== "function";
}
var MutationType;
(function(MutationType2) {
  MutationType2["direct"] = "direct";
  MutationType2["patchObject"] = "patch object";
  MutationType2["patchFunction"] = "patch function";
})(MutationType || (MutationType = {}));
function createPinia() {
  const scope = effectScope(true);
  const state = scope.run(() => ref({}));
  let _p = [];
  let toBeInstalled = [];
  const pinia2 = markRaw({
    install(app2) {
      setActivePinia(pinia2);
      {
        pinia2._a = app2;
        app2.provide(piniaSymbol, pinia2);
        app2.config.globalProperties.$pinia = pinia2;
        toBeInstalled.forEach((plugin) => _p.push(plugin));
        toBeInstalled = [];
      }
    },
    use(plugin) {
      if (!this._a && true) {
        toBeInstalled.push(plugin);
      } else {
        _p.push(plugin);
      }
      return this;
    },
    _p,
    // it's actually undefined here
    // @ts-expect-error
    _a: null,
    _e: scope,
    _s: /* @__PURE__ */ new Map(),
    state
  });
  return pinia2;
}
const noop$4 = () => {
};
function addSubscription(subscriptions, callback, detached, onCleanup = noop$4) {
  subscriptions.push(callback);
  const removeSubscription = () => {
    const idx = subscriptions.indexOf(callback);
    if (idx > -1) {
      subscriptions.splice(idx, 1);
      onCleanup();
    }
  };
  if (!detached && getCurrentScope()) {
    onScopeDispose(removeSubscription);
  }
  return removeSubscription;
}
function triggerSubscriptions(subscriptions, ...args) {
  subscriptions.slice().forEach((callback) => {
    callback(...args);
  });
}
const fallbackRunWithContext = (fn) => fn();
const ACTION_MARKER = Symbol();
const ACTION_NAME = Symbol();
function mergeReactiveObjects(target, patchToApply) {
  if (target instanceof Map && patchToApply instanceof Map) {
    patchToApply.forEach((value2, key) => target.set(key, value2));
  } else if (target instanceof Set && patchToApply instanceof Set) {
    patchToApply.forEach(target.add, target);
  }
  for (const key in patchToApply) {
    if (!patchToApply.hasOwnProperty(key))
      continue;
    const subPatch = patchToApply[key];
    const targetValue = target[key];
    if (isPlainObject$1(targetValue) && isPlainObject$1(subPatch) && target.hasOwnProperty(key) && !isRef(subPatch) && !isReactive(subPatch)) {
      target[key] = mergeReactiveObjects(targetValue, subPatch);
    } else {
      target[key] = subPatch;
    }
  }
  return target;
}
const skipHydrateSymbol = (
  /* istanbul ignore next */
  Symbol()
);
function shouldHydrate(obj) {
  return !isPlainObject$1(obj) || !obj.hasOwnProperty(skipHydrateSymbol);
}
const { assign } = Object;
function isComputed(o2) {
  return !!(isRef(o2) && o2.effect);
}
function createOptionsStore(id3, options, pinia2, hot) {
  const { state, actions, getters } = options;
  const initialState = pinia2.state.value[id3];
  let store;
  function setup3() {
    if (!initialState && true) {
      {
        pinia2.state.value[id3] = state ? state() : {};
      }
    }
    const localState = toRefs(pinia2.state.value[id3]);
    return assign(localState, actions, Object.keys(getters || {}).reduce((computedGetters, name) => {
      computedGetters[name] = markRaw(computed(() => {
        setActivePinia(pinia2);
        const store2 = pinia2._s.get(id3);
        return getters[name].call(store2, store2);
      }));
      return computedGetters;
    }, {}));
  }
  store = createSetupStore(id3, setup3, options, pinia2, hot, true);
  return store;
}
function createSetupStore($id, setup3, options = {}, pinia2, hot, isOptionsStore) {
  let scope;
  const optionsForPlugin = assign({ actions: {} }, options);
  const $subscribeOptions = { deep: true };
  let isListening;
  let isSyncListening;
  let subscriptions = [];
  let actionSubscriptions = [];
  let debuggerEvents;
  const initialState = pinia2.state.value[$id];
  if (!isOptionsStore && !initialState && true) {
    {
      pinia2.state.value[$id] = {};
    }
  }
  ref({});
  let activeListener;
  function $patch(partialStateOrMutator) {
    let subscriptionMutation;
    isListening = isSyncListening = false;
    if (typeof partialStateOrMutator === "function") {
      partialStateOrMutator(pinia2.state.value[$id]);
      subscriptionMutation = {
        type: MutationType.patchFunction,
        storeId: $id,
        events: debuggerEvents
      };
    } else {
      mergeReactiveObjects(pinia2.state.value[$id], partialStateOrMutator);
      subscriptionMutation = {
        type: MutationType.patchObject,
        payload: partialStateOrMutator,
        storeId: $id,
        events: debuggerEvents
      };
    }
    const myListenerId = activeListener = Symbol();
    nextTick().then(() => {
      if (activeListener === myListenerId) {
        isListening = true;
      }
    });
    isSyncListening = true;
    triggerSubscriptions(subscriptions, subscriptionMutation, pinia2.state.value[$id]);
  }
  const $reset = isOptionsStore ? function $reset2() {
    const { state } = options;
    const newState = state ? state() : {};
    this.$patch(($state) => {
      assign($state, newState);
    });
  } : (
    /* istanbul ignore next */
    noop$4
  );
  function $dispose() {
    scope.stop();
    subscriptions = [];
    actionSubscriptions = [];
    pinia2._s.delete($id);
  }
  const action = (fn, name = "") => {
    if (ACTION_MARKER in fn) {
      fn[ACTION_NAME] = name;
      return fn;
    }
    const wrappedAction = function() {
      setActivePinia(pinia2);
      const args = Array.from(arguments);
      const afterCallbackList = [];
      const onErrorCallbackList = [];
      function after(callback) {
        afterCallbackList.push(callback);
      }
      function onError2(callback) {
        onErrorCallbackList.push(callback);
      }
      triggerSubscriptions(actionSubscriptions, {
        args,
        name: wrappedAction[ACTION_NAME],
        store,
        after,
        onError: onError2
      });
      let ret;
      try {
        ret = fn.apply(this && this.$id === $id ? this : store, args);
      } catch (error) {
        triggerSubscriptions(onErrorCallbackList, error);
        throw error;
      }
      if (ret instanceof Promise) {
        return ret.then((value2) => {
          triggerSubscriptions(afterCallbackList, value2);
          return value2;
        }).catch((error) => {
          triggerSubscriptions(onErrorCallbackList, error);
          return Promise.reject(error);
        });
      }
      triggerSubscriptions(afterCallbackList, ret);
      return ret;
    };
    wrappedAction[ACTION_MARKER] = true;
    wrappedAction[ACTION_NAME] = name;
    return wrappedAction;
  };
  const partialStore = {
    _p: pinia2,
    // _s: scope,
    $id,
    $onAction: addSubscription.bind(null, actionSubscriptions),
    $patch,
    $reset,
    $subscribe(callback, options2 = {}) {
      const removeSubscription = addSubscription(subscriptions, callback, options2.detached, () => stopWatcher());
      const stopWatcher = scope.run(() => watch(() => pinia2.state.value[$id], (state) => {
        if (options2.flush === "sync" ? isSyncListening : isListening) {
          callback({
            storeId: $id,
            type: MutationType.direct,
            events: debuggerEvents
          }, state);
        }
      }, assign({}, $subscribeOptions, options2)));
      return removeSubscription;
    },
    $dispose
  };
  const store = reactive(partialStore);
  pinia2._s.set($id, store);
  const runWithContext = pinia2._a && pinia2._a.runWithContext || fallbackRunWithContext;
  const setupStore = runWithContext(() => pinia2._e.run(() => (scope = effectScope()).run(() => setup3({ action }))));
  for (const key in setupStore) {
    const prop = setupStore[key];
    if (isRef(prop) && !isComputed(prop) || isReactive(prop)) {
      if (!isOptionsStore) {
        if (initialState && shouldHydrate(prop)) {
          if (isRef(prop)) {
            prop.value = initialState[key];
          } else {
            mergeReactiveObjects(prop, initialState[key]);
          }
        }
        {
          pinia2.state.value[$id][key] = prop;
        }
      }
    } else if (typeof prop === "function") {
      const actionValue = action(prop, key);
      {
        setupStore[key] = actionValue;
      }
      optionsForPlugin.actions[key] = prop;
    } else ;
  }
  {
    assign(store, setupStore);
    assign(toRaw(store), setupStore);
  }
  Object.defineProperty(store, "$state", {
    get: () => pinia2.state.value[$id],
    set: (state) => {
      $patch(($state) => {
        assign($state, state);
      });
    }
  });
  pinia2._p.forEach((extender) => {
    {
      assign(store, scope.run(() => extender({
        store,
        app: pinia2._a,
        pinia: pinia2,
        options: optionsForPlugin
      })));
    }
  });
  if (initialState && isOptionsStore && options.hydrate) {
    options.hydrate(store.$state, initialState);
  }
  isListening = true;
  isSyncListening = true;
  return store;
}
/*! #__NO_SIDE_EFFECTS__ */
// @__NO_SIDE_EFFECTS__
function defineStore(idOrOptions, setup3, setupOptions) {
  let id3;
  let options;
  const isSetupStore = typeof setup3 === "function";
  if (typeof idOrOptions === "string") {
    id3 = idOrOptions;
    options = isSetupStore ? setupOptions : setup3;
  } else {
    options = idOrOptions;
    id3 = idOrOptions.id;
  }
  function useStore(pinia2, hot) {
    const hasContext = hasInjectionContext();
    pinia2 = // in test mode, ignore the argument provided as we can always retrieve a
    // pinia instance with getActivePinia()
    pinia2 || (hasContext ? inject(piniaSymbol, null) : null);
    if (pinia2)
      setActivePinia(pinia2);
    pinia2 = activePinia;
    if (!pinia2._s.has(id3)) {
      if (isSetupStore) {
        createSetupStore(id3, setup3, options, pinia2);
      } else {
        createOptionsStore(id3, options, pinia2);
      }
    }
    const store = pinia2._s.get(id3);
    return store;
  }
  useStore.$id = id3;
  return useStore;
}
const suspectProtoRx = /"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/;
const suspectConstructorRx = /"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;
const JsonSigRx = /^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;
function jsonParseTransform(key, value2) {
  if (key === "__proto__" || key === "constructor" && value2 && typeof value2 === "object" && "prototype" in value2) {
    warnKeyDropped(key);
    return;
  }
  return value2;
}
function warnKeyDropped(key) {
  console.warn(`[destr] Dropping "${key}" key to prevent prototype pollution.`);
}
function destr(value2, options = {}) {
  if (typeof value2 !== "string") {
    return value2;
  }
  const _value = value2.trim();
  if (
    // eslint-disable-next-line unicorn/prefer-at
    value2[0] === '"' && value2.endsWith('"') && !value2.includes("\\")
  ) {
    return _value.slice(1, -1);
  }
  if (_value.length <= 9) {
    const _lval = _value.toLowerCase();
    if (_lval === "true") {
      return true;
    }
    if (_lval === "false") {
      return false;
    }
    if (_lval === "undefined") {
      return void 0;
    }
    if (_lval === "null") {
      return null;
    }
    if (_lval === "nan") {
      return Number.NaN;
    }
    if (_lval === "infinity") {
      return Number.POSITIVE_INFINITY;
    }
    if (_lval === "-infinity") {
      return Number.NEGATIVE_INFINITY;
    }
  }
  if (!JsonSigRx.test(value2)) {
    if (options.strict) {
      throw new SyntaxError("[destr] Invalid JSON");
    }
    return value2;
  }
  try {
    if (suspectProtoRx.test(value2) || suspectConstructorRx.test(value2)) {
      if (options.strict) {
        throw new Error("[destr] Possible prototype pollution");
      }
      return JSON.parse(value2, jsonParseTransform);
    }
    return JSON.parse(value2);
  } catch (error) {
    if (options.strict) {
      throw error;
    }
    return value2;
  }
}
function get(obj, path) {
  if (obj == null)
    return void 0;
  let value2 = obj;
  for (let i = 0; i < path.length; i++) {
    if (value2 == null || value2[path[i]] == null)
      return void 0;
    value2 = value2[path[i]];
  }
  return value2;
}
function set(obj, value2, path) {
  if (path.length === 0)
    return value2;
  const idx = path[0];
  if (path.length > 1) {
    value2 = set(
      typeof obj !== "object" || obj === null || !Object.prototype.hasOwnProperty.call(obj, idx) ? Number.isInteger(Number(path[1])) ? [] : {} : obj[idx],
      value2,
      Array.prototype.slice.call(path, 1)
    );
  }
  if (Number.isInteger(Number(idx)) && Array.isArray(obj))
    return obj.slice()[idx];
  return Object.assign({}, obj, { [idx]: value2 });
}
function unset(obj, path) {
  if (obj == null || path.length === 0)
    return obj;
  if (path.length === 1) {
    if (obj == null)
      return obj;
    if (Number.isInteger(path[0]) && Array.isArray(obj))
      return Array.prototype.slice.call(obj, 0).splice(path[0], 1);
    const result = {};
    for (const p2 in obj)
      result[p2] = obj[p2];
    delete result[path[0]];
    return result;
  }
  if (obj[path[0]] == null) {
    if (Number.isInteger(path[0]) && Array.isArray(obj))
      return Array.prototype.concat.call([], obj);
    const result = {};
    for (const p2 in obj)
      result[p2] = obj[p2];
    return result;
  }
  return set(
    obj,
    unset(
      obj[path[0]],
      Array.prototype.slice.call(path, 1)
    ),
    [path[0]]
  );
}
function deepPickUnsafe(obj, paths) {
  return paths.map((p2) => p2.split(".")).map((p2) => [p2, get(obj, p2)]).filter((t2) => t2[1] !== void 0).reduce((acc, cur) => set(acc, cur[1], cur[0]), {});
}
function deepOmitUnsafe(obj, paths) {
  return paths.map((p2) => p2.split(".")).reduce((acc, cur) => unset(acc, cur), obj);
}
function hydrateStore(store, {
  storage,
  serializer,
  key,
  debug,
  pick,
  omit,
  beforeHydrate,
  afterHydrate
}, context, runHooks = true) {
  try {
    if (runHooks)
      beforeHydrate == null ? void 0 : beforeHydrate(context);
    const fromStorage = storage.getItem(key);
    if (fromStorage) {
      const deserialized = serializer.deserialize(fromStorage);
      const picked = pick ? deepPickUnsafe(deserialized, pick) : deserialized;
      const omitted = omit ? deepOmitUnsafe(picked, omit) : picked;
      store.$patch(omitted);
    }
    if (runHooks)
      afterHydrate == null ? void 0 : afterHydrate(context);
  } catch (error) {
    if (debug)
      console.error("[pinia-plugin-persistedstate]", error);
  }
}
function persistState(state, {
  storage,
  serializer,
  key,
  debug,
  pick,
  omit
}) {
  try {
    const picked = pick ? deepPickUnsafe(state, pick) : state;
    const omitted = omit ? deepOmitUnsafe(picked, omit) : picked;
    const toStorage = serializer.serialize(omitted);
    storage.setItem(key, toStorage);
  } catch (error) {
    if (debug)
      console.error("[pinia-plugin-persistedstate]", error);
  }
}
function createPersistence(context, optionsParser, auto) {
  const { pinia: pinia2, store, options: { persist = auto } } = context;
  if (!persist)
    return;
  if (!(store.$id in pinia2.state.value)) {
    const originalStore = pinia2._s.get(store.$id.replace("__hot:", ""));
    if (originalStore)
      Promise.resolve().then(() => originalStore.$persist());
    return;
  }
  const persistenceOptions = Array.isArray(persist) ? persist : persist === true ? [{}] : [persist];
  const persistences = persistenceOptions.map(optionsParser);
  store.$hydrate = ({ runHooks = true } = {}) => {
    persistences.forEach((p2) => {
      hydrateStore(store, p2, context, runHooks);
    });
  };
  store.$persist = () => {
    persistences.forEach((p2) => {
      persistState(store.$state, p2);
    });
  };
  persistences.forEach((p2) => {
    hydrateStore(store, p2, context);
    store.$subscribe(
      (_mutation, state) => persistState(state, p2),
      { detached: true }
    );
  });
}
function createPersistedState(options = {}) {
  return function(context) {
    createPersistence(
      context,
      (p2) => ({
        key: (options.key ? options.key : (x2) => x2)(p2.key ?? context.store.$id),
        debug: p2.debug ?? options.debug ?? false,
        serializer: p2.serializer ?? options.serializer ?? {
          serialize: (data6) => JSON.stringify(data6),
          deserialize: (data6) => destr(data6)
        },
        storage: p2.storage ?? options.storage ?? window.localStorage,
        beforeHydrate: p2.beforeHydrate,
        afterHydrate: p2.afterHydrate,
        pick: p2.pick,
        omit: p2.omit
      }),
      options.auto ?? false
    );
  };
}
var src_default = createPersistedState();
function hasClass(element, className) {
  if (element) {
    if (element.classList) return element.classList.contains(className);
    else return new RegExp("(^| )" + className + "( |$)", "gi").test(element.className);
  }
  return false;
}
function addClass(element, className) {
  if (element && className) {
    const fn = (_className) => {
      if (!hasClass(element, _className)) {
        if (element.classList) element.classList.add(_className);
        else element.className += " " + _className;
      }
    };
    [className].flat().filter(Boolean).forEach((_classNames) => _classNames.split(" ").forEach(fn));
  }
}
function calculateBodyScrollbarWidth() {
  return window.innerWidth - document.documentElement.offsetWidth;
}
function getCSSVariableByRegex(variableRegex) {
  for (const sheet of document == null ? void 0 : document.styleSheets) {
    try {
      for (const rule of sheet == null ? void 0 : sheet.cssRules) {
        for (const property of rule == null ? void 0 : rule.style) {
          if (variableRegex.test(property)) {
            return { name: property, value: rule.style.getPropertyValue(property).trim() };
          }
        }
      }
    } catch (e) {
    }
  }
  return null;
}
function blockBodyScroll(className = "p-overflow-hidden") {
  const variableData = getCSSVariableByRegex(/-scrollbar-width$/);
  (variableData == null ? void 0 : variableData.name) && document.body.style.setProperty(variableData.name, calculateBodyScrollbarWidth() + "px");
  addClass(document.body, className);
}
function removeClass(element, className) {
  if (element && className) {
    const fn = (_className) => {
      if (element.classList) element.classList.remove(_className);
      else element.className = element.className.replace(new RegExp("(^|\\b)" + _className.split(" ").join("|") + "(\\b|$)", "gi"), " ");
    };
    [className].flat().filter(Boolean).forEach((_classNames) => _classNames.split(" ").forEach(fn));
  }
}
function unblockBodyScroll(className = "p-overflow-hidden") {
  const variableData = getCSSVariableByRegex(/-scrollbar-width$/);
  (variableData == null ? void 0 : variableData.name) && document.body.style.removeProperty(variableData.name);
  removeClass(document.body, className);
}
function getHiddenElementDimensions(element) {
  let dimensions = { width: 0, height: 0 };
  if (element) {
    element.style.visibility = "hidden";
    element.style.display = "block";
    dimensions.width = element.offsetWidth;
    dimensions.height = element.offsetHeight;
    element.style.display = "none";
    element.style.visibility = "visible";
  }
  return dimensions;
}
function getViewport() {
  let win = window, d = document, e = d.documentElement, g2 = d.getElementsByTagName("body")[0], w2 = win.innerWidth || e.clientWidth || g2.clientWidth, h2 = win.innerHeight || e.clientHeight || g2.clientHeight;
  return { width: w2, height: h2 };
}
function getWindowScrollLeft() {
  let doc2 = document.documentElement;
  return (window.pageXOffset || doc2.scrollLeft) - (doc2.clientLeft || 0);
}
function getWindowScrollTop() {
  let doc2 = document.documentElement;
  return (window.pageYOffset || doc2.scrollTop) - (doc2.clientTop || 0);
}
function absolutePosition(element, target, gutter = true) {
  var _a, _b, _c, _d;
  if (element) {
    const elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : getHiddenElementDimensions(element);
    const elementOuterHeight = elementDimensions.height;
    const elementOuterWidth = elementDimensions.width;
    const targetOuterHeight = target.offsetHeight;
    const targetOuterWidth = target.offsetWidth;
    const targetOffset = target.getBoundingClientRect();
    const windowScrollTop = getWindowScrollTop();
    const windowScrollLeft = getWindowScrollLeft();
    const viewport = getViewport();
    let top, left, origin2 = "top";
    if (targetOffset.top + targetOuterHeight + elementOuterHeight > viewport.height) {
      top = targetOffset.top + windowScrollTop - elementOuterHeight;
      origin2 = "bottom";
      if (top < 0) {
        top = windowScrollTop;
      }
    } else {
      top = targetOuterHeight + targetOffset.top + windowScrollTop;
    }
    if (targetOffset.left + elementOuterWidth > viewport.width) left = Math.max(0, targetOffset.left + windowScrollLeft + targetOuterWidth - elementOuterWidth);
    else left = targetOffset.left + windowScrollLeft;
    element.style.top = top + "px";
    element.style.left = left + "px";
    element.style.transformOrigin = origin2;
    gutter && (element.style.marginTop = origin2 === "bottom" ? `calc(${(_b = (_a = getCSSVariableByRegex(/-anchor-gutter$/)) == null ? void 0 : _a.value) != null ? _b : "2px"} * -1)` : (_d = (_c = getCSSVariableByRegex(/-anchor-gutter$/)) == null ? void 0 : _c.value) != null ? _d : "");
  }
}
function addStyle(element, style) {
  if (element) {
    if (typeof style === "string") {
      element.style.cssText = style;
    } else {
      Object.entries(style).forEach(([key, value2]) => element.style[key] = value2);
    }
  }
}
function getOuterWidth(element, margin) {
  if (element instanceof HTMLElement) {
    let width = element.offsetWidth;
    return width;
  }
  return 0;
}
function isElement(element) {
  return typeof HTMLElement === "object" ? element instanceof HTMLElement : element && typeof element === "object" && element !== null && element.nodeType === 1 && typeof element.nodeName === "string";
}
function setAttributes(element, attributes = {}) {
  if (isElement(element)) {
    const computedStyles = (rule, value2) => {
      var _a, _b;
      const styles2 = ((_a = element == null ? void 0 : element.$attrs) == null ? void 0 : _a[rule]) ? [(_b = element == null ? void 0 : element.$attrs) == null ? void 0 : _b[rule]] : [];
      return [value2].flat().reduce((cv, v) => {
        if (v !== null && v !== void 0) {
          const type = typeof v;
          if (type === "string" || type === "number") {
            cv.push(v);
          } else if (type === "object") {
            const _cv = Array.isArray(v) ? computedStyles(rule, v) : Object.entries(v).map(([_k, _v]) => rule === "style" && (!!_v || _v === 0) ? `${_k.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}:${_v}` : !!_v ? _k : void 0);
            cv = _cv.length ? cv.concat(_cv.filter((c) => !!c)) : cv;
          }
        }
        return cv;
      }, styles2);
    };
    Object.entries(attributes).forEach(([key, value2]) => {
      if (value2 !== void 0 && value2 !== null) {
        const matchedEvent = key.match(/^on(.+)/);
        if (matchedEvent) {
          element.addEventListener(matchedEvent[1].toLowerCase(), value2);
        } else if (key === "p-bind" || key === "pBind") {
          setAttributes(element, value2);
        } else {
          value2 = key === "class" ? [...new Set(computedStyles("class", value2))].join(" ").trim() : key === "style" ? computedStyles("style", value2).join(";").trim() : value2;
          (element.$attrs = element.$attrs || {}) && (element.$attrs[key] = value2);
          element.setAttribute(key, value2);
        }
      }
    });
  }
}
function createElement$1(type, attributes = {}, ...children) {
  if (type) {
    const element = document.createElement(type);
    setAttributes(element, attributes);
    element.append(...children);
    return element;
  }
  return void 0;
}
function fadeIn(element, duration) {
  if (element) {
    element.style.opacity = "0";
    let last = +/* @__PURE__ */ new Date();
    let opacity = "0";
    let tick = function() {
      opacity = `${+element.style.opacity + ((/* @__PURE__ */ new Date()).getTime() - last) / duration}`;
      element.style.opacity = opacity;
      last = +/* @__PURE__ */ new Date();
      if (+opacity < 1) {
        !!window.requestAnimationFrame && requestAnimationFrame(tick) || setTimeout(tick, 16);
      }
    };
    tick();
  }
}
function find(element, selector) {
  return isElement(element) ? Array.from(element.querySelectorAll(selector)) : [];
}
function findSingle(element, selector) {
  return isElement(element) ? element.matches(selector) ? element : element.querySelector(selector) : null;
}
function focus(element, options) {
  element && document.activeElement !== element && element.focus(options);
}
function getAttribute(element, name) {
  if (isElement(element)) {
    const value2 = element.getAttribute(name);
    if (!isNaN(value2)) {
      return +value2;
    }
    if (value2 === "true" || value2 === "false") {
      return value2 === "true";
    }
    return value2;
  }
  return void 0;
}
function getFocusableElements(element, selector = "") {
  let focusableElements = find(
    element,
    `button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
            [href][clientHeight][clientWidth]:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
            input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
            select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
            textarea:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
            [tabIndex]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
            [contenteditable]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}`
  );
  let visibleFocusableElements = [];
  for (let focusableElement of focusableElements) {
    if (getComputedStyle(focusableElement).display != "none" && getComputedStyle(focusableElement).visibility != "hidden") visibleFocusableElements.push(focusableElement);
  }
  return visibleFocusableElements;
}
function getFirstFocusableElement(element, selector) {
  const focusableElements = getFocusableElements(element, selector);
  return focusableElements.length > 0 ? focusableElements[0] : null;
}
function getHeight(element) {
  if (element) {
    let height = element.offsetHeight;
    let style = getComputedStyle(element);
    height -= parseFloat(style.paddingTop) + parseFloat(style.paddingBottom) + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);
    return height;
  }
  return 0;
}
function getParentNode(element) {
  if (element) {
    let parent = element.parentNode;
    if (parent && parent instanceof ShadowRoot && parent.host) {
      parent = parent.host;
    }
    return parent;
  }
  return null;
}
function getLastFocusableElement(element, selector) {
  const focusableElements = getFocusableElements(element, selector);
  return focusableElements.length > 0 ? focusableElements[focusableElements.length - 1] : null;
}
function getOffset(element) {
  if (element) {
    let rect = element.getBoundingClientRect();
    return {
      top: rect.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0),
      left: rect.left + (window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0)
    };
  }
  return {
    top: "auto",
    left: "auto"
  };
}
function getOuterHeight(element, margin) {
  if (element) {
    let height = element.offsetHeight;
    return height;
  }
  return 0;
}
function getParents(element, parents = []) {
  const parent = getParentNode(element);
  return parent === null ? parents : getParents(parent, parents.concat([parent]));
}
function getScrollableParents(element) {
  let scrollableParents = [];
  if (element) {
    let parents = getParents(element);
    const overflowRegex = /(auto|scroll)/;
    const overflowCheck = (node) => {
      try {
        let styleDeclaration = window["getComputedStyle"](node, null);
        return overflowRegex.test(styleDeclaration.getPropertyValue("overflow")) || overflowRegex.test(styleDeclaration.getPropertyValue("overflowX")) || overflowRegex.test(styleDeclaration.getPropertyValue("overflowY"));
      } catch (err) {
        return false;
      }
    };
    for (let parent of parents) {
      let scrollSelectors = parent.nodeType === 1 && parent.dataset["scrollselectors"];
      if (scrollSelectors) {
        let selectors = scrollSelectors.split(",");
        for (let selector of selectors) {
          let el = findSingle(parent, selector);
          if (el && overflowCheck(el)) {
            scrollableParents.push(el);
          }
        }
      }
      if (parent.nodeType !== 9 && overflowCheck(parent)) {
        scrollableParents.push(parent);
      }
    }
  }
  return scrollableParents;
}
function isExist(element) {
  return !!(element !== null && typeof element !== "undefined" && element.nodeName && getParentNode(element));
}
function getWidth(element) {
  if (element) {
    let width = element.offsetWidth;
    let style = getComputedStyle(element);
    width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight) + parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth);
    return width;
  }
  return 0;
}
function isAttributeEquals(element, name, value2) {
  return isElement(element) ? getAttribute(element, name) === value2 : false;
}
function isClient() {
  return !!(typeof window !== "undefined" && window.document && window.document.createElement);
}
function isFocusableElement(element, selector = "") {
  return isElement(element) ? element.matches(`button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
            [href][clientHeight][clientWidth]:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
            input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
            select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
            textarea:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
            [tabIndex]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
            [contenteditable]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}`) : false;
}
function isRTL(element) {
  return element ? getComputedStyle(element).direction === "rtl" : false;
}
function isTouchDevice() {
  return "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
}
function setAttribute(element, attribute = "", value2) {
  if (isElement(element) && value2 !== null && value2 !== void 0) {
    element.setAttribute(attribute, value2);
  }
}
var lastIds = {};
function uuid(prefix = "pui_id_") {
  if (!lastIds.hasOwnProperty(prefix)) {
    lastIds[prefix] = 0;
  }
  lastIds[prefix]++;
  return `${prefix}${lastIds[prefix]}`;
}
function handler() {
  let zIndexes = [];
  const generateZIndex = (key, autoZIndex, baseZIndex = 999) => {
    const lastZIndex = getLastZIndex(key, autoZIndex, baseZIndex);
    const newZIndex = lastZIndex.value + (lastZIndex.key === key ? 0 : baseZIndex) + 1;
    zIndexes.push({ key, value: newZIndex });
    return newZIndex;
  };
  const revertZIndex = (zIndex) => {
    zIndexes = zIndexes.filter((obj) => obj.value !== zIndex);
  };
  const getCurrentZIndex = (key, autoZIndex) => {
    return getLastZIndex(key).value;
  };
  const getLastZIndex = (key, autoZIndex, baseZIndex = 0) => {
    return [...zIndexes].reverse().find((obj) => true) || { key, value: baseZIndex };
  };
  const getZIndex = (element) => {
    return element ? parseInt(element.style.zIndex, 10) || 0 : 0;
  };
  return {
    get: getZIndex,
    set: (key, element, baseZIndex) => {
      if (element) {
        element.style.zIndex = String(generateZIndex(key, true, baseZIndex));
      }
    },
    clear: (element) => {
      if (element) {
        revertZIndex(getZIndex(element));
        element.style.zIndex = "";
      }
    },
    getCurrent: (key) => getCurrentZIndex(key)
  };
}
var ZIndex = handler();
var FilterMatchMode = {
  STARTS_WITH: "startsWith",
  CONTAINS: "contains",
  NOT_CONTAINS: "notContains",
  ENDS_WITH: "endsWith",
  EQUALS: "equals",
  NOT_EQUALS: "notEquals",
  IN: "in",
  LESS_THAN: "lt",
  LESS_THAN_OR_EQUAL_TO: "lte",
  GREATER_THAN: "gt",
  GREATER_THAN_OR_EQUAL_TO: "gte",
  BETWEEN: "between",
  DATE_IS: "dateIs",
  DATE_IS_NOT: "dateIsNot",
  DATE_BEFORE: "dateBefore",
  DATE_AFTER: "dateAfter"
};
function _typeof$b(o2) {
  "@babel/helpers - typeof";
  return _typeof$b = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) {
    return typeof o3;
  } : function(o3) {
    return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3;
  }, _typeof$b(o2);
}
function ownKeys$9(e, r2) {
  var t2 = Object.keys(e);
  if (Object.getOwnPropertySymbols) {
    var o2 = Object.getOwnPropertySymbols(e);
    r2 && (o2 = o2.filter(function(r3) {
      return Object.getOwnPropertyDescriptor(e, r3).enumerable;
    })), t2.push.apply(t2, o2);
  }
  return t2;
}
function _objectSpread$7(e) {
  for (var r2 = 1; r2 < arguments.length; r2++) {
    var t2 = null != arguments[r2] ? arguments[r2] : {};
    r2 % 2 ? ownKeys$9(Object(t2), true).forEach(function(r3) {
      _defineProperty$c(e, r3, t2[r3]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$9(Object(t2)).forEach(function(r3) {
      Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));
    });
  }
  return e;
}
function _defineProperty$c(e, r2, t2) {
  return (r2 = _toPropertyKey$c(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;
}
function _toPropertyKey$c(t2) {
  var i = _toPrimitive$c(t2, "string");
  return "symbol" == _typeof$b(i) ? i : i + "";
}
function _toPrimitive$c(t2, r2) {
  if ("object" != _typeof$b(t2) || !t2) return t2;
  var e = t2[Symbol.toPrimitive];
  if (void 0 !== e) {
    var i = e.call(t2, r2 || "default");
    if ("object" != _typeof$b(i)) return i;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return ("string" === r2 ? String : Number)(t2);
}
function tryOnMounted(fn) {
  var sync = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
  if (getCurrentInstance()) onMounted(fn);
  else if (sync) fn();
  else nextTick(fn);
}
var _id = 0;
function useStyle(css3) {
  var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
  var isLoaded = ref(false);
  var cssRef = ref(css3);
  var styleRef = ref(null);
  var defaultDocument = isClient() ? window.document : void 0;
  var _options$document = options.document, document2 = _options$document === void 0 ? defaultDocument : _options$document, _options$immediate = options.immediate, immediate = _options$immediate === void 0 ? true : _options$immediate, _options$manual = options.manual, manual = _options$manual === void 0 ? false : _options$manual, _options$name = options.name, name = _options$name === void 0 ? "style_".concat(++_id) : _options$name, _options$id = options.id, id3 = _options$id === void 0 ? void 0 : _options$id, _options$media = options.media, media = _options$media === void 0 ? void 0 : _options$media, _options$nonce = options.nonce, nonce = _options$nonce === void 0 ? void 0 : _options$nonce, _options$first = options.first, first = _options$first === void 0 ? false : _options$first, _options$onMounted = options.onMounted, onStyleMounted = _options$onMounted === void 0 ? void 0 : _options$onMounted, _options$onUpdated = options.onUpdated, onStyleUpdated = _options$onUpdated === void 0 ? void 0 : _options$onUpdated, _options$onLoad = options.onLoad, onStyleLoaded = _options$onLoad === void 0 ? void 0 : _options$onLoad, _options$props = options.props, props = _options$props === void 0 ? {} : _options$props;
  var stop = function stop2() {
  };
  var load2 = function load3(_css) {
    var _props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    if (!document2) return;
    var _styleProps = _objectSpread$7(_objectSpread$7({}, props), _props);
    var _name = _styleProps.name || name, _id2 = _styleProps.id || id3, _nonce = _styleProps.nonce || nonce;
    styleRef.value = document2.querySelector('style[data-primevue-style-id="'.concat(_name, '"]')) || document2.getElementById(_id2) || document2.createElement("style");
    if (!styleRef.value.isConnected) {
      cssRef.value = _css || css3;
      setAttributes(styleRef.value, {
        type: "text/css",
        id: _id2,
        media,
        nonce: _nonce
      });
      first ? document2.head.prepend(styleRef.value) : document2.head.appendChild(styleRef.value);
      setAttribute(styleRef.value, "data-primevue-style-id", _name);
      setAttributes(styleRef.value, _styleProps);
      styleRef.value.onload = function(event) {
        return onStyleLoaded === null || onStyleLoaded === void 0 ? void 0 : onStyleLoaded(event, {
          name: _name
        });
      };
      onStyleMounted === null || onStyleMounted === void 0 || onStyleMounted(_name);
    }
    if (isLoaded.value) return;
    stop = watch(cssRef, function(value2) {
      styleRef.value.textContent = value2;
      onStyleUpdated === null || onStyleUpdated === void 0 || onStyleUpdated(_name);
    }, {
      immediate: true
    });
    isLoaded.value = true;
  };
  var unload = function unload2() {
    if (!document2 || !isLoaded.value) return;
    stop();
    isExist(styleRef.value) && document2.head.removeChild(styleRef.value);
    isLoaded.value = false;
  };
  if (immediate && !manual) tryOnMounted(load2);
  return {
    id: id3,
    name,
    el: styleRef,
    css: cssRef,
    unload,
    load: load2,
    isLoaded: readonly(isLoaded)
  };
}
function _typeof$a(o2) {
  "@babel/helpers - typeof";
  return _typeof$a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) {
    return typeof o3;
  } : function(o3) {
    return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3;
  }, _typeof$a(o2);
}
function _slicedToArray$3(r2, e) {
  return _arrayWithHoles$3(r2) || _iterableToArrayLimit$3(r2, e) || _unsupportedIterableToArray$4(r2, e) || _nonIterableRest$3();
}
function _nonIterableRest$3() {
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _unsupportedIterableToArray$4(r2, a) {
  if (r2) {
    if ("string" == typeof r2) return _arrayLikeToArray$4(r2, a);
    var t2 = {}.toString.call(r2).slice(8, -1);
    return "Object" === t2 && r2.constructor && (t2 = r2.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r2) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$4(r2, a) : void 0;
  }
}
function _arrayLikeToArray$4(r2, a) {
  (null == a || a > r2.length) && (a = r2.length);
  for (var e = 0, n = Array(a); e < a; e++) n[e] = r2[e];
  return n;
}
function _iterableToArrayLimit$3(r2, l) {
  var t2 = null == r2 ? null : "undefined" != typeof Symbol && r2[Symbol.iterator] || r2["@@iterator"];
  if (null != t2) {
    var e, n, i, u, a = [], f = true, o2 = false;
    try {
      if (i = (t2 = t2.call(r2)).next, 0 === l) ;
      else for (; !(f = (e = i.call(t2)).done) && (a.push(e.value), a.length !== l); f = true) ;
    } catch (r3) {
      o2 = true, n = r3;
    } finally {
      try {
        if (!f && null != t2["return"] && (u = t2["return"](), Object(u) !== u)) return;
      } finally {
        if (o2) throw n;
      }
    }
    return a;
  }
}
function _arrayWithHoles$3(r2) {
  if (Array.isArray(r2)) return r2;
}
function ownKeys$8(e, r2) {
  var t2 = Object.keys(e);
  if (Object.getOwnPropertySymbols) {
    var o2 = Object.getOwnPropertySymbols(e);
    r2 && (o2 = o2.filter(function(r3) {
      return Object.getOwnPropertyDescriptor(e, r3).enumerable;
    })), t2.push.apply(t2, o2);
  }
  return t2;
}
function _objectSpread$6(e) {
  for (var r2 = 1; r2 < arguments.length; r2++) {
    var t2 = null != arguments[r2] ? arguments[r2] : {};
    r2 % 2 ? ownKeys$8(Object(t2), true).forEach(function(r3) {
      _defineProperty$b(e, r3, t2[r3]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$8(Object(t2)).forEach(function(r3) {
      Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));
    });
  }
  return e;
}
function _defineProperty$b(e, r2, t2) {
  return (r2 = _toPropertyKey$b(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;
}
function _toPropertyKey$b(t2) {
  var i = _toPrimitive$b(t2, "string");
  return "symbol" == _typeof$a(i) ? i : i + "";
}
function _toPrimitive$b(t2, r2) {
  if ("object" != _typeof$a(t2) || !t2) return t2;
  var e = t2[Symbol.toPrimitive];
  if (void 0 !== e) {
    var i = e.call(t2, r2 || "default");
    if ("object" != _typeof$a(i)) return i;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return ("string" === r2 ? String : Number)(t2);
}
var theme$7 = function theme(_ref) {
  var dt2 = _ref.dt;
  return "\n*,\n::before,\n::after {\n    box-sizing: border-box;\n}\n\n/* Non vue overlay animations */\n.p-connected-overlay {\n    opacity: 0;\n    transform: scaleY(0.8);\n    transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1),\n        opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n}\n\n.p-connected-overlay-visible {\n    opacity: 1;\n    transform: scaleY(1);\n}\n\n.p-connected-overlay-hidden {\n    opacity: 0;\n    transform: scaleY(1);\n    transition: opacity 0.1s linear;\n}\n\n/* Vue based overlay animations */\n.p-connected-overlay-enter-from {\n    opacity: 0;\n    transform: scaleY(0.8);\n}\n\n.p-connected-overlay-leave-to {\n    opacity: 0;\n}\n\n.p-connected-overlay-enter-active {\n    transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1),\n        opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n}\n\n.p-connected-overlay-leave-active {\n    transition: opacity 0.1s linear;\n}\n\n/* Toggleable Content */\n.p-toggleable-content-enter-from,\n.p-toggleable-content-leave-to {\n    max-height: 0;\n}\n\n.p-toggleable-content-enter-to,\n.p-toggleable-content-leave-from {\n    max-height: 1000px;\n}\n\n.p-toggleable-content-leave-active {\n    overflow: hidden;\n    transition: max-height 0.45s cubic-bezier(0, 1, 0, 1);\n}\n\n.p-toggleable-content-enter-active {\n    overflow: hidden;\n    transition: max-height 1s ease-in-out;\n}\n\n.p-disabled,\n.p-disabled * {\n    cursor: default;\n    pointer-events: none;\n    user-select: none;\n}\n\n.p-disabled,\n.p-component:disabled {\n    opacity: ".concat(dt2("disabled.opacity"), ";\n}\n\n.pi {\n    font-size: ").concat(dt2("icon.size"), ";\n}\n\n.p-icon {\n    width: ").concat(dt2("icon.size"), ";\n    height: ").concat(dt2("icon.size"), ";\n}\n\n.p-overlay-mask {\n    background: ").concat(dt2("mask.background"), ";\n    color: ").concat(dt2("mask.color"), ";\n    position: fixed;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n}\n\n.p-overlay-mask-enter {\n    animation: p-overlay-mask-enter-animation ").concat(dt2("mask.transition.duration"), " forwards;\n}\n\n.p-overlay-mask-leave {\n    animation: p-overlay-mask-leave-animation ").concat(dt2("mask.transition.duration"), " forwards;\n}\n\n@keyframes p-overlay-mask-enter-animation {\n    from {\n        background: transparent;\n    }\n    to {\n        background: ").concat(dt2("mask.background"), ";\n    }\n}\n@keyframes p-overlay-mask-leave-animation {\n    from {\n        background: ").concat(dt2("mask.background"), ";\n    }\n    to {\n        background: transparent;\n    }\n}\n");
};
var css$2 = function css(_ref2) {
  var dt2 = _ref2.dt;
  return "\n.p-hidden-accessible {\n    border: 0;\n    clip: rect(0 0 0 0);\n    height: 1px;\n    margin: -1px;\n    overflow: hidden;\n    padding: 0;\n    position: absolute;\n    width: 1px;\n}\n\n.p-hidden-accessible input,\n.p-hidden-accessible select {\n    transform: scale(0);\n}\n\n.p-overflow-hidden {\n    overflow: hidden;\n    padding-right: ".concat(dt2("scrollbar.width"), ";\n}\n");
};
var classes$b = {};
var inlineStyles = {};
var BaseStyle = {
  name: "base",
  css: css$2,
  theme: theme$7,
  classes: classes$b,
  inlineStyles,
  load: function load(style) {
    var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var transform = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : function(cs) {
      return cs;
    };
    var computedStyle = transform(resolve$1(style, {
      dt
    }));
    return isNotEmpty(computedStyle) ? useStyle(minifyCSS(computedStyle), _objectSpread$6({
      name: this.name
    }, options)) : {};
  },
  loadCSS: function loadCSS() {
    var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    return this.load(this.css, options);
  },
  loadTheme: function loadTheme() {
    var _this = this;
    var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    var style = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
    return this.load(this.theme, options, function() {
      var computedStyle = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
      return config_default.transformCSS(options.name || _this.name, "".concat(computedStyle).concat(style));
    });
  },
  getCommonTheme: function getCommonTheme(params) {
    return config_default.getCommon(this.name, params);
  },
  getComponentTheme: function getComponentTheme(params) {
    return config_default.getComponent(this.name, params);
  },
  getDirectiveTheme: function getDirectiveTheme(params) {
    return config_default.getDirective(this.name, params);
  },
  getPresetTheme: function getPresetTheme(preset, selector, params) {
    return config_default.getCustomPreset(this.name, preset, selector, params);
  },
  getLayerOrderThemeCSS: function getLayerOrderThemeCSS() {
    return config_default.getLayerOrderCSS(this.name);
  },
  getStyleSheet: function getStyleSheet() {
    var extendedCSS = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    if (this.css) {
      var _css = resolve$1(this.css, {
        dt
      }) || "";
      var _style = minifyCSS("".concat(_css).concat(extendedCSS));
      var _props = Object.entries(props).reduce(function(acc, _ref3) {
        var _ref4 = _slicedToArray$3(_ref3, 2), k = _ref4[0], v = _ref4[1];
        return acc.push("".concat(k, '="').concat(v, '"')) && acc;
      }, []).join(" ");
      return isNotEmpty(_style) ? '<style type="text/css" data-primevue-style-id="'.concat(this.name, '" ').concat(_props, ">").concat(_style, "</style>") : "";
    }
    return "";
  },
  getCommonThemeStyleSheet: function getCommonThemeStyleSheet(params) {
    var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    return config_default.getCommonStyleSheet(this.name, params, props);
  },
  getThemeStyleSheet: function getThemeStyleSheet(params) {
    var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var css3 = [config_default.getStyleSheet(this.name, params, props)];
    if (this.theme) {
      var name = this.name === "base" ? "global-style" : "".concat(this.name, "-style");
      var _css = resolve$1(this.theme, {
        dt
      });
      var _style = minifyCSS(config_default.transformCSS(name, _css));
      var _props = Object.entries(props).reduce(function(acc, _ref5) {
        var _ref6 = _slicedToArray$3(_ref5, 2), k = _ref6[0], v = _ref6[1];
        return acc.push("".concat(k, '="').concat(v, '"')) && acc;
      }, []).join(" ");
      isNotEmpty(_style) && css3.push('<style type="text/css" data-primevue-style-id="'.concat(name, '" ').concat(_props, ">").concat(_style, "</style>"));
    }
    return css3.join("");
  },
  extend: function extend(style) {
    return _objectSpread$6(_objectSpread$6({}, this), {}, {
      css: void 0,
      theme: void 0
    }, style);
  }
};
var PrimeVueService = EventBus();
function _typeof$9(o2) {
  "@babel/helpers - typeof";
  return _typeof$9 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) {
    return typeof o3;
  } : function(o3) {
    return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3;
  }, _typeof$9(o2);
}
function ownKeys$7(e, r2) {
  var t2 = Object.keys(e);
  if (Object.getOwnPropertySymbols) {
    var o2 = Object.getOwnPropertySymbols(e);
    r2 && (o2 = o2.filter(function(r3) {
      return Object.getOwnPropertyDescriptor(e, r3).enumerable;
    })), t2.push.apply(t2, o2);
  }
  return t2;
}
function _objectSpread$5(e) {
  for (var r2 = 1; r2 < arguments.length; r2++) {
    var t2 = null != arguments[r2] ? arguments[r2] : {};
    r2 % 2 ? ownKeys$7(Object(t2), true).forEach(function(r3) {
      _defineProperty$a(e, r3, t2[r3]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$7(Object(t2)).forEach(function(r3) {
      Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));
    });
  }
  return e;
}
function _defineProperty$a(e, r2, t2) {
  return (r2 = _toPropertyKey$a(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;
}
function _toPropertyKey$a(t2) {
  var i = _toPrimitive$a(t2, "string");
  return "symbol" == _typeof$9(i) ? i : i + "";
}
function _toPrimitive$a(t2, r2) {
  if ("object" != _typeof$9(t2) || !t2) return t2;
  var e = t2[Symbol.toPrimitive];
  if (void 0 !== e) {
    var i = e.call(t2, r2 || "default");
    if ("object" != _typeof$9(i)) return i;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return ("string" === r2 ? String : Number)(t2);
}
var defaultOptions$1 = {
  ripple: false,
  inputStyle: null,
  inputVariant: null,
  locale: {
    startsWith: "Starts with",
    contains: "Contains",
    notContains: "Not contains",
    endsWith: "Ends with",
    equals: "Equals",
    notEquals: "Not equals",
    noFilter: "No Filter",
    lt: "Less than",
    lte: "Less than or equal to",
    gt: "Greater than",
    gte: "Greater than or equal to",
    dateIs: "Date is",
    dateIsNot: "Date is not",
    dateBefore: "Date is before",
    dateAfter: "Date is after",
    clear: "Clear",
    apply: "Apply",
    matchAll: "Match All",
    matchAny: "Match Any",
    addRule: "Add Rule",
    removeRule: "Remove Rule",
    accept: "Yes",
    reject: "No",
    choose: "Choose",
    upload: "Upload",
    cancel: "Cancel",
    completed: "Completed",
    pending: "Pending",
    fileSizeTypes: ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"],
    dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
    dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
    dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
    monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
    monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
    chooseYear: "Choose Year",
    chooseMonth: "Choose Month",
    chooseDate: "Choose Date",
    prevDecade: "Previous Decade",
    nextDecade: "Next Decade",
    prevYear: "Previous Year",
    nextYear: "Next Year",
    prevMonth: "Previous Month",
    nextMonth: "Next Month",
    prevHour: "Previous Hour",
    nextHour: "Next Hour",
    prevMinute: "Previous Minute",
    nextMinute: "Next Minute",
    prevSecond: "Previous Second",
    nextSecond: "Next Second",
    am: "am",
    pm: "pm",
    today: "Today",
    weekHeader: "Wk",
    firstDayOfWeek: 0,
    showMonthAfterYear: false,
    dateFormat: "mm/dd/yy",
    weak: "Weak",
    medium: "Medium",
    strong: "Strong",
    passwordPrompt: "Enter a password",
    emptyFilterMessage: "No results found",
    searchMessage: "{0} results are available",
    selectionMessage: "{0} items selected",
    emptySelectionMessage: "No selected item",
    emptySearchMessage: "No results found",
    fileChosenMessage: "{0} files",
    noFileChosenMessage: "No file chosen",
    emptyMessage: "No available options",
    aria: {
      trueLabel: "True",
      falseLabel: "False",
      nullLabel: "Not Selected",
      star: "1 star",
      stars: "{star} stars",
      selectAll: "All items selected",
      unselectAll: "All items unselected",
      close: "Close",
      previous: "Previous",
      next: "Next",
      navigation: "Navigation",
      scrollTop: "Scroll Top",
      moveTop: "Move Top",
      moveUp: "Move Up",
      moveDown: "Move Down",
      moveBottom: "Move Bottom",
      moveToTarget: "Move to Target",
      moveToSource: "Move to Source",
      moveAllToTarget: "Move All to Target",
      moveAllToSource: "Move All to Source",
      pageLabel: "Page {page}",
      firstPageLabel: "First Page",
      lastPageLabel: "Last Page",
      nextPageLabel: "Next Page",
      prevPageLabel: "Previous Page",
      rowsPerPageLabel: "Rows per page",
      jumpToPageDropdownLabel: "Jump to Page Dropdown",
      jumpToPageInputLabel: "Jump to Page Input",
      selectRow: "Row Selected",
      unselectRow: "Row Unselected",
      expandRow: "Row Expanded",
      collapseRow: "Row Collapsed",
      showFilterMenu: "Show Filter Menu",
      hideFilterMenu: "Hide Filter Menu",
      filterOperator: "Filter Operator",
      filterConstraint: "Filter Constraint",
      editRow: "Row Edit",
      saveEdit: "Save Edit",
      cancelEdit: "Cancel Edit",
      listView: "List View",
      gridView: "Grid View",
      slide: "Slide",
      slideNumber: "{slideNumber}",
      zoomImage: "Zoom Image",
      zoomIn: "Zoom In",
      zoomOut: "Zoom Out",
      rotateRight: "Rotate Right",
      rotateLeft: "Rotate Left",
      listLabel: "Option List"
    }
  },
  filterMatchModeOptions: {
    text: [FilterMatchMode.STARTS_WITH, FilterMatchMode.CONTAINS, FilterMatchMode.NOT_CONTAINS, FilterMatchMode.ENDS_WITH, FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS],
    numeric: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO],
    date: [FilterMatchMode.DATE_IS, FilterMatchMode.DATE_IS_NOT, FilterMatchMode.DATE_BEFORE, FilterMatchMode.DATE_AFTER]
  },
  zIndex: {
    modal: 1100,
    overlay: 1e3,
    menu: 1e3,
    tooltip: 1100
  },
  theme: void 0,
  unstyled: false,
  pt: void 0,
  ptOptions: {
    mergeSections: true,
    mergeProps: false
  },
  csp: {
    nonce: void 0
  }
};
var PrimeVueSymbol = Symbol();
function setup(app2, options) {
  var PrimeVue2 = {
    config: reactive(options)
  };
  app2.config.globalProperties.$primevue = PrimeVue2;
  app2.provide(PrimeVueSymbol, PrimeVue2);
  clearConfig();
  setupConfig(app2, PrimeVue2);
  return PrimeVue2;
}
var stopWatchers = [];
function clearConfig() {
  service_default.clear();
  stopWatchers.forEach(function(fn) {
    return fn === null || fn === void 0 ? void 0 : fn();
  });
  stopWatchers = [];
}
function setupConfig(app2, PrimeVue2) {
  var isThemeChanged = ref(false);
  var loadCommonTheme = function loadCommonTheme2() {
    var _PrimeVue$config;
    if (((_PrimeVue$config = PrimeVue2.config) === null || _PrimeVue$config === void 0 ? void 0 : _PrimeVue$config.theme) === "none") return;
    if (!config_default.isStyleNameLoaded("common")) {
      var _BaseStyle$getCommonT, _PrimeVue$config2;
      var _ref = ((_BaseStyle$getCommonT = BaseStyle.getCommonTheme) === null || _BaseStyle$getCommonT === void 0 ? void 0 : _BaseStyle$getCommonT.call(BaseStyle)) || {}, primitive = _ref.primitive, semantic = _ref.semantic, global2 = _ref.global, style = _ref.style;
      var styleOptions = {
        nonce: (_PrimeVue$config2 = PrimeVue2.config) === null || _PrimeVue$config2 === void 0 || (_PrimeVue$config2 = _PrimeVue$config2.csp) === null || _PrimeVue$config2 === void 0 ? void 0 : _PrimeVue$config2.nonce
      };
      BaseStyle.load(primitive === null || primitive === void 0 ? void 0 : primitive.css, _objectSpread$5({
        name: "primitive-variables"
      }, styleOptions));
      BaseStyle.load(semantic === null || semantic === void 0 ? void 0 : semantic.css, _objectSpread$5({
        name: "semantic-variables"
      }, styleOptions));
      BaseStyle.load(global2 === null || global2 === void 0 ? void 0 : global2.css, _objectSpread$5({
        name: "global-variables"
      }, styleOptions));
      BaseStyle.loadTheme(_objectSpread$5({
        name: "global-style"
      }, styleOptions), style);
      config_default.setLoadedStyleName("common");
    }
  };
  service_default.on("theme:change", function(newTheme) {
    if (!isThemeChanged.value) {
      app2.config.globalProperties.$primevue.config.theme = newTheme;
      isThemeChanged.value = true;
    }
  });
  var stopConfigWatcher = watch(PrimeVue2.config, function(newValue, oldValue) {
    PrimeVueService.emit("config:change", {
      newValue,
      oldValue
    });
  }, {
    immediate: true,
    deep: true
  });
  var stopRippleWatcher = watch(function() {
    return PrimeVue2.config.ripple;
  }, function(newValue, oldValue) {
    PrimeVueService.emit("config:ripple:change", {
      newValue,
      oldValue
    });
  }, {
    immediate: true,
    deep: true
  });
  var stopThemeWatcher = watch(function() {
    return PrimeVue2.config.theme;
  }, function(newValue, oldValue) {
    if (!isThemeChanged.value) {
      config_default.setTheme(newValue);
    }
    if (!PrimeVue2.config.unstyled) {
      loadCommonTheme();
    }
    isThemeChanged.value = false;
    PrimeVueService.emit("config:theme:change", {
      newValue,
      oldValue
    });
  }, {
    immediate: true,
    deep: false
  });
  var stopUnstyledWatcher = watch(function() {
    return PrimeVue2.config.unstyled;
  }, function(newValue, oldValue) {
    if (!newValue && PrimeVue2.config.theme) {
      loadCommonTheme();
    }
    PrimeVueService.emit("config:unstyled:change", {
      newValue,
      oldValue
    });
  }, {
    immediate: true,
    deep: true
  });
  stopWatchers.push(stopConfigWatcher);
  stopWatchers.push(stopRippleWatcher);
  stopWatchers.push(stopThemeWatcher);
  stopWatchers.push(stopUnstyledWatcher);
}
var PrimeVue = {
  install: function install(app2, options) {
    var configOptions = mergeKeys(defaultOptions$1, options);
    setup(app2, configOptions);
  }
};
function _typeof$1$1(o2) {
  "@babel/helpers - typeof";
  return _typeof$1$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) {
    return typeof o3;
  } : function(o3) {
    return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3;
  }, _typeof$1$1(o2);
}
function _classCallCheck$1(a, n) {
  if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
}
function _defineProperties$1(e, r2) {
  for (var t2 = 0; t2 < r2.length; t2++) {
    var o2 = r2[t2];
    o2.enumerable = o2.enumerable || false, o2.configurable = true, "value" in o2 && (o2.writable = true), Object.defineProperty(e, _toPropertyKey$1$1(o2.key), o2);
  }
}
function _createClass$1(e, r2, t2) {
  return _defineProperties$1(e.prototype, r2), Object.defineProperty(e, "prototype", { writable: false }), e;
}
function _toPropertyKey$1$1(t2) {
  var i = _toPrimitive$1$1(t2, "string");
  return "symbol" == _typeof$1$1(i) ? i : i + "";
}
function _toPrimitive$1$1(t2, r2) {
  if ("object" != _typeof$1$1(t2) || !t2) return t2;
  var e = t2[Symbol.toPrimitive];
  if (void 0 !== e) {
    var i = e.call(t2, r2);
    if ("object" != _typeof$1$1(i)) return i;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return String(t2);
}
var ConnectedOverlayScrollHandler = /* @__PURE__ */ function() {
  function ConnectedOverlayScrollHandler2(element) {
    var listener2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : function() {
    };
    _classCallCheck$1(this, ConnectedOverlayScrollHandler2);
    this.element = element;
    this.listener = listener2;
  }
  return _createClass$1(ConnectedOverlayScrollHandler2, [{
    key: "bindScrollListener",
    value: function bindScrollListener3() {
      this.scrollableParents = getScrollableParents(this.element);
      for (var i = 0; i < this.scrollableParents.length; i++) {
        this.scrollableParents[i].addEventListener("scroll", this.listener);
      }
    }
  }, {
    key: "unbindScrollListener",
    value: function unbindScrollListener3() {
      if (this.scrollableParents) {
        for (var i = 0; i < this.scrollableParents.length; i++) {
          this.scrollableParents[i].removeEventListener("scroll", this.listener);
        }
      }
    }
  }, {
    key: "destroy",
    value: function destroy() {
      this.unbindScrollListener();
      this.element = null;
      this.listener = null;
      this.scrollableParents = null;
    }
  }]);
}();
function UniqueComponentId() {
  var prefix = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "pv_id_";
  return uuid(prefix);
}
var Base = {
  _loadedStyleNames: /* @__PURE__ */ new Set(),
  getLoadedStyleNames: function getLoadedStyleNames() {
    return this._loadedStyleNames;
  },
  isStyleNameLoaded: function isStyleNameLoaded(name) {
    return this._loadedStyleNames.has(name);
  },
  setLoadedStyleName: function setLoadedStyleName(name) {
    this._loadedStyleNames.add(name);
  },
  deleteLoadedStyleName: function deleteLoadedStyleName(name) {
    this._loadedStyleNames["delete"](name);
  },
  clearLoadedStyleNames: function clearLoadedStyleNames() {
    this._loadedStyleNames.clear();
  }
};
function _typeof$8(o2) {
  "@babel/helpers - typeof";
  return _typeof$8 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) {
    return typeof o3;
  } : function(o3) {
    return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3;
  }, _typeof$8(o2);
}
function _slicedToArray$2(r2, e) {
  return _arrayWithHoles$2(r2) || _iterableToArrayLimit$2(r2, e) || _unsupportedIterableToArray$3(r2, e) || _nonIterableRest$2();
}
function _nonIterableRest$2() {
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _unsupportedIterableToArray$3(r2, a) {
  if (r2) {
    if ("string" == typeof r2) return _arrayLikeToArray$3(r2, a);
    var t2 = {}.toString.call(r2).slice(8, -1);
    return "Object" === t2 && r2.constructor && (t2 = r2.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r2) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$3(r2, a) : void 0;
  }
}
function _arrayLikeToArray$3(r2, a) {
  (null == a || a > r2.length) && (a = r2.length);
  for (var e = 0, n = Array(a); e < a; e++) n[e] = r2[e];
  return n;
}
function _iterableToArrayLimit$2(r2, l) {
  var t2 = null == r2 ? null : "undefined" != typeof Symbol && r2[Symbol.iterator] || r2["@@iterator"];
  if (null != t2) {
    var e, n, i, u, a = [], f = true, o2 = false;
    try {
      if (i = (t2 = t2.call(r2)).next, 0 === l) ;
      else for (; !(f = (e = i.call(t2)).done) && (a.push(e.value), a.length !== l); f = true) ;
    } catch (r3) {
      o2 = true, n = r3;
    } finally {
      try {
        if (!f && null != t2["return"] && (u = t2["return"](), Object(u) !== u)) return;
      } finally {
        if (o2) throw n;
      }
    }
    return a;
  }
}
function _arrayWithHoles$2(r2) {
  if (Array.isArray(r2)) return r2;
}
function ownKeys$6(e, r2) {
  var t2 = Object.keys(e);
  if (Object.getOwnPropertySymbols) {
    var o2 = Object.getOwnPropertySymbols(e);
    r2 && (o2 = o2.filter(function(r3) {
      return Object.getOwnPropertyDescriptor(e, r3).enumerable;
    })), t2.push.apply(t2, o2);
  }
  return t2;
}
function _objectSpread$4(e) {
  for (var r2 = 1; r2 < arguments.length; r2++) {
    var t2 = null != arguments[r2] ? arguments[r2] : {};
    r2 % 2 ? ownKeys$6(Object(t2), true).forEach(function(r3) {
      _defineProperty$9(e, r3, t2[r3]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$6(Object(t2)).forEach(function(r3) {
      Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));
    });
  }
  return e;
}
function _defineProperty$9(e, r2, t2) {
  return (r2 = _toPropertyKey$9(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;
}
function _toPropertyKey$9(t2) {
  var i = _toPrimitive$9(t2, "string");
  return "symbol" == _typeof$8(i) ? i : i + "";
}
function _toPrimitive$9(t2, r2) {
  if ("object" != _typeof$8(t2) || !t2) return t2;
  var e = t2[Symbol.toPrimitive];
  if (void 0 !== e) {
    var i = e.call(t2, r2 || "default");
    if ("object" != _typeof$8(i)) return i;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return ("string" === r2 ? String : Number)(t2);
}
var BaseDirective = {
  _getMeta: function _getMeta() {
    return [isObject$2(arguments.length <= 0 ? void 0 : arguments[0]) ? void 0 : arguments.length <= 0 ? void 0 : arguments[0], resolve$1(isObject$2(arguments.length <= 0 ? void 0 : arguments[0]) ? arguments.length <= 0 ? void 0 : arguments[0] : arguments.length <= 1 ? void 0 : arguments[1])];
  },
  _getConfig: function _getConfig(binding, vnode) {
    var _ref, _binding$instance, _vnode$ctx;
    return (_ref = (binding === null || binding === void 0 || (_binding$instance = binding.instance) === null || _binding$instance === void 0 ? void 0 : _binding$instance.$primevue) || (vnode === null || vnode === void 0 || (_vnode$ctx = vnode.ctx) === null || _vnode$ctx === void 0 || (_vnode$ctx = _vnode$ctx.appContext) === null || _vnode$ctx === void 0 || (_vnode$ctx = _vnode$ctx.config) === null || _vnode$ctx === void 0 || (_vnode$ctx = _vnode$ctx.globalProperties) === null || _vnode$ctx === void 0 ? void 0 : _vnode$ctx.$primevue)) === null || _ref === void 0 ? void 0 : _ref.config;
  },
  _getOptionValue: getKeyValue,
  _getPTValue: function _getPTValue() {
    var _instance$binding, _instance$$primevueCo;
    var instance2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    var obj = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var key = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "";
    var params = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
    var searchInDefaultPT = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : true;
    var getValue = function getValue2() {
      var value2 = BaseDirective._getOptionValue.apply(BaseDirective, arguments);
      return isString$2(value2) || isArray$2(value2) ? {
        "class": value2
      } : value2;
    };
    var _ref2 = ((_instance$binding = instance2.binding) === null || _instance$binding === void 0 || (_instance$binding = _instance$binding.value) === null || _instance$binding === void 0 ? void 0 : _instance$binding.ptOptions) || ((_instance$$primevueCo = instance2.$primevueConfig) === null || _instance$$primevueCo === void 0 ? void 0 : _instance$$primevueCo.ptOptions) || {}, _ref2$mergeSections = _ref2.mergeSections, mergeSections = _ref2$mergeSections === void 0 ? true : _ref2$mergeSections, _ref2$mergeProps = _ref2.mergeProps, useMergeProps = _ref2$mergeProps === void 0 ? false : _ref2$mergeProps;
    var global2 = searchInDefaultPT ? BaseDirective._useDefaultPT(instance2, instance2.defaultPT(), getValue, key, params) : void 0;
    var self2 = BaseDirective._usePT(instance2, BaseDirective._getPT(obj, instance2.$name), getValue, key, _objectSpread$4(_objectSpread$4({}, params), {}, {
      global: global2 || {}
    }));
    var datasets = BaseDirective._getPTDatasets(instance2, key);
    return mergeSections || !mergeSections && self2 ? useMergeProps ? BaseDirective._mergeProps(instance2, useMergeProps, global2, self2, datasets) : _objectSpread$4(_objectSpread$4(_objectSpread$4({}, global2), self2), datasets) : _objectSpread$4(_objectSpread$4({}, self2), datasets);
  },
  _getPTDatasets: function _getPTDatasets() {
    var instance2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    var key = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
    var datasetPrefix = "data-pc-";
    return _objectSpread$4(_objectSpread$4({}, key === "root" && _defineProperty$9({}, "".concat(datasetPrefix, "name"), toFlatCase(instance2.$name))), {}, _defineProperty$9({}, "".concat(datasetPrefix, "section"), toFlatCase(key)));
  },
  _getPT: function _getPT(pt2) {
    var key = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
    var callback = arguments.length > 2 ? arguments[2] : void 0;
    var getValue = function getValue2(value2) {
      var _computedValue$_key;
      var computedValue = callback ? callback(value2) : value2;
      var _key = toFlatCase(key);
      return (_computedValue$_key = computedValue === null || computedValue === void 0 ? void 0 : computedValue[_key]) !== null && _computedValue$_key !== void 0 ? _computedValue$_key : computedValue;
    };
    return pt2 !== null && pt2 !== void 0 && pt2.hasOwnProperty("_usept") ? {
      _usept: pt2["_usept"],
      originalValue: getValue(pt2.originalValue),
      value: getValue(pt2.value)
    } : getValue(pt2);
  },
  _usePT: function _usePT() {
    var instance2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    var pt2 = arguments.length > 1 ? arguments[1] : void 0;
    var callback = arguments.length > 2 ? arguments[2] : void 0;
    var key = arguments.length > 3 ? arguments[3] : void 0;
    var params = arguments.length > 4 ? arguments[4] : void 0;
    var fn = function fn2(value3) {
      return callback(value3, key, params);
    };
    if (pt2 !== null && pt2 !== void 0 && pt2.hasOwnProperty("_usept")) {
      var _instance$$primevueCo2;
      var _ref4 = pt2["_usept"] || ((_instance$$primevueCo2 = instance2.$primevueConfig) === null || _instance$$primevueCo2 === void 0 ? void 0 : _instance$$primevueCo2.ptOptions) || {}, _ref4$mergeSections = _ref4.mergeSections, mergeSections = _ref4$mergeSections === void 0 ? true : _ref4$mergeSections, _ref4$mergeProps = _ref4.mergeProps, useMergeProps = _ref4$mergeProps === void 0 ? false : _ref4$mergeProps;
      var originalValue = fn(pt2.originalValue);
      var value2 = fn(pt2.value);
      if (originalValue === void 0 && value2 === void 0) return void 0;
      else if (isString$2(value2)) return value2;
      else if (isString$2(originalValue)) return originalValue;
      return mergeSections || !mergeSections && value2 ? useMergeProps ? BaseDirective._mergeProps(instance2, useMergeProps, originalValue, value2) : _objectSpread$4(_objectSpread$4({}, originalValue), value2) : value2;
    }
    return fn(pt2);
  },
  _useDefaultPT: function _useDefaultPT() {
    var instance2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    var defaultPT2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var callback = arguments.length > 2 ? arguments[2] : void 0;
    var key = arguments.length > 3 ? arguments[3] : void 0;
    var params = arguments.length > 4 ? arguments[4] : void 0;
    return BaseDirective._usePT(instance2, defaultPT2, callback, key, params);
  },
  _loadStyles: function _loadStyles(el, binding, vnode) {
    var _config$csp;
    var config2 = BaseDirective._getConfig(binding, vnode);
    var useStyleOptions = {
      nonce: config2 === null || config2 === void 0 || (_config$csp = config2.csp) === null || _config$csp === void 0 ? void 0 : _config$csp.nonce
    };
    BaseDirective._loadCoreStyles(el.$instance, useStyleOptions);
    BaseDirective._loadThemeStyles(el.$instance, useStyleOptions);
    BaseDirective._loadScopedThemeStyles(el.$instance, useStyleOptions);
    BaseDirective._themeChangeListener(function() {
      return BaseDirective._loadThemeStyles(el.$instance, useStyleOptions);
    });
  },
  _loadCoreStyles: function _loadCoreStyles() {
    var _instance$$style, _instance$$style2;
    var instance2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    var useStyleOptions = arguments.length > 1 ? arguments[1] : void 0;
    if (!Base.isStyleNameLoaded((_instance$$style = instance2.$style) === null || _instance$$style === void 0 ? void 0 : _instance$$style.name) && (_instance$$style2 = instance2.$style) !== null && _instance$$style2 !== void 0 && _instance$$style2.name) {
      var _instance$$style3;
      BaseStyle.loadCSS(useStyleOptions);
      (_instance$$style3 = instance2.$style) === null || _instance$$style3 === void 0 || _instance$$style3.loadCSS(useStyleOptions);
      Base.setLoadedStyleName(instance2.$style.name);
    }
  },
  _loadThemeStyles: function _loadThemeStyles() {
    var _instance$theme, _instance$$style5, _instance$$style6;
    var instance2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    var useStyleOptions = arguments.length > 1 ? arguments[1] : void 0;
    if (instance2 !== null && instance2 !== void 0 && instance2.isUnstyled() || (instance2 === null || instance2 === void 0 || (_instance$theme = instance2.theme) === null || _instance$theme === void 0 ? void 0 : _instance$theme.call(instance2)) === "none") return;
    if (!config_default.isStyleNameLoaded("common")) {
      var _instance$$style4, _instance$$style4$get;
      var _ref5 = ((_instance$$style4 = instance2.$style) === null || _instance$$style4 === void 0 || (_instance$$style4$get = _instance$$style4.getCommonTheme) === null || _instance$$style4$get === void 0 ? void 0 : _instance$$style4$get.call(_instance$$style4)) || {}, primitive = _ref5.primitive, semantic = _ref5.semantic, global2 = _ref5.global, style = _ref5.style;
      BaseStyle.load(primitive === null || primitive === void 0 ? void 0 : primitive.css, _objectSpread$4({
        name: "primitive-variables"
      }, useStyleOptions));
      BaseStyle.load(semantic === null || semantic === void 0 ? void 0 : semantic.css, _objectSpread$4({
        name: "semantic-variables"
      }, useStyleOptions));
      BaseStyle.load(global2 === null || global2 === void 0 ? void 0 : global2.css, _objectSpread$4({
        name: "global-variables"
      }, useStyleOptions));
      BaseStyle.loadTheme(_objectSpread$4({
        name: "global-style"
      }, useStyleOptions), style);
      config_default.setLoadedStyleName("common");
    }
    if (!config_default.isStyleNameLoaded((_instance$$style5 = instance2.$style) === null || _instance$$style5 === void 0 ? void 0 : _instance$$style5.name) && (_instance$$style6 = instance2.$style) !== null && _instance$$style6 !== void 0 && _instance$$style6.name) {
      var _instance$$style7, _instance$$style7$get, _instance$$style8, _instance$$style9;
      var _ref6 = ((_instance$$style7 = instance2.$style) === null || _instance$$style7 === void 0 || (_instance$$style7$get = _instance$$style7.getDirectiveTheme) === null || _instance$$style7$get === void 0 ? void 0 : _instance$$style7$get.call(_instance$$style7)) || {}, css3 = _ref6.css, _style = _ref6.style;
      (_instance$$style8 = instance2.$style) === null || _instance$$style8 === void 0 || _instance$$style8.load(css3, _objectSpread$4({
        name: "".concat(instance2.$style.name, "-variables")
      }, useStyleOptions));
      (_instance$$style9 = instance2.$style) === null || _instance$$style9 === void 0 || _instance$$style9.loadTheme(_objectSpread$4({
        name: "".concat(instance2.$style.name, "-style")
      }, useStyleOptions), _style);
      config_default.setLoadedStyleName(instance2.$style.name);
    }
    if (!config_default.isStyleNameLoaded("layer-order")) {
      var _instance$$style10, _instance$$style10$ge;
      var layerOrder = (_instance$$style10 = instance2.$style) === null || _instance$$style10 === void 0 || (_instance$$style10$ge = _instance$$style10.getLayerOrderThemeCSS) === null || _instance$$style10$ge === void 0 ? void 0 : _instance$$style10$ge.call(_instance$$style10);
      BaseStyle.load(layerOrder, _objectSpread$4({
        name: "layer-order",
        first: true
      }, useStyleOptions));
      config_default.setLoadedStyleName("layer-order");
    }
  },
  _loadScopedThemeStyles: function _loadScopedThemeStyles() {
    var instance2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    var useStyleOptions = arguments.length > 1 ? arguments[1] : void 0;
    var preset = instance2.preset();
    if (preset && instance2.$attrSelector) {
      var _instance$$style11, _instance$$style11$ge, _instance$$style12;
      var _ref7 = ((_instance$$style11 = instance2.$style) === null || _instance$$style11 === void 0 || (_instance$$style11$ge = _instance$$style11.getPresetTheme) === null || _instance$$style11$ge === void 0 ? void 0 : _instance$$style11$ge.call(_instance$$style11, preset, "[".concat(instance2.$attrSelector, "]"))) || {}, css3 = _ref7.css;
      var scopedStyle = (_instance$$style12 = instance2.$style) === null || _instance$$style12 === void 0 ? void 0 : _instance$$style12.load(css3, _objectSpread$4({
        name: "".concat(instance2.$attrSelector, "-").concat(instance2.$style.name)
      }, useStyleOptions));
      instance2.scopedStyleEl = scopedStyle.el;
    }
  },
  _themeChangeListener: function _themeChangeListener() {
    var callback = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function() {
    };
    Base.clearLoadedStyleNames();
    service_default.on("theme:change", callback);
  },
  _hook: function _hook(directiveName, hookName, el, binding, vnode, prevVnode) {
    var _binding$value, _config$pt;
    var name = "on".concat(toCapitalCase(hookName));
    var config2 = BaseDirective._getConfig(binding, vnode);
    var instance2 = el === null || el === void 0 ? void 0 : el.$instance;
    var selfHook = BaseDirective._usePT(instance2, BaseDirective._getPT(binding === null || binding === void 0 || (_binding$value = binding.value) === null || _binding$value === void 0 ? void 0 : _binding$value.pt, directiveName), BaseDirective._getOptionValue, "hooks.".concat(name));
    var defaultHook = BaseDirective._useDefaultPT(instance2, config2 === null || config2 === void 0 || (_config$pt = config2.pt) === null || _config$pt === void 0 || (_config$pt = _config$pt.directives) === null || _config$pt === void 0 ? void 0 : _config$pt[directiveName], BaseDirective._getOptionValue, "hooks.".concat(name));
    var options = {
      el,
      binding,
      vnode,
      prevVnode
    };
    selfHook === null || selfHook === void 0 || selfHook(instance2, options);
    defaultHook === null || defaultHook === void 0 || defaultHook(instance2, options);
  },
  _mergeProps: function _mergeProps() {
    var fn = arguments.length > 1 ? arguments[1] : void 0;
    for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key2 = 2; _key2 < _len; _key2++) {
      args[_key2 - 2] = arguments[_key2];
    }
    return isFunction$2(fn) ? fn.apply(void 0, args) : mergeProps.apply(void 0, args);
  },
  _extend: function _extend(name) {
    var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var handleHook = function handleHook2(hook, el, binding, vnode, prevVnode) {
      var _el$$pd, _el$$instance$hook, _el$$instance9, _el$$pd2;
      el._$instances = el._$instances || {};
      var config2 = BaseDirective._getConfig(binding, vnode);
      var $prevInstance = el._$instances[name] || {};
      var $options = isEmpty($prevInstance) ? _objectSpread$4(_objectSpread$4({}, options), options === null || options === void 0 ? void 0 : options.methods) : {};
      el._$instances[name] = _objectSpread$4(_objectSpread$4({}, $prevInstance), {}, {
        /* new instance variables to pass in directive methods */
        $name: name,
        $host: el,
        $binding: binding,
        $modifiers: binding === null || binding === void 0 ? void 0 : binding.modifiers,
        $value: binding === null || binding === void 0 ? void 0 : binding.value,
        $el: $prevInstance["$el"] || el || void 0,
        $style: _objectSpread$4({
          classes: void 0,
          inlineStyles: void 0,
          load: function load2() {
          },
          loadCSS: function loadCSS2() {
          },
          loadTheme: function loadTheme2() {
          }
        }, options === null || options === void 0 ? void 0 : options.style),
        $primevueConfig: config2,
        $attrSelector: (_el$$pd = el.$pd) === null || _el$$pd === void 0 || (_el$$pd = _el$$pd[name]) === null || _el$$pd === void 0 ? void 0 : _el$$pd.attrSelector,
        /* computed instance variables */
        defaultPT: function defaultPT2() {
          return BaseDirective._getPT(config2 === null || config2 === void 0 ? void 0 : config2.pt, void 0, function(value2) {
            var _value$directives;
            return value2 === null || value2 === void 0 || (_value$directives = value2.directives) === null || _value$directives === void 0 ? void 0 : _value$directives[name];
          });
        },
        isUnstyled: function isUnstyled2() {
          var _el$$instance, _el$$instance2;
          return ((_el$$instance = el.$instance) === null || _el$$instance === void 0 || (_el$$instance = _el$$instance.$binding) === null || _el$$instance === void 0 || (_el$$instance = _el$$instance.value) === null || _el$$instance === void 0 ? void 0 : _el$$instance.unstyled) !== void 0 ? (_el$$instance2 = el.$instance) === null || _el$$instance2 === void 0 || (_el$$instance2 = _el$$instance2.$binding) === null || _el$$instance2 === void 0 || (_el$$instance2 = _el$$instance2.value) === null || _el$$instance2 === void 0 ? void 0 : _el$$instance2.unstyled : config2 === null || config2 === void 0 ? void 0 : config2.unstyled;
        },
        theme: function theme10() {
          var _el$$instance3;
          return (_el$$instance3 = el.$instance) === null || _el$$instance3 === void 0 || (_el$$instance3 = _el$$instance3.$primevueConfig) === null || _el$$instance3 === void 0 ? void 0 : _el$$instance3.theme;
        },
        preset: function preset() {
          var _el$$instance4;
          return (_el$$instance4 = el.$instance) === null || _el$$instance4 === void 0 || (_el$$instance4 = _el$$instance4.$binding) === null || _el$$instance4 === void 0 || (_el$$instance4 = _el$$instance4.value) === null || _el$$instance4 === void 0 ? void 0 : _el$$instance4.dt;
        },
        /* instance's methods */
        ptm: function ptm2() {
          var _el$$instance5;
          var key = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
          var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
          return BaseDirective._getPTValue(el.$instance, (_el$$instance5 = el.$instance) === null || _el$$instance5 === void 0 || (_el$$instance5 = _el$$instance5.$binding) === null || _el$$instance5 === void 0 || (_el$$instance5 = _el$$instance5.value) === null || _el$$instance5 === void 0 ? void 0 : _el$$instance5.pt, key, _objectSpread$4({}, params));
        },
        ptmo: function ptmo2() {
          var obj = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
          var key = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
          var params = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
          return BaseDirective._getPTValue(el.$instance, obj, key, params, false);
        },
        cx: function cx2() {
          var _el$$instance6, _el$$instance7;
          var key = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
          var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
          return !((_el$$instance6 = el.$instance) !== null && _el$$instance6 !== void 0 && _el$$instance6.isUnstyled()) ? BaseDirective._getOptionValue((_el$$instance7 = el.$instance) === null || _el$$instance7 === void 0 || (_el$$instance7 = _el$$instance7.$style) === null || _el$$instance7 === void 0 ? void 0 : _el$$instance7.classes, key, _objectSpread$4({}, params)) : void 0;
        },
        sx: function sx2() {
          var _el$$instance8;
          var key = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
          var when = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
          var params = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
          return when ? BaseDirective._getOptionValue((_el$$instance8 = el.$instance) === null || _el$$instance8 === void 0 || (_el$$instance8 = _el$$instance8.$style) === null || _el$$instance8 === void 0 ? void 0 : _el$$instance8.inlineStyles, key, _objectSpread$4({}, params)) : void 0;
        }
      }, $options);
      el.$instance = el._$instances[name];
      (_el$$instance$hook = (_el$$instance9 = el.$instance)[hook]) === null || _el$$instance$hook === void 0 || _el$$instance$hook.call(_el$$instance9, el, binding, vnode, prevVnode);
      el["$".concat(name)] = el.$instance;
      BaseDirective._hook(name, hook, el, binding, vnode, prevVnode);
      el.$pd || (el.$pd = {});
      el.$pd[name] = _objectSpread$4(_objectSpread$4({}, (_el$$pd2 = el.$pd) === null || _el$$pd2 === void 0 ? void 0 : _el$$pd2[name]), {}, {
        name,
        instance: el.$instance
      });
    };
    var handleWatch = function handleWatch2(el) {
      var _el$$instance10, _watchers$config, _el$$instance11, _watchers$configRipp, _el$$instance12;
      var watchers = (_el$$instance10 = el.$instance) === null || _el$$instance10 === void 0 ? void 0 : _el$$instance10.watch;
      watchers === null || watchers === void 0 || (_watchers$config = watchers["config"]) === null || _watchers$config === void 0 || _watchers$config.call(el.$instance, (_el$$instance11 = el.$instance) === null || _el$$instance11 === void 0 ? void 0 : _el$$instance11.$primevueConfig);
      PrimeVueService.on("config:change", function(_ref8) {
        var _watchers$config2;
        var newValue = _ref8.newValue, oldValue = _ref8.oldValue;
        return watchers === null || watchers === void 0 || (_watchers$config2 = watchers["config"]) === null || _watchers$config2 === void 0 ? void 0 : _watchers$config2.call(el.$instance, newValue, oldValue);
      });
      watchers === null || watchers === void 0 || (_watchers$configRipp = watchers["config.ripple"]) === null || _watchers$configRipp === void 0 || _watchers$configRipp.call(el.$instance, (_el$$instance12 = el.$instance) === null || _el$$instance12 === void 0 || (_el$$instance12 = _el$$instance12.$primevueConfig) === null || _el$$instance12 === void 0 ? void 0 : _el$$instance12.ripple);
      PrimeVueService.on("config:ripple:change", function(_ref9) {
        var _watchers$configRipp2;
        var newValue = _ref9.newValue, oldValue = _ref9.oldValue;
        return watchers === null || watchers === void 0 || (_watchers$configRipp2 = watchers["config.ripple"]) === null || _watchers$configRipp2 === void 0 ? void 0 : _watchers$configRipp2.call(el.$instance, newValue, oldValue);
      });
    };
    return {
      created: function created2(el, binding, vnode, prevVnode) {
        el.$pd || (el.$pd = {});
        el.$pd[name] = {
          name,
          attrSelector: uuid("pd")
        };
        handleHook("created", el, binding, vnode, prevVnode);
      },
      beforeMount: function beforeMount3(el, binding, vnode, prevVnode) {
        BaseDirective._loadStyles(el, binding, vnode);
        handleHook("beforeMount", el, binding, vnode, prevVnode);
        handleWatch(el);
      },
      mounted: function mounted7(el, binding, vnode, prevVnode) {
        BaseDirective._loadStyles(el, binding, vnode);
        handleHook("mounted", el, binding, vnode, prevVnode);
      },
      beforeUpdate: function beforeUpdate2(el, binding, vnode, prevVnode) {
        handleHook("beforeUpdate", el, binding, vnode, prevVnode);
      },
      updated: function updated5(el, binding, vnode, prevVnode) {
        BaseDirective._loadStyles(el, binding, vnode);
        handleHook("updated", el, binding, vnode, prevVnode);
      },
      beforeUnmount: function beforeUnmount5(el, binding, vnode, prevVnode) {
        handleHook("beforeUnmount", el, binding, vnode, prevVnode);
      },
      unmounted: function unmounted5(el, binding, vnode, prevVnode) {
        var _el$$instance13;
        (_el$$instance13 = el.$instance) === null || _el$$instance13 === void 0 || (_el$$instance13 = _el$$instance13.scopedStyleEl) === null || _el$$instance13 === void 0 || (_el$$instance13 = _el$$instance13.value) === null || _el$$instance13 === void 0 || _el$$instance13.remove();
        handleHook("unmounted", el, binding, vnode, prevVnode);
      }
    };
  },
  extend: function extend2() {
    var _BaseDirective$_getMe = BaseDirective._getMeta.apply(BaseDirective, arguments), _BaseDirective$_getMe2 = _slicedToArray$2(_BaseDirective$_getMe, 2), name = _BaseDirective$_getMe2[0], options = _BaseDirective$_getMe2[1];
    return _objectSpread$4({
      extend: function extend4() {
        var _BaseDirective$_getMe3 = BaseDirective._getMeta.apply(BaseDirective, arguments), _BaseDirective$_getMe4 = _slicedToArray$2(_BaseDirective$_getMe3, 2), _name = _BaseDirective$_getMe4[0], _options = _BaseDirective$_getMe4[1];
        return BaseDirective.extend(_name, _objectSpread$4(_objectSpread$4(_objectSpread$4({}, options), options === null || options === void 0 ? void 0 : options.methods), _options));
      }
    }, BaseDirective._extend(name, options));
  }
};
var theme$6 = function theme2(_ref) {
  var dt2 = _ref.dt;
  return "\n.p-tooltip {\n    position: absolute;\n    display: none;\n    max-width: ".concat(dt2("tooltip.max.width"), ";\n}\n\n.p-tooltip-right,\n.p-tooltip-left {\n    padding: 0 ").concat(dt2("tooltip.gutter"), ";\n}\n\n.p-tooltip-top,\n.p-tooltip-bottom {\n    padding: ").concat(dt2("tooltip.gutter"), " 0;\n}\n\n.p-tooltip-text {\n    white-space: pre-line;\n    word-break: break-word;\n    background: ").concat(dt2("tooltip.background"), ";\n    color: ").concat(dt2("tooltip.color"), ";\n    padding: ").concat(dt2("tooltip.padding"), ";\n    box-shadow: ").concat(dt2("tooltip.shadow"), ";\n    border-radius: ").concat(dt2("tooltip.border.radius"), ";\n}\n\n.p-tooltip-arrow {\n    position: absolute;\n    width: 0;\n    height: 0;\n    border-color: transparent;\n    border-style: solid;\n}\n\n.p-tooltip-right .p-tooltip-arrow {\n    margin-top: calc(-1 * ").concat(dt2("tooltip.gutter"), ");\n    border-width: ").concat(dt2("tooltip.gutter"), " ").concat(dt2("tooltip.gutter"), " ").concat(dt2("tooltip.gutter"), " 0;\n    border-right-color: ").concat(dt2("tooltip.background"), ";\n}\n\n.p-tooltip-left .p-tooltip-arrow {\n    margin-top: calc(-1 * ").concat(dt2("tooltip.gutter"), ");\n    border-width: ").concat(dt2("tooltip.gutter"), " 0 ").concat(dt2("tooltip.gutter"), " ").concat(dt2("tooltip.gutter"), ";\n    border-left-color: ").concat(dt2("tooltip.background"), ";\n}\n\n.p-tooltip-top .p-tooltip-arrow {\n    margin-left: calc(-1 * ").concat(dt2("tooltip.gutter"), ");\n    border-width: ").concat(dt2("tooltip.gutter"), " ").concat(dt2("tooltip.gutter"), " 0 ").concat(dt2("tooltip.gutter"), ";\n    border-top-color: ").concat(dt2("tooltip.background"), ";\n    border-bottom-color: ").concat(dt2("tooltip.background"), ";\n}\n\n.p-tooltip-bottom .p-tooltip-arrow {\n    margin-left: calc(-1 * ").concat(dt2("tooltip.gutter"), ");\n    border-width: 0 ").concat(dt2("tooltip.gutter"), " ").concat(dt2("tooltip.gutter"), " ").concat(dt2("tooltip.gutter"), ";\n    border-top-color: ").concat(dt2("tooltip.background"), ";\n    border-bottom-color: ").concat(dt2("tooltip.background"), ";\n}\n");
};
var classes$a = {
  root: "p-tooltip p-component",
  arrow: "p-tooltip-arrow",
  text: "p-tooltip-text"
};
var TooltipStyle = BaseStyle.extend({
  name: "tooltip-directive",
  theme: theme$6,
  classes: classes$a
});
var BaseTooltip = BaseDirective.extend({
  style: TooltipStyle
});
function _slicedToArray$1(r2, e) {
  return _arrayWithHoles$1(r2) || _iterableToArrayLimit$1(r2, e) || _unsupportedIterableToArray$2(r2, e) || _nonIterableRest$1();
}
function _nonIterableRest$1() {
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _unsupportedIterableToArray$2(r2, a) {
  if (r2) {
    if ("string" == typeof r2) return _arrayLikeToArray$2(r2, a);
    var t2 = {}.toString.call(r2).slice(8, -1);
    return "Object" === t2 && r2.constructor && (t2 = r2.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r2) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$2(r2, a) : void 0;
  }
}
function _arrayLikeToArray$2(r2, a) {
  (null == a || a > r2.length) && (a = r2.length);
  for (var e = 0, n = Array(a); e < a; e++) n[e] = r2[e];
  return n;
}
function _iterableToArrayLimit$1(r2, l) {
  var t2 = null == r2 ? null : "undefined" != typeof Symbol && r2[Symbol.iterator] || r2["@@iterator"];
  if (null != t2) {
    var e, n, i, u, a = [], f = true, o2 = false;
    try {
      if (i = (t2 = t2.call(r2)).next, 0 === l) ;
      else for (; !(f = (e = i.call(t2)).done) && (a.push(e.value), a.length !== l); f = true) ;
    } catch (r3) {
      o2 = true, n = r3;
    } finally {
      try {
        if (!f && null != t2["return"] && (u = t2["return"](), Object(u) !== u)) return;
      } finally {
        if (o2) throw n;
      }
    }
    return a;
  }
}
function _arrayWithHoles$1(r2) {
  if (Array.isArray(r2)) return r2;
}
function _defineProperty$8(e, r2, t2) {
  return (r2 = _toPropertyKey$8(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;
}
function _toPropertyKey$8(t2) {
  var i = _toPrimitive$8(t2, "string");
  return "symbol" == _typeof$7(i) ? i : i + "";
}
function _toPrimitive$8(t2, r2) {
  if ("object" != _typeof$7(t2) || !t2) return t2;
  var e = t2[Symbol.toPrimitive];
  if (void 0 !== e) {
    var i = e.call(t2, r2 || "default");
    if ("object" != _typeof$7(i)) return i;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return ("string" === r2 ? String : Number)(t2);
}
function _typeof$7(o2) {
  "@babel/helpers - typeof";
  return _typeof$7 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) {
    return typeof o3;
  } : function(o3) {
    return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3;
  }, _typeof$7(o2);
}
var Tooltip = BaseTooltip.extend("tooltip", {
  beforeMount: function beforeMount(el, options) {
    var _options$instance$$pr;
    var target = this.getTarget(el);
    target.$_ptooltipModifiers = this.getModifiers(options);
    if (!options.value) return;
    else if (typeof options.value === "string") {
      target.$_ptooltipValue = options.value;
      target.$_ptooltipDisabled = false;
      target.$_ptooltipEscape = true;
      target.$_ptooltipClass = null;
      target.$_ptooltipFitContent = true;
      target.$_ptooltipIdAttr = UniqueComponentId() + "_tooltip";
      target.$_ptooltipShowDelay = 0;
      target.$_ptooltipHideDelay = 0;
      target.$_ptooltipAutoHide = true;
    } else if (_typeof$7(options.value) === "object" && options.value) {
      if (isEmpty(options.value.value) || options.value.value.trim() === "") return;
      else {
        target.$_ptooltipValue = options.value.value;
        target.$_ptooltipDisabled = !!options.value.disabled === options.value.disabled ? options.value.disabled : false;
        target.$_ptooltipEscape = !!options.value.escape === options.value.escape ? options.value.escape : true;
        target.$_ptooltipClass = options.value["class"] || "";
        target.$_ptooltipFitContent = !!options.value.fitContent === options.value.fitContent ? options.value.fitContent : true;
        target.$_ptooltipIdAttr = options.value.id || UniqueComponentId() + "_tooltip";
        target.$_ptooltipShowDelay = options.value.showDelay || 0;
        target.$_ptooltipHideDelay = options.value.hideDelay || 0;
        target.$_ptooltipAutoHide = !!options.value.autoHide === options.value.autoHide ? options.value.autoHide : true;
      }
    }
    target.$_ptooltipZIndex = (_options$instance$$pr = options.instance.$primevue) === null || _options$instance$$pr === void 0 || (_options$instance$$pr = _options$instance$$pr.config) === null || _options$instance$$pr === void 0 || (_options$instance$$pr = _options$instance$$pr.zIndex) === null || _options$instance$$pr === void 0 ? void 0 : _options$instance$$pr.tooltip;
    this.bindEvents(target, options);
    el.setAttribute("data-pd-tooltip", true);
  },
  updated: function updated(el, options) {
    var target = this.getTarget(el);
    target.$_ptooltipModifiers = this.getModifiers(options);
    this.unbindEvents(target);
    if (!options.value) {
      return;
    }
    if (typeof options.value === "string") {
      target.$_ptooltipValue = options.value;
      target.$_ptooltipDisabled = false;
      target.$_ptooltipEscape = true;
      target.$_ptooltipClass = null;
      target.$_ptooltipIdAttr = target.$_ptooltipIdAttr || UniqueComponentId() + "_tooltip";
      target.$_ptooltipShowDelay = 0;
      target.$_ptooltipHideDelay = 0;
      target.$_ptooltipAutoHide = true;
      this.bindEvents(target, options);
    } else if (_typeof$7(options.value) === "object" && options.value) {
      if (isEmpty(options.value.value) || options.value.value.trim() === "") {
        this.unbindEvents(target, options);
        return;
      } else {
        target.$_ptooltipValue = options.value.value;
        target.$_ptooltipDisabled = !!options.value.disabled === options.value.disabled ? options.value.disabled : false;
        target.$_ptooltipEscape = !!options.value.escape === options.value.escape ? options.value.escape : true;
        target.$_ptooltipClass = options.value["class"] || "";
        target.$_ptooltipFitContent = !!options.value.fitContent === options.value.fitContent ? options.value.fitContent : true;
        target.$_ptooltipIdAttr = options.value.id || target.$_ptooltipIdAttr || UniqueComponentId() + "_tooltip";
        target.$_ptooltipShowDelay = options.value.showDelay || 0;
        target.$_ptooltipHideDelay = options.value.hideDelay || 0;
        target.$_ptooltipAutoHide = !!options.value.autoHide === options.value.autoHide ? options.value.autoHide : true;
        this.bindEvents(target, options);
      }
    }
  },
  unmounted: function unmounted(el, options) {
    var target = this.getTarget(el);
    this.remove(target);
    this.unbindEvents(target, options);
    if (target.$_ptooltipScrollHandler) {
      target.$_ptooltipScrollHandler.destroy();
      target.$_ptooltipScrollHandler = null;
    }
  },
  timer: void 0,
  methods: {
    bindEvents: function bindEvents(el, options) {
      var _this = this;
      var modifiers = el.$_ptooltipModifiers;
      if (modifiers.focus) {
        el.$_focusevent = function(event) {
          return _this.onFocus(event, options);
        };
        el.addEventListener("focus", el.$_focusevent);
        el.addEventListener("blur", this.onBlur.bind(this));
      } else {
        el.$_mouseenterevent = function(event) {
          return _this.onMouseEnter(event, options);
        };
        el.addEventListener("mouseenter", el.$_mouseenterevent);
        el.addEventListener("mouseleave", this.onMouseLeave.bind(this));
        el.addEventListener("click", this.onClick.bind(this));
      }
      el.addEventListener("keydown", this.onKeydown.bind(this));
    },
    unbindEvents: function unbindEvents(el) {
      var modifiers = el.$_ptooltipModifiers;
      if (modifiers.focus) {
        el.removeEventListener("focus", el.$_focusevent);
        el.$_focusevent = null;
        el.removeEventListener("blur", this.onBlur.bind(this));
      } else {
        el.removeEventListener("mouseenter", el.$_mouseenterevent);
        el.$_mouseenterevent = null;
        el.removeEventListener("mouseleave", this.onMouseLeave.bind(this));
        el.removeEventListener("click", this.onClick.bind(this));
      }
      el.removeEventListener("keydown", this.onKeydown.bind(this));
    },
    bindScrollListener: function bindScrollListener(el) {
      var _this2 = this;
      if (!el.$_ptooltipScrollHandler) {
        el.$_ptooltipScrollHandler = new ConnectedOverlayScrollHandler(el, function() {
          _this2.hide(el);
        });
      }
      el.$_ptooltipScrollHandler.bindScrollListener();
    },
    unbindScrollListener: function unbindScrollListener(el) {
      if (el.$_ptooltipScrollHandler) {
        el.$_ptooltipScrollHandler.unbindScrollListener();
      }
    },
    onMouseEnter: function onMouseEnter(event, options) {
      var el = event.currentTarget;
      var showDelay = el.$_ptooltipShowDelay;
      this.show(el, options, showDelay);
    },
    onMouseLeave: function onMouseLeave(event) {
      var el = event.currentTarget;
      var hideDelay = el.$_ptooltipHideDelay;
      var autoHide = el.$_ptooltipAutoHide;
      if (!autoHide) {
        var valid = getAttribute(event.target, "data-pc-name") === "tooltip" || getAttribute(event.target, "data-pc-section") === "arrow" || getAttribute(event.target, "data-pc-section") === "text" || getAttribute(event.relatedTarget, "data-pc-name") === "tooltip" || getAttribute(event.relatedTarget, "data-pc-section") === "arrow" || getAttribute(event.relatedTarget, "data-pc-section") === "text";
        !valid && this.hide(el, hideDelay);
      } else {
        this.hide(el, hideDelay);
      }
    },
    onFocus: function onFocus(event, options) {
      var el = event.currentTarget;
      var showDelay = el.$_ptooltipShowDelay;
      this.show(el, options, showDelay);
    },
    onBlur: function onBlur(event) {
      var el = event.currentTarget;
      var hideDelay = el.$_ptooltipHideDelay;
      this.hide(el, hideDelay);
    },
    onClick: function onClick(event) {
      var el = event.currentTarget;
      var hideDelay = el.$_ptooltipHideDelay;
      this.hide(el, hideDelay);
    },
    onKeydown: function onKeydown(event) {
      var el = event.currentTarget;
      var hideDelay = el.$_ptooltipHideDelay;
      event.code === "Escape" && this.hide(event.currentTarget, hideDelay);
    },
    tooltipActions: function tooltipActions(el, options) {
      if (el.$_ptooltipDisabled || !isExist(el)) {
        return;
      }
      var tooltipElement = this.create(el, options);
      this.align(el);
      !this.isUnstyled() && fadeIn(tooltipElement, 250);
      var $this = this;
      window.addEventListener("resize", function onWindowResize() {
        if (!isTouchDevice()) {
          $this.hide(el);
        }
        window.removeEventListener("resize", onWindowResize);
      });
      tooltipElement.addEventListener("mouseleave", function onTooltipLeave() {
        $this.hide(el);
        tooltipElement.removeEventListener("mouseleave", onTooltipLeave);
        el.removeEventListener("mouseenter", el.$_mouseenterevent);
        setTimeout(function() {
          return el.addEventListener("mouseenter", el.$_mouseenterevent);
        }, 50);
      });
      this.bindScrollListener(el);
      ZIndex.set("tooltip", tooltipElement, el.$_ptooltipZIndex);
    },
    show: function show(el, options, showDelay) {
      var _this3 = this;
      if (showDelay !== void 0) {
        this.timer = setTimeout(function() {
          return _this3.tooltipActions(el, options);
        }, showDelay);
      } else {
        this.tooltipActions(el, options);
      }
    },
    tooltipRemoval: function tooltipRemoval(el) {
      this.remove(el);
      this.unbindScrollListener(el);
    },
    hide: function hide(el, hideDelay) {
      var _this4 = this;
      clearTimeout(this.timer);
      if (hideDelay !== void 0) {
        setTimeout(function() {
          return _this4.tooltipRemoval(el);
        }, hideDelay);
      } else {
        this.tooltipRemoval(el);
      }
    },
    getTooltipElement: function getTooltipElement(el) {
      return document.getElementById(el.$_ptooltipId);
    },
    create: function create(el) {
      var modifiers = el.$_ptooltipModifiers;
      var tooltipArrow = createElement$1("div", {
        "class": !this.isUnstyled() && this.cx("arrow"),
        "p-bind": this.ptm("arrow", {
          context: modifiers
        })
      });
      var tooltipText = createElement$1("div", {
        "class": !this.isUnstyled() && this.cx("text"),
        "p-bind": this.ptm("text", {
          context: modifiers
        })
      });
      if (!el.$_ptooltipEscape) {
        tooltipText.innerHTML = el.$_ptooltipValue;
      } else {
        tooltipText.innerHTML = "";
        tooltipText.appendChild(document.createTextNode(el.$_ptooltipValue));
      }
      var container = createElement$1("div", _defineProperty$8(_defineProperty$8({
        id: el.$_ptooltipIdAttr,
        role: "tooltip",
        style: {
          display: "inline-block",
          width: el.$_ptooltipFitContent ? "fit-content" : void 0,
          pointerEvents: !this.isUnstyled() && el.$_ptooltipAutoHide && "none"
        },
        "class": [!this.isUnstyled() && this.cx("root"), el.$_ptooltipClass]
      }, this.$attrSelector, ""), "p-bind", this.ptm("root", {
        context: modifiers
      })), tooltipArrow, tooltipText);
      document.body.appendChild(container);
      el.$_ptooltipId = container.id;
      this.$el = container;
      return container;
    },
    remove: function remove2(el) {
      if (el) {
        var tooltipElement = this.getTooltipElement(el);
        if (tooltipElement && tooltipElement.parentElement) {
          ZIndex.clear(tooltipElement);
          document.body.removeChild(tooltipElement);
        }
        el.$_ptooltipId = null;
      }
    },
    align: function align(el) {
      var modifiers = el.$_ptooltipModifiers;
      if (modifiers.top) {
        this.alignTop(el);
        if (this.isOutOfBounds(el)) {
          this.alignBottom(el);
          if (this.isOutOfBounds(el)) {
            this.alignTop(el);
          }
        }
      } else if (modifiers.left) {
        this.alignLeft(el);
        if (this.isOutOfBounds(el)) {
          this.alignRight(el);
          if (this.isOutOfBounds(el)) {
            this.alignTop(el);
            if (this.isOutOfBounds(el)) {
              this.alignBottom(el);
              if (this.isOutOfBounds(el)) {
                this.alignLeft(el);
              }
            }
          }
        }
      } else if (modifiers.bottom) {
        this.alignBottom(el);
        if (this.isOutOfBounds(el)) {
          this.alignTop(el);
          if (this.isOutOfBounds(el)) {
            this.alignBottom(el);
          }
        }
      } else {
        this.alignRight(el);
        if (this.isOutOfBounds(el)) {
          this.alignLeft(el);
          if (this.isOutOfBounds(el)) {
            this.alignTop(el);
            if (this.isOutOfBounds(el)) {
              this.alignBottom(el);
              if (this.isOutOfBounds(el)) {
                this.alignRight(el);
              }
            }
          }
        }
      }
    },
    getHostOffset: function getHostOffset(el) {
      var offset = el.getBoundingClientRect();
      var targetLeft = offset.left + getWindowScrollLeft();
      var targetTop = offset.top + getWindowScrollTop();
      return {
        left: targetLeft,
        top: targetTop
      };
    },
    alignRight: function alignRight(el) {
      this.preAlign(el, "right");
      var tooltipElement = this.getTooltipElement(el);
      var hostOffset = this.getHostOffset(el);
      var left = hostOffset.left + getOuterWidth(el);
      var top = hostOffset.top + (getOuterHeight(el) - getOuterHeight(tooltipElement)) / 2;
      tooltipElement.style.left = left + "px";
      tooltipElement.style.top = top + "px";
    },
    alignLeft: function alignLeft(el) {
      this.preAlign(el, "left");
      var tooltipElement = this.getTooltipElement(el);
      var hostOffset = this.getHostOffset(el);
      var left = hostOffset.left - getOuterWidth(tooltipElement);
      var top = hostOffset.top + (getOuterHeight(el) - getOuterHeight(tooltipElement)) / 2;
      tooltipElement.style.left = left + "px";
      tooltipElement.style.top = top + "px";
    },
    alignTop: function alignTop(el) {
      this.preAlign(el, "top");
      var tooltipElement = this.getTooltipElement(el);
      var hostOffset = this.getHostOffset(el);
      var left = hostOffset.left + (getOuterWidth(el) - getOuterWidth(tooltipElement)) / 2;
      var top = hostOffset.top - getOuterHeight(tooltipElement);
      tooltipElement.style.left = left + "px";
      tooltipElement.style.top = top + "px";
    },
    alignBottom: function alignBottom(el) {
      this.preAlign(el, "bottom");
      var tooltipElement = this.getTooltipElement(el);
      var hostOffset = this.getHostOffset(el);
      var left = hostOffset.left + (getOuterWidth(el) - getOuterWidth(tooltipElement)) / 2;
      var top = hostOffset.top + getOuterHeight(el);
      tooltipElement.style.left = left + "px";
      tooltipElement.style.top = top + "px";
    },
    preAlign: function preAlign(el, position) {
      var tooltipElement = this.getTooltipElement(el);
      tooltipElement.style.left = "-999px";
      tooltipElement.style.top = "-999px";
      removeClass(tooltipElement, "p-tooltip-".concat(tooltipElement.$_ptooltipPosition));
      !this.isUnstyled() && addClass(tooltipElement, "p-tooltip-".concat(position));
      tooltipElement.$_ptooltipPosition = position;
      tooltipElement.setAttribute("data-p-position", position);
      var arrowElement = findSingle(tooltipElement, '[data-pc-section="arrow"]');
      arrowElement.style.top = position === "bottom" ? "0" : position === "right" || position === "left" || position !== "right" && position !== "left" && position !== "top" && position !== "bottom" ? "50%" : null;
      arrowElement.style.bottom = position === "top" ? "0" : null;
      arrowElement.style.left = position === "right" || position !== "right" && position !== "left" && position !== "top" && position !== "bottom" ? "0" : position === "top" || position === "bottom" ? "50%" : null;
      arrowElement.style.right = position === "left" ? "0" : null;
    },
    isOutOfBounds: function isOutOfBounds(el) {
      var tooltipElement = this.getTooltipElement(el);
      var offset = tooltipElement.getBoundingClientRect();
      var targetTop = offset.top;
      var targetLeft = offset.left;
      var width = getOuterWidth(tooltipElement);
      var height = getOuterHeight(tooltipElement);
      var viewport = getViewport();
      return targetLeft + width > viewport.width || targetLeft < 0 || targetTop < 0 || targetTop + height > viewport.height;
    },
    getTarget: function getTarget(el) {
      var _findSingle;
      return hasClass(el, "p-inputwrapper") ? (_findSingle = findSingle(el, "input")) !== null && _findSingle !== void 0 ? _findSingle : el : el;
    },
    getModifiers: function getModifiers(options) {
      if (options.modifiers && Object.keys(options.modifiers).length) {
        return options.modifiers;
      }
      if (options.arg && _typeof$7(options.arg) === "object") {
        return Object.entries(options.arg).reduce(function(acc, _ref) {
          var _ref2 = _slicedToArray$1(_ref, 2), key = _ref2[0], val = _ref2[1];
          if (key === "event" || key === "position") acc[val] = true;
          return acc;
        }, {});
      }
      return {};
    }
  }
});
var commonjsGlobal$1 = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
function getDefaultExportFromCjs(x2) {
  return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2["default"] : x2;
}
var _baseFindKey;
var hasRequired_baseFindKey;
function require_baseFindKey() {
  if (hasRequired_baseFindKey) return _baseFindKey;
  hasRequired_baseFindKey = 1;
  function baseFindKey(collection, predicate, eachFunc) {
    var result;
    eachFunc(collection, function(value2, key, collection2) {
      if (predicate(value2, key, collection2)) {
        result = key;
        return false;
      }
    });
    return result;
  }
  _baseFindKey = baseFindKey;
  return _baseFindKey;
}
var _createBaseFor;
var hasRequired_createBaseFor;
function require_createBaseFor() {
  if (hasRequired_createBaseFor) return _createBaseFor;
  hasRequired_createBaseFor = 1;
  function createBaseFor(fromRight) {
    return function(object, iteratee, keysFunc) {
      var index2 = -1, iterable = Object(object), props = keysFunc(object), length = props.length;
      while (length--) {
        var key = props[fromRight ? length : ++index2];
        if (iteratee(iterable[key], key, iterable) === false) {
          break;
        }
      }
      return object;
    };
  }
  _createBaseFor = createBaseFor;
  return _createBaseFor;
}
var _baseFor;
var hasRequired_baseFor;
function require_baseFor() {
  if (hasRequired_baseFor) return _baseFor;
  hasRequired_baseFor = 1;
  var createBaseFor = require_createBaseFor();
  var baseFor = createBaseFor();
  _baseFor = baseFor;
  return _baseFor;
}
var _baseTimes;
var hasRequired_baseTimes;
function require_baseTimes() {
  if (hasRequired_baseTimes) return _baseTimes;
  hasRequired_baseTimes = 1;
  function baseTimes(n, iteratee) {
    var index2 = -1, result = Array(n);
    while (++index2 < n) {
      result[index2] = iteratee(index2);
    }
    return result;
  }
  _baseTimes = baseTimes;
  return _baseTimes;
}
var _freeGlobal;
var hasRequired_freeGlobal;
function require_freeGlobal() {
  if (hasRequired_freeGlobal) return _freeGlobal;
  hasRequired_freeGlobal = 1;
  var freeGlobal = typeof commonjsGlobal$1 == "object" && commonjsGlobal$1 && commonjsGlobal$1.Object === Object && commonjsGlobal$1;
  _freeGlobal = freeGlobal;
  return _freeGlobal;
}
var _root;
var hasRequired_root;
function require_root() {
  if (hasRequired_root) return _root;
  hasRequired_root = 1;
  var freeGlobal = require_freeGlobal();
  var freeSelf = typeof self == "object" && self && self.Object === Object && self;
  var root7 = freeGlobal || freeSelf || Function("return this")();
  _root = root7;
  return _root;
}
var _Symbol;
var hasRequired_Symbol;
function require_Symbol() {
  if (hasRequired_Symbol) return _Symbol;
  hasRequired_Symbol = 1;
  var root7 = require_root();
  var Symbol2 = root7.Symbol;
  _Symbol = Symbol2;
  return _Symbol;
}
var _getRawTag;
var hasRequired_getRawTag;
function require_getRawTag() {
  if (hasRequired_getRawTag) return _getRawTag;
  hasRequired_getRawTag = 1;
  var Symbol2 = require_Symbol();
  var objectProto = Object.prototype;
  var hasOwnProperty2 = objectProto.hasOwnProperty;
  var nativeObjectToString = objectProto.toString;
  var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
  function getRawTag(value2) {
    var isOwn = hasOwnProperty2.call(value2, symToStringTag), tag = value2[symToStringTag];
    try {
      value2[symToStringTag] = void 0;
      var unmasked = true;
    } catch (e) {
    }
    var result = nativeObjectToString.call(value2);
    if (unmasked) {
      if (isOwn) {
        value2[symToStringTag] = tag;
      } else {
        delete value2[symToStringTag];
      }
    }
    return result;
  }
  _getRawTag = getRawTag;
  return _getRawTag;
}
var _objectToString;
var hasRequired_objectToString;
function require_objectToString() {
  if (hasRequired_objectToString) return _objectToString;
  hasRequired_objectToString = 1;
  var objectProto = Object.prototype;
  var nativeObjectToString = objectProto.toString;
  function objectToString2(value2) {
    return nativeObjectToString.call(value2);
  }
  _objectToString = objectToString2;
  return _objectToString;
}
var _baseGetTag;
var hasRequired_baseGetTag;
function require_baseGetTag() {
  if (hasRequired_baseGetTag) return _baseGetTag;
  hasRequired_baseGetTag = 1;
  var Symbol2 = require_Symbol(), getRawTag = require_getRawTag(), objectToString2 = require_objectToString();
  var nullTag = "[object Null]", undefinedTag = "[object Undefined]";
  var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
  function baseGetTag(value2) {
    if (value2 == null) {
      return value2 === void 0 ? undefinedTag : nullTag;
    }
    return symToStringTag && symToStringTag in Object(value2) ? getRawTag(value2) : objectToString2(value2);
  }
  _baseGetTag = baseGetTag;
  return _baseGetTag;
}
var isObjectLike_1;
var hasRequiredIsObjectLike;
function requireIsObjectLike() {
  if (hasRequiredIsObjectLike) return isObjectLike_1;
  hasRequiredIsObjectLike = 1;
  function isObjectLike(value2) {
    return value2 != null && typeof value2 == "object";
  }
  isObjectLike_1 = isObjectLike;
  return isObjectLike_1;
}
var _baseIsArguments;
var hasRequired_baseIsArguments;
function require_baseIsArguments() {
  if (hasRequired_baseIsArguments) return _baseIsArguments;
  hasRequired_baseIsArguments = 1;
  var baseGetTag = require_baseGetTag(), isObjectLike = requireIsObjectLike();
  var argsTag = "[object Arguments]";
  function baseIsArguments(value2) {
    return isObjectLike(value2) && baseGetTag(value2) == argsTag;
  }
  _baseIsArguments = baseIsArguments;
  return _baseIsArguments;
}
var isArguments_1;
var hasRequiredIsArguments;
function requireIsArguments() {
  if (hasRequiredIsArguments) return isArguments_1;
  hasRequiredIsArguments = 1;
  var baseIsArguments = require_baseIsArguments(), isObjectLike = requireIsObjectLike();
  var objectProto = Object.prototype;
  var hasOwnProperty2 = objectProto.hasOwnProperty;
  var propertyIsEnumerable = objectProto.propertyIsEnumerable;
  var isArguments = baseIsArguments(/* @__PURE__ */ function() {
    return arguments;
  }()) ? baseIsArguments : function(value2) {
    return isObjectLike(value2) && hasOwnProperty2.call(value2, "callee") && !propertyIsEnumerable.call(value2, "callee");
  };
  isArguments_1 = isArguments;
  return isArguments_1;
}
var isArray_1;
var hasRequiredIsArray;
function requireIsArray() {
  if (hasRequiredIsArray) return isArray_1;
  hasRequiredIsArray = 1;
  var isArray2 = Array.isArray;
  isArray_1 = isArray2;
  return isArray_1;
}
var isBuffer$1 = { exports: {} };
var stubFalse_1;
var hasRequiredStubFalse;
function requireStubFalse() {
  if (hasRequiredStubFalse) return stubFalse_1;
  hasRequiredStubFalse = 1;
  function stubFalse() {
    return false;
  }
  stubFalse_1 = stubFalse;
  return stubFalse_1;
}
isBuffer$1.exports;
var hasRequiredIsBuffer;
function requireIsBuffer() {
  if (hasRequiredIsBuffer) return isBuffer$1.exports;
  hasRequiredIsBuffer = 1;
  (function(module, exports) {
    var root7 = require_root(), stubFalse = requireStubFalse();
    var freeExports = exports && !exports.nodeType && exports;
    var freeModule = freeExports && true && module && !module.nodeType && module;
    var moduleExports = freeModule && freeModule.exports === freeExports;
    var Buffer2 = moduleExports ? root7.Buffer : void 0;
    var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0;
    var isBuffer2 = nativeIsBuffer || stubFalse;
    module.exports = isBuffer2;
  })(isBuffer$1, isBuffer$1.exports);
  return isBuffer$1.exports;
}
var _isIndex;
var hasRequired_isIndex;
function require_isIndex() {
  if (hasRequired_isIndex) return _isIndex;
  hasRequired_isIndex = 1;
  var MAX_SAFE_INTEGER = 9007199254740991;
  var reIsUint = /^(?:0|[1-9]\d*)$/;
  function isIndex(value2, length) {
    var type = typeof value2;
    length = length == null ? MAX_SAFE_INTEGER : length;
    return !!length && (type == "number" || type != "symbol" && reIsUint.test(value2)) && (value2 > -1 && value2 % 1 == 0 && value2 < length);
  }
  _isIndex = isIndex;
  return _isIndex;
}
var isLength_1;
var hasRequiredIsLength;
function requireIsLength() {
  if (hasRequiredIsLength) return isLength_1;
  hasRequiredIsLength = 1;
  var MAX_SAFE_INTEGER = 9007199254740991;
  function isLength(value2) {
    return typeof value2 == "number" && value2 > -1 && value2 % 1 == 0 && value2 <= MAX_SAFE_INTEGER;
  }
  isLength_1 = isLength;
  return isLength_1;
}
var _baseIsTypedArray;
var hasRequired_baseIsTypedArray;
function require_baseIsTypedArray() {
  if (hasRequired_baseIsTypedArray) return _baseIsTypedArray;
  hasRequired_baseIsTypedArray = 1;
  var baseGetTag = require_baseGetTag(), isLength = requireIsLength(), isObjectLike = requireIsObjectLike();
  var argsTag = "[object Arguments]", arrayTag = "[object Array]", boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", funcTag = "[object Function]", mapTag = "[object Map]", numberTag = "[object Number]", objectTag = "[object Object]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", weakMapTag = "[object WeakMap]";
  var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]";
  var typedArrayTags = {};
  typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
  typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
  function baseIsTypedArray(value2) {
    return isObjectLike(value2) && isLength(value2.length) && !!typedArrayTags[baseGetTag(value2)];
  }
  _baseIsTypedArray = baseIsTypedArray;
  return _baseIsTypedArray;
}
var _baseUnary;
var hasRequired_baseUnary;
function require_baseUnary() {
  if (hasRequired_baseUnary) return _baseUnary;
  hasRequired_baseUnary = 1;
  function baseUnary(func) {
    return function(value2) {
      return func(value2);
    };
  }
  _baseUnary = baseUnary;
  return _baseUnary;
}
var _nodeUtil = { exports: {} };
_nodeUtil.exports;
var hasRequired_nodeUtil;
function require_nodeUtil() {
  if (hasRequired_nodeUtil) return _nodeUtil.exports;
  hasRequired_nodeUtil = 1;
  (function(module, exports) {
    var freeGlobal = require_freeGlobal();
    var freeExports = exports && !exports.nodeType && exports;
    var freeModule = freeExports && true && module && !module.nodeType && module;
    var moduleExports = freeModule && freeModule.exports === freeExports;
    var freeProcess = moduleExports && freeGlobal.process;
    var nodeUtil = function() {
      try {
        var types = freeModule && freeModule.require && freeModule.require("util").types;
        if (types) {
          return types;
        }
        return freeProcess && freeProcess.binding && freeProcess.binding("util");
      } catch (e) {
      }
    }();
    module.exports = nodeUtil;
  })(_nodeUtil, _nodeUtil.exports);
  return _nodeUtil.exports;
}
var isTypedArray_1;
var hasRequiredIsTypedArray;
function requireIsTypedArray() {
  if (hasRequiredIsTypedArray) return isTypedArray_1;
  hasRequiredIsTypedArray = 1;
  var baseIsTypedArray = require_baseIsTypedArray(), baseUnary = require_baseUnary(), nodeUtil = require_nodeUtil();
  var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
  var isTypedArray2 = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
  isTypedArray_1 = isTypedArray2;
  return isTypedArray_1;
}
var _arrayLikeKeys;
var hasRequired_arrayLikeKeys;
function require_arrayLikeKeys() {
  if (hasRequired_arrayLikeKeys) return _arrayLikeKeys;
  hasRequired_arrayLikeKeys = 1;
  var baseTimes = require_baseTimes(), isArguments = requireIsArguments(), isArray2 = requireIsArray(), isBuffer2 = requireIsBuffer(), isIndex = require_isIndex(), isTypedArray2 = requireIsTypedArray();
  var objectProto = Object.prototype;
  var hasOwnProperty2 = objectProto.hasOwnProperty;
  function arrayLikeKeys(value2, inherited) {
    var isArr = isArray2(value2), isArg = !isArr && isArguments(value2), isBuff = !isArr && !isArg && isBuffer2(value2), isType = !isArr && !isArg && !isBuff && isTypedArray2(value2), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value2.length, String) : [], length = result.length;
    for (var key in value2) {
      if ((inherited || hasOwnProperty2.call(value2, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
      (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
      isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
      isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
      isIndex(key, length)))) {
        result.push(key);
      }
    }
    return result;
  }
  _arrayLikeKeys = arrayLikeKeys;
  return _arrayLikeKeys;
}
var _isPrototype;
var hasRequired_isPrototype;
function require_isPrototype() {
  if (hasRequired_isPrototype) return _isPrototype;
  hasRequired_isPrototype = 1;
  var objectProto = Object.prototype;
  function isPrototype(value2) {
    var Ctor = value2 && value2.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
    return value2 === proto;
  }
  _isPrototype = isPrototype;
  return _isPrototype;
}
var _overArg;
var hasRequired_overArg;
function require_overArg() {
  if (hasRequired_overArg) return _overArg;
  hasRequired_overArg = 1;
  function overArg(func, transform) {
    return function(arg) {
      return func(transform(arg));
    };
  }
  _overArg = overArg;
  return _overArg;
}
var _nativeKeys;
var hasRequired_nativeKeys;
function require_nativeKeys() {
  if (hasRequired_nativeKeys) return _nativeKeys;
  hasRequired_nativeKeys = 1;
  var overArg = require_overArg();
  var nativeKeys = overArg(Object.keys, Object);
  _nativeKeys = nativeKeys;
  return _nativeKeys;
}
var _baseKeys;
var hasRequired_baseKeys;
function require_baseKeys() {
  if (hasRequired_baseKeys) return _baseKeys;
  hasRequired_baseKeys = 1;
  var isPrototype = require_isPrototype(), nativeKeys = require_nativeKeys();
  var objectProto = Object.prototype;
  var hasOwnProperty2 = objectProto.hasOwnProperty;
  function baseKeys(object) {
    if (!isPrototype(object)) {
      return nativeKeys(object);
    }
    var result = [];
    for (var key in Object(object)) {
      if (hasOwnProperty2.call(object, key) && key != "constructor") {
        result.push(key);
      }
    }
    return result;
  }
  _baseKeys = baseKeys;
  return _baseKeys;
}
var isObject_1;
var hasRequiredIsObject;
function requireIsObject() {
  if (hasRequiredIsObject) return isObject_1;
  hasRequiredIsObject = 1;
  function isObject2(value2) {
    var type = typeof value2;
    return value2 != null && (type == "object" || type == "function");
  }
  isObject_1 = isObject2;
  return isObject_1;
}
var isFunction_1;
var hasRequiredIsFunction;
function requireIsFunction() {
  if (hasRequiredIsFunction) return isFunction_1;
  hasRequiredIsFunction = 1;
  var baseGetTag = require_baseGetTag(), isObject2 = requireIsObject();
  var asyncTag = "[object AsyncFunction]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", proxyTag = "[object Proxy]";
  function isFunction2(value2) {
    if (!isObject2(value2)) {
      return false;
    }
    var tag = baseGetTag(value2);
    return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
  }
  isFunction_1 = isFunction2;
  return isFunction_1;
}
var isArrayLike_1;
var hasRequiredIsArrayLike;
function requireIsArrayLike() {
  if (hasRequiredIsArrayLike) return isArrayLike_1;
  hasRequiredIsArrayLike = 1;
  var isFunction2 = requireIsFunction(), isLength = requireIsLength();
  function isArrayLike(value2) {
    return value2 != null && isLength(value2.length) && !isFunction2(value2);
  }
  isArrayLike_1 = isArrayLike;
  return isArrayLike_1;
}
var keys_1;
var hasRequiredKeys;
function requireKeys() {
  if (hasRequiredKeys) return keys_1;
  hasRequiredKeys = 1;
  var arrayLikeKeys = require_arrayLikeKeys(), baseKeys = require_baseKeys(), isArrayLike = requireIsArrayLike();
  function keys(object) {
    return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
  }
  keys_1 = keys;
  return keys_1;
}
var _baseForOwn;
var hasRequired_baseForOwn;
function require_baseForOwn() {
  if (hasRequired_baseForOwn) return _baseForOwn;
  hasRequired_baseForOwn = 1;
  var baseFor = require_baseFor(), keys = requireKeys();
  function baseForOwn(object, iteratee) {
    return object && baseFor(object, iteratee, keys);
  }
  _baseForOwn = baseForOwn;
  return _baseForOwn;
}
var _listCacheClear;
var hasRequired_listCacheClear;
function require_listCacheClear() {
  if (hasRequired_listCacheClear) return _listCacheClear;
  hasRequired_listCacheClear = 1;
  function listCacheClear() {
    this.__data__ = [];
    this.size = 0;
  }
  _listCacheClear = listCacheClear;
  return _listCacheClear;
}
var eq_1;
var hasRequiredEq;
function requireEq() {
  if (hasRequiredEq) return eq_1;
  hasRequiredEq = 1;
  function eq(value2, other) {
    return value2 === other || value2 !== value2 && other !== other;
  }
  eq_1 = eq;
  return eq_1;
}
var _assocIndexOf;
var hasRequired_assocIndexOf;
function require_assocIndexOf() {
  if (hasRequired_assocIndexOf) return _assocIndexOf;
  hasRequired_assocIndexOf = 1;
  var eq = requireEq();
  function assocIndexOf(array, key) {
    var length = array.length;
    while (length--) {
      if (eq(array[length][0], key)) {
        return length;
      }
    }
    return -1;
  }
  _assocIndexOf = assocIndexOf;
  return _assocIndexOf;
}
var _listCacheDelete;
var hasRequired_listCacheDelete;
function require_listCacheDelete() {
  if (hasRequired_listCacheDelete) return _listCacheDelete;
  hasRequired_listCacheDelete = 1;
  var assocIndexOf = require_assocIndexOf();
  var arrayProto2 = Array.prototype;
  var splice = arrayProto2.splice;
  function listCacheDelete(key) {
    var data6 = this.__data__, index2 = assocIndexOf(data6, key);
    if (index2 < 0) {
      return false;
    }
    var lastIndex = data6.length - 1;
    if (index2 == lastIndex) {
      data6.pop();
    } else {
      splice.call(data6, index2, 1);
    }
    --this.size;
    return true;
  }
  _listCacheDelete = listCacheDelete;
  return _listCacheDelete;
}
var _listCacheGet;
var hasRequired_listCacheGet;
function require_listCacheGet() {
  if (hasRequired_listCacheGet) return _listCacheGet;
  hasRequired_listCacheGet = 1;
  var assocIndexOf = require_assocIndexOf();
  function listCacheGet(key) {
    var data6 = this.__data__, index2 = assocIndexOf(data6, key);
    return index2 < 0 ? void 0 : data6[index2][1];
  }
  _listCacheGet = listCacheGet;
  return _listCacheGet;
}
var _listCacheHas;
var hasRequired_listCacheHas;
function require_listCacheHas() {
  if (hasRequired_listCacheHas) return _listCacheHas;
  hasRequired_listCacheHas = 1;
  var assocIndexOf = require_assocIndexOf();
  function listCacheHas(key) {
    return assocIndexOf(this.__data__, key) > -1;
  }
  _listCacheHas = listCacheHas;
  return _listCacheHas;
}
var _listCacheSet;
var hasRequired_listCacheSet;
function require_listCacheSet() {
  if (hasRequired_listCacheSet) return _listCacheSet;
  hasRequired_listCacheSet = 1;
  var assocIndexOf = require_assocIndexOf();
  function listCacheSet(key, value2) {
    var data6 = this.__data__, index2 = assocIndexOf(data6, key);
    if (index2 < 0) {
      ++this.size;
      data6.push([key, value2]);
    } else {
      data6[index2][1] = value2;
    }
    return this;
  }
  _listCacheSet = listCacheSet;
  return _listCacheSet;
}
var _ListCache;
var hasRequired_ListCache;
function require_ListCache() {
  if (hasRequired_ListCache) return _ListCache;
  hasRequired_ListCache = 1;
  var listCacheClear = require_listCacheClear(), listCacheDelete = require_listCacheDelete(), listCacheGet = require_listCacheGet(), listCacheHas = require_listCacheHas(), listCacheSet = require_listCacheSet();
  function ListCache(entries) {
    var index2 = -1, length = entries == null ? 0 : entries.length;
    this.clear();
    while (++index2 < length) {
      var entry = entries[index2];
      this.set(entry[0], entry[1]);
    }
  }
  ListCache.prototype.clear = listCacheClear;
  ListCache.prototype["delete"] = listCacheDelete;
  ListCache.prototype.get = listCacheGet;
  ListCache.prototype.has = listCacheHas;
  ListCache.prototype.set = listCacheSet;
  _ListCache = ListCache;
  return _ListCache;
}
var _stackClear;
var hasRequired_stackClear;
function require_stackClear() {
  if (hasRequired_stackClear) return _stackClear;
  hasRequired_stackClear = 1;
  var ListCache = require_ListCache();
  function stackClear() {
    this.__data__ = new ListCache();
    this.size = 0;
  }
  _stackClear = stackClear;
  return _stackClear;
}
var _stackDelete;
var hasRequired_stackDelete;
function require_stackDelete() {
  if (hasRequired_stackDelete) return _stackDelete;
  hasRequired_stackDelete = 1;
  function stackDelete(key) {
    var data6 = this.__data__, result = data6["delete"](key);
    this.size = data6.size;
    return result;
  }
  _stackDelete = stackDelete;
  return _stackDelete;
}
var _stackGet;
var hasRequired_stackGet;
function require_stackGet() {
  if (hasRequired_stackGet) return _stackGet;
  hasRequired_stackGet = 1;
  function stackGet(key) {
    return this.__data__.get(key);
  }
  _stackGet = stackGet;
  return _stackGet;
}
var _stackHas;
var hasRequired_stackHas;
function require_stackHas() {
  if (hasRequired_stackHas) return _stackHas;
  hasRequired_stackHas = 1;
  function stackHas(key) {
    return this.__data__.has(key);
  }
  _stackHas = stackHas;
  return _stackHas;
}
var _coreJsData;
var hasRequired_coreJsData;
function require_coreJsData() {
  if (hasRequired_coreJsData) return _coreJsData;
  hasRequired_coreJsData = 1;
  var root7 = require_root();
  var coreJsData = root7["__core-js_shared__"];
  _coreJsData = coreJsData;
  return _coreJsData;
}
var _isMasked;
var hasRequired_isMasked;
function require_isMasked() {
  if (hasRequired_isMasked) return _isMasked;
  hasRequired_isMasked = 1;
  var coreJsData = require_coreJsData();
  var maskSrcKey = function() {
    var uid2 = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
    return uid2 ? "Symbol(src)_1." + uid2 : "";
  }();
  function isMasked(func) {
    return !!maskSrcKey && maskSrcKey in func;
  }
  _isMasked = isMasked;
  return _isMasked;
}
var _toSource;
var hasRequired_toSource;
function require_toSource() {
  if (hasRequired_toSource) return _toSource;
  hasRequired_toSource = 1;
  var funcProto = Function.prototype;
  var funcToString = funcProto.toString;
  function toSource(func) {
    if (func != null) {
      try {
        return funcToString.call(func);
      } catch (e) {
      }
      try {
        return func + "";
      } catch (e) {
      }
    }
    return "";
  }
  _toSource = toSource;
  return _toSource;
}
var _baseIsNative;
var hasRequired_baseIsNative;
function require_baseIsNative() {
  if (hasRequired_baseIsNative) return _baseIsNative;
  hasRequired_baseIsNative = 1;
  var isFunction2 = requireIsFunction(), isMasked = require_isMasked(), isObject2 = requireIsObject(), toSource = require_toSource();
  var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
  var reIsHostCtor = /^\[object .+?Constructor\]$/;
  var funcProto = Function.prototype, objectProto = Object.prototype;
  var funcToString = funcProto.toString;
  var hasOwnProperty2 = objectProto.hasOwnProperty;
  var reIsNative = RegExp(
    "^" + funcToString.call(hasOwnProperty2).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
  );
  function baseIsNative(value2) {
    if (!isObject2(value2) || isMasked(value2)) {
      return false;
    }
    var pattern = isFunction2(value2) ? reIsNative : reIsHostCtor;
    return pattern.test(toSource(value2));
  }
  _baseIsNative = baseIsNative;
  return _baseIsNative;
}
var _getValue;
var hasRequired_getValue;
function require_getValue() {
  if (hasRequired_getValue) return _getValue;
  hasRequired_getValue = 1;
  function getValue(object, key) {
    return object == null ? void 0 : object[key];
  }
  _getValue = getValue;
  return _getValue;
}
var _getNative;
var hasRequired_getNative;
function require_getNative() {
  if (hasRequired_getNative) return _getNative;
  hasRequired_getNative = 1;
  var baseIsNative = require_baseIsNative(), getValue = require_getValue();
  function getNative(object, key) {
    var value2 = getValue(object, key);
    return baseIsNative(value2) ? value2 : void 0;
  }
  _getNative = getNative;
  return _getNative;
}
var _Map;
var hasRequired_Map;
function require_Map() {
  if (hasRequired_Map) return _Map;
  hasRequired_Map = 1;
  var getNative = require_getNative(), root7 = require_root();
  var Map2 = getNative(root7, "Map");
  _Map = Map2;
  return _Map;
}
var _nativeCreate;
var hasRequired_nativeCreate;
function require_nativeCreate() {
  if (hasRequired_nativeCreate) return _nativeCreate;
  hasRequired_nativeCreate = 1;
  var getNative = require_getNative();
  var nativeCreate = getNative(Object, "create");
  _nativeCreate = nativeCreate;
  return _nativeCreate;
}
var _hashClear;
var hasRequired_hashClear;
function require_hashClear() {
  if (hasRequired_hashClear) return _hashClear;
  hasRequired_hashClear = 1;
  var nativeCreate = require_nativeCreate();
  function hashClear() {
    this.__data__ = nativeCreate ? nativeCreate(null) : {};
    this.size = 0;
  }
  _hashClear = hashClear;
  return _hashClear;
}
var _hashDelete;
var hasRequired_hashDelete;
function require_hashDelete() {
  if (hasRequired_hashDelete) return _hashDelete;
  hasRequired_hashDelete = 1;
  function hashDelete(key) {
    var result = this.has(key) && delete this.__data__[key];
    this.size -= result ? 1 : 0;
    return result;
  }
  _hashDelete = hashDelete;
  return _hashDelete;
}
var _hashGet;
var hasRequired_hashGet;
function require_hashGet() {
  if (hasRequired_hashGet) return _hashGet;
  hasRequired_hashGet = 1;
  var nativeCreate = require_nativeCreate();
  var HASH_UNDEFINED = "__lodash_hash_undefined__";
  var objectProto = Object.prototype;
  var hasOwnProperty2 = objectProto.hasOwnProperty;
  function hashGet(key) {
    var data6 = this.__data__;
    if (nativeCreate) {
      var result = data6[key];
      return result === HASH_UNDEFINED ? void 0 : result;
    }
    return hasOwnProperty2.call(data6, key) ? data6[key] : void 0;
  }
  _hashGet = hashGet;
  return _hashGet;
}
var _hashHas;
var hasRequired_hashHas;
function require_hashHas() {
  if (hasRequired_hashHas) return _hashHas;
  hasRequired_hashHas = 1;
  var nativeCreate = require_nativeCreate();
  var objectProto = Object.prototype;
  var hasOwnProperty2 = objectProto.hasOwnProperty;
  function hashHas(key) {
    var data6 = this.__data__;
    return nativeCreate ? data6[key] !== void 0 : hasOwnProperty2.call(data6, key);
  }
  _hashHas = hashHas;
  return _hashHas;
}
var _hashSet;
var hasRequired_hashSet;
function require_hashSet() {
  if (hasRequired_hashSet) return _hashSet;
  hasRequired_hashSet = 1;
  var nativeCreate = require_nativeCreate();
  var HASH_UNDEFINED = "__lodash_hash_undefined__";
  function hashSet(key, value2) {
    var data6 = this.__data__;
    this.size += this.has(key) ? 0 : 1;
    data6[key] = nativeCreate && value2 === void 0 ? HASH_UNDEFINED : value2;
    return this;
  }
  _hashSet = hashSet;
  return _hashSet;
}
var _Hash;
var hasRequired_Hash;
function require_Hash() {
  if (hasRequired_Hash) return _Hash;
  hasRequired_Hash = 1;
  var hashClear = require_hashClear(), hashDelete = require_hashDelete(), hashGet = require_hashGet(), hashHas = require_hashHas(), hashSet = require_hashSet();
  function Hash(entries) {
    var index2 = -1, length = entries == null ? 0 : entries.length;
    this.clear();
    while (++index2 < length) {
      var entry = entries[index2];
      this.set(entry[0], entry[1]);
    }
  }
  Hash.prototype.clear = hashClear;
  Hash.prototype["delete"] = hashDelete;
  Hash.prototype.get = hashGet;
  Hash.prototype.has = hashHas;
  Hash.prototype.set = hashSet;
  _Hash = Hash;
  return _Hash;
}
var _mapCacheClear;
var hasRequired_mapCacheClear;
function require_mapCacheClear() {
  if (hasRequired_mapCacheClear) return _mapCacheClear;
  hasRequired_mapCacheClear = 1;
  var Hash = require_Hash(), ListCache = require_ListCache(), Map2 = require_Map();
  function mapCacheClear() {
    this.size = 0;
    this.__data__ = {
      "hash": new Hash(),
      "map": new (Map2 || ListCache)(),
      "string": new Hash()
    };
  }
  _mapCacheClear = mapCacheClear;
  return _mapCacheClear;
}
var _isKeyable;
var hasRequired_isKeyable;
function require_isKeyable() {
  if (hasRequired_isKeyable) return _isKeyable;
  hasRequired_isKeyable = 1;
  function isKeyable(value2) {
    var type = typeof value2;
    return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value2 !== "__proto__" : value2 === null;
  }
  _isKeyable = isKeyable;
  return _isKeyable;
}
var _getMapData;
var hasRequired_getMapData;
function require_getMapData() {
  if (hasRequired_getMapData) return _getMapData;
  hasRequired_getMapData = 1;
  var isKeyable = require_isKeyable();
  function getMapData(map, key) {
    var data6 = map.__data__;
    return isKeyable(key) ? data6[typeof key == "string" ? "string" : "hash"] : data6.map;
  }
  _getMapData = getMapData;
  return _getMapData;
}
var _mapCacheDelete;
var hasRequired_mapCacheDelete;
function require_mapCacheDelete() {
  if (hasRequired_mapCacheDelete) return _mapCacheDelete;
  hasRequired_mapCacheDelete = 1;
  var getMapData = require_getMapData();
  function mapCacheDelete(key) {
    var result = getMapData(this, key)["delete"](key);
    this.size -= result ? 1 : 0;
    return result;
  }
  _mapCacheDelete = mapCacheDelete;
  return _mapCacheDelete;
}
var _mapCacheGet;
var hasRequired_mapCacheGet;
function require_mapCacheGet() {
  if (hasRequired_mapCacheGet) return _mapCacheGet;
  hasRequired_mapCacheGet = 1;
  var getMapData = require_getMapData();
  function mapCacheGet(key) {
    return getMapData(this, key).get(key);
  }
  _mapCacheGet = mapCacheGet;
  return _mapCacheGet;
}
var _mapCacheHas;
var hasRequired_mapCacheHas;
function require_mapCacheHas() {
  if (hasRequired_mapCacheHas) return _mapCacheHas;
  hasRequired_mapCacheHas = 1;
  var getMapData = require_getMapData();
  function mapCacheHas(key) {
    return getMapData(this, key).has(key);
  }
  _mapCacheHas = mapCacheHas;
  return _mapCacheHas;
}
var _mapCacheSet;
var hasRequired_mapCacheSet;
function require_mapCacheSet() {
  if (hasRequired_mapCacheSet) return _mapCacheSet;
  hasRequired_mapCacheSet = 1;
  var getMapData = require_getMapData();
  function mapCacheSet(key, value2) {
    var data6 = getMapData(this, key), size = data6.size;
    data6.set(key, value2);
    this.size += data6.size == size ? 0 : 1;
    return this;
  }
  _mapCacheSet = mapCacheSet;
  return _mapCacheSet;
}
var _MapCache;
var hasRequired_MapCache;
function require_MapCache() {
  if (hasRequired_MapCache) return _MapCache;
  hasRequired_MapCache = 1;
  var mapCacheClear = require_mapCacheClear(), mapCacheDelete = require_mapCacheDelete(), mapCacheGet = require_mapCacheGet(), mapCacheHas = require_mapCacheHas(), mapCacheSet = require_mapCacheSet();
  function MapCache(entries) {
    var index2 = -1, length = entries == null ? 0 : entries.length;
    this.clear();
    while (++index2 < length) {
      var entry = entries[index2];
      this.set(entry[0], entry[1]);
    }
  }
  MapCache.prototype.clear = mapCacheClear;
  MapCache.prototype["delete"] = mapCacheDelete;
  MapCache.prototype.get = mapCacheGet;
  MapCache.prototype.has = mapCacheHas;
  MapCache.prototype.set = mapCacheSet;
  _MapCache = MapCache;
  return _MapCache;
}
var _stackSet;
var hasRequired_stackSet;
function require_stackSet() {
  if (hasRequired_stackSet) return _stackSet;
  hasRequired_stackSet = 1;
  var ListCache = require_ListCache(), Map2 = require_Map(), MapCache = require_MapCache();
  var LARGE_ARRAY_SIZE = 200;
  function stackSet(key, value2) {
    var data6 = this.__data__;
    if (data6 instanceof ListCache) {
      var pairs = data6.__data__;
      if (!Map2 || pairs.length < LARGE_ARRAY_SIZE - 1) {
        pairs.push([key, value2]);
        this.size = ++data6.size;
        return this;
      }
      data6 = this.__data__ = new MapCache(pairs);
    }
    data6.set(key, value2);
    this.size = data6.size;
    return this;
  }
  _stackSet = stackSet;
  return _stackSet;
}
var _Stack;
var hasRequired_Stack;
function require_Stack() {
  if (hasRequired_Stack) return _Stack;
  hasRequired_Stack = 1;
  var ListCache = require_ListCache(), stackClear = require_stackClear(), stackDelete = require_stackDelete(), stackGet = require_stackGet(), stackHas = require_stackHas(), stackSet = require_stackSet();
  function Stack(entries) {
    var data6 = this.__data__ = new ListCache(entries);
    this.size = data6.size;
  }
  Stack.prototype.clear = stackClear;
  Stack.prototype["delete"] = stackDelete;
  Stack.prototype.get = stackGet;
  Stack.prototype.has = stackHas;
  Stack.prototype.set = stackSet;
  _Stack = Stack;
  return _Stack;
}
var _setCacheAdd;
var hasRequired_setCacheAdd;
function require_setCacheAdd() {
  if (hasRequired_setCacheAdd) return _setCacheAdd;
  hasRequired_setCacheAdd = 1;
  var HASH_UNDEFINED = "__lodash_hash_undefined__";
  function setCacheAdd(value2) {
    this.__data__.set(value2, HASH_UNDEFINED);
    return this;
  }
  _setCacheAdd = setCacheAdd;
  return _setCacheAdd;
}
var _setCacheHas;
var hasRequired_setCacheHas;
function require_setCacheHas() {
  if (hasRequired_setCacheHas) return _setCacheHas;
  hasRequired_setCacheHas = 1;
  function setCacheHas(value2) {
    return this.__data__.has(value2);
  }
  _setCacheHas = setCacheHas;
  return _setCacheHas;
}
var _SetCache;
var hasRequired_SetCache;
function require_SetCache() {
  if (hasRequired_SetCache) return _SetCache;
  hasRequired_SetCache = 1;
  var MapCache = require_MapCache(), setCacheAdd = require_setCacheAdd(), setCacheHas = require_setCacheHas();
  function SetCache(values) {
    var index2 = -1, length = values == null ? 0 : values.length;
    this.__data__ = new MapCache();
    while (++index2 < length) {
      this.add(values[index2]);
    }
  }
  SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
  SetCache.prototype.has = setCacheHas;
  _SetCache = SetCache;
  return _SetCache;
}
var _arraySome;
var hasRequired_arraySome;
function require_arraySome() {
  if (hasRequired_arraySome) return _arraySome;
  hasRequired_arraySome = 1;
  function arraySome(array, predicate) {
    var index2 = -1, length = array == null ? 0 : array.length;
    while (++index2 < length) {
      if (predicate(array[index2], index2, array)) {
        return true;
      }
    }
    return false;
  }
  _arraySome = arraySome;
  return _arraySome;
}
var _cacheHas;
var hasRequired_cacheHas;
function require_cacheHas() {
  if (hasRequired_cacheHas) return _cacheHas;
  hasRequired_cacheHas = 1;
  function cacheHas(cache, key) {
    return cache.has(key);
  }
  _cacheHas = cacheHas;
  return _cacheHas;
}
var _equalArrays;
var hasRequired_equalArrays;
function require_equalArrays() {
  if (hasRequired_equalArrays) return _equalArrays;
  hasRequired_equalArrays = 1;
  var SetCache = require_SetCache(), arraySome = require_arraySome(), cacheHas = require_cacheHas();
  var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2;
  function equalArrays(array, other, bitmask, customizer, equalFunc, stack2) {
    var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array.length, othLength = other.length;
    if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
      return false;
    }
    var arrStacked = stack2.get(array);
    var othStacked = stack2.get(other);
    if (arrStacked && othStacked) {
      return arrStacked == other && othStacked == array;
    }
    var index2 = -1, result = true, seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : void 0;
    stack2.set(array, other);
    stack2.set(other, array);
    while (++index2 < arrLength) {
      var arrValue = array[index2], othValue = other[index2];
      if (customizer) {
        var compared = isPartial ? customizer(othValue, arrValue, index2, other, array, stack2) : customizer(arrValue, othValue, index2, array, other, stack2);
      }
      if (compared !== void 0) {
        if (compared) {
          continue;
        }
        result = false;
        break;
      }
      if (seen) {
        if (!arraySome(other, function(othValue2, othIndex) {
          if (!cacheHas(seen, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack2))) {
            return seen.push(othIndex);
          }
        })) {
          result = false;
          break;
        }
      } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack2))) {
        result = false;
        break;
      }
    }
    stack2["delete"](array);
    stack2["delete"](other);
    return result;
  }
  _equalArrays = equalArrays;
  return _equalArrays;
}
var _Uint8Array;
var hasRequired_Uint8Array;
function require_Uint8Array() {
  if (hasRequired_Uint8Array) return _Uint8Array;
  hasRequired_Uint8Array = 1;
  var root7 = require_root();
  var Uint8Array2 = root7.Uint8Array;
  _Uint8Array = Uint8Array2;
  return _Uint8Array;
}
var _mapToArray;
var hasRequired_mapToArray;
function require_mapToArray() {
  if (hasRequired_mapToArray) return _mapToArray;
  hasRequired_mapToArray = 1;
  function mapToArray(map) {
    var index2 = -1, result = Array(map.size);
    map.forEach(function(value2, key) {
      result[++index2] = [key, value2];
    });
    return result;
  }
  _mapToArray = mapToArray;
  return _mapToArray;
}
var _setToArray;
var hasRequired_setToArray;
function require_setToArray() {
  if (hasRequired_setToArray) return _setToArray;
  hasRequired_setToArray = 1;
  function setToArray(set2) {
    var index2 = -1, result = Array(set2.size);
    set2.forEach(function(value2) {
      result[++index2] = value2;
    });
    return result;
  }
  _setToArray = setToArray;
  return _setToArray;
}
var _equalByTag;
var hasRequired_equalByTag;
function require_equalByTag() {
  if (hasRequired_equalByTag) return _equalByTag;
  hasRequired_equalByTag = 1;
  var Symbol2 = require_Symbol(), Uint8Array2 = require_Uint8Array(), eq = requireEq(), equalArrays = require_equalArrays(), mapToArray = require_mapToArray(), setToArray = require_setToArray();
  var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2;
  var boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", mapTag = "[object Map]", numberTag = "[object Number]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", symbolTag = "[object Symbol]";
  var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]";
  var symbolProto = Symbol2 ? Symbol2.prototype : void 0, symbolValueOf = symbolProto ? symbolProto.valueOf : void 0;
  function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack2) {
    switch (tag) {
      case dataViewTag:
        if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {
          return false;
        }
        object = object.buffer;
        other = other.buffer;
      case arrayBufferTag:
        if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array2(object), new Uint8Array2(other))) {
          return false;
        }
        return true;
      case boolTag:
      case dateTag:
      case numberTag:
        return eq(+object, +other);
      case errorTag:
        return object.name == other.name && object.message == other.message;
      case regexpTag:
      case stringTag:
        return object == other + "";
      case mapTag:
        var convert2 = mapToArray;
      case setTag:
        var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
        convert2 || (convert2 = setToArray);
        if (object.size != other.size && !isPartial) {
          return false;
        }
        var stacked = stack2.get(object);
        if (stacked) {
          return stacked == other;
        }
        bitmask |= COMPARE_UNORDERED_FLAG;
        stack2.set(object, other);
        var result = equalArrays(convert2(object), convert2(other), bitmask, customizer, equalFunc, stack2);
        stack2["delete"](object);
        return result;
      case symbolTag:
        if (symbolValueOf) {
          return symbolValueOf.call(object) == symbolValueOf.call(other);
        }
    }
    return false;
  }
  _equalByTag = equalByTag;
  return _equalByTag;
}
var _arrayPush;
var hasRequired_arrayPush;
function require_arrayPush() {
  if (hasRequired_arrayPush) return _arrayPush;
  hasRequired_arrayPush = 1;
  function arrayPush(array, values) {
    var index2 = -1, length = values.length, offset = array.length;
    while (++index2 < length) {
      array[offset + index2] = values[index2];
    }
    return array;
  }
  _arrayPush = arrayPush;
  return _arrayPush;
}
var _baseGetAllKeys;
var hasRequired_baseGetAllKeys;
function require_baseGetAllKeys() {
  if (hasRequired_baseGetAllKeys) return _baseGetAllKeys;
  hasRequired_baseGetAllKeys = 1;
  var arrayPush = require_arrayPush(), isArray2 = requireIsArray();
  function baseGetAllKeys(object, keysFunc, symbolsFunc) {
    var result = keysFunc(object);
    return isArray2(object) ? result : arrayPush(result, symbolsFunc(object));
  }
  _baseGetAllKeys = baseGetAllKeys;
  return _baseGetAllKeys;
}
var _arrayFilter;
var hasRequired_arrayFilter;
function require_arrayFilter() {
  if (hasRequired_arrayFilter) return _arrayFilter;
  hasRequired_arrayFilter = 1;
  function arrayFilter(array, predicate) {
    var index2 = -1, length = array == null ? 0 : array.length, resIndex = 0, result = [];
    while (++index2 < length) {
      var value2 = array[index2];
      if (predicate(value2, index2, array)) {
        result[resIndex++] = value2;
      }
    }
    return result;
  }
  _arrayFilter = arrayFilter;
  return _arrayFilter;
}
var stubArray_1;
var hasRequiredStubArray;
function requireStubArray() {
  if (hasRequiredStubArray) return stubArray_1;
  hasRequiredStubArray = 1;
  function stubArray() {
    return [];
  }
  stubArray_1 = stubArray;
  return stubArray_1;
}
var _getSymbols;
var hasRequired_getSymbols;
function require_getSymbols() {
  if (hasRequired_getSymbols) return _getSymbols;
  hasRequired_getSymbols = 1;
  var arrayFilter = require_arrayFilter(), stubArray = requireStubArray();
  var objectProto = Object.prototype;
  var propertyIsEnumerable = objectProto.propertyIsEnumerable;
  var nativeGetSymbols = Object.getOwnPropertySymbols;
  var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
    if (object == null) {
      return [];
    }
    object = Object(object);
    return arrayFilter(nativeGetSymbols(object), function(symbol) {
      return propertyIsEnumerable.call(object, symbol);
    });
  };
  _getSymbols = getSymbols;
  return _getSymbols;
}
var _getAllKeys;
var hasRequired_getAllKeys;
function require_getAllKeys() {
  if (hasRequired_getAllKeys) return _getAllKeys;
  hasRequired_getAllKeys = 1;
  var baseGetAllKeys = require_baseGetAllKeys(), getSymbols = require_getSymbols(), keys = requireKeys();
  function getAllKeys(object) {
    return baseGetAllKeys(object, keys, getSymbols);
  }
  _getAllKeys = getAllKeys;
  return _getAllKeys;
}
var _equalObjects;
var hasRequired_equalObjects;
function require_equalObjects() {
  if (hasRequired_equalObjects) return _equalObjects;
  hasRequired_equalObjects = 1;
  var getAllKeys = require_getAllKeys();
  var COMPARE_PARTIAL_FLAG = 1;
  var objectProto = Object.prototype;
  var hasOwnProperty2 = objectProto.hasOwnProperty;
  function equalObjects(object, other, bitmask, customizer, equalFunc, stack2) {
    var isPartial = bitmask & COMPARE_PARTIAL_FLAG, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length;
    if (objLength != othLength && !isPartial) {
      return false;
    }
    var index2 = objLength;
    while (index2--) {
      var key = objProps[index2];
      if (!(isPartial ? key in other : hasOwnProperty2.call(other, key))) {
        return false;
      }
    }
    var objStacked = stack2.get(object);
    var othStacked = stack2.get(other);
    if (objStacked && othStacked) {
      return objStacked == other && othStacked == object;
    }
    var result = true;
    stack2.set(object, other);
    stack2.set(other, object);
    var skipCtor = isPartial;
    while (++index2 < objLength) {
      key = objProps[index2];
      var objValue = object[key], othValue = other[key];
      if (customizer) {
        var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack2) : customizer(objValue, othValue, key, object, other, stack2);
      }
      if (!(compared === void 0 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack2) : compared)) {
        result = false;
        break;
      }
      skipCtor || (skipCtor = key == "constructor");
    }
    if (result && !skipCtor) {
      var objCtor = object.constructor, othCtor = other.constructor;
      if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) {
        result = false;
      }
    }
    stack2["delete"](object);
    stack2["delete"](other);
    return result;
  }
  _equalObjects = equalObjects;
  return _equalObjects;
}
var _DataView;
var hasRequired_DataView;
function require_DataView() {
  if (hasRequired_DataView) return _DataView;
  hasRequired_DataView = 1;
  var getNative = require_getNative(), root7 = require_root();
  var DataView = getNative(root7, "DataView");
  _DataView = DataView;
  return _DataView;
}
var _Promise;
var hasRequired_Promise;
function require_Promise() {
  if (hasRequired_Promise) return _Promise;
  hasRequired_Promise = 1;
  var getNative = require_getNative(), root7 = require_root();
  var Promise2 = getNative(root7, "Promise");
  _Promise = Promise2;
  return _Promise;
}
var _Set;
var hasRequired_Set;
function require_Set() {
  if (hasRequired_Set) return _Set;
  hasRequired_Set = 1;
  var getNative = require_getNative(), root7 = require_root();
  var Set2 = getNative(root7, "Set");
  _Set = Set2;
  return _Set;
}
var _WeakMap;
var hasRequired_WeakMap;
function require_WeakMap() {
  if (hasRequired_WeakMap) return _WeakMap;
  hasRequired_WeakMap = 1;
  var getNative = require_getNative(), root7 = require_root();
  var WeakMap2 = getNative(root7, "WeakMap");
  _WeakMap = WeakMap2;
  return _WeakMap;
}
var _getTag;
var hasRequired_getTag;
function require_getTag() {
  if (hasRequired_getTag) return _getTag;
  hasRequired_getTag = 1;
  var DataView = require_DataView(), Map2 = require_Map(), Promise2 = require_Promise(), Set2 = require_Set(), WeakMap2 = require_WeakMap(), baseGetTag = require_baseGetTag(), toSource = require_toSource();
  var mapTag = "[object Map]", objectTag = "[object Object]", promiseTag = "[object Promise]", setTag = "[object Set]", weakMapTag = "[object WeakMap]";
  var dataViewTag = "[object DataView]";
  var dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map2), promiseCtorString = toSource(Promise2), setCtorString = toSource(Set2), weakMapCtorString = toSource(WeakMap2);
  var getTag = baseGetTag;
  if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map2 && getTag(new Map2()) != mapTag || Promise2 && getTag(Promise2.resolve()) != promiseTag || Set2 && getTag(new Set2()) != setTag || WeakMap2 && getTag(new WeakMap2()) != weakMapTag) {
    getTag = function(value2) {
      var result = baseGetTag(value2), Ctor = result == objectTag ? value2.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : "";
      if (ctorString) {
        switch (ctorString) {
          case dataViewCtorString:
            return dataViewTag;
          case mapCtorString:
            return mapTag;
          case promiseCtorString:
            return promiseTag;
          case setCtorString:
            return setTag;
          case weakMapCtorString:
            return weakMapTag;
        }
      }
      return result;
    };
  }
  _getTag = getTag;
  return _getTag;
}
var _baseIsEqualDeep;
var hasRequired_baseIsEqualDeep;
function require_baseIsEqualDeep() {
  if (hasRequired_baseIsEqualDeep) return _baseIsEqualDeep;
  hasRequired_baseIsEqualDeep = 1;
  var Stack = require_Stack(), equalArrays = require_equalArrays(), equalByTag = require_equalByTag(), equalObjects = require_equalObjects(), getTag = require_getTag(), isArray2 = requireIsArray(), isBuffer2 = requireIsBuffer(), isTypedArray2 = requireIsTypedArray();
  var COMPARE_PARTIAL_FLAG = 1;
  var argsTag = "[object Arguments]", arrayTag = "[object Array]", objectTag = "[object Object]";
  var objectProto = Object.prototype;
  var hasOwnProperty2 = objectProto.hasOwnProperty;
  function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack2) {
    var objIsArr = isArray2(object), othIsArr = isArray2(other), objTag = objIsArr ? arrayTag : getTag(object), othTag = othIsArr ? arrayTag : getTag(other);
    objTag = objTag == argsTag ? objectTag : objTag;
    othTag = othTag == argsTag ? objectTag : othTag;
    var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag;
    if (isSameTag && isBuffer2(object)) {
      if (!isBuffer2(other)) {
        return false;
      }
      objIsArr = true;
      objIsObj = false;
    }
    if (isSameTag && !objIsObj) {
      stack2 || (stack2 = new Stack());
      return objIsArr || isTypedArray2(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack2) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack2);
    }
    if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
      var objIsWrapped = objIsObj && hasOwnProperty2.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty2.call(other, "__wrapped__");
      if (objIsWrapped || othIsWrapped) {
        var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other;
        stack2 || (stack2 = new Stack());
        return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack2);
      }
    }
    if (!isSameTag) {
      return false;
    }
    stack2 || (stack2 = new Stack());
    return equalObjects(object, other, bitmask, customizer, equalFunc, stack2);
  }
  _baseIsEqualDeep = baseIsEqualDeep;
  return _baseIsEqualDeep;
}
var _baseIsEqual;
var hasRequired_baseIsEqual;
function require_baseIsEqual() {
  if (hasRequired_baseIsEqual) return _baseIsEqual;
  hasRequired_baseIsEqual = 1;
  var baseIsEqualDeep = require_baseIsEqualDeep(), isObjectLike = requireIsObjectLike();
  function baseIsEqual(value2, other, bitmask, customizer, stack2) {
    if (value2 === other) {
      return true;
    }
    if (value2 == null || other == null || !isObjectLike(value2) && !isObjectLike(other)) {
      return value2 !== value2 && other !== other;
    }
    return baseIsEqualDeep(value2, other, bitmask, customizer, baseIsEqual, stack2);
  }
  _baseIsEqual = baseIsEqual;
  return _baseIsEqual;
}
var _baseIsMatch;
var hasRequired_baseIsMatch;
function require_baseIsMatch() {
  if (hasRequired_baseIsMatch) return _baseIsMatch;
  hasRequired_baseIsMatch = 1;
  var Stack = require_Stack(), baseIsEqual = require_baseIsEqual();
  var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2;
  function baseIsMatch(object, source, matchData, customizer) {
    var index2 = matchData.length, length = index2, noCustomizer = !customizer;
    if (object == null) {
      return !length;
    }
    object = Object(object);
    while (index2--) {
      var data6 = matchData[index2];
      if (noCustomizer && data6[2] ? data6[1] !== object[data6[0]] : !(data6[0] in object)) {
        return false;
      }
    }
    while (++index2 < length) {
      data6 = matchData[index2];
      var key = data6[0], objValue = object[key], srcValue = data6[1];
      if (noCustomizer && data6[2]) {
        if (objValue === void 0 && !(key in object)) {
          return false;
        }
      } else {
        var stack2 = new Stack();
        if (customizer) {
          var result = customizer(objValue, srcValue, key, object, source, stack2);
        }
        if (!(result === void 0 ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack2) : result)) {
          return false;
        }
      }
    }
    return true;
  }
  _baseIsMatch = baseIsMatch;
  return _baseIsMatch;
}
var _isStrictComparable;
var hasRequired_isStrictComparable;
function require_isStrictComparable() {
  if (hasRequired_isStrictComparable) return _isStrictComparable;
  hasRequired_isStrictComparable = 1;
  var isObject2 = requireIsObject();
  function isStrictComparable(value2) {
    return value2 === value2 && !isObject2(value2);
  }
  _isStrictComparable = isStrictComparable;
  return _isStrictComparable;
}
var _getMatchData;
var hasRequired_getMatchData;
function require_getMatchData() {
  if (hasRequired_getMatchData) return _getMatchData;
  hasRequired_getMatchData = 1;
  var isStrictComparable = require_isStrictComparable(), keys = requireKeys();
  function getMatchData(object) {
    var result = keys(object), length = result.length;
    while (length--) {
      var key = result[length], value2 = object[key];
      result[length] = [key, value2, isStrictComparable(value2)];
    }
    return result;
  }
  _getMatchData = getMatchData;
  return _getMatchData;
}
var _matchesStrictComparable;
var hasRequired_matchesStrictComparable;
function require_matchesStrictComparable() {
  if (hasRequired_matchesStrictComparable) return _matchesStrictComparable;
  hasRequired_matchesStrictComparable = 1;
  function matchesStrictComparable(key, srcValue) {
    return function(object) {
      if (object == null) {
        return false;
      }
      return object[key] === srcValue && (srcValue !== void 0 || key in Object(object));
    };
  }
  _matchesStrictComparable = matchesStrictComparable;
  return _matchesStrictComparable;
}
var _baseMatches;
var hasRequired_baseMatches;
function require_baseMatches() {
  if (hasRequired_baseMatches) return _baseMatches;
  hasRequired_baseMatches = 1;
  var baseIsMatch = require_baseIsMatch(), getMatchData = require_getMatchData(), matchesStrictComparable = require_matchesStrictComparable();
  function baseMatches(source) {
    var matchData = getMatchData(source);
    if (matchData.length == 1 && matchData[0][2]) {
      return matchesStrictComparable(matchData[0][0], matchData[0][1]);
    }
    return function(object) {
      return object === source || baseIsMatch(object, source, matchData);
    };
  }
  _baseMatches = baseMatches;
  return _baseMatches;
}
var isSymbol_1;
var hasRequiredIsSymbol;
function requireIsSymbol() {
  if (hasRequiredIsSymbol) return isSymbol_1;
  hasRequiredIsSymbol = 1;
  var baseGetTag = require_baseGetTag(), isObjectLike = requireIsObjectLike();
  var symbolTag = "[object Symbol]";
  function isSymbol2(value2) {
    return typeof value2 == "symbol" || isObjectLike(value2) && baseGetTag(value2) == symbolTag;
  }
  isSymbol_1 = isSymbol2;
  return isSymbol_1;
}
var _isKey;
var hasRequired_isKey;
function require_isKey() {
  if (hasRequired_isKey) return _isKey;
  hasRequired_isKey = 1;
  var isArray2 = requireIsArray(), isSymbol2 = requireIsSymbol();
  var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp = /^\w*$/;
  function isKey(value2, object) {
    if (isArray2(value2)) {
      return false;
    }
    var type = typeof value2;
    if (type == "number" || type == "symbol" || type == "boolean" || value2 == null || isSymbol2(value2)) {
      return true;
    }
    return reIsPlainProp.test(value2) || !reIsDeepProp.test(value2) || object != null && value2 in Object(object);
  }
  _isKey = isKey;
  return _isKey;
}
var memoize_1;
var hasRequiredMemoize;
function requireMemoize() {
  if (hasRequiredMemoize) return memoize_1;
  hasRequiredMemoize = 1;
  var MapCache = require_MapCache();
  var FUNC_ERROR_TEXT = "Expected a function";
  function memoize(func, resolver) {
    if (typeof func != "function" || resolver != null && typeof resolver != "function") {
      throw new TypeError(FUNC_ERROR_TEXT);
    }
    var memoized = function() {
      var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;
      if (cache.has(key)) {
        return cache.get(key);
      }
      var result = func.apply(this, args);
      memoized.cache = cache.set(key, result) || cache;
      return result;
    };
    memoized.cache = new (memoize.Cache || MapCache)();
    return memoized;
  }
  memoize.Cache = MapCache;
  memoize_1 = memoize;
  return memoize_1;
}
var _memoizeCapped;
var hasRequired_memoizeCapped;
function require_memoizeCapped() {
  if (hasRequired_memoizeCapped) return _memoizeCapped;
  hasRequired_memoizeCapped = 1;
  var memoize = requireMemoize();
  var MAX_MEMOIZE_SIZE = 500;
  function memoizeCapped(func) {
    var result = memoize(func, function(key) {
      if (cache.size === MAX_MEMOIZE_SIZE) {
        cache.clear();
      }
      return key;
    });
    var cache = result.cache;
    return result;
  }
  _memoizeCapped = memoizeCapped;
  return _memoizeCapped;
}
var _stringToPath;
var hasRequired_stringToPath;
function require_stringToPath() {
  if (hasRequired_stringToPath) return _stringToPath;
  hasRequired_stringToPath = 1;
  var memoizeCapped = require_memoizeCapped();
  var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
  var reEscapeChar = /\\(\\)?/g;
  var stringToPath = memoizeCapped(function(string) {
    var result = [];
    if (string.charCodeAt(0) === 46) {
      result.push("");
    }
    string.replace(rePropName, function(match2, number, quote, subString) {
      result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match2);
    });
    return result;
  });
  _stringToPath = stringToPath;
  return _stringToPath;
}
var _arrayMap;
var hasRequired_arrayMap;
function require_arrayMap() {
  if (hasRequired_arrayMap) return _arrayMap;
  hasRequired_arrayMap = 1;
  function arrayMap(array, iteratee) {
    var index2 = -1, length = array == null ? 0 : array.length, result = Array(length);
    while (++index2 < length) {
      result[index2] = iteratee(array[index2], index2, array);
    }
    return result;
  }
  _arrayMap = arrayMap;
  return _arrayMap;
}
var _baseToString;
var hasRequired_baseToString;
function require_baseToString() {
  if (hasRequired_baseToString) return _baseToString;
  hasRequired_baseToString = 1;
  var Symbol2 = require_Symbol(), arrayMap = require_arrayMap(), isArray2 = requireIsArray(), isSymbol2 = requireIsSymbol();
  var symbolProto = Symbol2 ? Symbol2.prototype : void 0, symbolToString = symbolProto ? symbolProto.toString : void 0;
  function baseToString(value2) {
    if (typeof value2 == "string") {
      return value2;
    }
    if (isArray2(value2)) {
      return arrayMap(value2, baseToString) + "";
    }
    if (isSymbol2(value2)) {
      return symbolToString ? symbolToString.call(value2) : "";
    }
    var result = value2 + "";
    return result == "0" && 1 / value2 == -Infinity ? "-0" : result;
  }
  _baseToString = baseToString;
  return _baseToString;
}
var toString_1;
var hasRequiredToString;
function requireToString() {
  if (hasRequiredToString) return toString_1;
  hasRequiredToString = 1;
  var baseToString = require_baseToString();
  function toString3(value2) {
    return value2 == null ? "" : baseToString(value2);
  }
  toString_1 = toString3;
  return toString_1;
}
var _castPath;
var hasRequired_castPath;
function require_castPath() {
  if (hasRequired_castPath) return _castPath;
  hasRequired_castPath = 1;
  var isArray2 = requireIsArray(), isKey = require_isKey(), stringToPath = require_stringToPath(), toString3 = requireToString();
  function castPath(value2, object) {
    if (isArray2(value2)) {
      return value2;
    }
    return isKey(value2, object) ? [value2] : stringToPath(toString3(value2));
  }
  _castPath = castPath;
  return _castPath;
}
var _toKey;
var hasRequired_toKey;
function require_toKey() {
  if (hasRequired_toKey) return _toKey;
  hasRequired_toKey = 1;
  var isSymbol2 = requireIsSymbol();
  function toKey(value2) {
    if (typeof value2 == "string" || isSymbol2(value2)) {
      return value2;
    }
    var result = value2 + "";
    return result == "0" && 1 / value2 == -Infinity ? "-0" : result;
  }
  _toKey = toKey;
  return _toKey;
}
var _baseGet;
var hasRequired_baseGet;
function require_baseGet() {
  if (hasRequired_baseGet) return _baseGet;
  hasRequired_baseGet = 1;
  var castPath = require_castPath(), toKey = require_toKey();
  function baseGet(object, path) {
    path = castPath(path, object);
    var index2 = 0, length = path.length;
    while (object != null && index2 < length) {
      object = object[toKey(path[index2++])];
    }
    return index2 && index2 == length ? object : void 0;
  }
  _baseGet = baseGet;
  return _baseGet;
}
var get_1;
var hasRequiredGet;
function requireGet() {
  if (hasRequiredGet) return get_1;
  hasRequiredGet = 1;
  var baseGet = require_baseGet();
  function get2(object, path, defaultValue) {
    var result = object == null ? void 0 : baseGet(object, path);
    return result === void 0 ? defaultValue : result;
  }
  get_1 = get2;
  return get_1;
}
var _baseHasIn;
var hasRequired_baseHasIn;
function require_baseHasIn() {
  if (hasRequired_baseHasIn) return _baseHasIn;
  hasRequired_baseHasIn = 1;
  function baseHasIn(object, key) {
    return object != null && key in Object(object);
  }
  _baseHasIn = baseHasIn;
  return _baseHasIn;
}
var _hasPath;
var hasRequired_hasPath;
function require_hasPath() {
  if (hasRequired_hasPath) return _hasPath;
  hasRequired_hasPath = 1;
  var castPath = require_castPath(), isArguments = requireIsArguments(), isArray2 = requireIsArray(), isIndex = require_isIndex(), isLength = requireIsLength(), toKey = require_toKey();
  function hasPath(object, path, hasFunc) {
    path = castPath(path, object);
    var index2 = -1, length = path.length, result = false;
    while (++index2 < length) {
      var key = toKey(path[index2]);
      if (!(result = object != null && hasFunc(object, key))) {
        break;
      }
      object = object[key];
    }
    if (result || ++index2 != length) {
      return result;
    }
    length = object == null ? 0 : object.length;
    return !!length && isLength(length) && isIndex(key, length) && (isArray2(object) || isArguments(object));
  }
  _hasPath = hasPath;
  return _hasPath;
}
var hasIn_1;
var hasRequiredHasIn;
function requireHasIn() {
  if (hasRequiredHasIn) return hasIn_1;
  hasRequiredHasIn = 1;
  var baseHasIn = require_baseHasIn(), hasPath = require_hasPath();
  function hasIn(object, path) {
    return object != null && hasPath(object, path, baseHasIn);
  }
  hasIn_1 = hasIn;
  return hasIn_1;
}
var _baseMatchesProperty;
var hasRequired_baseMatchesProperty;
function require_baseMatchesProperty() {
  if (hasRequired_baseMatchesProperty) return _baseMatchesProperty;
  hasRequired_baseMatchesProperty = 1;
  var baseIsEqual = require_baseIsEqual(), get2 = requireGet(), hasIn = requireHasIn(), isKey = require_isKey(), isStrictComparable = require_isStrictComparable(), matchesStrictComparable = require_matchesStrictComparable(), toKey = require_toKey();
  var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2;
  function baseMatchesProperty(path, srcValue) {
    if (isKey(path) && isStrictComparable(srcValue)) {
      return matchesStrictComparable(toKey(path), srcValue);
    }
    return function(object) {
      var objValue = get2(object, path);
      return objValue === void 0 && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
    };
  }
  _baseMatchesProperty = baseMatchesProperty;
  return _baseMatchesProperty;
}
var identity_1;
var hasRequiredIdentity;
function requireIdentity() {
  if (hasRequiredIdentity) return identity_1;
  hasRequiredIdentity = 1;
  function identity(value2) {
    return value2;
  }
  identity_1 = identity;
  return identity_1;
}
var _baseProperty;
var hasRequired_baseProperty;
function require_baseProperty() {
  if (hasRequired_baseProperty) return _baseProperty;
  hasRequired_baseProperty = 1;
  function baseProperty(key) {
    return function(object) {
      return object == null ? void 0 : object[key];
    };
  }
  _baseProperty = baseProperty;
  return _baseProperty;
}
var _basePropertyDeep;
var hasRequired_basePropertyDeep;
function require_basePropertyDeep() {
  if (hasRequired_basePropertyDeep) return _basePropertyDeep;
  hasRequired_basePropertyDeep = 1;
  var baseGet = require_baseGet();
  function basePropertyDeep(path) {
    return function(object) {
      return baseGet(object, path);
    };
  }
  _basePropertyDeep = basePropertyDeep;
  return _basePropertyDeep;
}
var property_1;
var hasRequiredProperty;
function requireProperty() {
  if (hasRequiredProperty) return property_1;
  hasRequiredProperty = 1;
  var baseProperty = require_baseProperty(), basePropertyDeep = require_basePropertyDeep(), isKey = require_isKey(), toKey = require_toKey();
  function property(path) {
    return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
  }
  property_1 = property;
  return property_1;
}
var _baseIteratee;
var hasRequired_baseIteratee;
function require_baseIteratee() {
  if (hasRequired_baseIteratee) return _baseIteratee;
  hasRequired_baseIteratee = 1;
  var baseMatches = require_baseMatches(), baseMatchesProperty = require_baseMatchesProperty(), identity = requireIdentity(), isArray2 = requireIsArray(), property = requireProperty();
  function baseIteratee(value2) {
    if (typeof value2 == "function") {
      return value2;
    }
    if (value2 == null) {
      return identity;
    }
    if (typeof value2 == "object") {
      return isArray2(value2) ? baseMatchesProperty(value2[0], value2[1]) : baseMatches(value2);
    }
    return property(value2);
  }
  _baseIteratee = baseIteratee;
  return _baseIteratee;
}
var findKey_1;
var hasRequiredFindKey;
function requireFindKey() {
  if (hasRequiredFindKey) return findKey_1;
  hasRequiredFindKey = 1;
  var baseFindKey = require_baseFindKey(), baseForOwn = require_baseForOwn(), baseIteratee = require_baseIteratee();
  function findKey2(object, predicate) {
    return baseFindKey(object, baseIteratee(predicate, 3), baseForOwn);
  }
  findKey_1 = findKey2;
  return findKey_1;
}
var findKeyExports = requireFindKey();
const findKey$2 = /* @__PURE__ */ getDefaultExportFromCjs(findKeyExports);
const useIndexStore = /* @__PURE__ */ defineStore("index", () => {
  const dashboardLoaded = ref(false), debug = false, loadingCount = ref(0), scriptName = "WaniKani Stats", stages = ref({
    apprentice: [1, 2, 3, 4],
    burned: [9],
    enlightened: [8],
    guru: [5, 6],
    initiate: [0],
    locked: [-1],
    master: [7]
  }), types = ref({
    kana_vocabulary: "Kana Vocab",
    kanji: "Kanji",
    radical: "Radicals",
    vocabulary: "Vocabulary"
  }), visible = ref(false);
  const loading = computed(() => loadingCount.value > 0), stageNumberToName = (stage) => {
    debugger;
    return findKey$2(stages.value, (s2) => s2.includes(stage));
  };
  return { dashboardLoaded, debug, loading, scriptName, stageNumberToName, stages, types, visible };
});
const _hoisted_1$8 = { class: "sitemap__section" };
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
  __name: "StatsButton",
  setup(__props) {
    const indexStore = useIndexStore();
    onMounted(() => {
    });
    const toggle2 = () => {
      const stats = document.getElementById("divStats");
      const wk = document.getElementsByClassName("dashboard__content")[0];
      Array.from([stats, wk]).forEach((element) => {
        if (element != null) {
          if (element.classList.contains("hidden")) {
            element.classList.remove("hidden");
          } else {
            element.classList.add("hidden");
          }
        }
      });
      indexStore.visible = !indexStore.visible;
    };
    return (_ctx, _cache) => {
      return openBlock(), createElementBlock("li", _hoisted_1$8, [
        createBaseVNode("button", {
          class: "sitemap__section-header sitemap__section-header--stats",
          onClick: toggle2
        }, _cache[0] || (_cache[0] = [
          createBaseVNode("span", null, "Stats", -1)
        ]))
      ]);
    };
  }
});
var BaseComponentStyle = BaseStyle.extend({
  name: "common"
});
function _typeof$6(o2) {
  "@babel/helpers - typeof";
  return _typeof$6 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) {
    return typeof o3;
  } : function(o3) {
    return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3;
  }, _typeof$6(o2);
}
function _toArray(r2) {
  return _arrayWithHoles(r2) || _iterableToArray$1(r2) || _unsupportedIterableToArray$1(r2) || _nonIterableRest();
}
function _iterableToArray$1(r2) {
  if ("undefined" != typeof Symbol && null != r2[Symbol.iterator] || null != r2["@@iterator"]) return Array.from(r2);
}
function _slicedToArray(r2, e) {
  return _arrayWithHoles(r2) || _iterableToArrayLimit(r2, e) || _unsupportedIterableToArray$1(r2, e) || _nonIterableRest();
}
function _nonIterableRest() {
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _unsupportedIterableToArray$1(r2, a) {
  if (r2) {
    if ("string" == typeof r2) return _arrayLikeToArray$1(r2, a);
    var t2 = {}.toString.call(r2).slice(8, -1);
    return "Object" === t2 && r2.constructor && (t2 = r2.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r2) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$1(r2, a) : void 0;
  }
}
function _arrayLikeToArray$1(r2, a) {
  (null == a || a > r2.length) && (a = r2.length);
  for (var e = 0, n = Array(a); e < a; e++) n[e] = r2[e];
  return n;
}
function _iterableToArrayLimit(r2, l) {
  var t2 = null == r2 ? null : "undefined" != typeof Symbol && r2[Symbol.iterator] || r2["@@iterator"];
  if (null != t2) {
    var e, n, i, u, a = [], f = true, o2 = false;
    try {
      if (i = (t2 = t2.call(r2)).next, 0 === l) {
        if (Object(t2) !== t2) return;
        f = false;
      } else for (; !(f = (e = i.call(t2)).done) && (a.push(e.value), a.length !== l); f = true) ;
    } catch (r3) {
      o2 = true, n = r3;
    } finally {
      try {
        if (!f && null != t2["return"] && (u = t2["return"](), Object(u) !== u)) return;
      } finally {
        if (o2) throw n;
      }
    }
    return a;
  }
}
function _arrayWithHoles(r2) {
  if (Array.isArray(r2)) return r2;
}
function ownKeys$5(e, r2) {
  var t2 = Object.keys(e);
  if (Object.getOwnPropertySymbols) {
    var o2 = Object.getOwnPropertySymbols(e);
    r2 && (o2 = o2.filter(function(r3) {
      return Object.getOwnPropertyDescriptor(e, r3).enumerable;
    })), t2.push.apply(t2, o2);
  }
  return t2;
}
function _objectSpread$3(e) {
  for (var r2 = 1; r2 < arguments.length; r2++) {
    var t2 = null != arguments[r2] ? arguments[r2] : {};
    r2 % 2 ? ownKeys$5(Object(t2), true).forEach(function(r3) {
      _defineProperty$7(e, r3, t2[r3]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$5(Object(t2)).forEach(function(r3) {
      Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));
    });
  }
  return e;
}
function _defineProperty$7(e, r2, t2) {
  return (r2 = _toPropertyKey$7(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;
}
function _toPropertyKey$7(t2) {
  var i = _toPrimitive$7(t2, "string");
  return "symbol" == _typeof$6(i) ? i : i + "";
}
function _toPrimitive$7(t2, r2) {
  if ("object" != _typeof$6(t2) || !t2) return t2;
  var e = t2[Symbol.toPrimitive];
  if (void 0 !== e) {
    var i = e.call(t2, r2 || "default");
    if ("object" != _typeof$6(i)) return i;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return ("string" === r2 ? String : Number)(t2);
}
var script$l = {
  name: "BaseComponent",
  props: {
    pt: {
      type: Object,
      "default": void 0
    },
    ptOptions: {
      type: Object,
      "default": void 0
    },
    unstyled: {
      type: Boolean,
      "default": void 0
    },
    dt: {
      type: Object,
      "default": void 0
    }
  },
  inject: {
    $parentInstance: {
      "default": void 0
    }
  },
  watch: {
    isUnstyled: {
      immediate: true,
      handler: function handler2(newValue) {
        if (!newValue) {
          this._loadCoreStyles();
          this._themeChangeListener(this._loadCoreStyles);
        }
      }
    },
    dt: {
      immediate: true,
      handler: function handler3(newValue) {
        var _this = this;
        if (newValue) {
          this._loadScopedThemeStyles(newValue);
          this._themeChangeListener(function() {
            return _this._loadScopedThemeStyles(newValue);
          });
        } else {
          this._unloadScopedThemeStyles();
        }
      }
    }
  },
  scopedStyleEl: void 0,
  rootEl: void 0,
  $attrSelector: void 0,
  beforeCreate: function beforeCreate() {
    var _this$pt, _this$pt2, _this$pt3, _ref, _ref$onBeforeCreate, _this$$primevueConfig, _this$$primevue, _this$$primevue2, _this$$primevue3, _ref2, _ref2$onBeforeCreate;
    var _usept = (_this$pt = this.pt) === null || _this$pt === void 0 ? void 0 : _this$pt["_usept"];
    var originalValue = _usept ? (_this$pt2 = this.pt) === null || _this$pt2 === void 0 || (_this$pt2 = _this$pt2.originalValue) === null || _this$pt2 === void 0 ? void 0 : _this$pt2[this.$.type.name] : void 0;
    var value2 = _usept ? (_this$pt3 = this.pt) === null || _this$pt3 === void 0 || (_this$pt3 = _this$pt3.value) === null || _this$pt3 === void 0 ? void 0 : _this$pt3[this.$.type.name] : this.pt;
    (_ref = value2 || originalValue) === null || _ref === void 0 || (_ref = _ref.hooks) === null || _ref === void 0 || (_ref$onBeforeCreate = _ref["onBeforeCreate"]) === null || _ref$onBeforeCreate === void 0 || _ref$onBeforeCreate.call(_ref);
    var _useptInConfig = (_this$$primevueConfig = this.$primevueConfig) === null || _this$$primevueConfig === void 0 || (_this$$primevueConfig = _this$$primevueConfig.pt) === null || _this$$primevueConfig === void 0 ? void 0 : _this$$primevueConfig["_usept"];
    var originalValueInConfig = _useptInConfig ? (_this$$primevue = this.$primevue) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.config) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.pt) === null || _this$$primevue === void 0 ? void 0 : _this$$primevue.originalValue : void 0;
    var valueInConfig = _useptInConfig ? (_this$$primevue2 = this.$primevue) === null || _this$$primevue2 === void 0 || (_this$$primevue2 = _this$$primevue2.config) === null || _this$$primevue2 === void 0 || (_this$$primevue2 = _this$$primevue2.pt) === null || _this$$primevue2 === void 0 ? void 0 : _this$$primevue2.value : (_this$$primevue3 = this.$primevue) === null || _this$$primevue3 === void 0 || (_this$$primevue3 = _this$$primevue3.config) === null || _this$$primevue3 === void 0 ? void 0 : _this$$primevue3.pt;
    (_ref2 = valueInConfig || originalValueInConfig) === null || _ref2 === void 0 || (_ref2 = _ref2[this.$.type.name]) === null || _ref2 === void 0 || (_ref2 = _ref2.hooks) === null || _ref2 === void 0 || (_ref2$onBeforeCreate = _ref2["onBeforeCreate"]) === null || _ref2$onBeforeCreate === void 0 || _ref2$onBeforeCreate.call(_ref2);
    this.$attrSelector = uuid("pc");
  },
  created: function created() {
    this._hook("onCreated");
  },
  beforeMount: function beforeMount2() {
    this.rootEl = findSingle(this.$el, '[data-pc-name="'.concat(toFlatCase(this.$.type.name), '"]'));
    if (this.rootEl) {
      this.$attrSelector && !this.rootEl.hasAttribute(this.$attrSelector) && this.rootEl.setAttribute(this.$attrSelector, "");
      this.rootEl.$pc = _objectSpread$3({
        name: this.$.type.name,
        attrSelector: this.$attrSelector
      }, this.$params);
    }
    this._loadStyles();
    this._hook("onBeforeMount");
  },
  mounted: function mounted() {
    this._hook("onMounted");
  },
  beforeUpdate: function beforeUpdate() {
    this._hook("onBeforeUpdate");
  },
  updated: function updated2() {
    this._hook("onUpdated");
  },
  beforeUnmount: function beforeUnmount() {
    this._hook("onBeforeUnmount");
  },
  unmounted: function unmounted2() {
    this._unloadScopedThemeStyles();
    this._hook("onUnmounted");
  },
  methods: {
    _hook: function _hook2(hookName) {
      if (!this.$options.hostName) {
        var selfHook = this._usePT(this._getPT(this.pt, this.$.type.name), this._getOptionValue, "hooks.".concat(hookName));
        var defaultHook = this._useDefaultPT(this._getOptionValue, "hooks.".concat(hookName));
        selfHook === null || selfHook === void 0 || selfHook();
        defaultHook === null || defaultHook === void 0 || defaultHook();
      }
    },
    _mergeProps: function _mergeProps2(fn) {
      for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key2 = 1; _key2 < _len; _key2++) {
        args[_key2 - 1] = arguments[_key2];
      }
      return isFunction$2(fn) ? fn.apply(void 0, args) : mergeProps.apply(void 0, args);
    },
    _loadStyles: function _loadStyles2() {
      var _this2 = this;
      var _load = function _load2() {
        if (!Base.isStyleNameLoaded("base")) {
          BaseStyle.loadCSS(_this2.$styleOptions);
          _this2._loadGlobalStyles();
          Base.setLoadedStyleName("base");
        }
        _this2._loadThemeStyles();
      };
      _load();
      this._themeChangeListener(_load);
    },
    _loadCoreStyles: function _loadCoreStyles2() {
      var _this$$style, _this$$style2;
      if (!Base.isStyleNameLoaded((_this$$style = this.$style) === null || _this$$style === void 0 ? void 0 : _this$$style.name) && (_this$$style2 = this.$style) !== null && _this$$style2 !== void 0 && _this$$style2.name) {
        BaseComponentStyle.loadCSS(this.$styleOptions);
        this.$options.style && this.$style.loadCSS(this.$styleOptions);
        Base.setLoadedStyleName(this.$style.name);
      }
    },
    _loadGlobalStyles: function _loadGlobalStyles() {
      var globalCSS = this._useGlobalPT(this._getOptionValue, "global.css", this.$params);
      isNotEmpty(globalCSS) && BaseStyle.load(globalCSS, _objectSpread$3({
        name: "global"
      }, this.$styleOptions));
    },
    _loadThemeStyles: function _loadThemeStyles2() {
      var _this$$style4, _this$$style5;
      if (this.isUnstyled || this.$theme === "none") return;
      if (!config_default.isStyleNameLoaded("common")) {
        var _this$$style3, _this$$style3$getComm;
        var _ref3 = ((_this$$style3 = this.$style) === null || _this$$style3 === void 0 || (_this$$style3$getComm = _this$$style3.getCommonTheme) === null || _this$$style3$getComm === void 0 ? void 0 : _this$$style3$getComm.call(_this$$style3)) || {}, primitive = _ref3.primitive, semantic = _ref3.semantic, global2 = _ref3.global, style = _ref3.style;
        BaseStyle.load(primitive === null || primitive === void 0 ? void 0 : primitive.css, _objectSpread$3({
          name: "primitive-variables"
        }, this.$styleOptions));
        BaseStyle.load(semantic === null || semantic === void 0 ? void 0 : semantic.css, _objectSpread$3({
          name: "semantic-variables"
        }, this.$styleOptions));
        BaseStyle.load(global2 === null || global2 === void 0 ? void 0 : global2.css, _objectSpread$3({
          name: "global-variables"
        }, this.$styleOptions));
        BaseStyle.loadTheme(_objectSpread$3({
          name: "global-style"
        }, this.$styleOptions), style);
        config_default.setLoadedStyleName("common");
      }
      if (!config_default.isStyleNameLoaded((_this$$style4 = this.$style) === null || _this$$style4 === void 0 ? void 0 : _this$$style4.name) && (_this$$style5 = this.$style) !== null && _this$$style5 !== void 0 && _this$$style5.name) {
        var _this$$style6, _this$$style6$getComp, _this$$style7, _this$$style8;
        var _ref4 = ((_this$$style6 = this.$style) === null || _this$$style6 === void 0 || (_this$$style6$getComp = _this$$style6.getComponentTheme) === null || _this$$style6$getComp === void 0 ? void 0 : _this$$style6$getComp.call(_this$$style6)) || {}, css3 = _ref4.css, _style = _ref4.style;
        (_this$$style7 = this.$style) === null || _this$$style7 === void 0 || _this$$style7.load(css3, _objectSpread$3({
          name: "".concat(this.$style.name, "-variables")
        }, this.$styleOptions));
        (_this$$style8 = this.$style) === null || _this$$style8 === void 0 || _this$$style8.loadTheme(_objectSpread$3({
          name: "".concat(this.$style.name, "-style")
        }, this.$styleOptions), _style);
        config_default.setLoadedStyleName(this.$style.name);
      }
      if (!config_default.isStyleNameLoaded("layer-order")) {
        var _this$$style9, _this$$style9$getLaye;
        var layerOrder = (_this$$style9 = this.$style) === null || _this$$style9 === void 0 || (_this$$style9$getLaye = _this$$style9.getLayerOrderThemeCSS) === null || _this$$style9$getLaye === void 0 ? void 0 : _this$$style9$getLaye.call(_this$$style9);
        BaseStyle.load(layerOrder, _objectSpread$3({
          name: "layer-order",
          first: true
        }, this.$styleOptions));
        config_default.setLoadedStyleName("layer-order");
      }
    },
    _loadScopedThemeStyles: function _loadScopedThemeStyles2(preset) {
      var _this$$style10, _this$$style10$getPre, _this$$style11;
      var _ref5 = ((_this$$style10 = this.$style) === null || _this$$style10 === void 0 || (_this$$style10$getPre = _this$$style10.getPresetTheme) === null || _this$$style10$getPre === void 0 ? void 0 : _this$$style10$getPre.call(_this$$style10, preset, "[".concat(this.$attrSelector, "]"))) || {}, css3 = _ref5.css;
      var scopedStyle = (_this$$style11 = this.$style) === null || _this$$style11 === void 0 ? void 0 : _this$$style11.load(css3, _objectSpread$3({
        name: "".concat(this.$attrSelector, "-").concat(this.$style.name)
      }, this.$styleOptions));
      this.scopedStyleEl = scopedStyle.el;
    },
    _unloadScopedThemeStyles: function _unloadScopedThemeStyles() {
      var _this$scopedStyleEl;
      (_this$scopedStyleEl = this.scopedStyleEl) === null || _this$scopedStyleEl === void 0 || (_this$scopedStyleEl = _this$scopedStyleEl.value) === null || _this$scopedStyleEl === void 0 || _this$scopedStyleEl.remove();
    },
    _themeChangeListener: function _themeChangeListener2() {
      var callback = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function() {
      };
      Base.clearLoadedStyleNames();
      service_default.on("theme:change", callback);
    },
    _getHostInstance: function _getHostInstance(instance2) {
      return instance2 ? this.$options.hostName ? instance2.$.type.name === this.$options.hostName ? instance2 : this._getHostInstance(instance2.$parentInstance) : instance2.$parentInstance : void 0;
    },
    _getPropValue: function _getPropValue(name) {
      var _this$_getHostInstanc;
      return this[name] || ((_this$_getHostInstanc = this._getHostInstance(this)) === null || _this$_getHostInstanc === void 0 ? void 0 : _this$_getHostInstanc[name]);
    },
    _getOptionValue: function _getOptionValue(options) {
      var key = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
      var params = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
      return getKeyValue(options, key, params);
    },
    _getPTValue: function _getPTValue2() {
      var _this$$primevueConfig2;
      var obj = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
      var key = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
      var params = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
      var searchInDefaultPT = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : true;
      var searchOut = /./g.test(key) && !!params[key.split(".")[0]];
      var _ref6 = this._getPropValue("ptOptions") || ((_this$$primevueConfig2 = this.$primevueConfig) === null || _this$$primevueConfig2 === void 0 ? void 0 : _this$$primevueConfig2.ptOptions) || {}, _ref6$mergeSections = _ref6.mergeSections, mergeSections = _ref6$mergeSections === void 0 ? true : _ref6$mergeSections, _ref6$mergeProps = _ref6.mergeProps, useMergeProps = _ref6$mergeProps === void 0 ? false : _ref6$mergeProps;
      var global2 = searchInDefaultPT ? searchOut ? this._useGlobalPT(this._getPTClassValue, key, params) : this._useDefaultPT(this._getPTClassValue, key, params) : void 0;
      var self2 = searchOut ? void 0 : this._getPTSelf(obj, this._getPTClassValue, key, _objectSpread$3(_objectSpread$3({}, params), {}, {
        global: global2 || {}
      }));
      var datasets = this._getPTDatasets(key);
      return mergeSections || !mergeSections && self2 ? useMergeProps ? this._mergeProps(useMergeProps, global2, self2, datasets) : _objectSpread$3(_objectSpread$3(_objectSpread$3({}, global2), self2), datasets) : _objectSpread$3(_objectSpread$3({}, self2), datasets);
    },
    _getPTSelf: function _getPTSelf() {
      var obj = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
      for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key3 = 1; _key3 < _len2; _key3++) {
        args[_key3 - 1] = arguments[_key3];
      }
      return mergeProps(
        this._usePT.apply(this, [this._getPT(obj, this.$name)].concat(args)),
        // Exp; <component :pt="{}"
        this._usePT.apply(this, [this.$_attrsPT].concat(args))
        // Exp; <component :pt:[passthrough_key]:[attribute]="{value}" or <component :pt:[passthrough_key]="() =>{value}"
      );
    },
    _getPTDatasets: function _getPTDatasets2() {
      var _this$pt4, _this$pt5;
      var key = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
      var datasetPrefix = "data-pc-";
      var isExtended = key === "root" && isNotEmpty((_this$pt4 = this.pt) === null || _this$pt4 === void 0 ? void 0 : _this$pt4["data-pc-section"]);
      return key !== "transition" && _objectSpread$3(_objectSpread$3({}, key === "root" && _objectSpread$3(_objectSpread$3(_defineProperty$7({}, "".concat(datasetPrefix, "name"), toFlatCase(isExtended ? (_this$pt5 = this.pt) === null || _this$pt5 === void 0 ? void 0 : _this$pt5["data-pc-section"] : this.$.type.name)), isExtended && _defineProperty$7({}, "".concat(datasetPrefix, "extend"), toFlatCase(this.$.type.name))), isClient() && _defineProperty$7({}, "".concat(this.$attrSelector), ""))), {}, _defineProperty$7({}, "".concat(datasetPrefix, "section"), toFlatCase(key)));
    },
    _getPTClassValue: function _getPTClassValue() {
      var value2 = this._getOptionValue.apply(this, arguments);
      return isString$2(value2) || isArray$2(value2) ? {
        "class": value2
      } : value2;
    },
    _getPT: function _getPT2(pt2) {
      var _this3 = this;
      var key = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
      var callback = arguments.length > 2 ? arguments[2] : void 0;
      var getValue = function getValue2(value2) {
        var _ref9;
        var checkSameKey = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
        var computedValue = callback ? callback(value2) : value2;
        var _key = toFlatCase(key);
        var _cKey = toFlatCase(_this3.$name);
        return (_ref9 = checkSameKey ? _key !== _cKey ? computedValue === null || computedValue === void 0 ? void 0 : computedValue[_key] : void 0 : computedValue === null || computedValue === void 0 ? void 0 : computedValue[_key]) !== null && _ref9 !== void 0 ? _ref9 : computedValue;
      };
      return pt2 !== null && pt2 !== void 0 && pt2.hasOwnProperty("_usept") ? {
        _usept: pt2["_usept"],
        originalValue: getValue(pt2.originalValue),
        value: getValue(pt2.value)
      } : getValue(pt2, true);
    },
    _usePT: function _usePT2(pt2, callback, key, params) {
      var fn = function fn2(value3) {
        return callback(value3, key, params);
      };
      if (pt2 !== null && pt2 !== void 0 && pt2.hasOwnProperty("_usept")) {
        var _this$$primevueConfig3;
        var _ref10 = pt2["_usept"] || ((_this$$primevueConfig3 = this.$primevueConfig) === null || _this$$primevueConfig3 === void 0 ? void 0 : _this$$primevueConfig3.ptOptions) || {}, _ref10$mergeSections = _ref10.mergeSections, mergeSections = _ref10$mergeSections === void 0 ? true : _ref10$mergeSections, _ref10$mergeProps = _ref10.mergeProps, useMergeProps = _ref10$mergeProps === void 0 ? false : _ref10$mergeProps;
        var originalValue = fn(pt2.originalValue);
        var value2 = fn(pt2.value);
        if (originalValue === void 0 && value2 === void 0) return void 0;
        else if (isString$2(value2)) return value2;
        else if (isString$2(originalValue)) return originalValue;
        return mergeSections || !mergeSections && value2 ? useMergeProps ? this._mergeProps(useMergeProps, originalValue, value2) : _objectSpread$3(_objectSpread$3({}, originalValue), value2) : value2;
      }
      return fn(pt2);
    },
    _useGlobalPT: function _useGlobalPT(callback, key, params) {
      return this._usePT(this.globalPT, callback, key, params);
    },
    _useDefaultPT: function _useDefaultPT2(callback, key, params) {
      return this._usePT(this.defaultPT, callback, key, params);
    },
    ptm: function ptm() {
      var key = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
      var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
      return this._getPTValue(this.pt, key, _objectSpread$3(_objectSpread$3({}, this.$params), params));
    },
    ptmi: function ptmi() {
      var key = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
      var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
      return mergeProps(this.$_attrsWithoutPT, this.ptm(key, params));
    },
    ptmo: function ptmo() {
      var obj = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
      var key = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
      var params = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
      return this._getPTValue(obj, key, _objectSpread$3({
        instance: this
      }, params), false);
    },
    cx: function cx() {
      var key = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
      var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
      return !this.isUnstyled ? this._getOptionValue(this.$style.classes, key, _objectSpread$3(_objectSpread$3({}, this.$params), params)) : void 0;
    },
    sx: function sx() {
      var key = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
      var when = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
      var params = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
      if (when) {
        var self2 = this._getOptionValue(this.$style.inlineStyles, key, _objectSpread$3(_objectSpread$3({}, this.$params), params));
        var base = this._getOptionValue(BaseComponentStyle.inlineStyles, key, _objectSpread$3(_objectSpread$3({}, this.$params), params));
        return [base, self2];
      }
      return void 0;
    }
  },
  computed: {
    globalPT: function globalPT() {
      var _this$$primevueConfig4, _this4 = this;
      return this._getPT((_this$$primevueConfig4 = this.$primevueConfig) === null || _this$$primevueConfig4 === void 0 ? void 0 : _this$$primevueConfig4.pt, void 0, function(value2) {
        return resolve$1(value2, {
          instance: _this4
        });
      });
    },
    defaultPT: function defaultPT() {
      var _this$$primevueConfig5, _this5 = this;
      return this._getPT((_this$$primevueConfig5 = this.$primevueConfig) === null || _this$$primevueConfig5 === void 0 ? void 0 : _this$$primevueConfig5.pt, void 0, function(value2) {
        return _this5._getOptionValue(value2, _this5.$name, _objectSpread$3({}, _this5.$params)) || resolve$1(value2, _objectSpread$3({}, _this5.$params));
      });
    },
    isUnstyled: function isUnstyled() {
      var _this$$primevueConfig6;
      return this.unstyled !== void 0 ? this.unstyled : (_this$$primevueConfig6 = this.$primevueConfig) === null || _this$$primevueConfig6 === void 0 ? void 0 : _this$$primevueConfig6.unstyled;
    },
    $inProps: function $inProps() {
      var _this$$$vnode;
      var nodePropKeys = Object.keys(((_this$$$vnode = this.$.vnode) === null || _this$$$vnode === void 0 ? void 0 : _this$$$vnode.props) || {});
      return Object.fromEntries(Object.entries(this.$props).filter(function(_ref11) {
        var _ref12 = _slicedToArray(_ref11, 1), k = _ref12[0];
        return nodePropKeys === null || nodePropKeys === void 0 ? void 0 : nodePropKeys.includes(k);
      }));
    },
    $theme: function $theme() {
      var _this$$primevueConfig7;
      return (_this$$primevueConfig7 = this.$primevueConfig) === null || _this$$primevueConfig7 === void 0 ? void 0 : _this$$primevueConfig7.theme;
    },
    $style: function $style() {
      return _objectSpread$3(_objectSpread$3({
        classes: void 0,
        inlineStyles: void 0,
        load: function load2() {
        },
        loadCSS: function loadCSS2() {
        },
        loadTheme: function loadTheme2() {
        }
      }, (this._getHostInstance(this) || {}).$style), this.$options.style);
    },
    $styleOptions: function $styleOptions() {
      var _this$$primevueConfig8;
      return {
        nonce: (_this$$primevueConfig8 = this.$primevueConfig) === null || _this$$primevueConfig8 === void 0 || (_this$$primevueConfig8 = _this$$primevueConfig8.csp) === null || _this$$primevueConfig8 === void 0 ? void 0 : _this$$primevueConfig8.nonce
      };
    },
    $primevueConfig: function $primevueConfig() {
      var _this$$primevue4;
      return (_this$$primevue4 = this.$primevue) === null || _this$$primevue4 === void 0 ? void 0 : _this$$primevue4.config;
    },
    $name: function $name() {
      return this.$options.hostName || this.$.type.name;
    },
    $params: function $params() {
      var parentInstance = this._getHostInstance(this) || this.$parent;
      return {
        instance: this,
        props: this.$props,
        state: this.$data,
        attrs: this.$attrs,
        parent: {
          instance: parentInstance,
          props: parentInstance === null || parentInstance === void 0 ? void 0 : parentInstance.$props,
          state: parentInstance === null || parentInstance === void 0 ? void 0 : parentInstance.$data,
          attrs: parentInstance === null || parentInstance === void 0 ? void 0 : parentInstance.$attrs
        }
      };
    },
    $_attrsPT: function $_attrsPT() {
      return Object.entries(this.$attrs || {}).filter(function(_ref13) {
        var _ref14 = _slicedToArray(_ref13, 1), key = _ref14[0];
        return key === null || key === void 0 ? void 0 : key.startsWith("pt:");
      }).reduce(function(result, _ref15) {
        var _ref16 = _slicedToArray(_ref15, 2), key = _ref16[0], value2 = _ref16[1];
        var _key$split = key.split(":"), _key$split2 = _toArray(_key$split), rest = _key$split2.slice(1);
        rest === null || rest === void 0 || rest.reduce(function(currentObj, nestedKey, index2, array) {
          !currentObj[nestedKey] && (currentObj[nestedKey] = index2 === array.length - 1 ? value2 : {});
          return currentObj[nestedKey];
        }, result);
        return result;
      }, {});
    },
    $_attrsWithoutPT: function $_attrsWithoutPT() {
      return Object.entries(this.$attrs || {}).filter(function(_ref17) {
        var _ref18 = _slicedToArray(_ref17, 1), key = _ref18[0];
        return !(key !== null && key !== void 0 && key.startsWith("pt:"));
      }).reduce(function(acc, _ref19) {
        var _ref20 = _slicedToArray(_ref19, 2), key = _ref20[0], value2 = _ref20[1];
        acc[key] = value2;
        return acc;
      }, {});
    }
  }
};
var css$1 = "\n.p-icon {\n    display: inline-block;\n    vertical-align: baseline;\n}\n\n.p-icon-spin {\n    -webkit-animation: p-icon-spin 2s infinite linear;\n    animation: p-icon-spin 2s infinite linear;\n}\n\n@-webkit-keyframes p-icon-spin {\n    0% {\n        -webkit-transform: rotate(0deg);\n        transform: rotate(0deg);\n    }\n    100% {\n        -webkit-transform: rotate(359deg);\n        transform: rotate(359deg);\n    }\n}\n\n@keyframes p-icon-spin {\n    0% {\n        -webkit-transform: rotate(0deg);\n        transform: rotate(0deg);\n    }\n    100% {\n        -webkit-transform: rotate(359deg);\n        transform: rotate(359deg);\n    }\n}\n";
var BaseIconStyle = BaseStyle.extend({
  name: "baseicon",
  css: css$1
});
function _typeof$5(o2) {
  "@babel/helpers - typeof";
  return _typeof$5 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) {
    return typeof o3;
  } : function(o3) {
    return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3;
  }, _typeof$5(o2);
}
function ownKeys$4(e, r2) {
  var t2 = Object.keys(e);
  if (Object.getOwnPropertySymbols) {
    var o2 = Object.getOwnPropertySymbols(e);
    r2 && (o2 = o2.filter(function(r3) {
      return Object.getOwnPropertyDescriptor(e, r3).enumerable;
    })), t2.push.apply(t2, o2);
  }
  return t2;
}
function _objectSpread$2(e) {
  for (var r2 = 1; r2 < arguments.length; r2++) {
    var t2 = null != arguments[r2] ? arguments[r2] : {};
    r2 % 2 ? ownKeys$4(Object(t2), true).forEach(function(r3) {
      _defineProperty$6(e, r3, t2[r3]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$4(Object(t2)).forEach(function(r3) {
      Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));
    });
  }
  return e;
}
function _defineProperty$6(e, r2, t2) {
  return (r2 = _toPropertyKey$6(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;
}
function _toPropertyKey$6(t2) {
  var i = _toPrimitive$6(t2, "string");
  return "symbol" == _typeof$5(i) ? i : i + "";
}
function _toPrimitive$6(t2, r2) {
  if ("object" != _typeof$5(t2) || !t2) return t2;
  var e = t2[Symbol.toPrimitive];
  if (void 0 !== e) {
    var i = e.call(t2, r2 || "default");
    if ("object" != _typeof$5(i)) return i;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return ("string" === r2 ? String : Number)(t2);
}
var script$k = {
  name: "BaseIcon",
  "extends": script$l,
  props: {
    label: {
      type: String,
      "default": void 0
    },
    spin: {
      type: Boolean,
      "default": false
    }
  },
  style: BaseIconStyle,
  provide: function provide2() {
    return {
      $pcIcon: this,
      $parentInstance: this
    };
  },
  methods: {
    pti: function pti() {
      var isLabelEmpty = isEmpty(this.label);
      return _objectSpread$2(_objectSpread$2({}, !this.isUnstyled && {
        "class": ["p-icon", {
          "p-icon-spin": this.spin
        }]
      }), {}, {
        role: !isLabelEmpty ? "img" : void 0,
        "aria-label": !isLabelEmpty ? this.label : void 0,
        "aria-hidden": isLabelEmpty
      });
    }
  }
};
var script$j = {
  name: "EyeIcon",
  "extends": script$k
};
function render$j(_ctx, _cache, $props, $setup, $data, $options) {
  return openBlock(), createElementBlock("svg", mergeProps({
    width: "14",
    height: "14",
    viewBox: "0 0 14 14",
    fill: "none",
    xmlns: "http://www.w3.org/2000/svg"
  }, _ctx.pti()), _cache[0] || (_cache[0] = [createBaseVNode("path", {
    "fill-rule": "evenodd",
    "clip-rule": "evenodd",
    d: "M0.0535499 7.25213C0.208567 7.59162 2.40413 12.4 7 12.4C11.5959 12.4 13.7914 7.59162 13.9465 7.25213C13.9487 7.2471 13.9506 7.24304 13.952 7.24001C13.9837 7.16396 14 7.08239 14 7.00001C14 6.91762 13.9837 6.83605 13.952 6.76001C13.9506 6.75697 13.9487 6.75292 13.9465 6.74788C13.7914 6.4084 11.5959 1.60001 7 1.60001C2.40413 1.60001 0.208567 6.40839 0.0535499 6.74788C0.0512519 6.75292 0.0494023 6.75697 0.048 6.76001C0.0163137 6.83605 0 6.91762 0 7.00001C0 7.08239 0.0163137 7.16396 0.048 7.24001C0.0494023 7.24304 0.0512519 7.2471 0.0535499 7.25213ZM7 11.2C3.664 11.2 1.736 7.92001 1.264 7.00001C1.736 6.08001 3.664 2.80001 7 2.80001C10.336 2.80001 12.264 6.08001 12.736 7.00001C12.264 7.92001 10.336 11.2 7 11.2ZM5.55551 9.16182C5.98308 9.44751 6.48576 9.6 7 9.6C7.68891 9.59789 8.349 9.32328 8.83614 8.83614C9.32328 8.349 9.59789 7.68891 9.59999 7C9.59999 6.48576 9.44751 5.98308 9.16182 5.55551C8.87612 5.12794 8.47006 4.7947 7.99497 4.59791C7.51988 4.40112 6.99711 4.34963 6.49276 4.44995C5.98841 4.55027 5.52513 4.7979 5.16152 5.16152C4.7979 5.52513 4.55027 5.98841 4.44995 6.49276C4.34963 6.99711 4.40112 7.51988 4.59791 7.99497C4.7947 8.47006 5.12794 8.87612 5.55551 9.16182ZM6.2222 5.83594C6.45243 5.6821 6.7231 5.6 7 5.6C7.37065 5.6021 7.72553 5.75027 7.98762 6.01237C8.24972 6.27446 8.39789 6.62934 8.4 7C8.4 7.27689 8.31789 7.54756 8.16405 7.77779C8.01022 8.00802 7.79157 8.18746 7.53575 8.29343C7.27994 8.39939 6.99844 8.42711 6.72687 8.37309C6.4553 8.31908 6.20584 8.18574 6.01005 7.98994C5.81425 7.79415 5.68091 7.54469 5.6269 7.27312C5.57288 7.00155 5.6006 6.72006 5.70656 6.46424C5.81253 6.20842 5.99197 5.98977 6.2222 5.83594Z",
    fill: "currentColor"
  }, null, -1)]), 16);
}
script$j.render = render$j;
var script$i = {
  name: "RefreshIcon",
  "extends": script$k
};
function render$i(_ctx, _cache, $props, $setup, $data, $options) {
  return openBlock(), createElementBlock("svg", mergeProps({
    width: "14",
    height: "14",
    viewBox: "0 0 14 14",
    fill: "none",
    xmlns: "http://www.w3.org/2000/svg"
  }, _ctx.pti()), _cache[0] || (_cache[0] = [createBaseVNode("path", {
    "fill-rule": "evenodd",
    "clip-rule": "evenodd",
    d: "M6.77051 5.96336C6.84324 5.99355 6.92127 6.00891 7.00002 6.00854C7.07877 6.00891 7.1568 5.99355 7.22953 5.96336C7.30226 5.93317 7.36823 5.88876 7.42357 5.83273L9.82101 3.43529C9.93325 3.32291 9.99629 3.17058 9.99629 3.01175C9.99629 2.85292 9.93325 2.70058 9.82101 2.5882L7.42357 0.190763C7.3687 0.131876 7.30253 0.0846451 7.22901 0.0518865C7.15549 0.019128 7.07612 0.00151319 6.99564 9.32772e-05C6.91517 -0.00132663 6.83523 0.0134773 6.7606 0.0436218C6.68597 0.0737664 6.61817 0.118634 6.56126 0.175548C6.50435 0.232462 6.45948 0.300257 6.42933 0.374888C6.39919 0.449519 6.38439 0.529456 6.38581 0.609933C6.38722 0.690409 6.40484 0.769775 6.4376 0.843296C6.47036 0.916817 6.51759 0.982986 6.57647 1.03786L7.95103 2.41241H6.99998C5.46337 2.41241 3.98969 3.02283 2.90314 4.10938C1.81659 5.19593 1.20618 6.66961 1.20618 8.20622C1.20618 9.74283 1.81659 11.2165 2.90314 12.3031C3.98969 13.3896 5.46337 14 6.99998 14C8.53595 13.9979 10.0084 13.3868 11.0945 12.3007C12.1806 11.2146 12.7917 9.74218 12.7938 8.20622C12.7938 8.04726 12.7306 7.89481 12.6182 7.78241C12.5058 7.67001 12.3534 7.60686 12.1944 7.60686C12.0355 7.60686 11.883 7.67001 11.7706 7.78241C11.6582 7.89481 11.5951 8.04726 11.5951 8.20622C11.5951 9.11504 11.3256 10.0035 10.8207 10.7591C10.3157 11.5148 9.59809 12.1037 8.75845 12.4515C7.9188 12.7993 6.99489 12.8903 6.10353 12.713C5.21217 12.5357 4.3934 12.0981 3.75077 11.4554C3.10813 10.8128 2.67049 9.99404 2.49319 9.10268C2.31589 8.21132 2.40688 7.2874 2.75468 6.44776C3.10247 5.60811 3.69143 4.89046 4.44709 4.38554C5.20275 3.88063 6.09116 3.61113 6.99998 3.61113H7.95098L6.57647 4.98564C6.46423 5.09802 6.40119 5.25035 6.40119 5.40918C6.40119 5.56801 6.46423 5.72035 6.57647 5.83273C6.63181 5.88876 6.69778 5.93317 6.77051 5.96336Z",
    fill: "currentColor"
  }, null, -1)]), 16);
}
script$i.render = render$i;
var script$h = {
  name: "SearchMinusIcon",
  "extends": script$k
};
function render$h(_ctx, _cache, $props, $setup, $data, $options) {
  return openBlock(), createElementBlock("svg", mergeProps({
    width: "14",
    height: "14",
    viewBox: "0 0 14 14",
    fill: "none",
    xmlns: "http://www.w3.org/2000/svg"
  }, _ctx.pti()), _cache[0] || (_cache[0] = [createBaseVNode("path", {
    "fill-rule": "evenodd",
    "clip-rule": "evenodd",
    d: "M6.0208 12.0411C4.83005 12.0411 3.66604 11.688 2.67596 11.0265C1.68589 10.3649 0.914216 9.42464 0.458534 8.32452C0.00285271 7.22441 -0.116374 6.01388 0.11593 4.84601C0.348235 3.67813 0.921637 2.60537 1.76363 1.76338C2.60562 0.921393 3.67838 0.34799 4.84625 0.115686C6.01412 -0.116618 7.22466 0.00260857 8.32477 0.45829C9.42488 0.913972 10.3652 1.68564 11.0267 2.67572C11.6883 3.66579 12.0414 4.8298 12.0414 6.02056C12.0395 7.41563 11.5542 8.76029 10.6783 9.8305L13.8244 12.9765C13.9367 13.089 13.9997 13.2414 13.9997 13.4003C13.9997 13.5592 13.9367 13.7116 13.8244 13.8241C13.769 13.8801 13.703 13.9245 13.6302 13.9548C13.5575 13.985 13.4794 14.0003 13.4006 14C13.3218 14.0003 13.2437 13.985 13.171 13.9548C13.0982 13.9245 13.0322 13.8801 12.9768 13.8241L9.83082 10.678C8.76059 11.5539 7.4159 12.0393 6.0208 12.0411ZM6.0208 1.20731C5.07199 1.20731 4.14449 1.48867 3.35559 2.0158C2.56669 2.54292 1.95181 3.29215 1.58872 4.16874C1.22562 5.04532 1.13062 6.00989 1.31572 6.94046C1.50083 7.87104 1.95772 8.72583 2.62863 9.39674C3.29954 10.0676 4.15433 10.5245 5.0849 10.7096C6.01548 10.8947 6.98005 10.7997 7.85663 10.4367C8.73322 10.0736 9.48244 9.45868 10.0096 8.66978C10.5367 7.88088 10.8181 6.95337 10.8181 6.00457C10.8181 4.73226 10.3126 3.51206 9.41297 2.6124C8.51331 1.71274 7.29311 1.20731 6.0208 1.20731ZM4.00591 6.60422H8.00362C8.16266 6.60422 8.31518 6.54104 8.42764 6.42859C8.5401 6.31613 8.60328 6.1636 8.60328 6.00456C8.60328 5.84553 8.5401 5.693 8.42764 5.58054C8.31518 5.46809 8.16266 5.40491 8.00362 5.40491H4.00591C3.84687 5.40491 3.69434 5.46809 3.58189 5.58054C3.46943 5.693 3.40625 5.84553 3.40625 6.00456C3.40625 6.1636 3.46943 6.31613 3.58189 6.42859C3.69434 6.54104 3.84687 6.60422 4.00591 6.60422Z",
    fill: "currentColor"
  }, null, -1)]), 16);
}
script$h.render = render$h;
var script$g = {
  name: "SearchPlusIcon",
  "extends": script$k
};
function render$g(_ctx, _cache, $props, $setup, $data, $options) {
  return openBlock(), createElementBlock("svg", mergeProps({
    width: "14",
    height: "14",
    viewBox: "0 0 14 14",
    fill: "none",
    xmlns: "http://www.w3.org/2000/svg"
  }, _ctx.pti()), _cache[0] || (_cache[0] = [createBaseVNode("path", {
    "fill-rule": "evenodd",
    "clip-rule": "evenodd",
    d: "M2.67596 11.0265C3.66604 11.688 4.83005 12.0411 6.0208 12.0411C6.81143 12.0411 7.59432 11.8854 8.32477 11.5828C8.86999 11.357 9.37802 11.0526 9.83311 10.6803L12.9768 13.8241C13.0322 13.8801 13.0982 13.9245 13.171 13.9548C13.2437 13.985 13.3218 14.0003 13.4006 14C13.4794 14.0003 13.5575 13.985 13.6302 13.9548C13.703 13.9245 13.769 13.8801 13.8244 13.8241C13.9367 13.7116 13.9997 13.5592 13.9997 13.4003C13.9997 13.2414 13.9367 13.089 13.8244 12.9765L10.6806 9.8328C11.0529 9.37773 11.3572 8.86972 11.5831 8.32452C11.8856 7.59408 12.0414 6.81119 12.0414 6.02056C12.0414 4.8298 11.6883 3.66579 11.0267 2.67572C10.3652 1.68564 9.42488 0.913972 8.32477 0.45829C7.22466 0.00260857 6.01412 -0.116618 4.84625 0.115686C3.67838 0.34799 2.60562 0.921393 1.76363 1.76338C0.921637 2.60537 0.348235 3.67813 0.11593 4.84601C-0.116374 6.01388 0.00285271 7.22441 0.458534 8.32452C0.914216 9.42464 1.68589 10.3649 2.67596 11.0265ZM3.35559 2.0158C4.14449 1.48867 5.07199 1.20731 6.0208 1.20731C7.29311 1.20731 8.51331 1.71274 9.41297 2.6124C10.3126 3.51206 10.8181 4.73226 10.8181 6.00457C10.8181 6.95337 10.5367 7.88088 10.0096 8.66978C9.48244 9.45868 8.73322 10.0736 7.85663 10.4367C6.98005 10.7997 6.01548 10.8947 5.0849 10.7096C4.15433 10.5245 3.29954 10.0676 2.62863 9.39674C1.95772 8.72583 1.50083 7.87104 1.31572 6.94046C1.13062 6.00989 1.22562 5.04532 1.58872 4.16874C1.95181 3.29215 2.56669 2.54292 3.35559 2.0158ZM6.00481 8.60309C5.84641 8.60102 5.69509 8.53718 5.58308 8.42517C5.47107 8.31316 5.40722 8.16183 5.40515 8.00344V6.60422H4.00591C3.84687 6.60422 3.69434 6.54104 3.58189 6.42859C3.46943 6.31613 3.40625 6.1636 3.40625 6.00456C3.40625 5.84553 3.46943 5.693 3.58189 5.58054C3.69434 5.46809 3.84687 5.40491 4.00591 5.40491H5.40515V4.00572C5.40515 3.84668 5.46833 3.69416 5.58079 3.5817C5.69324 3.46924 5.84577 3.40607 6.00481 3.40607C6.16385 3.40607 6.31637 3.46924 6.42883 3.5817C6.54129 3.69416 6.60447 3.84668 6.60447 4.00572V5.40491H8.00362C8.16266 5.40491 8.31518 5.46809 8.42764 5.58054C8.5401 5.693 8.60328 5.84553 8.60328 6.00456C8.60328 6.1636 8.5401 6.31613 8.42764 6.42859C8.31518 6.54104 8.16266 6.60422 8.00362 6.60422H6.60447V8.00344C6.60239 8.16183 6.53855 8.31316 6.42654 8.42517C6.31453 8.53718 6.1632 8.60102 6.00481 8.60309Z",
    fill: "currentColor"
  }, null, -1)]), 16);
}
script$g.render = render$g;
var script$f = {
  name: "TimesIcon",
  "extends": script$k
};
function render$f(_ctx, _cache, $props, $setup, $data, $options) {
  return openBlock(), createElementBlock("svg", mergeProps({
    width: "14",
    height: "14",
    viewBox: "0 0 14 14",
    fill: "none",
    xmlns: "http://www.w3.org/2000/svg"
  }, _ctx.pti()), _cache[0] || (_cache[0] = [createBaseVNode("path", {
    d: "M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z",
    fill: "currentColor"
  }, null, -1)]), 16);
}
script$f.render = render$f;
var script$e = {
  name: "UndoIcon",
  "extends": script$k
};
function render$e(_ctx, _cache, $props, $setup, $data, $options) {
  return openBlock(), createElementBlock("svg", mergeProps({
    width: "14",
    height: "14",
    viewBox: "0 0 14 14",
    fill: "none",
    xmlns: "http://www.w3.org/2000/svg"
  }, _ctx.pti()), _cache[0] || (_cache[0] = [createBaseVNode("path", {
    "fill-rule": "evenodd",
    "clip-rule": "evenodd",
    d: "M6.77042 5.96336C6.84315 5.99355 6.92118 6.00891 6.99993 6.00854C7.07868 6.00891 7.15671 5.99355 7.22944 5.96336C7.30217 5.93317 7.36814 5.88876 7.42348 5.83273C7.53572 5.72035 7.59876 5.56801 7.59876 5.40918C7.59876 5.25035 7.53572 5.09802 7.42348 4.98564L6.04897 3.61113H6.99998C7.9088 3.61113 8.79722 3.88063 9.55288 4.38554C10.3085 4.89046 10.8975 5.60811 11.2453 6.44776C11.5931 7.2874 11.6841 8.21132 11.5068 9.10268C11.3295 9.99404 10.8918 10.8128 10.2492 11.4554C9.60657 12.0981 8.7878 12.5357 7.89644 12.713C7.00508 12.8903 6.08116 12.7993 5.24152 12.4515C4.40188 12.1037 3.68422 11.5148 3.17931 10.7591C2.67439 10.0035 2.4049 9.11504 2.4049 8.20622C2.4049 8.04726 2.34175 7.89481 2.22935 7.78241C2.11695 7.67001 1.9645 7.60686 1.80554 7.60686C1.64658 7.60686 1.49413 7.67001 1.38172 7.78241C1.26932 7.89481 1.20618 8.04726 1.20618 8.20622C1.20829 9.74218 1.81939 11.2146 2.90548 12.3007C3.99157 13.3868 5.46402 13.9979 6.99998 14C8.5366 14 10.0103 13.3896 11.0968 12.3031C12.1834 11.2165 12.7938 9.74283 12.7938 8.20622C12.7938 6.66961 12.1834 5.19593 11.0968 4.10938C10.0103 3.02283 8.5366 2.41241 6.99998 2.41241H6.04892L7.42348 1.03786C7.48236 0.982986 7.5296 0.916817 7.56235 0.843296C7.59511 0.769775 7.61273 0.690409 7.61415 0.609933C7.61557 0.529456 7.60076 0.449519 7.57062 0.374888C7.54047 0.300257 7.49561 0.232462 7.43869 0.175548C7.38178 0.118634 7.31398 0.0737664 7.23935 0.0436218C7.16472 0.0134773 7.08478 -0.00132663 7.00431 9.32772e-05C6.92383 0.00151319 6.84447 0.019128 6.77095 0.0518865C6.69742 0.0846451 6.63126 0.131876 6.57638 0.190763L4.17895 2.5882C4.06671 2.70058 4.00366 2.85292 4.00366 3.01175C4.00366 3.17058 4.06671 3.32291 4.17895 3.43529L6.57638 5.83273C6.63172 5.88876 6.69769 5.93317 6.77042 5.96336Z",
    fill: "currentColor"
  }, null, -1)]), 16);
}
script$e.render = render$e;
var FocusTrapStyle = BaseStyle.extend({
  name: "focustrap-directive"
});
var BaseFocusTrap = BaseDirective.extend({
  style: FocusTrapStyle
});
function _typeof$4(o2) {
  "@babel/helpers - typeof";
  return _typeof$4 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) {
    return typeof o3;
  } : function(o3) {
    return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3;
  }, _typeof$4(o2);
}
function ownKeys$3(e, r2) {
  var t2 = Object.keys(e);
  if (Object.getOwnPropertySymbols) {
    var o2 = Object.getOwnPropertySymbols(e);
    r2 && (o2 = o2.filter(function(r3) {
      return Object.getOwnPropertyDescriptor(e, r3).enumerable;
    })), t2.push.apply(t2, o2);
  }
  return t2;
}
function _objectSpread$1(e) {
  for (var r2 = 1; r2 < arguments.length; r2++) {
    var t2 = null != arguments[r2] ? arguments[r2] : {};
    r2 % 2 ? ownKeys$3(Object(t2), true).forEach(function(r3) {
      _defineProperty$5(e, r3, t2[r3]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$3(Object(t2)).forEach(function(r3) {
      Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));
    });
  }
  return e;
}
function _defineProperty$5(e, r2, t2) {
  return (r2 = _toPropertyKey$5(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;
}
function _toPropertyKey$5(t2) {
  var i = _toPrimitive$5(t2, "string");
  return "symbol" == _typeof$4(i) ? i : i + "";
}
function _toPrimitive$5(t2, r2) {
  if ("object" != _typeof$4(t2) || !t2) return t2;
  var e = t2[Symbol.toPrimitive];
  if (void 0 !== e) {
    var i = e.call(t2, r2 || "default");
    if ("object" != _typeof$4(i)) return i;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return ("string" === r2 ? String : Number)(t2);
}
var FocusTrap = BaseFocusTrap.extend("focustrap", {
  mounted: function mounted2(el, binding) {
    var _ref = binding.value || {}, disabled3 = _ref.disabled;
    if (!disabled3) {
      this.createHiddenFocusableElements(el, binding);
      this.bind(el, binding);
      this.autoElementFocus(el, binding);
    }
    el.setAttribute("data-pd-focustrap", true);
    this.$el = el;
  },
  updated: function updated3(el, binding) {
    var _ref2 = binding.value || {}, disabled3 = _ref2.disabled;
    disabled3 && this.unbind(el);
  },
  unmounted: function unmounted3(el) {
    this.unbind(el);
  },
  methods: {
    getComputedSelector: function getComputedSelector(selector) {
      return ':not(.p-hidden-focusable):not([data-p-hidden-focusable="true"])'.concat(selector !== null && selector !== void 0 ? selector : "");
    },
    bind: function bind(el, binding) {
      var _this = this;
      var _ref3 = binding.value || {}, onFocusIn = _ref3.onFocusIn, onFocusOut = _ref3.onFocusOut;
      el.$_pfocustrap_mutationobserver = new MutationObserver(function(mutationList) {
        mutationList.forEach(function(mutation) {
          if (mutation.type === "childList" && !el.contains(document.activeElement)) {
            var _findNextFocusableElement = function findNextFocusableElement(_el) {
              var focusableElement = isFocusableElement(_el) ? isFocusableElement(_el, _this.getComputedSelector(el.$_pfocustrap_focusableselector)) ? _el : getFirstFocusableElement(el, _this.getComputedSelector(el.$_pfocustrap_focusableselector)) : getFirstFocusableElement(_el);
              return isNotEmpty(focusableElement) ? focusableElement : _el.nextSibling && _findNextFocusableElement(_el.nextSibling);
            };
            focus(_findNextFocusableElement(mutation.nextSibling));
          }
        });
      });
      el.$_pfocustrap_mutationobserver.disconnect();
      el.$_pfocustrap_mutationobserver.observe(el, {
        childList: true
      });
      el.$_pfocustrap_focusinlistener = function(event) {
        return onFocusIn && onFocusIn(event);
      };
      el.$_pfocustrap_focusoutlistener = function(event) {
        return onFocusOut && onFocusOut(event);
      };
      el.addEventListener("focusin", el.$_pfocustrap_focusinlistener);
      el.addEventListener("focusout", el.$_pfocustrap_focusoutlistener);
    },
    unbind: function unbind(el) {
      el.$_pfocustrap_mutationobserver && el.$_pfocustrap_mutationobserver.disconnect();
      el.$_pfocustrap_focusinlistener && el.removeEventListener("focusin", el.$_pfocustrap_focusinlistener) && (el.$_pfocustrap_focusinlistener = null);
      el.$_pfocustrap_focusoutlistener && el.removeEventListener("focusout", el.$_pfocustrap_focusoutlistener) && (el.$_pfocustrap_focusoutlistener = null);
    },
    autoFocus: function autoFocus(options) {
      this.autoElementFocus(this.$el, {
        value: _objectSpread$1(_objectSpread$1({}, options), {}, {
          autoFocus: true
        })
      });
    },
    autoElementFocus: function autoElementFocus(el, binding) {
      var _ref4 = binding.value || {}, _ref4$autoFocusSelect = _ref4.autoFocusSelector, autoFocusSelector = _ref4$autoFocusSelect === void 0 ? "" : _ref4$autoFocusSelect, _ref4$firstFocusableS = _ref4.firstFocusableSelector, firstFocusableSelector = _ref4$firstFocusableS === void 0 ? "" : _ref4$firstFocusableS, _ref4$autoFocus = _ref4.autoFocus, autoFocus2 = _ref4$autoFocus === void 0 ? false : _ref4$autoFocus;
      var focusableElement = getFirstFocusableElement(el, "[autofocus]".concat(this.getComputedSelector(autoFocusSelector)));
      autoFocus2 && !focusableElement && (focusableElement = getFirstFocusableElement(el, this.getComputedSelector(firstFocusableSelector)));
      focus(focusableElement);
    },
    onFirstHiddenElementFocus: function onFirstHiddenElementFocus(event) {
      var _this$$el;
      var currentTarget = event.currentTarget, relatedTarget = event.relatedTarget;
      var focusableElement = relatedTarget === currentTarget.$_pfocustrap_lasthiddenfocusableelement || !((_this$$el = this.$el) !== null && _this$$el !== void 0 && _this$$el.contains(relatedTarget)) ? getFirstFocusableElement(currentTarget.parentElement, this.getComputedSelector(currentTarget.$_pfocustrap_focusableselector)) : currentTarget.$_pfocustrap_lasthiddenfocusableelement;
      focus(focusableElement);
    },
    onLastHiddenElementFocus: function onLastHiddenElementFocus(event) {
      var _this$$el2;
      var currentTarget = event.currentTarget, relatedTarget = event.relatedTarget;
      var focusableElement = relatedTarget === currentTarget.$_pfocustrap_firsthiddenfocusableelement || !((_this$$el2 = this.$el) !== null && _this$$el2 !== void 0 && _this$$el2.contains(relatedTarget)) ? getLastFocusableElement(currentTarget.parentElement, this.getComputedSelector(currentTarget.$_pfocustrap_focusableselector)) : currentTarget.$_pfocustrap_firsthiddenfocusableelement;
      focus(focusableElement);
    },
    createHiddenFocusableElements: function createHiddenFocusableElements(el, binding) {
      var _this2 = this;
      var _ref5 = binding.value || {}, _ref5$tabIndex = _ref5.tabIndex, tabIndex = _ref5$tabIndex === void 0 ? 0 : _ref5$tabIndex, _ref5$firstFocusableS = _ref5.firstFocusableSelector, firstFocusableSelector = _ref5$firstFocusableS === void 0 ? "" : _ref5$firstFocusableS, _ref5$lastFocusableSe = _ref5.lastFocusableSelector, lastFocusableSelector = _ref5$lastFocusableSe === void 0 ? "" : _ref5$lastFocusableSe;
      var createFocusableElement = function createFocusableElement2(onFocus3) {
        return createElement$1("span", {
          "class": "p-hidden-accessible p-hidden-focusable",
          tabIndex,
          role: "presentation",
          "aria-hidden": true,
          "data-p-hidden-accessible": true,
          "data-p-hidden-focusable": true,
          onFocus: onFocus3 === null || onFocus3 === void 0 ? void 0 : onFocus3.bind(_this2)
        });
      };
      var firstFocusableElement = createFocusableElement(this.onFirstHiddenElementFocus);
      var lastFocusableElement = createFocusableElement(this.onLastHiddenElementFocus);
      firstFocusableElement.$_pfocustrap_lasthiddenfocusableelement = lastFocusableElement;
      firstFocusableElement.$_pfocustrap_focusableselector = firstFocusableSelector;
      firstFocusableElement.setAttribute("data-pc-section", "firstfocusableelement");
      lastFocusableElement.$_pfocustrap_firsthiddenfocusableelement = firstFocusableElement;
      lastFocusableElement.$_pfocustrap_focusableselector = lastFocusableSelector;
      lastFocusableElement.setAttribute("data-pc-section", "lastfocusableelement");
      el.prepend(firstFocusableElement);
      el.append(lastFocusableElement);
    }
  }
});
var script$d = {
  name: "Portal",
  props: {
    appendTo: {
      type: [String, Object],
      "default": "body"
    },
    disabled: {
      type: Boolean,
      "default": false
    }
  },
  data: function data() {
    return {
      mounted: false
    };
  },
  mounted: function mounted3() {
    this.mounted = isClient();
  },
  computed: {
    inline: function inline() {
      return this.disabled || this.appendTo === "self";
    }
  }
};
function render$d(_ctx, _cache, $props, $setup, $data, $options) {
  return $options.inline ? renderSlot(_ctx.$slots, "default", {
    key: 0
  }) : $data.mounted ? (openBlock(), createBlock(Teleport, {
    key: 1,
    to: $props.appendTo
  }, [renderSlot(_ctx.$slots, "default")], 8, ["to"])) : createCommentVNode("", true);
}
script$d.render = render$d;
var theme$5 = function theme3(_ref) {
  var dt2 = _ref.dt;
  return "\n.p-image-mask {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n}\n\n.p-image-preview {\n    position: relative;\n    display: inline-flex;\n    line-height: 0;\n}\n\n.p-image-preview-mask {\n    position: absolute;\n    inset-inline-start: 0;\n    inset-block-start: 0;\n    width: 100%;\n    height: 100%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    opacity: 0;\n    transition: opacity 0.3s;\n    border: 0 none;\n    padding: 0;\n    cursor: pointer;\n    background: transparent;\n    color: ".concat(dt2("image.preview.mask.color"), ";\n    transition: background ").concat(dt2("image.transition.duration"), ";\n}\n\n.p-image-preview:hover > .p-image-preview-mask {\n    opacity: 1;\n    cursor: pointer;\n    background: ").concat(dt2("image.preview.mask.background"), ";\n}\n\n.p-image-preview-icon {\n    font-size: ").concat(dt2("image.preview.icon.size"), ";\n    width: ").concat(dt2("image.preview.icon.size"), ";\n    height: ").concat(dt2("image.preview.icon.size"), ";\n}\n\n.p-image-toolbar {\n    position: absolute;\n    inset-block-start: ").concat(dt2("image.toolbar.position.top"), ";\n    inset-inline-end: ").concat(dt2("image.toolbar.position.right"), ";\n    inset-inline-start: ").concat(dt2("image.toolbar.position.left"), ";\n    inset-block-end: ").concat(dt2("image.toolbar.position.bottom"), ";\n    display: flex;\n    z-index: 1;\n    padding: ").concat(dt2("image.toolbar.padding"), ";\n    background: ").concat(dt2("image.toolbar.background"), ";\n    backdrop-filter: blur(").concat(dt2("image.toolbar.blur"), ");\n    border-color: ").concat(dt2("image.toolbar.border.color"), ";\n    border-style: solid;\n    border-width: ").concat(dt2("image.toolbar.border.width"), ";\n    border-radius: ").concat(dt2("image.toolbar.border.radius"), ";\n    gap: ").concat(dt2("image.toolbar.gap"), ";\n}\n\n.p-image-action {\n    display: inline-flex;\n    justify-content: center;\n    align-items: center;\n    color: ").concat(dt2("image.action.color"), ";\n    background: transparent;\n    width: ").concat(dt2("image.action.size"), ";\n    height: ").concat(dt2("image.action.size"), ";\n    margin: 0;\n    padding: 0;\n    border: 0 none;\n    cursor: pointer;\n    user-select: none;\n    border-radius: ").concat(dt2("image.action.border.radius"), ";\n    outline-color: transparent;\n    transition: background ").concat(dt2("image.transition.duration"), ", color ").concat(dt2("image.transition.duration"), ", outline-color ").concat(dt2("image.transition.duration"), ", box-shadow ").concat(dt2("image.transition.duration"), ";\n}\n\n.p-image-action:hover {\n    color: ").concat(dt2("image.action.hover.color"), ";\n    background: ").concat(dt2("image.action.hover.background"), ";\n}\n\n.p-image-action:focus-visible {\n    box-shadow: ").concat(dt2("image.action.focus.ring.shadow"), ";\n    outline: ").concat(dt2("image.action.focus.ring.width"), " ").concat(dt2("image.action.focus.ring.style"), " ").concat(dt2("image.action.focus.ring.color"), ";\n    outline-offset: ").concat(dt2("image.action.focus.ring.offset"), ";\n}\n\n.p-image-action .p-icon {\n    font-size: ").concat(dt2("image.action.icon.size"), ";\n    width: ").concat(dt2("image.action.icon.size"), ";\n    height: ").concat(dt2("image.action.icon.size"), ";\n}\n\n.p-image-action.p-disabled {\n    pointer-events: auto;\n}\n\n.p-image-original {\n    transition: transform 0.15s;\n    max-width: 100vw;\n    max-height: 100vh;\n}\n\n.p-image-original-enter-active {\n    transition: all 150ms cubic-bezier(0, 0, 0.2, 1);\n}\n\n.p-image-original-leave-active {\n    transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.p-image-original-enter-from,\n.p-image-original-leave-to {\n    opacity: 0;\n    transform: scale(0.7);\n}\n");
};
var classes$9 = {
  root: function root(_ref2) {
    var props = _ref2.props;
    return ["p-image p-component", {
      "p-image-preview": props.preview
    }];
  },
  previewMask: "p-image-preview-mask",
  previewIcon: "p-image-preview-icon",
  mask: "p-image-mask p-overlay-mask p-overlay-mask-enter",
  toolbar: "p-image-toolbar",
  rotateRightButton: "p-image-action p-image-rotate-right-button",
  rotateLeftButton: "p-image-action p-image-rotate-left-button",
  zoomOutButton: function zoomOutButton(_ref3) {
    var instance2 = _ref3.instance;
    return ["p-image-action p-image-zoom-out-button", {
      "p-disabled": instance2.isZoomOutDisabled
    }];
  },
  zoomInButton: function zoomInButton(_ref4) {
    var instance2 = _ref4.instance;
    return ["p-image-action p-image-zoom-in-button", {
      "p-disabled": instance2.isZoomInDisabled
    }];
  },
  closeButton: "p-image-action p-image-close-button",
  original: "p-image-original"
};
var ImageStyle = BaseStyle.extend({
  name: "image",
  theme: theme$5,
  classes: classes$9
});
var script$1$8 = {
  name: "BaseImage",
  "extends": script$l,
  props: {
    preview: {
      type: Boolean,
      "default": false
    },
    "class": {
      type: null,
      "default": null
    },
    style: {
      type: null,
      "default": null
    },
    imageStyle: {
      type: null,
      "default": null
    },
    imageClass: {
      type: null,
      "default": null
    },
    previewButtonProps: {
      type: null,
      "default": null
    },
    indicatorIcon: {
      type: String,
      "default": void 0
    },
    previewIcon: {
      type: String,
      "default": void 0
    },
    zoomInDisabled: {
      type: Boolean,
      "default": false
    },
    zoomOutDisabled: {
      type: Boolean,
      "default": false
    }
  },
  style: ImageStyle,
  provide: function provide3() {
    return {
      $pcImage: this,
      $parentInstance: this
    };
  }
};
var script$c = {
  name: "Image",
  "extends": script$1$8,
  inheritAttrs: false,
  emits: ["show", "hide", "error"],
  mask: null,
  data: function data2() {
    return {
      maskVisible: false,
      previewVisible: false,
      rotate: 0,
      scale: 1
    };
  },
  beforeUnmount: function beforeUnmount2() {
    if (this.mask) {
      ZIndex.clear(this.container);
    }
  },
  methods: {
    maskRef: function maskRef(el) {
      this.mask = el;
    },
    toolbarRef: function toolbarRef(el) {
      this.toolbarRef = el;
    },
    onImageClick: function onImageClick() {
      var _this = this;
      if (this.preview) {
        blockBodyScroll();
        this.maskVisible = true;
        setTimeout(function() {
          _this.previewVisible = true;
        }, 25);
      }
    },
    onPreviewImageClick: function onPreviewImageClick() {
      this.previewClick = true;
    },
    onMaskClick: function onMaskClick(event) {
      var isBarActionsClicked = isAttributeEquals(event.target, "data-pc-section-group", "action") || event.target.closest('[data-pc-section-group="action"]');
      if (!this.previewClick && !isBarActionsClicked) {
        this.previewVisible = false;
        this.rotate = 0;
        this.scale = 1;
      }
      this.previewClick = false;
    },
    onMaskKeydown: function onMaskKeydown(event) {
      var _this2 = this;
      switch (event.code) {
        case "Escape":
          this.hidePreview();
          setTimeout(function() {
            focus(_this2.$refs.previewButton);
          }, 200);
          event.preventDefault();
          break;
      }
    },
    onError: function onError() {
      this.$emit("error");
    },
    rotateRight: function rotateRight() {
      this.rotate += 90;
      this.previewClick = true;
    },
    rotateLeft: function rotateLeft() {
      this.rotate -= 90;
      this.previewClick = true;
    },
    zoomIn: function zoomIn() {
      this.scale = this.scale + 0.1;
      this.previewClick = true;
    },
    zoomOut: function zoomOut() {
      this.scale = this.scale - 0.1;
      this.previewClick = true;
    },
    onBeforeEnter: function onBeforeEnter() {
      ZIndex.set("modal", this.mask, this.$primevue.config.zIndex.modal);
    },
    onEnter: function onEnter() {
      this.focus();
      this.$emit("show");
    },
    onBeforeLeave: function onBeforeLeave() {
      !this.isUnstyled && addClass(this.mask, "p-overlay-mask-leave");
    },
    onLeave: function onLeave() {
      unblockBodyScroll();
      this.$emit("hide");
    },
    onAfterLeave: function onAfterLeave(el) {
      ZIndex.clear(el);
      this.maskVisible = false;
    },
    focus: function focus2() {
      var focusTarget = this.mask.querySelector("[autofocus]");
      if (focusTarget) {
        focusTarget.focus();
      }
    },
    hidePreview: function hidePreview() {
      this.previewVisible = false;
      this.rotate = 0;
      this.scale = 1;
      unblockBodyScroll();
    }
  },
  computed: {
    containerClass: function containerClass() {
      return [this.cx("root"), this["class"]];
    },
    rotateClass: function rotateClass() {
      return "p-image-preview-rotate-" + this.rotate;
    },
    imagePreviewStyle: function imagePreviewStyle() {
      return {
        transform: "rotate(" + this.rotate + "deg) scale(" + this.scale + ")"
      };
    },
    isZoomInDisabled: function isZoomInDisabled() {
      return this.zoomInDisabled || this.scale >= 1.5;
    },
    isZoomOutDisabled: function isZoomOutDisabled() {
      return this.zoomOutDisabled || this.scale <= 0.5;
    },
    rightAriaLabel: function rightAriaLabel() {
      return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.rotateRight : void 0;
    },
    leftAriaLabel: function leftAriaLabel() {
      return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.rotateLeft : void 0;
    },
    zoomInAriaLabel: function zoomInAriaLabel() {
      return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.zoomIn : void 0;
    },
    zoomOutAriaLabel: function zoomOutAriaLabel() {
      return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.zoomOut : void 0;
    },
    zoomImageAriaLabel: function zoomImageAriaLabel() {
      return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.zoomImage : void 0;
    },
    closeAriaLabel: function closeAriaLabel() {
      return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : void 0;
    }
  },
  components: {
    Portal: script$d,
    EyeIcon: script$j,
    RefreshIcon: script$i,
    UndoIcon: script$e,
    SearchMinusIcon: script$h,
    SearchPlusIcon: script$g,
    TimesIcon: script$f
  },
  directives: {
    focustrap: FocusTrap
  }
};
function _typeof$3(o2) {
  "@babel/helpers - typeof";
  return _typeof$3 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) {
    return typeof o3;
  } : function(o3) {
    return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3;
  }, _typeof$3(o2);
}
function ownKeys$2(e, r2) {
  var t2 = Object.keys(e);
  if (Object.getOwnPropertySymbols) {
    var o2 = Object.getOwnPropertySymbols(e);
    r2 && (o2 = o2.filter(function(r3) {
      return Object.getOwnPropertyDescriptor(e, r3).enumerable;
    })), t2.push.apply(t2, o2);
  }
  return t2;
}
function _objectSpread(e) {
  for (var r2 = 1; r2 < arguments.length; r2++) {
    var t2 = null != arguments[r2] ? arguments[r2] : {};
    r2 % 2 ? ownKeys$2(Object(t2), true).forEach(function(r3) {
      _defineProperty$4(e, r3, t2[r3]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$2(Object(t2)).forEach(function(r3) {
      Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));
    });
  }
  return e;
}
function _defineProperty$4(e, r2, t2) {
  return (r2 = _toPropertyKey$4(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;
}
function _toPropertyKey$4(t2) {
  var i = _toPrimitive$4(t2, "string");
  return "symbol" == _typeof$3(i) ? i : i + "";
}
function _toPrimitive$4(t2, r2) {
  if ("object" != _typeof$3(t2) || !t2) return t2;
  var e = t2[Symbol.toPrimitive];
  if (void 0 !== e) {
    var i = e.call(t2, r2 || "default");
    if ("object" != _typeof$3(i)) return i;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return ("string" === r2 ? String : Number)(t2);
}
var _hoisted_1$7 = ["aria-label"];
var _hoisted_2$6 = ["aria-modal"];
var _hoisted_3$6 = ["aria-label"];
var _hoisted_4$4 = ["aria-label"];
var _hoisted_5$4 = ["disabled", "aria-label"];
var _hoisted_6$4 = ["disabled", "aria-label"];
var _hoisted_7$4 = ["aria-label"];
var _hoisted_8$4 = ["src"];
function render$c(_ctx, _cache, $props, $setup, $data, $options) {
  var _component_RefreshIcon = resolveComponent("RefreshIcon");
  var _component_UndoIcon = resolveComponent("UndoIcon");
  var _component_SearchMinusIcon = resolveComponent("SearchMinusIcon");
  var _component_SearchPlusIcon = resolveComponent("SearchPlusIcon");
  var _component_TimesIcon = resolveComponent("TimesIcon");
  var _component_Portal = resolveComponent("Portal");
  var _directive_focustrap = resolveDirective("focustrap");
  return openBlock(), createElementBlock("span", mergeProps({
    "class": $options.containerClass,
    style: _ctx.style
  }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "image", {
    errorCallback: $options.onError
  }, function() {
    return [createBaseVNode("img", mergeProps({
      style: _ctx.imageStyle,
      "class": _ctx.imageClass,
      onError: _cache[0] || (_cache[0] = function() {
        return $options.onError && $options.onError.apply($options, arguments);
      })
    }, _objectSpread(_objectSpread({}, _ctx.$attrs), _ctx.ptm("image"))), null, 16)];
  }), _ctx.preview ? (openBlock(), createElementBlock("button", mergeProps({
    key: 0,
    ref: "previewButton",
    "aria-label": $options.zoomImageAriaLabel,
    type: "button",
    "class": _ctx.cx("previewMask"),
    onClick: _cache[1] || (_cache[1] = function() {
      return $options.onImageClick && $options.onImageClick.apply($options, arguments);
    })
  }, _objectSpread(_objectSpread({}, _ctx.previewButtonProps), _ctx.ptm("previewMask"))), [renderSlot(_ctx.$slots, _ctx.$slots.previewicon ? "previewicon" : "indicatoricon", {}, function() {
    return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.previewIcon || _ctx.indicatorIcon ? "i" : "EyeIcon"), mergeProps({
      "class": _ctx.cx("previewIcon")
    }, _ctx.ptm("previewIcon")), null, 16, ["class"]))];
  })], 16, _hoisted_1$7)) : createCommentVNode("", true), createVNode(_component_Portal, null, {
    "default": withCtx(function() {
      return [$data.maskVisible ? withDirectives((openBlock(), createElementBlock("div", mergeProps({
        key: 0,
        ref: $options.maskRef,
        role: "dialog",
        "class": _ctx.cx("mask"),
        "aria-modal": $data.maskVisible,
        onClick: _cache[8] || (_cache[8] = function() {
          return $options.onMaskClick && $options.onMaskClick.apply($options, arguments);
        }),
        onKeydown: _cache[9] || (_cache[9] = function() {
          return $options.onMaskKeydown && $options.onMaskKeydown.apply($options, arguments);
        })
      }, _ctx.ptm("mask")), [createBaseVNode("div", mergeProps({
        "class": _ctx.cx("toolbar")
      }, _ctx.ptm("toolbar")), [createBaseVNode("button", mergeProps({
        "class": _ctx.cx("rotateRightButton"),
        onClick: _cache[2] || (_cache[2] = function() {
          return $options.rotateRight && $options.rotateRight.apply($options, arguments);
        }),
        type: "button",
        "aria-label": $options.rightAriaLabel
      }, _ctx.ptm("rotateRightButton"), {
        "data-pc-group-section": "action"
      }), [renderSlot(_ctx.$slots, "refresh", {}, function() {
        return [createVNode(_component_RefreshIcon, normalizeProps(guardReactiveProps(_ctx.ptm("rotateRightIcon"))), null, 16)];
      })], 16, _hoisted_3$6), createBaseVNode("button", mergeProps({
        "class": _ctx.cx("rotateLeftButton"),
        onClick: _cache[3] || (_cache[3] = function() {
          return $options.rotateLeft && $options.rotateLeft.apply($options, arguments);
        }),
        type: "button",
        "aria-label": $options.leftAriaLabel
      }, _ctx.ptm("rotateLeftButton"), {
        "data-pc-group-section": "action"
      }), [renderSlot(_ctx.$slots, "undo", {}, function() {
        return [createVNode(_component_UndoIcon, normalizeProps(guardReactiveProps(_ctx.ptm("rotateLeftIcon"))), null, 16)];
      })], 16, _hoisted_4$4), createBaseVNode("button", mergeProps({
        "class": _ctx.cx("zoomOutButton"),
        onClick: _cache[4] || (_cache[4] = function() {
          return $options.zoomOut && $options.zoomOut.apply($options, arguments);
        }),
        type: "button",
        disabled: $options.isZoomOutDisabled,
        "aria-label": $options.zoomOutAriaLabel
      }, _ctx.ptm("zoomOutButton"), {
        "data-pc-group-section": "action"
      }), [renderSlot(_ctx.$slots, "zoomout", {}, function() {
        return [createVNode(_component_SearchMinusIcon, normalizeProps(guardReactiveProps(_ctx.ptm("zoomOutIcon"))), null, 16)];
      })], 16, _hoisted_5$4), createBaseVNode("button", mergeProps({
        "class": _ctx.cx("zoomInButton"),
        onClick: _cache[5] || (_cache[5] = function() {
          return $options.zoomIn && $options.zoomIn.apply($options, arguments);
        }),
        type: "button",
        disabled: $options.isZoomInDisabled,
        "aria-label": $options.zoomInAriaLabel
      }, _ctx.ptm("zoomInButton"), {
        "data-pc-group-section": "action"
      }), [renderSlot(_ctx.$slots, "zoomin", {}, function() {
        return [createVNode(_component_SearchPlusIcon, normalizeProps(guardReactiveProps(_ctx.ptm("zoomInIcon"))), null, 16)];
      })], 16, _hoisted_6$4), createBaseVNode("button", mergeProps({
        "class": _ctx.cx("closeButton"),
        type: "button",
        onClick: _cache[6] || (_cache[6] = function() {
          return $options.hidePreview && $options.hidePreview.apply($options, arguments);
        }),
        "aria-label": $options.closeAriaLabel,
        autofocus: ""
      }, _ctx.ptm("closeButton"), {
        "data-pc-group-section": "action"
      }), [renderSlot(_ctx.$slots, "close", {}, function() {
        return [createVNode(_component_TimesIcon, normalizeProps(guardReactiveProps(_ctx.ptm("closeIcon"))), null, 16)];
      })], 16, _hoisted_7$4)], 16), createVNode(Transition, mergeProps({
        name: "p-image-original",
        onBeforeEnter: $options.onBeforeEnter,
        onEnter: $options.onEnter,
        onLeave: $options.onLeave,
        onBeforeLeave: $options.onBeforeLeave,
        onAfterLeave: $options.onAfterLeave
      }, _ctx.ptm("transition")), {
        "default": withCtx(function() {
          return [$data.previewVisible ? (openBlock(), createElementBlock("div", normalizeProps(mergeProps({
            key: 0
          }, _ctx.ptm("originalContainer"))), [renderSlot(_ctx.$slots, _ctx.$slots.original ? "original" : "preview", {
            "class": normalizeClass(_ctx.cx("original")),
            style: normalizeStyle($options.imagePreviewStyle),
            previewCallback: $options.onPreviewImageClick
          }, function() {
            return [createBaseVNode("img", mergeProps({
              src: _ctx.$attrs.src,
              "class": _ctx.cx("original"),
              style: $options.imagePreviewStyle,
              onClick: _cache[7] || (_cache[7] = function() {
                return $options.onPreviewImageClick && $options.onPreviewImageClick.apply($options, arguments);
              })
            }, _ctx.ptm("original")), null, 16, _hoisted_8$4)];
          })], 16)) : createCommentVNode("", true)];
        }),
        _: 3
      }, 16, ["onBeforeEnter", "onEnter", "onLeave", "onBeforeLeave", "onAfterLeave"])], 16, _hoisted_2$6)), [[_directive_focustrap]]) : createCommentVNode("", true)];
    }),
    _: 3
  })], 16);
}
script$c.render = render$c;
var theme$4 = function theme4(_ref) {
  var dt2 = _ref.dt;
  return "\n.p-ink {\n    display: block;\n    position: absolute;\n    background: ".concat(dt2("ripple.background"), ";\n    border-radius: 100%;\n    transform: scale(0);\n    pointer-events: none;\n}\n\n.p-ink-active {\n    animation: ripple 0.4s linear;\n}\n\n@keyframes ripple {\n    100% {\n        opacity: 0;\n        transform: scale(2.5);\n    }\n}\n");
};
var classes$8 = {
  root: "p-ink"
};
var RippleStyle = BaseStyle.extend({
  name: "ripple-directive",
  theme: theme$4,
  classes: classes$8
});
var BaseRipple = BaseDirective.extend({
  style: RippleStyle
});
function _typeof$2(o2) {
  "@babel/helpers - typeof";
  return _typeof$2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) {
    return typeof o3;
  } : function(o3) {
    return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3;
  }, _typeof$2(o2);
}
function _toConsumableArray(r2) {
  return _arrayWithoutHoles(r2) || _iterableToArray(r2) || _unsupportedIterableToArray(r2) || _nonIterableSpread();
}
function _nonIterableSpread() {
  throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _unsupportedIterableToArray(r2, a) {
  if (r2) {
    if ("string" == typeof r2) return _arrayLikeToArray(r2, a);
    var t2 = {}.toString.call(r2).slice(8, -1);
    return "Object" === t2 && r2.constructor && (t2 = r2.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r2) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray(r2, a) : void 0;
  }
}
function _iterableToArray(r2) {
  if ("undefined" != typeof Symbol && null != r2[Symbol.iterator] || null != r2["@@iterator"]) return Array.from(r2);
}
function _arrayWithoutHoles(r2) {
  if (Array.isArray(r2)) return _arrayLikeToArray(r2);
}
function _arrayLikeToArray(r2, a) {
  (null == a || a > r2.length) && (a = r2.length);
  for (var e = 0, n = Array(a); e < a; e++) n[e] = r2[e];
  return n;
}
function _defineProperty$3(e, r2, t2) {
  return (r2 = _toPropertyKey$3(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;
}
function _toPropertyKey$3(t2) {
  var i = _toPrimitive$3(t2, "string");
  return "symbol" == _typeof$2(i) ? i : i + "";
}
function _toPrimitive$3(t2, r2) {
  if ("object" != _typeof$2(t2) || !t2) return t2;
  var e = t2[Symbol.toPrimitive];
  if (void 0 !== e) {
    var i = e.call(t2, r2 || "default");
    if ("object" != _typeof$2(i)) return i;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return ("string" === r2 ? String : Number)(t2);
}
var Ripple = BaseRipple.extend("ripple", {
  watch: {
    "config.ripple": function configRipple(newValue) {
      if (newValue) {
        this.createRipple(this.$host);
        this.bindEvents(this.$host);
        this.$host.setAttribute("data-pd-ripple", true);
        this.$host.style["overflow"] = "hidden";
        this.$host.style["position"] = "relative";
      } else {
        this.remove(this.$host);
        this.$host.removeAttribute("data-pd-ripple");
      }
    }
  },
  unmounted: function unmounted4(el) {
    this.remove(el);
  },
  timeout: void 0,
  methods: {
    bindEvents: function bindEvents2(el) {
      el.addEventListener("mousedown", this.onMouseDown.bind(this));
    },
    unbindEvents: function unbindEvents2(el) {
      el.removeEventListener("mousedown", this.onMouseDown.bind(this));
    },
    createRipple: function createRipple(el) {
      var ink = createElement$1("span", _defineProperty$3(_defineProperty$3({
        role: "presentation",
        "aria-hidden": true,
        "data-p-ink": true,
        "data-p-ink-active": false,
        "class": !this.isUnstyled() && this.cx("root"),
        onAnimationEnd: this.onAnimationEnd.bind(this)
      }, this.$attrSelector, ""), "p-bind", this.ptm("root")));
      el.appendChild(ink);
      this.$el = ink;
    },
    remove: function remove3(el) {
      var ink = this.getInk(el);
      if (ink) {
        this.$host.style["overflow"] = "";
        this.$host.style["position"] = "";
        this.unbindEvents(el);
        ink.removeEventListener("animationend", this.onAnimationEnd);
        ink.remove();
      }
    },
    onMouseDown: function onMouseDown(event) {
      var _this = this;
      var target = event.currentTarget;
      var ink = this.getInk(target);
      if (!ink || getComputedStyle(ink, null).display === "none") {
        return;
      }
      !this.isUnstyled() && removeClass(ink, "p-ink-active");
      ink.setAttribute("data-p-ink-active", "false");
      if (!getHeight(ink) && !getWidth(ink)) {
        var d = Math.max(getOuterWidth(target), getOuterHeight(target));
        ink.style.height = d + "px";
        ink.style.width = d + "px";
      }
      var offset = getOffset(target);
      var x2 = event.pageX - offset.left + document.body.scrollTop - getWidth(ink) / 2;
      var y = event.pageY - offset.top + document.body.scrollLeft - getHeight(ink) / 2;
      ink.style.top = y + "px";
      ink.style.left = x2 + "px";
      !this.isUnstyled() && addClass(ink, "p-ink-active");
      ink.setAttribute("data-p-ink-active", "true");
      this.timeout = setTimeout(function() {
        if (ink) {
          !_this.isUnstyled() && removeClass(ink, "p-ink-active");
          ink.setAttribute("data-p-ink-active", "false");
        }
      }, 401);
    },
    onAnimationEnd: function onAnimationEnd(event) {
      if (this.timeout) {
        clearTimeout(this.timeout);
      }
      !this.isUnstyled() && removeClass(event.currentTarget, "p-ink-active");
      event.currentTarget.setAttribute("data-p-ink-active", "false");
    },
    getInk: function getInk(el) {
      return el && el.children ? _toConsumableArray(el.children).find(function(child) {
        return getAttribute(child, "data-pc-name") === "ripple";
      }) : void 0;
    }
  }
});
var classes$7 = {
  root: function root2(_ref) {
    var instance2 = _ref.instance, props = _ref.props;
    return ["p-tab", {
      "p-tab-active": instance2.active,
      "p-disabled": props.disabled
    }];
  }
};
var TabStyle = BaseStyle.extend({
  name: "tab",
  classes: classes$7
});
var script$1$7 = {
  name: "BaseTab",
  "extends": script$l,
  props: {
    value: {
      type: [String, Number],
      "default": void 0
    },
    disabled: {
      type: Boolean,
      "default": false
    },
    as: {
      type: [String, Object],
      "default": "BUTTON"
    },
    asChild: {
      type: Boolean,
      "default": false
    }
  },
  style: TabStyle,
  provide: function provide4() {
    return {
      $pcTab: this,
      $parentInstance: this
    };
  }
};
var script$b = {
  name: "Tab",
  "extends": script$1$7,
  inheritAttrs: false,
  inject: ["$pcTabs", "$pcTabList"],
  methods: {
    onFocus: function onFocus2() {
      this.$pcTabs.selectOnFocus && this.changeActiveValue();
    },
    onClick: function onClick2() {
      this.changeActiveValue();
    },
    onKeydown: function onKeydown2(event) {
      switch (event.code) {
        case "ArrowRight":
          this.onArrowRightKey(event);
          break;
        case "ArrowLeft":
          this.onArrowLeftKey(event);
          break;
        case "Home":
          this.onHomeKey(event);
          break;
        case "End":
          this.onEndKey(event);
          break;
        case "PageDown":
          this.onPageDownKey(event);
          break;
        case "PageUp":
          this.onPageUpKey(event);
          break;
        case "Enter":
        case "NumpadEnter":
        case "Space":
          this.onEnterKey(event);
          break;
      }
    },
    onArrowRightKey: function onArrowRightKey(event) {
      var nextTab = this.findNextTab(event.currentTarget);
      nextTab ? this.changeFocusedTab(event, nextTab) : this.onHomeKey(event);
      event.preventDefault();
    },
    onArrowLeftKey: function onArrowLeftKey(event) {
      var prevTab = this.findPrevTab(event.currentTarget);
      prevTab ? this.changeFocusedTab(event, prevTab) : this.onEndKey(event);
      event.preventDefault();
    },
    onHomeKey: function onHomeKey(event) {
      var firstTab = this.findFirstTab();
      this.changeFocusedTab(event, firstTab);
      event.preventDefault();
    },
    onEndKey: function onEndKey(event) {
      var lastTab = this.findLastTab();
      this.changeFocusedTab(event, lastTab);
      event.preventDefault();
    },
    onPageDownKey: function onPageDownKey(event) {
      this.scrollInView(this.findLastTab());
      event.preventDefault();
    },
    onPageUpKey: function onPageUpKey(event) {
      this.scrollInView(this.findFirstTab());
      event.preventDefault();
    },
    onEnterKey: function onEnterKey(event) {
      this.changeActiveValue();
      event.preventDefault();
    },
    findNextTab: function findNextTab(tabElement) {
      var selfCheck = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
      var element = selfCheck ? tabElement : tabElement.nextElementSibling;
      return element ? getAttribute(element, "data-p-disabled") || getAttribute(element, "data-pc-section") === "inkbar" ? this.findNextTab(element) : findSingle(element, '[data-pc-name="tab"]') : null;
    },
    findPrevTab: function findPrevTab(tabElement) {
      var selfCheck = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
      var element = selfCheck ? tabElement : tabElement.previousElementSibling;
      return element ? getAttribute(element, "data-p-disabled") || getAttribute(element, "data-pc-section") === "inkbar" ? this.findPrevTab(element) : findSingle(element, '[data-pc-name="tab"]') : null;
    },
    findFirstTab: function findFirstTab() {
      return this.findNextTab(this.$pcTabList.$refs.content.firstElementChild, true);
    },
    findLastTab: function findLastTab() {
      return this.findPrevTab(this.$pcTabList.$refs.content.lastElementChild, true);
    },
    changeActiveValue: function changeActiveValue() {
      this.$pcTabs.updateValue(this.value);
    },
    changeFocusedTab: function changeFocusedTab(event, element) {
      focus(element);
      this.scrollInView(element);
    },
    scrollInView: function scrollInView(element) {
      var _element$scrollIntoVi;
      element === null || element === void 0 || (_element$scrollIntoVi = element.scrollIntoView) === null || _element$scrollIntoVi === void 0 || _element$scrollIntoVi.call(element, {
        block: "nearest"
      });
    }
  },
  computed: {
    active: function active() {
      var _this$$pcTabs;
      return equals((_this$$pcTabs = this.$pcTabs) === null || _this$$pcTabs === void 0 ? void 0 : _this$$pcTabs.d_value, this.value);
    },
    id: function id() {
      var _this$$pcTabs2;
      return "".concat((_this$$pcTabs2 = this.$pcTabs) === null || _this$$pcTabs2 === void 0 ? void 0 : _this$$pcTabs2.id, "_tab_").concat(this.value);
    },
    ariaControls: function ariaControls() {
      var _this$$pcTabs3;
      return "".concat((_this$$pcTabs3 = this.$pcTabs) === null || _this$$pcTabs3 === void 0 ? void 0 : _this$$pcTabs3.id, "_tabpanel_").concat(this.value);
    },
    attrs: function attrs() {
      return mergeProps(this.asAttrs, this.a11yAttrs, this.ptmi("root", this.ptParams));
    },
    asAttrs: function asAttrs() {
      return this.as === "BUTTON" ? {
        type: "button",
        disabled: this.disabled
      } : void 0;
    },
    a11yAttrs: function a11yAttrs() {
      return {
        id: this.id,
        tabindex: this.active ? this.$pcTabs.tabindex : -1,
        role: "tab",
        "aria-selected": this.active,
        "aria-controls": this.ariaControls,
        "data-pc-name": "tab",
        "data-p-disabled": this.disabled,
        "data-p-active": this.active,
        onFocus: this.onFocus,
        onKeydown: this.onKeydown
      };
    },
    ptParams: function ptParams() {
      return {
        context: {
          active: this.active
        }
      };
    }
  },
  directives: {
    ripple: Ripple
  }
};
function render$b(_ctx, _cache, $props, $setup, $data, $options) {
  var _directive_ripple = resolveDirective("ripple");
  return !_ctx.asChild ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({
    key: 0,
    "class": _ctx.cx("root"),
    onClick: $options.onClick
  }, $options.attrs), {
    "default": withCtx(function() {
      return [renderSlot(_ctx.$slots, "default")];
    }),
    _: 3
  }, 16, ["class", "onClick"])), [[_directive_ripple]]) : renderSlot(_ctx.$slots, "default", {
    key: 1,
    "class": normalizeClass(_ctx.cx("root")),
    active: $options.active,
    a11yAttrs: $options.a11yAttrs,
    onClick: $options.onClick
  });
}
script$b.render = render$b;
var script$a = {
  name: "ChevronLeftIcon",
  "extends": script$k
};
function render$a(_ctx, _cache, $props, $setup, $data, $options) {
  return openBlock(), createElementBlock("svg", mergeProps({
    width: "14",
    height: "14",
    viewBox: "0 0 14 14",
    fill: "none",
    xmlns: "http://www.w3.org/2000/svg"
  }, _ctx.pti()), _cache[0] || (_cache[0] = [createBaseVNode("path", {
    d: "M9.61296 13C9.50997 13.0005 9.40792 12.9804 9.3128 12.9409C9.21767 12.9014 9.13139 12.8433 9.05902 12.7701L3.83313 7.54416C3.68634 7.39718 3.60388 7.19795 3.60388 6.99022C3.60388 6.78249 3.68634 6.58325 3.83313 6.43628L9.05902 1.21039C9.20762 1.07192 9.40416 0.996539 9.60724 1.00012C9.81032 1.00371 10.0041 1.08597 10.1477 1.22959C10.2913 1.37322 10.3736 1.56698 10.3772 1.77005C10.3808 1.97313 10.3054 2.16968 10.1669 2.31827L5.49496 6.99022L10.1669 11.6622C10.3137 11.8091 10.3962 12.0084 10.3962 12.2161C10.3962 12.4238 10.3137 12.6231 10.1669 12.7701C10.0945 12.8433 10.0083 12.9014 9.91313 12.9409C9.81801 12.9804 9.71596 13.0005 9.61296 13Z",
    fill: "currentColor"
  }, null, -1)]), 16);
}
script$a.render = render$a;
var script$9 = {
  name: "ChevronRightIcon",
  "extends": script$k
};
function render$9(_ctx, _cache, $props, $setup, $data, $options) {
  return openBlock(), createElementBlock("svg", mergeProps({
    width: "14",
    height: "14",
    viewBox: "0 0 14 14",
    fill: "none",
    xmlns: "http://www.w3.org/2000/svg"
  }, _ctx.pti()), _cache[0] || (_cache[0] = [createBaseVNode("path", {
    d: "M4.38708 13C4.28408 13.0005 4.18203 12.9804 4.08691 12.9409C3.99178 12.9014 3.9055 12.8433 3.83313 12.7701C3.68634 12.6231 3.60388 12.4238 3.60388 12.2161C3.60388 12.0084 3.68634 11.8091 3.83313 11.6622L8.50507 6.99022L3.83313 2.31827C3.69467 2.16968 3.61928 1.97313 3.62287 1.77005C3.62645 1.56698 3.70872 1.37322 3.85234 1.22959C3.99596 1.08597 4.18972 1.00371 4.3928 1.00012C4.59588 0.996539 4.79242 1.07192 4.94102 1.21039L10.1669 6.43628C10.3137 6.58325 10.3962 6.78249 10.3962 6.99022C10.3962 7.19795 10.3137 7.39718 10.1669 7.54416L4.94102 12.7701C4.86865 12.8433 4.78237 12.9014 4.68724 12.9409C4.59212 12.9804 4.49007 13.0005 4.38708 13Z",
    fill: "currentColor"
  }, null, -1)]), 16);
}
script$9.render = render$9;
var classes$6 = {
  root: "p-tablist",
  content: function content(_ref) {
    var instance2 = _ref.instance;
    return ["p-tablist-content", {
      "p-tablist-viewport": instance2.$pcTabs.scrollable
    }];
  },
  tabList: "p-tablist-tab-list",
  activeBar: "p-tablist-active-bar",
  prevButton: "p-tablist-prev-button p-tablist-nav-button",
  nextButton: "p-tablist-next-button p-tablist-nav-button"
};
var TabListStyle = BaseStyle.extend({
  name: "tablist",
  classes: classes$6
});
var script$1$6 = {
  name: "BaseTabList",
  "extends": script$l,
  props: {},
  style: TabListStyle,
  provide: function provide5() {
    return {
      $pcTabList: this,
      $parentInstance: this
    };
  }
};
var script$8 = {
  name: "TabList",
  "extends": script$1$6,
  inheritAttrs: false,
  inject: ["$pcTabs"],
  data: function data3() {
    return {
      isPrevButtonEnabled: false,
      isNextButtonEnabled: true
    };
  },
  resizeObserver: void 0,
  watch: {
    showNavigators: function showNavigators(newValue) {
      newValue ? this.bindResizeObserver() : this.unbindResizeObserver();
    },
    activeValue: {
      flush: "post",
      handler: function handler4() {
        this.updateInkBar();
      }
    }
  },
  mounted: function mounted4() {
    var _this = this;
    this.$nextTick(function() {
      _this.updateInkBar();
    });
    if (this.showNavigators) {
      this.updateButtonState();
      this.bindResizeObserver();
    }
  },
  updated: function updated4() {
    this.showNavigators && this.updateButtonState();
  },
  beforeUnmount: function beforeUnmount3() {
    this.unbindResizeObserver();
  },
  methods: {
    onScroll: function onScroll(event) {
      this.showNavigators && this.updateButtonState();
      event.preventDefault();
    },
    onPrevButtonClick: function onPrevButtonClick() {
      var content2 = this.$refs.content;
      var buttonWidths = this.getVisibleButtonWidths();
      var width = getWidth(content2) - buttonWidths;
      var currentScrollLeft = Math.abs(content2.scrollLeft);
      var scrollStep = width * 0.8;
      var targetScrollLeft = currentScrollLeft - scrollStep;
      var scrollLeft = Math.max(targetScrollLeft, 0);
      content2.scrollLeft = isRTL(content2) ? -1 * scrollLeft : scrollLeft;
    },
    onNextButtonClick: function onNextButtonClick() {
      var content2 = this.$refs.content;
      var buttonWidths = this.getVisibleButtonWidths();
      var width = getWidth(content2) - buttonWidths;
      var currentScrollLeft = Math.abs(content2.scrollLeft);
      var scrollStep = width * 0.8;
      var targetScrollLeft = currentScrollLeft + scrollStep;
      var maxScrollLeft = content2.scrollWidth - width;
      var scrollLeft = Math.min(targetScrollLeft, maxScrollLeft);
      content2.scrollLeft = isRTL(content2) ? -1 * scrollLeft : scrollLeft;
    },
    bindResizeObserver: function bindResizeObserver() {
      var _this2 = this;
      this.resizeObserver = new ResizeObserver(function() {
        return _this2.updateButtonState();
      });
      this.resizeObserver.observe(this.$refs.list);
    },
    unbindResizeObserver: function unbindResizeObserver() {
      var _this$resizeObserver;
      (_this$resizeObserver = this.resizeObserver) === null || _this$resizeObserver === void 0 || _this$resizeObserver.unobserve(this.$refs.list);
      this.resizeObserver = void 0;
    },
    updateInkBar: function updateInkBar() {
      var _this$$refs = this.$refs, content2 = _this$$refs.content, inkbar = _this$$refs.inkbar, tabs = _this$$refs.tabs;
      var activeTab = findSingle(content2, '[data-pc-name="tab"][data-p-active="true"]');
      if (this.$pcTabs.isVertical()) {
        inkbar.style.height = getOuterHeight(activeTab) + "px";
        inkbar.style.top = getOffset(activeTab).top - getOffset(tabs).top + "px";
      } else {
        inkbar.style.width = getOuterWidth(activeTab) + "px";
        inkbar.style.left = getOffset(activeTab).left - getOffset(tabs).left + "px";
      }
    },
    updateButtonState: function updateButtonState() {
      var _this$$refs2 = this.$refs, list = _this$$refs2.list, content2 = _this$$refs2.content;
      var scrollTop = content2.scrollTop, scrollWidth = content2.scrollWidth, scrollHeight = content2.scrollHeight, offsetWidth = content2.offsetWidth, offsetHeight = content2.offsetHeight;
      var scrollLeft = Math.abs(content2.scrollLeft);
      var _ref = [getWidth(content2), getHeight(content2)], width = _ref[0], height = _ref[1];
      if (this.$pcTabs.isVertical()) {
        this.isPrevButtonEnabled = scrollTop !== 0;
        this.isNextButtonEnabled = list.offsetHeight >= offsetHeight && parseInt(scrollTop) !== scrollHeight - height;
      } else {
        this.isPrevButtonEnabled = scrollLeft !== 0;
        this.isNextButtonEnabled = list.offsetWidth >= offsetWidth && parseInt(scrollLeft) !== scrollWidth - width;
      }
    },
    getVisibleButtonWidths: function getVisibleButtonWidths() {
      var _this$$refs3 = this.$refs, prevButton = _this$$refs3.prevButton, nextButton = _this$$refs3.nextButton;
      var width = 0;
      if (this.showNavigators) {
        width = ((prevButton === null || prevButton === void 0 ? void 0 : prevButton.offsetWidth) || 0) + ((nextButton === null || nextButton === void 0 ? void 0 : nextButton.offsetWidth) || 0);
      }
      return width;
    }
  },
  computed: {
    templates: function templates() {
      return this.$pcTabs.$slots;
    },
    activeValue: function activeValue() {
      return this.$pcTabs.d_value;
    },
    showNavigators: function showNavigators2() {
      return this.$pcTabs.scrollable && this.$pcTabs.showNavigators;
    },
    prevButtonAriaLabel: function prevButtonAriaLabel() {
      return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.previous : void 0;
    },
    nextButtonAriaLabel: function nextButtonAriaLabel() {
      return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.next : void 0;
    }
  },
  components: {
    ChevronLeftIcon: script$a,
    ChevronRightIcon: script$9
  },
  directives: {
    ripple: Ripple
  }
};
var _hoisted_1$6 = ["aria-label", "tabindex"];
var _hoisted_2$5 = ["aria-orientation"];
var _hoisted_3$5 = ["aria-label", "tabindex"];
function render$8(_ctx, _cache, $props, $setup, $data, $options) {
  var _directive_ripple = resolveDirective("ripple");
  return openBlock(), createElementBlock("div", mergeProps({
    ref: "list",
    "class": _ctx.cx("root")
  }, _ctx.ptmi("root")), [$options.showNavigators && $data.isPrevButtonEnabled ? withDirectives((openBlock(), createElementBlock("button", mergeProps({
    key: 0,
    ref: "prevButton",
    "class": _ctx.cx("prevButton"),
    "aria-label": $options.prevButtonAriaLabel,
    tabindex: $options.$pcTabs.tabindex,
    onClick: _cache[0] || (_cache[0] = function() {
      return $options.onPrevButtonClick && $options.onPrevButtonClick.apply($options, arguments);
    })
  }, _ctx.ptm("prevButton"), {
    "data-pc-group-section": "navigator"
  }), [(openBlock(), createBlock(resolveDynamicComponent($options.templates.previcon || "ChevronLeftIcon"), mergeProps({
    "aria-hidden": "true"
  }, _ctx.ptm("prevIcon")), null, 16))], 16, _hoisted_1$6)), [[_directive_ripple]]) : createCommentVNode("", true), createBaseVNode("div", mergeProps({
    ref: "content",
    "class": _ctx.cx("content"),
    onScroll: _cache[1] || (_cache[1] = function() {
      return $options.onScroll && $options.onScroll.apply($options, arguments);
    })
  }, _ctx.ptm("content")), [createBaseVNode("div", mergeProps({
    ref: "tabs",
    "class": _ctx.cx("tabList"),
    role: "tablist",
    "aria-orientation": $options.$pcTabs.orientation || "horizontal"
  }, _ctx.ptm("tabList")), [renderSlot(_ctx.$slots, "default"), createBaseVNode("span", mergeProps({
    ref: "inkbar",
    "class": _ctx.cx("activeBar"),
    role: "presentation",
    "aria-hidden": "true"
  }, _ctx.ptm("activeBar")), null, 16)], 16, _hoisted_2$5)], 16), $options.showNavigators && $data.isNextButtonEnabled ? withDirectives((openBlock(), createElementBlock("button", mergeProps({
    key: 1,
    ref: "nextButton",
    "class": _ctx.cx("nextButton"),
    "aria-label": $options.nextButtonAriaLabel,
    tabindex: $options.$pcTabs.tabindex,
    onClick: _cache[2] || (_cache[2] = function() {
      return $options.onNextButtonClick && $options.onNextButtonClick.apply($options, arguments);
    })
  }, _ctx.ptm("nextButton"), {
    "data-pc-group-section": "navigator"
  }), [(openBlock(), createBlock(resolveDynamicComponent($options.templates.nexticon || "ChevronRightIcon"), mergeProps({
    "aria-hidden": "true"
  }, _ctx.ptm("nextIcon")), null, 16))], 16, _hoisted_3$5)), [[_directive_ripple]]) : createCommentVNode("", true)], 16);
}
script$8.render = render$8;
var classes$5 = {
  root: function root3(_ref) {
    var instance2 = _ref.instance;
    return ["p-tabpanel", {
      "p-tabpanel-active": instance2.active
    }];
  }
};
var TabPanelStyle = BaseStyle.extend({
  name: "tabpanel",
  classes: classes$5
});
var script$1$5 = {
  name: "BaseTabPanel",
  "extends": script$l,
  props: {
    // in Tabs
    value: {
      type: [String, Number],
      "default": void 0
    },
    as: {
      type: [String, Object],
      "default": "DIV"
    },
    asChild: {
      type: Boolean,
      "default": false
    },
    // in TabView
    header: null,
    headerStyle: null,
    headerClass: null,
    headerProps: null,
    headerActionProps: null,
    contentStyle: null,
    contentClass: null,
    contentProps: null,
    disabled: Boolean
  },
  style: TabPanelStyle,
  provide: function provide6() {
    return {
      $pcTabPanel: this,
      $parentInstance: this
    };
  }
};
var script$7 = {
  name: "TabPanel",
  "extends": script$1$5,
  inheritAttrs: false,
  inject: ["$pcTabs"],
  computed: {
    active: function active2() {
      var _this$$pcTabs;
      return equals((_this$$pcTabs = this.$pcTabs) === null || _this$$pcTabs === void 0 ? void 0 : _this$$pcTabs.d_value, this.value);
    },
    id: function id2() {
      var _this$$pcTabs2;
      return "".concat((_this$$pcTabs2 = this.$pcTabs) === null || _this$$pcTabs2 === void 0 ? void 0 : _this$$pcTabs2.id, "_tabpanel_").concat(this.value);
    },
    ariaLabelledby: function ariaLabelledby() {
      var _this$$pcTabs3;
      return "".concat((_this$$pcTabs3 = this.$pcTabs) === null || _this$$pcTabs3 === void 0 ? void 0 : _this$$pcTabs3.id, "_tab_").concat(this.value);
    },
    attrs: function attrs2() {
      return mergeProps(this.a11yAttrs, this.ptmi("root", this.ptParams));
    },
    a11yAttrs: function a11yAttrs2() {
      var _this$$pcTabs4;
      return {
        id: this.id,
        tabindex: (_this$$pcTabs4 = this.$pcTabs) === null || _this$$pcTabs4 === void 0 ? void 0 : _this$$pcTabs4.tabindex,
        role: "tabpanel",
        "aria-labelledby": this.ariaLabelledby,
        "data-pc-name": "tabpanel",
        "data-p-active": this.active
      };
    },
    ptParams: function ptParams2() {
      return {
        context: {
          active: this.active
        }
      };
    }
  }
};
function render$7(_ctx, _cache, $props, $setup, $data, $options) {
  var _$options$$pcTabs, _$options$$pcTabs2;
  return !$options.$pcTabs ? renderSlot(_ctx.$slots, "default", {
    key: 0
  }) : (openBlock(), createElementBlock(Fragment, {
    key: 1
  }, [!_ctx.asChild ? (openBlock(), createElementBlock(Fragment, {
    key: 0
  }, [((_$options$$pcTabs = $options.$pcTabs) !== null && _$options$$pcTabs !== void 0 && _$options$$pcTabs.lazy ? $options.active : true) ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({
    key: 0,
    "class": _ctx.cx("root")
  }, $options.attrs), {
    "default": withCtx(function() {
      return [renderSlot(_ctx.$slots, "default")];
    }),
    _: 3
  }, 16, ["class"])), [[vShow, (_$options$$pcTabs2 = $options.$pcTabs) !== null && _$options$$pcTabs2 !== void 0 && _$options$$pcTabs2.lazy ? true : $options.active]]) : createCommentVNode("", true)], 64)) : renderSlot(_ctx.$slots, "default", {
    key: 1,
    "class": normalizeClass(_ctx.cx("root")),
    active: $options.active,
    a11yAttrs: $options.a11yAttrs
  })], 64));
}
script$7.render = render$7;
var classes$4 = {
  root: "p-tabpanels"
};
var TabPanelsStyle = BaseStyle.extend({
  name: "tabpanels",
  classes: classes$4
});
var script$1$4 = {
  name: "BaseTabPanels",
  "extends": script$l,
  props: {},
  style: TabPanelsStyle,
  provide: function provide7() {
    return {
      $pcTabPanels: this,
      $parentInstance: this
    };
  }
};
var script$6 = {
  name: "TabPanels",
  "extends": script$1$4,
  inheritAttrs: false
};
function render$6(_ctx, _cache, $props, $setup, $data, $options) {
  return openBlock(), createElementBlock("div", mergeProps({
    "class": _ctx.cx("root"),
    role: "presentation"
  }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16);
}
script$6.render = render$6;
var theme$3 = function theme5(_ref) {
  var dt2 = _ref.dt;
  return "\n.p-tabs {\n    display: flex;\n    flex-direction: column;\n}\n\n.p-tablist {\n    display: flex;\n    position: relative;\n}\n\n.p-tabs-scrollable > .p-tablist {\n    overflow: hidden;\n}\n\n.p-tablist-viewport {\n    overflow-x: auto;\n    overflow-y: hidden;\n    scroll-behavior: smooth;\n    scrollbar-width: none;\n    overscroll-behavior: contain auto;\n}\n\n.p-tablist-viewport::-webkit-scrollbar {\n    display: none;\n}\n\n.p-tablist-tab-list {\n    position: relative;\n    display: flex;\n    background: ".concat(dt2("tabs.tablist.background"), ";\n    border-style: solid;\n    border-color: ").concat(dt2("tabs.tablist.border.color"), ";\n    border-width: ").concat(dt2("tabs.tablist.border.width"), ";\n}\n\n.p-tablist-content {\n    flex-grow: 1;\n}\n\n.p-tablist-nav-button {\n    all: unset;\n    position: absolute !important;\n    flex-shrink: 0;\n    inset-block-start: 0;\n    z-index: 2;\n    height: 100%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background: ").concat(dt2("tabs.nav.button.background"), ";\n    color: ").concat(dt2("tabs.nav.button.color"), ";\n    width: ").concat(dt2("tabs.nav.button.width"), ";\n    transition: color ").concat(dt2("tabs.transition.duration"), ", outline-color ").concat(dt2("tabs.transition.duration"), ", box-shadow ").concat(dt2("tabs.transition.duration"), ";\n    box-shadow: ").concat(dt2("tabs.nav.button.shadow"), ";\n    outline-color: transparent;\n    cursor: pointer;\n}\n\n.p-tablist-nav-button:focus-visible {\n    z-index: 1;\n    box-shadow: ").concat(dt2("tabs.nav.button.focus.ring.shadow"), ";\n    outline: ").concat(dt2("tabs.nav.button.focus.ring.width"), " ").concat(dt2("tabs.nav.button.focus.ring.style"), " ").concat(dt2("tabs.nav.button.focus.ring.color"), ";\n    outline-offset: ").concat(dt2("tabs.nav.button.focus.ring.offset"), ";\n}\n\n.p-tablist-nav-button:hover {\n    color: ").concat(dt2("tabs.nav.button.hover.color"), ";\n}\n\n.p-tablist-prev-button {\n    inset-inline-start: 0;\n}\n\n.p-tablist-next-button {\n    inset-inline-end: 0;\n}\n\n.p-tablist-prev-button:dir(rtl),\n.p-tablist-next-button:dir(rtl) {\n    transform: rotate(180deg);\n}\n\n\n.p-tab {\n    flex-shrink: 0;\n    cursor: pointer;\n    user-select: none;\n    position: relative;\n    border-style: solid;\n    white-space: nowrap;\n    background: ").concat(dt2("tabs.tab.background"), ";\n    border-width: ").concat(dt2("tabs.tab.border.width"), ";\n    border-color: ").concat(dt2("tabs.tab.border.color"), ";\n    color: ").concat(dt2("tabs.tab.color"), ";\n    padding: ").concat(dt2("tabs.tab.padding"), ";\n    font-weight: ").concat(dt2("tabs.tab.font.weight"), ";\n    transition: background ").concat(dt2("tabs.transition.duration"), ", border-color ").concat(dt2("tabs.transition.duration"), ", color ").concat(dt2("tabs.transition.duration"), ", outline-color ").concat(dt2("tabs.transition.duration"), ", box-shadow ").concat(dt2("tabs.transition.duration"), ";\n    margin: ").concat(dt2("tabs.tab.margin"), ";\n    outline-color: transparent;\n}\n\n.p-tab:not(.p-disabled):focus-visible {\n    z-index: 1;\n    box-shadow: ").concat(dt2("tabs.tab.focus.ring.shadow"), ";\n    outline: ").concat(dt2("tabs.tab.focus.ring.width"), " ").concat(dt2("tabs.tab.focus.ring.style"), " ").concat(dt2("tabs.tab.focus.ring.color"), ";\n    outline-offset: ").concat(dt2("tabs.tab.focus.ring.offset"), ";\n}\n\n.p-tab:not(.p-tab-active):not(.p-disabled):hover {\n    background: ").concat(dt2("tabs.tab.hover.background"), ";\n    border-color: ").concat(dt2("tabs.tab.hover.border.color"), ";\n    color: ").concat(dt2("tabs.tab.hover.color"), ";\n}\n\n.p-tab-active {\n    background: ").concat(dt2("tabs.tab.active.background"), ";\n    border-color: ").concat(dt2("tabs.tab.active.border.color"), ";\n    color: ").concat(dt2("tabs.tab.active.color"), ";\n}\n\n.p-tabpanels {\n    background: ").concat(dt2("tabs.tabpanel.background"), ";\n    color: ").concat(dt2("tabs.tabpanel.color"), ";\n    padding: ").concat(dt2("tabs.tabpanel.padding"), ";\n    outline: 0 none;\n}\n\n.p-tabpanel:focus-visible {\n    box-shadow: ").concat(dt2("tabs.tabpanel.focus.ring.shadow"), ";\n    outline: ").concat(dt2("tabs.tabpanel.focus.ring.width"), " ").concat(dt2("tabs.tabpanel.focus.ring.style"), " ").concat(dt2("tabs.tabpanel.focus.ring.color"), ";\n    outline-offset: ").concat(dt2("tabs.tabpanel.focus.ring.offset"), ";\n}\n\n.p-tablist-active-bar {\n    z-index: 1;\n    display: block;\n    position: absolute;\n    inset-block-end: ").concat(dt2("tabs.active.bar.bottom"), ";\n    height: ").concat(dt2("tabs.active.bar.height"), ";\n    background: ").concat(dt2("tabs.active.bar.background"), ";\n    transition: 250ms cubic-bezier(0.35, 0, 0.25, 1);\n}\n");
};
var classes$3 = {
  root: function root4(_ref2) {
    var props = _ref2.props;
    return ["p-tabs p-component", {
      "p-tabs-scrollable": props.scrollable
    }];
  }
};
var TabsStyle = BaseStyle.extend({
  name: "tabs",
  theme: theme$3,
  classes: classes$3
});
var script$1$3 = {
  name: "BaseTabs",
  "extends": script$l,
  props: {
    value: {
      type: [String, Number],
      "default": void 0
    },
    lazy: {
      type: Boolean,
      "default": false
    },
    scrollable: {
      type: Boolean,
      "default": false
    },
    showNavigators: {
      type: Boolean,
      "default": true
    },
    tabindex: {
      type: Number,
      "default": 0
    },
    selectOnFocus: {
      type: Boolean,
      "default": false
    }
  },
  style: TabsStyle,
  provide: function provide8() {
    return {
      $pcTabs: this,
      $parentInstance: this
    };
  }
};
var script$5 = {
  name: "Tabs",
  "extends": script$1$3,
  inheritAttrs: false,
  emits: ["update:value"],
  data: function data4() {
    return {
      id: this.$attrs.id,
      d_value: this.value
    };
  },
  watch: {
    "$attrs.id": function $attrsId(newValue) {
      this.id = newValue || UniqueComponentId();
    },
    value: function value(newValue) {
      this.d_value = newValue;
    }
  },
  mounted: function mounted5() {
    this.id = this.id || UniqueComponentId();
  },
  methods: {
    updateValue: function updateValue(newValue) {
      if (this.d_value !== newValue) {
        this.d_value = newValue;
        this.$emit("update:value", newValue);
      }
    },
    isVertical: function isVertical() {
      return this.orientation === "vertical";
    }
  }
};
function render$5(_ctx, _cache, $props, $setup, $data, $options) {
  return openBlock(), createElementBlock("div", mergeProps({
    "class": _ctx.cx("root")
  }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16);
}
script$5.render = render$5;
var lodash$1 = { exports: {} };
/**
 * @license
 * Lodash <https://lodash.com/>
 * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
 * Released under MIT license <https://lodash.com/license>
 * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
 */
var lodash = lodash$1.exports;
var hasRequiredLodash;
function requireLodash() {
  if (hasRequiredLodash) return lodash$1.exports;
  hasRequiredLodash = 1;
  (function(module, exports) {
    (function() {
      var undefined$1;
      var VERSION2 = "4.17.21";
      var LARGE_ARRAY_SIZE = 200;
      var CORE_ERROR_TEXT = "Unsupported core-js use. Try https://npms.io/search?q=ponyfill.", FUNC_ERROR_TEXT = "Expected a function", INVALID_TEMPL_VAR_ERROR_TEXT = "Invalid `variable` option passed into `_.template`";
      var HASH_UNDEFINED = "__lodash_hash_undefined__";
      var MAX_MEMOIZE_SIZE = 500;
      var PLACEHOLDER = "__lodash_placeholder__";
      var CLONE_DEEP_FLAG = 1, CLONE_FLAT_FLAG = 2, CLONE_SYMBOLS_FLAG = 4;
      var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2;
      var WRAP_BIND_FLAG = 1, WRAP_BIND_KEY_FLAG = 2, WRAP_CURRY_BOUND_FLAG = 4, WRAP_CURRY_FLAG = 8, WRAP_CURRY_RIGHT_FLAG = 16, WRAP_PARTIAL_FLAG = 32, WRAP_PARTIAL_RIGHT_FLAG = 64, WRAP_ARY_FLAG = 128, WRAP_REARG_FLAG = 256, WRAP_FLIP_FLAG = 512;
      var DEFAULT_TRUNC_LENGTH = 30, DEFAULT_TRUNC_OMISSION = "...";
      var HOT_COUNT = 800, HOT_SPAN = 16;
      var LAZY_FILTER_FLAG = 1, LAZY_MAP_FLAG = 2, LAZY_WHILE_FLAG = 3;
      var INFINITY = 1 / 0, MAX_SAFE_INTEGER = 9007199254740991, MAX_INTEGER = 17976931348623157e292, NAN = 0 / 0;
      var MAX_ARRAY_LENGTH = 4294967295, MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1, HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;
      var wrapFlags = [
        ["ary", WRAP_ARY_FLAG],
        ["bind", WRAP_BIND_FLAG],
        ["bindKey", WRAP_BIND_KEY_FLAG],
        ["curry", WRAP_CURRY_FLAG],
        ["curryRight", WRAP_CURRY_RIGHT_FLAG],
        ["flip", WRAP_FLIP_FLAG],
        ["partial", WRAP_PARTIAL_FLAG],
        ["partialRight", WRAP_PARTIAL_RIGHT_FLAG],
        ["rearg", WRAP_REARG_FLAG]
      ];
      var argsTag = "[object Arguments]", arrayTag = "[object Array]", asyncTag = "[object AsyncFunction]", boolTag = "[object Boolean]", dateTag = "[object Date]", domExcTag = "[object DOMException]", errorTag = "[object Error]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", mapTag = "[object Map]", numberTag = "[object Number]", nullTag = "[object Null]", objectTag = "[object Object]", promiseTag = "[object Promise]", proxyTag = "[object Proxy]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", symbolTag = "[object Symbol]", undefinedTag = "[object Undefined]", weakMapTag = "[object WeakMap]", weakSetTag = "[object WeakSet]";
      var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]";
      var reEmptyStringLeading = /\b__p \+= '';/g, reEmptyStringMiddle = /\b(__p \+=) '' \+/g, reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g;
      var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, reUnescapedHtml = /[&<>"']/g, reHasEscapedHtml = RegExp(reEscapedHtml.source), reHasUnescapedHtml = RegExp(reUnescapedHtml.source);
      var reEscape = /<%-([\s\S]+?)%>/g, reEvaluate = /<%([\s\S]+?)%>/g, reInterpolate = /<%=([\s\S]+?)%>/g;
      var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp = /^\w*$/, rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
      var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, reHasRegExpChar = RegExp(reRegExpChar.source);
      var reTrimStart = /^\s+/;
      var reWhitespace = /\s/;
      var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, reSplitDetails = /,? & /;
      var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;
      var reForbiddenIdentifierChars = /[()=,{}\[\]\/\s]/;
      var reEscapeChar = /\\(\\)?/g;
      var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;
      var reFlags = /\w*$/;
      var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
      var reIsBinary = /^0b[01]+$/i;
      var reIsHostCtor = /^\[object .+?Constructor\]$/;
      var reIsOctal = /^0o[0-7]+$/i;
      var reIsUint = /^(?:0|[1-9]\d*)$/;
      var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;
      var reNoMatch = /($^)/;
      var reUnescapedString = /['\n\r\u2028\u2029\\]/g;
      var rsAstralRange = "\\ud800-\\udfff", rsComboMarksRange = "\\u0300-\\u036f", reComboHalfMarksRange = "\\ufe20-\\ufe2f", rsComboSymbolsRange = "\\u20d0-\\u20ff", rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, rsDingbatRange = "\\u2700-\\u27bf", rsLowerRange = "a-z\\xdf-\\xf6\\xf8-\\xff", rsMathOpRange = "\\xac\\xb1\\xd7\\xf7", rsNonCharRange = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf", rsPunctuationRange = "\\u2000-\\u206f", rsSpaceRange = " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", rsUpperRange = "A-Z\\xc0-\\xd6\\xd8-\\xde", rsVarRange = "\\ufe0e\\ufe0f", rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;
      var rsApos = "['’]", rsAstral = "[" + rsAstralRange + "]", rsBreak = "[" + rsBreakRange + "]", rsCombo = "[" + rsComboRange + "]", rsDigits = "\\d+", rsDingbat = "[" + rsDingbatRange + "]", rsLower = "[" + rsLowerRange + "]", rsMisc = "[^" + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + "]", rsFitz = "\\ud83c[\\udffb-\\udfff]", rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")", rsNonAstral = "[^" + rsAstralRange + "]", rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}", rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]", rsUpper = "[" + rsUpperRange + "]", rsZWJ = "\\u200d";
      var rsMiscLower = "(?:" + rsLower + "|" + rsMisc + ")", rsMiscUpper = "(?:" + rsUpper + "|" + rsMisc + ")", rsOptContrLower = "(?:" + rsApos + "(?:d|ll|m|re|s|t|ve))?", rsOptContrUpper = "(?:" + rsApos + "(?:D|LL|M|RE|S|T|VE))?", reOptMod = rsModifier + "?", rsOptVar = "[" + rsVarRange + "]?", rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*", rsOrdLower = "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", rsOrdUpper = "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", rsSeq = rsOptVar + reOptMod + rsOptJoin, rsEmoji = "(?:" + [rsDingbat, rsRegional, rsSurrPair].join("|") + ")" + rsSeq, rsSymbol = "(?:" + [rsNonAstral + rsCombo + "?", rsCombo, rsRegional, rsSurrPair, rsAstral].join("|") + ")";
      var reApos = RegExp(rsApos, "g");
      var reComboMark = RegExp(rsCombo, "g");
      var reUnicode = RegExp(rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, "g");
      var reUnicodeWord = RegExp([
        rsUpper + "?" + rsLower + "+" + rsOptContrLower + "(?=" + [rsBreak, rsUpper, "$"].join("|") + ")",
        rsMiscUpper + "+" + rsOptContrUpper + "(?=" + [rsBreak, rsUpper + rsMiscLower, "$"].join("|") + ")",
        rsUpper + "?" + rsMiscLower + "+" + rsOptContrLower,
        rsUpper + "+" + rsOptContrUpper,
        rsOrdUpper,
        rsOrdLower,
        rsDigits,
        rsEmoji
      ].join("|"), "g");
      var reHasUnicode = RegExp("[" + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + "]");
      var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
      var contextProps = [
        "Array",
        "Buffer",
        "DataView",
        "Date",
        "Error",
        "Float32Array",
        "Float64Array",
        "Function",
        "Int8Array",
        "Int16Array",
        "Int32Array",
        "Map",
        "Math",
        "Object",
        "Promise",
        "RegExp",
        "Set",
        "String",
        "Symbol",
        "TypeError",
        "Uint8Array",
        "Uint8ClampedArray",
        "Uint16Array",
        "Uint32Array",
        "WeakMap",
        "_",
        "clearTimeout",
        "isFinite",
        "parseInt",
        "setTimeout"
      ];
      var templateCounter = -1;
      var typedArrayTags = {};
      typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
      typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
      var cloneableTags = {};
      cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = cloneableTags[boolTag] = cloneableTags[dateTag] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag] = cloneableTags[numberTag] = cloneableTags[objectTag] = cloneableTags[regexpTag] = cloneableTags[setTag] = cloneableTags[stringTag] = cloneableTags[symbolTag] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
      cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false;
      var deburredLetters = {
        // Latin-1 Supplement block.
        "À": "A",
        "Á": "A",
        "Â": "A",
        "Ã": "A",
        "Ä": "A",
        "Å": "A",
        "à": "a",
        "á": "a",
        "â": "a",
        "ã": "a",
        "ä": "a",
        "å": "a",
        "Ç": "C",
        "ç": "c",
        "Ð": "D",
        "ð": "d",
        "È": "E",
        "É": "E",
        "Ê": "E",
        "Ë": "E",
        "è": "e",
        "é": "e",
        "ê": "e",
        "ë": "e",
        "Ì": "I",
        "Í": "I",
        "Î": "I",
        "Ï": "I",
        "ì": "i",
        "í": "i",
        "î": "i",
        "ï": "i",
        "Ñ": "N",
        "ñ": "n",
        "Ò": "O",
        "Ó": "O",
        "Ô": "O",
        "Õ": "O",
        "Ö": "O",
        "Ø": "O",
        "ò": "o",
        "ó": "o",
        "ô": "o",
        "õ": "o",
        "ö": "o",
        "ø": "o",
        "Ù": "U",
        "Ú": "U",
        "Û": "U",
        "Ü": "U",
        "ù": "u",
        "ú": "u",
        "û": "u",
        "ü": "u",
        "Ý": "Y",
        "ý": "y",
        "ÿ": "y",
        "Æ": "Ae",
        "æ": "ae",
        "Þ": "Th",
        "þ": "th",
        "ß": "ss",
        // Latin Extended-A block.
        "Ā": "A",
        "Ă": "A",
        "Ą": "A",
        "ā": "a",
        "ă": "a",
        "ą": "a",
        "Ć": "C",
        "Ĉ": "C",
        "Ċ": "C",
        "Č": "C",
        "ć": "c",
        "ĉ": "c",
        "ċ": "c",
        "č": "c",
        "Ď": "D",
        "Đ": "D",
        "ď": "d",
        "đ": "d",
        "Ē": "E",
        "Ĕ": "E",
        "Ė": "E",
        "Ę": "E",
        "Ě": "E",
        "ē": "e",
        "ĕ": "e",
        "ė": "e",
        "ę": "e",
        "ě": "e",
        "Ĝ": "G",
        "Ğ": "G",
        "Ġ": "G",
        "Ģ": "G",
        "ĝ": "g",
        "ğ": "g",
        "ġ": "g",
        "ģ": "g",
        "Ĥ": "H",
        "Ħ": "H",
        "ĥ": "h",
        "ħ": "h",
        "Ĩ": "I",
        "Ī": "I",
        "Ĭ": "I",
        "Į": "I",
        "İ": "I",
        "ĩ": "i",
        "ī": "i",
        "ĭ": "i",
        "į": "i",
        "ı": "i",
        "Ĵ": "J",
        "ĵ": "j",
        "Ķ": "K",
        "ķ": "k",
        "ĸ": "k",
        "Ĺ": "L",
        "Ļ": "L",
        "Ľ": "L",
        "Ŀ": "L",
        "Ł": "L",
        "ĺ": "l",
        "ļ": "l",
        "ľ": "l",
        "ŀ": "l",
        "ł": "l",
        "Ń": "N",
        "Ņ": "N",
        "Ň": "N",
        "Ŋ": "N",
        "ń": "n",
        "ņ": "n",
        "ň": "n",
        "ŋ": "n",
        "Ō": "O",
        "Ŏ": "O",
        "Ő": "O",
        "ō": "o",
        "ŏ": "o",
        "ő": "o",
        "Ŕ": "R",
        "Ŗ": "R",
        "Ř": "R",
        "ŕ": "r",
        "ŗ": "r",
        "ř": "r",
        "Ś": "S",
        "Ŝ": "S",
        "Ş": "S",
        "Š": "S",
        "ś": "s",
        "ŝ": "s",
        "ş": "s",
        "š": "s",
        "Ţ": "T",
        "Ť": "T",
        "Ŧ": "T",
        "ţ": "t",
        "ť": "t",
        "ŧ": "t",
        "Ũ": "U",
        "Ū": "U",
        "Ŭ": "U",
        "Ů": "U",
        "Ű": "U",
        "Ų": "U",
        "ũ": "u",
        "ū": "u",
        "ŭ": "u",
        "ů": "u",
        "ű": "u",
        "ų": "u",
        "Ŵ": "W",
        "ŵ": "w",
        "Ŷ": "Y",
        "ŷ": "y",
        "Ÿ": "Y",
        "Ź": "Z",
        "Ż": "Z",
        "Ž": "Z",
        "ź": "z",
        "ż": "z",
        "ž": "z",
        "IJ": "IJ",
        "ij": "ij",
        "Œ": "Oe",
        "œ": "oe",
        "ʼn": "'n",
        "ſ": "s"
      };
      var htmlEscapes = {
        "&": "&amp;",
        "<": "&lt;",
        ">": "&gt;",
        '"': "&quot;",
        "'": "&#39;"
      };
      var htmlUnescapes = {
        "&amp;": "&",
        "&lt;": "<",
        "&gt;": ">",
        "&quot;": '"',
        "&#39;": "'"
      };
      var stringEscapes = {
        "\\": "\\",
        "'": "'",
        "\n": "n",
        "\r": "r",
        "\u2028": "u2028",
        "\u2029": "u2029"
      };
      var freeParseFloat = parseFloat, freeParseInt = parseInt;
      var freeGlobal = typeof commonjsGlobal$1 == "object" && commonjsGlobal$1 && commonjsGlobal$1.Object === Object && commonjsGlobal$1;
      var freeSelf = typeof self == "object" && self && self.Object === Object && self;
      var root7 = freeGlobal || freeSelf || Function("return this")();
      var freeExports = exports && !exports.nodeType && exports;
      var freeModule = freeExports && true && module && !module.nodeType && module;
      var moduleExports = freeModule && freeModule.exports === freeExports;
      var freeProcess = moduleExports && freeGlobal.process;
      var nodeUtil = function() {
        try {
          var types = freeModule && freeModule.require && freeModule.require("util").types;
          if (types) {
            return types;
          }
          return freeProcess && freeProcess.binding && freeProcess.binding("util");
        } catch (e) {
        }
      }();
      var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer, nodeIsDate = nodeUtil && nodeUtil.isDate, nodeIsMap = nodeUtil && nodeUtil.isMap, nodeIsRegExp = nodeUtil && nodeUtil.isRegExp, nodeIsSet = nodeUtil && nodeUtil.isSet, nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
      function apply2(func, thisArg, args) {
        switch (args.length) {
          case 0:
            return func.call(thisArg);
          case 1:
            return func.call(thisArg, args[0]);
          case 2:
            return func.call(thisArg, args[0], args[1]);
          case 3:
            return func.call(thisArg, args[0], args[1], args[2]);
        }
        return func.apply(thisArg, args);
      }
      function arrayAggregator(array, setter, iteratee, accumulator) {
        var index2 = -1, length = array == null ? 0 : array.length;
        while (++index2 < length) {
          var value2 = array[index2];
          setter(accumulator, value2, iteratee(value2), array);
        }
        return accumulator;
      }
      function arrayEach(array, iteratee) {
        var index2 = -1, length = array == null ? 0 : array.length;
        while (++index2 < length) {
          if (iteratee(array[index2], index2, array) === false) {
            break;
          }
        }
        return array;
      }
      function arrayEachRight(array, iteratee) {
        var length = array == null ? 0 : array.length;
        while (length--) {
          if (iteratee(array[length], length, array) === false) {
            break;
          }
        }
        return array;
      }
      function arrayEvery(array, predicate) {
        var index2 = -1, length = array == null ? 0 : array.length;
        while (++index2 < length) {
          if (!predicate(array[index2], index2, array)) {
            return false;
          }
        }
        return true;
      }
      function arrayFilter(array, predicate) {
        var index2 = -1, length = array == null ? 0 : array.length, resIndex = 0, result = [];
        while (++index2 < length) {
          var value2 = array[index2];
          if (predicate(value2, index2, array)) {
            result[resIndex++] = value2;
          }
        }
        return result;
      }
      function arrayIncludes(array, value2) {
        var length = array == null ? 0 : array.length;
        return !!length && baseIndexOf(array, value2, 0) > -1;
      }
      function arrayIncludesWith(array, value2, comparator) {
        var index2 = -1, length = array == null ? 0 : array.length;
        while (++index2 < length) {
          if (comparator(value2, array[index2])) {
            return true;
          }
        }
        return false;
      }
      function arrayMap(array, iteratee) {
        var index2 = -1, length = array == null ? 0 : array.length, result = Array(length);
        while (++index2 < length) {
          result[index2] = iteratee(array[index2], index2, array);
        }
        return result;
      }
      function arrayPush(array, values) {
        var index2 = -1, length = values.length, offset = array.length;
        while (++index2 < length) {
          array[offset + index2] = values[index2];
        }
        return array;
      }
      function arrayReduce(array, iteratee, accumulator, initAccum) {
        var index2 = -1, length = array == null ? 0 : array.length;
        if (initAccum && length) {
          accumulator = array[++index2];
        }
        while (++index2 < length) {
          accumulator = iteratee(accumulator, array[index2], index2, array);
        }
        return accumulator;
      }
      function arrayReduceRight(array, iteratee, accumulator, initAccum) {
        var length = array == null ? 0 : array.length;
        if (initAccum && length) {
          accumulator = array[--length];
        }
        while (length--) {
          accumulator = iteratee(accumulator, array[length], length, array);
        }
        return accumulator;
      }
      function arraySome(array, predicate) {
        var index2 = -1, length = array == null ? 0 : array.length;
        while (++index2 < length) {
          if (predicate(array[index2], index2, array)) {
            return true;
          }
        }
        return false;
      }
      var asciiSize = baseProperty("length");
      function asciiToArray(string) {
        return string.split("");
      }
      function asciiWords(string) {
        return string.match(reAsciiWord) || [];
      }
      function baseFindKey(collection, predicate, eachFunc) {
        var result;
        eachFunc(collection, function(value2, key, collection2) {
          if (predicate(value2, key, collection2)) {
            result = key;
            return false;
          }
        });
        return result;
      }
      function baseFindIndex(array, predicate, fromIndex, fromRight) {
        var length = array.length, index2 = fromIndex + (fromRight ? 1 : -1);
        while (fromRight ? index2-- : ++index2 < length) {
          if (predicate(array[index2], index2, array)) {
            return index2;
          }
        }
        return -1;
      }
      function baseIndexOf(array, value2, fromIndex) {
        return value2 === value2 ? strictIndexOf(array, value2, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
      }
      function baseIndexOfWith(array, value2, fromIndex, comparator) {
        var index2 = fromIndex - 1, length = array.length;
        while (++index2 < length) {
          if (comparator(array[index2], value2)) {
            return index2;
          }
        }
        return -1;
      }
      function baseIsNaN(value2) {
        return value2 !== value2;
      }
      function baseMean(array, iteratee) {
        var length = array == null ? 0 : array.length;
        return length ? baseSum(array, iteratee) / length : NAN;
      }
      function baseProperty(key) {
        return function(object) {
          return object == null ? undefined$1 : object[key];
        };
      }
      function basePropertyOf(object) {
        return function(key) {
          return object == null ? undefined$1 : object[key];
        };
      }
      function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {
        eachFunc(collection, function(value2, index2, collection2) {
          accumulator = initAccum ? (initAccum = false, value2) : iteratee(accumulator, value2, index2, collection2);
        });
        return accumulator;
      }
      function baseSortBy(array, comparer) {
        var length = array.length;
        array.sort(comparer);
        while (length--) {
          array[length] = array[length].value;
        }
        return array;
      }
      function baseSum(array, iteratee) {
        var result, index2 = -1, length = array.length;
        while (++index2 < length) {
          var current = iteratee(array[index2]);
          if (current !== undefined$1) {
            result = result === undefined$1 ? current : result + current;
          }
        }
        return result;
      }
      function baseTimes(n, iteratee) {
        var index2 = -1, result = Array(n);
        while (++index2 < n) {
          result[index2] = iteratee(index2);
        }
        return result;
      }
      function baseToPairs(object, props) {
        return arrayMap(props, function(key) {
          return [key, object[key]];
        });
      }
      function baseTrim(string) {
        return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, "") : string;
      }
      function baseUnary(func) {
        return function(value2) {
          return func(value2);
        };
      }
      function baseValues(object, props) {
        return arrayMap(props, function(key) {
          return object[key];
        });
      }
      function cacheHas(cache, key) {
        return cache.has(key);
      }
      function charsStartIndex(strSymbols, chrSymbols) {
        var index2 = -1, length = strSymbols.length;
        while (++index2 < length && baseIndexOf(chrSymbols, strSymbols[index2], 0) > -1) {
        }
        return index2;
      }
      function charsEndIndex(strSymbols, chrSymbols) {
        var index2 = strSymbols.length;
        while (index2-- && baseIndexOf(chrSymbols, strSymbols[index2], 0) > -1) {
        }
        return index2;
      }
      function countHolders(array, placeholder) {
        var length = array.length, result = 0;
        while (length--) {
          if (array[length] === placeholder) {
            ++result;
          }
        }
        return result;
      }
      var deburrLetter = basePropertyOf(deburredLetters);
      var escapeHtmlChar = basePropertyOf(htmlEscapes);
      function escapeStringChar(chr) {
        return "\\" + stringEscapes[chr];
      }
      function getValue(object, key) {
        return object == null ? undefined$1 : object[key];
      }
      function hasUnicode(string) {
        return reHasUnicode.test(string);
      }
      function hasUnicodeWord(string) {
        return reHasUnicodeWord.test(string);
      }
      function iteratorToArray(iterator2) {
        var data6, result = [];
        while (!(data6 = iterator2.next()).done) {
          result.push(data6.value);
        }
        return result;
      }
      function mapToArray(map) {
        var index2 = -1, result = Array(map.size);
        map.forEach(function(value2, key) {
          result[++index2] = [key, value2];
        });
        return result;
      }
      function overArg(func, transform) {
        return function(arg) {
          return func(transform(arg));
        };
      }
      function replaceHolders(array, placeholder) {
        var index2 = -1, length = array.length, resIndex = 0, result = [];
        while (++index2 < length) {
          var value2 = array[index2];
          if (value2 === placeholder || value2 === PLACEHOLDER) {
            array[index2] = PLACEHOLDER;
            result[resIndex++] = index2;
          }
        }
        return result;
      }
      function setToArray(set2) {
        var index2 = -1, result = Array(set2.size);
        set2.forEach(function(value2) {
          result[++index2] = value2;
        });
        return result;
      }
      function setToPairs(set2) {
        var index2 = -1, result = Array(set2.size);
        set2.forEach(function(value2) {
          result[++index2] = [value2, value2];
        });
        return result;
      }
      function strictIndexOf(array, value2, fromIndex) {
        var index2 = fromIndex - 1, length = array.length;
        while (++index2 < length) {
          if (array[index2] === value2) {
            return index2;
          }
        }
        return -1;
      }
      function strictLastIndexOf(array, value2, fromIndex) {
        var index2 = fromIndex + 1;
        while (index2--) {
          if (array[index2] === value2) {
            return index2;
          }
        }
        return index2;
      }
      function stringSize(string) {
        return hasUnicode(string) ? unicodeSize(string) : asciiSize(string);
      }
      function stringToArray(string) {
        return hasUnicode(string) ? unicodeToArray(string) : asciiToArray(string);
      }
      function trimmedEndIndex(string) {
        var index2 = string.length;
        while (index2-- && reWhitespace.test(string.charAt(index2))) {
        }
        return index2;
      }
      var unescapeHtmlChar = basePropertyOf(htmlUnescapes);
      function unicodeSize(string) {
        var result = reUnicode.lastIndex = 0;
        while (reUnicode.test(string)) {
          ++result;
        }
        return result;
      }
      function unicodeToArray(string) {
        return string.match(reUnicode) || [];
      }
      function unicodeWords(string) {
        return string.match(reUnicodeWord) || [];
      }
      var runInContext = function runInContext2(context) {
        context = context == null ? root7 : _.defaults(root7.Object(), context, _.pick(root7, contextProps));
        var Array2 = context.Array, Date2 = context.Date, Error2 = context.Error, Function2 = context.Function, Math2 = context.Math, Object2 = context.Object, RegExp2 = context.RegExp, String2 = context.String, TypeError2 = context.TypeError;
        var arrayProto2 = Array2.prototype, funcProto = Function2.prototype, objectProto = Object2.prototype;
        var coreJsData = context["__core-js_shared__"];
        var funcToString = funcProto.toString;
        var hasOwnProperty2 = objectProto.hasOwnProperty;
        var idCounter = 0;
        var maskSrcKey = function() {
          var uid2 = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
          return uid2 ? "Symbol(src)_1." + uid2 : "";
        }();
        var nativeObjectToString = objectProto.toString;
        var objectCtorString = funcToString.call(Object2);
        var oldDash = root7._;
        var reIsNative = RegExp2(
          "^" + funcToString.call(hasOwnProperty2).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
        );
        var Buffer2 = moduleExports ? context.Buffer : undefined$1, Symbol2 = context.Symbol, Uint8Array2 = context.Uint8Array, allocUnsafe = Buffer2 ? Buffer2.allocUnsafe : undefined$1, getPrototype = overArg(Object2.getPrototypeOf, Object2), objectCreate = Object2.create, propertyIsEnumerable = objectProto.propertyIsEnumerable, splice = arrayProto2.splice, spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : undefined$1, symIterator = Symbol2 ? Symbol2.iterator : undefined$1, symToStringTag = Symbol2 ? Symbol2.toStringTag : undefined$1;
        var defineProperty = function() {
          try {
            var func = getNative(Object2, "defineProperty");
            func({}, "", {});
            return func;
          } catch (e) {
          }
        }();
        var ctxClearTimeout = context.clearTimeout !== root7.clearTimeout && context.clearTimeout, ctxNow = Date2 && Date2.now !== root7.Date.now && Date2.now, ctxSetTimeout = context.setTimeout !== root7.setTimeout && context.setTimeout;
        var nativeCeil = Math2.ceil, nativeFloor = Math2.floor, nativeGetSymbols = Object2.getOwnPropertySymbols, nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : undefined$1, nativeIsFinite = context.isFinite, nativeJoin = arrayProto2.join, nativeKeys = overArg(Object2.keys, Object2), nativeMax = Math2.max, nativeMin = Math2.min, nativeNow = Date2.now, nativeParseInt = context.parseInt, nativeRandom = Math2.random, nativeReverse = arrayProto2.reverse;
        var DataView = getNative(context, "DataView"), Map2 = getNative(context, "Map"), Promise2 = getNative(context, "Promise"), Set2 = getNative(context, "Set"), WeakMap2 = getNative(context, "WeakMap"), nativeCreate = getNative(Object2, "create");
        var metaMap = WeakMap2 && new WeakMap2();
        var realNames = {};
        var dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map2), promiseCtorString = toSource(Promise2), setCtorString = toSource(Set2), weakMapCtorString = toSource(WeakMap2);
        var symbolProto = Symbol2 ? Symbol2.prototype : undefined$1, symbolValueOf = symbolProto ? symbolProto.valueOf : undefined$1, symbolToString = symbolProto ? symbolProto.toString : undefined$1;
        function lodash2(value2) {
          if (isObjectLike(value2) && !isArray2(value2) && !(value2 instanceof LazyWrapper)) {
            if (value2 instanceof LodashWrapper) {
              return value2;
            }
            if (hasOwnProperty2.call(value2, "__wrapped__")) {
              return wrapperClone(value2);
            }
          }
          return new LodashWrapper(value2);
        }
        var baseCreate = /* @__PURE__ */ function() {
          function object() {
          }
          return function(proto) {
            if (!isObject2(proto)) {
              return {};
            }
            if (objectCreate) {
              return objectCreate(proto);
            }
            object.prototype = proto;
            var result2 = new object();
            object.prototype = undefined$1;
            return result2;
          };
        }();
        function baseLodash() {
        }
        function LodashWrapper(value2, chainAll) {
          this.__wrapped__ = value2;
          this.__actions__ = [];
          this.__chain__ = !!chainAll;
          this.__index__ = 0;
          this.__values__ = undefined$1;
        }
        lodash2.templateSettings = {
          /**
           * Used to detect `data` property values to be HTML-escaped.
           *
           * @memberOf _.templateSettings
           * @type {RegExp}
           */
          "escape": reEscape,
          /**
           * Used to detect code to be evaluated.
           *
           * @memberOf _.templateSettings
           * @type {RegExp}
           */
          "evaluate": reEvaluate,
          /**
           * Used to detect `data` property values to inject.
           *
           * @memberOf _.templateSettings
           * @type {RegExp}
           */
          "interpolate": reInterpolate,
          /**
           * Used to reference the data object in the template text.
           *
           * @memberOf _.templateSettings
           * @type {string}
           */
          "variable": "",
          /**
           * Used to import variables into the compiled template.
           *
           * @memberOf _.templateSettings
           * @type {Object}
           */
          "imports": {
            /**
             * A reference to the `lodash` function.
             *
             * @memberOf _.templateSettings.imports
             * @type {Function}
             */
            "_": lodash2
          }
        };
        lodash2.prototype = baseLodash.prototype;
        lodash2.prototype.constructor = lodash2;
        LodashWrapper.prototype = baseCreate(baseLodash.prototype);
        LodashWrapper.prototype.constructor = LodashWrapper;
        function LazyWrapper(value2) {
          this.__wrapped__ = value2;
          this.__actions__ = [];
          this.__dir__ = 1;
          this.__filtered__ = false;
          this.__iteratees__ = [];
          this.__takeCount__ = MAX_ARRAY_LENGTH;
          this.__views__ = [];
        }
        function lazyClone() {
          var result2 = new LazyWrapper(this.__wrapped__);
          result2.__actions__ = copyArray(this.__actions__);
          result2.__dir__ = this.__dir__;
          result2.__filtered__ = this.__filtered__;
          result2.__iteratees__ = copyArray(this.__iteratees__);
          result2.__takeCount__ = this.__takeCount__;
          result2.__views__ = copyArray(this.__views__);
          return result2;
        }
        function lazyReverse() {
          if (this.__filtered__) {
            var result2 = new LazyWrapper(this);
            result2.__dir__ = -1;
            result2.__filtered__ = true;
          } else {
            result2 = this.clone();
            result2.__dir__ *= -1;
          }
          return result2;
        }
        function lazyValue() {
          var array = this.__wrapped__.value(), dir = this.__dir__, isArr = isArray2(array), isRight = dir < 0, arrLength = isArr ? array.length : 0, view = getView(0, arrLength, this.__views__), start = view.start, end2 = view.end, length = end2 - start, index2 = isRight ? end2 : start - 1, iteratees = this.__iteratees__, iterLength = iteratees.length, resIndex = 0, takeCount = nativeMin(length, this.__takeCount__);
          if (!isArr || !isRight && arrLength == length && takeCount == length) {
            return baseWrapperValue(array, this.__actions__);
          }
          var result2 = [];
          outer:
            while (length-- && resIndex < takeCount) {
              index2 += dir;
              var iterIndex = -1, value2 = array[index2];
              while (++iterIndex < iterLength) {
                var data6 = iteratees[iterIndex], iteratee2 = data6.iteratee, type = data6.type, computed2 = iteratee2(value2);
                if (type == LAZY_MAP_FLAG) {
                  value2 = computed2;
                } else if (!computed2) {
                  if (type == LAZY_FILTER_FLAG) {
                    continue outer;
                  } else {
                    break outer;
                  }
                }
              }
              result2[resIndex++] = value2;
            }
          return result2;
        }
        LazyWrapper.prototype = baseCreate(baseLodash.prototype);
        LazyWrapper.prototype.constructor = LazyWrapper;
        function Hash(entries) {
          var index2 = -1, length = entries == null ? 0 : entries.length;
          this.clear();
          while (++index2 < length) {
            var entry = entries[index2];
            this.set(entry[0], entry[1]);
          }
        }
        function hashClear() {
          this.__data__ = nativeCreate ? nativeCreate(null) : {};
          this.size = 0;
        }
        function hashDelete(key) {
          var result2 = this.has(key) && delete this.__data__[key];
          this.size -= result2 ? 1 : 0;
          return result2;
        }
        function hashGet(key) {
          var data6 = this.__data__;
          if (nativeCreate) {
            var result2 = data6[key];
            return result2 === HASH_UNDEFINED ? undefined$1 : result2;
          }
          return hasOwnProperty2.call(data6, key) ? data6[key] : undefined$1;
        }
        function hashHas(key) {
          var data6 = this.__data__;
          return nativeCreate ? data6[key] !== undefined$1 : hasOwnProperty2.call(data6, key);
        }
        function hashSet(key, value2) {
          var data6 = this.__data__;
          this.size += this.has(key) ? 0 : 1;
          data6[key] = nativeCreate && value2 === undefined$1 ? HASH_UNDEFINED : value2;
          return this;
        }
        Hash.prototype.clear = hashClear;
        Hash.prototype["delete"] = hashDelete;
        Hash.prototype.get = hashGet;
        Hash.prototype.has = hashHas;
        Hash.prototype.set = hashSet;
        function ListCache(entries) {
          var index2 = -1, length = entries == null ? 0 : entries.length;
          this.clear();
          while (++index2 < length) {
            var entry = entries[index2];
            this.set(entry[0], entry[1]);
          }
        }
        function listCacheClear() {
          this.__data__ = [];
          this.size = 0;
        }
        function listCacheDelete(key) {
          var data6 = this.__data__, index2 = assocIndexOf(data6, key);
          if (index2 < 0) {
            return false;
          }
          var lastIndex = data6.length - 1;
          if (index2 == lastIndex) {
            data6.pop();
          } else {
            splice.call(data6, index2, 1);
          }
          --this.size;
          return true;
        }
        function listCacheGet(key) {
          var data6 = this.__data__, index2 = assocIndexOf(data6, key);
          return index2 < 0 ? undefined$1 : data6[index2][1];
        }
        function listCacheHas(key) {
          return assocIndexOf(this.__data__, key) > -1;
        }
        function listCacheSet(key, value2) {
          var data6 = this.__data__, index2 = assocIndexOf(data6, key);
          if (index2 < 0) {
            ++this.size;
            data6.push([key, value2]);
          } else {
            data6[index2][1] = value2;
          }
          return this;
        }
        ListCache.prototype.clear = listCacheClear;
        ListCache.prototype["delete"] = listCacheDelete;
        ListCache.prototype.get = listCacheGet;
        ListCache.prototype.has = listCacheHas;
        ListCache.prototype.set = listCacheSet;
        function MapCache(entries) {
          var index2 = -1, length = entries == null ? 0 : entries.length;
          this.clear();
          while (++index2 < length) {
            var entry = entries[index2];
            this.set(entry[0], entry[1]);
          }
        }
        function mapCacheClear() {
          this.size = 0;
          this.__data__ = {
            "hash": new Hash(),
            "map": new (Map2 || ListCache)(),
            "string": new Hash()
          };
        }
        function mapCacheDelete(key) {
          var result2 = getMapData(this, key)["delete"](key);
          this.size -= result2 ? 1 : 0;
          return result2;
        }
        function mapCacheGet(key) {
          return getMapData(this, key).get(key);
        }
        function mapCacheHas(key) {
          return getMapData(this, key).has(key);
        }
        function mapCacheSet(key, value2) {
          var data6 = getMapData(this, key), size2 = data6.size;
          data6.set(key, value2);
          this.size += data6.size == size2 ? 0 : 1;
          return this;
        }
        MapCache.prototype.clear = mapCacheClear;
        MapCache.prototype["delete"] = mapCacheDelete;
        MapCache.prototype.get = mapCacheGet;
        MapCache.prototype.has = mapCacheHas;
        MapCache.prototype.set = mapCacheSet;
        function SetCache(values2) {
          var index2 = -1, length = values2 == null ? 0 : values2.length;
          this.__data__ = new MapCache();
          while (++index2 < length) {
            this.add(values2[index2]);
          }
        }
        function setCacheAdd(value2) {
          this.__data__.set(value2, HASH_UNDEFINED);
          return this;
        }
        function setCacheHas(value2) {
          return this.__data__.has(value2);
        }
        SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
        SetCache.prototype.has = setCacheHas;
        function Stack(entries) {
          var data6 = this.__data__ = new ListCache(entries);
          this.size = data6.size;
        }
        function stackClear() {
          this.__data__ = new ListCache();
          this.size = 0;
        }
        function stackDelete(key) {
          var data6 = this.__data__, result2 = data6["delete"](key);
          this.size = data6.size;
          return result2;
        }
        function stackGet(key) {
          return this.__data__.get(key);
        }
        function stackHas(key) {
          return this.__data__.has(key);
        }
        function stackSet(key, value2) {
          var data6 = this.__data__;
          if (data6 instanceof ListCache) {
            var pairs = data6.__data__;
            if (!Map2 || pairs.length < LARGE_ARRAY_SIZE - 1) {
              pairs.push([key, value2]);
              this.size = ++data6.size;
              return this;
            }
            data6 = this.__data__ = new MapCache(pairs);
          }
          data6.set(key, value2);
          this.size = data6.size;
          return this;
        }
        Stack.prototype.clear = stackClear;
        Stack.prototype["delete"] = stackDelete;
        Stack.prototype.get = stackGet;
        Stack.prototype.has = stackHas;
        Stack.prototype.set = stackSet;
        function arrayLikeKeys(value2, inherited) {
          var isArr = isArray2(value2), isArg = !isArr && isArguments(value2), isBuff = !isArr && !isArg && isBuffer2(value2), isType = !isArr && !isArg && !isBuff && isTypedArray2(value2), skipIndexes = isArr || isArg || isBuff || isType, result2 = skipIndexes ? baseTimes(value2.length, String2) : [], length = result2.length;
          for (var key in value2) {
            if ((inherited || hasOwnProperty2.call(value2, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
            (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
            isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
            isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
            isIndex(key, length)))) {
              result2.push(key);
            }
          }
          return result2;
        }
        function arraySample(array) {
          var length = array.length;
          return length ? array[baseRandom(0, length - 1)] : undefined$1;
        }
        function arraySampleSize(array, n) {
          return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));
        }
        function arrayShuffle(array) {
          return shuffleSelf(copyArray(array));
        }
        function assignMergeValue(object, key, value2) {
          if (value2 !== undefined$1 && !eq(object[key], value2) || value2 === undefined$1 && !(key in object)) {
            baseAssignValue(object, key, value2);
          }
        }
        function assignValue(object, key, value2) {
          var objValue = object[key];
          if (!(hasOwnProperty2.call(object, key) && eq(objValue, value2)) || value2 === undefined$1 && !(key in object)) {
            baseAssignValue(object, key, value2);
          }
        }
        function assocIndexOf(array, key) {
          var length = array.length;
          while (length--) {
            if (eq(array[length][0], key)) {
              return length;
            }
          }
          return -1;
        }
        function baseAggregator(collection, setter, iteratee2, accumulator) {
          baseEach(collection, function(value2, key, collection2) {
            setter(accumulator, value2, iteratee2(value2), collection2);
          });
          return accumulator;
        }
        function baseAssign(object, source) {
          return object && copyObject(source, keys(source), object);
        }
        function baseAssignIn(object, source) {
          return object && copyObject(source, keysIn(source), object);
        }
        function baseAssignValue(object, key, value2) {
          if (key == "__proto__" && defineProperty) {
            defineProperty(object, key, {
              "configurable": true,
              "enumerable": true,
              "value": value2,
              "writable": true
            });
          } else {
            object[key] = value2;
          }
        }
        function baseAt(object, paths) {
          var index2 = -1, length = paths.length, result2 = Array2(length), skip = object == null;
          while (++index2 < length) {
            result2[index2] = skip ? undefined$1 : get2(object, paths[index2]);
          }
          return result2;
        }
        function baseClamp(number, lower, upper) {
          if (number === number) {
            if (upper !== undefined$1) {
              number = number <= upper ? number : upper;
            }
            if (lower !== undefined$1) {
              number = number >= lower ? number : lower;
            }
          }
          return number;
        }
        function baseClone(value2, bitmask, customizer, key, object, stack2) {
          var result2, isDeep = bitmask & CLONE_DEEP_FLAG, isFlat = bitmask & CLONE_FLAT_FLAG, isFull = bitmask & CLONE_SYMBOLS_FLAG;
          if (customizer) {
            result2 = object ? customizer(value2, key, object, stack2) : customizer(value2);
          }
          if (result2 !== undefined$1) {
            return result2;
          }
          if (!isObject2(value2)) {
            return value2;
          }
          var isArr = isArray2(value2);
          if (isArr) {
            result2 = initCloneArray(value2);
            if (!isDeep) {
              return copyArray(value2, result2);
            }
          } else {
            var tag = getTag(value2), isFunc = tag == funcTag || tag == genTag;
            if (isBuffer2(value2)) {
              return cloneBuffer(value2, isDeep);
            }
            if (tag == objectTag || tag == argsTag || isFunc && !object) {
              result2 = isFlat || isFunc ? {} : initCloneObject(value2);
              if (!isDeep) {
                return isFlat ? copySymbolsIn(value2, baseAssignIn(result2, value2)) : copySymbols(value2, baseAssign(result2, value2));
              }
            } else {
              if (!cloneableTags[tag]) {
                return object ? value2 : {};
              }
              result2 = initCloneByTag(value2, tag, isDeep);
            }
          }
          stack2 || (stack2 = new Stack());
          var stacked = stack2.get(value2);
          if (stacked) {
            return stacked;
          }
          stack2.set(value2, result2);
          if (isSet2(value2)) {
            value2.forEach(function(subValue) {
              result2.add(baseClone(subValue, bitmask, customizer, subValue, value2, stack2));
            });
          } else if (isMap2(value2)) {
            value2.forEach(function(subValue, key2) {
              result2.set(key2, baseClone(subValue, bitmask, customizer, key2, value2, stack2));
            });
          }
          var keysFunc = isFull ? isFlat ? getAllKeysIn : getAllKeys : isFlat ? keysIn : keys;
          var props = isArr ? undefined$1 : keysFunc(value2);
          arrayEach(props || value2, function(subValue, key2) {
            if (props) {
              key2 = subValue;
              subValue = value2[key2];
            }
            assignValue(result2, key2, baseClone(subValue, bitmask, customizer, key2, value2, stack2));
          });
          return result2;
        }
        function baseConforms(source) {
          var props = keys(source);
          return function(object) {
            return baseConformsTo(object, source, props);
          };
        }
        function baseConformsTo(object, source, props) {
          var length = props.length;
          if (object == null) {
            return !length;
          }
          object = Object2(object);
          while (length--) {
            var key = props[length], predicate = source[key], value2 = object[key];
            if (value2 === undefined$1 && !(key in object) || !predicate(value2)) {
              return false;
            }
          }
          return true;
        }
        function baseDelay(func, wait, args) {
          if (typeof func != "function") {
            throw new TypeError2(FUNC_ERROR_TEXT);
          }
          return setTimeout2(function() {
            func.apply(undefined$1, args);
          }, wait);
        }
        function baseDifference(array, values2, iteratee2, comparator) {
          var index2 = -1, includes2 = arrayIncludes, isCommon = true, length = array.length, result2 = [], valuesLength = values2.length;
          if (!length) {
            return result2;
          }
          if (iteratee2) {
            values2 = arrayMap(values2, baseUnary(iteratee2));
          }
          if (comparator) {
            includes2 = arrayIncludesWith;
            isCommon = false;
          } else if (values2.length >= LARGE_ARRAY_SIZE) {
            includes2 = cacheHas;
            isCommon = false;
            values2 = new SetCache(values2);
          }
          outer:
            while (++index2 < length) {
              var value2 = array[index2], computed2 = iteratee2 == null ? value2 : iteratee2(value2);
              value2 = comparator || value2 !== 0 ? value2 : 0;
              if (isCommon && computed2 === computed2) {
                var valuesIndex = valuesLength;
                while (valuesIndex--) {
                  if (values2[valuesIndex] === computed2) {
                    continue outer;
                  }
                }
                result2.push(value2);
              } else if (!includes2(values2, computed2, comparator)) {
                result2.push(value2);
              }
            }
          return result2;
        }
        var baseEach = createBaseEach(baseForOwn);
        var baseEachRight = createBaseEach(baseForOwnRight, true);
        function baseEvery(collection, predicate) {
          var result2 = true;
          baseEach(collection, function(value2, index2, collection2) {
            result2 = !!predicate(value2, index2, collection2);
            return result2;
          });
          return result2;
        }
        function baseExtremum(array, iteratee2, comparator) {
          var index2 = -1, length = array.length;
          while (++index2 < length) {
            var value2 = array[index2], current = iteratee2(value2);
            if (current != null && (computed2 === undefined$1 ? current === current && !isSymbol2(current) : comparator(current, computed2))) {
              var computed2 = current, result2 = value2;
            }
          }
          return result2;
        }
        function baseFill(array, value2, start, end2) {
          var length = array.length;
          start = toInteger(start);
          if (start < 0) {
            start = -start > length ? 0 : length + start;
          }
          end2 = end2 === undefined$1 || end2 > length ? length : toInteger(end2);
          if (end2 < 0) {
            end2 += length;
          }
          end2 = start > end2 ? 0 : toLength(end2);
          while (start < end2) {
            array[start++] = value2;
          }
          return array;
        }
        function baseFilter(collection, predicate) {
          var result2 = [];
          baseEach(collection, function(value2, index2, collection2) {
            if (predicate(value2, index2, collection2)) {
              result2.push(value2);
            }
          });
          return result2;
        }
        function baseFlatten(array, depth, predicate, isStrict, result2) {
          var index2 = -1, length = array.length;
          predicate || (predicate = isFlattenable);
          result2 || (result2 = []);
          while (++index2 < length) {
            var value2 = array[index2];
            if (depth > 0 && predicate(value2)) {
              if (depth > 1) {
                baseFlatten(value2, depth - 1, predicate, isStrict, result2);
              } else {
                arrayPush(result2, value2);
              }
            } else if (!isStrict) {
              result2[result2.length] = value2;
            }
          }
          return result2;
        }
        var baseFor = createBaseFor();
        var baseForRight = createBaseFor(true);
        function baseForOwn(object, iteratee2) {
          return object && baseFor(object, iteratee2, keys);
        }
        function baseForOwnRight(object, iteratee2) {
          return object && baseForRight(object, iteratee2, keys);
        }
        function baseFunctions(object, props) {
          return arrayFilter(props, function(key) {
            return isFunction2(object[key]);
          });
        }
        function baseGet(object, path) {
          path = castPath(path, object);
          var index2 = 0, length = path.length;
          while (object != null && index2 < length) {
            object = object[toKey(path[index2++])];
          }
          return index2 && index2 == length ? object : undefined$1;
        }
        function baseGetAllKeys(object, keysFunc, symbolsFunc) {
          var result2 = keysFunc(object);
          return isArray2(object) ? result2 : arrayPush(result2, symbolsFunc(object));
        }
        function baseGetTag(value2) {
          if (value2 == null) {
            return value2 === undefined$1 ? undefinedTag : nullTag;
          }
          return symToStringTag && symToStringTag in Object2(value2) ? getRawTag(value2) : objectToString2(value2);
        }
        function baseGt(value2, other) {
          return value2 > other;
        }
        function baseHas(object, key) {
          return object != null && hasOwnProperty2.call(object, key);
        }
        function baseHasIn(object, key) {
          return object != null && key in Object2(object);
        }
        function baseInRange(number, start, end2) {
          return number >= nativeMin(start, end2) && number < nativeMax(start, end2);
        }
        function baseIntersection(arrays, iteratee2, comparator) {
          var includes2 = comparator ? arrayIncludesWith : arrayIncludes, length = arrays[0].length, othLength = arrays.length, othIndex = othLength, caches = Array2(othLength), maxLength = Infinity, result2 = [];
          while (othIndex--) {
            var array = arrays[othIndex];
            if (othIndex && iteratee2) {
              array = arrayMap(array, baseUnary(iteratee2));
            }
            maxLength = nativeMin(array.length, maxLength);
            caches[othIndex] = !comparator && (iteratee2 || length >= 120 && array.length >= 120) ? new SetCache(othIndex && array) : undefined$1;
          }
          array = arrays[0];
          var index2 = -1, seen = caches[0];
          outer:
            while (++index2 < length && result2.length < maxLength) {
              var value2 = array[index2], computed2 = iteratee2 ? iteratee2(value2) : value2;
              value2 = comparator || value2 !== 0 ? value2 : 0;
              if (!(seen ? cacheHas(seen, computed2) : includes2(result2, computed2, comparator))) {
                othIndex = othLength;
                while (--othIndex) {
                  var cache = caches[othIndex];
                  if (!(cache ? cacheHas(cache, computed2) : includes2(arrays[othIndex], computed2, comparator))) {
                    continue outer;
                  }
                }
                if (seen) {
                  seen.push(computed2);
                }
                result2.push(value2);
              }
            }
          return result2;
        }
        function baseInverter(object, setter, iteratee2, accumulator) {
          baseForOwn(object, function(value2, key, object2) {
            setter(accumulator, iteratee2(value2), key, object2);
          });
          return accumulator;
        }
        function baseInvoke(object, path, args) {
          path = castPath(path, object);
          object = parent(object, path);
          var func = object == null ? object : object[toKey(last(path))];
          return func == null ? undefined$1 : apply2(func, object, args);
        }
        function baseIsArguments(value2) {
          return isObjectLike(value2) && baseGetTag(value2) == argsTag;
        }
        function baseIsArrayBuffer(value2) {
          return isObjectLike(value2) && baseGetTag(value2) == arrayBufferTag;
        }
        function baseIsDate(value2) {
          return isObjectLike(value2) && baseGetTag(value2) == dateTag;
        }
        function baseIsEqual(value2, other, bitmask, customizer, stack2) {
          if (value2 === other) {
            return true;
          }
          if (value2 == null || other == null || !isObjectLike(value2) && !isObjectLike(other)) {
            return value2 !== value2 && other !== other;
          }
          return baseIsEqualDeep(value2, other, bitmask, customizer, baseIsEqual, stack2);
        }
        function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack2) {
          var objIsArr = isArray2(object), othIsArr = isArray2(other), objTag = objIsArr ? arrayTag : getTag(object), othTag = othIsArr ? arrayTag : getTag(other);
          objTag = objTag == argsTag ? objectTag : objTag;
          othTag = othTag == argsTag ? objectTag : othTag;
          var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag;
          if (isSameTag && isBuffer2(object)) {
            if (!isBuffer2(other)) {
              return false;
            }
            objIsArr = true;
            objIsObj = false;
          }
          if (isSameTag && !objIsObj) {
            stack2 || (stack2 = new Stack());
            return objIsArr || isTypedArray2(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack2) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack2);
          }
          if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
            var objIsWrapped = objIsObj && hasOwnProperty2.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty2.call(other, "__wrapped__");
            if (objIsWrapped || othIsWrapped) {
              var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other;
              stack2 || (stack2 = new Stack());
              return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack2);
            }
          }
          if (!isSameTag) {
            return false;
          }
          stack2 || (stack2 = new Stack());
          return equalObjects(object, other, bitmask, customizer, equalFunc, stack2);
        }
        function baseIsMap(value2) {
          return isObjectLike(value2) && getTag(value2) == mapTag;
        }
        function baseIsMatch(object, source, matchData, customizer) {
          var index2 = matchData.length, length = index2, noCustomizer = !customizer;
          if (object == null) {
            return !length;
          }
          object = Object2(object);
          while (index2--) {
            var data6 = matchData[index2];
            if (noCustomizer && data6[2] ? data6[1] !== object[data6[0]] : !(data6[0] in object)) {
              return false;
            }
          }
          while (++index2 < length) {
            data6 = matchData[index2];
            var key = data6[0], objValue = object[key], srcValue = data6[1];
            if (noCustomizer && data6[2]) {
              if (objValue === undefined$1 && !(key in object)) {
                return false;
              }
            } else {
              var stack2 = new Stack();
              if (customizer) {
                var result2 = customizer(objValue, srcValue, key, object, source, stack2);
              }
              if (!(result2 === undefined$1 ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack2) : result2)) {
                return false;
              }
            }
          }
          return true;
        }
        function baseIsNative(value2) {
          if (!isObject2(value2) || isMasked(value2)) {
            return false;
          }
          var pattern = isFunction2(value2) ? reIsNative : reIsHostCtor;
          return pattern.test(toSource(value2));
        }
        function baseIsRegExp(value2) {
          return isObjectLike(value2) && baseGetTag(value2) == regexpTag;
        }
        function baseIsSet(value2) {
          return isObjectLike(value2) && getTag(value2) == setTag;
        }
        function baseIsTypedArray(value2) {
          return isObjectLike(value2) && isLength(value2.length) && !!typedArrayTags[baseGetTag(value2)];
        }
        function baseIteratee(value2) {
          if (typeof value2 == "function") {
            return value2;
          }
          if (value2 == null) {
            return identity;
          }
          if (typeof value2 == "object") {
            return isArray2(value2) ? baseMatchesProperty(value2[0], value2[1]) : baseMatches(value2);
          }
          return property(value2);
        }
        function baseKeys(object) {
          if (!isPrototype(object)) {
            return nativeKeys(object);
          }
          var result2 = [];
          for (var key in Object2(object)) {
            if (hasOwnProperty2.call(object, key) && key != "constructor") {
              result2.push(key);
            }
          }
          return result2;
        }
        function baseKeysIn(object) {
          if (!isObject2(object)) {
            return nativeKeysIn(object);
          }
          var isProto = isPrototype(object), result2 = [];
          for (var key in object) {
            if (!(key == "constructor" && (isProto || !hasOwnProperty2.call(object, key)))) {
              result2.push(key);
            }
          }
          return result2;
        }
        function baseLt(value2, other) {
          return value2 < other;
        }
        function baseMap(collection, iteratee2) {
          var index2 = -1, result2 = isArrayLike(collection) ? Array2(collection.length) : [];
          baseEach(collection, function(value2, key, collection2) {
            result2[++index2] = iteratee2(value2, key, collection2);
          });
          return result2;
        }
        function baseMatches(source) {
          var matchData = getMatchData(source);
          if (matchData.length == 1 && matchData[0][2]) {
            return matchesStrictComparable(matchData[0][0], matchData[0][1]);
          }
          return function(object) {
            return object === source || baseIsMatch(object, source, matchData);
          };
        }
        function baseMatchesProperty(path, srcValue) {
          if (isKey(path) && isStrictComparable(srcValue)) {
            return matchesStrictComparable(toKey(path), srcValue);
          }
          return function(object) {
            var objValue = get2(object, path);
            return objValue === undefined$1 && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
          };
        }
        function baseMerge(object, source, srcIndex, customizer, stack2) {
          if (object === source) {
            return;
          }
          baseFor(source, function(srcValue, key) {
            stack2 || (stack2 = new Stack());
            if (isObject2(srcValue)) {
              baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack2);
            } else {
              var newValue = customizer ? customizer(safeGet(object, key), srcValue, key + "", object, source, stack2) : undefined$1;
              if (newValue === undefined$1) {
                newValue = srcValue;
              }
              assignMergeValue(object, key, newValue);
            }
          }, keysIn);
        }
        function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack2) {
          var objValue = safeGet(object, key), srcValue = safeGet(source, key), stacked = stack2.get(srcValue);
          if (stacked) {
            assignMergeValue(object, key, stacked);
            return;
          }
          var newValue = customizer ? customizer(objValue, srcValue, key + "", object, source, stack2) : undefined$1;
          var isCommon = newValue === undefined$1;
          if (isCommon) {
            var isArr = isArray2(srcValue), isBuff = !isArr && isBuffer2(srcValue), isTyped = !isArr && !isBuff && isTypedArray2(srcValue);
            newValue = srcValue;
            if (isArr || isBuff || isTyped) {
              if (isArray2(objValue)) {
                newValue = objValue;
              } else if (isArrayLikeObject(objValue)) {
                newValue = copyArray(objValue);
              } else if (isBuff) {
                isCommon = false;
                newValue = cloneBuffer(srcValue, true);
              } else if (isTyped) {
                isCommon = false;
                newValue = cloneTypedArray(srcValue, true);
              } else {
                newValue = [];
              }
            } else if (isPlainObject2(srcValue) || isArguments(srcValue)) {
              newValue = objValue;
              if (isArguments(objValue)) {
                newValue = toPlainObject(objValue);
              } else if (!isObject2(objValue) || isFunction2(objValue)) {
                newValue = initCloneObject(srcValue);
              }
            } else {
              isCommon = false;
            }
          }
          if (isCommon) {
            stack2.set(srcValue, newValue);
            mergeFunc(newValue, srcValue, srcIndex, customizer, stack2);
            stack2["delete"](srcValue);
          }
          assignMergeValue(object, key, newValue);
        }
        function baseNth(array, n) {
          var length = array.length;
          if (!length) {
            return;
          }
          n += n < 0 ? length : 0;
          return isIndex(n, length) ? array[n] : undefined$1;
        }
        function baseOrderBy(collection, iteratees, orders) {
          if (iteratees.length) {
            iteratees = arrayMap(iteratees, function(iteratee2) {
              if (isArray2(iteratee2)) {
                return function(value2) {
                  return baseGet(value2, iteratee2.length === 1 ? iteratee2[0] : iteratee2);
                };
              }
              return iteratee2;
            });
          } else {
            iteratees = [identity];
          }
          var index2 = -1;
          iteratees = arrayMap(iteratees, baseUnary(getIteratee()));
          var result2 = baseMap(collection, function(value2, key, collection2) {
            var criteria = arrayMap(iteratees, function(iteratee2) {
              return iteratee2(value2);
            });
            return { "criteria": criteria, "index": ++index2, "value": value2 };
          });
          return baseSortBy(result2, function(object, other) {
            return compareMultiple(object, other, orders);
          });
        }
        function basePick(object, paths) {
          return basePickBy(object, paths, function(value2, path) {
            return hasIn(object, path);
          });
        }
        function basePickBy(object, paths, predicate) {
          var index2 = -1, length = paths.length, result2 = {};
          while (++index2 < length) {
            var path = paths[index2], value2 = baseGet(object, path);
            if (predicate(value2, path)) {
              baseSet(result2, castPath(path, object), value2);
            }
          }
          return result2;
        }
        function basePropertyDeep(path) {
          return function(object) {
            return baseGet(object, path);
          };
        }
        function basePullAll(array, values2, iteratee2, comparator) {
          var indexOf2 = comparator ? baseIndexOfWith : baseIndexOf, index2 = -1, length = values2.length, seen = array;
          if (array === values2) {
            values2 = copyArray(values2);
          }
          if (iteratee2) {
            seen = arrayMap(array, baseUnary(iteratee2));
          }
          while (++index2 < length) {
            var fromIndex = 0, value2 = values2[index2], computed2 = iteratee2 ? iteratee2(value2) : value2;
            while ((fromIndex = indexOf2(seen, computed2, fromIndex, comparator)) > -1) {
              if (seen !== array) {
                splice.call(seen, fromIndex, 1);
              }
              splice.call(array, fromIndex, 1);
            }
          }
          return array;
        }
        function basePullAt(array, indexes) {
          var length = array ? indexes.length : 0, lastIndex = length - 1;
          while (length--) {
            var index2 = indexes[length];
            if (length == lastIndex || index2 !== previous) {
              var previous = index2;
              if (isIndex(index2)) {
                splice.call(array, index2, 1);
              } else {
                baseUnset(array, index2);
              }
            }
          }
          return array;
        }
        function baseRandom(lower, upper) {
          return lower + nativeFloor(nativeRandom() * (upper - lower + 1));
        }
        function baseRange(start, end2, step, fromRight) {
          var index2 = -1, length = nativeMax(nativeCeil((end2 - start) / (step || 1)), 0), result2 = Array2(length);
          while (length--) {
            result2[fromRight ? length : ++index2] = start;
            start += step;
          }
          return result2;
        }
        function baseRepeat(string, n) {
          var result2 = "";
          if (!string || n < 1 || n > MAX_SAFE_INTEGER) {
            return result2;
          }
          do {
            if (n % 2) {
              result2 += string;
            }
            n = nativeFloor(n / 2);
            if (n) {
              string += string;
            }
          } while (n);
          return result2;
        }
        function baseRest(func, start) {
          return setToString(overRest(func, start, identity), func + "");
        }
        function baseSample(collection) {
          return arraySample(values(collection));
        }
        function baseSampleSize(collection, n) {
          var array = values(collection);
          return shuffleSelf(array, baseClamp(n, 0, array.length));
        }
        function baseSet(object, path, value2, customizer) {
          if (!isObject2(object)) {
            return object;
          }
          path = castPath(path, object);
          var index2 = -1, length = path.length, lastIndex = length - 1, nested = object;
          while (nested != null && ++index2 < length) {
            var key = toKey(path[index2]), newValue = value2;
            if (key === "__proto__" || key === "constructor" || key === "prototype") {
              return object;
            }
            if (index2 != lastIndex) {
              var objValue = nested[key];
              newValue = customizer ? customizer(objValue, key, nested) : undefined$1;
              if (newValue === undefined$1) {
                newValue = isObject2(objValue) ? objValue : isIndex(path[index2 + 1]) ? [] : {};
              }
            }
            assignValue(nested, key, newValue);
            nested = nested[key];
          }
          return object;
        }
        var baseSetData = !metaMap ? identity : function(func, data6) {
          metaMap.set(func, data6);
          return func;
        };
        var baseSetToString = !defineProperty ? identity : function(func, string) {
          return defineProperty(func, "toString", {
            "configurable": true,
            "enumerable": false,
            "value": constant(string),
            "writable": true
          });
        };
        function baseShuffle(collection) {
          return shuffleSelf(values(collection));
        }
        function baseSlice(array, start, end2) {
          var index2 = -1, length = array.length;
          if (start < 0) {
            start = -start > length ? 0 : length + start;
          }
          end2 = end2 > length ? length : end2;
          if (end2 < 0) {
            end2 += length;
          }
          length = start > end2 ? 0 : end2 - start >>> 0;
          start >>>= 0;
          var result2 = Array2(length);
          while (++index2 < length) {
            result2[index2] = array[index2 + start];
          }
          return result2;
        }
        function baseSome(collection, predicate) {
          var result2;
          baseEach(collection, function(value2, index2, collection2) {
            result2 = predicate(value2, index2, collection2);
            return !result2;
          });
          return !!result2;
        }
        function baseSortedIndex(array, value2, retHighest) {
          var low = 0, high = array == null ? low : array.length;
          if (typeof value2 == "number" && value2 === value2 && high <= HALF_MAX_ARRAY_LENGTH) {
            while (low < high) {
              var mid = low + high >>> 1, computed2 = array[mid];
              if (computed2 !== null && !isSymbol2(computed2) && (retHighest ? computed2 <= value2 : computed2 < value2)) {
                low = mid + 1;
              } else {
                high = mid;
              }
            }
            return high;
          }
          return baseSortedIndexBy(array, value2, identity, retHighest);
        }
        function baseSortedIndexBy(array, value2, iteratee2, retHighest) {
          var low = 0, high = array == null ? 0 : array.length;
          if (high === 0) {
            return 0;
          }
          value2 = iteratee2(value2);
          var valIsNaN = value2 !== value2, valIsNull = value2 === null, valIsSymbol = isSymbol2(value2), valIsUndefined = value2 === undefined$1;
          while (low < high) {
            var mid = nativeFloor((low + high) / 2), computed2 = iteratee2(array[mid]), othIsDefined = computed2 !== undefined$1, othIsNull = computed2 === null, othIsReflexive = computed2 === computed2, othIsSymbol = isSymbol2(computed2);
            if (valIsNaN) {
              var setLow = retHighest || othIsReflexive;
            } else if (valIsUndefined) {
              setLow = othIsReflexive && (retHighest || othIsDefined);
            } else if (valIsNull) {
              setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);
            } else if (valIsSymbol) {
              setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);
            } else if (othIsNull || othIsSymbol) {
              setLow = false;
            } else {
              setLow = retHighest ? computed2 <= value2 : computed2 < value2;
            }
            if (setLow) {
              low = mid + 1;
            } else {
              high = mid;
            }
          }
          return nativeMin(high, MAX_ARRAY_INDEX);
        }
        function baseSortedUniq(array, iteratee2) {
          var index2 = -1, length = array.length, resIndex = 0, result2 = [];
          while (++index2 < length) {
            var value2 = array[index2], computed2 = iteratee2 ? iteratee2(value2) : value2;
            if (!index2 || !eq(computed2, seen)) {
              var seen = computed2;
              result2[resIndex++] = value2 === 0 ? 0 : value2;
            }
          }
          return result2;
        }
        function baseToNumber(value2) {
          if (typeof value2 == "number") {
            return value2;
          }
          if (isSymbol2(value2)) {
            return NAN;
          }
          return +value2;
        }
        function baseToString(value2) {
          if (typeof value2 == "string") {
            return value2;
          }
          if (isArray2(value2)) {
            return arrayMap(value2, baseToString) + "";
          }
          if (isSymbol2(value2)) {
            return symbolToString ? symbolToString.call(value2) : "";
          }
          var result2 = value2 + "";
          return result2 == "0" && 1 / value2 == -Infinity ? "-0" : result2;
        }
        function baseUniq(array, iteratee2, comparator) {
          var index2 = -1, includes2 = arrayIncludes, length = array.length, isCommon = true, result2 = [], seen = result2;
          if (comparator) {
            isCommon = false;
            includes2 = arrayIncludesWith;
          } else if (length >= LARGE_ARRAY_SIZE) {
            var set3 = iteratee2 ? null : createSet(array);
            if (set3) {
              return setToArray(set3);
            }
            isCommon = false;
            includes2 = cacheHas;
            seen = new SetCache();
          } else {
            seen = iteratee2 ? [] : result2;
          }
          outer:
            while (++index2 < length) {
              var value2 = array[index2], computed2 = iteratee2 ? iteratee2(value2) : value2;
              value2 = comparator || value2 !== 0 ? value2 : 0;
              if (isCommon && computed2 === computed2) {
                var seenIndex = seen.length;
                while (seenIndex--) {
                  if (seen[seenIndex] === computed2) {
                    continue outer;
                  }
                }
                if (iteratee2) {
                  seen.push(computed2);
                }
                result2.push(value2);
              } else if (!includes2(seen, computed2, comparator)) {
                if (seen !== result2) {
                  seen.push(computed2);
                }
                result2.push(value2);
              }
            }
          return result2;
        }
        function baseUnset(object, path) {
          path = castPath(path, object);
          object = parent(object, path);
          return object == null || delete object[toKey(last(path))];
        }
        function baseUpdate(object, path, updater, customizer) {
          return baseSet(object, path, updater(baseGet(object, path)), customizer);
        }
        function baseWhile(array, predicate, isDrop, fromRight) {
          var length = array.length, index2 = fromRight ? length : -1;
          while ((fromRight ? index2-- : ++index2 < length) && predicate(array[index2], index2, array)) {
          }
          return isDrop ? baseSlice(array, fromRight ? 0 : index2, fromRight ? index2 + 1 : length) : baseSlice(array, fromRight ? index2 + 1 : 0, fromRight ? length : index2);
        }
        function baseWrapperValue(value2, actions) {
          var result2 = value2;
          if (result2 instanceof LazyWrapper) {
            result2 = result2.value();
          }
          return arrayReduce(actions, function(result3, action) {
            return action.func.apply(action.thisArg, arrayPush([result3], action.args));
          }, result2);
        }
        function baseXor(arrays, iteratee2, comparator) {
          var length = arrays.length;
          if (length < 2) {
            return length ? baseUniq(arrays[0]) : [];
          }
          var index2 = -1, result2 = Array2(length);
          while (++index2 < length) {
            var array = arrays[index2], othIndex = -1;
            while (++othIndex < length) {
              if (othIndex != index2) {
                result2[index2] = baseDifference(result2[index2] || array, arrays[othIndex], iteratee2, comparator);
              }
            }
          }
          return baseUniq(baseFlatten(result2, 1), iteratee2, comparator);
        }
        function baseZipObject(props, values2, assignFunc) {
          var index2 = -1, length = props.length, valsLength = values2.length, result2 = {};
          while (++index2 < length) {
            var value2 = index2 < valsLength ? values2[index2] : undefined$1;
            assignFunc(result2, props[index2], value2);
          }
          return result2;
        }
        function castArrayLikeObject(value2) {
          return isArrayLikeObject(value2) ? value2 : [];
        }
        function castFunction(value2) {
          return typeof value2 == "function" ? value2 : identity;
        }
        function castPath(value2, object) {
          if (isArray2(value2)) {
            return value2;
          }
          return isKey(value2, object) ? [value2] : stringToPath(toString3(value2));
        }
        var castRest = baseRest;
        function castSlice(array, start, end2) {
          var length = array.length;
          end2 = end2 === undefined$1 ? length : end2;
          return !start && end2 >= length ? array : baseSlice(array, start, end2);
        }
        var clearTimeout2 = ctxClearTimeout || function(id3) {
          return root7.clearTimeout(id3);
        };
        function cloneBuffer(buffer, isDeep) {
          if (isDeep) {
            return buffer.slice();
          }
          var length = buffer.length, result2 = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
          buffer.copy(result2);
          return result2;
        }
        function cloneArrayBuffer(arrayBuffer) {
          var result2 = new arrayBuffer.constructor(arrayBuffer.byteLength);
          new Uint8Array2(result2).set(new Uint8Array2(arrayBuffer));
          return result2;
        }
        function cloneDataView(dataView, isDeep) {
          var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;
          return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
        }
        function cloneRegExp(regexp) {
          var result2 = new regexp.constructor(regexp.source, reFlags.exec(regexp));
          result2.lastIndex = regexp.lastIndex;
          return result2;
        }
        function cloneSymbol(symbol) {
          return symbolValueOf ? Object2(symbolValueOf.call(symbol)) : {};
        }
        function cloneTypedArray(typedArray, isDeep) {
          var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
          return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
        }
        function compareAscending(value2, other) {
          if (value2 !== other) {
            var valIsDefined = value2 !== undefined$1, valIsNull = value2 === null, valIsReflexive = value2 === value2, valIsSymbol = isSymbol2(value2);
            var othIsDefined = other !== undefined$1, othIsNull = other === null, othIsReflexive = other === other, othIsSymbol = isSymbol2(other);
            if (!othIsNull && !othIsSymbol && !valIsSymbol && value2 > other || valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol || valIsNull && othIsDefined && othIsReflexive || !valIsDefined && othIsReflexive || !valIsReflexive) {
              return 1;
            }
            if (!valIsNull && !valIsSymbol && !othIsSymbol && value2 < other || othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol || othIsNull && valIsDefined && valIsReflexive || !othIsDefined && valIsReflexive || !othIsReflexive) {
              return -1;
            }
          }
          return 0;
        }
        function compareMultiple(object, other, orders) {
          var index2 = -1, objCriteria = object.criteria, othCriteria = other.criteria, length = objCriteria.length, ordersLength = orders.length;
          while (++index2 < length) {
            var result2 = compareAscending(objCriteria[index2], othCriteria[index2]);
            if (result2) {
              if (index2 >= ordersLength) {
                return result2;
              }
              var order = orders[index2];
              return result2 * (order == "desc" ? -1 : 1);
            }
          }
          return object.index - other.index;
        }
        function composeArgs(args, partials, holders, isCurried) {
          var argsIndex = -1, argsLength = args.length, holdersLength = holders.length, leftIndex = -1, leftLength = partials.length, rangeLength = nativeMax(argsLength - holdersLength, 0), result2 = Array2(leftLength + rangeLength), isUncurried = !isCurried;
          while (++leftIndex < leftLength) {
            result2[leftIndex] = partials[leftIndex];
          }
          while (++argsIndex < holdersLength) {
            if (isUncurried || argsIndex < argsLength) {
              result2[holders[argsIndex]] = args[argsIndex];
            }
          }
          while (rangeLength--) {
            result2[leftIndex++] = args[argsIndex++];
          }
          return result2;
        }
        function composeArgsRight(args, partials, holders, isCurried) {
          var argsIndex = -1, argsLength = args.length, holdersIndex = -1, holdersLength = holders.length, rightIndex = -1, rightLength = partials.length, rangeLength = nativeMax(argsLength - holdersLength, 0), result2 = Array2(rangeLength + rightLength), isUncurried = !isCurried;
          while (++argsIndex < rangeLength) {
            result2[argsIndex] = args[argsIndex];
          }
          var offset = argsIndex;
          while (++rightIndex < rightLength) {
            result2[offset + rightIndex] = partials[rightIndex];
          }
          while (++holdersIndex < holdersLength) {
            if (isUncurried || argsIndex < argsLength) {
              result2[offset + holders[holdersIndex]] = args[argsIndex++];
            }
          }
          return result2;
        }
        function copyArray(source, array) {
          var index2 = -1, length = source.length;
          array || (array = Array2(length));
          while (++index2 < length) {
            array[index2] = source[index2];
          }
          return array;
        }
        function copyObject(source, props, object, customizer) {
          var isNew = !object;
          object || (object = {});
          var index2 = -1, length = props.length;
          while (++index2 < length) {
            var key = props[index2];
            var newValue = customizer ? customizer(object[key], source[key], key, object, source) : undefined$1;
            if (newValue === undefined$1) {
              newValue = source[key];
            }
            if (isNew) {
              baseAssignValue(object, key, newValue);
            } else {
              assignValue(object, key, newValue);
            }
          }
          return object;
        }
        function copySymbols(source, object) {
          return copyObject(source, getSymbols(source), object);
        }
        function copySymbolsIn(source, object) {
          return copyObject(source, getSymbolsIn(source), object);
        }
        function createAggregator(setter, initializer) {
          return function(collection, iteratee2) {
            var func = isArray2(collection) ? arrayAggregator : baseAggregator, accumulator = initializer ? initializer() : {};
            return func(collection, setter, getIteratee(iteratee2, 2), accumulator);
          };
        }
        function createAssigner(assigner) {
          return baseRest(function(object, sources) {
            var index2 = -1, length = sources.length, customizer = length > 1 ? sources[length - 1] : undefined$1, guard = length > 2 ? sources[2] : undefined$1;
            customizer = assigner.length > 3 && typeof customizer == "function" ? (length--, customizer) : undefined$1;
            if (guard && isIterateeCall(sources[0], sources[1], guard)) {
              customizer = length < 3 ? undefined$1 : customizer;
              length = 1;
            }
            object = Object2(object);
            while (++index2 < length) {
              var source = sources[index2];
              if (source) {
                assigner(object, source, index2, customizer);
              }
            }
            return object;
          });
        }
        function createBaseEach(eachFunc, fromRight) {
          return function(collection, iteratee2) {
            if (collection == null) {
              return collection;
            }
            if (!isArrayLike(collection)) {
              return eachFunc(collection, iteratee2);
            }
            var length = collection.length, index2 = fromRight ? length : -1, iterable = Object2(collection);
            while (fromRight ? index2-- : ++index2 < length) {
              if (iteratee2(iterable[index2], index2, iterable) === false) {
                break;
              }
            }
            return collection;
          };
        }
        function createBaseFor(fromRight) {
          return function(object, iteratee2, keysFunc) {
            var index2 = -1, iterable = Object2(object), props = keysFunc(object), length = props.length;
            while (length--) {
              var key = props[fromRight ? length : ++index2];
              if (iteratee2(iterable[key], key, iterable) === false) {
                break;
              }
            }
            return object;
          };
        }
        function createBind(func, bitmask, thisArg) {
          var isBind = bitmask & WRAP_BIND_FLAG, Ctor = createCtor(func);
          function wrapper() {
            var fn = this && this !== root7 && this instanceof wrapper ? Ctor : func;
            return fn.apply(isBind ? thisArg : this, arguments);
          }
          return wrapper;
        }
        function createCaseFirst(methodName) {
          return function(string) {
            string = toString3(string);
            var strSymbols = hasUnicode(string) ? stringToArray(string) : undefined$1;
            var chr = strSymbols ? strSymbols[0] : string.charAt(0);
            var trailing = strSymbols ? castSlice(strSymbols, 1).join("") : string.slice(1);
            return chr[methodName]() + trailing;
          };
        }
        function createCompounder(callback) {
          return function(string) {
            return arrayReduce(words(deburr(string).replace(reApos, "")), callback, "");
          };
        }
        function createCtor(Ctor) {
          return function() {
            var args = arguments;
            switch (args.length) {
              case 0:
                return new Ctor();
              case 1:
                return new Ctor(args[0]);
              case 2:
                return new Ctor(args[0], args[1]);
              case 3:
                return new Ctor(args[0], args[1], args[2]);
              case 4:
                return new Ctor(args[0], args[1], args[2], args[3]);
              case 5:
                return new Ctor(args[0], args[1], args[2], args[3], args[4]);
              case 6:
                return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);
              case 7:
                return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
            }
            var thisBinding = baseCreate(Ctor.prototype), result2 = Ctor.apply(thisBinding, args);
            return isObject2(result2) ? result2 : thisBinding;
          };
        }
        function createCurry(func, bitmask, arity) {
          var Ctor = createCtor(func);
          function wrapper() {
            var length = arguments.length, args = Array2(length), index2 = length, placeholder = getHolder(wrapper);
            while (index2--) {
              args[index2] = arguments[index2];
            }
            var holders = length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder ? [] : replaceHolders(args, placeholder);
            length -= holders.length;
            if (length < arity) {
              return createRecurry(
                func,
                bitmask,
                createHybrid,
                wrapper.placeholder,
                undefined$1,
                args,
                holders,
                undefined$1,
                undefined$1,
                arity - length
              );
            }
            var fn = this && this !== root7 && this instanceof wrapper ? Ctor : func;
            return apply2(fn, this, args);
          }
          return wrapper;
        }
        function createFind(findIndexFunc) {
          return function(collection, predicate, fromIndex) {
            var iterable = Object2(collection);
            if (!isArrayLike(collection)) {
              var iteratee2 = getIteratee(predicate, 3);
              collection = keys(collection);
              predicate = function(key) {
                return iteratee2(iterable[key], key, iterable);
              };
            }
            var index2 = findIndexFunc(collection, predicate, fromIndex);
            return index2 > -1 ? iterable[iteratee2 ? collection[index2] : index2] : undefined$1;
          };
        }
        function createFlow(fromRight) {
          return flatRest(function(funcs) {
            var length = funcs.length, index2 = length, prereq = LodashWrapper.prototype.thru;
            if (fromRight) {
              funcs.reverse();
            }
            while (index2--) {
              var func = funcs[index2];
              if (typeof func != "function") {
                throw new TypeError2(FUNC_ERROR_TEXT);
              }
              if (prereq && !wrapper && getFuncName(func) == "wrapper") {
                var wrapper = new LodashWrapper([], true);
              }
            }
            index2 = wrapper ? index2 : length;
            while (++index2 < length) {
              func = funcs[index2];
              var funcName = getFuncName(func), data6 = funcName == "wrapper" ? getData(func) : undefined$1;
              if (data6 && isLaziable(data6[0]) && data6[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && !data6[4].length && data6[9] == 1) {
                wrapper = wrapper[getFuncName(data6[0])].apply(wrapper, data6[3]);
              } else {
                wrapper = func.length == 1 && isLaziable(func) ? wrapper[funcName]() : wrapper.thru(func);
              }
            }
            return function() {
              var args = arguments, value2 = args[0];
              if (wrapper && args.length == 1 && isArray2(value2)) {
                return wrapper.plant(value2).value();
              }
              var index3 = 0, result2 = length ? funcs[index3].apply(this, args) : value2;
              while (++index3 < length) {
                result2 = funcs[index3].call(this, result2);
              }
              return result2;
            };
          });
        }
        function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary2, arity) {
          var isAry = bitmask & WRAP_ARY_FLAG, isBind = bitmask & WRAP_BIND_FLAG, isBindKey = bitmask & WRAP_BIND_KEY_FLAG, isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), isFlip = bitmask & WRAP_FLIP_FLAG, Ctor = isBindKey ? undefined$1 : createCtor(func);
          function wrapper() {
            var length = arguments.length, args = Array2(length), index2 = length;
            while (index2--) {
              args[index2] = arguments[index2];
            }
            if (isCurried) {
              var placeholder = getHolder(wrapper), holdersCount = countHolders(args, placeholder);
            }
            if (partials) {
              args = composeArgs(args, partials, holders, isCurried);
            }
            if (partialsRight) {
              args = composeArgsRight(args, partialsRight, holdersRight, isCurried);
            }
            length -= holdersCount;
            if (isCurried && length < arity) {
              var newHolders = replaceHolders(args, placeholder);
              return createRecurry(
                func,
                bitmask,
                createHybrid,
                wrapper.placeholder,
                thisArg,
                args,
                newHolders,
                argPos,
                ary2,
                arity - length
              );
            }
            var thisBinding = isBind ? thisArg : this, fn = isBindKey ? thisBinding[func] : func;
            length = args.length;
            if (argPos) {
              args = reorder(args, argPos);
            } else if (isFlip && length > 1) {
              args.reverse();
            }
            if (isAry && ary2 < length) {
              args.length = ary2;
            }
            if (this && this !== root7 && this instanceof wrapper) {
              fn = Ctor || createCtor(fn);
            }
            return fn.apply(thisBinding, args);
          }
          return wrapper;
        }
        function createInverter(setter, toIteratee) {
          return function(object, iteratee2) {
            return baseInverter(object, setter, toIteratee(iteratee2), {});
          };
        }
        function createMathOperation(operator, defaultValue) {
          return function(value2, other) {
            var result2;
            if (value2 === undefined$1 && other === undefined$1) {
              return defaultValue;
            }
            if (value2 !== undefined$1) {
              result2 = value2;
            }
            if (other !== undefined$1) {
              if (result2 === undefined$1) {
                return other;
              }
              if (typeof value2 == "string" || typeof other == "string") {
                value2 = baseToString(value2);
                other = baseToString(other);
              } else {
                value2 = baseToNumber(value2);
                other = baseToNumber(other);
              }
              result2 = operator(value2, other);
            }
            return result2;
          };
        }
        function createOver(arrayFunc) {
          return flatRest(function(iteratees) {
            iteratees = arrayMap(iteratees, baseUnary(getIteratee()));
            return baseRest(function(args) {
              var thisArg = this;
              return arrayFunc(iteratees, function(iteratee2) {
                return apply2(iteratee2, thisArg, args);
              });
            });
          });
        }
        function createPadding(length, chars) {
          chars = chars === undefined$1 ? " " : baseToString(chars);
          var charsLength = chars.length;
          if (charsLength < 2) {
            return charsLength ? baseRepeat(chars, length) : chars;
          }
          var result2 = baseRepeat(chars, nativeCeil(length / stringSize(chars)));
          return hasUnicode(chars) ? castSlice(stringToArray(result2), 0, length).join("") : result2.slice(0, length);
        }
        function createPartial(func, bitmask, thisArg, partials) {
          var isBind = bitmask & WRAP_BIND_FLAG, Ctor = createCtor(func);
          function wrapper() {
            var argsIndex = -1, argsLength = arguments.length, leftIndex = -1, leftLength = partials.length, args = Array2(leftLength + argsLength), fn = this && this !== root7 && this instanceof wrapper ? Ctor : func;
            while (++leftIndex < leftLength) {
              args[leftIndex] = partials[leftIndex];
            }
            while (argsLength--) {
              args[leftIndex++] = arguments[++argsIndex];
            }
            return apply2(fn, isBind ? thisArg : this, args);
          }
          return wrapper;
        }
        function createRange(fromRight) {
          return function(start, end2, step) {
            if (step && typeof step != "number" && isIterateeCall(start, end2, step)) {
              end2 = step = undefined$1;
            }
            start = toFinite(start);
            if (end2 === undefined$1) {
              end2 = start;
              start = 0;
            } else {
              end2 = toFinite(end2);
            }
            step = step === undefined$1 ? start < end2 ? 1 : -1 : toFinite(step);
            return baseRange(start, end2, step, fromRight);
          };
        }
        function createRelationalOperation(operator) {
          return function(value2, other) {
            if (!(typeof value2 == "string" && typeof other == "string")) {
              value2 = toNumber2(value2);
              other = toNumber2(other);
            }
            return operator(value2, other);
          };
        }
        function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary2, arity) {
          var isCurry = bitmask & WRAP_CURRY_FLAG, newHolders = isCurry ? holders : undefined$1, newHoldersRight = isCurry ? undefined$1 : holders, newPartials = isCurry ? partials : undefined$1, newPartialsRight = isCurry ? undefined$1 : partials;
          bitmask |= isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG;
          bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);
          if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {
            bitmask &= -4;
          }
          var newData = [
            func,
            bitmask,
            thisArg,
            newPartials,
            newHolders,
            newPartialsRight,
            newHoldersRight,
            argPos,
            ary2,
            arity
          ];
          var result2 = wrapFunc.apply(undefined$1, newData);
          if (isLaziable(func)) {
            setData(result2, newData);
          }
          result2.placeholder = placeholder;
          return setWrapToString(result2, func, bitmask);
        }
        function createRound(methodName) {
          var func = Math2[methodName];
          return function(number, precision) {
            number = toNumber2(number);
            precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);
            if (precision && nativeIsFinite(number)) {
              var pair = (toString3(number) + "e").split("e"), value2 = func(pair[0] + "e" + (+pair[1] + precision));
              pair = (toString3(value2) + "e").split("e");
              return +(pair[0] + "e" + (+pair[1] - precision));
            }
            return func(number);
          };
        }
        var createSet = !(Set2 && 1 / setToArray(new Set2([, -0]))[1] == INFINITY) ? noop2 : function(values2) {
          return new Set2(values2);
        };
        function createToPairs(keysFunc) {
          return function(object) {
            var tag = getTag(object);
            if (tag == mapTag) {
              return mapToArray(object);
            }
            if (tag == setTag) {
              return setToPairs(object);
            }
            return baseToPairs(object, keysFunc(object));
          };
        }
        function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary2, arity) {
          var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;
          if (!isBindKey && typeof func != "function") {
            throw new TypeError2(FUNC_ERROR_TEXT);
          }
          var length = partials ? partials.length : 0;
          if (!length) {
            bitmask &= -97;
            partials = holders = undefined$1;
          }
          ary2 = ary2 === undefined$1 ? ary2 : nativeMax(toInteger(ary2), 0);
          arity = arity === undefined$1 ? arity : toInteger(arity);
          length -= holders ? holders.length : 0;
          if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {
            var partialsRight = partials, holdersRight = holders;
            partials = holders = undefined$1;
          }
          var data6 = isBindKey ? undefined$1 : getData(func);
          var newData = [
            func,
            bitmask,
            thisArg,
            partials,
            holders,
            partialsRight,
            holdersRight,
            argPos,
            ary2,
            arity
          ];
          if (data6) {
            mergeData(newData, data6);
          }
          func = newData[0];
          bitmask = newData[1];
          thisArg = newData[2];
          partials = newData[3];
          holders = newData[4];
          arity = newData[9] = newData[9] === undefined$1 ? isBindKey ? 0 : func.length : nativeMax(newData[9] - length, 0);
          if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {
            bitmask &= -25;
          }
          if (!bitmask || bitmask == WRAP_BIND_FLAG) {
            var result2 = createBind(func, bitmask, thisArg);
          } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {
            result2 = createCurry(func, bitmask, arity);
          } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {
            result2 = createPartial(func, bitmask, thisArg, partials);
          } else {
            result2 = createHybrid.apply(undefined$1, newData);
          }
          var setter = data6 ? baseSetData : setData;
          return setWrapToString(setter(result2, newData), func, bitmask);
        }
        function customDefaultsAssignIn(objValue, srcValue, key, object) {
          if (objValue === undefined$1 || eq(objValue, objectProto[key]) && !hasOwnProperty2.call(object, key)) {
            return srcValue;
          }
          return objValue;
        }
        function customDefaultsMerge(objValue, srcValue, key, object, source, stack2) {
          if (isObject2(objValue) && isObject2(srcValue)) {
            stack2.set(srcValue, objValue);
            baseMerge(objValue, srcValue, undefined$1, customDefaultsMerge, stack2);
            stack2["delete"](srcValue);
          }
          return objValue;
        }
        function customOmitClone(value2) {
          return isPlainObject2(value2) ? undefined$1 : value2;
        }
        function equalArrays(array, other, bitmask, customizer, equalFunc, stack2) {
          var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array.length, othLength = other.length;
          if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
            return false;
          }
          var arrStacked = stack2.get(array);
          var othStacked = stack2.get(other);
          if (arrStacked && othStacked) {
            return arrStacked == other && othStacked == array;
          }
          var index2 = -1, result2 = true, seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : undefined$1;
          stack2.set(array, other);
          stack2.set(other, array);
          while (++index2 < arrLength) {
            var arrValue = array[index2], othValue = other[index2];
            if (customizer) {
              var compared = isPartial ? customizer(othValue, arrValue, index2, other, array, stack2) : customizer(arrValue, othValue, index2, array, other, stack2);
            }
            if (compared !== undefined$1) {
              if (compared) {
                continue;
              }
              result2 = false;
              break;
            }
            if (seen) {
              if (!arraySome(other, function(othValue2, othIndex) {
                if (!cacheHas(seen, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack2))) {
                  return seen.push(othIndex);
                }
              })) {
                result2 = false;
                break;
              }
            } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack2))) {
              result2 = false;
              break;
            }
          }
          stack2["delete"](array);
          stack2["delete"](other);
          return result2;
        }
        function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack2) {
          switch (tag) {
            case dataViewTag:
              if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {
                return false;
              }
              object = object.buffer;
              other = other.buffer;
            case arrayBufferTag:
              if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array2(object), new Uint8Array2(other))) {
                return false;
              }
              return true;
            case boolTag:
            case dateTag:
            case numberTag:
              return eq(+object, +other);
            case errorTag:
              return object.name == other.name && object.message == other.message;
            case regexpTag:
            case stringTag:
              return object == other + "";
            case mapTag:
              var convert2 = mapToArray;
            case setTag:
              var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
              convert2 || (convert2 = setToArray);
              if (object.size != other.size && !isPartial) {
                return false;
              }
              var stacked = stack2.get(object);
              if (stacked) {
                return stacked == other;
              }
              bitmask |= COMPARE_UNORDERED_FLAG;
              stack2.set(object, other);
              var result2 = equalArrays(convert2(object), convert2(other), bitmask, customizer, equalFunc, stack2);
              stack2["delete"](object);
              return result2;
            case symbolTag:
              if (symbolValueOf) {
                return symbolValueOf.call(object) == symbolValueOf.call(other);
              }
          }
          return false;
        }
        function equalObjects(object, other, bitmask, customizer, equalFunc, stack2) {
          var isPartial = bitmask & COMPARE_PARTIAL_FLAG, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length;
          if (objLength != othLength && !isPartial) {
            return false;
          }
          var index2 = objLength;
          while (index2--) {
            var key = objProps[index2];
            if (!(isPartial ? key in other : hasOwnProperty2.call(other, key))) {
              return false;
            }
          }
          var objStacked = stack2.get(object);
          var othStacked = stack2.get(other);
          if (objStacked && othStacked) {
            return objStacked == other && othStacked == object;
          }
          var result2 = true;
          stack2.set(object, other);
          stack2.set(other, object);
          var skipCtor = isPartial;
          while (++index2 < objLength) {
            key = objProps[index2];
            var objValue = object[key], othValue = other[key];
            if (customizer) {
              var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack2) : customizer(objValue, othValue, key, object, other, stack2);
            }
            if (!(compared === undefined$1 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack2) : compared)) {
              result2 = false;
              break;
            }
            skipCtor || (skipCtor = key == "constructor");
          }
          if (result2 && !skipCtor) {
            var objCtor = object.constructor, othCtor = other.constructor;
            if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) {
              result2 = false;
            }
          }
          stack2["delete"](object);
          stack2["delete"](other);
          return result2;
        }
        function flatRest(func) {
          return setToString(overRest(func, undefined$1, flatten), func + "");
        }
        function getAllKeys(object) {
          return baseGetAllKeys(object, keys, getSymbols);
        }
        function getAllKeysIn(object) {
          return baseGetAllKeys(object, keysIn, getSymbolsIn);
        }
        var getData = !metaMap ? noop2 : function(func) {
          return metaMap.get(func);
        };
        function getFuncName(func) {
          var result2 = func.name + "", array = realNames[result2], length = hasOwnProperty2.call(realNames, result2) ? array.length : 0;
          while (length--) {
            var data6 = array[length], otherFunc = data6.func;
            if (otherFunc == null || otherFunc == func) {
              return data6.name;
            }
          }
          return result2;
        }
        function getHolder(func) {
          var object = hasOwnProperty2.call(lodash2, "placeholder") ? lodash2 : func;
          return object.placeholder;
        }
        function getIteratee() {
          var result2 = lodash2.iteratee || iteratee;
          result2 = result2 === iteratee ? baseIteratee : result2;
          return arguments.length ? result2(arguments[0], arguments[1]) : result2;
        }
        function getMapData(map2, key) {
          var data6 = map2.__data__;
          return isKeyable(key) ? data6[typeof key == "string" ? "string" : "hash"] : data6.map;
        }
        function getMatchData(object) {
          var result2 = keys(object), length = result2.length;
          while (length--) {
            var key = result2[length], value2 = object[key];
            result2[length] = [key, value2, isStrictComparable(value2)];
          }
          return result2;
        }
        function getNative(object, key) {
          var value2 = getValue(object, key);
          return baseIsNative(value2) ? value2 : undefined$1;
        }
        function getRawTag(value2) {
          var isOwn = hasOwnProperty2.call(value2, symToStringTag), tag = value2[symToStringTag];
          try {
            value2[symToStringTag] = undefined$1;
            var unmasked = true;
          } catch (e) {
          }
          var result2 = nativeObjectToString.call(value2);
          if (unmasked) {
            if (isOwn) {
              value2[symToStringTag] = tag;
            } else {
              delete value2[symToStringTag];
            }
          }
          return result2;
        }
        var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
          if (object == null) {
            return [];
          }
          object = Object2(object);
          return arrayFilter(nativeGetSymbols(object), function(symbol) {
            return propertyIsEnumerable.call(object, symbol);
          });
        };
        var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {
          var result2 = [];
          while (object) {
            arrayPush(result2, getSymbols(object));
            object = getPrototype(object);
          }
          return result2;
        };
        var getTag = baseGetTag;
        if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map2 && getTag(new Map2()) != mapTag || Promise2 && getTag(Promise2.resolve()) != promiseTag || Set2 && getTag(new Set2()) != setTag || WeakMap2 && getTag(new WeakMap2()) != weakMapTag) {
          getTag = function(value2) {
            var result2 = baseGetTag(value2), Ctor = result2 == objectTag ? value2.constructor : undefined$1, ctorString = Ctor ? toSource(Ctor) : "";
            if (ctorString) {
              switch (ctorString) {
                case dataViewCtorString:
                  return dataViewTag;
                case mapCtorString:
                  return mapTag;
                case promiseCtorString:
                  return promiseTag;
                case setCtorString:
                  return setTag;
                case weakMapCtorString:
                  return weakMapTag;
              }
            }
            return result2;
          };
        }
        function getView(start, end2, transforms) {
          var index2 = -1, length = transforms.length;
          while (++index2 < length) {
            var data6 = transforms[index2], size2 = data6.size;
            switch (data6.type) {
              case "drop":
                start += size2;
                break;
              case "dropRight":
                end2 -= size2;
                break;
              case "take":
                end2 = nativeMin(end2, start + size2);
                break;
              case "takeRight":
                start = nativeMax(start, end2 - size2);
                break;
            }
          }
          return { "start": start, "end": end2 };
        }
        function getWrapDetails(source) {
          var match2 = source.match(reWrapDetails);
          return match2 ? match2[1].split(reSplitDetails) : [];
        }
        function hasPath(object, path, hasFunc) {
          path = castPath(path, object);
          var index2 = -1, length = path.length, result2 = false;
          while (++index2 < length) {
            var key = toKey(path[index2]);
            if (!(result2 = object != null && hasFunc(object, key))) {
              break;
            }
            object = object[key];
          }
          if (result2 || ++index2 != length) {
            return result2;
          }
          length = object == null ? 0 : object.length;
          return !!length && isLength(length) && isIndex(key, length) && (isArray2(object) || isArguments(object));
        }
        function initCloneArray(array) {
          var length = array.length, result2 = new array.constructor(length);
          if (length && typeof array[0] == "string" && hasOwnProperty2.call(array, "index")) {
            result2.index = array.index;
            result2.input = array.input;
          }
          return result2;
        }
        function initCloneObject(object) {
          return typeof object.constructor == "function" && !isPrototype(object) ? baseCreate(getPrototype(object)) : {};
        }
        function initCloneByTag(object, tag, isDeep) {
          var Ctor = object.constructor;
          switch (tag) {
            case arrayBufferTag:
              return cloneArrayBuffer(object);
            case boolTag:
            case dateTag:
              return new Ctor(+object);
            case dataViewTag:
              return cloneDataView(object, isDeep);
            case float32Tag:
            case float64Tag:
            case int8Tag:
            case int16Tag:
            case int32Tag:
            case uint8Tag:
            case uint8ClampedTag:
            case uint16Tag:
            case uint32Tag:
              return cloneTypedArray(object, isDeep);
            case mapTag:
              return new Ctor();
            case numberTag:
            case stringTag:
              return new Ctor(object);
            case regexpTag:
              return cloneRegExp(object);
            case setTag:
              return new Ctor();
            case symbolTag:
              return cloneSymbol(object);
          }
        }
        function insertWrapDetails(source, details) {
          var length = details.length;
          if (!length) {
            return source;
          }
          var lastIndex = length - 1;
          details[lastIndex] = (length > 1 ? "& " : "") + details[lastIndex];
          details = details.join(length > 2 ? ", " : " ");
          return source.replace(reWrapComment, "{\n/* [wrapped with " + details + "] */\n");
        }
        function isFlattenable(value2) {
          return isArray2(value2) || isArguments(value2) || !!(spreadableSymbol && value2 && value2[spreadableSymbol]);
        }
        function isIndex(value2, length) {
          var type = typeof value2;
          length = length == null ? MAX_SAFE_INTEGER : length;
          return !!length && (type == "number" || type != "symbol" && reIsUint.test(value2)) && (value2 > -1 && value2 % 1 == 0 && value2 < length);
        }
        function isIterateeCall(value2, index2, object) {
          if (!isObject2(object)) {
            return false;
          }
          var type = typeof index2;
          if (type == "number" ? isArrayLike(object) && isIndex(index2, object.length) : type == "string" && index2 in object) {
            return eq(object[index2], value2);
          }
          return false;
        }
        function isKey(value2, object) {
          if (isArray2(value2)) {
            return false;
          }
          var type = typeof value2;
          if (type == "number" || type == "symbol" || type == "boolean" || value2 == null || isSymbol2(value2)) {
            return true;
          }
          return reIsPlainProp.test(value2) || !reIsDeepProp.test(value2) || object != null && value2 in Object2(object);
        }
        function isKeyable(value2) {
          var type = typeof value2;
          return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value2 !== "__proto__" : value2 === null;
        }
        function isLaziable(func) {
          var funcName = getFuncName(func), other = lodash2[funcName];
          if (typeof other != "function" || !(funcName in LazyWrapper.prototype)) {
            return false;
          }
          if (func === other) {
            return true;
          }
          var data6 = getData(other);
          return !!data6 && func === data6[0];
        }
        function isMasked(func) {
          return !!maskSrcKey && maskSrcKey in func;
        }
        var isMaskable = coreJsData ? isFunction2 : stubFalse;
        function isPrototype(value2) {
          var Ctor = value2 && value2.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
          return value2 === proto;
        }
        function isStrictComparable(value2) {
          return value2 === value2 && !isObject2(value2);
        }
        function matchesStrictComparable(key, srcValue) {
          return function(object) {
            if (object == null) {
              return false;
            }
            return object[key] === srcValue && (srcValue !== undefined$1 || key in Object2(object));
          };
        }
        function memoizeCapped(func) {
          var result2 = memoize(func, function(key) {
            if (cache.size === MAX_MEMOIZE_SIZE) {
              cache.clear();
            }
            return key;
          });
          var cache = result2.cache;
          return result2;
        }
        function mergeData(data6, source) {
          var bitmask = data6[1], srcBitmask = source[1], newBitmask = bitmask | srcBitmask, isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);
          var isCombo = srcBitmask == WRAP_ARY_FLAG && bitmask == WRAP_CURRY_FLAG || srcBitmask == WRAP_ARY_FLAG && bitmask == WRAP_REARG_FLAG && data6[7].length <= source[8] || srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG) && source[7].length <= source[8] && bitmask == WRAP_CURRY_FLAG;
          if (!(isCommon || isCombo)) {
            return data6;
          }
          if (srcBitmask & WRAP_BIND_FLAG) {
            data6[2] = source[2];
            newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;
          }
          var value2 = source[3];
          if (value2) {
            var partials = data6[3];
            data6[3] = partials ? composeArgs(partials, value2, source[4]) : value2;
            data6[4] = partials ? replaceHolders(data6[3], PLACEHOLDER) : source[4];
          }
          value2 = source[5];
          if (value2) {
            partials = data6[5];
            data6[5] = partials ? composeArgsRight(partials, value2, source[6]) : value2;
            data6[6] = partials ? replaceHolders(data6[5], PLACEHOLDER) : source[6];
          }
          value2 = source[7];
          if (value2) {
            data6[7] = value2;
          }
          if (srcBitmask & WRAP_ARY_FLAG) {
            data6[8] = data6[8] == null ? source[8] : nativeMin(data6[8], source[8]);
          }
          if (data6[9] == null) {
            data6[9] = source[9];
          }
          data6[0] = source[0];
          data6[1] = newBitmask;
          return data6;
        }
        function nativeKeysIn(object) {
          var result2 = [];
          if (object != null) {
            for (var key in Object2(object)) {
              result2.push(key);
            }
          }
          return result2;
        }
        function objectToString2(value2) {
          return nativeObjectToString.call(value2);
        }
        function overRest(func, start, transform2) {
          start = nativeMax(start === undefined$1 ? func.length - 1 : start, 0);
          return function() {
            var args = arguments, index2 = -1, length = nativeMax(args.length - start, 0), array = Array2(length);
            while (++index2 < length) {
              array[index2] = args[start + index2];
            }
            index2 = -1;
            var otherArgs = Array2(start + 1);
            while (++index2 < start) {
              otherArgs[index2] = args[index2];
            }
            otherArgs[start] = transform2(array);
            return apply2(func, this, otherArgs);
          };
        }
        function parent(object, path) {
          return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));
        }
        function reorder(array, indexes) {
          var arrLength = array.length, length = nativeMin(indexes.length, arrLength), oldArray = copyArray(array);
          while (length--) {
            var index2 = indexes[length];
            array[length] = isIndex(index2, arrLength) ? oldArray[index2] : undefined$1;
          }
          return array;
        }
        function safeGet(object, key) {
          if (key === "constructor" && typeof object[key] === "function") {
            return;
          }
          if (key == "__proto__") {
            return;
          }
          return object[key];
        }
        var setData = shortOut(baseSetData);
        var setTimeout2 = ctxSetTimeout || function(func, wait) {
          return root7.setTimeout(func, wait);
        };
        var setToString = shortOut(baseSetToString);
        function setWrapToString(wrapper, reference, bitmask) {
          var source = reference + "";
          return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));
        }
        function shortOut(func) {
          var count = 0, lastCalled = 0;
          return function() {
            var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
            lastCalled = stamp;
            if (remaining > 0) {
              if (++count >= HOT_COUNT) {
                return arguments[0];
              }
            } else {
              count = 0;
            }
            return func.apply(undefined$1, arguments);
          };
        }
        function shuffleSelf(array, size2) {
          var index2 = -1, length = array.length, lastIndex = length - 1;
          size2 = size2 === undefined$1 ? length : size2;
          while (++index2 < size2) {
            var rand = baseRandom(index2, lastIndex), value2 = array[rand];
            array[rand] = array[index2];
            array[index2] = value2;
          }
          array.length = size2;
          return array;
        }
        var stringToPath = memoizeCapped(function(string) {
          var result2 = [];
          if (string.charCodeAt(0) === 46) {
            result2.push("");
          }
          string.replace(rePropName, function(match2, number, quote, subString) {
            result2.push(quote ? subString.replace(reEscapeChar, "$1") : number || match2);
          });
          return result2;
        });
        function toKey(value2) {
          if (typeof value2 == "string" || isSymbol2(value2)) {
            return value2;
          }
          var result2 = value2 + "";
          return result2 == "0" && 1 / value2 == -Infinity ? "-0" : result2;
        }
        function toSource(func) {
          if (func != null) {
            try {
              return funcToString.call(func);
            } catch (e) {
            }
            try {
              return func + "";
            } catch (e) {
            }
          }
          return "";
        }
        function updateWrapDetails(details, bitmask) {
          arrayEach(wrapFlags, function(pair) {
            var value2 = "_." + pair[0];
            if (bitmask & pair[1] && !arrayIncludes(details, value2)) {
              details.push(value2);
            }
          });
          return details.sort();
        }
        function wrapperClone(wrapper) {
          if (wrapper instanceof LazyWrapper) {
            return wrapper.clone();
          }
          var result2 = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);
          result2.__actions__ = copyArray(wrapper.__actions__);
          result2.__index__ = wrapper.__index__;
          result2.__values__ = wrapper.__values__;
          return result2;
        }
        function chunk(array, size2, guard) {
          if (guard ? isIterateeCall(array, size2, guard) : size2 === undefined$1) {
            size2 = 1;
          } else {
            size2 = nativeMax(toInteger(size2), 0);
          }
          var length = array == null ? 0 : array.length;
          if (!length || size2 < 1) {
            return [];
          }
          var index2 = 0, resIndex = 0, result2 = Array2(nativeCeil(length / size2));
          while (index2 < length) {
            result2[resIndex++] = baseSlice(array, index2, index2 += size2);
          }
          return result2;
        }
        function compact(array) {
          var index2 = -1, length = array == null ? 0 : array.length, resIndex = 0, result2 = [];
          while (++index2 < length) {
            var value2 = array[index2];
            if (value2) {
              result2[resIndex++] = value2;
            }
          }
          return result2;
        }
        function concat() {
          var length = arguments.length;
          if (!length) {
            return [];
          }
          var args = Array2(length - 1), array = arguments[0], index2 = length;
          while (index2--) {
            args[index2 - 1] = arguments[index2];
          }
          return arrayPush(isArray2(array) ? copyArray(array) : [array], baseFlatten(args, 1));
        }
        var difference = baseRest(function(array, values2) {
          return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values2, 1, isArrayLikeObject, true)) : [];
        });
        var differenceBy = baseRest(function(array, values2) {
          var iteratee2 = last(values2);
          if (isArrayLikeObject(iteratee2)) {
            iteratee2 = undefined$1;
          }
          return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values2, 1, isArrayLikeObject, true), getIteratee(iteratee2, 2)) : [];
        });
        var differenceWith = baseRest(function(array, values2) {
          var comparator = last(values2);
          if (isArrayLikeObject(comparator)) {
            comparator = undefined$1;
          }
          return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values2, 1, isArrayLikeObject, true), undefined$1, comparator) : [];
        });
        function drop(array, n, guard) {
          var length = array == null ? 0 : array.length;
          if (!length) {
            return [];
          }
          n = guard || n === undefined$1 ? 1 : toInteger(n);
          return baseSlice(array, n < 0 ? 0 : n, length);
        }
        function dropRight(array, n, guard) {
          var length = array == null ? 0 : array.length;
          if (!length) {
            return [];
          }
          n = guard || n === undefined$1 ? 1 : toInteger(n);
          n = length - n;
          return baseSlice(array, 0, n < 0 ? 0 : n);
        }
        function dropRightWhile(array, predicate) {
          return array && array.length ? baseWhile(array, getIteratee(predicate, 3), true, true) : [];
        }
        function dropWhile(array, predicate) {
          return array && array.length ? baseWhile(array, getIteratee(predicate, 3), true) : [];
        }
        function fill(array, value2, start, end2) {
          var length = array == null ? 0 : array.length;
          if (!length) {
            return [];
          }
          if (start && typeof start != "number" && isIterateeCall(array, value2, start)) {
            start = 0;
            end2 = length;
          }
          return baseFill(array, value2, start, end2);
        }
        function findIndex2(array, predicate, fromIndex) {
          var length = array == null ? 0 : array.length;
          if (!length) {
            return -1;
          }
          var index2 = fromIndex == null ? 0 : toInteger(fromIndex);
          if (index2 < 0) {
            index2 = nativeMax(length + index2, 0);
          }
          return baseFindIndex(array, getIteratee(predicate, 3), index2);
        }
        function findLastIndex(array, predicate, fromIndex) {
          var length = array == null ? 0 : array.length;
          if (!length) {
            return -1;
          }
          var index2 = length - 1;
          if (fromIndex !== undefined$1) {
            index2 = toInteger(fromIndex);
            index2 = fromIndex < 0 ? nativeMax(length + index2, 0) : nativeMin(index2, length - 1);
          }
          return baseFindIndex(array, getIteratee(predicate, 3), index2, true);
        }
        function flatten(array) {
          var length = array == null ? 0 : array.length;
          return length ? baseFlatten(array, 1) : [];
        }
        function flattenDeep(array) {
          var length = array == null ? 0 : array.length;
          return length ? baseFlatten(array, INFINITY) : [];
        }
        function flattenDepth(array, depth) {
          var length = array == null ? 0 : array.length;
          if (!length) {
            return [];
          }
          depth = depth === undefined$1 ? 1 : toInteger(depth);
          return baseFlatten(array, depth);
        }
        function fromPairs(pairs) {
          var index2 = -1, length = pairs == null ? 0 : pairs.length, result2 = {};
          while (++index2 < length) {
            var pair = pairs[index2];
            result2[pair[0]] = pair[1];
          }
          return result2;
        }
        function head(array) {
          return array && array.length ? array[0] : undefined$1;
        }
        function indexOf(array, value2, fromIndex) {
          var length = array == null ? 0 : array.length;
          if (!length) {
            return -1;
          }
          var index2 = fromIndex == null ? 0 : toInteger(fromIndex);
          if (index2 < 0) {
            index2 = nativeMax(length + index2, 0);
          }
          return baseIndexOf(array, value2, index2);
        }
        function initial2(array) {
          var length = array == null ? 0 : array.length;
          return length ? baseSlice(array, 0, -1) : [];
        }
        var intersection = baseRest(function(arrays) {
          var mapped = arrayMap(arrays, castArrayLikeObject);
          return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped) : [];
        });
        var intersectionBy = baseRest(function(arrays) {
          var iteratee2 = last(arrays), mapped = arrayMap(arrays, castArrayLikeObject);
          if (iteratee2 === last(mapped)) {
            iteratee2 = undefined$1;
          } else {
            mapped.pop();
          }
          return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped, getIteratee(iteratee2, 2)) : [];
        });
        var intersectionWith = baseRest(function(arrays) {
          var comparator = last(arrays), mapped = arrayMap(arrays, castArrayLikeObject);
          comparator = typeof comparator == "function" ? comparator : undefined$1;
          if (comparator) {
            mapped.pop();
          }
          return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped, undefined$1, comparator) : [];
        });
        function join(array, separator) {
          return array == null ? "" : nativeJoin.call(array, separator);
        }
        function last(array) {
          var length = array == null ? 0 : array.length;
          return length ? array[length - 1] : undefined$1;
        }
        function lastIndexOf(array, value2, fromIndex) {
          var length = array == null ? 0 : array.length;
          if (!length) {
            return -1;
          }
          var index2 = length;
          if (fromIndex !== undefined$1) {
            index2 = toInteger(fromIndex);
            index2 = index2 < 0 ? nativeMax(length + index2, 0) : nativeMin(index2, length - 1);
          }
          return value2 === value2 ? strictLastIndexOf(array, value2, index2) : baseFindIndex(array, baseIsNaN, index2, true);
        }
        function nth(array, n) {
          return array && array.length ? baseNth(array, toInteger(n)) : undefined$1;
        }
        var pull = baseRest(pullAll);
        function pullAll(array, values2) {
          return array && array.length && values2 && values2.length ? basePullAll(array, values2) : array;
        }
        function pullAllBy(array, values2, iteratee2) {
          return array && array.length && values2 && values2.length ? basePullAll(array, values2, getIteratee(iteratee2, 2)) : array;
        }
        function pullAllWith(array, values2, comparator) {
          return array && array.length && values2 && values2.length ? basePullAll(array, values2, undefined$1, comparator) : array;
        }
        var pullAt = flatRest(function(array, indexes) {
          var length = array == null ? 0 : array.length, result2 = baseAt(array, indexes);
          basePullAt(array, arrayMap(indexes, function(index2) {
            return isIndex(index2, length) ? +index2 : index2;
          }).sort(compareAscending));
          return result2;
        });
        function remove4(array, predicate) {
          var result2 = [];
          if (!(array && array.length)) {
            return result2;
          }
          var index2 = -1, indexes = [], length = array.length;
          predicate = getIteratee(predicate, 3);
          while (++index2 < length) {
            var value2 = array[index2];
            if (predicate(value2, index2, array)) {
              result2.push(value2);
              indexes.push(index2);
            }
          }
          basePullAt(array, indexes);
          return result2;
        }
        function reverse(array) {
          return array == null ? array : nativeReverse.call(array);
        }
        function slice(array, start, end2) {
          var length = array == null ? 0 : array.length;
          if (!length) {
            return [];
          }
          if (end2 && typeof end2 != "number" && isIterateeCall(array, start, end2)) {
            start = 0;
            end2 = length;
          } else {
            start = start == null ? 0 : toInteger(start);
            end2 = end2 === undefined$1 ? length : toInteger(end2);
          }
          return baseSlice(array, start, end2);
        }
        function sortedIndex(array, value2) {
          return baseSortedIndex(array, value2);
        }
        function sortedIndexBy(array, value2, iteratee2) {
          return baseSortedIndexBy(array, value2, getIteratee(iteratee2, 2));
        }
        function sortedIndexOf(array, value2) {
          var length = array == null ? 0 : array.length;
          if (length) {
            var index2 = baseSortedIndex(array, value2);
            if (index2 < length && eq(array[index2], value2)) {
              return index2;
            }
          }
          return -1;
        }
        function sortedLastIndex(array, value2) {
          return baseSortedIndex(array, value2, true);
        }
        function sortedLastIndexBy(array, value2, iteratee2) {
          return baseSortedIndexBy(array, value2, getIteratee(iteratee2, 2), true);
        }
        function sortedLastIndexOf(array, value2) {
          var length = array == null ? 0 : array.length;
          if (length) {
            var index2 = baseSortedIndex(array, value2, true) - 1;
            if (eq(array[index2], value2)) {
              return index2;
            }
          }
          return -1;
        }
        function sortedUniq(array) {
          return array && array.length ? baseSortedUniq(array) : [];
        }
        function sortedUniqBy(array, iteratee2) {
          return array && array.length ? baseSortedUniq(array, getIteratee(iteratee2, 2)) : [];
        }
        function tail(array) {
          var length = array == null ? 0 : array.length;
          return length ? baseSlice(array, 1, length) : [];
        }
        function take(array, n, guard) {
          if (!(array && array.length)) {
            return [];
          }
          n = guard || n === undefined$1 ? 1 : toInteger(n);
          return baseSlice(array, 0, n < 0 ? 0 : n);
        }
        function takeRight(array, n, guard) {
          var length = array == null ? 0 : array.length;
          if (!length) {
            return [];
          }
          n = guard || n === undefined$1 ? 1 : toInteger(n);
          n = length - n;
          return baseSlice(array, n < 0 ? 0 : n, length);
        }
        function takeRightWhile(array, predicate) {
          return array && array.length ? baseWhile(array, getIteratee(predicate, 3), false, true) : [];
        }
        function takeWhile(array, predicate) {
          return array && array.length ? baseWhile(array, getIteratee(predicate, 3)) : [];
        }
        var union = baseRest(function(arrays) {
          return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
        });
        var unionBy = baseRest(function(arrays) {
          var iteratee2 = last(arrays);
          if (isArrayLikeObject(iteratee2)) {
            iteratee2 = undefined$1;
          }
          return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee2, 2));
        });
        var unionWith = baseRest(function(arrays) {
          var comparator = last(arrays);
          comparator = typeof comparator == "function" ? comparator : undefined$1;
          return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined$1, comparator);
        });
        function uniq(array) {
          return array && array.length ? baseUniq(array) : [];
        }
        function uniqBy(array, iteratee2) {
          return array && array.length ? baseUniq(array, getIteratee(iteratee2, 2)) : [];
        }
        function uniqWith(array, comparator) {
          comparator = typeof comparator == "function" ? comparator : undefined$1;
          return array && array.length ? baseUniq(array, undefined$1, comparator) : [];
        }
        function unzip(array) {
          if (!(array && array.length)) {
            return [];
          }
          var length = 0;
          array = arrayFilter(array, function(group) {
            if (isArrayLikeObject(group)) {
              length = nativeMax(group.length, length);
              return true;
            }
          });
          return baseTimes(length, function(index2) {
            return arrayMap(array, baseProperty(index2));
          });
        }
        function unzipWith(array, iteratee2) {
          if (!(array && array.length)) {
            return [];
          }
          var result2 = unzip(array);
          if (iteratee2 == null) {
            return result2;
          }
          return arrayMap(result2, function(group) {
            return apply2(iteratee2, undefined$1, group);
          });
        }
        var without = baseRest(function(array, values2) {
          return isArrayLikeObject(array) ? baseDifference(array, values2) : [];
        });
        var xor = baseRest(function(arrays) {
          return baseXor(arrayFilter(arrays, isArrayLikeObject));
        });
        var xorBy = baseRest(function(arrays) {
          var iteratee2 = last(arrays);
          if (isArrayLikeObject(iteratee2)) {
            iteratee2 = undefined$1;
          }
          return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee2, 2));
        });
        var xorWith = baseRest(function(arrays) {
          var comparator = last(arrays);
          comparator = typeof comparator == "function" ? comparator : undefined$1;
          return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined$1, comparator);
        });
        var zip = baseRest(unzip);
        function zipObject(props, values2) {
          return baseZipObject(props || [], values2 || [], assignValue);
        }
        function zipObjectDeep(props, values2) {
          return baseZipObject(props || [], values2 || [], baseSet);
        }
        var zipWith = baseRest(function(arrays) {
          var length = arrays.length, iteratee2 = length > 1 ? arrays[length - 1] : undefined$1;
          iteratee2 = typeof iteratee2 == "function" ? (arrays.pop(), iteratee2) : undefined$1;
          return unzipWith(arrays, iteratee2);
        });
        function chain(value2) {
          var result2 = lodash2(value2);
          result2.__chain__ = true;
          return result2;
        }
        function tap(value2, interceptor) {
          interceptor(value2);
          return value2;
        }
        function thru(value2, interceptor) {
          return interceptor(value2);
        }
        var wrapperAt = flatRest(function(paths) {
          var length = paths.length, start = length ? paths[0] : 0, value2 = this.__wrapped__, interceptor = function(object) {
            return baseAt(object, paths);
          };
          if (length > 1 || this.__actions__.length || !(value2 instanceof LazyWrapper) || !isIndex(start)) {
            return this.thru(interceptor);
          }
          value2 = value2.slice(start, +start + (length ? 1 : 0));
          value2.__actions__.push({
            "func": thru,
            "args": [interceptor],
            "thisArg": undefined$1
          });
          return new LodashWrapper(value2, this.__chain__).thru(function(array) {
            if (length && !array.length) {
              array.push(undefined$1);
            }
            return array;
          });
        });
        function wrapperChain() {
          return chain(this);
        }
        function wrapperCommit() {
          return new LodashWrapper(this.value(), this.__chain__);
        }
        function wrapperNext() {
          if (this.__values__ === undefined$1) {
            this.__values__ = toArray2(this.value());
          }
          var done = this.__index__ >= this.__values__.length, value2 = done ? undefined$1 : this.__values__[this.__index__++];
          return { "done": done, "value": value2 };
        }
        function wrapperToIterator() {
          return this;
        }
        function wrapperPlant(value2) {
          var result2, parent2 = this;
          while (parent2 instanceof baseLodash) {
            var clone2 = wrapperClone(parent2);
            clone2.__index__ = 0;
            clone2.__values__ = undefined$1;
            if (result2) {
              previous.__wrapped__ = clone2;
            } else {
              result2 = clone2;
            }
            var previous = clone2;
            parent2 = parent2.__wrapped__;
          }
          previous.__wrapped__ = value2;
          return result2;
        }
        function wrapperReverse() {
          var value2 = this.__wrapped__;
          if (value2 instanceof LazyWrapper) {
            var wrapped = value2;
            if (this.__actions__.length) {
              wrapped = new LazyWrapper(this);
            }
            wrapped = wrapped.reverse();
            wrapped.__actions__.push({
              "func": thru,
              "args": [reverse],
              "thisArg": undefined$1
            });
            return new LodashWrapper(wrapped, this.__chain__);
          }
          return this.thru(reverse);
        }
        function wrapperValue() {
          return baseWrapperValue(this.__wrapped__, this.__actions__);
        }
        var countBy = createAggregator(function(result2, value2, key) {
          if (hasOwnProperty2.call(result2, key)) {
            ++result2[key];
          } else {
            baseAssignValue(result2, key, 1);
          }
        });
        function every(collection, predicate, guard) {
          var func = isArray2(collection) ? arrayEvery : baseEvery;
          if (guard && isIterateeCall(collection, predicate, guard)) {
            predicate = undefined$1;
          }
          return func(collection, getIteratee(predicate, 3));
        }
        function filter2(collection, predicate) {
          var func = isArray2(collection) ? arrayFilter : baseFilter;
          return func(collection, getIteratee(predicate, 3));
        }
        var find2 = createFind(findIndex2);
        var findLast = createFind(findLastIndex);
        function flatMap(collection, iteratee2) {
          return baseFlatten(map(collection, iteratee2), 1);
        }
        function flatMapDeep(collection, iteratee2) {
          return baseFlatten(map(collection, iteratee2), INFINITY);
        }
        function flatMapDepth(collection, iteratee2, depth) {
          depth = depth === undefined$1 ? 1 : toInteger(depth);
          return baseFlatten(map(collection, iteratee2), depth);
        }
        function forEach2(collection, iteratee2) {
          var func = isArray2(collection) ? arrayEach : baseEach;
          return func(collection, getIteratee(iteratee2, 3));
        }
        function forEachRight(collection, iteratee2) {
          var func = isArray2(collection) ? arrayEachRight : baseEachRight;
          return func(collection, getIteratee(iteratee2, 3));
        }
        var groupBy = createAggregator(function(result2, value2, key) {
          if (hasOwnProperty2.call(result2, key)) {
            result2[key].push(value2);
          } else {
            baseAssignValue(result2, key, [value2]);
          }
        });
        function includes(collection, value2, fromIndex, guard) {
          collection = isArrayLike(collection) ? collection : values(collection);
          fromIndex = fromIndex && !guard ? toInteger(fromIndex) : 0;
          var length = collection.length;
          if (fromIndex < 0) {
            fromIndex = nativeMax(length + fromIndex, 0);
          }
          return isString2(collection) ? fromIndex <= length && collection.indexOf(value2, fromIndex) > -1 : !!length && baseIndexOf(collection, value2, fromIndex) > -1;
        }
        var invokeMap = baseRest(function(collection, path, args) {
          var index2 = -1, isFunc = typeof path == "function", result2 = isArrayLike(collection) ? Array2(collection.length) : [];
          baseEach(collection, function(value2) {
            result2[++index2] = isFunc ? apply2(path, value2, args) : baseInvoke(value2, path, args);
          });
          return result2;
        });
        var keyBy = createAggregator(function(result2, value2, key) {
          baseAssignValue(result2, key, value2);
        });
        function map(collection, iteratee2) {
          var func = isArray2(collection) ? arrayMap : baseMap;
          return func(collection, getIteratee(iteratee2, 3));
        }
        function orderBy(collection, iteratees, orders, guard) {
          if (collection == null) {
            return [];
          }
          if (!isArray2(iteratees)) {
            iteratees = iteratees == null ? [] : [iteratees];
          }
          orders = guard ? undefined$1 : orders;
          if (!isArray2(orders)) {
            orders = orders == null ? [] : [orders];
          }
          return baseOrderBy(collection, iteratees, orders);
        }
        var partition = createAggregator(function(result2, value2, key) {
          result2[key ? 0 : 1].push(value2);
        }, function() {
          return [[], []];
        });
        function reduce2(collection, iteratee2, accumulator) {
          var func = isArray2(collection) ? arrayReduce : baseReduce, initAccum = arguments.length < 3;
          return func(collection, getIteratee(iteratee2, 4), accumulator, initAccum, baseEach);
        }
        function reduceRight(collection, iteratee2, accumulator) {
          var func = isArray2(collection) ? arrayReduceRight : baseReduce, initAccum = arguments.length < 3;
          return func(collection, getIteratee(iteratee2, 4), accumulator, initAccum, baseEachRight);
        }
        function reject(collection, predicate) {
          var func = isArray2(collection) ? arrayFilter : baseFilter;
          return func(collection, negate(getIteratee(predicate, 3)));
        }
        function sample(collection) {
          var func = isArray2(collection) ? arraySample : baseSample;
          return func(collection);
        }
        function sampleSize(collection, n, guard) {
          if (guard ? isIterateeCall(collection, n, guard) : n === undefined$1) {
            n = 1;
          } else {
            n = toInteger(n);
          }
          var func = isArray2(collection) ? arraySampleSize : baseSampleSize;
          return func(collection, n);
        }
        function shuffle(collection) {
          var func = isArray2(collection) ? arrayShuffle : baseShuffle;
          return func(collection);
        }
        function size(collection) {
          if (collection == null) {
            return 0;
          }
          if (isArrayLike(collection)) {
            return isString2(collection) ? stringSize(collection) : collection.length;
          }
          var tag = getTag(collection);
          if (tag == mapTag || tag == setTag) {
            return collection.size;
          }
          return baseKeys(collection).length;
        }
        function some(collection, predicate, guard) {
          var func = isArray2(collection) ? arraySome : baseSome;
          if (guard && isIterateeCall(collection, predicate, guard)) {
            predicate = undefined$1;
          }
          return func(collection, getIteratee(predicate, 3));
        }
        var sortBy = baseRest(function(collection, iteratees) {
          if (collection == null) {
            return [];
          }
          var length = iteratees.length;
          if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {
            iteratees = [];
          } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {
            iteratees = [iteratees[0]];
          }
          return baseOrderBy(collection, baseFlatten(iteratees, 1), []);
        });
        var now = ctxNow || function() {
          return root7.Date.now();
        };
        function after(n, func) {
          if (typeof func != "function") {
            throw new TypeError2(FUNC_ERROR_TEXT);
          }
          n = toInteger(n);
          return function() {
            if (--n < 1) {
              return func.apply(this, arguments);
            }
          };
        }
        function ary(func, n, guard) {
          n = guard ? undefined$1 : n;
          n = func && n == null ? func.length : n;
          return createWrap(func, WRAP_ARY_FLAG, undefined$1, undefined$1, undefined$1, undefined$1, n);
        }
        function before(n, func) {
          var result2;
          if (typeof func != "function") {
            throw new TypeError2(FUNC_ERROR_TEXT);
          }
          n = toInteger(n);
          return function() {
            if (--n > 0) {
              result2 = func.apply(this, arguments);
            }
            if (n <= 1) {
              func = undefined$1;
            }
            return result2;
          };
        }
        var bind3 = baseRest(function(func, thisArg, partials) {
          var bitmask = WRAP_BIND_FLAG;
          if (partials.length) {
            var holders = replaceHolders(partials, getHolder(bind3));
            bitmask |= WRAP_PARTIAL_FLAG;
          }
          return createWrap(func, bitmask, thisArg, partials, holders);
        });
        var bindKey = baseRest(function(object, key, partials) {
          var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;
          if (partials.length) {
            var holders = replaceHolders(partials, getHolder(bindKey));
            bitmask |= WRAP_PARTIAL_FLAG;
          }
          return createWrap(key, bitmask, object, partials, holders);
        });
        function curry(func, arity, guard) {
          arity = guard ? undefined$1 : arity;
          var result2 = createWrap(func, WRAP_CURRY_FLAG, undefined$1, undefined$1, undefined$1, undefined$1, undefined$1, arity);
          result2.placeholder = curry.placeholder;
          return result2;
        }
        function curryRight(func, arity, guard) {
          arity = guard ? undefined$1 : arity;
          var result2 = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined$1, undefined$1, undefined$1, undefined$1, undefined$1, arity);
          result2.placeholder = curryRight.placeholder;
          return result2;
        }
        function debounce(func, wait, options) {
          var lastArgs, lastThis, maxWait, result2, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
          if (typeof func != "function") {
            throw new TypeError2(FUNC_ERROR_TEXT);
          }
          wait = toNumber2(wait) || 0;
          if (isObject2(options)) {
            leading = !!options.leading;
            maxing = "maxWait" in options;
            maxWait = maxing ? nativeMax(toNumber2(options.maxWait) || 0, wait) : maxWait;
            trailing = "trailing" in options ? !!options.trailing : trailing;
          }
          function invokeFunc(time) {
            var args = lastArgs, thisArg = lastThis;
            lastArgs = lastThis = undefined$1;
            lastInvokeTime = time;
            result2 = func.apply(thisArg, args);
            return result2;
          }
          function leadingEdge(time) {
            lastInvokeTime = time;
            timerId = setTimeout2(timerExpired, wait);
            return leading ? invokeFunc(time) : result2;
          }
          function remainingWait(time) {
            var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, timeWaiting = wait - timeSinceLastCall;
            return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;
          }
          function shouldInvoke(time) {
            var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime;
            return lastCallTime === undefined$1 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
          }
          function timerExpired() {
            var time = now();
            if (shouldInvoke(time)) {
              return trailingEdge(time);
            }
            timerId = setTimeout2(timerExpired, remainingWait(time));
          }
          function trailingEdge(time) {
            timerId = undefined$1;
            if (trailing && lastArgs) {
              return invokeFunc(time);
            }
            lastArgs = lastThis = undefined$1;
            return result2;
          }
          function cancel() {
            if (timerId !== undefined$1) {
              clearTimeout2(timerId);
            }
            lastInvokeTime = 0;
            lastArgs = lastCallTime = lastThis = timerId = undefined$1;
          }
          function flush() {
            return timerId === undefined$1 ? result2 : trailingEdge(now());
          }
          function debounced() {
            var time = now(), isInvoking = shouldInvoke(time);
            lastArgs = arguments;
            lastThis = this;
            lastCallTime = time;
            if (isInvoking) {
              if (timerId === undefined$1) {
                return leadingEdge(lastCallTime);
              }
              if (maxing) {
                clearTimeout2(timerId);
                timerId = setTimeout2(timerExpired, wait);
                return invokeFunc(lastCallTime);
              }
            }
            if (timerId === undefined$1) {
              timerId = setTimeout2(timerExpired, wait);
            }
            return result2;
          }
          debounced.cancel = cancel;
          debounced.flush = flush;
          return debounced;
        }
        var defer = baseRest(function(func, args) {
          return baseDelay(func, 1, args);
        });
        var delay = baseRest(function(func, wait, args) {
          return baseDelay(func, toNumber2(wait) || 0, args);
        });
        function flip(func) {
          return createWrap(func, WRAP_FLIP_FLAG);
        }
        function memoize(func, resolver) {
          if (typeof func != "function" || resolver != null && typeof resolver != "function") {
            throw new TypeError2(FUNC_ERROR_TEXT);
          }
          var memoized = function() {
            var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;
            if (cache.has(key)) {
              return cache.get(key);
            }
            var result2 = func.apply(this, args);
            memoized.cache = cache.set(key, result2) || cache;
            return result2;
          };
          memoized.cache = new (memoize.Cache || MapCache)();
          return memoized;
        }
        memoize.Cache = MapCache;
        function negate(predicate) {
          if (typeof predicate != "function") {
            throw new TypeError2(FUNC_ERROR_TEXT);
          }
          return function() {
            var args = arguments;
            switch (args.length) {
              case 0:
                return !predicate.call(this);
              case 1:
                return !predicate.call(this, args[0]);
              case 2:
                return !predicate.call(this, args[0], args[1]);
              case 3:
                return !predicate.call(this, args[0], args[1], args[2]);
            }
            return !predicate.apply(this, args);
          };
        }
        function once(func) {
          return before(2, func);
        }
        var overArgs = castRest(function(func, transforms) {
          transforms = transforms.length == 1 && isArray2(transforms[0]) ? arrayMap(transforms[0], baseUnary(getIteratee())) : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));
          var funcsLength = transforms.length;
          return baseRest(function(args) {
            var index2 = -1, length = nativeMin(args.length, funcsLength);
            while (++index2 < length) {
              args[index2] = transforms[index2].call(this, args[index2]);
            }
            return apply2(func, this, args);
          });
        });
        var partial = baseRest(function(func, partials) {
          var holders = replaceHolders(partials, getHolder(partial));
          return createWrap(func, WRAP_PARTIAL_FLAG, undefined$1, partials, holders);
        });
        var partialRight = baseRest(function(func, partials) {
          var holders = replaceHolders(partials, getHolder(partialRight));
          return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined$1, partials, holders);
        });
        var rearg = flatRest(function(func, indexes) {
          return createWrap(func, WRAP_REARG_FLAG, undefined$1, undefined$1, undefined$1, indexes);
        });
        function rest(func, start) {
          if (typeof func != "function") {
            throw new TypeError2(FUNC_ERROR_TEXT);
          }
          start = start === undefined$1 ? start : toInteger(start);
          return baseRest(func, start);
        }
        function spread2(func, start) {
          if (typeof func != "function") {
            throw new TypeError2(FUNC_ERROR_TEXT);
          }
          start = start == null ? 0 : nativeMax(toInteger(start), 0);
          return baseRest(function(args) {
            var array = args[start], otherArgs = castSlice(args, 0, start);
            if (array) {
              arrayPush(otherArgs, array);
            }
            return apply2(func, this, otherArgs);
          });
        }
        function throttle2(func, wait, options) {
          var leading = true, trailing = true;
          if (typeof func != "function") {
            throw new TypeError2(FUNC_ERROR_TEXT);
          }
          if (isObject2(options)) {
            leading = "leading" in options ? !!options.leading : leading;
            trailing = "trailing" in options ? !!options.trailing : trailing;
          }
          return debounce(func, wait, {
            "leading": leading,
            "maxWait": wait,
            "trailing": trailing
          });
        }
        function unary(func) {
          return ary(func, 1);
        }
        function wrap(value2, wrapper) {
          return partial(castFunction(wrapper), value2);
        }
        function castArray() {
          if (!arguments.length) {
            return [];
          }
          var value2 = arguments[0];
          return isArray2(value2) ? value2 : [value2];
        }
        function clone(value2) {
          return baseClone(value2, CLONE_SYMBOLS_FLAG);
        }
        function cloneWith(value2, customizer) {
          customizer = typeof customizer == "function" ? customizer : undefined$1;
          return baseClone(value2, CLONE_SYMBOLS_FLAG, customizer);
        }
        function cloneDeep(value2) {
          return baseClone(value2, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
        }
        function cloneDeepWith(value2, customizer) {
          customizer = typeof customizer == "function" ? customizer : undefined$1;
          return baseClone(value2, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);
        }
        function conformsTo(object, source) {
          return source == null || baseConformsTo(object, source, keys(source));
        }
        function eq(value2, other) {
          return value2 === other || value2 !== value2 && other !== other;
        }
        var gt = createRelationalOperation(baseGt);
        var gte = createRelationalOperation(function(value2, other) {
          return value2 >= other;
        });
        var isArguments = baseIsArguments(/* @__PURE__ */ function() {
          return arguments;
        }()) ? baseIsArguments : function(value2) {
          return isObjectLike(value2) && hasOwnProperty2.call(value2, "callee") && !propertyIsEnumerable.call(value2, "callee");
        };
        var isArray2 = Array2.isArray;
        var isArrayBuffer2 = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;
        function isArrayLike(value2) {
          return value2 != null && isLength(value2.length) && !isFunction2(value2);
        }
        function isArrayLikeObject(value2) {
          return isObjectLike(value2) && isArrayLike(value2);
        }
        function isBoolean2(value2) {
          return value2 === true || value2 === false || isObjectLike(value2) && baseGetTag(value2) == boolTag;
        }
        var isBuffer2 = nativeIsBuffer || stubFalse;
        var isDate2 = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;
        function isElement2(value2) {
          return isObjectLike(value2) && value2.nodeType === 1 && !isPlainObject2(value2);
        }
        function isEmpty2(value2) {
          if (value2 == null) {
            return true;
          }
          if (isArrayLike(value2) && (isArray2(value2) || typeof value2 == "string" || typeof value2.splice == "function" || isBuffer2(value2) || isTypedArray2(value2) || isArguments(value2))) {
            return !value2.length;
          }
          var tag = getTag(value2);
          if (tag == mapTag || tag == setTag) {
            return !value2.size;
          }
          if (isPrototype(value2)) {
            return !baseKeys(value2).length;
          }
          for (var key in value2) {
            if (hasOwnProperty2.call(value2, key)) {
              return false;
            }
          }
          return true;
        }
        function isEqual(value2, other) {
          return baseIsEqual(value2, other);
        }
        function isEqualWith(value2, other, customizer) {
          customizer = typeof customizer == "function" ? customizer : undefined$1;
          var result2 = customizer ? customizer(value2, other) : undefined$1;
          return result2 === undefined$1 ? baseIsEqual(value2, other, undefined$1, customizer) : !!result2;
        }
        function isError(value2) {
          if (!isObjectLike(value2)) {
            return false;
          }
          var tag = baseGetTag(value2);
          return tag == errorTag || tag == domExcTag || typeof value2.message == "string" && typeof value2.name == "string" && !isPlainObject2(value2);
        }
        function isFinite2(value2) {
          return typeof value2 == "number" && nativeIsFinite(value2);
        }
        function isFunction2(value2) {
          if (!isObject2(value2)) {
            return false;
          }
          var tag = baseGetTag(value2);
          return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
        }
        function isInteger(value2) {
          return typeof value2 == "number" && value2 == toInteger(value2);
        }
        function isLength(value2) {
          return typeof value2 == "number" && value2 > -1 && value2 % 1 == 0 && value2 <= MAX_SAFE_INTEGER;
        }
        function isObject2(value2) {
          var type = typeof value2;
          return value2 != null && (type == "object" || type == "function");
        }
        function isObjectLike(value2) {
          return value2 != null && typeof value2 == "object";
        }
        var isMap2 = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;
        function isMatch(object, source) {
          return object === source || baseIsMatch(object, source, getMatchData(source));
        }
        function isMatchWith(object, source, customizer) {
          customizer = typeof customizer == "function" ? customizer : undefined$1;
          return baseIsMatch(object, source, getMatchData(source), customizer);
        }
        function isNaN2(value2) {
          return isNumber2(value2) && value2 != +value2;
        }
        function isNative(value2) {
          if (isMaskable(value2)) {
            throw new Error2(CORE_ERROR_TEXT);
          }
          return baseIsNative(value2);
        }
        function isNull(value2) {
          return value2 === null;
        }
        function isNil(value2) {
          return value2 == null;
        }
        function isNumber2(value2) {
          return typeof value2 == "number" || isObjectLike(value2) && baseGetTag(value2) == numberTag;
        }
        function isPlainObject2(value2) {
          if (!isObjectLike(value2) || baseGetTag(value2) != objectTag) {
            return false;
          }
          var proto = getPrototype(value2);
          if (proto === null) {
            return true;
          }
          var Ctor = hasOwnProperty2.call(proto, "constructor") && proto.constructor;
          return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
        }
        var isRegExp2 = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;
        function isSafeInteger(value2) {
          return isInteger(value2) && value2 >= -9007199254740991 && value2 <= MAX_SAFE_INTEGER;
        }
        var isSet2 = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;
        function isString2(value2) {
          return typeof value2 == "string" || !isArray2(value2) && isObjectLike(value2) && baseGetTag(value2) == stringTag;
        }
        function isSymbol2(value2) {
          return typeof value2 == "symbol" || isObjectLike(value2) && baseGetTag(value2) == symbolTag;
        }
        var isTypedArray2 = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
        function isUndefined2(value2) {
          return value2 === undefined$1;
        }
        function isWeakMap(value2) {
          return isObjectLike(value2) && getTag(value2) == weakMapTag;
        }
        function isWeakSet(value2) {
          return isObjectLike(value2) && baseGetTag(value2) == weakSetTag;
        }
        var lt2 = createRelationalOperation(baseLt);
        var lte = createRelationalOperation(function(value2, other) {
          return value2 <= other;
        });
        function toArray2(value2) {
          if (!value2) {
            return [];
          }
          if (isArrayLike(value2)) {
            return isString2(value2) ? stringToArray(value2) : copyArray(value2);
          }
          if (symIterator && value2[symIterator]) {
            return iteratorToArray(value2[symIterator]());
          }
          var tag = getTag(value2), func = tag == mapTag ? mapToArray : tag == setTag ? setToArray : values;
          return func(value2);
        }
        function toFinite(value2) {
          if (!value2) {
            return value2 === 0 ? value2 : 0;
          }
          value2 = toNumber2(value2);
          if (value2 === INFINITY || value2 === -Infinity) {
            var sign = value2 < 0 ? -1 : 1;
            return sign * MAX_INTEGER;
          }
          return value2 === value2 ? value2 : 0;
        }
        function toInteger(value2) {
          var result2 = toFinite(value2), remainder = result2 % 1;
          return result2 === result2 ? remainder ? result2 - remainder : result2 : 0;
        }
        function toLength(value2) {
          return value2 ? baseClamp(toInteger(value2), 0, MAX_ARRAY_LENGTH) : 0;
        }
        function toNumber2(value2) {
          if (typeof value2 == "number") {
            return value2;
          }
          if (isSymbol2(value2)) {
            return NAN;
          }
          if (isObject2(value2)) {
            var other = typeof value2.valueOf == "function" ? value2.valueOf() : value2;
            value2 = isObject2(other) ? other + "" : other;
          }
          if (typeof value2 != "string") {
            return value2 === 0 ? value2 : +value2;
          }
          value2 = baseTrim(value2);
          var isBinary = reIsBinary.test(value2);
          return isBinary || reIsOctal.test(value2) ? freeParseInt(value2.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value2) ? NAN : +value2;
        }
        function toPlainObject(value2) {
          return copyObject(value2, keysIn(value2));
        }
        function toSafeInteger(value2) {
          return value2 ? baseClamp(toInteger(value2), -9007199254740991, MAX_SAFE_INTEGER) : value2 === 0 ? value2 : 0;
        }
        function toString3(value2) {
          return value2 == null ? "" : baseToString(value2);
        }
        var assign2 = createAssigner(function(object, source) {
          if (isPrototype(source) || isArrayLike(source)) {
            copyObject(source, keys(source), object);
            return;
          }
          for (var key in source) {
            if (hasOwnProperty2.call(source, key)) {
              assignValue(object, key, source[key]);
            }
          }
        });
        var assignIn = createAssigner(function(object, source) {
          copyObject(source, keysIn(source), object);
        });
        var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {
          copyObject(source, keysIn(source), object, customizer);
        });
        var assignWith = createAssigner(function(object, source, srcIndex, customizer) {
          copyObject(source, keys(source), object, customizer);
        });
        var at = flatRest(baseAt);
        function create2(prototype2, properties) {
          var result2 = baseCreate(prototype2);
          return properties == null ? result2 : baseAssign(result2, properties);
        }
        var defaults2 = baseRest(function(object, sources) {
          object = Object2(object);
          var index2 = -1;
          var length = sources.length;
          var guard = length > 2 ? sources[2] : undefined$1;
          if (guard && isIterateeCall(sources[0], sources[1], guard)) {
            length = 1;
          }
          while (++index2 < length) {
            var source = sources[index2];
            var props = keysIn(source);
            var propsIndex = -1;
            var propsLength = props.length;
            while (++propsIndex < propsLength) {
              var key = props[propsIndex];
              var value2 = object[key];
              if (value2 === undefined$1 || eq(value2, objectProto[key]) && !hasOwnProperty2.call(object, key)) {
                object[key] = source[key];
              }
            }
          }
          return object;
        });
        var defaultsDeep = baseRest(function(args) {
          args.push(undefined$1, customDefaultsMerge);
          return apply2(mergeWith, undefined$1, args);
        });
        function findKey2(object, predicate) {
          return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);
        }
        function findLastKey(object, predicate) {
          return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);
        }
        function forIn(object, iteratee2) {
          return object == null ? object : baseFor(object, getIteratee(iteratee2, 3), keysIn);
        }
        function forInRight(object, iteratee2) {
          return object == null ? object : baseForRight(object, getIteratee(iteratee2, 3), keysIn);
        }
        function forOwn(object, iteratee2) {
          return object && baseForOwn(object, getIteratee(iteratee2, 3));
        }
        function forOwnRight(object, iteratee2) {
          return object && baseForOwnRight(object, getIteratee(iteratee2, 3));
        }
        function functions2(object) {
          return object == null ? [] : baseFunctions(object, keys(object));
        }
        function functionsIn(object) {
          return object == null ? [] : baseFunctions(object, keysIn(object));
        }
        function get2(object, path, defaultValue) {
          var result2 = object == null ? undefined$1 : baseGet(object, path);
          return result2 === undefined$1 ? defaultValue : result2;
        }
        function has(object, path) {
          return object != null && hasPath(object, path, baseHas);
        }
        function hasIn(object, path) {
          return object != null && hasPath(object, path, baseHasIn);
        }
        var invert = createInverter(function(result2, value2, key) {
          if (value2 != null && typeof value2.toString != "function") {
            value2 = nativeObjectToString.call(value2);
          }
          result2[value2] = key;
        }, constant(identity));
        var invertBy = createInverter(function(result2, value2, key) {
          if (value2 != null && typeof value2.toString != "function") {
            value2 = nativeObjectToString.call(value2);
          }
          if (hasOwnProperty2.call(result2, value2)) {
            result2[value2].push(key);
          } else {
            result2[value2] = [key];
          }
        }, getIteratee);
        var invoke = baseRest(baseInvoke);
        function keys(object) {
          return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
        }
        function keysIn(object) {
          return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
        }
        function mapKeys(object, iteratee2) {
          var result2 = {};
          iteratee2 = getIteratee(iteratee2, 3);
          baseForOwn(object, function(value2, key, object2) {
            baseAssignValue(result2, iteratee2(value2, key, object2), value2);
          });
          return result2;
        }
        function mapValues(object, iteratee2) {
          var result2 = {};
          iteratee2 = getIteratee(iteratee2, 3);
          baseForOwn(object, function(value2, key, object2) {
            baseAssignValue(result2, key, iteratee2(value2, key, object2));
          });
          return result2;
        }
        var merge2 = createAssigner(function(object, source, srcIndex) {
          baseMerge(object, source, srcIndex);
        });
        var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {
          baseMerge(object, source, srcIndex, customizer);
        });
        var omit = flatRest(function(object, paths) {
          var result2 = {};
          if (object == null) {
            return result2;
          }
          var isDeep = false;
          paths = arrayMap(paths, function(path) {
            path = castPath(path, object);
            isDeep || (isDeep = path.length > 1);
            return path;
          });
          copyObject(object, getAllKeysIn(object), result2);
          if (isDeep) {
            result2 = baseClone(result2, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);
          }
          var length = paths.length;
          while (length--) {
            baseUnset(result2, paths[length]);
          }
          return result2;
        });
        function omitBy(object, predicate) {
          return pickBy(object, negate(getIteratee(predicate)));
        }
        var pick = flatRest(function(object, paths) {
          return object == null ? {} : basePick(object, paths);
        });
        function pickBy(object, predicate) {
          if (object == null) {
            return {};
          }
          var props = arrayMap(getAllKeysIn(object), function(prop) {
            return [prop];
          });
          predicate = getIteratee(predicate);
          return basePickBy(object, props, function(value2, path) {
            return predicate(value2, path[0]);
          });
        }
        function result(object, path, defaultValue) {
          path = castPath(path, object);
          var index2 = -1, length = path.length;
          if (!length) {
            length = 1;
            object = undefined$1;
          }
          while (++index2 < length) {
            var value2 = object == null ? undefined$1 : object[toKey(path[index2])];
            if (value2 === undefined$1) {
              index2 = length;
              value2 = defaultValue;
            }
            object = isFunction2(value2) ? value2.call(object) : value2;
          }
          return object;
        }
        function set2(object, path, value2) {
          return object == null ? object : baseSet(object, path, value2);
        }
        function setWith(object, path, value2, customizer) {
          customizer = typeof customizer == "function" ? customizer : undefined$1;
          return object == null ? object : baseSet(object, path, value2, customizer);
        }
        var toPairs = createToPairs(keys);
        var toPairsIn = createToPairs(keysIn);
        function transform(object, iteratee2, accumulator) {
          var isArr = isArray2(object), isArrLike = isArr || isBuffer2(object) || isTypedArray2(object);
          iteratee2 = getIteratee(iteratee2, 4);
          if (accumulator == null) {
            var Ctor = object && object.constructor;
            if (isArrLike) {
              accumulator = isArr ? new Ctor() : [];
            } else if (isObject2(object)) {
              accumulator = isFunction2(Ctor) ? baseCreate(getPrototype(object)) : {};
            } else {
              accumulator = {};
            }
          }
          (isArrLike ? arrayEach : baseForOwn)(object, function(value2, index2, object2) {
            return iteratee2(accumulator, value2, index2, object2);
          });
          return accumulator;
        }
        function unset2(object, path) {
          return object == null ? true : baseUnset(object, path);
        }
        function update(object, path, updater) {
          return object == null ? object : baseUpdate(object, path, castFunction(updater));
        }
        function updateWith(object, path, updater, customizer) {
          customizer = typeof customizer == "function" ? customizer : undefined$1;
          return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);
        }
        function values(object) {
          return object == null ? [] : baseValues(object, keys(object));
        }
        function valuesIn(object) {
          return object == null ? [] : baseValues(object, keysIn(object));
        }
        function clamp(number, lower, upper) {
          if (upper === undefined$1) {
            upper = lower;
            lower = undefined$1;
          }
          if (upper !== undefined$1) {
            upper = toNumber2(upper);
            upper = upper === upper ? upper : 0;
          }
          if (lower !== undefined$1) {
            lower = toNumber2(lower);
            lower = lower === lower ? lower : 0;
          }
          return baseClamp(toNumber2(number), lower, upper);
        }
        function inRange(number, start, end2) {
          start = toFinite(start);
          if (end2 === undefined$1) {
            end2 = start;
            start = 0;
          } else {
            end2 = toFinite(end2);
          }
          number = toNumber2(number);
          return baseInRange(number, start, end2);
        }
        function random(lower, upper, floating) {
          if (floating && typeof floating != "boolean" && isIterateeCall(lower, upper, floating)) {
            upper = floating = undefined$1;
          }
          if (floating === undefined$1) {
            if (typeof upper == "boolean") {
              floating = upper;
              upper = undefined$1;
            } else if (typeof lower == "boolean") {
              floating = lower;
              lower = undefined$1;
            }
          }
          if (lower === undefined$1 && upper === undefined$1) {
            lower = 0;
            upper = 1;
          } else {
            lower = toFinite(lower);
            if (upper === undefined$1) {
              upper = lower;
              lower = 0;
            } else {
              upper = toFinite(upper);
            }
          }
          if (lower > upper) {
            var temp = lower;
            lower = upper;
            upper = temp;
          }
          if (floating || lower % 1 || upper % 1) {
            var rand = nativeRandom();
            return nativeMin(lower + rand * (upper - lower + freeParseFloat("1e-" + ((rand + "").length - 1))), upper);
          }
          return baseRandom(lower, upper);
        }
        var camelCase = createCompounder(function(result2, word, index2) {
          word = word.toLowerCase();
          return result2 + (index2 ? capitalize2(word) : word);
        });
        function capitalize2(string) {
          return upperFirst(toString3(string).toLowerCase());
        }
        function deburr(string) {
          string = toString3(string);
          return string && string.replace(reLatin, deburrLetter).replace(reComboMark, "");
        }
        function endsWith2(string, target, position) {
          string = toString3(string);
          target = baseToString(target);
          var length = string.length;
          position = position === undefined$1 ? length : baseClamp(toInteger(position), 0, length);
          var end2 = position;
          position -= target.length;
          return position >= 0 && string.slice(position, end2) == target;
        }
        function escape(string) {
          string = toString3(string);
          return string && reHasUnescapedHtml.test(string) ? string.replace(reUnescapedHtml, escapeHtmlChar) : string;
        }
        function escapeRegExp(string) {
          string = toString3(string);
          return string && reHasRegExpChar.test(string) ? string.replace(reRegExpChar, "\\$&") : string;
        }
        var kebabCase = createCompounder(function(result2, word, index2) {
          return result2 + (index2 ? "-" : "") + word.toLowerCase();
        });
        var lowerCase = createCompounder(function(result2, word, index2) {
          return result2 + (index2 ? " " : "") + word.toLowerCase();
        });
        var lowerFirst = createCaseFirst("toLowerCase");
        function pad(string, length, chars) {
          string = toString3(string);
          length = toInteger(length);
          var strLength = length ? stringSize(string) : 0;
          if (!length || strLength >= length) {
            return string;
          }
          var mid = (length - strLength) / 2;
          return createPadding(nativeFloor(mid), chars) + string + createPadding(nativeCeil(mid), chars);
        }
        function padEnd(string, length, chars) {
          string = toString3(string);
          length = toInteger(length);
          var strLength = length ? stringSize(string) : 0;
          return length && strLength < length ? string + createPadding(length - strLength, chars) : string;
        }
        function padStart(string, length, chars) {
          string = toString3(string);
          length = toInteger(length);
          var strLength = length ? stringSize(string) : 0;
          return length && strLength < length ? createPadding(length - strLength, chars) + string : string;
        }
        function parseInt2(string, radix, guard) {
          if (guard || radix == null) {
            radix = 0;
          } else if (radix) {
            radix = +radix;
          }
          return nativeParseInt(toString3(string).replace(reTrimStart, ""), radix || 0);
        }
        function repeat(string, n, guard) {
          if (guard ? isIterateeCall(string, n, guard) : n === undefined$1) {
            n = 1;
          } else {
            n = toInteger(n);
          }
          return baseRepeat(toString3(string), n);
        }
        function replace2() {
          var args = arguments, string = toString3(args[0]);
          return args.length < 3 ? string : string.replace(args[1], args[2]);
        }
        var snakeCase = createCompounder(function(result2, word, index2) {
          return result2 + (index2 ? "_" : "") + word.toLowerCase();
        });
        function split(string, separator, limit) {
          if (limit && typeof limit != "number" && isIterateeCall(string, separator, limit)) {
            separator = limit = undefined$1;
          }
          limit = limit === undefined$1 ? MAX_ARRAY_LENGTH : limit >>> 0;
          if (!limit) {
            return [];
          }
          string = toString3(string);
          if (string && (typeof separator == "string" || separator != null && !isRegExp2(separator))) {
            separator = baseToString(separator);
            if (!separator && hasUnicode(string)) {
              return castSlice(stringToArray(string), 0, limit);
            }
          }
          return string.split(separator, limit);
        }
        var startCase = createCompounder(function(result2, word, index2) {
          return result2 + (index2 ? " " : "") + upperFirst(word);
        });
        function startsWith(string, target, position) {
          string = toString3(string);
          position = position == null ? 0 : baseClamp(toInteger(position), 0, string.length);
          target = baseToString(target);
          return string.slice(position, position + target.length) == target;
        }
        function template(string, options, guard) {
          var settings = lodash2.templateSettings;
          if (guard && isIterateeCall(string, options, guard)) {
            options = undefined$1;
          }
          string = toString3(string);
          options = assignInWith({}, options, settings, customDefaultsAssignIn);
          var imports = assignInWith({}, options.imports, settings.imports, customDefaultsAssignIn), importsKeys = keys(imports), importsValues = baseValues(imports, importsKeys);
          var isEscaping, isEvaluating, index2 = 0, interpolate = options.interpolate || reNoMatch, source = "__p += '";
          var reDelimiters = RegExp2(
            (options.escape || reNoMatch).source + "|" + interpolate.source + "|" + (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + "|" + (options.evaluate || reNoMatch).source + "|$",
            "g"
          );
          var sourceURL = "//# sourceURL=" + (hasOwnProperty2.call(options, "sourceURL") ? (options.sourceURL + "").replace(/\s/g, " ") : "lodash.templateSources[" + ++templateCounter + "]") + "\n";
          string.replace(reDelimiters, function(match2, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) {
            interpolateValue || (interpolateValue = esTemplateValue);
            source += string.slice(index2, offset).replace(reUnescapedString, escapeStringChar);
            if (escapeValue) {
              isEscaping = true;
              source += "' +\n__e(" + escapeValue + ") +\n'";
            }
            if (evaluateValue) {
              isEvaluating = true;
              source += "';\n" + evaluateValue + ";\n__p += '";
            }
            if (interpolateValue) {
              source += "' +\n((__t = (" + interpolateValue + ")) == null ? '' : __t) +\n'";
            }
            index2 = offset + match2.length;
            return match2;
          });
          source += "';\n";
          var variable = hasOwnProperty2.call(options, "variable") && options.variable;
          if (!variable) {
            source = "with (obj) {\n" + source + "\n}\n";
          } else if (reForbiddenIdentifierChars.test(variable)) {
            throw new Error2(INVALID_TEMPL_VAR_ERROR_TEXT);
          }
          source = (isEvaluating ? source.replace(reEmptyStringLeading, "") : source).replace(reEmptyStringMiddle, "$1").replace(reEmptyStringTrailing, "$1;");
          source = "function(" + (variable || "obj") + ") {\n" + (variable ? "" : "obj || (obj = {});\n") + "var __t, __p = ''" + (isEscaping ? ", __e = _.escape" : "") + (isEvaluating ? ", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n" : ";\n") + source + "return __p\n}";
          var result2 = attempt(function() {
            return Function2(importsKeys, sourceURL + "return " + source).apply(undefined$1, importsValues);
          });
          result2.source = source;
          if (isError(result2)) {
            throw result2;
          }
          return result2;
        }
        function toLower(value2) {
          return toString3(value2).toLowerCase();
        }
        function toUpper(value2) {
          return toString3(value2).toUpperCase();
        }
        function trim2(string, chars, guard) {
          string = toString3(string);
          if (string && (guard || chars === undefined$1)) {
            return baseTrim(string);
          }
          if (!string || !(chars = baseToString(chars))) {
            return string;
          }
          var strSymbols = stringToArray(string), chrSymbols = stringToArray(chars), start = charsStartIndex(strSymbols, chrSymbols), end2 = charsEndIndex(strSymbols, chrSymbols) + 1;
          return castSlice(strSymbols, start, end2).join("");
        }
        function trimEnd(string, chars, guard) {
          string = toString3(string);
          if (string && (guard || chars === undefined$1)) {
            return string.slice(0, trimmedEndIndex(string) + 1);
          }
          if (!string || !(chars = baseToString(chars))) {
            return string;
          }
          var strSymbols = stringToArray(string), end2 = charsEndIndex(strSymbols, stringToArray(chars)) + 1;
          return castSlice(strSymbols, 0, end2).join("");
        }
        function trimStart(string, chars, guard) {
          string = toString3(string);
          if (string && (guard || chars === undefined$1)) {
            return string.replace(reTrimStart, "");
          }
          if (!string || !(chars = baseToString(chars))) {
            return string;
          }
          var strSymbols = stringToArray(string), start = charsStartIndex(strSymbols, stringToArray(chars));
          return castSlice(strSymbols, start).join("");
        }
        function truncate(string, options) {
          var length = DEFAULT_TRUNC_LENGTH, omission = DEFAULT_TRUNC_OMISSION;
          if (isObject2(options)) {
            var separator = "separator" in options ? options.separator : separator;
            length = "length" in options ? toInteger(options.length) : length;
            omission = "omission" in options ? baseToString(options.omission) : omission;
          }
          string = toString3(string);
          var strLength = string.length;
          if (hasUnicode(string)) {
            var strSymbols = stringToArray(string);
            strLength = strSymbols.length;
          }
          if (length >= strLength) {
            return string;
          }
          var end2 = length - stringSize(omission);
          if (end2 < 1) {
            return omission;
          }
          var result2 = strSymbols ? castSlice(strSymbols, 0, end2).join("") : string.slice(0, end2);
          if (separator === undefined$1) {
            return result2 + omission;
          }
          if (strSymbols) {
            end2 += result2.length - end2;
          }
          if (isRegExp2(separator)) {
            if (string.slice(end2).search(separator)) {
              var match2, substring = result2;
              if (!separator.global) {
                separator = RegExp2(separator.source, toString3(reFlags.exec(separator)) + "g");
              }
              separator.lastIndex = 0;
              while (match2 = separator.exec(substring)) {
                var newEnd = match2.index;
              }
              result2 = result2.slice(0, newEnd === undefined$1 ? end2 : newEnd);
            }
          } else if (string.indexOf(baseToString(separator), end2) != end2) {
            var index2 = result2.lastIndexOf(separator);
            if (index2 > -1) {
              result2 = result2.slice(0, index2);
            }
          }
          return result2 + omission;
        }
        function unescape2(string) {
          string = toString3(string);
          return string && reHasEscapedHtml.test(string) ? string.replace(reEscapedHtml, unescapeHtmlChar) : string;
        }
        var upperCase = createCompounder(function(result2, word, index2) {
          return result2 + (index2 ? " " : "") + word.toUpperCase();
        });
        var upperFirst = createCaseFirst("toUpperCase");
        function words(string, pattern, guard) {
          string = toString3(string);
          pattern = guard ? undefined$1 : pattern;
          if (pattern === undefined$1) {
            return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);
          }
          return string.match(pattern) || [];
        }
        var attempt = baseRest(function(func, args) {
          try {
            return apply2(func, undefined$1, args);
          } catch (e) {
            return isError(e) ? e : new Error2(e);
          }
        });
        var bindAll = flatRest(function(object, methodNames) {
          arrayEach(methodNames, function(key) {
            key = toKey(key);
            baseAssignValue(object, key, bind3(object[key], object));
          });
          return object;
        });
        function cond(pairs) {
          var length = pairs == null ? 0 : pairs.length, toIteratee = getIteratee();
          pairs = !length ? [] : arrayMap(pairs, function(pair) {
            if (typeof pair[1] != "function") {
              throw new TypeError2(FUNC_ERROR_TEXT);
            }
            return [toIteratee(pair[0]), pair[1]];
          });
          return baseRest(function(args) {
            var index2 = -1;
            while (++index2 < length) {
              var pair = pairs[index2];
              if (apply2(pair[0], this, args)) {
                return apply2(pair[1], this, args);
              }
            }
          });
        }
        function conforms(source) {
          return baseConforms(baseClone(source, CLONE_DEEP_FLAG));
        }
        function constant(value2) {
          return function() {
            return value2;
          };
        }
        function defaultTo(value2, defaultValue) {
          return value2 == null || value2 !== value2 ? defaultValue : value2;
        }
        var flow = createFlow();
        var flowRight = createFlow(true);
        function identity(value2) {
          return value2;
        }
        function iteratee(func) {
          return baseIteratee(typeof func == "function" ? func : baseClone(func, CLONE_DEEP_FLAG));
        }
        function matches(source) {
          return baseMatches(baseClone(source, CLONE_DEEP_FLAG));
        }
        function matchesProperty(path, srcValue) {
          return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG));
        }
        var method = baseRest(function(path, args) {
          return function(object) {
            return baseInvoke(object, path, args);
          };
        });
        var methodOf = baseRest(function(object, args) {
          return function(path) {
            return baseInvoke(object, path, args);
          };
        });
        function mixin(object, source, options) {
          var props = keys(source), methodNames = baseFunctions(source, props);
          if (options == null && !(isObject2(source) && (methodNames.length || !props.length))) {
            options = source;
            source = object;
            object = this;
            methodNames = baseFunctions(source, keys(source));
          }
          var chain2 = !(isObject2(options) && "chain" in options) || !!options.chain, isFunc = isFunction2(object);
          arrayEach(methodNames, function(methodName) {
            var func = source[methodName];
            object[methodName] = func;
            if (isFunc) {
              object.prototype[methodName] = function() {
                var chainAll = this.__chain__;
                if (chain2 || chainAll) {
                  var result2 = object(this.__wrapped__), actions = result2.__actions__ = copyArray(this.__actions__);
                  actions.push({ "func": func, "args": arguments, "thisArg": object });
                  result2.__chain__ = chainAll;
                  return result2;
                }
                return func.apply(object, arrayPush([this.value()], arguments));
              };
            }
          });
          return object;
        }
        function noConflict() {
          if (root7._ === this) {
            root7._ = oldDash;
          }
          return this;
        }
        function noop2() {
        }
        function nthArg(n) {
          n = toInteger(n);
          return baseRest(function(args) {
            return baseNth(args, n);
          });
        }
        var over = createOver(arrayMap);
        var overEvery = createOver(arrayEvery);
        var overSome = createOver(arraySome);
        function property(path) {
          return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
        }
        function propertyOf(object) {
          return function(path) {
            return object == null ? undefined$1 : baseGet(object, path);
          };
        }
        var range = createRange();
        var rangeRight = createRange(true);
        function stubArray() {
          return [];
        }
        function stubFalse() {
          return false;
        }
        function stubObject() {
          return {};
        }
        function stubString() {
          return "";
        }
        function stubTrue() {
          return true;
        }
        function times(n, iteratee2) {
          n = toInteger(n);
          if (n < 1 || n > MAX_SAFE_INTEGER) {
            return [];
          }
          var index2 = MAX_ARRAY_LENGTH, length = nativeMin(n, MAX_ARRAY_LENGTH);
          iteratee2 = getIteratee(iteratee2);
          n -= MAX_ARRAY_LENGTH;
          var result2 = baseTimes(length, iteratee2);
          while (++index2 < n) {
            iteratee2(index2);
          }
          return result2;
        }
        function toPath(value2) {
          if (isArray2(value2)) {
            return arrayMap(value2, toKey);
          }
          return isSymbol2(value2) ? [value2] : copyArray(stringToPath(toString3(value2)));
        }
        function uniqueId(prefix) {
          var id3 = ++idCounter;
          return toString3(prefix) + id3;
        }
        var add = createMathOperation(function(augend, addend) {
          return augend + addend;
        }, 0);
        var ceil = createRound("ceil");
        var divide = createMathOperation(function(dividend, divisor) {
          return dividend / divisor;
        }, 1);
        var floor = createRound("floor");
        function max(array) {
          return array && array.length ? baseExtremum(array, identity, baseGt) : undefined$1;
        }
        function maxBy(array, iteratee2) {
          return array && array.length ? baseExtremum(array, getIteratee(iteratee2, 2), baseGt) : undefined$1;
        }
        function mean(array) {
          return baseMean(array, identity);
        }
        function meanBy(array, iteratee2) {
          return baseMean(array, getIteratee(iteratee2, 2));
        }
        function min(array) {
          return array && array.length ? baseExtremum(array, identity, baseLt) : undefined$1;
        }
        function minBy(array, iteratee2) {
          return array && array.length ? baseExtremum(array, getIteratee(iteratee2, 2), baseLt) : undefined$1;
        }
        var multiply = createMathOperation(function(multiplier, multiplicand) {
          return multiplier * multiplicand;
        }, 1);
        var round = createRound("round");
        var subtract = createMathOperation(function(minuend, subtrahend) {
          return minuend - subtrahend;
        }, 0);
        function sum(array) {
          return array && array.length ? baseSum(array, identity) : 0;
        }
        function sumBy(array, iteratee2) {
          return array && array.length ? baseSum(array, getIteratee(iteratee2, 2)) : 0;
        }
        lodash2.after = after;
        lodash2.ary = ary;
        lodash2.assign = assign2;
        lodash2.assignIn = assignIn;
        lodash2.assignInWith = assignInWith;
        lodash2.assignWith = assignWith;
        lodash2.at = at;
        lodash2.before = before;
        lodash2.bind = bind3;
        lodash2.bindAll = bindAll;
        lodash2.bindKey = bindKey;
        lodash2.castArray = castArray;
        lodash2.chain = chain;
        lodash2.chunk = chunk;
        lodash2.compact = compact;
        lodash2.concat = concat;
        lodash2.cond = cond;
        lodash2.conforms = conforms;
        lodash2.constant = constant;
        lodash2.countBy = countBy;
        lodash2.create = create2;
        lodash2.curry = curry;
        lodash2.curryRight = curryRight;
        lodash2.debounce = debounce;
        lodash2.defaults = defaults2;
        lodash2.defaultsDeep = defaultsDeep;
        lodash2.defer = defer;
        lodash2.delay = delay;
        lodash2.difference = difference;
        lodash2.differenceBy = differenceBy;
        lodash2.differenceWith = differenceWith;
        lodash2.drop = drop;
        lodash2.dropRight = dropRight;
        lodash2.dropRightWhile = dropRightWhile;
        lodash2.dropWhile = dropWhile;
        lodash2.fill = fill;
        lodash2.filter = filter2;
        lodash2.flatMap = flatMap;
        lodash2.flatMapDeep = flatMapDeep;
        lodash2.flatMapDepth = flatMapDepth;
        lodash2.flatten = flatten;
        lodash2.flattenDeep = flattenDeep;
        lodash2.flattenDepth = flattenDepth;
        lodash2.flip = flip;
        lodash2.flow = flow;
        lodash2.flowRight = flowRight;
        lodash2.fromPairs = fromPairs;
        lodash2.functions = functions2;
        lodash2.functionsIn = functionsIn;
        lodash2.groupBy = groupBy;
        lodash2.initial = initial2;
        lodash2.intersection = intersection;
        lodash2.intersectionBy = intersectionBy;
        lodash2.intersectionWith = intersectionWith;
        lodash2.invert = invert;
        lodash2.invertBy = invertBy;
        lodash2.invokeMap = invokeMap;
        lodash2.iteratee = iteratee;
        lodash2.keyBy = keyBy;
        lodash2.keys = keys;
        lodash2.keysIn = keysIn;
        lodash2.map = map;
        lodash2.mapKeys = mapKeys;
        lodash2.mapValues = mapValues;
        lodash2.matches = matches;
        lodash2.matchesProperty = matchesProperty;
        lodash2.memoize = memoize;
        lodash2.merge = merge2;
        lodash2.mergeWith = mergeWith;
        lodash2.method = method;
        lodash2.methodOf = methodOf;
        lodash2.mixin = mixin;
        lodash2.negate = negate;
        lodash2.nthArg = nthArg;
        lodash2.omit = omit;
        lodash2.omitBy = omitBy;
        lodash2.once = once;
        lodash2.orderBy = orderBy;
        lodash2.over = over;
        lodash2.overArgs = overArgs;
        lodash2.overEvery = overEvery;
        lodash2.overSome = overSome;
        lodash2.partial = partial;
        lodash2.partialRight = partialRight;
        lodash2.partition = partition;
        lodash2.pick = pick;
        lodash2.pickBy = pickBy;
        lodash2.property = property;
        lodash2.propertyOf = propertyOf;
        lodash2.pull = pull;
        lodash2.pullAll = pullAll;
        lodash2.pullAllBy = pullAllBy;
        lodash2.pullAllWith = pullAllWith;
        lodash2.pullAt = pullAt;
        lodash2.range = range;
        lodash2.rangeRight = rangeRight;
        lodash2.rearg = rearg;
        lodash2.reject = reject;
        lodash2.remove = remove4;
        lodash2.rest = rest;
        lodash2.reverse = reverse;
        lodash2.sampleSize = sampleSize;
        lodash2.set = set2;
        lodash2.setWith = setWith;
        lodash2.shuffle = shuffle;
        lodash2.slice = slice;
        lodash2.sortBy = sortBy;
        lodash2.sortedUniq = sortedUniq;
        lodash2.sortedUniqBy = sortedUniqBy;
        lodash2.split = split;
        lodash2.spread = spread2;
        lodash2.tail = tail;
        lodash2.take = take;
        lodash2.takeRight = takeRight;
        lodash2.takeRightWhile = takeRightWhile;
        lodash2.takeWhile = takeWhile;
        lodash2.tap = tap;
        lodash2.throttle = throttle2;
        lodash2.thru = thru;
        lodash2.toArray = toArray2;
        lodash2.toPairs = toPairs;
        lodash2.toPairsIn = toPairsIn;
        lodash2.toPath = toPath;
        lodash2.toPlainObject = toPlainObject;
        lodash2.transform = transform;
        lodash2.unary = unary;
        lodash2.union = union;
        lodash2.unionBy = unionBy;
        lodash2.unionWith = unionWith;
        lodash2.uniq = uniq;
        lodash2.uniqBy = uniqBy;
        lodash2.uniqWith = uniqWith;
        lodash2.unset = unset2;
        lodash2.unzip = unzip;
        lodash2.unzipWith = unzipWith;
        lodash2.update = update;
        lodash2.updateWith = updateWith;
        lodash2.values = values;
        lodash2.valuesIn = valuesIn;
        lodash2.without = without;
        lodash2.words = words;
        lodash2.wrap = wrap;
        lodash2.xor = xor;
        lodash2.xorBy = xorBy;
        lodash2.xorWith = xorWith;
        lodash2.zip = zip;
        lodash2.zipObject = zipObject;
        lodash2.zipObjectDeep = zipObjectDeep;
        lodash2.zipWith = zipWith;
        lodash2.entries = toPairs;
        lodash2.entriesIn = toPairsIn;
        lodash2.extend = assignIn;
        lodash2.extendWith = assignInWith;
        mixin(lodash2, lodash2);
        lodash2.add = add;
        lodash2.attempt = attempt;
        lodash2.camelCase = camelCase;
        lodash2.capitalize = capitalize2;
        lodash2.ceil = ceil;
        lodash2.clamp = clamp;
        lodash2.clone = clone;
        lodash2.cloneDeep = cloneDeep;
        lodash2.cloneDeepWith = cloneDeepWith;
        lodash2.cloneWith = cloneWith;
        lodash2.conformsTo = conformsTo;
        lodash2.deburr = deburr;
        lodash2.defaultTo = defaultTo;
        lodash2.divide = divide;
        lodash2.endsWith = endsWith2;
        lodash2.eq = eq;
        lodash2.escape = escape;
        lodash2.escapeRegExp = escapeRegExp;
        lodash2.every = every;
        lodash2.find = find2;
        lodash2.findIndex = findIndex2;
        lodash2.findKey = findKey2;
        lodash2.findLast = findLast;
        lodash2.findLastIndex = findLastIndex;
        lodash2.findLastKey = findLastKey;
        lodash2.floor = floor;
        lodash2.forEach = forEach2;
        lodash2.forEachRight = forEachRight;
        lodash2.forIn = forIn;
        lodash2.forInRight = forInRight;
        lodash2.forOwn = forOwn;
        lodash2.forOwnRight = forOwnRight;
        lodash2.get = get2;
        lodash2.gt = gt;
        lodash2.gte = gte;
        lodash2.has = has;
        lodash2.hasIn = hasIn;
        lodash2.head = head;
        lodash2.identity = identity;
        lodash2.includes = includes;
        lodash2.indexOf = indexOf;
        lodash2.inRange = inRange;
        lodash2.invoke = invoke;
        lodash2.isArguments = isArguments;
        lodash2.isArray = isArray2;
        lodash2.isArrayBuffer = isArrayBuffer2;
        lodash2.isArrayLike = isArrayLike;
        lodash2.isArrayLikeObject = isArrayLikeObject;
        lodash2.isBoolean = isBoolean2;
        lodash2.isBuffer = isBuffer2;
        lodash2.isDate = isDate2;
        lodash2.isElement = isElement2;
        lodash2.isEmpty = isEmpty2;
        lodash2.isEqual = isEqual;
        lodash2.isEqualWith = isEqualWith;
        lodash2.isError = isError;
        lodash2.isFinite = isFinite2;
        lodash2.isFunction = isFunction2;
        lodash2.isInteger = isInteger;
        lodash2.isLength = isLength;
        lodash2.isMap = isMap2;
        lodash2.isMatch = isMatch;
        lodash2.isMatchWith = isMatchWith;
        lodash2.isNaN = isNaN2;
        lodash2.isNative = isNative;
        lodash2.isNil = isNil;
        lodash2.isNull = isNull;
        lodash2.isNumber = isNumber2;
        lodash2.isObject = isObject2;
        lodash2.isObjectLike = isObjectLike;
        lodash2.isPlainObject = isPlainObject2;
        lodash2.isRegExp = isRegExp2;
        lodash2.isSafeInteger = isSafeInteger;
        lodash2.isSet = isSet2;
        lodash2.isString = isString2;
        lodash2.isSymbol = isSymbol2;
        lodash2.isTypedArray = isTypedArray2;
        lodash2.isUndefined = isUndefined2;
        lodash2.isWeakMap = isWeakMap;
        lodash2.isWeakSet = isWeakSet;
        lodash2.join = join;
        lodash2.kebabCase = kebabCase;
        lodash2.last = last;
        lodash2.lastIndexOf = lastIndexOf;
        lodash2.lowerCase = lowerCase;
        lodash2.lowerFirst = lowerFirst;
        lodash2.lt = lt2;
        lodash2.lte = lte;
        lodash2.max = max;
        lodash2.maxBy = maxBy;
        lodash2.mean = mean;
        lodash2.meanBy = meanBy;
        lodash2.min = min;
        lodash2.minBy = minBy;
        lodash2.stubArray = stubArray;
        lodash2.stubFalse = stubFalse;
        lodash2.stubObject = stubObject;
        lodash2.stubString = stubString;
        lodash2.stubTrue = stubTrue;
        lodash2.multiply = multiply;
        lodash2.nth = nth;
        lodash2.noConflict = noConflict;
        lodash2.noop = noop2;
        lodash2.now = now;
        lodash2.pad = pad;
        lodash2.padEnd = padEnd;
        lodash2.padStart = padStart;
        lodash2.parseInt = parseInt2;
        lodash2.random = random;
        lodash2.reduce = reduce2;
        lodash2.reduceRight = reduceRight;
        lodash2.repeat = repeat;
        lodash2.replace = replace2;
        lodash2.result = result;
        lodash2.round = round;
        lodash2.runInContext = runInContext2;
        lodash2.sample = sample;
        lodash2.size = size;
        lodash2.snakeCase = snakeCase;
        lodash2.some = some;
        lodash2.sortedIndex = sortedIndex;
        lodash2.sortedIndexBy = sortedIndexBy;
        lodash2.sortedIndexOf = sortedIndexOf;
        lodash2.sortedLastIndex = sortedLastIndex;
        lodash2.sortedLastIndexBy = sortedLastIndexBy;
        lodash2.sortedLastIndexOf = sortedLastIndexOf;
        lodash2.startCase = startCase;
        lodash2.startsWith = startsWith;
        lodash2.subtract = subtract;
        lodash2.sum = sum;
        lodash2.sumBy = sumBy;
        lodash2.template = template;
        lodash2.times = times;
        lodash2.toFinite = toFinite;
        lodash2.toInteger = toInteger;
        lodash2.toLength = toLength;
        lodash2.toLower = toLower;
        lodash2.toNumber = toNumber2;
        lodash2.toSafeInteger = toSafeInteger;
        lodash2.toString = toString3;
        lodash2.toUpper = toUpper;
        lodash2.trim = trim2;
        lodash2.trimEnd = trimEnd;
        lodash2.trimStart = trimStart;
        lodash2.truncate = truncate;
        lodash2.unescape = unescape2;
        lodash2.uniqueId = uniqueId;
        lodash2.upperCase = upperCase;
        lodash2.upperFirst = upperFirst;
        lodash2.each = forEach2;
        lodash2.eachRight = forEachRight;
        lodash2.first = head;
        mixin(lodash2, function() {
          var source = {};
          baseForOwn(lodash2, function(func, methodName) {
            if (!hasOwnProperty2.call(lodash2.prototype, methodName)) {
              source[methodName] = func;
            }
          });
          return source;
        }(), { "chain": false });
        lodash2.VERSION = VERSION2;
        arrayEach(["bind", "bindKey", "curry", "curryRight", "partial", "partialRight"], function(methodName) {
          lodash2[methodName].placeholder = lodash2;
        });
        arrayEach(["drop", "take"], function(methodName, index2) {
          LazyWrapper.prototype[methodName] = function(n) {
            n = n === undefined$1 ? 1 : nativeMax(toInteger(n), 0);
            var result2 = this.__filtered__ && !index2 ? new LazyWrapper(this) : this.clone();
            if (result2.__filtered__) {
              result2.__takeCount__ = nativeMin(n, result2.__takeCount__);
            } else {
              result2.__views__.push({
                "size": nativeMin(n, MAX_ARRAY_LENGTH),
                "type": methodName + (result2.__dir__ < 0 ? "Right" : "")
              });
            }
            return result2;
          };
          LazyWrapper.prototype[methodName + "Right"] = function(n) {
            return this.reverse()[methodName](n).reverse();
          };
        });
        arrayEach(["filter", "map", "takeWhile"], function(methodName, index2) {
          var type = index2 + 1, isFilter = type == LAZY_FILTER_FLAG || type == LAZY_WHILE_FLAG;
          LazyWrapper.prototype[methodName] = function(iteratee2) {
            var result2 = this.clone();
            result2.__iteratees__.push({
              "iteratee": getIteratee(iteratee2, 3),
              "type": type
            });
            result2.__filtered__ = result2.__filtered__ || isFilter;
            return result2;
          };
        });
        arrayEach(["head", "last"], function(methodName, index2) {
          var takeName = "take" + (index2 ? "Right" : "");
          LazyWrapper.prototype[methodName] = function() {
            return this[takeName](1).value()[0];
          };
        });
        arrayEach(["initial", "tail"], function(methodName, index2) {
          var dropName = "drop" + (index2 ? "" : "Right");
          LazyWrapper.prototype[methodName] = function() {
            return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1);
          };
        });
        LazyWrapper.prototype.compact = function() {
          return this.filter(identity);
        };
        LazyWrapper.prototype.find = function(predicate) {
          return this.filter(predicate).head();
        };
        LazyWrapper.prototype.findLast = function(predicate) {
          return this.reverse().find(predicate);
        };
        LazyWrapper.prototype.invokeMap = baseRest(function(path, args) {
          if (typeof path == "function") {
            return new LazyWrapper(this);
          }
          return this.map(function(value2) {
            return baseInvoke(value2, path, args);
          });
        });
        LazyWrapper.prototype.reject = function(predicate) {
          return this.filter(negate(getIteratee(predicate)));
        };
        LazyWrapper.prototype.slice = function(start, end2) {
          start = toInteger(start);
          var result2 = this;
          if (result2.__filtered__ && (start > 0 || end2 < 0)) {
            return new LazyWrapper(result2);
          }
          if (start < 0) {
            result2 = result2.takeRight(-start);
          } else if (start) {
            result2 = result2.drop(start);
          }
          if (end2 !== undefined$1) {
            end2 = toInteger(end2);
            result2 = end2 < 0 ? result2.dropRight(-end2) : result2.take(end2 - start);
          }
          return result2;
        };
        LazyWrapper.prototype.takeRightWhile = function(predicate) {
          return this.reverse().takeWhile(predicate).reverse();
        };
        LazyWrapper.prototype.toArray = function() {
          return this.take(MAX_ARRAY_LENGTH);
        };
        baseForOwn(LazyWrapper.prototype, function(func, methodName) {
          var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName), isTaker = /^(?:head|last)$/.test(methodName), lodashFunc = lodash2[isTaker ? "take" + (methodName == "last" ? "Right" : "") : methodName], retUnwrapped = isTaker || /^find/.test(methodName);
          if (!lodashFunc) {
            return;
          }
          lodash2.prototype[methodName] = function() {
            var value2 = this.__wrapped__, args = isTaker ? [1] : arguments, isLazy = value2 instanceof LazyWrapper, iteratee2 = args[0], useLazy = isLazy || isArray2(value2);
            var interceptor = function(value3) {
              var result3 = lodashFunc.apply(lodash2, arrayPush([value3], args));
              return isTaker && chainAll ? result3[0] : result3;
            };
            if (useLazy && checkIteratee && typeof iteratee2 == "function" && iteratee2.length != 1) {
              isLazy = useLazy = false;
            }
            var chainAll = this.__chain__, isHybrid = !!this.__actions__.length, isUnwrapped = retUnwrapped && !chainAll, onlyLazy = isLazy && !isHybrid;
            if (!retUnwrapped && useLazy) {
              value2 = onlyLazy ? value2 : new LazyWrapper(this);
              var result2 = func.apply(value2, args);
              result2.__actions__.push({ "func": thru, "args": [interceptor], "thisArg": undefined$1 });
              return new LodashWrapper(result2, chainAll);
            }
            if (isUnwrapped && onlyLazy) {
              return func.apply(this, args);
            }
            result2 = this.thru(interceptor);
            return isUnwrapped ? isTaker ? result2.value()[0] : result2.value() : result2;
          };
        });
        arrayEach(["pop", "push", "shift", "sort", "splice", "unshift"], function(methodName) {
          var func = arrayProto2[methodName], chainName = /^(?:push|sort|unshift)$/.test(methodName) ? "tap" : "thru", retUnwrapped = /^(?:pop|shift)$/.test(methodName);
          lodash2.prototype[methodName] = function() {
            var args = arguments;
            if (retUnwrapped && !this.__chain__) {
              var value2 = this.value();
              return func.apply(isArray2(value2) ? value2 : [], args);
            }
            return this[chainName](function(value3) {
              return func.apply(isArray2(value3) ? value3 : [], args);
            });
          };
        });
        baseForOwn(LazyWrapper.prototype, function(func, methodName) {
          var lodashFunc = lodash2[methodName];
          if (lodashFunc) {
            var key = lodashFunc.name + "";
            if (!hasOwnProperty2.call(realNames, key)) {
              realNames[key] = [];
            }
            realNames[key].push({ "name": methodName, "func": lodashFunc });
          }
        });
        realNames[createHybrid(undefined$1, WRAP_BIND_KEY_FLAG).name] = [{
          "name": "wrapper",
          "func": undefined$1
        }];
        LazyWrapper.prototype.clone = lazyClone;
        LazyWrapper.prototype.reverse = lazyReverse;
        LazyWrapper.prototype.value = lazyValue;
        lodash2.prototype.at = wrapperAt;
        lodash2.prototype.chain = wrapperChain;
        lodash2.prototype.commit = wrapperCommit;
        lodash2.prototype.next = wrapperNext;
        lodash2.prototype.plant = wrapperPlant;
        lodash2.prototype.reverse = wrapperReverse;
        lodash2.prototype.toJSON = lodash2.prototype.valueOf = lodash2.prototype.value = wrapperValue;
        lodash2.prototype.first = lodash2.prototype.head;
        if (symIterator) {
          lodash2.prototype[symIterator] = wrapperToIterator;
        }
        return lodash2;
      };
      var _ = runInContext();
      if (freeModule) {
        (freeModule.exports = _)._ = _;
        freeExports._ = _;
      } else {
        root7._ = _;
      }
    }).call(lodash);
  })(lodash$1, lodash$1.exports);
  return lodash$1.exports;
}
var lodashExports = requireLodash();
const useItemDataStore = /* @__PURE__ */ defineStore("itemData", () => {
  const itemData = ref([]), loadingCount = ref(0), types = ["radical", "kanji", "vocabulary", "kana_vocabulary"];
  async function fetchItemData() {
    itemData.value = [];
    loadingCount.value += 1;
    return wkof.ItemData.get_items({
      wk_items: {
        options: {
          assignments: true,
          review_statistics: true,
          study_materials: true
        }
      }
    }).then((items) => {
      itemData.value = items;
    });
  }
  const loading = computed(() => loadingCount.value > 0);
  const assignmentsForTypeAndLevel = (type, stages, includeHidden = false) => {
    return itemData.value == null ? [] : stages[0] == -1 ? itemData.value.filter(
      (d) => d.object == type && ![1, 2, 3, 4, 5, 6, 7, 8, 9].includes(d.assignments.srs_stage) && (d.assignments.hidden == false || includeHidden)
    ) : itemData.value.filter(
      (d) => d.object == type && stages.includes(d.assignments.srs_stage) && (d.assignments.hidden == false || includeHidden)
    );
  };
  return { assignmentsForTypeAndLevel, fetchItemData, itemData, loading, types };
});
const millisecondsInWeek = 6048e5;
const millisecondsInDay = 864e5;
const millisecondsInMinute = 6e4;
const millisecondsInHour = 36e5;
const constructFromSymbol = Symbol.for("constructDateFrom");
function constructFrom(date, value2) {
  if (typeof date === "function") return date(value2);
  if (date && typeof date === "object" && constructFromSymbol in date)
    return date[constructFromSymbol](value2);
  if (date instanceof Date) return new date.constructor(value2);
  return new Date(value2);
}
function toDate(argument, context) {
  return constructFrom(context || argument, argument);
}
function addMonths(date, amount, options) {
  const _date = toDate(date, options == null ? void 0 : options.in);
  if (isNaN(amount)) return constructFrom(date, NaN);
  if (!amount) {
    return _date;
  }
  const dayOfMonth = _date.getDate();
  const endOfDesiredMonth = constructFrom(date, _date.getTime());
  endOfDesiredMonth.setMonth(_date.getMonth() + amount + 1, 0);
  const daysInMonth = endOfDesiredMonth.getDate();
  if (dayOfMonth >= daysInMonth) {
    return endOfDesiredMonth;
  } else {
    _date.setFullYear(
      endOfDesiredMonth.getFullYear(),
      endOfDesiredMonth.getMonth(),
      dayOfMonth
    );
    return _date;
  }
}
let defaultOptions = {};
function getDefaultOptions() {
  return defaultOptions;
}
function startOfWeek(date, options) {
  var _a, _b, _c, _d;
  const defaultOptions2 = getDefaultOptions();
  const weekStartsOn = (options == null ? void 0 : options.weekStartsOn) ?? ((_b = (_a = options == null ? void 0 : options.locale) == null ? void 0 : _a.options) == null ? void 0 : _b.weekStartsOn) ?? defaultOptions2.weekStartsOn ?? ((_d = (_c = defaultOptions2.locale) == null ? void 0 : _c.options) == null ? void 0 : _d.weekStartsOn) ?? 0;
  const _date = toDate(date, options == null ? void 0 : options.in);
  const day = _date.getDay();
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
  _date.setDate(_date.getDate() - diff);
  _date.setHours(0, 0, 0, 0);
  return _date;
}
function startOfISOWeek(date, options) {
  return startOfWeek(date, { ...options, weekStartsOn: 1 });
}
function getISOWeekYear(date, options) {
  const _date = toDate(date, options == null ? void 0 : options.in);
  const year = _date.getFullYear();
  const fourthOfJanuaryOfNextYear = constructFrom(_date, 0);
  fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);
  fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);
  const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);
  const fourthOfJanuaryOfThisYear = constructFrom(_date, 0);
  fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);
  fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);
  const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);
  if (_date.getTime() >= startOfNextYear.getTime()) {
    return year + 1;
  } else if (_date.getTime() >= startOfThisYear.getTime()) {
    return year;
  } else {
    return year - 1;
  }
}
function getTimezoneOffsetInMilliseconds(date) {
  const _date = toDate(date);
  const utcDate = new Date(
    Date.UTC(
      _date.getFullYear(),
      _date.getMonth(),
      _date.getDate(),
      _date.getHours(),
      _date.getMinutes(),
      _date.getSeconds(),
      _date.getMilliseconds()
    )
  );
  utcDate.setUTCFullYear(_date.getFullYear());
  return +date - +utcDate;
}
function normalizeDates(context, ...dates) {
  const normalize = constructFrom.bind(
    null,
    dates.find((date) => typeof date === "object")
  );
  return dates.map(normalize);
}
function startOfDay(date, options) {
  const _date = toDate(date, options == null ? void 0 : options.in);
  _date.setHours(0, 0, 0, 0);
  return _date;
}
function differenceInCalendarDays(laterDate, earlierDate, options) {
  const [laterDate_, earlierDate_] = normalizeDates(
    options == null ? void 0 : options.in,
    laterDate,
    earlierDate
  );
  const laterStartOfDay = startOfDay(laterDate_);
  const earlierStartOfDay = startOfDay(earlierDate_);
  const laterTimestamp = +laterStartOfDay - getTimezoneOffsetInMilliseconds(laterStartOfDay);
  const earlierTimestamp = +earlierStartOfDay - getTimezoneOffsetInMilliseconds(earlierStartOfDay);
  return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInDay);
}
function startOfISOWeekYear(date, options) {
  const year = getISOWeekYear(date, options);
  const fourthOfJanuary = constructFrom(date, 0);
  fourthOfJanuary.setFullYear(year, 0, 4);
  fourthOfJanuary.setHours(0, 0, 0, 0);
  return startOfISOWeek(fourthOfJanuary);
}
function addYears(date, amount, options) {
  return addMonths(date, amount * 12, options);
}
function compareAsc(dateLeft, dateRight) {
  const diff = +toDate(dateLeft) - +toDate(dateRight);
  if (diff < 0) return -1;
  else if (diff > 0) return 1;
  return diff;
}
function isDate$1(value2) {
  return value2 instanceof Date || typeof value2 === "object" && Object.prototype.toString.call(value2) === "[object Date]";
}
function isValid(date) {
  return !(!isDate$1(date) && typeof date !== "number" || isNaN(+toDate(date)));
}
function differenceInCalendarMonths(laterDate, earlierDate, options) {
  const [laterDate_, earlierDate_] = normalizeDates(
    options == null ? void 0 : options.in,
    laterDate,
    earlierDate
  );
  const yearsDiff = laterDate_.getFullYear() - earlierDate_.getFullYear();
  const monthsDiff = laterDate_.getMonth() - earlierDate_.getMonth();
  return yearsDiff * 12 + monthsDiff;
}
function differenceInCalendarYears(laterDate, earlierDate, options) {
  const [laterDate_, earlierDate_] = normalizeDates(
    options == null ? void 0 : options.in,
    laterDate,
    earlierDate
  );
  return laterDate_.getFullYear() - earlierDate_.getFullYear();
}
function differenceInDays(laterDate, earlierDate, options) {
  const [laterDate_, earlierDate_] = normalizeDates(
    options == null ? void 0 : options.in,
    laterDate,
    earlierDate
  );
  const sign = compareLocalAsc(laterDate_, earlierDate_);
  const difference = Math.abs(
    differenceInCalendarDays(laterDate_, earlierDate_)
  );
  laterDate_.setDate(laterDate_.getDate() - sign * difference);
  const isLastDayNotFull = Number(
    compareLocalAsc(laterDate_, earlierDate_) === -sign
  );
  const result = sign * (difference - isLastDayNotFull);
  return result === 0 ? 0 : result;
}
function compareLocalAsc(laterDate, earlierDate) {
  const diff = laterDate.getFullYear() - earlierDate.getFullYear() || laterDate.getMonth() - earlierDate.getMonth() || laterDate.getDate() - earlierDate.getDate() || laterDate.getHours() - earlierDate.getHours() || laterDate.getMinutes() - earlierDate.getMinutes() || laterDate.getSeconds() - earlierDate.getSeconds() || laterDate.getMilliseconds() - earlierDate.getMilliseconds();
  if (diff < 0) return -1;
  if (diff > 0) return 1;
  return diff;
}
function endOfDay(date, options) {
  const _date = toDate(date, options == null ? void 0 : options.in);
  _date.setHours(23, 59, 59, 999);
  return _date;
}
function endOfMonth(date, options) {
  const _date = toDate(date, options == null ? void 0 : options.in);
  const month = _date.getMonth();
  _date.setFullYear(_date.getFullYear(), month + 1, 0);
  _date.setHours(23, 59, 59, 999);
  return _date;
}
function isLastDayOfMonth(date, options) {
  const _date = toDate(date, options == null ? void 0 : options.in);
  return +endOfDay(_date, options) === +endOfMonth(_date, options);
}
function differenceInMonths(laterDate, earlierDate, options) {
  const [laterDate_, workingLaterDate, earlierDate_] = normalizeDates(
    options == null ? void 0 : options.in,
    laterDate,
    laterDate,
    earlierDate
  );
  const sign = compareAsc(workingLaterDate, earlierDate_);
  const difference = Math.abs(
    differenceInCalendarMonths(workingLaterDate, earlierDate_)
  );
  if (difference < 1) return 0;
  if (workingLaterDate.getMonth() === 1 && workingLaterDate.getDate() > 27)
    workingLaterDate.setDate(30);
  workingLaterDate.setMonth(workingLaterDate.getMonth() - sign * difference);
  let isLastMonthNotFull = compareAsc(workingLaterDate, earlierDate_) === -sign;
  if (isLastDayOfMonth(laterDate_) && difference === 1 && compareAsc(laterDate_, earlierDate_) === 1) {
    isLastMonthNotFull = false;
  }
  const result = sign * (difference - +isLastMonthNotFull);
  return result === 0 ? 0 : result;
}
function differenceInYears(laterDate, earlierDate, options) {
  const [laterDate_, earlierDate_] = normalizeDates(
    options == null ? void 0 : options.in,
    laterDate,
    earlierDate
  );
  const sign = compareAsc(laterDate_, earlierDate_);
  const diff = Math.abs(differenceInCalendarYears(laterDate_, earlierDate_));
  laterDate_.setFullYear(1584);
  earlierDate_.setFullYear(1584);
  const partial = compareAsc(laterDate_, earlierDate_) === -sign;
  const result = sign * (diff - +partial);
  return result === 0 ? 0 : result;
}
function startOfYear(date, options) {
  const date_ = toDate(date, options == null ? void 0 : options.in);
  date_.setFullYear(date_.getFullYear(), 0, 1);
  date_.setHours(0, 0, 0, 0);
  return date_;
}
const formatDistanceLocale = {
  lessThanXSeconds: {
    one: "less than a second",
    other: "less than {{count}} seconds"
  },
  xSeconds: {
    one: "1 second",
    other: "{{count}} seconds"
  },
  halfAMinute: "half a minute",
  lessThanXMinutes: {
    one: "less than a minute",
    other: "less than {{count}} minutes"
  },
  xMinutes: {
    one: "1 minute",
    other: "{{count}} minutes"
  },
  aboutXHours: {
    one: "about 1 hour",
    other: "about {{count}} hours"
  },
  xHours: {
    one: "1 hour",
    other: "{{count}} hours"
  },
  xDays: {
    one: "1 day",
    other: "{{count}} days"
  },
  aboutXWeeks: {
    one: "about 1 week",
    other: "about {{count}} weeks"
  },
  xWeeks: {
    one: "1 week",
    other: "{{count}} weeks"
  },
  aboutXMonths: {
    one: "about 1 month",
    other: "about {{count}} months"
  },
  xMonths: {
    one: "1 month",
    other: "{{count}} months"
  },
  aboutXYears: {
    one: "about 1 year",
    other: "about {{count}} years"
  },
  xYears: {
    one: "1 year",
    other: "{{count}} years"
  },
  overXYears: {
    one: "over 1 year",
    other: "over {{count}} years"
  },
  almostXYears: {
    one: "almost 1 year",
    other: "almost {{count}} years"
  }
};
const formatDistance = (token, count, options) => {
  let result;
  const tokenValue = formatDistanceLocale[token];
  if (typeof tokenValue === "string") {
    result = tokenValue;
  } else if (count === 1) {
    result = tokenValue.one;
  } else {
    result = tokenValue.other.replace("{{count}}", count.toString());
  }
  if (options == null ? void 0 : options.addSuffix) {
    if (options.comparison && options.comparison > 0) {
      return "in " + result;
    } else {
      return result + " ago";
    }
  }
  return result;
};
function buildFormatLongFn(args) {
  return (options = {}) => {
    const width = options.width ? String(options.width) : args.defaultWidth;
    const format2 = args.formats[width] || args.formats[args.defaultWidth];
    return format2;
  };
}
const dateFormats = {
  full: "EEEE, MMMM do, y",
  long: "MMMM do, y",
  medium: "MMM d, y",
  short: "MM/dd/yyyy"
};
const timeFormats = {
  full: "h:mm:ss a zzzz",
  long: "h:mm:ss a z",
  medium: "h:mm:ss a",
  short: "h:mm a"
};
const dateTimeFormats = {
  full: "{{date}} 'at' {{time}}",
  long: "{{date}} 'at' {{time}}",
  medium: "{{date}}, {{time}}",
  short: "{{date}}, {{time}}"
};
const formatLong = {
  date: buildFormatLongFn({
    formats: dateFormats,
    defaultWidth: "full"
  }),
  time: buildFormatLongFn({
    formats: timeFormats,
    defaultWidth: "full"
  }),
  dateTime: buildFormatLongFn({
    formats: dateTimeFormats,
    defaultWidth: "full"
  })
};
const formatRelativeLocale = {
  lastWeek: "'last' eeee 'at' p",
  yesterday: "'yesterday at' p",
  today: "'today at' p",
  tomorrow: "'tomorrow at' p",
  nextWeek: "eeee 'at' p",
  other: "P"
};
const formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale[token];
function buildLocalizeFn(args) {
  return (value2, options) => {
    const context = (options == null ? void 0 : options.context) ? String(options.context) : "standalone";
    let valuesArray;
    if (context === "formatting" && args.formattingValues) {
      const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
      const width = (options == null ? void 0 : options.width) ? String(options.width) : defaultWidth;
      valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
    } else {
      const defaultWidth = args.defaultWidth;
      const width = (options == null ? void 0 : options.width) ? String(options.width) : args.defaultWidth;
      valuesArray = args.values[width] || args.values[defaultWidth];
    }
    const index2 = args.argumentCallback ? args.argumentCallback(value2) : value2;
    return valuesArray[index2];
  };
}
const eraValues = {
  narrow: ["B", "A"],
  abbreviated: ["BC", "AD"],
  wide: ["Before Christ", "Anno Domini"]
};
const quarterValues = {
  narrow: ["1", "2", "3", "4"],
  abbreviated: ["Q1", "Q2", "Q3", "Q4"],
  wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"]
};
const monthValues = {
  narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
  abbreviated: [
    "Jan",
    "Feb",
    "Mar",
    "Apr",
    "May",
    "Jun",
    "Jul",
    "Aug",
    "Sep",
    "Oct",
    "Nov",
    "Dec"
  ],
  wide: [
    "January",
    "February",
    "March",
    "April",
    "May",
    "June",
    "July",
    "August",
    "September",
    "October",
    "November",
    "December"
  ]
};
const dayValues = {
  narrow: ["S", "M", "T", "W", "T", "F", "S"],
  short: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
  abbreviated: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
  wide: [
    "Sunday",
    "Monday",
    "Tuesday",
    "Wednesday",
    "Thursday",
    "Friday",
    "Saturday"
  ]
};
const dayPeriodValues = {
  narrow: {
    am: "a",
    pm: "p",
    midnight: "mi",
    noon: "n",
    morning: "morning",
    afternoon: "afternoon",
    evening: "evening",
    night: "night"
  },
  abbreviated: {
    am: "AM",
    pm: "PM",
    midnight: "midnight",
    noon: "noon",
    morning: "morning",
    afternoon: "afternoon",
    evening: "evening",
    night: "night"
  },
  wide: {
    am: "a.m.",
    pm: "p.m.",
    midnight: "midnight",
    noon: "noon",
    morning: "morning",
    afternoon: "afternoon",
    evening: "evening",
    night: "night"
  }
};
const formattingDayPeriodValues = {
  narrow: {
    am: "a",
    pm: "p",
    midnight: "mi",
    noon: "n",
    morning: "in the morning",
    afternoon: "in the afternoon",
    evening: "in the evening",
    night: "at night"
  },
  abbreviated: {
    am: "AM",
    pm: "PM",
    midnight: "midnight",
    noon: "noon",
    morning: "in the morning",
    afternoon: "in the afternoon",
    evening: "in the evening",
    night: "at night"
  },
  wide: {
    am: "a.m.",
    pm: "p.m.",
    midnight: "midnight",
    noon: "noon",
    morning: "in the morning",
    afternoon: "in the afternoon",
    evening: "in the evening",
    night: "at night"
  }
};
const ordinalNumber = (dirtyNumber, _options) => {
  const number = Number(dirtyNumber);
  const rem100 = number % 100;
  if (rem100 > 20 || rem100 < 10) {
    switch (rem100 % 10) {
      case 1:
        return number + "st";
      case 2:
        return number + "nd";
      case 3:
        return number + "rd";
    }
  }
  return number + "th";
};
const localize = {
  ordinalNumber,
  era: buildLocalizeFn({
    values: eraValues,
    defaultWidth: "wide"
  }),
  quarter: buildLocalizeFn({
    values: quarterValues,
    defaultWidth: "wide",
    argumentCallback: (quarter) => quarter - 1
  }),
  month: buildLocalizeFn({
    values: monthValues,
    defaultWidth: "wide"
  }),
  day: buildLocalizeFn({
    values: dayValues,
    defaultWidth: "wide"
  }),
  dayPeriod: buildLocalizeFn({
    values: dayPeriodValues,
    defaultWidth: "wide",
    formattingValues: formattingDayPeriodValues,
    defaultFormattingWidth: "wide"
  })
};
function buildMatchFn(args) {
  return (string, options = {}) => {
    const width = options.width;
    const matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];
    const matchResult = string.match(matchPattern);
    if (!matchResult) {
      return null;
    }
    const matchedString = matchResult[0];
    const parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];
    const key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString)) : (
      // [TODO] -- I challenge you to fix the type
      findKey$1(parsePatterns, (pattern) => pattern.test(matchedString))
    );
    let value2;
    value2 = args.valueCallback ? args.valueCallback(key) : key;
    value2 = options.valueCallback ? (
      // [TODO] -- I challenge you to fix the type
      options.valueCallback(value2)
    ) : value2;
    const rest = string.slice(matchedString.length);
    return { value: value2, rest };
  };
}
function findKey$1(object, predicate) {
  for (const key in object) {
    if (Object.prototype.hasOwnProperty.call(object, key) && predicate(object[key])) {
      return key;
    }
  }
  return void 0;
}
function findIndex(array, predicate) {
  for (let key = 0; key < array.length; key++) {
    if (predicate(array[key])) {
      return key;
    }
  }
  return void 0;
}
function buildMatchPatternFn(args) {
  return (string, options = {}) => {
    const matchResult = string.match(args.matchPattern);
    if (!matchResult) return null;
    const matchedString = matchResult[0];
    const parseResult = string.match(args.parsePattern);
    if (!parseResult) return null;
    let value2 = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];
    value2 = options.valueCallback ? options.valueCallback(value2) : value2;
    const rest = string.slice(matchedString.length);
    return { value: value2, rest };
  };
}
const matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i;
const parseOrdinalNumberPattern = /\d+/i;
const matchEraPatterns = {
  narrow: /^(b|a)/i,
  abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,
  wide: /^(before christ|before common era|anno domini|common era)/i
};
const parseEraPatterns = {
  any: [/^b/i, /^(a|c)/i]
};
const matchQuarterPatterns = {
  narrow: /^[1234]/i,
  abbreviated: /^q[1234]/i,
  wide: /^[1234](th|st|nd|rd)? quarter/i
};
const parseQuarterPatterns = {
  any: [/1/i, /2/i, /3/i, /4/i]
};
const matchMonthPatterns = {
  narrow: /^[jfmasond]/i,
  abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,
  wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i
};
const parseMonthPatterns = {
  narrow: [
    /^j/i,
    /^f/i,
    /^m/i,
    /^a/i,
    /^m/i,
    /^j/i,
    /^j/i,
    /^a/i,
    /^s/i,
    /^o/i,
    /^n/i,
    /^d/i
  ],
  any: [
    /^ja/i,
    /^f/i,
    /^mar/i,
    /^ap/i,
    /^may/i,
    /^jun/i,
    /^jul/i,
    /^au/i,
    /^s/i,
    /^o/i,
    /^n/i,
    /^d/i
  ]
};
const matchDayPatterns = {
  narrow: /^[smtwf]/i,
  short: /^(su|mo|tu|we|th|fr|sa)/i,
  abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,
  wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i
};
const parseDayPatterns = {
  narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],
  any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]
};
const matchDayPeriodPatterns = {
  narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,
  any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i
};
const parseDayPeriodPatterns = {
  any: {
    am: /^a/i,
    pm: /^p/i,
    midnight: /^mi/i,
    noon: /^no/i,
    morning: /morning/i,
    afternoon: /afternoon/i,
    evening: /evening/i,
    night: /night/i
  }
};
const match = {
  ordinalNumber: buildMatchPatternFn({
    matchPattern: matchOrdinalNumberPattern,
    parsePattern: parseOrdinalNumberPattern,
    valueCallback: (value2) => parseInt(value2, 10)
  }),
  era: buildMatchFn({
    matchPatterns: matchEraPatterns,
    defaultMatchWidth: "wide",
    parsePatterns: parseEraPatterns,
    defaultParseWidth: "any"
  }),
  quarter: buildMatchFn({
    matchPatterns: matchQuarterPatterns,
    defaultMatchWidth: "wide",
    parsePatterns: parseQuarterPatterns,
    defaultParseWidth: "any",
    valueCallback: (index2) => index2 + 1
  }),
  month: buildMatchFn({
    matchPatterns: matchMonthPatterns,
    defaultMatchWidth: "wide",
    parsePatterns: parseMonthPatterns,
    defaultParseWidth: "any"
  }),
  day: buildMatchFn({
    matchPatterns: matchDayPatterns,
    defaultMatchWidth: "wide",
    parsePatterns: parseDayPatterns,
    defaultParseWidth: "any"
  }),
  dayPeriod: buildMatchFn({
    matchPatterns: matchDayPeriodPatterns,
    defaultMatchWidth: "any",
    parsePatterns: parseDayPeriodPatterns,
    defaultParseWidth: "any"
  })
};
const enUS = {
  code: "en-US",
  formatDistance,
  formatLong,
  formatRelative,
  localize,
  match,
  options: {
    weekStartsOn: 0,
    firstWeekContainsDate: 1
  }
};
function getDayOfYear(date, options) {
  const _date = toDate(date, options == null ? void 0 : options.in);
  const diff = differenceInCalendarDays(_date, startOfYear(_date));
  const dayOfYear = diff + 1;
  return dayOfYear;
}
function getISOWeek(date, options) {
  const _date = toDate(date, options == null ? void 0 : options.in);
  const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);
  return Math.round(diff / millisecondsInWeek) + 1;
}
function getWeekYear(date, options) {
  var _a, _b, _c, _d;
  const _date = toDate(date, options == null ? void 0 : options.in);
  const year = _date.getFullYear();
  const defaultOptions2 = getDefaultOptions();
  const firstWeekContainsDate = (options == null ? void 0 : options.firstWeekContainsDate) ?? ((_b = (_a = options == null ? void 0 : options.locale) == null ? void 0 : _a.options) == null ? void 0 : _b.firstWeekContainsDate) ?? defaultOptions2.firstWeekContainsDate ?? ((_d = (_c = defaultOptions2.locale) == null ? void 0 : _c.options) == null ? void 0 : _d.firstWeekContainsDate) ?? 1;
  const firstWeekOfNextYear = constructFrom((options == null ? void 0 : options.in) || date, 0);
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
  const startOfNextYear = startOfWeek(firstWeekOfNextYear, options);
  const firstWeekOfThisYear = constructFrom((options == null ? void 0 : options.in) || date, 0);
  firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);
  firstWeekOfThisYear.setHours(0, 0, 0, 0);
  const startOfThisYear = startOfWeek(firstWeekOfThisYear, options);
  if (+_date >= +startOfNextYear) {
    return year + 1;
  } else if (+_date >= +startOfThisYear) {
    return year;
  } else {
    return year - 1;
  }
}
function startOfWeekYear(date, options) {
  var _a, _b, _c, _d;
  const defaultOptions2 = getDefaultOptions();
  const firstWeekContainsDate = (options == null ? void 0 : options.firstWeekContainsDate) ?? ((_b = (_a = options == null ? void 0 : options.locale) == null ? void 0 : _a.options) == null ? void 0 : _b.firstWeekContainsDate) ?? defaultOptions2.firstWeekContainsDate ?? ((_d = (_c = defaultOptions2.locale) == null ? void 0 : _c.options) == null ? void 0 : _d.firstWeekContainsDate) ?? 1;
  const year = getWeekYear(date, options);
  const firstWeek = constructFrom((options == null ? void 0 : options.in) || date, 0);
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
  firstWeek.setHours(0, 0, 0, 0);
  const _date = startOfWeek(firstWeek, options);
  return _date;
}
function getWeek(date, options) {
  const _date = toDate(date, options == null ? void 0 : options.in);
  const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);
  return Math.round(diff / millisecondsInWeek) + 1;
}
function addLeadingZeros(number, targetLength) {
  const sign = number < 0 ? "-" : "";
  const output = Math.abs(number).toString().padStart(targetLength, "0");
  return sign + output;
}
const lightFormatters = {
  // Year
  y(date, token) {
    const signedYear = date.getFullYear();
    const year = signedYear > 0 ? signedYear : 1 - signedYear;
    return addLeadingZeros(token === "yy" ? year % 100 : year, token.length);
  },
  // Month
  M(date, token) {
    const month = date.getMonth();
    return token === "M" ? String(month + 1) : addLeadingZeros(month + 1, 2);
  },
  // Day of the month
  d(date, token) {
    return addLeadingZeros(date.getDate(), token.length);
  },
  // AM or PM
  a(date, token) {
    const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? "pm" : "am";
    switch (token) {
      case "a":
      case "aa":
        return dayPeriodEnumValue.toUpperCase();
      case "aaa":
        return dayPeriodEnumValue;
      case "aaaaa":
        return dayPeriodEnumValue[0];
      case "aaaa":
      default:
        return dayPeriodEnumValue === "am" ? "a.m." : "p.m.";
    }
  },
  // Hour [1-12]
  h(date, token) {
    return addLeadingZeros(date.getHours() % 12 || 12, token.length);
  },
  // Hour [0-23]
  H(date, token) {
    return addLeadingZeros(date.getHours(), token.length);
  },
  // Minute
  m(date, token) {
    return addLeadingZeros(date.getMinutes(), token.length);
  },
  // Second
  s(date, token) {
    return addLeadingZeros(date.getSeconds(), token.length);
  },
  // Fraction of second
  S(date, token) {
    const numberOfDigits = token.length;
    const milliseconds = date.getMilliseconds();
    const fractionalSeconds = Math.trunc(
      milliseconds * Math.pow(10, numberOfDigits - 3)
    );
    return addLeadingZeros(fractionalSeconds, token.length);
  }
};
const dayPeriodEnum = {
  am: "am",
  pm: "pm",
  midnight: "midnight",
  noon: "noon",
  morning: "morning",
  afternoon: "afternoon",
  evening: "evening",
  night: "night"
};
const formatters = {
  // Era
  G: function(date, token, localize2) {
    const era = date.getFullYear() > 0 ? 1 : 0;
    switch (token) {
      // AD, BC
      case "G":
      case "GG":
      case "GGG":
        return localize2.era(era, { width: "abbreviated" });
      // A, B
      case "GGGGG":
        return localize2.era(era, { width: "narrow" });
      // Anno Domini, Before Christ
      case "GGGG":
      default:
        return localize2.era(era, { width: "wide" });
    }
  },
  // Year
  y: function(date, token, localize2) {
    if (token === "yo") {
      const signedYear = date.getFullYear();
      const year = signedYear > 0 ? signedYear : 1 - signedYear;
      return localize2.ordinalNumber(year, { unit: "year" });
    }
    return lightFormatters.y(date, token);
  },
  // Local week-numbering year
  Y: function(date, token, localize2, options) {
    const signedWeekYear = getWeekYear(date, options);
    const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;
    if (token === "YY") {
      const twoDigitYear = weekYear % 100;
      return addLeadingZeros(twoDigitYear, 2);
    }
    if (token === "Yo") {
      return localize2.ordinalNumber(weekYear, { unit: "year" });
    }
    return addLeadingZeros(weekYear, token.length);
  },
  // ISO week-numbering year
  R: function(date, token) {
    const isoWeekYear = getISOWeekYear(date);
    return addLeadingZeros(isoWeekYear, token.length);
  },
  // Extended year. This is a single number designating the year of this calendar system.
  // The main difference between `y` and `u` localizers are B.C. years:
  // | Year | `y` | `u` |
  // |------|-----|-----|
  // | AC 1 |   1 |   1 |
  // | BC 1 |   1 |   0 |
  // | BC 2 |   2 |  -1 |
  // Also `yy` always returns the last two digits of a year,
  // while `uu` pads single digit years to 2 characters and returns other years unchanged.
  u: function(date, token) {
    const year = date.getFullYear();
    return addLeadingZeros(year, token.length);
  },
  // Quarter
  Q: function(date, token, localize2) {
    const quarter = Math.ceil((date.getMonth() + 1) / 3);
    switch (token) {
      // 1, 2, 3, 4
      case "Q":
        return String(quarter);
      // 01, 02, 03, 04
      case "QQ":
        return addLeadingZeros(quarter, 2);
      // 1st, 2nd, 3rd, 4th
      case "Qo":
        return localize2.ordinalNumber(quarter, { unit: "quarter" });
      // Q1, Q2, Q3, Q4
      case "QQQ":
        return localize2.quarter(quarter, {
          width: "abbreviated",
          context: "formatting"
        });
      // 1, 2, 3, 4 (narrow quarter; could be not numerical)
      case "QQQQQ":
        return localize2.quarter(quarter, {
          width: "narrow",
          context: "formatting"
        });
      // 1st quarter, 2nd quarter, ...
      case "QQQQ":
      default:
        return localize2.quarter(quarter, {
          width: "wide",
          context: "formatting"
        });
    }
  },
  // Stand-alone quarter
  q: function(date, token, localize2) {
    const quarter = Math.ceil((date.getMonth() + 1) / 3);
    switch (token) {
      // 1, 2, 3, 4
      case "q":
        return String(quarter);
      // 01, 02, 03, 04
      case "qq":
        return addLeadingZeros(quarter, 2);
      // 1st, 2nd, 3rd, 4th
      case "qo":
        return localize2.ordinalNumber(quarter, { unit: "quarter" });
      // Q1, Q2, Q3, Q4
      case "qqq":
        return localize2.quarter(quarter, {
          width: "abbreviated",
          context: "standalone"
        });
      // 1, 2, 3, 4 (narrow quarter; could be not numerical)
      case "qqqqq":
        return localize2.quarter(quarter, {
          width: "narrow",
          context: "standalone"
        });
      // 1st quarter, 2nd quarter, ...
      case "qqqq":
      default:
        return localize2.quarter(quarter, {
          width: "wide",
          context: "standalone"
        });
    }
  },
  // Month
  M: function(date, token, localize2) {
    const month = date.getMonth();
    switch (token) {
      case "M":
      case "MM":
        return lightFormatters.M(date, token);
      // 1st, 2nd, ..., 12th
      case "Mo":
        return localize2.ordinalNumber(month + 1, { unit: "month" });
      // Jan, Feb, ..., Dec
      case "MMM":
        return localize2.month(month, {
          width: "abbreviated",
          context: "formatting"
        });
      // J, F, ..., D
      case "MMMMM":
        return localize2.month(month, {
          width: "narrow",
          context: "formatting"
        });
      // January, February, ..., December
      case "MMMM":
      default:
        return localize2.month(month, { width: "wide", context: "formatting" });
    }
  },
  // Stand-alone month
  L: function(date, token, localize2) {
    const month = date.getMonth();
    switch (token) {
      // 1, 2, ..., 12
      case "L":
        return String(month + 1);
      // 01, 02, ..., 12
      case "LL":
        return addLeadingZeros(month + 1, 2);
      // 1st, 2nd, ..., 12th
      case "Lo":
        return localize2.ordinalNumber(month + 1, { unit: "month" });
      // Jan, Feb, ..., Dec
      case "LLL":
        return localize2.month(month, {
          width: "abbreviated",
          context: "standalone"
        });
      // J, F, ..., D
      case "LLLLL":
        return localize2.month(month, {
          width: "narrow",
          context: "standalone"
        });
      // January, February, ..., December
      case "LLLL":
      default:
        return localize2.month(month, { width: "wide", context: "standalone" });
    }
  },
  // Local week of year
  w: function(date, token, localize2, options) {
    const week = getWeek(date, options);
    if (token === "wo") {
      return localize2.ordinalNumber(week, { unit: "week" });
    }
    return addLeadingZeros(week, token.length);
  },
  // ISO week of year
  I: function(date, token, localize2) {
    const isoWeek = getISOWeek(date);
    if (token === "Io") {
      return localize2.ordinalNumber(isoWeek, { unit: "week" });
    }
    return addLeadingZeros(isoWeek, token.length);
  },
  // Day of the month
  d: function(date, token, localize2) {
    if (token === "do") {
      return localize2.ordinalNumber(date.getDate(), { unit: "date" });
    }
    return lightFormatters.d(date, token);
  },
  // Day of year
  D: function(date, token, localize2) {
    const dayOfYear = getDayOfYear(date);
    if (token === "Do") {
      return localize2.ordinalNumber(dayOfYear, { unit: "dayOfYear" });
    }
    return addLeadingZeros(dayOfYear, token.length);
  },
  // Day of week
  E: function(date, token, localize2) {
    const dayOfWeek = date.getDay();
    switch (token) {
      // Tue
      case "E":
      case "EE":
      case "EEE":
        return localize2.day(dayOfWeek, {
          width: "abbreviated",
          context: "formatting"
        });
      // T
      case "EEEEE":
        return localize2.day(dayOfWeek, {
          width: "narrow",
          context: "formatting"
        });
      // Tu
      case "EEEEEE":
        return localize2.day(dayOfWeek, {
          width: "short",
          context: "formatting"
        });
      // Tuesday
      case "EEEE":
      default:
        return localize2.day(dayOfWeek, {
          width: "wide",
          context: "formatting"
        });
    }
  },
  // Local day of week
  e: function(date, token, localize2, options) {
    const dayOfWeek = date.getDay();
    const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;
    switch (token) {
      // Numerical value (Nth day of week with current locale or weekStartsOn)
      case "e":
        return String(localDayOfWeek);
      // Padded numerical value
      case "ee":
        return addLeadingZeros(localDayOfWeek, 2);
      // 1st, 2nd, ..., 7th
      case "eo":
        return localize2.ordinalNumber(localDayOfWeek, { unit: "day" });
      case "eee":
        return localize2.day(dayOfWeek, {
          width: "abbreviated",
          context: "formatting"
        });
      // T
      case "eeeee":
        return localize2.day(dayOfWeek, {
          width: "narrow",
          context: "formatting"
        });
      // Tu
      case "eeeeee":
        return localize2.day(dayOfWeek, {
          width: "short",
          context: "formatting"
        });
      // Tuesday
      case "eeee":
      default:
        return localize2.day(dayOfWeek, {
          width: "wide",
          context: "formatting"
        });
    }
  },
  // Stand-alone local day of week
  c: function(date, token, localize2, options) {
    const dayOfWeek = date.getDay();
    const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;
    switch (token) {
      // Numerical value (same as in `e`)
      case "c":
        return String(localDayOfWeek);
      // Padded numerical value
      case "cc":
        return addLeadingZeros(localDayOfWeek, token.length);
      // 1st, 2nd, ..., 7th
      case "co":
        return localize2.ordinalNumber(localDayOfWeek, { unit: "day" });
      case "ccc":
        return localize2.day(dayOfWeek, {
          width: "abbreviated",
          context: "standalone"
        });
      // T
      case "ccccc":
        return localize2.day(dayOfWeek, {
          width: "narrow",
          context: "standalone"
        });
      // Tu
      case "cccccc":
        return localize2.day(dayOfWeek, {
          width: "short",
          context: "standalone"
        });
      // Tuesday
      case "cccc":
      default:
        return localize2.day(dayOfWeek, {
          width: "wide",
          context: "standalone"
        });
    }
  },
  // ISO day of week
  i: function(date, token, localize2) {
    const dayOfWeek = date.getDay();
    const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;
    switch (token) {
      // 2
      case "i":
        return String(isoDayOfWeek);
      // 02
      case "ii":
        return addLeadingZeros(isoDayOfWeek, token.length);
      // 2nd
      case "io":
        return localize2.ordinalNumber(isoDayOfWeek, { unit: "day" });
      // Tue
      case "iii":
        return localize2.day(dayOfWeek, {
          width: "abbreviated",
          context: "formatting"
        });
      // T
      case "iiiii":
        return localize2.day(dayOfWeek, {
          width: "narrow",
          context: "formatting"
        });
      // Tu
      case "iiiiii":
        return localize2.day(dayOfWeek, {
          width: "short",
          context: "formatting"
        });
      // Tuesday
      case "iiii":
      default:
        return localize2.day(dayOfWeek, {
          width: "wide",
          context: "formatting"
        });
    }
  },
  // AM or PM
  a: function(date, token, localize2) {
    const hours = date.getHours();
    const dayPeriodEnumValue = hours / 12 >= 1 ? "pm" : "am";
    switch (token) {
      case "a":
      case "aa":
        return localize2.dayPeriod(dayPeriodEnumValue, {
          width: "abbreviated",
          context: "formatting"
        });
      case "aaa":
        return localize2.dayPeriod(dayPeriodEnumValue, {
          width: "abbreviated",
          context: "formatting"
        }).toLowerCase();
      case "aaaaa":
        return localize2.dayPeriod(dayPeriodEnumValue, {
          width: "narrow",
          context: "formatting"
        });
      case "aaaa":
      default:
        return localize2.dayPeriod(dayPeriodEnumValue, {
          width: "wide",
          context: "formatting"
        });
    }
  },
  // AM, PM, midnight, noon
  b: function(date, token, localize2) {
    const hours = date.getHours();
    let dayPeriodEnumValue;
    if (hours === 12) {
      dayPeriodEnumValue = dayPeriodEnum.noon;
    } else if (hours === 0) {
      dayPeriodEnumValue = dayPeriodEnum.midnight;
    } else {
      dayPeriodEnumValue = hours / 12 >= 1 ? "pm" : "am";
    }
    switch (token) {
      case "b":
      case "bb":
        return localize2.dayPeriod(dayPeriodEnumValue, {
          width: "abbreviated",
          context: "formatting"
        });
      case "bbb":
        return localize2.dayPeriod(dayPeriodEnumValue, {
          width: "abbreviated",
          context: "formatting"
        }).toLowerCase();
      case "bbbbb":
        return localize2.dayPeriod(dayPeriodEnumValue, {
          width: "narrow",
          context: "formatting"
        });
      case "bbbb":
      default:
        return localize2.dayPeriod(dayPeriodEnumValue, {
          width: "wide",
          context: "formatting"
        });
    }
  },
  // in the morning, in the afternoon, in the evening, at night
  B: function(date, token, localize2) {
    const hours = date.getHours();
    let dayPeriodEnumValue;
    if (hours >= 17) {
      dayPeriodEnumValue = dayPeriodEnum.evening;
    } else if (hours >= 12) {
      dayPeriodEnumValue = dayPeriodEnum.afternoon;
    } else if (hours >= 4) {
      dayPeriodEnumValue = dayPeriodEnum.morning;
    } else {
      dayPeriodEnumValue = dayPeriodEnum.night;
    }
    switch (token) {
      case "B":
      case "BB":
      case "BBB":
        return localize2.dayPeriod(dayPeriodEnumValue, {
          width: "abbreviated",
          context: "formatting"
        });
      case "BBBBB":
        return localize2.dayPeriod(dayPeriodEnumValue, {
          width: "narrow",
          context: "formatting"
        });
      case "BBBB":
      default:
        return localize2.dayPeriod(dayPeriodEnumValue, {
          width: "wide",
          context: "formatting"
        });
    }
  },
  // Hour [1-12]
  h: function(date, token, localize2) {
    if (token === "ho") {
      let hours = date.getHours() % 12;
      if (hours === 0) hours = 12;
      return localize2.ordinalNumber(hours, { unit: "hour" });
    }
    return lightFormatters.h(date, token);
  },
  // Hour [0-23]
  H: function(date, token, localize2) {
    if (token === "Ho") {
      return localize2.ordinalNumber(date.getHours(), { unit: "hour" });
    }
    return lightFormatters.H(date, token);
  },
  // Hour [0-11]
  K: function(date, token, localize2) {
    const hours = date.getHours() % 12;
    if (token === "Ko") {
      return localize2.ordinalNumber(hours, { unit: "hour" });
    }
    return addLeadingZeros(hours, token.length);
  },
  // Hour [1-24]
  k: function(date, token, localize2) {
    let hours = date.getHours();
    if (hours === 0) hours = 24;
    if (token === "ko") {
      return localize2.ordinalNumber(hours, { unit: "hour" });
    }
    return addLeadingZeros(hours, token.length);
  },
  // Minute
  m: function(date, token, localize2) {
    if (token === "mo") {
      return localize2.ordinalNumber(date.getMinutes(), { unit: "minute" });
    }
    return lightFormatters.m(date, token);
  },
  // Second
  s: function(date, token, localize2) {
    if (token === "so") {
      return localize2.ordinalNumber(date.getSeconds(), { unit: "second" });
    }
    return lightFormatters.s(date, token);
  },
  // Fraction of second
  S: function(date, token) {
    return lightFormatters.S(date, token);
  },
  // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)
  X: function(date, token, _localize) {
    const timezoneOffset = date.getTimezoneOffset();
    if (timezoneOffset === 0) {
      return "Z";
    }
    switch (token) {
      // Hours and optional minutes
      case "X":
        return formatTimezoneWithOptionalMinutes(timezoneOffset);
      // Hours, minutes and optional seconds without `:` delimiter
      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
      // so this token always has the same output as `XX`
      case "XXXX":
      case "XX":
        return formatTimezone(timezoneOffset);
      // Hours, minutes and optional seconds with `:` delimiter
      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
      // so this token always has the same output as `XXX`
      case "XXXXX":
      case "XXX":
      // Hours and minutes with `:` delimiter
      default:
        return formatTimezone(timezoneOffset, ":");
    }
  },
  // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)
  x: function(date, token, _localize) {
    const timezoneOffset = date.getTimezoneOffset();
    switch (token) {
      // Hours and optional minutes
      case "x":
        return formatTimezoneWithOptionalMinutes(timezoneOffset);
      // Hours, minutes and optional seconds without `:` delimiter
      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
      // so this token always has the same output as `xx`
      case "xxxx":
      case "xx":
        return formatTimezone(timezoneOffset);
      // Hours, minutes and optional seconds with `:` delimiter
      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
      // so this token always has the same output as `xxx`
      case "xxxxx":
      case "xxx":
      // Hours and minutes with `:` delimiter
      default:
        return formatTimezone(timezoneOffset, ":");
    }
  },
  // Timezone (GMT)
  O: function(date, token, _localize) {
    const timezoneOffset = date.getTimezoneOffset();
    switch (token) {
      // Short
      case "O":
      case "OO":
      case "OOO":
        return "GMT" + formatTimezoneShort(timezoneOffset, ":");
      // Long
      case "OOOO":
      default:
        return "GMT" + formatTimezone(timezoneOffset, ":");
    }
  },
  // Timezone (specific non-location)
  z: function(date, token, _localize) {
    const timezoneOffset = date.getTimezoneOffset();
    switch (token) {
      // Short
      case "z":
      case "zz":
      case "zzz":
        return "GMT" + formatTimezoneShort(timezoneOffset, ":");
      // Long
      case "zzzz":
      default:
        return "GMT" + formatTimezone(timezoneOffset, ":");
    }
  },
  // Seconds timestamp
  t: function(date, token, _localize) {
    const timestamp = Math.trunc(+date / 1e3);
    return addLeadingZeros(timestamp, token.length);
  },
  // Milliseconds timestamp
  T: function(date, token, _localize) {
    return addLeadingZeros(+date, token.length);
  }
};
function formatTimezoneShort(offset, delimiter = "") {
  const sign = offset > 0 ? "-" : "+";
  const absOffset = Math.abs(offset);
  const hours = Math.trunc(absOffset / 60);
  const minutes = absOffset % 60;
  if (minutes === 0) {
    return sign + String(hours);
  }
  return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);
}
function formatTimezoneWithOptionalMinutes(offset, delimiter) {
  if (offset % 60 === 0) {
    const sign = offset > 0 ? "-" : "+";
    return sign + addLeadingZeros(Math.abs(offset) / 60, 2);
  }
  return formatTimezone(offset, delimiter);
}
function formatTimezone(offset, delimiter = "") {
  const sign = offset > 0 ? "-" : "+";
  const absOffset = Math.abs(offset);
  const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);
  const minutes = addLeadingZeros(absOffset % 60, 2);
  return sign + hours + delimiter + minutes;
}
const dateLongFormatter = (pattern, formatLong2) => {
  switch (pattern) {
    case "P":
      return formatLong2.date({ width: "short" });
    case "PP":
      return formatLong2.date({ width: "medium" });
    case "PPP":
      return formatLong2.date({ width: "long" });
    case "PPPP":
    default:
      return formatLong2.date({ width: "full" });
  }
};
const timeLongFormatter = (pattern, formatLong2) => {
  switch (pattern) {
    case "p":
      return formatLong2.time({ width: "short" });
    case "pp":
      return formatLong2.time({ width: "medium" });
    case "ppp":
      return formatLong2.time({ width: "long" });
    case "pppp":
    default:
      return formatLong2.time({ width: "full" });
  }
};
const dateTimeLongFormatter = (pattern, formatLong2) => {
  const matchResult = pattern.match(/(P+)(p+)?/) || [];
  const datePattern = matchResult[1];
  const timePattern = matchResult[2];
  if (!timePattern) {
    return dateLongFormatter(pattern, formatLong2);
  }
  let dateTimeFormat;
  switch (datePattern) {
    case "P":
      dateTimeFormat = formatLong2.dateTime({ width: "short" });
      break;
    case "PP":
      dateTimeFormat = formatLong2.dateTime({ width: "medium" });
      break;
    case "PPP":
      dateTimeFormat = formatLong2.dateTime({ width: "long" });
      break;
    case "PPPP":
    default:
      dateTimeFormat = formatLong2.dateTime({ width: "full" });
      break;
  }
  return dateTimeFormat.replace("{{date}}", dateLongFormatter(datePattern, formatLong2)).replace("{{time}}", timeLongFormatter(timePattern, formatLong2));
};
const longFormatters = {
  p: timeLongFormatter,
  P: dateTimeLongFormatter
};
const dayOfYearTokenRE = /^D+$/;
const weekYearTokenRE = /^Y+$/;
const throwTokens = ["D", "DD", "YY", "YYYY"];
function isProtectedDayOfYearToken(token) {
  return dayOfYearTokenRE.test(token);
}
function isProtectedWeekYearToken(token) {
  return weekYearTokenRE.test(token);
}
function warnOrThrowProtectedError(token, format2, input) {
  const _message = message(token, format2, input);
  console.warn(_message);
  if (throwTokens.includes(token)) throw new RangeError(_message);
}
function message(token, format2, input) {
  const subject = token[0] === "Y" ? "years" : "days of the month";
  return `Use \`${token.toLowerCase()}\` instead of \`${token}\` (in \`${format2}\`) for formatting ${subject} to the input \`${input}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;
}
const formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g;
const longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;
const escapedStringRegExp = /^'([^]*?)'?$/;
const doubleQuoteRegExp = /''/g;
const unescapedLatinCharacterRegExp = /[a-zA-Z]/;
function format(date, formatStr, options) {
  var _a, _b, _c, _d, _e, _f, _g, _h;
  const defaultOptions2 = getDefaultOptions();
  const locale = (options == null ? void 0 : options.locale) ?? defaultOptions2.locale ?? enUS;
  const firstWeekContainsDate = (options == null ? void 0 : options.firstWeekContainsDate) ?? ((_b = (_a = options == null ? void 0 : options.locale) == null ? void 0 : _a.options) == null ? void 0 : _b.firstWeekContainsDate) ?? defaultOptions2.firstWeekContainsDate ?? ((_d = (_c = defaultOptions2.locale) == null ? void 0 : _c.options) == null ? void 0 : _d.firstWeekContainsDate) ?? 1;
  const weekStartsOn = (options == null ? void 0 : options.weekStartsOn) ?? ((_f = (_e = options == null ? void 0 : options.locale) == null ? void 0 : _e.options) == null ? void 0 : _f.weekStartsOn) ?? defaultOptions2.weekStartsOn ?? ((_h = (_g = defaultOptions2.locale) == null ? void 0 : _g.options) == null ? void 0 : _h.weekStartsOn) ?? 0;
  const originalDate = toDate(date, options == null ? void 0 : options.in);
  if (!isValid(originalDate)) {
    throw new RangeError("Invalid time value");
  }
  let parts = formatStr.match(longFormattingTokensRegExp).map((substring) => {
    const firstCharacter = substring[0];
    if (firstCharacter === "p" || firstCharacter === "P") {
      const longFormatter = longFormatters[firstCharacter];
      return longFormatter(substring, locale.formatLong);
    }
    return substring;
  }).join("").match(formattingTokensRegExp).map((substring) => {
    if (substring === "''") {
      return { isToken: false, value: "'" };
    }
    const firstCharacter = substring[0];
    if (firstCharacter === "'") {
      return { isToken: false, value: cleanEscapedString(substring) };
    }
    if (formatters[firstCharacter]) {
      return { isToken: true, value: substring };
    }
    if (firstCharacter.match(unescapedLatinCharacterRegExp)) {
      throw new RangeError(
        "Format string contains an unescaped latin alphabet character `" + firstCharacter + "`"
      );
    }
    return { isToken: false, value: substring };
  });
  if (locale.localize.preprocessor) {
    parts = locale.localize.preprocessor(originalDate, parts);
  }
  const formatterOptions = {
    firstWeekContainsDate,
    weekStartsOn,
    locale
  };
  return parts.map((part) => {
    if (!part.isToken) return part.value;
    const token = part.value;
    if (!(options == null ? void 0 : options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(token) || !(options == null ? void 0 : options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(token)) {
      warnOrThrowProtectedError(token, formatStr, String(date));
    }
    const formatter = formatters[token[0]];
    return formatter(originalDate, token, locale.localize, formatterOptions);
  }).join("");
}
function cleanEscapedString(input) {
  const matched = input.match(escapedStringRegExp);
  if (!matched) {
    return input;
  }
  return matched[1].replace(doubleQuoteRegExp, "'");
}
function parseISO(argument, options) {
  const invalidDate = () => constructFrom(options == null ? void 0 : options.in, NaN);
  const additionalDigits = 2;
  const dateStrings = splitDateString(argument);
  let date;
  if (dateStrings.date) {
    const parseYearResult = parseYear(dateStrings.date, additionalDigits);
    date = parseDate(parseYearResult.restDateString, parseYearResult.year);
  }
  if (!date || isNaN(+date)) return invalidDate();
  const timestamp = +date;
  let time = 0;
  let offset;
  if (dateStrings.time) {
    time = parseTime(dateStrings.time);
    if (isNaN(time)) return invalidDate();
  }
  if (dateStrings.timezone) {
    offset = parseTimezone(dateStrings.timezone);
    if (isNaN(offset)) return invalidDate();
  } else {
    const tmpDate = new Date(timestamp + time);
    const result = toDate(0, options == null ? void 0 : options.in);
    result.setFullYear(
      tmpDate.getUTCFullYear(),
      tmpDate.getUTCMonth(),
      tmpDate.getUTCDate()
    );
    result.setHours(
      tmpDate.getUTCHours(),
      tmpDate.getUTCMinutes(),
      tmpDate.getUTCSeconds(),
      tmpDate.getUTCMilliseconds()
    );
    return result;
  }
  return toDate(timestamp + time + offset, options == null ? void 0 : options.in);
}
const patterns = {
  dateTimeDelimiter: /[T ]/,
  timeZoneDelimiter: /[Z ]/i,
  timezone: /([Z+-].*)$/
};
const dateRegex = /^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/;
const timeRegex = /^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/;
const timezoneRegex = /^([+-])(\d{2})(?::?(\d{2}))?$/;
function splitDateString(dateString) {
  const dateStrings = {};
  const array = dateString.split(patterns.dateTimeDelimiter);
  let timeString;
  if (array.length > 2) {
    return dateStrings;
  }
  if (/:/.test(array[0])) {
    timeString = array[0];
  } else {
    dateStrings.date = array[0];
    timeString = array[1];
    if (patterns.timeZoneDelimiter.test(dateStrings.date)) {
      dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];
      timeString = dateString.substr(
        dateStrings.date.length,
        dateString.length
      );
    }
  }
  if (timeString) {
    const token = patterns.timezone.exec(timeString);
    if (token) {
      dateStrings.time = timeString.replace(token[1], "");
      dateStrings.timezone = token[1];
    } else {
      dateStrings.time = timeString;
    }
  }
  return dateStrings;
}
function parseYear(dateString, additionalDigits) {
  const regex = new RegExp(
    "^(?:(\\d{4}|[+-]\\d{" + (4 + additionalDigits) + "})|(\\d{2}|[+-]\\d{" + (2 + additionalDigits) + "})$)"
  );
  const captures = dateString.match(regex);
  if (!captures) return { year: NaN, restDateString: "" };
  const year = captures[1] ? parseInt(captures[1]) : null;
  const century = captures[2] ? parseInt(captures[2]) : null;
  return {
    year: century === null ? year : century * 100,
    restDateString: dateString.slice((captures[1] || captures[2]).length)
  };
}
function parseDate(dateString, year) {
  if (year === null) return /* @__PURE__ */ new Date(NaN);
  const captures = dateString.match(dateRegex);
  if (!captures) return /* @__PURE__ */ new Date(NaN);
  const isWeekDate = !!captures[4];
  const dayOfYear = parseDateUnit(captures[1]);
  const month = parseDateUnit(captures[2]) - 1;
  const day = parseDateUnit(captures[3]);
  const week = parseDateUnit(captures[4]);
  const dayOfWeek = parseDateUnit(captures[5]) - 1;
  if (isWeekDate) {
    if (!validateWeekDate(year, week, dayOfWeek)) {
      return /* @__PURE__ */ new Date(NaN);
    }
    return dayOfISOWeekYear(year, week, dayOfWeek);
  } else {
    const date = /* @__PURE__ */ new Date(0);
    if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) {
      return /* @__PURE__ */ new Date(NaN);
    }
    date.setUTCFullYear(year, month, Math.max(dayOfYear, day));
    return date;
  }
}
function parseDateUnit(value2) {
  return value2 ? parseInt(value2) : 1;
}
function parseTime(timeString) {
  const captures = timeString.match(timeRegex);
  if (!captures) return NaN;
  const hours = parseTimeUnit(captures[1]);
  const minutes = parseTimeUnit(captures[2]);
  const seconds = parseTimeUnit(captures[3]);
  if (!validateTime(hours, minutes, seconds)) {
    return NaN;
  }
  return hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1e3;
}
function parseTimeUnit(value2) {
  return value2 && parseFloat(value2.replace(",", ".")) || 0;
}
function parseTimezone(timezoneString) {
  if (timezoneString === "Z") return 0;
  const captures = timezoneString.match(timezoneRegex);
  if (!captures) return 0;
  const sign = captures[1] === "+" ? -1 : 1;
  const hours = parseInt(captures[2]);
  const minutes = captures[3] && parseInt(captures[3]) || 0;
  if (!validateTimezone(hours, minutes)) {
    return NaN;
  }
  return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute);
}
function dayOfISOWeekYear(isoWeekYear, week, day) {
  const date = /* @__PURE__ */ new Date(0);
  date.setUTCFullYear(isoWeekYear, 0, 4);
  const fourthOfJanuaryDay = date.getUTCDay() || 7;
  const diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;
  date.setUTCDate(date.getUTCDate() + diff);
  return date;
}
const daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
function isLeapYearIndex(year) {
  return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;
}
function validateDate(year, month, date) {
  return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28));
}
function validateDayOfYearDate(year, dayOfYear) {
  return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);
}
function validateWeekDate(_year, week, day) {
  return week >= 1 && week <= 53 && day >= 0 && day <= 6;
}
function validateTime(hours, minutes, seconds) {
  if (hours === 24) {
    return minutes === 0 && seconds === 0;
  }
  return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25;
}
function validateTimezone(_hours, minutes) {
  return minutes >= 0 && minutes <= 59;
}
var script$4 = {
  name: "SpinnerIcon",
  "extends": script$k
};
function render$4(_ctx, _cache, $props, $setup, $data, $options) {
  return openBlock(), createElementBlock("svg", mergeProps({
    width: "14",
    height: "14",
    viewBox: "0 0 14 14",
    fill: "none",
    xmlns: "http://www.w3.org/2000/svg"
  }, _ctx.pti()), _cache[0] || (_cache[0] = [createBaseVNode("path", {
    d: "M6.99701 14C5.85441 13.999 4.72939 13.7186 3.72012 13.1832C2.71084 12.6478 1.84795 11.8737 1.20673 10.9284C0.565504 9.98305 0.165424 8.89526 0.041387 7.75989C-0.0826496 6.62453 0.073125 5.47607 0.495122 4.4147C0.917119 3.35333 1.59252 2.4113 2.46241 1.67077C3.33229 0.930247 4.37024 0.413729 5.4857 0.166275C6.60117 -0.0811796 7.76026 -0.0520535 8.86188 0.251112C9.9635 0.554278 10.9742 1.12227 11.8057 1.90555C11.915 2.01493 11.9764 2.16319 11.9764 2.31778C11.9764 2.47236 11.915 2.62062 11.8057 2.73C11.7521 2.78503 11.688 2.82877 11.6171 2.85864C11.5463 2.8885 11.4702 2.90389 11.3933 2.90389C11.3165 2.90389 11.2404 2.8885 11.1695 2.85864C11.0987 2.82877 11.0346 2.78503 10.9809 2.73C9.9998 1.81273 8.73246 1.26138 7.39226 1.16876C6.05206 1.07615 4.72086 1.44794 3.62279 2.22152C2.52471 2.99511 1.72683 4.12325 1.36345 5.41602C1.00008 6.70879 1.09342 8.08723 1.62775 9.31926C2.16209 10.5513 3.10478 11.5617 4.29713 12.1803C5.48947 12.7989 6.85865 12.988 8.17414 12.7157C9.48963 12.4435 10.6711 11.7264 11.5196 10.6854C12.3681 9.64432 12.8319 8.34282 12.8328 7C12.8328 6.84529 12.8943 6.69692 13.0038 6.58752C13.1132 6.47812 13.2616 6.41667 13.4164 6.41667C13.5712 6.41667 13.7196 6.47812 13.8291 6.58752C13.9385 6.69692 14 6.84529 14 7C14 8.85651 13.2622 10.637 11.9489 11.9497C10.6356 13.2625 8.85432 14 6.99701 14Z",
    fill: "currentColor"
  }, null, -1)]), 16);
}
script$4.render = render$4;
var theme$2 = function theme6(_ref) {
  var dt2 = _ref.dt;
  return "\n.p-badge {\n    display: inline-flex;\n    border-radius: ".concat(dt2("badge.border.radius"), ";\n    align-items: center;\n    justify-content: center;\n    padding: ").concat(dt2("badge.padding"), ";\n    background: ").concat(dt2("badge.primary.background"), ";\n    color: ").concat(dt2("badge.primary.color"), ";\n    font-size: ").concat(dt2("badge.font.size"), ";\n    font-weight: ").concat(dt2("badge.font.weight"), ";\n    min-width: ").concat(dt2("badge.min.width"), ";\n    height: ").concat(dt2("badge.height"), ";\n}\n\n.p-badge-dot {\n    width: ").concat(dt2("badge.dot.size"), ";\n    min-width: ").concat(dt2("badge.dot.size"), ";\n    height: ").concat(dt2("badge.dot.size"), ";\n    border-radius: 50%;\n    padding: 0;\n}\n\n.p-badge-circle {\n    padding: 0;\n    border-radius: 50%;\n}\n\n.p-badge-secondary {\n    background: ").concat(dt2("badge.secondary.background"), ";\n    color: ").concat(dt2("badge.secondary.color"), ";\n}\n\n.p-badge-success {\n    background: ").concat(dt2("badge.success.background"), ";\n    color: ").concat(dt2("badge.success.color"), ";\n}\n\n.p-badge-info {\n    background: ").concat(dt2("badge.info.background"), ";\n    color: ").concat(dt2("badge.info.color"), ";\n}\n\n.p-badge-warn {\n    background: ").concat(dt2("badge.warn.background"), ";\n    color: ").concat(dt2("badge.warn.color"), ";\n}\n\n.p-badge-danger {\n    background: ").concat(dt2("badge.danger.background"), ";\n    color: ").concat(dt2("badge.danger.color"), ";\n}\n\n.p-badge-contrast {\n    background: ").concat(dt2("badge.contrast.background"), ";\n    color: ").concat(dt2("badge.contrast.color"), ";\n}\n\n.p-badge-sm {\n    font-size: ").concat(dt2("badge.sm.font.size"), ";\n    min-width: ").concat(dt2("badge.sm.min.width"), ";\n    height: ").concat(dt2("badge.sm.height"), ";\n}\n\n.p-badge-lg {\n    font-size: ").concat(dt2("badge.lg.font.size"), ";\n    min-width: ").concat(dt2("badge.lg.min.width"), ";\n    height: ").concat(dt2("badge.lg.height"), ";\n}\n\n.p-badge-xl {\n    font-size: ").concat(dt2("badge.xl.font.size"), ";\n    min-width: ").concat(dt2("badge.xl.min.width"), ";\n    height: ").concat(dt2("badge.xl.height"), ";\n}\n");
};
var classes$2 = {
  root: function root5(_ref2) {
    var props = _ref2.props, instance2 = _ref2.instance;
    return ["p-badge p-component", {
      "p-badge-circle": isNotEmpty(props.value) && String(props.value).length === 1,
      "p-badge-dot": isEmpty(props.value) && !instance2.$slots["default"],
      "p-badge-sm": props.size === "small",
      "p-badge-lg": props.size === "large",
      "p-badge-xl": props.size === "xlarge",
      "p-badge-info": props.severity === "info",
      "p-badge-success": props.severity === "success",
      "p-badge-warn": props.severity === "warn",
      "p-badge-danger": props.severity === "danger",
      "p-badge-secondary": props.severity === "secondary",
      "p-badge-contrast": props.severity === "contrast"
    }];
  }
};
var BadgeStyle = BaseStyle.extend({
  name: "badge",
  theme: theme$2,
  classes: classes$2
});
var script$1$2 = {
  name: "BaseBadge",
  "extends": script$l,
  props: {
    value: {
      type: [String, Number],
      "default": null
    },
    severity: {
      type: String,
      "default": null
    },
    size: {
      type: String,
      "default": null
    }
  },
  style: BadgeStyle,
  provide: function provide9() {
    return {
      $pcBadge: this,
      $parentInstance: this
    };
  }
};
var script$3 = {
  name: "Badge",
  "extends": script$1$2,
  inheritAttrs: false
};
function render$3(_ctx, _cache, $props, $setup, $data, $options) {
  return openBlock(), createElementBlock("span", mergeProps({
    "class": _ctx.cx("root")
  }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default", {}, function() {
    return [createTextVNode(toDisplayString(_ctx.value), 1)];
  })], 16);
}
script$3.render = render$3;
function _typeof$1(o2) {
  "@babel/helpers - typeof";
  return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) {
    return typeof o3;
  } : function(o3) {
    return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3;
  }, _typeof$1(o2);
}
function _defineProperty$2(e, r2, t2) {
  return (r2 = _toPropertyKey$2(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;
}
function _toPropertyKey$2(t2) {
  var i = _toPrimitive$2(t2, "string");
  return "symbol" == _typeof$1(i) ? i : i + "";
}
function _toPrimitive$2(t2, r2) {
  if ("object" != _typeof$1(t2) || !t2) return t2;
  var e = t2[Symbol.toPrimitive];
  if (void 0 !== e) {
    var i = e.call(t2, r2 || "default");
    if ("object" != _typeof$1(i)) return i;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return ("string" === r2 ? String : Number)(t2);
}
var theme$1 = function theme7(_ref) {
  var dt2 = _ref.dt;
  return "\n.p-button {\n    display: inline-flex;\n    cursor: pointer;\n    user-select: none;\n    align-items: center;\n    justify-content: center;\n    overflow: hidden;\n    position: relative;\n    color: ".concat(dt2("button.primary.color"), ";\n    background: ").concat(dt2("button.primary.background"), ";\n    border: 1px solid ").concat(dt2("button.primary.border.color"), ";\n    padding: ").concat(dt2("button.padding.y"), " ").concat(dt2("button.padding.x"), ";\n    font-size: 1rem;\n    font-family: inherit;\n    font-feature-settings: inherit;\n    transition: background ").concat(dt2("button.transition.duration"), ", color ").concat(dt2("button.transition.duration"), ", border-color ").concat(dt2("button.transition.duration"), ",\n            outline-color ").concat(dt2("button.transition.duration"), ", box-shadow ").concat(dt2("button.transition.duration"), ";\n    border-radius: ").concat(dt2("button.border.radius"), ";\n    outline-color: transparent;\n    gap: ").concat(dt2("button.gap"), ";\n}\n\n.p-button:disabled {\n    cursor: default;\n}\n\n.p-button-icon-right {\n    order: 1;\n}\n\n.p-button-icon-right:dir(rtl) {\n    order: -1;\n}\n\n.p-button:not(.p-button-vertical) .p-button-icon:not(.p-button-icon-right):dir(rtl) {\n    order: 1;\n}\n\n.p-button-icon-bottom {\n    order: 2;\n}\n\n.p-button-icon-only {\n    width: ").concat(dt2("button.icon.only.width"), ";\n    padding-inline-start: 0;\n    padding-inline-end: 0;\n    gap: 0;\n}\n\n.p-button-icon-only.p-button-rounded {\n    border-radius: 50%;\n    height: ").concat(dt2("button.icon.only.width"), ";\n}\n\n.p-button-icon-only .p-button-label {\n    visibility: hidden;\n    width: 0;\n}\n\n.p-button-sm {\n    font-size: ").concat(dt2("button.sm.font.size"), ";\n    padding: ").concat(dt2("button.sm.padding.y"), " ").concat(dt2("button.sm.padding.x"), ";\n}\n\n.p-button-sm .p-button-icon {\n    font-size: ").concat(dt2("button.sm.font.size"), ";\n}\n\n.p-button-lg {\n    font-size: ").concat(dt2("button.lg.font.size"), ";\n    padding: ").concat(dt2("button.lg.padding.y"), " ").concat(dt2("button.lg.padding.x"), ";\n}\n\n.p-button-lg .p-button-icon {\n    font-size: ").concat(dt2("button.lg.font.size"), ";\n}\n\n.p-button-vertical {\n    flex-direction: column;\n}\n\n.p-button-label {\n    font-weight: ").concat(dt2("button.label.font.weight"), ";\n}\n\n.p-button-fluid {\n    width: 100%;\n}\n\n.p-button-fluid.p-button-icon-only {\n    width: ").concat(dt2("button.icon.only.width"), ";\n}\n\n.p-button:not(:disabled):hover {\n    background: ").concat(dt2("button.primary.hover.background"), ";\n    border: 1px solid ").concat(dt2("button.primary.hover.border.color"), ";\n    color: ").concat(dt2("button.primary.hover.color"), ";\n}\n\n.p-button:not(:disabled):active {\n    background: ").concat(dt2("button.primary.active.background"), ";\n    border: 1px solid ").concat(dt2("button.primary.active.border.color"), ";\n    color: ").concat(dt2("button.primary.active.color"), ";\n}\n\n.p-button:focus-visible {\n    box-shadow: ").concat(dt2("button.primary.focus.ring.shadow"), ";\n    outline: ").concat(dt2("button.focus.ring.width"), " ").concat(dt2("button.focus.ring.style"), " ").concat(dt2("button.primary.focus.ring.color"), ";\n    outline-offset: ").concat(dt2("button.focus.ring.offset"), ";\n}\n\n.p-button .p-badge {\n    min-width: ").concat(dt2("button.badge.size"), ";\n    height: ").concat(dt2("button.badge.size"), ";\n    line-height: ").concat(dt2("button.badge.size"), ";\n}\n\n.p-button-raised {\n    box-shadow: ").concat(dt2("button.raised.shadow"), ";\n}\n\n.p-button-rounded {\n    border-radius: ").concat(dt2("button.rounded.border.radius"), ";\n}\n\n.p-button-secondary {\n    background: ").concat(dt2("button.secondary.background"), ";\n    border: 1px solid ").concat(dt2("button.secondary.border.color"), ";\n    color: ").concat(dt2("button.secondary.color"), ";\n}\n\n.p-button-secondary:not(:disabled):hover {\n    background: ").concat(dt2("button.secondary.hover.background"), ";\n    border: 1px solid ").concat(dt2("button.secondary.hover.border.color"), ";\n    color: ").concat(dt2("button.secondary.hover.color"), ";\n}\n\n.p-button-secondary:not(:disabled):active {\n    background: ").concat(dt2("button.secondary.active.background"), ";\n    border: 1px solid ").concat(dt2("button.secondary.active.border.color"), ";\n    color: ").concat(dt2("button.secondary.active.color"), ";\n}\n\n.p-button-secondary:focus-visible {\n    outline-color: ").concat(dt2("button.secondary.focus.ring.color"), ";\n    box-shadow: ").concat(dt2("button.secondary.focus.ring.shadow"), ";\n}\n\n.p-button-success {\n    background: ").concat(dt2("button.success.background"), ";\n    border: 1px solid ").concat(dt2("button.success.border.color"), ";\n    color: ").concat(dt2("button.success.color"), ";\n}\n\n.p-button-success:not(:disabled):hover {\n    background: ").concat(dt2("button.success.hover.background"), ";\n    border: 1px solid ").concat(dt2("button.success.hover.border.color"), ";\n    color: ").concat(dt2("button.success.hover.color"), ";\n}\n\n.p-button-success:not(:disabled):active {\n    background: ").concat(dt2("button.success.active.background"), ";\n    border: 1px solid ").concat(dt2("button.success.active.border.color"), ";\n    color: ").concat(dt2("button.success.active.color"), ";\n}\n\n.p-button-success:focus-visible {\n    outline-color: ").concat(dt2("button.success.focus.ring.color"), ";\n    box-shadow: ").concat(dt2("button.success.focus.ring.shadow"), ";\n}\n\n.p-button-info {\n    background: ").concat(dt2("button.info.background"), ";\n    border: 1px solid ").concat(dt2("button.info.border.color"), ";\n    color: ").concat(dt2("button.info.color"), ";\n}\n\n.p-button-info:not(:disabled):hover {\n    background: ").concat(dt2("button.info.hover.background"), ";\n    border: 1px solid ").concat(dt2("button.info.hover.border.color"), ";\n    color: ").concat(dt2("button.info.hover.color"), ";\n}\n\n.p-button-info:not(:disabled):active {\n    background: ").concat(dt2("button.info.active.background"), ";\n    border: 1px solid ").concat(dt2("button.info.active.border.color"), ";\n    color: ").concat(dt2("button.info.active.color"), ";\n}\n\n.p-button-info:focus-visible {\n    outline-color: ").concat(dt2("button.info.focus.ring.color"), ";\n    box-shadow: ").concat(dt2("button.info.focus.ring.shadow"), ";\n}\n\n.p-button-warn {\n    background: ").concat(dt2("button.warn.background"), ";\n    border: 1px solid ").concat(dt2("button.warn.border.color"), ";\n    color: ").concat(dt2("button.warn.color"), ";\n}\n\n.p-button-warn:not(:disabled):hover {\n    background: ").concat(dt2("button.warn.hover.background"), ";\n    border: 1px solid ").concat(dt2("button.warn.hover.border.color"), ";\n    color: ").concat(dt2("button.warn.hover.color"), ";\n}\n\n.p-button-warn:not(:disabled):active {\n    background: ").concat(dt2("button.warn.active.background"), ";\n    border: 1px solid ").concat(dt2("button.warn.active.border.color"), ";\n    color: ").concat(dt2("button.warn.active.color"), ";\n}\n\n.p-button-warn:focus-visible {\n    outline-color: ").concat(dt2("button.warn.focus.ring.color"), ";\n    box-shadow: ").concat(dt2("button.warn.focus.ring.shadow"), ";\n}\n\n.p-button-help {\n    background: ").concat(dt2("button.help.background"), ";\n    border: 1px solid ").concat(dt2("button.help.border.color"), ";\n    color: ").concat(dt2("button.help.color"), ";\n}\n\n.p-button-help:not(:disabled):hover {\n    background: ").concat(dt2("button.help.hover.background"), ";\n    border: 1px solid ").concat(dt2("button.help.hover.border.color"), ";\n    color: ").concat(dt2("button.help.hover.color"), ";\n}\n\n.p-button-help:not(:disabled):active {\n    background: ").concat(dt2("button.help.active.background"), ";\n    border: 1px solid ").concat(dt2("button.help.active.border.color"), ";\n    color: ").concat(dt2("button.help.active.color"), ";\n}\n\n.p-button-help:focus-visible {\n    outline-color: ").concat(dt2("button.help.focus.ring.color"), ";\n    box-shadow: ").concat(dt2("button.help.focus.ring.shadow"), ";\n}\n\n.p-button-danger {\n    background: ").concat(dt2("button.danger.background"), ";\n    border: 1px solid ").concat(dt2("button.danger.border.color"), ";\n    color: ").concat(dt2("button.danger.color"), ";\n}\n\n.p-button-danger:not(:disabled):hover {\n    background: ").concat(dt2("button.danger.hover.background"), ";\n    border: 1px solid ").concat(dt2("button.danger.hover.border.color"), ";\n    color: ").concat(dt2("button.danger.hover.color"), ";\n}\n\n.p-button-danger:not(:disabled):active {\n    background: ").concat(dt2("button.danger.active.background"), ";\n    border: 1px solid ").concat(dt2("button.danger.active.border.color"), ";\n    color: ").concat(dt2("button.danger.active.color"), ";\n}\n\n.p-button-danger:focus-visible {\n    outline-color: ").concat(dt2("button.danger.focus.ring.color"), ";\n    box-shadow: ").concat(dt2("button.danger.focus.ring.shadow"), ";\n}\n\n.p-button-contrast {\n    background: ").concat(dt2("button.contrast.background"), ";\n    border: 1px solid ").concat(dt2("button.contrast.border.color"), ";\n    color: ").concat(dt2("button.contrast.color"), ";\n}\n\n.p-button-contrast:not(:disabled):hover {\n    background: ").concat(dt2("button.contrast.hover.background"), ";\n    border: 1px solid ").concat(dt2("button.contrast.hover.border.color"), ";\n    color: ").concat(dt2("button.contrast.hover.color"), ";\n}\n\n.p-button-contrast:not(:disabled):active {\n    background: ").concat(dt2("button.contrast.active.background"), ";\n    border: 1px solid ").concat(dt2("button.contrast.active.border.color"), ";\n    color: ").concat(dt2("button.contrast.active.color"), ";\n}\n\n.p-button-contrast:focus-visible {\n    outline-color: ").concat(dt2("button.contrast.focus.ring.color"), ";\n    box-shadow: ").concat(dt2("button.contrast.focus.ring.shadow"), ";\n}\n\n.p-button-outlined {\n    background: transparent;\n    border-color: ").concat(dt2("button.outlined.primary.border.color"), ";\n    color: ").concat(dt2("button.outlined.primary.color"), ";\n}\n\n.p-button-outlined:not(:disabled):hover {\n    background: ").concat(dt2("button.outlined.primary.hover.background"), ";\n    border-color: ").concat(dt2("button.outlined.primary.border.color"), ";\n    color: ").concat(dt2("button.outlined.primary.color"), ";\n}\n\n.p-button-outlined:not(:disabled):active {\n    background: ").concat(dt2("button.outlined.primary.active.background"), ";\n    border-color: ").concat(dt2("button.outlined.primary.border.color"), ";\n    color: ").concat(dt2("button.outlined.primary.color"), ";\n}\n\n.p-button-outlined.p-button-secondary {\n    border-color: ").concat(dt2("button.outlined.secondary.border.color"), ";\n    color: ").concat(dt2("button.outlined.secondary.color"), ";\n}\n\n.p-button-outlined.p-button-secondary:not(:disabled):hover {\n    background: ").concat(dt2("button.outlined.secondary.hover.background"), ";\n    border-color: ").concat(dt2("button.outlined.secondary.border.color"), ";\n    color: ").concat(dt2("button.outlined.secondary.color"), ";\n}\n\n.p-button-outlined.p-button-secondary:not(:disabled):active {\n    background: ").concat(dt2("button.outlined.secondary.active.background"), ";\n    border-color: ").concat(dt2("button.outlined.secondary.border.color"), ";\n    color: ").concat(dt2("button.outlined.secondary.color"), ";\n}\n\n.p-button-outlined.p-button-success {\n    border-color: ").concat(dt2("button.outlined.success.border.color"), ";\n    color: ").concat(dt2("button.outlined.success.color"), ";\n}\n\n.p-button-outlined.p-button-success:not(:disabled):hover {\n    background: ").concat(dt2("button.outlined.success.hover.background"), ";\n    border-color: ").concat(dt2("button.outlined.success.border.color"), ";\n    color: ").concat(dt2("button.outlined.success.color"), ";\n}\n\n.p-button-outlined.p-button-success:not(:disabled):active {\n    background: ").concat(dt2("button.outlined.success.active.background"), ";\n    border-color: ").concat(dt2("button.outlined.success.border.color"), ";\n    color: ").concat(dt2("button.outlined.success.color"), ";\n}\n\n.p-button-outlined.p-button-info {\n    border-color: ").concat(dt2("button.outlined.info.border.color"), ";\n    color: ").concat(dt2("button.outlined.info.color"), ";\n}\n\n.p-button-outlined.p-button-info:not(:disabled):hover {\n    background: ").concat(dt2("button.outlined.info.hover.background"), ";\n    border-color: ").concat(dt2("button.outlined.info.border.color"), ";\n    color: ").concat(dt2("button.outlined.info.color"), ";\n}\n\n.p-button-outlined.p-button-info:not(:disabled):active {\n    background: ").concat(dt2("button.outlined.info.active.background"), ";\n    border-color: ").concat(dt2("button.outlined.info.border.color"), ";\n    color: ").concat(dt2("button.outlined.info.color"), ";\n}\n\n.p-button-outlined.p-button-warn {\n    border-color: ").concat(dt2("button.outlined.warn.border.color"), ";\n    color: ").concat(dt2("button.outlined.warn.color"), ";\n}\n\n.p-button-outlined.p-button-warn:not(:disabled):hover {\n    background: ").concat(dt2("button.outlined.warn.hover.background"), ";\n    border-color: ").concat(dt2("button.outlined.warn.border.color"), ";\n    color: ").concat(dt2("button.outlined.warn.color"), ";\n}\n\n.p-button-outlined.p-button-warn:not(:disabled):active {\n    background: ").concat(dt2("button.outlined.warn.active.background"), ";\n    border-color: ").concat(dt2("button.outlined.warn.border.color"), ";\n    color: ").concat(dt2("button.outlined.warn.color"), ";\n}\n\n.p-button-outlined.p-button-help {\n    border-color: ").concat(dt2("button.outlined.help.border.color"), ";\n    color: ").concat(dt2("button.outlined.help.color"), ";\n}\n\n.p-button-outlined.p-button-help:not(:disabled):hover {\n    background: ").concat(dt2("button.outlined.help.hover.background"), ";\n    border-color: ").concat(dt2("button.outlined.help.border.color"), ";\n    color: ").concat(dt2("button.outlined.help.color"), ";\n}\n\n.p-button-outlined.p-button-help:not(:disabled):active {\n    background: ").concat(dt2("button.outlined.help.active.background"), ";\n    border-color: ").concat(dt2("button.outlined.help.border.color"), ";\n    color: ").concat(dt2("button.outlined.help.color"), ";\n}\n\n.p-button-outlined.p-button-danger {\n    border-color: ").concat(dt2("button.outlined.danger.border.color"), ";\n    color: ").concat(dt2("button.outlined.danger.color"), ";\n}\n\n.p-button-outlined.p-button-danger:not(:disabled):hover {\n    background: ").concat(dt2("button.outlined.danger.hover.background"), ";\n    border-color: ").concat(dt2("button.outlined.danger.border.color"), ";\n    color: ").concat(dt2("button.outlined.danger.color"), ";\n}\n\n.p-button-outlined.p-button-danger:not(:disabled):active {\n    background: ").concat(dt2("button.outlined.danger.active.background"), ";\n    border-color: ").concat(dt2("button.outlined.danger.border.color"), ";\n    color: ").concat(dt2("button.outlined.danger.color"), ";\n}\n\n.p-button-outlined.p-button-contrast {\n    border-color: ").concat(dt2("button.outlined.contrast.border.color"), ";\n    color: ").concat(dt2("button.outlined.contrast.color"), ";\n}\n\n.p-button-outlined.p-button-contrast:not(:disabled):hover {\n    background: ").concat(dt2("button.outlined.contrast.hover.background"), ";\n    border-color: ").concat(dt2("button.outlined.contrast.border.color"), ";\n    color: ").concat(dt2("button.outlined.contrast.color"), ";\n}\n\n.p-button-outlined.p-button-contrast:not(:disabled):active {\n    background: ").concat(dt2("button.outlined.contrast.active.background"), ";\n    border-color: ").concat(dt2("button.outlined.contrast.border.color"), ";\n    color: ").concat(dt2("button.outlined.contrast.color"), ";\n}\n\n.p-button-outlined.p-button-plain {\n    border-color: ").concat(dt2("button.outlined.plain.border.color"), ";\n    color: ").concat(dt2("button.outlined.plain.color"), ";\n}\n\n.p-button-outlined.p-button-plain:not(:disabled):hover {\n    background: ").concat(dt2("button.outlined.plain.hover.background"), ";\n    border-color: ").concat(dt2("button.outlined.plain.border.color"), ";\n    color: ").concat(dt2("button.outlined.plain.color"), ";\n}\n\n.p-button-outlined.p-button-plain:not(:disabled):active {\n    background: ").concat(dt2("button.outlined.plain.active.background"), ";\n    border-color: ").concat(dt2("button.outlined.plain.border.color"), ";\n    color: ").concat(dt2("button.outlined.plain.color"), ";\n}\n\n.p-button-text {\n    background: transparent;\n    border-color: transparent;\n    color: ").concat(dt2("button.text.primary.color"), ";\n}\n\n.p-button-text:not(:disabled):hover {\n    background: ").concat(dt2("button.text.primary.hover.background"), ";\n    border-color: transparent;\n    color: ").concat(dt2("button.text.primary.color"), ";\n}\n\n.p-button-text:not(:disabled):active {\n    background: ").concat(dt2("button.text.primary.active.background"), ";\n    border-color: transparent;\n    color: ").concat(dt2("button.text.primary.color"), ";\n}\n\n.p-button-text.p-button-secondary {\n    background: transparent;\n    border-color: transparent;\n    color: ").concat(dt2("button.text.secondary.color"), ";\n}\n\n.p-button-text.p-button-secondary:not(:disabled):hover {\n    background: ").concat(dt2("button.text.secondary.hover.background"), ";\n    border-color: transparent;\n    color: ").concat(dt2("button.text.secondary.color"), ";\n}\n\n.p-button-text.p-button-secondary:not(:disabled):active {\n    background: ").concat(dt2("button.text.secondary.active.background"), ";\n    border-color: transparent;\n    color: ").concat(dt2("button.text.secondary.color"), ";\n}\n\n.p-button-text.p-button-success {\n    background: transparent;\n    border-color: transparent;\n    color: ").concat(dt2("button.text.success.color"), ";\n}\n\n.p-button-text.p-button-success:not(:disabled):hover {\n    background: ").concat(dt2("button.text.success.hover.background"), ";\n    border-color: transparent;\n    color: ").concat(dt2("button.text.success.color"), ";\n}\n\n.p-button-text.p-button-success:not(:disabled):active {\n    background: ").concat(dt2("button.text.success.active.background"), ";\n    border-color: transparent;\n    color: ").concat(dt2("button.text.success.color"), ";\n}\n\n.p-button-text.p-button-info {\n    background: transparent;\n    border-color: transparent;\n    color: ").concat(dt2("button.text.info.color"), ";\n}\n\n.p-button-text.p-button-info:not(:disabled):hover {\n    background: ").concat(dt2("button.text.info.hover.background"), ";\n    border-color: transparent;\n    color: ").concat(dt2("button.text.info.color"), ";\n}\n\n.p-button-text.p-button-info:not(:disabled):active {\n    background: ").concat(dt2("button.text.info.active.background"), ";\n    border-color: transparent;\n    color: ").concat(dt2("button.text.info.color"), ";\n}\n\n.p-button-text.p-button-warn {\n    background: transparent;\n    border-color: transparent;\n    color: ").concat(dt2("button.text.warn.color"), ";\n}\n\n.p-button-text.p-button-warn:not(:disabled):hover {\n    background: ").concat(dt2("button.text.warn.hover.background"), ";\n    border-color: transparent;\n    color: ").concat(dt2("button.text.warn.color"), ";\n}\n\n.p-button-text.p-button-warn:not(:disabled):active {\n    background: ").concat(dt2("button.text.warn.active.background"), ";\n    border-color: transparent;\n    color: ").concat(dt2("button.text.warn.color"), ";\n}\n\n.p-button-text.p-button-help {\n    background: transparent;\n    border-color: transparent;\n    color: ").concat(dt2("button.text.help.color"), ";\n}\n\n.p-button-text.p-button-help:not(:disabled):hover {\n    background: ").concat(dt2("button.text.help.hover.background"), ";\n    border-color: transparent;\n    color: ").concat(dt2("button.text.help.color"), ";\n}\n\n.p-button-text.p-button-help:not(:disabled):active {\n    background: ").concat(dt2("button.text.help.active.background"), ";\n    border-color: transparent;\n    color: ").concat(dt2("button.text.help.color"), ";\n}\n\n.p-button-text.p-button-danger {\n    background: transparent;\n    border-color: transparent;\n    color: ").concat(dt2("button.text.danger.color"), ";\n}\n\n.p-button-text.p-button-danger:not(:disabled):hover {\n    background: ").concat(dt2("button.text.danger.hover.background"), ";\n    border-color: transparent;\n    color: ").concat(dt2("button.text.danger.color"), ";\n}\n\n.p-button-text.p-button-danger:not(:disabled):active {\n    background: ").concat(dt2("button.text.danger.active.background"), ";\n    border-color: transparent;\n    color: ").concat(dt2("button.text.danger.color"), ";\n}\n\n.p-button-text.p-button-contrast {\n    background: transparent;\n    border-color: transparent;\n    color: ").concat(dt2("button.text.contrast.color"), ";\n}\n\n.p-button-text.p-button-contrast:not(:disabled):hover {\n    background: ").concat(dt2("button.text.contrast.hover.background"), ";\n    border-color: transparent;\n    color: ").concat(dt2("button.text.contrast.color"), ";\n}\n\n.p-button-text.p-button-contrast:not(:disabled):active {\n    background: ").concat(dt2("button.text.contrast.active.background"), ";\n    border-color: transparent;\n    color: ").concat(dt2("button.text.contrast.color"), ";\n}\n\n.p-button-text.p-button-plain {\n    background: transparent;\n    border-color: transparent;\n    color: ").concat(dt2("button.text.plain.color"), ";\n}\n\n.p-button-text.p-button-plain:not(:disabled):hover {\n    background: ").concat(dt2("button.text.plain.hover.background"), ";\n    border-color: transparent;\n    color: ").concat(dt2("button.text.plain.color"), ";\n}\n\n.p-button-text.p-button-plain:not(:disabled):active {\n    background: ").concat(dt2("button.text.plain.active.background"), ";\n    border-color: transparent;\n    color: ").concat(dt2("button.text.plain.color"), ";\n}\n\n.p-button-link {\n    background: transparent;\n    border-color: transparent;\n    color: ").concat(dt2("button.link.color"), ";\n}\n\n.p-button-link:not(:disabled):hover {\n    background: transparent;\n    border-color: transparent;\n    color: ").concat(dt2("button.link.hover.color"), ";\n}\n\n.p-button-link:not(:disabled):hover .p-button-label {\n    text-decoration: underline;\n}\n\n.p-button-link:not(:disabled):active {\n    background: transparent;\n    border-color: transparent;\n    color: ").concat(dt2("button.link.active.color"), ";\n}\n");
};
var classes$1 = {
  root: function root6(_ref2) {
    var instance2 = _ref2.instance, props = _ref2.props;
    return ["p-button p-component", _defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2({
      "p-button-icon-only": instance2.hasIcon && !props.label && !props.badge,
      "p-button-vertical": (props.iconPos === "top" || props.iconPos === "bottom") && props.label,
      "p-button-loading": props.loading,
      "p-button-link": props.link || props.variant === "link"
    }, "p-button-".concat(props.severity), props.severity), "p-button-raised", props.raised), "p-button-rounded", props.rounded), "p-button-text", props.text || props.variant === "text"), "p-button-outlined", props.outlined || props.variant === "outlined"), "p-button-sm", props.size === "small"), "p-button-lg", props.size === "large"), "p-button-plain", props.plain), "p-button-fluid", instance2.hasFluid)];
  },
  loadingIcon: "p-button-loading-icon",
  icon: function icon(_ref4) {
    var props = _ref4.props;
    return ["p-button-icon", _defineProperty$2({}, "p-button-icon-".concat(props.iconPos), props.label)];
  },
  label: "p-button-label"
};
var ButtonStyle = BaseStyle.extend({
  name: "button",
  theme: theme$1,
  classes: classes$1
});
var script$1$1 = {
  name: "BaseButton",
  "extends": script$l,
  props: {
    label: {
      type: String,
      "default": null
    },
    icon: {
      type: String,
      "default": null
    },
    iconPos: {
      type: String,
      "default": "left"
    },
    iconClass: {
      type: [String, Object],
      "default": null
    },
    badge: {
      type: String,
      "default": null
    },
    badgeClass: {
      type: [String, Object],
      "default": null
    },
    badgeSeverity: {
      type: String,
      "default": "secondary"
    },
    loading: {
      type: Boolean,
      "default": false
    },
    loadingIcon: {
      type: String,
      "default": void 0
    },
    as: {
      type: [String, Object],
      "default": "BUTTON"
    },
    asChild: {
      type: Boolean,
      "default": false
    },
    link: {
      type: Boolean,
      "default": false
    },
    severity: {
      type: String,
      "default": null
    },
    raised: {
      type: Boolean,
      "default": false
    },
    rounded: {
      type: Boolean,
      "default": false
    },
    text: {
      type: Boolean,
      "default": false
    },
    outlined: {
      type: Boolean,
      "default": false
    },
    size: {
      type: String,
      "default": null
    },
    variant: {
      type: String,
      "default": null
    },
    plain: {
      type: Boolean,
      "default": false
    },
    fluid: {
      type: Boolean,
      "default": null
    }
  },
  style: ButtonStyle,
  provide: function provide10() {
    return {
      $pcButton: this,
      $parentInstance: this
    };
  }
};
var script$2 = {
  name: "Button",
  "extends": script$1$1,
  inheritAttrs: false,
  inject: {
    $pcFluid: {
      "default": null
    }
  },
  methods: {
    getPTOptions: function getPTOptions(key) {
      var _ptm = key === "root" ? this.ptmi : this.ptm;
      return _ptm(key, {
        context: {
          disabled: this.disabled
        }
      });
    }
  },
  computed: {
    disabled: function disabled() {
      return this.$attrs.disabled || this.$attrs.disabled === "" || this.loading;
    },
    defaultAriaLabel: function defaultAriaLabel() {
      return this.label ? this.label + (this.badge ? " " + this.badge : "") : this.$attrs.ariaLabel;
    },
    hasIcon: function hasIcon() {
      return this.icon || this.$slots.icon;
    },
    attrs: function attrs3() {
      return mergeProps(this.asAttrs, this.a11yAttrs, this.getPTOptions("root"));
    },
    asAttrs: function asAttrs2() {
      return this.as === "BUTTON" ? {
        type: "button",
        disabled: this.disabled
      } : void 0;
    },
    a11yAttrs: function a11yAttrs3() {
      return {
        "aria-label": this.defaultAriaLabel,
        "data-pc-name": "button",
        "data-p-disabled": this.disabled,
        "data-p-severity": this.severity
      };
    },
    hasFluid: function hasFluid() {
      return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid;
    }
  },
  components: {
    SpinnerIcon: script$4,
    Badge: script$3
  },
  directives: {
    ripple: Ripple
  }
};
function render$2(_ctx, _cache, $props, $setup, $data, $options) {
  var _component_SpinnerIcon = resolveComponent("SpinnerIcon");
  var _component_Badge = resolveComponent("Badge");
  var _directive_ripple = resolveDirective("ripple");
  return !_ctx.asChild ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({
    key: 0,
    "class": _ctx.cx("root")
  }, $options.attrs), {
    "default": withCtx(function() {
      return [renderSlot(_ctx.$slots, "default", {}, function() {
        return [_ctx.loading ? renderSlot(_ctx.$slots, "loadingicon", mergeProps({
          key: 0,
          "class": [_ctx.cx("loadingIcon"), _ctx.cx("icon")]
        }, _ctx.ptm("loadingIcon")), function() {
          return [_ctx.loadingIcon ? (openBlock(), createElementBlock("span", mergeProps({
            key: 0,
            "class": [_ctx.cx("loadingIcon"), _ctx.cx("icon"), _ctx.loadingIcon]
          }, _ctx.ptm("loadingIcon")), null, 16)) : (openBlock(), createBlock(_component_SpinnerIcon, mergeProps({
            key: 1,
            "class": [_ctx.cx("loadingIcon"), _ctx.cx("icon")],
            spin: ""
          }, _ctx.ptm("loadingIcon")), null, 16, ["class"]))];
        }) : renderSlot(_ctx.$slots, "icon", mergeProps({
          key: 1,
          "class": [_ctx.cx("icon")]
        }, _ctx.ptm("icon")), function() {
          return [_ctx.icon ? (openBlock(), createElementBlock("span", mergeProps({
            key: 0,
            "class": [_ctx.cx("icon"), _ctx.icon, _ctx.iconClass]
          }, _ctx.ptm("icon")), null, 16)) : createCommentVNode("", true)];
        }), createBaseVNode("span", mergeProps({
          "class": _ctx.cx("label")
        }, _ctx.ptm("label")), toDisplayString(_ctx.label || " "), 17), _ctx.badge ? (openBlock(), createBlock(_component_Badge, {
          key: 2,
          value: _ctx.badge,
          "class": normalizeClass(_ctx.badgeClass),
          severity: _ctx.badgeSeverity,
          unstyled: _ctx.unstyled,
          pt: _ctx.ptm("pcBadge")
        }, null, 8, ["value", "class", "severity", "unstyled", "pt"])) : createCommentVNode("", true)];
      })];
    }),
    _: 3
  }, 16, ["class"])), [[_directive_ripple]]) : renderSlot(_ctx.$slots, "default", {
    key: 1,
    "class": normalizeClass(_ctx.cx("root")),
    a11yAttrs: $options.a11yAttrs
  });
}
script$2.render = render$2;
var OverlayEventBus = EventBus();
var theme8 = function theme9(_ref) {
  var dt2 = _ref.dt;
  return "\n.p-popover {\n    margin-block-start: ".concat(dt2("popover.gutter"), ";\n    background: ").concat(dt2("popover.background"), ";\n    color: ").concat(dt2("popover.color"), ";\n    border: 1px solid ").concat(dt2("popover.border.color"), ";\n    border-radius: ").concat(dt2("popover.border.radius"), ";\n    box-shadow: ").concat(dt2("popover.shadow"), ";\n}\n\n.p-popover-content {\n    padding: ").concat(dt2("popover.content.padding"), ";\n}\n\n.p-popover-flipped {\n    margin-block-start: calc(").concat(dt2("popover.gutter"), " * -1);\n    margin-block-end: ").concat(dt2("popover.gutter"), ";\n}\n\n.p-popover-enter-from {\n    opacity: 0;\n    transform: scaleY(0.8);\n}\n\n.p-popover-leave-to {\n    opacity: 0;\n}\n\n.p-popover-enter-active {\n    transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n}\n\n.p-popover-leave-active {\n    transition: opacity 0.1s linear;\n}\n\n.p-popover:after,\n.p-popover:before {\n    bottom: 100%;\n    left: calc(").concat(dt2("popover.arrow.offset"), " + ").concat(dt2("popover.arrow.left"), ');\n    content: " ";\n    height: 0;\n    width: 0;\n    position: absolute;\n    pointer-events: none;\n}\n\n.p-popover:after {\n    border-width: calc(').concat(dt2("popover.gutter"), " - 2px);\n    margin-left: calc(-1 * (").concat(dt2("popover.gutter"), " - 2px));\n    border-style: solid;\n    border-color: transparent;\n    border-bottom-color: ").concat(dt2("popover.background"), ";\n}\n\n.p-popover:before {\n    border-width: ").concat(dt2("popover.gutter"), ";\n    margin-left: calc(-1 * ").concat(dt2("popover.gutter"), ");\n    border-style: solid;\n    border-color: transparent;\n    border-bottom-color: ").concat(dt2("popover.border.color"), ";\n}\n\n.p-popover-flipped:after,\n.p-popover-flipped:before {\n    bottom: auto;\n    top: 100%;\n}\n\n.p-popover.p-popover-flipped:after {\n    border-bottom-color: transparent;\n    border-top-color: ").concat(dt2("popover.background"), ";\n}\n\n.p-popover.p-popover-flipped:before {\n    border-bottom-color: transparent;\n    border-top-color: ").concat(dt2("popover.border.color"), ";\n}\n");
};
var classes = {
  root: "p-popover p-component",
  content: "p-popover-content"
};
var PopoverStyle = BaseStyle.extend({
  name: "popover",
  theme: theme8,
  classes
});
var script$1 = {
  name: "BasePopover",
  "extends": script$l,
  props: {
    dismissable: {
      type: Boolean,
      "default": true
    },
    appendTo: {
      type: [String, Object],
      "default": "body"
    },
    baseZIndex: {
      type: Number,
      "default": 0
    },
    autoZIndex: {
      type: Boolean,
      "default": true
    },
    breakpoints: {
      type: Object,
      "default": null
    },
    closeOnEscape: {
      type: Boolean,
      "default": true
    }
  },
  style: PopoverStyle,
  provide: function provide11() {
    return {
      $pcPopover: this,
      $parentInstance: this
    };
  }
};
var script = {
  name: "Popover",
  "extends": script$1,
  inheritAttrs: false,
  emits: ["show", "hide"],
  data: function data5() {
    return {
      visible: false
    };
  },
  watch: {
    dismissable: {
      immediate: true,
      handler: function handler5(newValue) {
        if (newValue) {
          this.bindOutsideClickListener();
        } else {
          this.unbindOutsideClickListener();
        }
      }
    }
  },
  selfClick: false,
  target: null,
  eventTarget: null,
  outsideClickListener: null,
  scrollHandler: null,
  resizeListener: null,
  container: null,
  styleElement: null,
  overlayEventListener: null,
  documentKeydownListener: null,
  beforeUnmount: function beforeUnmount4() {
    if (this.dismissable) {
      this.unbindOutsideClickListener();
    }
    if (this.scrollHandler) {
      this.scrollHandler.destroy();
      this.scrollHandler = null;
    }
    this.destroyStyle();
    this.unbindResizeListener();
    this.target = null;
    if (this.container && this.autoZIndex) {
      ZIndex.clear(this.container);
    }
    if (this.overlayEventListener) {
      OverlayEventBus.off("overlay-click", this.overlayEventListener);
      this.overlayEventListener = null;
    }
    this.container = null;
  },
  mounted: function mounted6() {
    if (this.breakpoints) {
      this.createStyle();
    }
  },
  methods: {
    toggle: function toggle(event, target) {
      if (this.visible) this.hide();
      else this.show(event, target);
    },
    show: function show2(event, target) {
      this.visible = true;
      this.eventTarget = event.currentTarget;
      this.target = target || event.currentTarget;
    },
    hide: function hide2() {
      this.visible = false;
    },
    onContentClick: function onContentClick() {
      this.selfClick = true;
    },
    onEnter: function onEnter2(el) {
      var _this = this;
      addStyle(el, {
        position: "absolute",
        top: "0",
        left: "0"
      });
      this.alignOverlay();
      if (this.dismissable) {
        this.bindOutsideClickListener();
      }
      this.bindScrollListener();
      this.bindResizeListener();
      if (this.autoZIndex) {
        ZIndex.set("overlay", el, this.baseZIndex + this.$primevue.config.zIndex.overlay);
      }
      this.overlayEventListener = function(e) {
        if (_this.container.contains(e.target)) {
          _this.selfClick = true;
        }
      };
      this.focus();
      OverlayEventBus.on("overlay-click", this.overlayEventListener);
      this.$emit("show");
      if (this.closeOnEscape) {
        this.bindDocumentKeyDownListener();
      }
    },
    onLeave: function onLeave2() {
      this.unbindOutsideClickListener();
      this.unbindScrollListener();
      this.unbindResizeListener();
      this.unbindDocumentKeyDownListener();
      OverlayEventBus.off("overlay-click", this.overlayEventListener);
      this.overlayEventListener = null;
      this.$emit("hide");
    },
    onAfterLeave: function onAfterLeave2(el) {
      if (this.autoZIndex) {
        ZIndex.clear(el);
      }
    },
    alignOverlay: function alignOverlay() {
      absolutePosition(this.container, this.target, false);
      var containerOffset = getOffset(this.container);
      var targetOffset = getOffset(this.target);
      var arrowLeft = 0;
      if (containerOffset.left < targetOffset.left) {
        arrowLeft = targetOffset.left - containerOffset.left;
      }
      this.container.style.setProperty($dt("popover.arrow.left").name, "".concat(arrowLeft, "px"));
      if (containerOffset.top < targetOffset.top) {
        this.container.setAttribute("data-p-popover-flipped", "true");
        !this.isUnstyled && addClass(this.container, "p-popover-flipped");
      }
    },
    onContentKeydown: function onContentKeydown(event) {
      if (event.code === "Escape" && this.closeOnEscape) {
        this.hide();
        focus(this.target);
      }
    },
    onButtonKeydown: function onButtonKeydown(event) {
      switch (event.code) {
        case "ArrowDown":
        case "ArrowUp":
        case "ArrowLeft":
        case "ArrowRight":
          event.preventDefault();
      }
    },
    focus: function focus3() {
      var focusTarget = this.container.querySelector("[autofocus]");
      if (focusTarget) {
        focusTarget.focus();
      }
    },
    onKeyDown: function onKeyDown(event) {
      if (event.code === "Escape" && this.closeOnEscape) {
        this.visible = false;
      }
    },
    bindDocumentKeyDownListener: function bindDocumentKeyDownListener() {
      if (!this.documentKeydownListener) {
        this.documentKeydownListener = this.onKeyDown.bind(this);
        window.document.addEventListener("keydown", this.documentKeydownListener);
      }
    },
    unbindDocumentKeyDownListener: function unbindDocumentKeyDownListener() {
      if (this.documentKeydownListener) {
        window.document.removeEventListener("keydown", this.documentKeydownListener);
        this.documentKeydownListener = null;
      }
    },
    bindOutsideClickListener: function bindOutsideClickListener() {
      var _this2 = this;
      if (!this.outsideClickListener && isClient()) {
        this.outsideClickListener = function(event) {
          if (_this2.visible && !_this2.selfClick && !_this2.isTargetClicked(event)) {
            _this2.visible = false;
          }
          _this2.selfClick = false;
        };
        document.addEventListener("click", this.outsideClickListener);
      }
    },
    unbindOutsideClickListener: function unbindOutsideClickListener() {
      if (this.outsideClickListener) {
        document.removeEventListener("click", this.outsideClickListener);
        this.outsideClickListener = null;
        this.selfClick = false;
      }
    },
    bindScrollListener: function bindScrollListener2() {
      var _this3 = this;
      if (!this.scrollHandler) {
        this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, function() {
          if (_this3.visible) {
            _this3.visible = false;
          }
        });
      }
      this.scrollHandler.bindScrollListener();
    },
    unbindScrollListener: function unbindScrollListener2() {
      if (this.scrollHandler) {
        this.scrollHandler.unbindScrollListener();
      }
    },
    bindResizeListener: function bindResizeListener() {
      var _this4 = this;
      if (!this.resizeListener) {
        this.resizeListener = function() {
          if (_this4.visible && !isTouchDevice()) {
            _this4.visible = false;
          }
        };
        window.addEventListener("resize", this.resizeListener);
      }
    },
    unbindResizeListener: function unbindResizeListener() {
      if (this.resizeListener) {
        window.removeEventListener("resize", this.resizeListener);
        this.resizeListener = null;
      }
    },
    isTargetClicked: function isTargetClicked(event) {
      return this.eventTarget && (this.eventTarget === event.target || this.eventTarget.contains(event.target));
    },
    containerRef: function containerRef(el) {
      this.container = el;
    },
    createStyle: function createStyle() {
      if (!this.styleElement && !this.isUnstyled) {
        var _this$$primevue;
        this.styleElement = document.createElement("style");
        this.styleElement.type = "text/css";
        setAttribute(this.styleElement, "nonce", (_this$$primevue = this.$primevue) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.config) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.csp) === null || _this$$primevue === void 0 ? void 0 : _this$$primevue.nonce);
        document.head.appendChild(this.styleElement);
        var innerHTML = "";
        for (var breakpoint in this.breakpoints) {
          innerHTML += "\n                        @media screen and (max-width: ".concat(breakpoint, ") {\n                            .p-popover[").concat(this.$attrSelector, "] {\n                                width: ").concat(this.breakpoints[breakpoint], " !important;\n                            }\n                        }\n                    ");
        }
        this.styleElement.innerHTML = innerHTML;
      }
    },
    destroyStyle: function destroyStyle() {
      if (this.styleElement) {
        document.head.removeChild(this.styleElement);
        this.styleElement = null;
      }
    },
    onOverlayClick: function onOverlayClick(event) {
      OverlayEventBus.emit("overlay-click", {
        originalEvent: event,
        target: this.target
      });
    }
  },
  directives: {
    focustrap: FocusTrap,
    ripple: Ripple
  },
  components: {
    Portal: script$d
  }
};
var _hoisted_1$5 = ["aria-modal"];
function render$1(_ctx, _cache, $props, $setup, $data, $options) {
  var _component_Portal = resolveComponent("Portal");
  var _directive_focustrap = resolveDirective("focustrap");
  return openBlock(), createBlock(_component_Portal, {
    appendTo: _ctx.appendTo
  }, {
    "default": withCtx(function() {
      return [createVNode(Transition, mergeProps({
        name: "p-popover",
        onEnter: $options.onEnter,
        onLeave: $options.onLeave,
        onAfterLeave: $options.onAfterLeave
      }, _ctx.ptm("transition")), {
        "default": withCtx(function() {
          return [$data.visible ? withDirectives((openBlock(), createElementBlock("div", mergeProps({
            key: 0,
            ref: $options.containerRef,
            role: "dialog",
            "aria-modal": $data.visible,
            onClick: _cache[3] || (_cache[3] = function() {
              return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments);
            }),
            "class": _ctx.cx("root")
          }, _ctx.ptmi("root")), [_ctx.$slots.container ? renderSlot(_ctx.$slots, "container", {
            key: 0,
            closeCallback: $options.hide,
            keydownCallback: function keydownCallback(event) {
              return $options.onButtonKeydown(event);
            }
          }) : (openBlock(), createElementBlock("div", mergeProps({
            key: 1,
            "class": _ctx.cx("content"),
            onClick: _cache[0] || (_cache[0] = function() {
              return $options.onContentClick && $options.onContentClick.apply($options, arguments);
            }),
            onMousedown: _cache[1] || (_cache[1] = function() {
              return $options.onContentClick && $options.onContentClick.apply($options, arguments);
            }),
            onKeydown: _cache[2] || (_cache[2] = function() {
              return $options.onContentKeydown && $options.onContentKeydown.apply($options, arguments);
            })
          }, _ctx.ptm("content")), [renderSlot(_ctx.$slots, "default")], 16))], 16, _hoisted_1$5)), [[_directive_focustrap]]) : createCommentVNode("", true)];
        }),
        _: 3
      }, 16, ["onEnter", "onLeave", "onAfterLeave"])];
    }),
    _: 3
  }, 8, ["appendTo"]);
}
script.render = render$1;
const _hoisted_1$4 = {
  key: 1,
  class: "slug"
};
const _hoisted_2$4 = {
  key: 1,
  class: "slug"
};
const _hoisted_3$4 = { class: "container" };
const _hoisted_4$3 = { class: "row" };
const _hoisted_5$3 = { class: "col" };
const _hoisted_6$3 = {
  key: 1,
  class: "slug"
};
const _hoisted_7$3 = {
  key: 1,
  class: "slug"
};
const _hoisted_8$3 = { class: "row" };
const _hoisted_9$3 = { class: "col" };
const _hoisted_10$2 = { class: "row" };
const _hoisted_11 = { class: "col" };
const _hoisted_12 = { class: "row" };
const _hoisted_13 = { class: "col" };
const _hoisted_14 = {
  key: 0,
  class: "row"
};
const _hoisted_15 = { class: "col" };
const _hoisted_16 = {
  key: 1,
  class: "row"
};
const _hoisted_17 = { class: "col" };
const _hoisted_18 = { class: "row" };
const _hoisted_19 = { class: "col" };
const _hoisted_20 = {
  key: 2,
  class: "row"
};
const _hoisted_21 = { class: "col" };
const _hoisted_22 = { class: "row" };
const _hoisted_23 = { class: "col" };
const _hoisted_24 = { class: "row" };
const _hoisted_25 = { class: "col" };
const _hoisted_26 = { class: "row" };
const _hoisted_27 = { class: "col" };
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
  __name: "ItemDetail",
  props: {
    item: {}
  },
  setup(__props) {
    const formatDate = (date) => {
      return format(parseISO(date), "MM/dd/yyyy");
    }, indexStore = useIndexStore(), op = ref(), toggle2 = (event) => {
      op.value.toggle(event);
    };
    onMounted(() => {
    });
    return (_ctx, _cache) => {
      return openBlock(), createElementBlock(Fragment, null, [
        createVNode(unref(script$2), {
          onClick: toggle2,
          class: normalizeClass([
            "item",
            _ctx.item.object,
            "v-center",
            unref(indexStore).stageNumberToName(_ctx.item.assignments.srs_stage)
          ])
        }, {
          default: withCtx(() => {
            var _a;
            return [
              _ctx.item.object == "radical" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
                _ctx.item.data.characters == null ? (openBlock(), createBlock(unref(script$c), {
                  key: 0,
                  src: (_a = _ctx.item.data.character_images) == null ? void 0 : _a.filter((o2) => o2.content_type == "image/svg+xml")[0].url
                }, null, 8, ["src"])) : (openBlock(), createElementBlock("span", _hoisted_1$4, toDisplayString(_ctx.item.data.characters), 1))
              ], 64)) : (openBlock(), createElementBlock("span", _hoisted_2$4, toDisplayString(_ctx.item.data.slug), 1))
            ];
          }),
          _: 1
        }, 8, ["class"]),
        createVNode(unref(script), {
          ref_key: "op",
          ref: op,
          class: "poItem"
        }, {
          default: withCtx(() => {
            var _a, _b;
            return [
              createBaseVNode("div", _hoisted_3$4, [
                createBaseVNode("div", _hoisted_4$3, [
                  createBaseVNode("div", _hoisted_5$3, [
                    _ctx.item.object == "radical" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
                      _ctx.item.data.characters == null ? (openBlock(), createBlock(unref(script$c), {
                        key: 0,
                        class: "slug",
                        src: (_a = _ctx.item.data.character_images) == null ? void 0 : _a.filter((o2) => o2.content_type == "image/svg+xml")[0].url
                      }, null, 8, ["src"])) : (openBlock(), createElementBlock("span", _hoisted_6$3, toDisplayString(_ctx.item.data.characters), 1))
                    ], 64)) : (openBlock(), createElementBlock("span", _hoisted_7$3, toDisplayString(_ctx.item.data.slug), 1)),
                    _cache[0] || (_cache[0] = createBaseVNode("br", null, null, -1))
                  ])
                ]),
                createBaseVNode("div", _hoisted_8$3, [
                  _cache[1] || (_cache[1] = createBaseVNode("div", { class: "col-3" }, [
                    createBaseVNode("label", { for: "lblType" }, "Type")
                  ], -1)),
                  createBaseVNode("div", _hoisted_9$3, toDisplayString(_ctx.item.object), 1)
                ]),
                createBaseVNode("div", _hoisted_10$2, [
                  _cache[2] || (_cache[2] = createBaseVNode("div", { class: "col-3" }, [
                    createBaseVNode("span", null, "Meaning")
                  ], -1)),
                  createBaseVNode("div", _hoisted_11, [
                    createBaseVNode("span", null, toDisplayString(_ctx.item.data.meanings.map((m2) => m2.meaning).join(", ")), 1)
                  ])
                ]),
                createBaseVNode("div", _hoisted_12, [
                  _cache[3] || (_cache[3] = createBaseVNode("div", { class: "col-3" }, [
                    createBaseVNode("span", null, "Meaning Mnemonic")
                  ], -1)),
                  createBaseVNode("div", _hoisted_13, [
                    createBaseVNode("span", null, toDisplayString(_ctx.item.data.meaning_mnemonic), 1)
                  ])
                ]),
                _ctx.item.object == "kanji" || _ctx.item.object == "vocabulary" ? (openBlock(), createElementBlock("div", _hoisted_14, [
                  _cache[4] || (_cache[4] = createBaseVNode("div", { class: "col-3" }, [
                    createBaseVNode("span", null, "Reading")
                  ], -1)),
                  createBaseVNode("div", _hoisted_15, [
                    createBaseVNode("span", null, toDisplayString((_b = _ctx.item.data.readings) == null ? void 0 : _b.map((m2) => m2.reading).join(", ")), 1)
                  ])
                ])) : createCommentVNode("", true),
                _ctx.item.object == "kanji" || _ctx.item.object == "vocabulary" ? (openBlock(), createElementBlock("div", _hoisted_16, [
                  _cache[5] || (_cache[5] = createBaseVNode("div", { class: "col-3" }, [
                    createBaseVNode("span", null, "Reading Mnemonic")
                  ], -1)),
                  createBaseVNode("div", _hoisted_17, [
                    createBaseVNode("span", null, toDisplayString(_ctx.item.data.reading_mnemonic), 1)
                  ])
                ])) : createCommentVNode("", true),
                createBaseVNode("div", _hoisted_18, [
                  _cache[6] || (_cache[6] = createBaseVNode("div", { class: "col-3" }, [
                    createBaseVNode("span", null, "Unlocked At")
                  ], -1)),
                  createBaseVNode("div", _hoisted_19, [
                    createBaseVNode("span", null, toDisplayString(formatDate(_ctx.item.assignments.unlocked_at)), 1)
                  ])
                ]),
                _ctx.item.assignments.burned_at != null ? (openBlock(), createElementBlock("div", _hoisted_20, [
                  _cache[7] || (_cache[7] = createBaseVNode("div", { class: "col-3" }, [
                    createBaseVNode("span", null, "Burned At")
                  ], -1)),
                  createBaseVNode("div", _hoisted_21, [
                    createBaseVNode("span", null, toDisplayString(formatDate(_ctx.item.assignments.burned_at)), 1)
                  ])
                ])) : createCommentVNode("", true),
                createBaseVNode("div", _hoisted_22, [
                  _cache[8] || (_cache[8] = createBaseVNode("div", { class: "col-3" }, [
                    createBaseVNode("span", null, "Correct Percentage")
                  ], -1)),
                  createBaseVNode("div", _hoisted_23, [
                    createBaseVNode("span", null, toDisplayString(_ctx.item.review_statistics.percentage_correct) + "%", 1)
                  ])
                ]),
                createBaseVNode("div", _hoisted_24, [
                  _cache[9] || (_cache[9] = createBaseVNode("div", { class: "col-3" }, [
                    createBaseVNode("span", null, "Meaning Correct")
                  ], -1)),
                  createBaseVNode("div", _hoisted_25, [
                    createBaseVNode("span", null, toDisplayString(_ctx.item.review_statistics.meaning_correct) + "/" + toDisplayString(_ctx.item.review_statistics.meaning_correct + _ctx.item.review_statistics.meaning_incorrect), 1)
                  ])
                ]),
                createBaseVNode("div", _hoisted_26, [
                  _cache[10] || (_cache[10] = createBaseVNode("div", { class: "col-3" }, [
                    createBaseVNode("span", null, "Reading Correct")
                  ], -1)),
                  createBaseVNode("div", _hoisted_27, [
                    createBaseVNode("span", null, toDisplayString(_ctx.item.review_statistics.reading_correct) + "/" + toDisplayString(_ctx.item.review_statistics.reading_correct + _ctx.item.review_statistics.reading_incorrect), 1)
                  ])
                ])
              ])
            ];
          }),
          _: 1
        }, 512)
      ], 64);
    };
  }
});
const _export_sfc = (sfc, props) => {
  const target = sfc.__vccOpts || sfc;
  for (const [key, val] of props) {
    target[key] = val;
  }
  return target;
};
const ItemDetail = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-34dfa321"]]);
const _hoisted_1$3 = { class: "container" };
const _hoisted_2$3 = { class: "row" };
const _hoisted_3$3 = { class: "col" };
const _hoisted_4$2 = { class: "level" };
const _hoisted_5$2 = { class: "row" };
const _hoisted_6$2 = { class: "col" };
const _hoisted_7$2 = { class: "row" };
const _hoisted_8$2 = { class: "col" };
const _hoisted_9$2 = { class: "type" };
const _hoisted_10$1 = { class: "row itemDetails" };
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
  __name: "ItemDetails",
  setup(__props) {
    const itemDataStore = useItemDataStore();
    onMounted(() => {
    });
    return (_ctx, _cache) => {
      const _component_tamplate = resolveComponent("tamplate");
      return openBlock(), createElementBlock(Fragment, null, renderList(8, (n) => {
        return createVNode(_component_tamplate, { key: n }, {
          default: withCtx(() => [
            createBaseVNode("div", _hoisted_1$3, [
              createBaseVNode("div", _hoisted_2$3, [
                createBaseVNode("div", _hoisted_3$3, [
                  createBaseVNode("span", _hoisted_4$2, "Level " + toDisplayString(n), 1)
                ])
              ]),
              createBaseVNode("div", _hoisted_5$2, [
                createBaseVNode("div", _hoisted_6$2, [
                  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(itemDataStore).types.filter((t2) => t2 != "kana_vocabulary"), (type) => {
                    return openBlock(), createElementBlock("div", {
                      class: "container",
                      key: type
                    }, [
                      createBaseVNode("div", _hoisted_7$2, [
                        createBaseVNode("div", _hoisted_8$2, [
                          createBaseVNode("span", _hoisted_9$2, toDisplayString(type), 1)
                        ])
                      ]),
                      createBaseVNode("div", _hoisted_10$1, [
                        (openBlock(true), createElementBlock(Fragment, null, renderList(unref(itemDataStore).itemData.filter(
                          (i) => i.object == type && i.data.level == n
                        ), (item) => {
                          return openBlock(), createBlock(ItemDetail, {
                            item,
                            key: item.id
                          }, null, 8, ["item"]);
                        }), 128))
                      ])
                    ]);
                  }), 128))
                ])
              ])
            ])
          ]),
          _: 2
        }, 1024);
      }), 64);
    };
  }
});
const ItemDetails = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-0ec29284"]]);
/*!
 * ApexCharts v4.3.0
 * (c) 2018-2024 ApexCharts
 * Released under the MIT License.
 */
var apexcharts_common;
var hasRequiredApexcharts_common;
function requireApexcharts_common() {
  if (hasRequiredApexcharts_common) return apexcharts_common;
  hasRequiredApexcharts_common = 1;
  function t2(t3, e2) {
    (null == e2 || e2 > t3.length) && (e2 = t3.length);
    for (var i2 = 0, a2 = Array(e2); i2 < e2; i2++) a2[i2] = t3[i2];
    return a2;
  }
  function e(t3) {
    if (void 0 === t3) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
    return t3;
  }
  function i(t3, e2) {
    if (!(t3 instanceof e2)) throw new TypeError("Cannot call a class as a function");
  }
  function a(t3, e2) {
    for (var i2 = 0; i2 < e2.length; i2++) {
      var a2 = e2[i2];
      a2.enumerable = a2.enumerable || false, a2.configurable = true, "value" in a2 && (a2.writable = true), Object.defineProperty(t3, x2(a2.key), a2);
    }
  }
  function s2(t3, e2, i2) {
    return e2 && a(t3.prototype, e2), i2 && a(t3, i2), Object.defineProperty(t3, "prototype", { writable: false }), t3;
  }
  function r2(t3, e2) {
    var i2 = "undefined" != typeof Symbol && t3[Symbol.iterator] || t3["@@iterator"];
    if (!i2) {
      if (Array.isArray(t3) || (i2 = m2(t3)) || e2) {
        i2 && (t3 = i2);
        var a2 = 0, s3 = function() {
        };
        return { s: s3, n: function() {
          return a2 >= t3.length ? { done: true } : { done: false, value: t3[a2++] };
        }, e: function(t4) {
          throw t4;
        }, f: s3 };
      }
      throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
    }
    var r3, n2 = true, o3 = false;
    return { s: function() {
      i2 = i2.call(t3);
    }, n: function() {
      var t4 = i2.next();
      return n2 = t4.done, t4;
    }, e: function(t4) {
      o3 = true, r3 = t4;
    }, f: function() {
      try {
        n2 || null == i2.return || i2.return();
      } finally {
        if (o3) throw r3;
      }
    } };
  }
  function n(t3) {
    var i2 = c();
    return function() {
      var a2, s3 = l(t3);
      if (i2) {
        var r3 = l(this).constructor;
        a2 = Reflect.construct(s3, arguments, r3);
      } else a2 = s3.apply(this, arguments);
      return function(t4, i3) {
        if (i3 && ("object" == typeof i3 || "function" == typeof i3)) return i3;
        if (void 0 !== i3) throw new TypeError("Derived constructors may only return object or undefined");
        return e(t4);
      }(this, a2);
    };
  }
  function o2(t3, e2, i2) {
    return (e2 = x2(e2)) in t3 ? Object.defineProperty(t3, e2, { value: i2, enumerable: true, configurable: true, writable: true }) : t3[e2] = i2, t3;
  }
  function l(t3) {
    return l = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t4) {
      return t4.__proto__ || Object.getPrototypeOf(t4);
    }, l(t3);
  }
  function h2(t3, e2) {
    if ("function" != typeof e2 && null !== e2) throw new TypeError("Super expression must either be null or a function");
    t3.prototype = Object.create(e2 && e2.prototype, { constructor: { value: t3, writable: true, configurable: true } }), Object.defineProperty(t3, "prototype", { writable: false }), e2 && g2(t3, e2);
  }
  function c() {
    try {
      var t3 = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
      }));
    } catch (t4) {
    }
    return (c = function() {
      return !!t3;
    })();
  }
  function d(t3, e2) {
    var i2 = Object.keys(t3);
    if (Object.getOwnPropertySymbols) {
      var a2 = Object.getOwnPropertySymbols(t3);
      e2 && (a2 = a2.filter(function(e3) {
        return Object.getOwnPropertyDescriptor(t3, e3).enumerable;
      })), i2.push.apply(i2, a2);
    }
    return i2;
  }
  function u(t3) {
    for (var e2 = 1; e2 < arguments.length; e2++) {
      var i2 = null != arguments[e2] ? arguments[e2] : {};
      e2 % 2 ? d(Object(i2), true).forEach(function(e3) {
        o2(t3, e3, i2[e3]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t3, Object.getOwnPropertyDescriptors(i2)) : d(Object(i2)).forEach(function(e3) {
        Object.defineProperty(t3, e3, Object.getOwnPropertyDescriptor(i2, e3));
      });
    }
    return t3;
  }
  function g2(t3, e2) {
    return g2 = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t4, e3) {
      return t4.__proto__ = e3, t4;
    }, g2(t3, e2);
  }
  function p2(t3, e2) {
    return function(t4) {
      if (Array.isArray(t4)) return t4;
    }(t3) || function(t4, e3) {
      var i2 = null == t4 ? null : "undefined" != typeof Symbol && t4[Symbol.iterator] || t4["@@iterator"];
      if (null != i2) {
        var a2, s3, r3, n2, o3 = [], l2 = true, h3 = false;
        try {
          if (r3 = (i2 = i2.call(t4)).next, 0 === e3) {
            if (Object(i2) !== i2) return;
            l2 = false;
          } else for (; !(l2 = (a2 = r3.call(i2)).done) && (o3.push(a2.value), o3.length !== e3); l2 = true) ;
        } catch (t5) {
          h3 = true, s3 = t5;
        } finally {
          try {
            if (!l2 && null != i2.return && (n2 = i2.return(), Object(n2) !== n2)) return;
          } finally {
            if (h3) throw s3;
          }
        }
        return o3;
      }
    }(t3, e2) || m2(t3, e2) || function() {
      throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
    }();
  }
  function f(e2) {
    return function(e3) {
      if (Array.isArray(e3)) return t2(e3);
    }(e2) || function(t3) {
      if ("undefined" != typeof Symbol && null != t3[Symbol.iterator] || null != t3["@@iterator"]) return Array.from(t3);
    }(e2) || m2(e2) || function() {
      throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
    }();
  }
  function x2(t3) {
    var e2 = function(t4, e3) {
      if ("object" != typeof t4 || !t4) return t4;
      var i2 = t4[Symbol.toPrimitive];
      if (void 0 !== i2) {
        var a2 = i2.call(t4, e3 || "default");
        if ("object" != typeof a2) return a2;
        throw new TypeError("@@toPrimitive must return a primitive value.");
      }
      return ("string" === e3 ? String : Number)(t4);
    }(t3, "string");
    return "symbol" == typeof e2 ? e2 : e2 + "";
  }
  function b(t3) {
    return b = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t4) {
      return typeof t4;
    } : function(t4) {
      return t4 && "function" == typeof Symbol && t4.constructor === Symbol && t4 !== Symbol.prototype ? "symbol" : typeof t4;
    }, b(t3);
  }
  function m2(e2, i2) {
    if (e2) {
      if ("string" == typeof e2) return t2(e2, i2);
      var a2 = {}.toString.call(e2).slice(8, -1);
      return "Object" === a2 && e2.constructor && (a2 = e2.constructor.name), "Map" === a2 || "Set" === a2 ? Array.from(e2) : "Arguments" === a2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a2) ? t2(e2, i2) : void 0;
    }
  }
  var v = function() {
    function t3() {
      i(this, t3);
    }
    return s2(t3, [{ key: "shadeRGBColor", value: function(t4, e2) {
      var i2 = e2.split(","), a2 = t4 < 0 ? 0 : 255, s3 = t4 < 0 ? -1 * t4 : t4, r3 = parseInt(i2[0].slice(4), 10), n2 = parseInt(i2[1], 10), o3 = parseInt(i2[2], 10);
      return "rgb(" + (Math.round((a2 - r3) * s3) + r3) + "," + (Math.round((a2 - n2) * s3) + n2) + "," + (Math.round((a2 - o3) * s3) + o3) + ")";
    } }, { key: "shadeHexColor", value: function(t4, e2) {
      var i2 = parseInt(e2.slice(1), 16), a2 = t4 < 0 ? 0 : 255, s3 = t4 < 0 ? -1 * t4 : t4, r3 = i2 >> 16, n2 = i2 >> 8 & 255, o3 = 255 & i2;
      return "#" + (16777216 + 65536 * (Math.round((a2 - r3) * s3) + r3) + 256 * (Math.round((a2 - n2) * s3) + n2) + (Math.round((a2 - o3) * s3) + o3)).toString(16).slice(1);
    } }, { key: "shadeColor", value: function(e2, i2) {
      return t3.isColorHex(i2) ? this.shadeHexColor(e2, i2) : this.shadeRGBColor(e2, i2);
    } }], [{ key: "bind", value: function(t4, e2) {
      return function() {
        return t4.apply(e2, arguments);
      };
    } }, { key: "isObject", value: function(t4) {
      return t4 && "object" === b(t4) && !Array.isArray(t4) && null != t4;
    } }, { key: "is", value: function(t4, e2) {
      return Object.prototype.toString.call(e2) === "[object " + t4 + "]";
    } }, { key: "listToArray", value: function(t4) {
      var e2, i2 = [];
      for (e2 = 0; e2 < t4.length; e2++) i2[e2] = t4[e2];
      return i2;
    } }, { key: "extend", value: function(t4, e2) {
      var i2 = this;
      "function" != typeof Object.assign && (Object.assign = function(t5) {
        if (null == t5) throw new TypeError("Cannot convert undefined or null to object");
        for (var e3 = Object(t5), i3 = 1; i3 < arguments.length; i3++) {
          var a3 = arguments[i3];
          if (null != a3) for (var s3 in a3) a3.hasOwnProperty(s3) && (e3[s3] = a3[s3]);
        }
        return e3;
      });
      var a2 = Object.assign({}, t4);
      return this.isObject(t4) && this.isObject(e2) && Object.keys(e2).forEach(function(s3) {
        i2.isObject(e2[s3]) && s3 in t4 ? a2[s3] = i2.extend(t4[s3], e2[s3]) : Object.assign(a2, o2({}, s3, e2[s3]));
      }), a2;
    } }, { key: "extendArray", value: function(e2, i2) {
      var a2 = [];
      return e2.map(function(e3) {
        a2.push(t3.extend(i2, e3));
      }), e2 = a2;
    } }, { key: "monthMod", value: function(t4) {
      return t4 % 12;
    } }, { key: "clone", value: function(t4) {
      var e2, i2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : /* @__PURE__ */ new WeakMap();
      if (null === t4 || "object" !== b(t4)) return t4;
      if (i2.has(t4)) return i2.get(t4);
      if (Array.isArray(t4)) {
        e2 = [], i2.set(t4, e2);
        for (var a2 = 0; a2 < t4.length; a2++) e2[a2] = this.clone(t4[a2], i2);
      } else if (t4 instanceof Date) e2 = new Date(t4.getTime());
      else for (var s3 in e2 = {}, i2.set(t4, e2), t4) t4.hasOwnProperty(s3) && (e2[s3] = this.clone(t4[s3], i2));
      return e2;
    } }, { key: "log10", value: function(t4) {
      return Math.log(t4) / Math.LN10;
    } }, { key: "roundToBase10", value: function(t4) {
      return Math.pow(10, Math.floor(Math.log10(t4)));
    } }, { key: "roundToBase", value: function(t4, e2) {
      return Math.pow(e2, Math.floor(Math.log(t4) / Math.log(e2)));
    } }, { key: "parseNumber", value: function(t4) {
      return null === t4 ? t4 : parseFloat(t4);
    } }, { key: "stripNumber", value: function(t4) {
      var e2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 2;
      return Number.isInteger(t4) ? t4 : parseFloat(t4.toPrecision(e2));
    } }, { key: "randomId", value: function() {
      return (Math.random() + 1).toString(36).substring(4);
    } }, { key: "noExponents", value: function(t4) {
      return t4.toString().includes("e") ? Math.round(t4) : t4;
    } }, { key: "elementExists", value: function(t4) {
      return !(!t4 || !t4.isConnected);
    } }, { key: "getDimensions", value: function(t4) {
      var e2 = getComputedStyle(t4, null), i2 = t4.clientHeight, a2 = t4.clientWidth;
      return i2 -= parseFloat(e2.paddingTop) + parseFloat(e2.paddingBottom), [a2 -= parseFloat(e2.paddingLeft) + parseFloat(e2.paddingRight), i2];
    } }, { key: "getBoundingClientRect", value: function(t4) {
      var e2 = t4.getBoundingClientRect();
      return { top: e2.top, right: e2.right, bottom: e2.bottom, left: e2.left, width: t4.clientWidth, height: t4.clientHeight, x: e2.left, y: e2.top };
    } }, { key: "getLargestStringFromArr", value: function(t4) {
      return t4.reduce(function(t5, e2) {
        return Array.isArray(e2) && (e2 = e2.reduce(function(t6, e3) {
          return t6.length > e3.length ? t6 : e3;
        })), t5.length > e2.length ? t5 : e2;
      }, 0);
    } }, { key: "hexToRgba", value: function() {
      var t4 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "#999999", e2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0.6;
      "#" !== t4.substring(0, 1) && (t4 = "#999999");
      var i2 = t4.replace("#", "");
      i2 = i2.match(new RegExp("(.{" + i2.length / 3 + "})", "g"));
      for (var a2 = 0; a2 < i2.length; a2++) i2[a2] = parseInt(1 === i2[a2].length ? i2[a2] + i2[a2] : i2[a2], 16);
      return void 0 !== e2 && i2.push(e2), "rgba(" + i2.join(",") + ")";
    } }, { key: "getOpacityFromRGBA", value: function(t4) {
      return parseFloat(t4.replace(/^.*,(.+)\)/, "$1"));
    } }, { key: "rgb2hex", value: function(t4) {
      return (t4 = t4.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i)) && 4 === t4.length ? "#" + ("0" + parseInt(t4[1], 10).toString(16)).slice(-2) + ("0" + parseInt(t4[2], 10).toString(16)).slice(-2) + ("0" + parseInt(t4[3], 10).toString(16)).slice(-2) : "";
    } }, { key: "isColorHex", value: function(t4) {
      return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)|(^#[0-9A-F]{8}$)/i.test(t4);
    } }, { key: "getPolygonPos", value: function(t4, e2) {
      for (var i2 = [], a2 = 2 * Math.PI / e2, s3 = 0; s3 < e2; s3++) {
        var r3 = {};
        r3.x = t4 * Math.sin(s3 * a2), r3.y = -t4 * Math.cos(s3 * a2), i2.push(r3);
      }
      return i2;
    } }, { key: "polarToCartesian", value: function(t4, e2, i2, a2) {
      var s3 = (a2 - 90) * Math.PI / 180;
      return { x: t4 + i2 * Math.cos(s3), y: e2 + i2 * Math.sin(s3) };
    } }, { key: "escapeString", value: function(t4) {
      var e2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "x", i2 = t4.toString().slice();
      return i2 = i2.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi, e2);
    } }, { key: "negToZero", value: function(t4) {
      return t4 < 0 ? 0 : t4;
    } }, { key: "moveIndexInArray", value: function(t4, e2, i2) {
      if (i2 >= t4.length) for (var a2 = i2 - t4.length + 1; a2--; ) t4.push(void 0);
      return t4.splice(i2, 0, t4.splice(e2, 1)[0]), t4;
    } }, { key: "extractNumber", value: function(t4) {
      return parseFloat(t4.replace(/[^\d.]*/g, ""));
    } }, { key: "findAncestor", value: function(t4, e2) {
      for (; (t4 = t4.parentElement) && !t4.classList.contains(e2); ) ;
      return t4;
    } }, { key: "setELstyles", value: function(t4, e2) {
      for (var i2 in e2) e2.hasOwnProperty(i2) && (t4.style.key = e2[i2]);
    } }, { key: "preciseAddition", value: function(t4, e2) {
      var i2 = (String(t4).split(".")[1] || "").length, a2 = (String(e2).split(".")[1] || "").length, s3 = Math.pow(10, Math.max(i2, a2));
      return (Math.round(t4 * s3) + Math.round(e2 * s3)) / s3;
    } }, { key: "isNumber", value: function(t4) {
      return !isNaN(t4) && parseFloat(Number(t4)) === t4 && !isNaN(parseInt(t4, 10));
    } }, { key: "isFloat", value: function(t4) {
      return Number(t4) === t4 && t4 % 1 != 0;
    } }, { key: "isMsEdge", value: function() {
      var t4 = window.navigator.userAgent, e2 = t4.indexOf("Edge/");
      return e2 > 0 && parseInt(t4.substring(e2 + 5, t4.indexOf(".", e2)), 10);
    } }, { key: "getGCD", value: function(t4, e2) {
      var i2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 7, a2 = Math.pow(10, i2 - Math.floor(Math.log10(Math.max(t4, e2))));
      for (t4 = Math.round(Math.abs(t4) * a2), e2 = Math.round(Math.abs(e2) * a2); e2; ) {
        var s3 = e2;
        e2 = t4 % e2, t4 = s3;
      }
      return t4 / a2;
    } }, { key: "getPrimeFactors", value: function(t4) {
      for (var e2 = [], i2 = 2; t4 >= 2; ) t4 % i2 == 0 ? (e2.push(i2), t4 /= i2) : i2++;
      return e2;
    } }, { key: "mod", value: function(t4, e2) {
      var i2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 7, a2 = Math.pow(10, i2 - Math.floor(Math.log10(Math.max(t4, e2))));
      return (t4 = Math.round(Math.abs(t4) * a2)) % (e2 = Math.round(Math.abs(e2) * a2)) / a2;
    } }]), t3;
  }(), y = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
    }
    return s2(t3, [{ key: "animateLine", value: function(t4, e2, i2, a2) {
      t4.attr(e2).animate(a2).attr(i2);
    } }, { key: "animateMarker", value: function(t4, e2, i2, a2) {
      t4.attr({ opacity: 0 }).animate(e2).attr({ opacity: 1 }).after(function() {
        a2();
      });
    } }, { key: "animateRect", value: function(t4, e2, i2, a2, s3) {
      t4.attr(e2).animate(a2).attr(i2).after(function() {
        return s3();
      });
    } }, { key: "animatePathsGradually", value: function(t4) {
      var e2 = t4.el, i2 = t4.realIndex, a2 = t4.j, s3 = t4.fill, r3 = t4.pathFrom, n2 = t4.pathTo, o3 = t4.speed, l2 = t4.delay, h3 = this.w, c2 = 0;
      h3.config.chart.animations.animateGradually.enabled && (c2 = h3.config.chart.animations.animateGradually.delay), h3.config.chart.animations.dynamicAnimation.enabled && h3.globals.dataChanged && "bar" !== h3.config.chart.type && (c2 = 0), this.morphSVG(e2, i2, a2, "line" !== h3.config.chart.type || h3.globals.comboCharts ? s3 : "stroke", r3, n2, o3, l2 * c2);
    } }, { key: "showDelayedElements", value: function() {
      this.w.globals.delayedElements.forEach(function(t4) {
        var e2 = t4.el;
        e2.classList.remove("apexcharts-element-hidden"), e2.classList.add("apexcharts-hidden-element-shown");
      });
    } }, { key: "animationCompleted", value: function(t4) {
      var e2 = this.w;
      e2.globals.animationEnded || (e2.globals.animationEnded = true, this.showDelayedElements(), "function" == typeof e2.config.chart.events.animationEnd && e2.config.chart.events.animationEnd(this.ctx, { el: t4, w: e2 }));
    } }, { key: "morphSVG", value: function(t4, e2, i2, a2, s3, r3, n2, o3) {
      var l2 = this, h3 = this.w;
      s3 || (s3 = t4.attr("pathFrom")), r3 || (r3 = t4.attr("pathTo"));
      var c2 = function(t5) {
        return "radar" === h3.config.chart.type && (n2 = 1), "M 0 ".concat(h3.globals.gridHeight);
      };
      (!s3 || s3.indexOf("undefined") > -1 || s3.indexOf("NaN") > -1) && (s3 = c2()), (!r3.trim() || r3.indexOf("undefined") > -1 || r3.indexOf("NaN") > -1) && (r3 = c2()), h3.globals.shouldAnimate || (n2 = 1), t4.plot(s3).animate(1, o3).plot(s3).animate(n2, o3).plot(r3).after(function() {
        v.isNumber(i2) ? i2 === h3.globals.series[h3.globals.maxValsInArrayIndex].length - 2 && h3.globals.shouldAnimate && l2.animationCompleted(t4) : "none" !== a2 && h3.globals.shouldAnimate && (!h3.globals.comboCharts && e2 === h3.globals.series.length - 1 || h3.globals.comboCharts) && l2.animationCompleted(t4), l2.showDelayedElements();
      });
    } }]), t3;
  }();
  const w2 = {}, k = [];
  function A2(t3, e2) {
    if (Array.isArray(t3)) for (const i2 of t3) A2(i2, e2);
    else if ("object" != typeof t3) S2(Object.getOwnPropertyNames(e2)), w2[t3] = Object.assign(w2[t3] || {}, e2);
    else for (const e3 in t3) A2(e3, t3[e3]);
  }
  function C(t3) {
    return w2[t3] || {};
  }
  function S2(t3) {
    k.push(...t3);
  }
  function L2(t3, e2) {
    let i2;
    const a2 = t3.length, s3 = [];
    for (i2 = 0; i2 < a2; i2++) s3.push(e2(t3[i2]));
    return s3;
  }
  function M(t3) {
    return t3 % 360 * Math.PI / 180;
  }
  function P2(t3) {
    return t3.charAt(0).toUpperCase() + t3.slice(1);
  }
  function I(t3, e2, i2, a2) {
    return null != e2 && null != i2 || (a2 = a2 || t3.bbox(), null == e2 ? e2 = a2.width / a2.height * i2 : null == i2 && (i2 = a2.height / a2.width * e2)), { width: e2, height: i2 };
  }
  function T(t3, e2) {
    const i2 = t3.origin;
    let a2 = null != t3.ox ? t3.ox : null != t3.originX ? t3.originX : "center", s3 = null != t3.oy ? t3.oy : null != t3.originY ? t3.originY : "center";
    null != i2 && ([a2, s3] = Array.isArray(i2) ? i2 : "object" == typeof i2 ? [i2.x, i2.y] : [i2, i2]);
    const r3 = "string" == typeof a2, n2 = "string" == typeof s3;
    if (r3 || n2) {
      const { height: t4, width: i3, x: o3, y: l2 } = e2.bbox();
      r3 && (a2 = a2.includes("left") ? o3 : a2.includes("right") ? o3 + i3 : o3 + i3 / 2), n2 && (s3 = s3.includes("top") ? l2 : s3.includes("bottom") ? l2 + t4 : l2 + t4 / 2);
    }
    return [a2, s3];
  }
  const z = /* @__PURE__ */ new Set(["desc", "metadata", "title"]), X = (t3) => z.has(t3.nodeName), R = (t3, e2, i2 = {}) => {
    const a2 = { ...e2 };
    for (const t4 in a2) a2[t4].valueOf() === i2[t4] && delete a2[t4];
    Object.keys(a2).length ? t3.node.setAttribute("data-svgjs", JSON.stringify(a2)) : (t3.node.removeAttribute("data-svgjs"), t3.node.removeAttribute("svgjs:data"));
  }, E = "http://www.w3.org/2000/svg", Y = "http://www.w3.org/2000/xmlns/", H = "http://www.w3.org/1999/xlink", O = { window: "undefined" == typeof window ? null : window, document: "undefined" == typeof document ? null : document };
  function F() {
    return O.window;
  }
  let D = class {
  };
  const _ = {}, N = "___SYMBOL___ROOT___";
  function W(t3, e2 = E) {
    return O.document.createElementNS(e2, t3);
  }
  function B(t3, e2 = false) {
    if (t3 instanceof D) return t3;
    if ("object" == typeof t3) return U(t3);
    if (null == t3) return new _[N]();
    if ("string" == typeof t3 && "<" !== t3.charAt(0)) return U(O.document.querySelector(t3));
    const i2 = e2 ? O.document.createElement("div") : W("svg");
    return i2.innerHTML = t3, t3 = U(i2.firstChild), i2.removeChild(i2.firstChild), t3;
  }
  function G2(t3, e2) {
    return e2 && (e2 instanceof O.window.Node || e2.ownerDocument && e2 instanceof e2.ownerDocument.defaultView.Node) ? e2 : W(t3);
  }
  function V(t3) {
    if (!t3) return null;
    if (t3.instance instanceof D) return t3.instance;
    if ("#document-fragment" === t3.nodeName) return new _.Fragment(t3);
    let e2 = P2(t3.nodeName || "Dom");
    return "LinearGradient" === e2 || "RadialGradient" === e2 ? e2 = "Gradient" : _[e2] || (e2 = "Dom"), new _[e2](t3);
  }
  let U = V;
  function q(t3, e2 = t3.name, i2 = false) {
    return _[e2] = t3, i2 && (_[N] = t3), S2(Object.getOwnPropertyNames(t3.prototype)), t3;
  }
  let Z = 1e3;
  function $(t3) {
    return "Svgjs" + P2(t3) + Z++;
  }
  function J2(t3) {
    for (let e2 = t3.children.length - 1; e2 >= 0; e2--) J2(t3.children[e2]);
    return t3.id ? (t3.id = $(t3.nodeName), t3) : t3;
  }
  function Q(t3, e2) {
    let i2, a2;
    for (a2 = (t3 = Array.isArray(t3) ? t3 : [t3]).length - 1; a2 >= 0; a2--) for (i2 in e2) t3[a2].prototype[i2] = e2[i2];
  }
  function K(t3) {
    return function(...e2) {
      const i2 = e2[e2.length - 1];
      return !i2 || i2.constructor !== Object || i2 instanceof Array ? t3.apply(this, e2) : t3.apply(this, e2.slice(0, -1)).attr(i2);
    };
  }
  A2("Dom", { siblings: function() {
    return this.parent().children();
  }, position: function() {
    return this.parent().index(this);
  }, next: function() {
    return this.siblings()[this.position() + 1];
  }, prev: function() {
    return this.siblings()[this.position() - 1];
  }, forward: function() {
    const t3 = this.position();
    return this.parent().add(this.remove(), t3 + 1), this;
  }, backward: function() {
    const t3 = this.position();
    return this.parent().add(this.remove(), t3 ? t3 - 1 : 0), this;
  }, front: function() {
    return this.parent().add(this.remove()), this;
  }, back: function() {
    return this.parent().add(this.remove(), 0), this;
  }, before: function(t3) {
    (t3 = B(t3)).remove();
    const e2 = this.position();
    return this.parent().add(t3, e2), this;
  }, after: function(t3) {
    (t3 = B(t3)).remove();
    const e2 = this.position();
    return this.parent().add(t3, e2 + 1), this;
  }, insertBefore: function(t3) {
    return (t3 = B(t3)).before(this), this;
  }, insertAfter: function(t3) {
    return (t3 = B(t3)).after(this), this;
  } });
  const tt2 = /^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i, et = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i, it = /rgb\((\d+),(\d+),(\d+)\)/, at = /(#[a-z_][a-z0-9\-_]*)/i, st = /\)\s*,?\s*/, rt = /\s/g, nt = /^#[a-f0-9]{3}$|^#[a-f0-9]{6}$/i, ot = /^rgb\(/, lt2 = /^(\s+)?$/, ht = /^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i, ct = /\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i, dt2 = /[\s,]+/, ut = /[MLHVCSQTAZ]/i;
  function gt(t3) {
    const e2 = Math.round(t3), i2 = Math.max(0, Math.min(255, e2)).toString(16);
    return 1 === i2.length ? "0" + i2 : i2;
  }
  function pt2(t3, e2) {
    for (let i2 = e2.length; i2--; ) if (null == t3[e2[i2]]) return false;
    return true;
  }
  function ft(t3, e2, i2) {
    return i2 < 0 && (i2 += 1), i2 > 1 && (i2 -= 1), i2 < 1 / 6 ? t3 + 6 * (e2 - t3) * i2 : i2 < 0.5 ? e2 : i2 < 2 / 3 ? t3 + (e2 - t3) * (2 / 3 - i2) * 6 : t3;
  }
  A2("Dom", { classes: function() {
    const t3 = this.attr("class");
    return null == t3 ? [] : t3.trim().split(dt2);
  }, hasClass: function(t3) {
    return -1 !== this.classes().indexOf(t3);
  }, addClass: function(t3) {
    if (!this.hasClass(t3)) {
      const e2 = this.classes();
      e2.push(t3), this.attr("class", e2.join(" "));
    }
    return this;
  }, removeClass: function(t3) {
    return this.hasClass(t3) && this.attr("class", this.classes().filter(function(e2) {
      return e2 !== t3;
    }).join(" ")), this;
  }, toggleClass: function(t3) {
    return this.hasClass(t3) ? this.removeClass(t3) : this.addClass(t3);
  } }), A2("Dom", { css: function(t3, e2) {
    const i2 = {};
    if (0 === arguments.length) return this.node.style.cssText.split(/\s*;\s*/).filter(function(t4) {
      return !!t4.length;
    }).forEach(function(t4) {
      const e3 = t4.split(/\s*:\s*/);
      i2[e3[0]] = e3[1];
    }), i2;
    if (arguments.length < 2) {
      if (Array.isArray(t3)) {
        for (const e3 of t3) {
          const t4 = e3;
          i2[e3] = this.node.style.getPropertyValue(t4);
        }
        return i2;
      }
      if ("string" == typeof t3) return this.node.style.getPropertyValue(t3);
      if ("object" == typeof t3) for (const e3 in t3) this.node.style.setProperty(e3, null == t3[e3] || lt2.test(t3[e3]) ? "" : t3[e3]);
    }
    return 2 === arguments.length && this.node.style.setProperty(t3, null == e2 || lt2.test(e2) ? "" : e2), this;
  }, show: function() {
    return this.css("display", "");
  }, hide: function() {
    return this.css("display", "none");
  }, visible: function() {
    return "none" !== this.css("display");
  } }), A2("Dom", { data: function(t3, e2, i2) {
    if (null == t3) return this.data(L2(function(t4, e3) {
      let i3;
      const a2 = t4.length, s3 = [];
      for (i3 = 0; i3 < a2; i3++) e3(t4[i3]) && s3.push(t4[i3]);
      return s3;
    }(this.node.attributes, (t4) => 0 === t4.nodeName.indexOf("data-")), (t4) => t4.nodeName.slice(5)));
    if (t3 instanceof Array) {
      const e3 = {};
      for (const i3 of t3) e3[i3] = this.data(i3);
      return e3;
    }
    if ("object" == typeof t3) for (e2 in t3) this.data(e2, t3[e2]);
    else if (arguments.length < 2) try {
      return JSON.parse(this.attr("data-" + t3));
    } catch (e3) {
      return this.attr("data-" + t3);
    }
    else this.attr("data-" + t3, null === e2 ? null : true === i2 || "string" == typeof e2 || "number" == typeof e2 ? e2 : JSON.stringify(e2));
    return this;
  } }), A2("Dom", { remember: function(t3, e2) {
    if ("object" == typeof arguments[0]) for (const e3 in t3) this.remember(e3, t3[e3]);
    else {
      if (1 === arguments.length) return this.memory()[t3];
      this.memory()[t3] = e2;
    }
    return this;
  }, forget: function() {
    if (0 === arguments.length) this._memory = {};
    else for (let t3 = arguments.length - 1; t3 >= 0; t3--) delete this.memory()[arguments[t3]];
    return this;
  }, memory: function() {
    return this._memory = this._memory || {};
  } });
  class xt2 {
    constructor(...t3) {
      this.init(...t3);
    }
    static isColor(t3) {
      return t3 && (t3 instanceof xt2 || this.isRgb(t3) || this.test(t3));
    }
    static isRgb(t3) {
      return t3 && "number" == typeof t3.r && "number" == typeof t3.g && "number" == typeof t3.b;
    }
    static random(t3 = "vibrant", e2) {
      const { random: i2, round: a2, sin: s3, PI: r3 } = Math;
      if ("vibrant" === t3) {
        const t4 = 24 * i2() + 57, e3 = 38 * i2() + 45, a3 = 360 * i2();
        return new xt2(t4, e3, a3, "lch");
      }
      if ("sine" === t3) {
        const t4 = a2(80 * s3(2 * r3 * (e2 = null == e2 ? i2() : e2) / 0.5 + 0.01) + 150), n2 = a2(50 * s3(2 * r3 * e2 / 0.5 + 4.6) + 200), o3 = a2(100 * s3(2 * r3 * e2 / 0.5 + 2.3) + 150);
        return new xt2(t4, n2, o3);
      }
      if ("pastel" === t3) {
        const t4 = 8 * i2() + 86, e3 = 17 * i2() + 9, a3 = 360 * i2();
        return new xt2(t4, e3, a3, "lch");
      }
      if ("dark" === t3) {
        const t4 = 10 + 10 * i2(), e3 = 50 * i2() + 86, a3 = 360 * i2();
        return new xt2(t4, e3, a3, "lch");
      }
      if ("rgb" === t3) {
        const t4 = 255 * i2(), e3 = 255 * i2(), a3 = 255 * i2();
        return new xt2(t4, e3, a3);
      }
      if ("lab" === t3) {
        const t4 = 100 * i2(), e3 = 256 * i2() - 128, a3 = 256 * i2() - 128;
        return new xt2(t4, e3, a3, "lab");
      }
      if ("grey" === t3) {
        const t4 = 255 * i2();
        return new xt2(t4, t4, t4);
      }
      throw new Error("Unsupported random color mode");
    }
    static test(t3) {
      return "string" == typeof t3 && (nt.test(t3) || ot.test(t3));
    }
    cmyk() {
      const { _a: t3, _b: e2, _c: i2 } = this.rgb(), [a2, s3, r3] = [t3, e2, i2].map((t4) => t4 / 255), n2 = Math.min(1 - a2, 1 - s3, 1 - r3);
      if (1 === n2) return new xt2(0, 0, 0, 1, "cmyk");
      return new xt2((1 - a2 - n2) / (1 - n2), (1 - s3 - n2) / (1 - n2), (1 - r3 - n2) / (1 - n2), n2, "cmyk");
    }
    hsl() {
      const { _a: t3, _b: e2, _c: i2 } = this.rgb(), [a2, s3, r3] = [t3, e2, i2].map((t4) => t4 / 255), n2 = Math.max(a2, s3, r3), o3 = Math.min(a2, s3, r3), l2 = (n2 + o3) / 2, h3 = n2 === o3, c2 = n2 - o3;
      return new xt2(360 * (h3 ? 0 : n2 === a2 ? ((s3 - r3) / c2 + (s3 < r3 ? 6 : 0)) / 6 : n2 === s3 ? ((r3 - a2) / c2 + 2) / 6 : n2 === r3 ? ((a2 - s3) / c2 + 4) / 6 : 0), 100 * (h3 ? 0 : l2 > 0.5 ? c2 / (2 - n2 - o3) : c2 / (n2 + o3)), 100 * l2, "hsl");
    }
    init(t3 = 0, e2 = 0, i2 = 0, a2 = 0, s3 = "rgb") {
      if (t3 = t3 || 0, this.space) for (const t4 in this.space) delete this[this.space[t4]];
      if ("number" == typeof t3) s3 = "string" == typeof a2 ? a2 : s3, a2 = "string" == typeof a2 ? 0 : a2, Object.assign(this, { _a: t3, _b: e2, _c: i2, _d: a2, space: s3 });
      else if (t3 instanceof Array) this.space = e2 || ("string" == typeof t3[3] ? t3[3] : t3[4]) || "rgb", Object.assign(this, { _a: t3[0], _b: t3[1], _c: t3[2], _d: t3[3] || 0 });
      else if (t3 instanceof Object) {
        const i3 = function(t4, e3) {
          const i4 = pt2(t4, "rgb") ? { _a: t4.r, _b: t4.g, _c: t4.b, _d: 0, space: "rgb" } : pt2(t4, "xyz") ? { _a: t4.x, _b: t4.y, _c: t4.z, _d: 0, space: "xyz" } : pt2(t4, "hsl") ? { _a: t4.h, _b: t4.s, _c: t4.l, _d: 0, space: "hsl" } : pt2(t4, "lab") ? { _a: t4.l, _b: t4.a, _c: t4.b, _d: 0, space: "lab" } : pt2(t4, "lch") ? { _a: t4.l, _b: t4.c, _c: t4.h, _d: 0, space: "lch" } : pt2(t4, "cmyk") ? { _a: t4.c, _b: t4.m, _c: t4.y, _d: t4.k, space: "cmyk" } : { _a: 0, _b: 0, _c: 0, space: "rgb" };
          return i4.space = e3 || i4.space, i4;
        }(t3, e2);
        Object.assign(this, i3);
      } else if ("string" == typeof t3) if (ot.test(t3)) {
        const e3 = t3.replace(rt, ""), [i3, a3, s4] = it.exec(e3).slice(1, 4).map((t4) => parseInt(t4));
        Object.assign(this, { _a: i3, _b: a3, _c: s4, _d: 0, space: "rgb" });
      } else {
        if (!nt.test(t3)) throw Error("Unsupported string format, can't construct Color");
        {
          const e3 = (t4) => parseInt(t4, 16), [, i3, a3, s4] = et.exec(function(t4) {
            return 4 === t4.length ? ["#", t4.substring(1, 2), t4.substring(1, 2), t4.substring(2, 3), t4.substring(2, 3), t4.substring(3, 4), t4.substring(3, 4)].join("") : t4;
          }(t3)).map(e3);
          Object.assign(this, { _a: i3, _b: a3, _c: s4, _d: 0, space: "rgb" });
        }
      }
      const { _a: r3, _b: n2, _c: o3, _d: l2 } = this, h3 = "rgb" === this.space ? { r: r3, g: n2, b: o3 } : "xyz" === this.space ? { x: r3, y: n2, z: o3 } : "hsl" === this.space ? { h: r3, s: n2, l: o3 } : "lab" === this.space ? { l: r3, a: n2, b: o3 } : "lch" === this.space ? { l: r3, c: n2, h: o3 } : "cmyk" === this.space ? { c: r3, m: n2, y: o3, k: l2 } : {};
      Object.assign(this, h3);
    }
    lab() {
      const { x: t3, y: e2, z: i2 } = this.xyz();
      return new xt2(116 * e2 - 16, 500 * (t3 - e2), 200 * (e2 - i2), "lab");
    }
    lch() {
      const { l: t3, a: e2, b: i2 } = this.lab(), a2 = Math.sqrt(e2 ** 2 + i2 ** 2);
      let s3 = 180 * Math.atan2(i2, e2) / Math.PI;
      s3 < 0 && (s3 *= -1, s3 = 360 - s3);
      return new xt2(t3, a2, s3, "lch");
    }
    rgb() {
      if ("rgb" === this.space) return this;
      if ("lab" === (t3 = this.space) || "xyz" === t3 || "lch" === t3) {
        let { x: t4, y: e2, z: i2 } = this;
        if ("lab" === this.space || "lch" === this.space) {
          let { l: a3, a: s4, b: r4 } = this;
          if ("lch" === this.space) {
            const { c: t5, h: e3 } = this, i3 = Math.PI / 180;
            s4 = t5 * Math.cos(i3 * e3), r4 = t5 * Math.sin(i3 * e3);
          }
          const n3 = (a3 + 16) / 116, o4 = s4 / 500 + n3, l3 = n3 - r4 / 200, h4 = 16 / 116, c3 = 8856e-6, d2 = 7.787;
          t4 = 0.95047 * (o4 ** 3 > c3 ? o4 ** 3 : (o4 - h4) / d2), e2 = 1 * (n3 ** 3 > c3 ? n3 ** 3 : (n3 - h4) / d2), i2 = 1.08883 * (l3 ** 3 > c3 ? l3 ** 3 : (l3 - h4) / d2);
        }
        const a2 = 3.2406 * t4 + -1.5372 * e2 + -0.4986 * i2, s3 = -0.9689 * t4 + 1.8758 * e2 + 0.0415 * i2, r3 = 0.0557 * t4 + -0.204 * e2 + 1.057 * i2, n2 = Math.pow, o3 = 31308e-7, l2 = a2 > o3 ? 1.055 * n2(a2, 1 / 2.4) - 0.055 : 12.92 * a2, h3 = s3 > o3 ? 1.055 * n2(s3, 1 / 2.4) - 0.055 : 12.92 * s3, c2 = r3 > o3 ? 1.055 * n2(r3, 1 / 2.4) - 0.055 : 12.92 * r3;
        return new xt2(255 * l2, 255 * h3, 255 * c2);
      }
      if ("hsl" === this.space) {
        let { h: t4, s: e2, l: i2 } = this;
        if (t4 /= 360, e2 /= 100, i2 /= 100, 0 === e2) {
          i2 *= 255;
          return new xt2(i2, i2, i2);
        }
        const a2 = i2 < 0.5 ? i2 * (1 + e2) : i2 + e2 - i2 * e2, s3 = 2 * i2 - a2, r3 = 255 * ft(s3, a2, t4 + 1 / 3), n2 = 255 * ft(s3, a2, t4), o3 = 255 * ft(s3, a2, t4 - 1 / 3);
        return new xt2(r3, n2, o3);
      }
      if ("cmyk" === this.space) {
        const { c: t4, m: e2, y: i2, k: a2 } = this, s3 = 255 * (1 - Math.min(1, t4 * (1 - a2) + a2)), r3 = 255 * (1 - Math.min(1, e2 * (1 - a2) + a2)), n2 = 255 * (1 - Math.min(1, i2 * (1 - a2) + a2));
        return new xt2(s3, r3, n2);
      }
      return this;
      var t3;
    }
    toArray() {
      const { _a: t3, _b: e2, _c: i2, _d: a2, space: s3 } = this;
      return [t3, e2, i2, a2, s3];
    }
    toHex() {
      const [t3, e2, i2] = this._clamped().map(gt);
      return `#${t3}${e2}${i2}`;
    }
    toRgb() {
      const [t3, e2, i2] = this._clamped();
      return `rgb(${t3},${e2},${i2})`;
    }
    toString() {
      return this.toHex();
    }
    xyz() {
      const { _a: t3, _b: e2, _c: i2 } = this.rgb(), [a2, s3, r3] = [t3, e2, i2].map((t4) => t4 / 255), n2 = a2 > 0.04045 ? Math.pow((a2 + 0.055) / 1.055, 2.4) : a2 / 12.92, o3 = s3 > 0.04045 ? Math.pow((s3 + 0.055) / 1.055, 2.4) : s3 / 12.92, l2 = r3 > 0.04045 ? Math.pow((r3 + 0.055) / 1.055, 2.4) : r3 / 12.92, h3 = (0.4124 * n2 + 0.3576 * o3 + 0.1805 * l2) / 0.95047, c2 = (0.2126 * n2 + 0.7152 * o3 + 0.0722 * l2) / 1, d2 = (0.0193 * n2 + 0.1192 * o3 + 0.9505 * l2) / 1.08883, u2 = h3 > 8856e-6 ? Math.pow(h3, 1 / 3) : 7.787 * h3 + 16 / 116, g3 = c2 > 8856e-6 ? Math.pow(c2, 1 / 3) : 7.787 * c2 + 16 / 116, p3 = d2 > 8856e-6 ? Math.pow(d2, 1 / 3) : 7.787 * d2 + 16 / 116;
      return new xt2(u2, g3, p3, "xyz");
    }
    _clamped() {
      const { _a: t3, _b: e2, _c: i2 } = this.rgb(), { max: a2, min: s3, round: r3 } = Math;
      return [t3, e2, i2].map((t4) => a2(0, s3(r3(t4), 255)));
    }
  }
  class bt {
    constructor(...t3) {
      this.init(...t3);
    }
    clone() {
      return new bt(this);
    }
    init(t3, e2) {
      const i2 = 0, a2 = 0, s3 = Array.isArray(t3) ? { x: t3[0], y: t3[1] } : "object" == typeof t3 ? { x: t3.x, y: t3.y } : { x: t3, y: e2 };
      return this.x = null == s3.x ? i2 : s3.x, this.y = null == s3.y ? a2 : s3.y, this;
    }
    toArray() {
      return [this.x, this.y];
    }
    transform(t3) {
      return this.clone().transformO(t3);
    }
    transformO(t3) {
      vt.isMatrixLike(t3) || (t3 = new vt(t3));
      const { x: e2, y: i2 } = this;
      return this.x = t3.a * e2 + t3.c * i2 + t3.e, this.y = t3.b * e2 + t3.d * i2 + t3.f, this;
    }
  }
  function mt(t3, e2, i2) {
    return Math.abs(e2 - t3) < 1e-6;
  }
  class vt {
    constructor(...t3) {
      this.init(...t3);
    }
    static formatTransforms(t3) {
      const e2 = "both" === t3.flip || true === t3.flip, i2 = t3.flip && (e2 || "x" === t3.flip) ? -1 : 1, a2 = t3.flip && (e2 || "y" === t3.flip) ? -1 : 1, s3 = t3.skew && t3.skew.length ? t3.skew[0] : isFinite(t3.skew) ? t3.skew : isFinite(t3.skewX) ? t3.skewX : 0, r3 = t3.skew && t3.skew.length ? t3.skew[1] : isFinite(t3.skew) ? t3.skew : isFinite(t3.skewY) ? t3.skewY : 0, n2 = t3.scale && t3.scale.length ? t3.scale[0] * i2 : isFinite(t3.scale) ? t3.scale * i2 : isFinite(t3.scaleX) ? t3.scaleX * i2 : i2, o3 = t3.scale && t3.scale.length ? t3.scale[1] * a2 : isFinite(t3.scale) ? t3.scale * a2 : isFinite(t3.scaleY) ? t3.scaleY * a2 : a2, l2 = t3.shear || 0, h3 = t3.rotate || t3.theta || 0, c2 = new bt(t3.origin || t3.around || t3.ox || t3.originX, t3.oy || t3.originY), d2 = c2.x, u2 = c2.y, g3 = new bt(t3.position || t3.px || t3.positionX || NaN, t3.py || t3.positionY || NaN), p3 = g3.x, f2 = g3.y, x3 = new bt(t3.translate || t3.tx || t3.translateX, t3.ty || t3.translateY), b2 = x3.x, m3 = x3.y, v2 = new bt(t3.relative || t3.rx || t3.relativeX, t3.ry || t3.relativeY);
      return { scaleX: n2, scaleY: o3, skewX: s3, skewY: r3, shear: l2, theta: h3, rx: v2.x, ry: v2.y, tx: b2, ty: m3, ox: d2, oy: u2, px: p3, py: f2 };
    }
    static fromArray(t3) {
      return { a: t3[0], b: t3[1], c: t3[2], d: t3[3], e: t3[4], f: t3[5] };
    }
    static isMatrixLike(t3) {
      return null != t3.a || null != t3.b || null != t3.c || null != t3.d || null != t3.e || null != t3.f;
    }
    static matrixMultiply(t3, e2, i2) {
      const a2 = t3.a * e2.a + t3.c * e2.b, s3 = t3.b * e2.a + t3.d * e2.b, r3 = t3.a * e2.c + t3.c * e2.d, n2 = t3.b * e2.c + t3.d * e2.d, o3 = t3.e + t3.a * e2.e + t3.c * e2.f, l2 = t3.f + t3.b * e2.e + t3.d * e2.f;
      return i2.a = a2, i2.b = s3, i2.c = r3, i2.d = n2, i2.e = o3, i2.f = l2, i2;
    }
    around(t3, e2, i2) {
      return this.clone().aroundO(t3, e2, i2);
    }
    aroundO(t3, e2, i2) {
      const a2 = t3 || 0, s3 = e2 || 0;
      return this.translateO(-a2, -s3).lmultiplyO(i2).translateO(a2, s3);
    }
    clone() {
      return new vt(this);
    }
    decompose(t3 = 0, e2 = 0) {
      const i2 = this.a, a2 = this.b, s3 = this.c, r3 = this.d, n2 = this.e, o3 = this.f, l2 = i2 * r3 - a2 * s3, h3 = l2 > 0 ? 1 : -1, c2 = h3 * Math.sqrt(i2 * i2 + a2 * a2), d2 = Math.atan2(h3 * a2, h3 * i2), u2 = 180 / Math.PI * d2, g3 = Math.cos(d2), p3 = Math.sin(d2), f2 = (i2 * s3 + a2 * r3) / l2, x3 = s3 * c2 / (f2 * i2 - a2) || r3 * c2 / (f2 * a2 + i2);
      return { scaleX: c2, scaleY: x3, shear: f2, rotate: u2, translateX: n2 - t3 + t3 * g3 * c2 + e2 * (f2 * g3 * c2 - p3 * x3), translateY: o3 - e2 + t3 * p3 * c2 + e2 * (f2 * p3 * c2 + g3 * x3), originX: t3, originY: e2, a: this.a, b: this.b, c: this.c, d: this.d, e: this.e, f: this.f };
    }
    equals(t3) {
      if (t3 === this) return true;
      const e2 = new vt(t3);
      return mt(this.a, e2.a) && mt(this.b, e2.b) && mt(this.c, e2.c) && mt(this.d, e2.d) && mt(this.e, e2.e) && mt(this.f, e2.f);
    }
    flip(t3, e2) {
      return this.clone().flipO(t3, e2);
    }
    flipO(t3, e2) {
      return "x" === t3 ? this.scaleO(-1, 1, e2, 0) : "y" === t3 ? this.scaleO(1, -1, 0, e2) : this.scaleO(-1, -1, t3, e2 || t3);
    }
    init(t3) {
      const e2 = vt.fromArray([1, 0, 0, 1, 0, 0]);
      return t3 = t3 instanceof Gt ? t3.matrixify() : "string" == typeof t3 ? vt.fromArray(t3.split(dt2).map(parseFloat)) : Array.isArray(t3) ? vt.fromArray(t3) : "object" == typeof t3 && vt.isMatrixLike(t3) ? t3 : "object" == typeof t3 ? new vt().transform(t3) : 6 === arguments.length ? vt.fromArray([].slice.call(arguments)) : e2, this.a = null != t3.a ? t3.a : e2.a, this.b = null != t3.b ? t3.b : e2.b, this.c = null != t3.c ? t3.c : e2.c, this.d = null != t3.d ? t3.d : e2.d, this.e = null != t3.e ? t3.e : e2.e, this.f = null != t3.f ? t3.f : e2.f, this;
    }
    inverse() {
      return this.clone().inverseO();
    }
    inverseO() {
      const t3 = this.a, e2 = this.b, i2 = this.c, a2 = this.d, s3 = this.e, r3 = this.f, n2 = t3 * a2 - e2 * i2;
      if (!n2) throw new Error("Cannot invert " + this);
      const o3 = a2 / n2, l2 = -e2 / n2, h3 = -i2 / n2, c2 = t3 / n2, d2 = -(o3 * s3 + h3 * r3), u2 = -(l2 * s3 + c2 * r3);
      return this.a = o3, this.b = l2, this.c = h3, this.d = c2, this.e = d2, this.f = u2, this;
    }
    lmultiply(t3) {
      return this.clone().lmultiplyO(t3);
    }
    lmultiplyO(t3) {
      const e2 = t3 instanceof vt ? t3 : new vt(t3);
      return vt.matrixMultiply(e2, this, this);
    }
    multiply(t3) {
      return this.clone().multiplyO(t3);
    }
    multiplyO(t3) {
      const e2 = t3 instanceof vt ? t3 : new vt(t3);
      return vt.matrixMultiply(this, e2, this);
    }
    rotate(t3, e2, i2) {
      return this.clone().rotateO(t3, e2, i2);
    }
    rotateO(t3, e2 = 0, i2 = 0) {
      t3 = M(t3);
      const a2 = Math.cos(t3), s3 = Math.sin(t3), { a: r3, b: n2, c: o3, d: l2, e: h3, f: c2 } = this;
      return this.a = r3 * a2 - n2 * s3, this.b = n2 * a2 + r3 * s3, this.c = o3 * a2 - l2 * s3, this.d = l2 * a2 + o3 * s3, this.e = h3 * a2 - c2 * s3 + i2 * s3 - e2 * a2 + e2, this.f = c2 * a2 + h3 * s3 - e2 * s3 - i2 * a2 + i2, this;
    }
    scale() {
      return this.clone().scaleO(...arguments);
    }
    scaleO(t3, e2 = t3, i2 = 0, a2 = 0) {
      3 === arguments.length && (a2 = i2, i2 = e2, e2 = t3);
      const { a: s3, b: r3, c: n2, d: o3, e: l2, f: h3 } = this;
      return this.a = s3 * t3, this.b = r3 * e2, this.c = n2 * t3, this.d = o3 * e2, this.e = l2 * t3 - i2 * t3 + i2, this.f = h3 * e2 - a2 * e2 + a2, this;
    }
    shear(t3, e2, i2) {
      return this.clone().shearO(t3, e2, i2);
    }
    shearO(t3, e2 = 0, i2 = 0) {
      const { a: a2, b: s3, c: r3, d: n2, e: o3, f: l2 } = this;
      return this.a = a2 + s3 * t3, this.c = r3 + n2 * t3, this.e = o3 + l2 * t3 - i2 * t3, this;
    }
    skew() {
      return this.clone().skewO(...arguments);
    }
    skewO(t3, e2 = t3, i2 = 0, a2 = 0) {
      3 === arguments.length && (a2 = i2, i2 = e2, e2 = t3), t3 = M(t3), e2 = M(e2);
      const s3 = Math.tan(t3), r3 = Math.tan(e2), { a: n2, b: o3, c: l2, d: h3, e: c2, f: d2 } = this;
      return this.a = n2 + o3 * s3, this.b = o3 + n2 * r3, this.c = l2 + h3 * s3, this.d = h3 + l2 * r3, this.e = c2 + d2 * s3 - a2 * s3, this.f = d2 + c2 * r3 - i2 * r3, this;
    }
    skewX(t3, e2, i2) {
      return this.skew(t3, 0, e2, i2);
    }
    skewY(t3, e2, i2) {
      return this.skew(0, t3, e2, i2);
    }
    toArray() {
      return [this.a, this.b, this.c, this.d, this.e, this.f];
    }
    toString() {
      return "matrix(" + this.a + "," + this.b + "," + this.c + "," + this.d + "," + this.e + "," + this.f + ")";
    }
    transform(t3) {
      if (vt.isMatrixLike(t3)) {
        return new vt(t3).multiplyO(this);
      }
      const e2 = vt.formatTransforms(t3), { x: i2, y: a2 } = new bt(e2.ox, e2.oy).transform(this), s3 = new vt().translateO(e2.rx, e2.ry).lmultiplyO(this).translateO(-i2, -a2).scaleO(e2.scaleX, e2.scaleY).skewO(e2.skewX, e2.skewY).shearO(e2.shear).rotateO(e2.theta).translateO(i2, a2);
      if (isFinite(e2.px) || isFinite(e2.py)) {
        const t4 = new bt(i2, a2).transform(s3), r3 = isFinite(e2.px) ? e2.px - t4.x : 0, n2 = isFinite(e2.py) ? e2.py - t4.y : 0;
        s3.translateO(r3, n2);
      }
      return s3.translateO(e2.tx, e2.ty), s3;
    }
    translate(t3, e2) {
      return this.clone().translateO(t3, e2);
    }
    translateO(t3, e2) {
      return this.e += t3 || 0, this.f += e2 || 0, this;
    }
    valueOf() {
      return { a: this.a, b: this.b, c: this.c, d: this.d, e: this.e, f: this.f };
    }
  }
  function yt() {
    if (!yt.nodes) {
      const t3 = B().size(2, 0);
      t3.node.style.cssText = ["opacity: 0", "position: absolute", "left: -100%", "top: -100%", "overflow: hidden"].join(";"), t3.attr("focusable", "false"), t3.attr("aria-hidden", "true");
      const e2 = t3.path().node;
      yt.nodes = { svg: t3, path: e2 };
    }
    if (!yt.nodes.svg.node.parentNode) {
      const t3 = O.document.body || O.document.documentElement;
      yt.nodes.svg.addTo(t3);
    }
    return yt.nodes;
  }
  function wt(t3) {
    return !(t3.width || t3.height || t3.x || t3.y);
  }
  q(vt, "Matrix");
  class kt {
    constructor(...t3) {
      this.init(...t3);
    }
    addOffset() {
      return this.x += O.window.pageXOffset, this.y += O.window.pageYOffset, new kt(this);
    }
    init(t3) {
      return t3 = "string" == typeof t3 ? t3.split(dt2).map(parseFloat) : Array.isArray(t3) ? t3 : "object" == typeof t3 ? [null != t3.left ? t3.left : t3.x, null != t3.top ? t3.top : t3.y, t3.width, t3.height] : 4 === arguments.length ? [].slice.call(arguments) : [0, 0, 0, 0], this.x = t3[0] || 0, this.y = t3[1] || 0, this.width = this.w = t3[2] || 0, this.height = this.h = t3[3] || 0, this.x2 = this.x + this.w, this.y2 = this.y + this.h, this.cx = this.x + this.w / 2, this.cy = this.y + this.h / 2, this;
    }
    isNulled() {
      return wt(this);
    }
    merge(t3) {
      const e2 = Math.min(this.x, t3.x), i2 = Math.min(this.y, t3.y), a2 = Math.max(this.x + this.width, t3.x + t3.width) - e2, s3 = Math.max(this.y + this.height, t3.y + t3.height) - i2;
      return new kt(e2, i2, a2, s3);
    }
    toArray() {
      return [this.x, this.y, this.width, this.height];
    }
    toString() {
      return this.x + " " + this.y + " " + this.width + " " + this.height;
    }
    transform(t3) {
      t3 instanceof vt || (t3 = new vt(t3));
      let e2 = 1 / 0, i2 = -1 / 0, a2 = 1 / 0, s3 = -1 / 0;
      return [new bt(this.x, this.y), new bt(this.x2, this.y), new bt(this.x, this.y2), new bt(this.x2, this.y2)].forEach(function(r3) {
        r3 = r3.transform(t3), e2 = Math.min(e2, r3.x), i2 = Math.max(i2, r3.x), a2 = Math.min(a2, r3.y), s3 = Math.max(s3, r3.y);
      }), new kt(e2, a2, i2 - e2, s3 - a2);
    }
  }
  function At2(t3, e2, i2) {
    let a2;
    try {
      if (a2 = e2(t3.node), wt(a2) && ((s3 = t3.node) !== O.document && !(O.document.documentElement.contains || function(t4) {
        for (; t4.parentNode; ) t4 = t4.parentNode;
        return t4 === O.document;
      }).call(O.document.documentElement, s3))) throw new Error("Element not in the dom");
    } catch (e3) {
      a2 = i2(t3);
    }
    var s3;
    return a2;
  }
  A2({ viewbox: { viewbox(t3, e2, i2, a2) {
    return null == t3 ? new kt(this.attr("viewBox")) : this.attr("viewBox", new kt(t3, e2, i2, a2));
  }, zoom(t3, e2) {
    let { width: i2, height: a2 } = this.attr(["width", "height"]);
    if ((i2 || a2) && "string" != typeof i2 && "string" != typeof a2 || (i2 = this.node.clientWidth, a2 = this.node.clientHeight), !i2 || !a2) throw new Error("Impossible to get absolute width and height. Please provide an absolute width and height attribute on the zooming element");
    const s3 = this.viewbox(), r3 = i2 / s3.width, n2 = a2 / s3.height, o3 = Math.min(r3, n2);
    if (null == t3) return o3;
    let l2 = o3 / t3;
    l2 === 1 / 0 && (l2 = Number.MAX_SAFE_INTEGER / 100), e2 = e2 || new bt(i2 / 2 / r3 + s3.x, a2 / 2 / n2 + s3.y);
    const h3 = new kt(s3).transform(new vt({ scale: l2, origin: e2 }));
    return this.viewbox(h3);
  } } }), q(kt, "Box");
  class Ct2 extends Array {
    constructor(t3 = [], ...e2) {
      if (super(t3, ...e2), "number" == typeof t3) return this;
      this.length = 0, this.push(...t3);
    }
  }
  Q([Ct2], { each(t3, ...e2) {
    return "function" == typeof t3 ? this.map((e3, i2, a2) => t3.call(e3, e3, i2, a2)) : this.map((i2) => i2[t3](...e2));
  }, toArray() {
    return Array.prototype.concat.apply([], this);
  } });
  const St2 = ["toArray", "constructor", "each"];
  function Lt2(t3, e2) {
    return new Ct2(L2((e2 || O.document).querySelectorAll(t3), function(t4) {
      return V(t4);
    }));
  }
  Ct2.extend = function(t3) {
    t3 = t3.reduce((t4, e2) => (St2.includes(e2) || "_" === e2[0] || (e2 in Array.prototype && (t4["$" + e2] = Array.prototype[e2]), t4[e2] = function(...t5) {
      return this.each(e2, ...t5);
    }), t4), {}), Q([Ct2], t3);
  };
  let Mt = 0;
  const Pt = {};
  function It(t3) {
    let e2 = t3.getEventHolder();
    return e2 === O.window && (e2 = Pt), e2.events || (e2.events = {}), e2.events;
  }
  function Tt(t3) {
    return t3.getEventTarget();
  }
  function zt(t3, e2, i2, a2, s3) {
    const r3 = i2.bind(a2 || t3), n2 = B(t3), o3 = It(n2), l2 = Tt(n2);
    e2 = Array.isArray(e2) ? e2 : e2.split(dt2), i2._svgjsListenerId || (i2._svgjsListenerId = ++Mt), e2.forEach(function(t4) {
      const e3 = t4.split(".")[0], a3 = t4.split(".")[1] || "*";
      o3[e3] = o3[e3] || {}, o3[e3][a3] = o3[e3][a3] || {}, o3[e3][a3][i2._svgjsListenerId] = r3, l2.addEventListener(e3, r3, s3 || false);
    });
  }
  function Xt(t3, e2, i2, a2) {
    const s3 = B(t3), r3 = It(s3), n2 = Tt(s3);
    ("function" != typeof i2 || (i2 = i2._svgjsListenerId)) && (e2 = Array.isArray(e2) ? e2 : (e2 || "").split(dt2)).forEach(function(t4) {
      const e3 = t4 && t4.split(".")[0], o3 = t4 && t4.split(".")[1];
      let l2, h3;
      if (i2) r3[e3] && r3[e3][o3 || "*"] && (n2.removeEventListener(e3, r3[e3][o3 || "*"][i2], a2 || false), delete r3[e3][o3 || "*"][i2]);
      else if (e3 && o3) {
        if (r3[e3] && r3[e3][o3]) {
          for (h3 in r3[e3][o3]) Xt(n2, [e3, o3].join("."), h3);
          delete r3[e3][o3];
        }
      } else if (o3) for (t4 in r3) for (l2 in r3[t4]) o3 === l2 && Xt(n2, [t4, o3].join("."));
      else if (e3) {
        if (r3[e3]) {
          for (l2 in r3[e3]) Xt(n2, [e3, l2].join("."));
          delete r3[e3];
        }
      } else {
        for (t4 in r3) Xt(n2, t4);
        !function(t5) {
          let e4 = t5.getEventHolder();
          e4 === O.window && (e4 = Pt), e4.events && (e4.events = {});
        }(s3);
      }
    });
  }
  class Rt extends D {
    addEventListener() {
    }
    dispatch(t3, e2, i2) {
      return function(t4, e3, i3, a2) {
        const s3 = Tt(t4);
        return e3 instanceof O.window.Event || (e3 = new O.window.CustomEvent(e3, { detail: i3, cancelable: true, ...a2 })), s3.dispatchEvent(e3), e3;
      }(this, t3, e2, i2);
    }
    dispatchEvent(t3) {
      const e2 = this.getEventHolder().events;
      if (!e2) return true;
      const i2 = e2[t3.type];
      for (const e3 in i2) for (const a2 in i2[e3]) i2[e3][a2](t3);
      return !t3.defaultPrevented;
    }
    fire(t3, e2, i2) {
      return this.dispatch(t3, e2, i2), this;
    }
    getEventHolder() {
      return this;
    }
    getEventTarget() {
      return this;
    }
    off(t3, e2, i2) {
      return Xt(this, t3, e2, i2), this;
    }
    on(t3, e2, i2, a2) {
      return zt(this, t3, e2, i2, a2), this;
    }
    removeEventListener() {
    }
  }
  function Et2() {
  }
  q(Rt, "EventTarget");
  const Yt2 = 400, Ht = ">", Ot = 0, Ft2 = { "fill-opacity": 1, "stroke-opacity": 1, "stroke-width": 0, "stroke-linejoin": "miter", "stroke-linecap": "butt", fill: "#000000", stroke: "#000000", opacity: 1, x: 0, y: 0, cx: 0, cy: 0, width: 0, height: 0, r: 0, rx: 0, ry: 0, offset: 0, "stop-opacity": 1, "stop-color": "#000000", "text-anchor": "start" };
  class Dt extends Array {
    constructor(...t3) {
      super(...t3), this.init(...t3);
    }
    clone() {
      return new this.constructor(this);
    }
    init(t3) {
      return "number" == typeof t3 || (this.length = 0, this.push(...this.parse(t3))), this;
    }
    parse(t3 = []) {
      return t3 instanceof Array ? t3 : t3.trim().split(dt2).map(parseFloat);
    }
    toArray() {
      return Array.prototype.concat.apply([], this);
    }
    toSet() {
      return new Set(this);
    }
    toString() {
      return this.join(" ");
    }
    valueOf() {
      const t3 = [];
      return t3.push(...this), t3;
    }
  }
  class _t {
    constructor(...t3) {
      this.init(...t3);
    }
    convert(t3) {
      return new _t(this.value, t3);
    }
    divide(t3) {
      return t3 = new _t(t3), new _t(this / t3, this.unit || t3.unit);
    }
    init(t3, e2) {
      return e2 = Array.isArray(t3) ? t3[1] : e2, t3 = Array.isArray(t3) ? t3[0] : t3, this.value = 0, this.unit = e2 || "", "number" == typeof t3 ? this.value = isNaN(t3) ? 0 : isFinite(t3) ? t3 : t3 < 0 ? -34e37 : 34e37 : "string" == typeof t3 ? (e2 = t3.match(tt2)) && (this.value = parseFloat(e2[1]), "%" === e2[5] ? this.value /= 100 : "s" === e2[5] && (this.value *= 1e3), this.unit = e2[5]) : t3 instanceof _t && (this.value = t3.valueOf(), this.unit = t3.unit), this;
    }
    minus(t3) {
      return t3 = new _t(t3), new _t(this - t3, this.unit || t3.unit);
    }
    plus(t3) {
      return t3 = new _t(t3), new _t(this + t3, this.unit || t3.unit);
    }
    times(t3) {
      return t3 = new _t(t3), new _t(this * t3, this.unit || t3.unit);
    }
    toArray() {
      return [this.value, this.unit];
    }
    toJSON() {
      return this.toString();
    }
    toString() {
      return ("%" === this.unit ? ~~(1e8 * this.value) / 1e6 : "s" === this.unit ? this.value / 1e3 : this.value) + this.unit;
    }
    valueOf() {
      return this.value;
    }
  }
  const Nt = /* @__PURE__ */ new Set(["fill", "stroke", "color", "bgcolor", "stop-color", "flood-color", "lighting-color"]), Wt2 = [];
  class Bt extends Rt {
    constructor(t3, e2) {
      super(), this.node = t3, this.type = t3.nodeName, e2 && t3 !== e2 && this.attr(e2);
    }
    add(t3, e2) {
      return (t3 = B(t3)).removeNamespace && this.node instanceof O.window.SVGElement && t3.removeNamespace(), null == e2 ? this.node.appendChild(t3.node) : t3.node !== this.node.childNodes[e2] && this.node.insertBefore(t3.node, this.node.childNodes[e2]), this;
    }
    addTo(t3, e2) {
      return B(t3).put(this, e2);
    }
    children() {
      return new Ct2(L2(this.node.children, function(t3) {
        return V(t3);
      }));
    }
    clear() {
      for (; this.node.hasChildNodes(); ) this.node.removeChild(this.node.lastChild);
      return this;
    }
    clone(t3 = true, e2 = true) {
      this.writeDataToDom();
      let i2 = this.node.cloneNode(t3);
      return e2 && (i2 = J2(i2)), new this.constructor(i2);
    }
    each(t3, e2) {
      const i2 = this.children();
      let a2, s3;
      for (a2 = 0, s3 = i2.length; a2 < s3; a2++) t3.apply(i2[a2], [a2, i2]), e2 && i2[a2].each(t3, e2);
      return this;
    }
    element(t3, e2) {
      return this.put(new Bt(W(t3), e2));
    }
    first() {
      return V(this.node.firstChild);
    }
    get(t3) {
      return V(this.node.childNodes[t3]);
    }
    getEventHolder() {
      return this.node;
    }
    getEventTarget() {
      return this.node;
    }
    has(t3) {
      return this.index(t3) >= 0;
    }
    html(t3, e2) {
      return this.xml(t3, e2, "http://www.w3.org/1999/xhtml");
    }
    id(t3) {
      return void 0 !== t3 || this.node.id || (this.node.id = $(this.type)), this.attr("id", t3);
    }
    index(t3) {
      return [].slice.call(this.node.childNodes).indexOf(t3.node);
    }
    last() {
      return V(this.node.lastChild);
    }
    matches(t3) {
      const e2 = this.node, i2 = e2.matches || e2.matchesSelector || e2.msMatchesSelector || e2.mozMatchesSelector || e2.webkitMatchesSelector || e2.oMatchesSelector || null;
      return i2 && i2.call(e2, t3);
    }
    parent(t3) {
      let e2 = this;
      if (!e2.node.parentNode) return null;
      if (e2 = V(e2.node.parentNode), !t3) return e2;
      do {
        if ("string" == typeof t3 ? e2.matches(t3) : e2 instanceof t3) return e2;
      } while (e2 = V(e2.node.parentNode));
      return e2;
    }
    put(t3, e2) {
      return t3 = B(t3), this.add(t3, e2), t3;
    }
    putIn(t3, e2) {
      return B(t3).add(this, e2);
    }
    remove() {
      return this.parent() && this.parent().removeElement(this), this;
    }
    removeElement(t3) {
      return this.node.removeChild(t3.node), this;
    }
    replace(t3) {
      return t3 = B(t3), this.node.parentNode && this.node.parentNode.replaceChild(t3.node, this.node), t3;
    }
    round(t3 = 2, e2 = null) {
      const i2 = 10 ** t3, a2 = this.attr(e2);
      for (const t4 in a2) "number" == typeof a2[t4] && (a2[t4] = Math.round(a2[t4] * i2) / i2);
      return this.attr(a2), this;
    }
    svg(t3, e2) {
      return this.xml(t3, e2, E);
    }
    toString() {
      return this.id();
    }
    words(t3) {
      return this.node.textContent = t3, this;
    }
    wrap(t3) {
      const e2 = this.parent();
      if (!e2) return this.addTo(t3);
      const i2 = e2.index(this);
      return e2.put(t3, i2).put(this);
    }
    writeDataToDom() {
      return this.each(function() {
        this.writeDataToDom();
      }), this;
    }
    xml(t3, e2, i2) {
      if ("boolean" == typeof t3 && (i2 = e2, e2 = t3, t3 = null), null == t3 || "function" == typeof t3) {
        e2 = null == e2 || e2, this.writeDataToDom();
        let i3 = this;
        if (null != t3) {
          if (i3 = V(i3.node.cloneNode(true)), e2) {
            const e3 = t3(i3);
            if (i3 = e3 || i3, false === e3) return "";
          }
          i3.each(function() {
            const e3 = t3(this), i4 = e3 || this;
            false === e3 ? this.remove() : e3 && this !== i4 && this.replace(i4);
          }, true);
        }
        return e2 ? i3.node.outerHTML : i3.node.innerHTML;
      }
      e2 = null != e2 && e2;
      const a2 = W("wrapper", i2), s3 = O.document.createDocumentFragment();
      a2.innerHTML = t3;
      for (let t4 = a2.children.length; t4--; ) s3.appendChild(a2.firstElementChild);
      const r3 = this.parent();
      return e2 ? this.replace(s3) && r3 : this.add(s3);
    }
  }
  Q(Bt, { attr: function(t3, e2, i2) {
    if (null == t3) {
      t3 = {}, e2 = this.node.attributes;
      for (const i3 of e2) t3[i3.nodeName] = ht.test(i3.nodeValue) ? parseFloat(i3.nodeValue) : i3.nodeValue;
      return t3;
    }
    if (t3 instanceof Array) return t3.reduce((t4, e3) => (t4[e3] = this.attr(e3), t4), {});
    if ("object" == typeof t3 && t3.constructor === Object) for (e2 in t3) this.attr(e2, t3[e2]);
    else if (null === e2) this.node.removeAttribute(t3);
    else {
      if (null == e2) return null == (e2 = this.node.getAttribute(t3)) ? Ft2[t3] : ht.test(e2) ? parseFloat(e2) : e2;
      "number" == typeof (e2 = Wt2.reduce((e3, i3) => i3(t3, e3, this), e2)) ? e2 = new _t(e2) : Nt.has(t3) && xt2.isColor(e2) ? e2 = new xt2(e2) : e2.constructor === Array && (e2 = new Dt(e2)), "leading" === t3 ? this.leading && this.leading(e2) : "string" == typeof i2 ? this.node.setAttributeNS(i2, t3, e2.toString()) : this.node.setAttribute(t3, e2.toString()), !this.rebuild || "font-size" !== t3 && "x" !== t3 || this.rebuild();
    }
    return this;
  }, find: function(t3) {
    return Lt2(t3, this.node);
  }, findOne: function(t3) {
    return V(this.node.querySelector(t3));
  } }), q(Bt, "Dom");
  let Gt = class extends Bt {
    constructor(t3, e2) {
      super(t3, e2), this.dom = {}, this.node.instance = this, (t3.hasAttribute("data-svgjs") || t3.hasAttribute("svgjs:data")) && this.setData(JSON.parse(t3.getAttribute("data-svgjs")) ?? JSON.parse(t3.getAttribute("svgjs:data")) ?? {});
    }
    center(t3, e2) {
      return this.cx(t3).cy(e2);
    }
    cx(t3) {
      return null == t3 ? this.x() + this.width() / 2 : this.x(t3 - this.width() / 2);
    }
    cy(t3) {
      return null == t3 ? this.y() + this.height() / 2 : this.y(t3 - this.height() / 2);
    }
    defs() {
      const t3 = this.root();
      return t3 && t3.defs();
    }
    dmove(t3, e2) {
      return this.dx(t3).dy(e2);
    }
    dx(t3 = 0) {
      return this.x(new _t(t3).plus(this.x()));
    }
    dy(t3 = 0) {
      return this.y(new _t(t3).plus(this.y()));
    }
    getEventHolder() {
      return this;
    }
    height(t3) {
      return this.attr("height", t3);
    }
    move(t3, e2) {
      return this.x(t3).y(e2);
    }
    parents(t3 = this.root()) {
      const e2 = "string" == typeof t3;
      e2 || (t3 = B(t3));
      const i2 = new Ct2();
      let a2 = this;
      for (; (a2 = a2.parent()) && a2.node !== O.document && "#document-fragment" !== a2.nodeName && (i2.push(a2), e2 || a2.node !== t3.node) && (!e2 || !a2.matches(t3)); ) if (a2.node === this.root().node) return null;
      return i2;
    }
    reference(t3) {
      if (!(t3 = this.attr(t3))) return null;
      const e2 = (t3 + "").match(at);
      return e2 ? B(e2[1]) : null;
    }
    root() {
      const t3 = this.parent(function(t4) {
        return _[t4];
      }(N));
      return t3 && t3.root();
    }
    setData(t3) {
      return this.dom = t3, this;
    }
    size(t3, e2) {
      const i2 = I(this, t3, e2);
      return this.width(new _t(i2.width)).height(new _t(i2.height));
    }
    width(t3) {
      return this.attr("width", t3);
    }
    writeDataToDom() {
      return R(this, this.dom), super.writeDataToDom();
    }
    x(t3) {
      return this.attr("x", t3);
    }
    y(t3) {
      return this.attr("y", t3);
    }
  };
  Q(Gt, { bbox: function() {
    const t3 = At2(this, (t4) => t4.getBBox(), (t4) => {
      try {
        const e2 = t4.clone().addTo(yt().svg).show(), i2 = e2.node.getBBox();
        return e2.remove(), i2;
      } catch (e2) {
        throw new Error(`Getting bbox of element "${t4.node.nodeName}" is not possible: ${e2.toString()}`);
      }
    });
    return new kt(t3);
  }, rbox: function(t3) {
    const e2 = At2(this, (t4) => t4.getBoundingClientRect(), (t4) => {
      throw new Error(`Getting rbox of element "${t4.node.nodeName}" is not possible`);
    }), i2 = new kt(e2);
    return t3 ? i2.transform(t3.screenCTM().inverseO()) : i2.addOffset();
  }, inside: function(t3, e2) {
    const i2 = this.bbox();
    return t3 > i2.x && e2 > i2.y && t3 < i2.x + i2.width && e2 < i2.y + i2.height;
  }, point: function(t3, e2) {
    return new bt(t3, e2).transformO(this.screenCTM().inverseO());
  }, ctm: function() {
    return new vt(this.node.getCTM());
  }, screenCTM: function() {
    try {
      if ("function" == typeof this.isRoot && !this.isRoot()) {
        const t3 = this.rect(1, 1), e2 = t3.node.getScreenCTM();
        return t3.remove(), new vt(e2);
      }
      return new vt(this.node.getScreenCTM());
    } catch (t3) {
      return console.warn(`Cannot get CTM from SVG node ${this.node.nodeName}. Is the element rendered?`), new vt();
    }
  } }), q(Gt, "Element");
  const jt = { stroke: ["color", "width", "opacity", "linecap", "linejoin", "miterlimit", "dasharray", "dashoffset"], fill: ["color", "opacity", "rule"], prefix: function(t3, e2) {
    return "color" === e2 ? t3 : t3 + "-" + e2;
  } };
  ["fill", "stroke"].forEach(function(t3) {
    const e2 = {};
    let i2;
    e2[t3] = function(e3) {
      if (void 0 === e3) return this.attr(t3);
      if ("string" == typeof e3 || e3 instanceof xt2 || xt2.isRgb(e3) || e3 instanceof Gt) this.attr(t3, e3);
      else for (i2 = jt[t3].length - 1; i2 >= 0; i2--) null != e3[jt[t3][i2]] && this.attr(jt.prefix(t3, jt[t3][i2]), e3[jt[t3][i2]]);
      return this;
    }, A2(["Element", "Runner"], e2);
  }), A2(["Element", "Runner"], { matrix: function(t3, e2, i2, a2, s3, r3) {
    return null == t3 ? new vt(this) : this.attr("transform", new vt(t3, e2, i2, a2, s3, r3));
  }, rotate: function(t3, e2, i2) {
    return this.transform({ rotate: t3, ox: e2, oy: i2 }, true);
  }, skew: function(t3, e2, i2, a2) {
    return 1 === arguments.length || 3 === arguments.length ? this.transform({ skew: t3, ox: e2, oy: i2 }, true) : this.transform({ skew: [t3, e2], ox: i2, oy: a2 }, true);
  }, shear: function(t3, e2, i2) {
    return this.transform({ shear: t3, ox: e2, oy: i2 }, true);
  }, scale: function(t3, e2, i2, a2) {
    return 1 === arguments.length || 3 === arguments.length ? this.transform({ scale: t3, ox: e2, oy: i2 }, true) : this.transform({ scale: [t3, e2], ox: i2, oy: a2 }, true);
  }, translate: function(t3, e2) {
    return this.transform({ translate: [t3, e2] }, true);
  }, relative: function(t3, e2) {
    return this.transform({ relative: [t3, e2] }, true);
  }, flip: function(t3 = "both", e2 = "center") {
    return -1 === "xybothtrue".indexOf(t3) && (e2 = t3, t3 = "both"), this.transform({ flip: t3, origin: e2 }, true);
  }, opacity: function(t3) {
    return this.attr("opacity", t3);
  } }), A2("radius", { radius: function(t3, e2 = t3) {
    return "radialGradient" === (this._element || this).type ? this.attr("r", new _t(t3)) : this.rx(t3).ry(e2);
  } }), A2("Path", { length: function() {
    return this.node.getTotalLength();
  }, pointAt: function(t3) {
    return new bt(this.node.getPointAtLength(t3));
  } }), A2(["Element", "Runner"], { font: function(t3, e2) {
    if ("object" == typeof t3) {
      for (e2 in t3) this.font(e2, t3[e2]);
      return this;
    }
    return "leading" === t3 ? this.leading(e2) : "anchor" === t3 ? this.attr("text-anchor", e2) : "size" === t3 || "family" === t3 || "weight" === t3 || "stretch" === t3 || "variant" === t3 || "style" === t3 ? this.attr("font-" + t3, e2) : this.attr(t3, e2);
  } });
  A2("Element", ["click", "dblclick", "mousedown", "mouseup", "mouseover", "mouseout", "mousemove", "mouseenter", "mouseleave", "touchstart", "touchmove", "touchleave", "touchend", "touchcancel", "contextmenu", "wheel", "pointerdown", "pointermove", "pointerup", "pointerleave", "pointercancel"].reduce(function(t3, e2) {
    return t3[e2] = function(t4) {
      return null === t4 ? this.off(e2) : this.on(e2, t4), this;
    }, t3;
  }, {})), A2("Element", { untransform: function() {
    return this.attr("transform", null);
  }, matrixify: function() {
    const t3 = (this.attr("transform") || "").split(st).slice(0, -1).map(function(t4) {
      const e2 = t4.trim().split("(");
      return [e2[0], e2[1].split(dt2).map(function(t5) {
        return parseFloat(t5);
      })];
    }).reverse().reduce(function(t4, e2) {
      return "matrix" === e2[0] ? t4.lmultiply(vt.fromArray(e2[1])) : t4[e2[0]].apply(t4, e2[1]);
    }, new vt());
    return t3;
  }, toParent: function(t3, e2) {
    if (this === t3) return this;
    if (X(this.node)) return this.addTo(t3, e2);
    const i2 = this.screenCTM(), a2 = t3.screenCTM().inverse();
    return this.addTo(t3, e2).untransform().transform(a2.multiply(i2)), this;
  }, toRoot: function(t3) {
    return this.toParent(this.root(), t3);
  }, transform: function(t3, e2) {
    if (null == t3 || "string" == typeof t3) {
      const e3 = new vt(this).decompose();
      return null == t3 ? e3 : e3[t3];
    }
    vt.isMatrixLike(t3) || (t3 = { ...t3, origin: T(t3, this) });
    const i2 = new vt(true === e2 ? this : e2 || false).transform(t3);
    return this.attr("transform", i2);
  } });
  class Vt extends Gt {
    flatten() {
      return this.each(function() {
        if (this instanceof Vt) return this.flatten().ungroup();
      }), this;
    }
    ungroup(t3 = this.parent(), e2 = t3.index(this)) {
      return e2 = -1 === e2 ? t3.children().length : e2, this.each(function(i2, a2) {
        return a2[a2.length - i2 - 1].toParent(t3, e2);
      }), this.remove();
    }
  }
  q(Vt, "Container");
  class Ut extends Vt {
    constructor(t3, e2 = t3) {
      super(G2("defs", t3), e2);
    }
    flatten() {
      return this;
    }
    ungroup() {
      return this;
    }
  }
  q(Ut, "Defs");
  class qt extends Gt {
  }
  function Zt(t3) {
    return this.attr("rx", t3);
  }
  function $t(t3) {
    return this.attr("ry", t3);
  }
  function Jt(t3) {
    return null == t3 ? this.cx() - this.rx() : this.cx(t3 + this.rx());
  }
  function Qt(t3) {
    return null == t3 ? this.cy() - this.ry() : this.cy(t3 + this.ry());
  }
  function Kt(t3) {
    return this.attr("cx", t3);
  }
  function te(t3) {
    return this.attr("cy", t3);
  }
  function ee(t3) {
    return null == t3 ? 2 * this.rx() : this.rx(new _t(t3).divide(2));
  }
  function ie(t3) {
    return null == t3 ? 2 * this.ry() : this.ry(new _t(t3).divide(2));
  }
  q(qt, "Shape");
  var ae = Object.freeze({ __proto__: null, cx: Kt, cy: te, height: ie, rx: Zt, ry: $t, width: ee, x: Jt, y: Qt });
  class se extends qt {
    constructor(t3, e2 = t3) {
      super(G2("ellipse", t3), e2);
    }
    size(t3, e2) {
      const i2 = I(this, t3, e2);
      return this.rx(new _t(i2.width).divide(2)).ry(new _t(i2.height).divide(2));
    }
  }
  Q(se, ae), A2("Container", { ellipse: K(function(t3 = 0, e2 = t3) {
    return this.put(new se()).size(t3, e2).move(0, 0);
  }) }), q(se, "Ellipse");
  class re extends Bt {
    constructor(t3 = O.document.createDocumentFragment()) {
      super(t3);
    }
    xml(t3, e2, i2) {
      if ("boolean" == typeof t3 && (i2 = e2, e2 = t3, t3 = null), null == t3 || "function" == typeof t3) {
        const t4 = new Bt(W("wrapper", i2));
        return t4.add(this.node.cloneNode(true)), t4.xml(false, i2);
      }
      return super.xml(t3, false, i2);
    }
  }
  function ne(t3, e2) {
    return "radialGradient" === (this._element || this).type ? this.attr({ fx: new _t(t3), fy: new _t(e2) }) : this.attr({ x1: new _t(t3), y1: new _t(e2) });
  }
  function oe(t3, e2) {
    return "radialGradient" === (this._element || this).type ? this.attr({ cx: new _t(t3), cy: new _t(e2) }) : this.attr({ x2: new _t(t3), y2: new _t(e2) });
  }
  q(re, "Fragment");
  var le = Object.freeze({ __proto__: null, from: ne, to: oe });
  class he extends Vt {
    constructor(t3, e2) {
      super(G2(t3 + "Gradient", "string" == typeof t3 ? null : t3), e2);
    }
    attr(t3, e2, i2) {
      return "transform" === t3 && (t3 = "gradientTransform"), super.attr(t3, e2, i2);
    }
    bbox() {
      return new kt();
    }
    targets() {
      return Lt2("svg [fill*=" + this.id() + "]");
    }
    toString() {
      return this.url();
    }
    update(t3) {
      return this.clear(), "function" == typeof t3 && t3.call(this, this), this;
    }
    url() {
      return "url(#" + this.id() + ")";
    }
  }
  Q(he, le), A2({ Container: { gradient(...t3) {
    return this.defs().gradient(...t3);
  } }, Defs: { gradient: K(function(t3, e2) {
    return this.put(new he(t3)).update(e2);
  }) } }), q(he, "Gradient");
  class ce extends Vt {
    constructor(t3, e2 = t3) {
      super(G2("pattern", t3), e2);
    }
    attr(t3, e2, i2) {
      return "transform" === t3 && (t3 = "patternTransform"), super.attr(t3, e2, i2);
    }
    bbox() {
      return new kt();
    }
    targets() {
      return Lt2("svg [fill*=" + this.id() + "]");
    }
    toString() {
      return this.url();
    }
    update(t3) {
      return this.clear(), "function" == typeof t3 && t3.call(this, this), this;
    }
    url() {
      return "url(#" + this.id() + ")";
    }
  }
  A2({ Container: { pattern(...t3) {
    return this.defs().pattern(...t3);
  } }, Defs: { pattern: K(function(t3, e2, i2) {
    return this.put(new ce()).update(i2).attr({ x: 0, y: 0, width: t3, height: e2, patternUnits: "userSpaceOnUse" });
  }) } }), q(ce, "Pattern");
  let de = class extends qt {
    constructor(t3, e2 = t3) {
      super(G2("image", t3), e2);
    }
    load(t3, e2) {
      if (!t3) return this;
      const i2 = new O.window.Image();
      return zt(i2, "load", function(t4) {
        const a2 = this.parent(ce);
        0 === this.width() && 0 === this.height() && this.size(i2.width, i2.height), a2 instanceof ce && 0 === a2.width() && 0 === a2.height() && a2.size(this.width(), this.height()), "function" == typeof e2 && e2.call(this, t4);
      }, this), zt(i2, "load error", function() {
        Xt(i2);
      }), this.attr("href", i2.src = t3, H);
    }
  };
  var ue;
  ue = function(t3, e2, i2) {
    return "fill" !== t3 && "stroke" !== t3 || ct.test(e2) && (e2 = i2.root().defs().image(e2)), e2 instanceof de && (e2 = i2.root().defs().pattern(0, 0, (t4) => {
      t4.add(e2);
    })), e2;
  }, Wt2.push(ue), A2({ Container: { image: K(function(t3, e2) {
    return this.put(new de()).size(0, 0).load(t3, e2);
  }) } }), q(de, "Image");
  class ge extends Dt {
    bbox() {
      let t3 = -1 / 0, e2 = -1 / 0, i2 = 1 / 0, a2 = 1 / 0;
      return this.forEach(function(s3) {
        t3 = Math.max(s3[0], t3), e2 = Math.max(s3[1], e2), i2 = Math.min(s3[0], i2), a2 = Math.min(s3[1], a2);
      }), new kt(i2, a2, t3 - i2, e2 - a2);
    }
    move(t3, e2) {
      const i2 = this.bbox();
      if (t3 -= i2.x, e2 -= i2.y, !isNaN(t3) && !isNaN(e2)) for (let i3 = this.length - 1; i3 >= 0; i3--) this[i3] = [this[i3][0] + t3, this[i3][1] + e2];
      return this;
    }
    parse(t3 = [0, 0]) {
      const e2 = [];
      (t3 = t3 instanceof Array ? Array.prototype.concat.apply([], t3) : t3.trim().split(dt2).map(parseFloat)).length % 2 != 0 && t3.pop();
      for (let i2 = 0, a2 = t3.length; i2 < a2; i2 += 2) e2.push([t3[i2], t3[i2 + 1]]);
      return e2;
    }
    size(t3, e2) {
      let i2;
      const a2 = this.bbox();
      for (i2 = this.length - 1; i2 >= 0; i2--) a2.width && (this[i2][0] = (this[i2][0] - a2.x) * t3 / a2.width + a2.x), a2.height && (this[i2][1] = (this[i2][1] - a2.y) * e2 / a2.height + a2.y);
      return this;
    }
    toLine() {
      return { x1: this[0][0], y1: this[0][1], x2: this[1][0], y2: this[1][1] };
    }
    toString() {
      const t3 = [];
      for (let e2 = 0, i2 = this.length; e2 < i2; e2++) t3.push(this[e2].join(","));
      return t3.join(" ");
    }
    transform(t3) {
      return this.clone().transformO(t3);
    }
    transformO(t3) {
      vt.isMatrixLike(t3) || (t3 = new vt(t3));
      for (let e2 = this.length; e2--; ) {
        const [i2, a2] = this[e2];
        this[e2][0] = t3.a * i2 + t3.c * a2 + t3.e, this[e2][1] = t3.b * i2 + t3.d * a2 + t3.f;
      }
      return this;
    }
  }
  const pe = ge;
  var fe = Object.freeze({ __proto__: null, MorphArray: pe, height: function(t3) {
    const e2 = this.bbox();
    return null == t3 ? e2.height : this.size(e2.width, t3);
  }, width: function(t3) {
    const e2 = this.bbox();
    return null == t3 ? e2.width : this.size(t3, e2.height);
  }, x: function(t3) {
    return null == t3 ? this.bbox().x : this.move(t3, this.bbox().y);
  }, y: function(t3) {
    return null == t3 ? this.bbox().y : this.move(this.bbox().x, t3);
  } });
  let xe = class extends qt {
    constructor(t3, e2 = t3) {
      super(G2("line", t3), e2);
    }
    array() {
      return new ge([[this.attr("x1"), this.attr("y1")], [this.attr("x2"), this.attr("y2")]]);
    }
    move(t3, e2) {
      return this.attr(this.array().move(t3, e2).toLine());
    }
    plot(t3, e2, i2, a2) {
      return null == t3 ? this.array() : (t3 = void 0 !== e2 ? { x1: t3, y1: e2, x2: i2, y2: a2 } : new ge(t3).toLine(), this.attr(t3));
    }
    size(t3, e2) {
      const i2 = I(this, t3, e2);
      return this.attr(this.array().size(i2.width, i2.height).toLine());
    }
  };
  Q(xe, fe), A2({ Container: { line: K(function(...t3) {
    return xe.prototype.plot.apply(this.put(new xe()), null != t3[0] ? t3 : [0, 0, 0, 0]);
  }) } }), q(xe, "Line");
  let be = class extends Vt {
    constructor(t3, e2 = t3) {
      super(G2("marker", t3), e2);
    }
    height(t3) {
      return this.attr("markerHeight", t3);
    }
    orient(t3) {
      return this.attr("orient", t3);
    }
    ref(t3, e2) {
      return this.attr("refX", t3).attr("refY", e2);
    }
    toString() {
      return "url(#" + this.id() + ")";
    }
    update(t3) {
      return this.clear(), "function" == typeof t3 && t3.call(this, this), this;
    }
    width(t3) {
      return this.attr("markerWidth", t3);
    }
  };
  function me(t3, e2) {
    return function(i2) {
      return null == i2 ? this[t3] : (this[t3] = i2, e2 && e2.call(this), this);
    };
  }
  A2({ Container: { marker(...t3) {
    return this.defs().marker(...t3);
  } }, Defs: { marker: K(function(t3, e2, i2) {
    return this.put(new be()).size(t3, e2).ref(t3 / 2, e2 / 2).viewbox(0, 0, t3, e2).attr("orient", "auto").update(i2);
  }) }, marker: { marker(t3, e2, i2, a2) {
    let s3 = ["marker"];
    return "all" !== t3 && s3.push(t3), s3 = s3.join("-"), t3 = arguments[1] instanceof be ? arguments[1] : this.defs().marker(e2, i2, a2), this.attr(s3, t3);
  } } }), q(be, "Marker");
  const ve = { "-": function(t3) {
    return t3;
  }, "<>": function(t3) {
    return -Math.cos(t3 * Math.PI) / 2 + 0.5;
  }, ">": function(t3) {
    return Math.sin(t3 * Math.PI / 2);
  }, "<": function(t3) {
    return 1 - Math.cos(t3 * Math.PI / 2);
  }, bezier: function(t3, e2, i2, a2) {
    return function(s3) {
      return s3 < 0 ? t3 > 0 ? e2 / t3 * s3 : i2 > 0 ? a2 / i2 * s3 : 0 : s3 > 1 ? i2 < 1 ? (1 - a2) / (1 - i2) * s3 + (a2 - i2) / (1 - i2) : t3 < 1 ? (1 - e2) / (1 - t3) * s3 + (e2 - t3) / (1 - t3) : 1 : 3 * s3 * (1 - s3) ** 2 * e2 + 3 * s3 ** 2 * (1 - s3) * a2 + s3 ** 3;
    };
  }, steps: function(t3, e2 = "end") {
    e2 = e2.split("-").reverse()[0];
    let i2 = t3;
    return "none" === e2 ? --i2 : "both" === e2 && ++i2, (a2, s3 = false) => {
      let r3 = Math.floor(a2 * t3);
      const n2 = a2 * r3 % 1 == 0;
      return "start" !== e2 && "both" !== e2 || ++r3, s3 && n2 && --r3, a2 >= 0 && r3 < 0 && (r3 = 0), a2 <= 1 && r3 > i2 && (r3 = i2), r3 / i2;
    };
  } };
  class ye {
    done() {
      return false;
    }
  }
  class we extends ye {
    constructor(t3 = Ht) {
      super(), this.ease = ve[t3] || t3;
    }
    step(t3, e2, i2) {
      return "number" != typeof t3 ? i2 < 1 ? t3 : e2 : t3 + (e2 - t3) * this.ease(i2);
    }
  }
  class ke extends ye {
    constructor(t3) {
      super(), this.stepper = t3;
    }
    done(t3) {
      return t3.done;
    }
    step(t3, e2, i2, a2) {
      return this.stepper(t3, e2, i2, a2);
    }
  }
  function Ae() {
    const t3 = (this._duration || 500) / 1e3, e2 = this._overshoot || 0, i2 = Math.PI, a2 = Math.log(e2 / 100 + 1e-10), s3 = -a2 / Math.sqrt(i2 * i2 + a2 * a2), r3 = 3.9 / (s3 * t3);
    this.d = 2 * s3 * r3, this.k = r3 * r3;
  }
  Q(class extends ke {
    constructor(t3 = 500, e2 = 0) {
      super(), this.duration(t3).overshoot(e2);
    }
    step(t3, e2, i2, a2) {
      if ("string" == typeof t3) return t3;
      if (a2.done = i2 === 1 / 0, i2 === 1 / 0) return e2;
      if (0 === i2) return t3;
      i2 > 100 && (i2 = 16), i2 /= 1e3;
      const s3 = a2.velocity || 0, r3 = -this.d * s3 - this.k * (t3 - e2), n2 = t3 + s3 * i2 + r3 * i2 * i2 / 2;
      return a2.velocity = s3 + r3 * i2, a2.done = Math.abs(e2 - n2) + Math.abs(s3) < 2e-3, a2.done ? e2 : n2;
    }
  }, { duration: me("_duration", Ae), overshoot: me("_overshoot", Ae) });
  Q(class extends ke {
    constructor(t3 = 0.1, e2 = 0.01, i2 = 0, a2 = 1e3) {
      super(), this.p(t3).i(e2).d(i2).windup(a2);
    }
    step(t3, e2, i2, a2) {
      if ("string" == typeof t3) return t3;
      if (a2.done = i2 === 1 / 0, i2 === 1 / 0) return e2;
      if (0 === i2) return t3;
      const s3 = e2 - t3;
      let r3 = (a2.integral || 0) + s3 * i2;
      const n2 = (s3 - (a2.error || 0)) / i2, o3 = this._windup;
      return false !== o3 && (r3 = Math.max(-o3, Math.min(r3, o3))), a2.error = s3, a2.integral = r3, a2.done = Math.abs(s3) < 1e-3, a2.done ? e2 : t3 + (this.P * s3 + this.I * r3 + this.D * n2);
    }
  }, { windup: me("_windup"), p: me("P"), i: me("I"), d: me("D") });
  const Ce = { M: 2, L: 2, H: 1, V: 1, C: 6, S: 4, Q: 4, T: 2, A: 7, Z: 0 }, Se = { M: function(t3, e2, i2) {
    return e2.x = i2.x = t3[0], e2.y = i2.y = t3[1], ["M", e2.x, e2.y];
  }, L: function(t3, e2) {
    return e2.x = t3[0], e2.y = t3[1], ["L", t3[0], t3[1]];
  }, H: function(t3, e2) {
    return e2.x = t3[0], ["H", t3[0]];
  }, V: function(t3, e2) {
    return e2.y = t3[0], ["V", t3[0]];
  }, C: function(t3, e2) {
    return e2.x = t3[4], e2.y = t3[5], ["C", t3[0], t3[1], t3[2], t3[3], t3[4], t3[5]];
  }, S: function(t3, e2) {
    return e2.x = t3[2], e2.y = t3[3], ["S", t3[0], t3[1], t3[2], t3[3]];
  }, Q: function(t3, e2) {
    return e2.x = t3[2], e2.y = t3[3], ["Q", t3[0], t3[1], t3[2], t3[3]];
  }, T: function(t3, e2) {
    return e2.x = t3[0], e2.y = t3[1], ["T", t3[0], t3[1]];
  }, Z: function(t3, e2, i2) {
    return e2.x = i2.x, e2.y = i2.y, ["Z"];
  }, A: function(t3, e2) {
    return e2.x = t3[5], e2.y = t3[6], ["A", t3[0], t3[1], t3[2], t3[3], t3[4], t3[5], t3[6]];
  } }, Le = "mlhvqtcsaz".split("");
  for (let t3 = 0, e2 = Le.length; t3 < e2; ++t3) Se[Le[t3]] = /* @__PURE__ */ function(t4) {
    return function(e3, i2, a2) {
      if ("H" === t4) e3[0] = e3[0] + i2.x;
      else if ("V" === t4) e3[0] = e3[0] + i2.y;
      else if ("A" === t4) e3[5] = e3[5] + i2.x, e3[6] = e3[6] + i2.y;
      else for (let t5 = 0, a3 = e3.length; t5 < a3; ++t5) e3[t5] = e3[t5] + (t5 % 2 ? i2.y : i2.x);
      return Se[t4](e3, i2, a2);
    };
  }(Le[t3].toUpperCase());
  function Me(t3) {
    return t3.segment.length && t3.segment.length - 1 === Ce[t3.segment[0].toUpperCase()];
  }
  function Pe(t3, e2) {
    t3.inNumber && Ie(t3, false);
    const i2 = ut.test(e2);
    if (i2) t3.segment = [e2];
    else {
      const e3 = t3.lastCommand, i3 = e3.toLowerCase(), a2 = e3 === i3;
      t3.segment = ["m" === i3 ? a2 ? "l" : "L" : e3];
    }
    return t3.inSegment = true, t3.lastCommand = t3.segment[0], i2;
  }
  function Ie(t3, e2) {
    if (!t3.inNumber) throw new Error("Parser Error");
    t3.number && t3.segment.push(parseFloat(t3.number)), t3.inNumber = e2, t3.number = "", t3.pointSeen = false, t3.hasExponent = false, Me(t3) && Te(t3);
  }
  function Te(t3) {
    t3.inSegment = false, t3.absolute && (t3.segment = function(t4) {
      const e2 = t4.segment[0];
      return Se[e2](t4.segment.slice(1), t4.p, t4.p0);
    }(t3)), t3.segments.push(t3.segment);
  }
  function ze(t3) {
    if (!t3.segment.length) return false;
    const e2 = "A" === t3.segment[0].toUpperCase(), i2 = t3.segment.length;
    return e2 && (4 === i2 || 5 === i2);
  }
  function Xe(t3) {
    return "E" === t3.lastToken.toUpperCase();
  }
  const Re = /* @__PURE__ */ new Set([" ", ",", "	", "\n", "\r", "\f"]);
  class Ee extends Dt {
    bbox() {
      return yt().path.setAttribute("d", this.toString()), new kt(yt.nodes.path.getBBox());
    }
    move(t3, e2) {
      const i2 = this.bbox();
      if (t3 -= i2.x, e2 -= i2.y, !isNaN(t3) && !isNaN(e2)) for (let i3, a2 = this.length - 1; a2 >= 0; a2--) i3 = this[a2][0], "M" === i3 || "L" === i3 || "T" === i3 ? (this[a2][1] += t3, this[a2][2] += e2) : "H" === i3 ? this[a2][1] += t3 : "V" === i3 ? this[a2][1] += e2 : "C" === i3 || "S" === i3 || "Q" === i3 ? (this[a2][1] += t3, this[a2][2] += e2, this[a2][3] += t3, this[a2][4] += e2, "C" === i3 && (this[a2][5] += t3, this[a2][6] += e2)) : "A" === i3 && (this[a2][6] += t3, this[a2][7] += e2);
      return this;
    }
    parse(t3 = "M0 0") {
      return Array.isArray(t3) && (t3 = Array.prototype.concat.apply([], t3).toString()), function(t4, e2 = true) {
        let i2 = 0, a2 = "";
        const s3 = { segment: [], inNumber: false, number: "", lastToken: "", inSegment: false, segments: [], pointSeen: false, hasExponent: false, absolute: e2, p0: new bt(), p: new bt() };
        for (; s3.lastToken = a2, a2 = t4.charAt(i2++); ) if (s3.inSegment || !Pe(s3, a2)) if ("." !== a2) if (isNaN(parseInt(a2))) if (Re.has(a2)) s3.inNumber && Ie(s3, false);
        else if ("-" !== a2 && "+" !== a2) if ("E" !== a2.toUpperCase()) {
          if (ut.test(a2)) {
            if (s3.inNumber) Ie(s3, false);
            else {
              if (!Me(s3)) throw new Error("parser Error");
              Te(s3);
            }
            --i2;
          }
        } else s3.number += a2, s3.hasExponent = true;
        else {
          if (s3.inNumber && !Xe(s3)) {
            Ie(s3, false), --i2;
            continue;
          }
          s3.number += a2, s3.inNumber = true;
        }
        else {
          if ("0" === s3.number || ze(s3)) {
            s3.inNumber = true, s3.number = a2, Ie(s3, true);
            continue;
          }
          s3.inNumber = true, s3.number += a2;
        }
        else {
          if (s3.pointSeen || s3.hasExponent) {
            Ie(s3, false), --i2;
            continue;
          }
          s3.inNumber = true, s3.pointSeen = true, s3.number += a2;
        }
        return s3.inNumber && Ie(s3, false), s3.inSegment && Me(s3) && Te(s3), s3.segments;
      }(t3);
    }
    size(t3, e2) {
      const i2 = this.bbox();
      let a2, s3;
      for (i2.width = 0 === i2.width ? 1 : i2.width, i2.height = 0 === i2.height ? 1 : i2.height, a2 = this.length - 1; a2 >= 0; a2--) s3 = this[a2][0], "M" === s3 || "L" === s3 || "T" === s3 ? (this[a2][1] = (this[a2][1] - i2.x) * t3 / i2.width + i2.x, this[a2][2] = (this[a2][2] - i2.y) * e2 / i2.height + i2.y) : "H" === s3 ? this[a2][1] = (this[a2][1] - i2.x) * t3 / i2.width + i2.x : "V" === s3 ? this[a2][1] = (this[a2][1] - i2.y) * e2 / i2.height + i2.y : "C" === s3 || "S" === s3 || "Q" === s3 ? (this[a2][1] = (this[a2][1] - i2.x) * t3 / i2.width + i2.x, this[a2][2] = (this[a2][2] - i2.y) * e2 / i2.height + i2.y, this[a2][3] = (this[a2][3] - i2.x) * t3 / i2.width + i2.x, this[a2][4] = (this[a2][4] - i2.y) * e2 / i2.height + i2.y, "C" === s3 && (this[a2][5] = (this[a2][5] - i2.x) * t3 / i2.width + i2.x, this[a2][6] = (this[a2][6] - i2.y) * e2 / i2.height + i2.y)) : "A" === s3 && (this[a2][1] = this[a2][1] * t3 / i2.width, this[a2][2] = this[a2][2] * e2 / i2.height, this[a2][6] = (this[a2][6] - i2.x) * t3 / i2.width + i2.x, this[a2][7] = (this[a2][7] - i2.y) * e2 / i2.height + i2.y);
      return this;
    }
    toString() {
      return function(t3) {
        let e2 = "";
        for (let i2 = 0, a2 = t3.length; i2 < a2; i2++) e2 += t3[i2][0], null != t3[i2][1] && (e2 += t3[i2][1], null != t3[i2][2] && (e2 += " ", e2 += t3[i2][2], null != t3[i2][3] && (e2 += " ", e2 += t3[i2][3], e2 += " ", e2 += t3[i2][4], null != t3[i2][5] && (e2 += " ", e2 += t3[i2][5], e2 += " ", e2 += t3[i2][6], null != t3[i2][7] && (e2 += " ", e2 += t3[i2][7])))));
        return e2 + " ";
      }(this);
    }
  }
  const Ye = (t3) => {
    const e2 = typeof t3;
    return "number" === e2 ? _t : "string" === e2 ? xt2.isColor(t3) ? xt2 : dt2.test(t3) ? ut.test(t3) ? Ee : Dt : tt2.test(t3) ? _t : Oe : Ne.indexOf(t3.constructor) > -1 ? t3.constructor : Array.isArray(t3) ? Dt : "object" === e2 ? _e : Oe;
  };
  class He {
    constructor(t3) {
      this._stepper = t3 || new we("-"), this._from = null, this._to = null, this._type = null, this._context = null, this._morphObj = null;
    }
    at(t3) {
      return this._morphObj.morph(this._from, this._to, t3, this._stepper, this._context);
    }
    done() {
      return this._context.map(this._stepper.done).reduce(function(t3, e2) {
        return t3 && e2;
      }, true);
    }
    from(t3) {
      return null == t3 ? this._from : (this._from = this._set(t3), this);
    }
    stepper(t3) {
      return null == t3 ? this._stepper : (this._stepper = t3, this);
    }
    to(t3) {
      return null == t3 ? this._to : (this._to = this._set(t3), this);
    }
    type(t3) {
      return null == t3 ? this._type : (this._type = t3, this);
    }
    _set(t3) {
      this._type || this.type(Ye(t3));
      let e2 = new this._type(t3);
      return this._type === xt2 && (e2 = this._to ? e2[this._to[4]]() : this._from ? e2[this._from[4]]() : e2), this._type === _e && (e2 = this._to ? e2.align(this._to) : this._from ? e2.align(this._from) : e2), e2 = e2.toConsumable(), this._morphObj = this._morphObj || new this._type(), this._context = this._context || Array.apply(null, Array(e2.length)).map(Object).map(function(t4) {
        return t4.done = true, t4;
      }), e2;
    }
  }
  class Oe {
    constructor(...t3) {
      this.init(...t3);
    }
    init(t3) {
      return t3 = Array.isArray(t3) ? t3[0] : t3, this.value = t3, this;
    }
    toArray() {
      return [this.value];
    }
    valueOf() {
      return this.value;
    }
  }
  class Fe {
    constructor(...t3) {
      this.init(...t3);
    }
    init(t3) {
      return Array.isArray(t3) && (t3 = { scaleX: t3[0], scaleY: t3[1], shear: t3[2], rotate: t3[3], translateX: t3[4], translateY: t3[5], originX: t3[6], originY: t3[7] }), Object.assign(this, Fe.defaults, t3), this;
    }
    toArray() {
      const t3 = this;
      return [t3.scaleX, t3.scaleY, t3.shear, t3.rotate, t3.translateX, t3.translateY, t3.originX, t3.originY];
    }
  }
  Fe.defaults = { scaleX: 1, scaleY: 1, shear: 0, rotate: 0, translateX: 0, translateY: 0, originX: 0, originY: 0 };
  const De = (t3, e2) => t3[0] < e2[0] ? -1 : t3[0] > e2[0] ? 1 : 0;
  class _e {
    constructor(...t3) {
      this.init(...t3);
    }
    align(t3) {
      const e2 = this.values;
      for (let i2 = 0, a2 = e2.length; i2 < a2; ++i2) {
        if (e2[i2 + 1] === t3[i2 + 1]) {
          if (e2[i2 + 1] === xt2 && t3[i2 + 7] !== e2[i2 + 7]) {
            const e3 = t3[i2 + 7], a4 = new xt2(this.values.splice(i2 + 3, 5))[e3]().toArray();
            this.values.splice(i2 + 3, 0, ...a4);
          }
          i2 += e2[i2 + 2] + 2;
          continue;
        }
        if (!t3[i2 + 1]) return this;
        const a3 = new t3[i2 + 1]().toArray(), s3 = e2[i2 + 2] + 3;
        e2.splice(i2, s3, t3[i2], t3[i2 + 1], t3[i2 + 2], ...a3), i2 += e2[i2 + 2] + 2;
      }
      return this;
    }
    init(t3) {
      if (this.values = [], Array.isArray(t3)) return void (this.values = t3.slice());
      t3 = t3 || {};
      const e2 = [];
      for (const i2 in t3) {
        const a2 = Ye(t3[i2]), s3 = new a2(t3[i2]).toArray();
        e2.push([i2, a2, s3.length, ...s3]);
      }
      return e2.sort(De), this.values = e2.reduce((t4, e3) => t4.concat(e3), []), this;
    }
    toArray() {
      return this.values;
    }
    valueOf() {
      const t3 = {}, e2 = this.values;
      for (; e2.length; ) {
        const i2 = e2.shift(), a2 = e2.shift(), s3 = e2.shift(), r3 = e2.splice(0, s3);
        t3[i2] = new a2(r3);
      }
      return t3;
    }
  }
  const Ne = [Oe, Fe, _e];
  class We extends qt {
    constructor(t3, e2 = t3) {
      super(G2("path", t3), e2);
    }
    array() {
      return this._array || (this._array = new Ee(this.attr("d")));
    }
    clear() {
      return delete this._array, this;
    }
    height(t3) {
      return null == t3 ? this.bbox().height : this.size(this.bbox().width, t3);
    }
    move(t3, e2) {
      return this.attr("d", this.array().move(t3, e2));
    }
    plot(t3) {
      return null == t3 ? this.array() : this.clear().attr("d", "string" == typeof t3 ? t3 : this._array = new Ee(t3));
    }
    size(t3, e2) {
      const i2 = I(this, t3, e2);
      return this.attr("d", this.array().size(i2.width, i2.height));
    }
    width(t3) {
      return null == t3 ? this.bbox().width : this.size(t3, this.bbox().height);
    }
    x(t3) {
      return null == t3 ? this.bbox().x : this.move(t3, this.bbox().y);
    }
    y(t3) {
      return null == t3 ? this.bbox().y : this.move(this.bbox().x, t3);
    }
  }
  We.prototype.MorphArray = Ee, A2({ Container: { path: K(function(t3) {
    return this.put(new We()).plot(t3 || new Ee());
  }) } }), q(We, "Path");
  var Be = Object.freeze({ __proto__: null, array: function() {
    return this._array || (this._array = new ge(this.attr("points")));
  }, clear: function() {
    return delete this._array, this;
  }, move: function(t3, e2) {
    return this.attr("points", this.array().move(t3, e2));
  }, plot: function(t3) {
    return null == t3 ? this.array() : this.clear().attr("points", "string" == typeof t3 ? t3 : this._array = new ge(t3));
  }, size: function(t3, e2) {
    const i2 = I(this, t3, e2);
    return this.attr("points", this.array().size(i2.width, i2.height));
  } });
  class Ge extends qt {
    constructor(t3, e2 = t3) {
      super(G2("polygon", t3), e2);
    }
  }
  A2({ Container: { polygon: K(function(t3) {
    return this.put(new Ge()).plot(t3 || new ge());
  }) } }), Q(Ge, fe), Q(Ge, Be), q(Ge, "Polygon");
  class je extends qt {
    constructor(t3, e2 = t3) {
      super(G2("polyline", t3), e2);
    }
  }
  A2({ Container: { polyline: K(function(t3) {
    return this.put(new je()).plot(t3 || new ge());
  }) } }), Q(je, fe), Q(je, Be), q(je, "Polyline");
  class Ve extends qt {
    constructor(t3, e2 = t3) {
      super(G2("rect", t3), e2);
    }
  }
  Q(Ve, { rx: Zt, ry: $t }), A2({ Container: { rect: K(function(t3, e2) {
    return this.put(new Ve()).size(t3, e2);
  }) } }), q(Ve, "Rect");
  class Ue {
    constructor() {
      this._first = null, this._last = null;
    }
    first() {
      return this._first && this._first.value;
    }
    last() {
      return this._last && this._last.value;
    }
    push(t3) {
      const e2 = void 0 !== t3.next ? t3 : { value: t3, next: null, prev: null };
      return this._last ? (e2.prev = this._last, this._last.next = e2, this._last = e2) : (this._last = e2, this._first = e2), e2;
    }
    remove(t3) {
      t3.prev && (t3.prev.next = t3.next), t3.next && (t3.next.prev = t3.prev), t3 === this._last && (this._last = t3.prev), t3 === this._first && (this._first = t3.next), t3.prev = null, t3.next = null;
    }
    shift() {
      const t3 = this._first;
      return t3 ? (this._first = t3.next, this._first && (this._first.prev = null), this._last = this._first ? this._last : null, t3.value) : null;
    }
  }
  const qe = { nextDraw: null, frames: new Ue(), timeouts: new Ue(), immediates: new Ue(), timer: () => O.window.performance || O.window.Date, transforms: [], frame(t3) {
    const e2 = qe.frames.push({ run: t3 });
    return null === qe.nextDraw && (qe.nextDraw = O.window.requestAnimationFrame(qe._draw)), e2;
  }, timeout(t3, e2) {
    e2 = e2 || 0;
    const i2 = qe.timer().now() + e2, a2 = qe.timeouts.push({ run: t3, time: i2 });
    return null === qe.nextDraw && (qe.nextDraw = O.window.requestAnimationFrame(qe._draw)), a2;
  }, immediate(t3) {
    const e2 = qe.immediates.push(t3);
    return null === qe.nextDraw && (qe.nextDraw = O.window.requestAnimationFrame(qe._draw)), e2;
  }, cancelFrame(t3) {
    null != t3 && qe.frames.remove(t3);
  }, clearTimeout(t3) {
    null != t3 && qe.timeouts.remove(t3);
  }, cancelImmediate(t3) {
    null != t3 && qe.immediates.remove(t3);
  }, _draw(t3) {
    let e2 = null;
    const i2 = qe.timeouts.last();
    for (; (e2 = qe.timeouts.shift()) && (t3 >= e2.time ? e2.run() : qe.timeouts.push(e2), e2 !== i2); ) ;
    let a2 = null;
    const s3 = qe.frames.last();
    for (; a2 !== s3 && (a2 = qe.frames.shift()); ) a2.run(t3);
    let r3 = null;
    for (; r3 = qe.immediates.shift(); ) r3();
    qe.nextDraw = qe.timeouts.first() || qe.frames.first() ? O.window.requestAnimationFrame(qe._draw) : null;
  } }, Ze = function(t3) {
    const e2 = t3.start, i2 = t3.runner.duration();
    return { start: e2, duration: i2, end: e2 + i2, runner: t3.runner };
  }, $e = function() {
    const t3 = O.window;
    return (t3.performance || t3.Date).now();
  };
  class Je extends Rt {
    constructor(t3 = $e) {
      super(), this._timeSource = t3, this.terminate();
    }
    active() {
      return !!this._nextFrame;
    }
    finish() {
      return this.time(this.getEndTimeOfTimeline() + 1), this.pause();
    }
    getEndTime() {
      const t3 = this.getLastRunnerInfo(), e2 = t3 ? t3.runner.duration() : 0;
      return (t3 ? t3.start : this._time) + e2;
    }
    getEndTimeOfTimeline() {
      const t3 = this._runners.map((t4) => t4.start + t4.runner.duration());
      return Math.max(0, ...t3);
    }
    getLastRunnerInfo() {
      return this.getRunnerInfoById(this._lastRunnerId);
    }
    getRunnerInfoById(t3) {
      return this._runners[this._runnerIds.indexOf(t3)] || null;
    }
    pause() {
      return this._paused = true, this._continue();
    }
    persist(t3) {
      return null == t3 ? this._persist : (this._persist = t3, this);
    }
    play() {
      return this._paused = false, this.updateTime()._continue();
    }
    reverse(t3) {
      const e2 = this.speed();
      if (null == t3) return this.speed(-e2);
      const i2 = Math.abs(e2);
      return this.speed(t3 ? -i2 : i2);
    }
    schedule(t3, e2, i2) {
      if (null == t3) return this._runners.map(Ze);
      let a2 = 0;
      const s3 = this.getEndTime();
      if (e2 = e2 || 0, null == i2 || "last" === i2 || "after" === i2) a2 = s3;
      else if ("absolute" === i2 || "start" === i2) a2 = e2, e2 = 0;
      else if ("now" === i2) a2 = this._time;
      else if ("relative" === i2) {
        const i3 = this.getRunnerInfoById(t3.id);
        i3 && (a2 = i3.start + e2, e2 = 0);
      } else {
        if ("with-last" !== i2) throw new Error('Invalid value for the "when" parameter');
        {
          const t4 = this.getLastRunnerInfo();
          a2 = t4 ? t4.start : this._time;
        }
      }
      t3.unschedule(), t3.timeline(this);
      const r3 = t3.persist(), n2 = { persist: null === r3 ? this._persist : r3, start: a2 + e2, runner: t3 };
      return this._lastRunnerId = t3.id, this._runners.push(n2), this._runners.sort((t4, e3) => t4.start - e3.start), this._runnerIds = this._runners.map((t4) => t4.runner.id), this.updateTime()._continue(), this;
    }
    seek(t3) {
      return this.time(this._time + t3);
    }
    source(t3) {
      return null == t3 ? this._timeSource : (this._timeSource = t3, this);
    }
    speed(t3) {
      return null == t3 ? this._speed : (this._speed = t3, this);
    }
    stop() {
      return this.time(0), this.pause();
    }
    time(t3) {
      return null == t3 ? this._time : (this._time = t3, this._continue(true));
    }
    unschedule(t3) {
      const e2 = this._runnerIds.indexOf(t3.id);
      return e2 < 0 || (this._runners.splice(e2, 1), this._runnerIds.splice(e2, 1), t3.timeline(null)), this;
    }
    updateTime() {
      return this.active() || (this._lastSourceTime = this._timeSource()), this;
    }
    _continue(t3 = false) {
      return qe.cancelFrame(this._nextFrame), this._nextFrame = null, t3 ? this._stepImmediate() : (this._paused || (this._nextFrame = qe.frame(this._step)), this);
    }
    _stepFn(t3 = false) {
      const e2 = this._timeSource();
      let i2 = e2 - this._lastSourceTime;
      t3 && (i2 = 0);
      const a2 = this._speed * i2 + (this._time - this._lastStepTime);
      this._lastSourceTime = e2, t3 || (this._time += a2, this._time = this._time < 0 ? 0 : this._time), this._lastStepTime = this._time, this.fire("time", this._time);
      for (let t4 = this._runners.length; t4--; ) {
        const e3 = this._runners[t4], i3 = e3.runner;
        this._time - e3.start <= 0 && i3.reset();
      }
      let s3 = false;
      for (let t4 = 0, e3 = this._runners.length; t4 < e3; t4++) {
        const i3 = this._runners[t4], r3 = i3.runner;
        let n2 = a2;
        const o3 = this._time - i3.start;
        if (o3 <= 0) {
          s3 = true;
          continue;
        }
        if (o3 < n2 && (n2 = o3), !r3.active()) continue;
        if (r3.step(n2).done) {
          if (true !== i3.persist) {
            r3.duration() - r3.time() + this._time + i3.persist < this._time && (r3.unschedule(), --t4, --e3);
          }
        } else s3 = true;
      }
      return s3 && !(this._speed < 0 && 0 === this._time) || this._runnerIds.length && this._speed < 0 && this._time > 0 ? this._continue() : (this.pause(), this.fire("finished")), this;
    }
    terminate() {
      this._startTime = 0, this._speed = 1, this._persist = 0, this._nextFrame = null, this._paused = true, this._runners = [], this._runnerIds = [], this._lastRunnerId = -1, this._time = 0, this._lastSourceTime = 0, this._lastStepTime = 0, this._step = this._stepFn.bind(this, false), this._stepImmediate = this._stepFn.bind(this, true);
    }
  }
  A2({ Element: { timeline: function(t3) {
    return null == t3 ? (this._timeline = this._timeline || new Je(), this._timeline) : (this._timeline = t3, this);
  } } });
  class Qe extends Rt {
    constructor(t3) {
      super(), this.id = Qe.id++, t3 = "function" == typeof (t3 = null == t3 ? Yt2 : t3) ? new ke(t3) : t3, this._element = null, this._timeline = null, this.done = false, this._queue = [], this._duration = "number" == typeof t3 && t3, this._isDeclarative = t3 instanceof ke, this._stepper = this._isDeclarative ? t3 : new we(), this._history = {}, this.enabled = true, this._time = 0, this._lastTime = 0, this._reseted = true, this.transforms = new vt(), this.transformId = 1, this._haveReversed = false, this._reverse = false, this._loopsDone = 0, this._swing = false, this._wait = 0, this._times = 1, this._frameId = null, this._persist = !!this._isDeclarative || null;
    }
    static sanitise(t3, e2, i2) {
      let a2 = 1, s3 = false, r3 = 0;
      return e2 = e2 ?? Ot, i2 = i2 || "last", "object" != typeof (t3 = t3 ?? Yt2) || t3 instanceof ye || (e2 = t3.delay ?? e2, i2 = t3.when ?? i2, s3 = t3.swing || s3, a2 = t3.times ?? a2, r3 = t3.wait ?? r3, t3 = t3.duration ?? Yt2), { duration: t3, delay: e2, swing: s3, times: a2, wait: r3, when: i2 };
    }
    active(t3) {
      return null == t3 ? this.enabled : (this.enabled = t3, this);
    }
    addTransform(t3) {
      return this.transforms.lmultiplyO(t3), this;
    }
    after(t3) {
      return this.on("finished", t3);
    }
    animate(t3, e2, i2) {
      const a2 = Qe.sanitise(t3, e2, i2), s3 = new Qe(a2.duration);
      return this._timeline && s3.timeline(this._timeline), this._element && s3.element(this._element), s3.loop(a2).schedule(a2.delay, a2.when);
    }
    clearTransform() {
      return this.transforms = new vt(), this;
    }
    clearTransformsFromQueue() {
      this.done && this._timeline && this._timeline._runnerIds.includes(this.id) || (this._queue = this._queue.filter((t3) => !t3.isTransform));
    }
    delay(t3) {
      return this.animate(0, t3);
    }
    duration() {
      return this._times * (this._wait + this._duration) - this._wait;
    }
    during(t3) {
      return this.queue(null, t3);
    }
    ease(t3) {
      return this._stepper = new we(t3), this;
    }
    element(t3) {
      return null == t3 ? this._element : (this._element = t3, t3._prepareRunner(), this);
    }
    finish() {
      return this.step(1 / 0);
    }
    loop(t3, e2, i2) {
      return "object" == typeof t3 && (e2 = t3.swing, i2 = t3.wait, t3 = t3.times), this._times = t3 || 1 / 0, this._swing = e2 || false, this._wait = i2 || 0, true === this._times && (this._times = 1 / 0), this;
    }
    loops(t3) {
      const e2 = this._duration + this._wait;
      if (null == t3) {
        const t4 = Math.floor(this._time / e2), i3 = (this._time - t4 * e2) / this._duration;
        return Math.min(t4 + i3, this._times);
      }
      const i2 = t3 % 1, a2 = e2 * Math.floor(t3) + this._duration * i2;
      return this.time(a2);
    }
    persist(t3) {
      return null == t3 ? this._persist : (this._persist = t3, this);
    }
    position(t3) {
      const e2 = this._time, i2 = this._duration, a2 = this._wait, s3 = this._times, r3 = this._swing, n2 = this._reverse;
      let o3;
      if (null == t3) {
        const t4 = function(t5) {
          const e3 = r3 * Math.floor(t5 % (2 * (a2 + i2)) / (a2 + i2)), s4 = e3 && !n2 || !e3 && n2, o4 = Math.pow(-1, s4) * (t5 % (a2 + i2)) / i2 + s4;
          return Math.max(Math.min(o4, 1), 0);
        }, l3 = s3 * (a2 + i2) - a2;
        return o3 = e2 <= 0 ? Math.round(t4(1e-5)) : e2 < l3 ? t4(e2) : Math.round(t4(l3 - 1e-5)), o3;
      }
      const l2 = Math.floor(this.loops()), h3 = r3 && l2 % 2 == 0;
      return o3 = l2 + (h3 && !n2 || n2 && h3 ? t3 : 1 - t3), this.loops(o3);
    }
    progress(t3) {
      return null == t3 ? Math.min(1, this._time / this.duration()) : this.time(t3 * this.duration());
    }
    queue(t3, e2, i2, a2) {
      this._queue.push({ initialiser: t3 || Et2, runner: e2 || Et2, retarget: i2, isTransform: a2, initialised: false, finished: false });
      return this.timeline() && this.timeline()._continue(), this;
    }
    reset() {
      return this._reseted || (this.time(0), this._reseted = true), this;
    }
    reverse(t3) {
      return this._reverse = null == t3 ? !this._reverse : t3, this;
    }
    schedule(t3, e2, i2) {
      if (t3 instanceof Je || (i2 = e2, e2 = t3, t3 = this.timeline()), !t3) throw Error("Runner cannot be scheduled without timeline");
      return t3.schedule(this, e2, i2), this;
    }
    step(t3) {
      if (!this.enabled) return this;
      t3 = null == t3 ? 16 : t3, this._time += t3;
      const e2 = this.position(), i2 = this._lastPosition !== e2 && this._time >= 0;
      this._lastPosition = e2;
      const a2 = this.duration(), s3 = this._lastTime <= 0 && this._time > 0, r3 = this._lastTime < a2 && this._time >= a2;
      this._lastTime = this._time, s3 && this.fire("start", this);
      const n2 = this._isDeclarative;
      this.done = !n2 && !r3 && this._time >= a2, this._reseted = false;
      let o3 = false;
      return (i2 || n2) && (this._initialise(i2), this.transforms = new vt(), o3 = this._run(n2 ? t3 : e2), this.fire("step", this)), this.done = this.done || o3 && n2, r3 && this.fire("finished", this), this;
    }
    time(t3) {
      if (null == t3) return this._time;
      const e2 = t3 - this._time;
      return this.step(e2), this;
    }
    timeline(t3) {
      return void 0 === t3 ? this._timeline : (this._timeline = t3, this);
    }
    unschedule() {
      const t3 = this.timeline();
      return t3 && t3.unschedule(this), this;
    }
    _initialise(t3) {
      if (t3 || this._isDeclarative) for (let e2 = 0, i2 = this._queue.length; e2 < i2; ++e2) {
        const i3 = this._queue[e2], a2 = this._isDeclarative || !i3.initialised && t3;
        t3 = !i3.finished, a2 && t3 && (i3.initialiser.call(this), i3.initialised = true);
      }
    }
    _rememberMorpher(t3, e2) {
      if (this._history[t3] = { morpher: e2, caller: this._queue[this._queue.length - 1] }, this._isDeclarative) {
        const t4 = this.timeline();
        t4 && t4.play();
      }
    }
    _run(t3) {
      let e2 = true;
      for (let i2 = 0, a2 = this._queue.length; i2 < a2; ++i2) {
        const a3 = this._queue[i2], s3 = a3.runner.call(this, t3);
        a3.finished = a3.finished || true === s3, e2 = e2 && a3.finished;
      }
      return e2;
    }
    _tryRetarget(t3, e2, i2) {
      if (this._history[t3]) {
        if (!this._history[t3].caller.initialised) {
          const e3 = this._queue.indexOf(this._history[t3].caller);
          return this._queue.splice(e3, 1), false;
        }
        this._history[t3].caller.retarget ? this._history[t3].caller.retarget.call(this, e2, i2) : this._history[t3].morpher.to(e2), this._history[t3].caller.finished = false;
        const a2 = this.timeline();
        return a2 && a2.play(), true;
      }
      return false;
    }
  }
  Qe.id = 0;
  class Ke {
    constructor(t3 = new vt(), e2 = -1, i2 = true) {
      this.transforms = t3, this.id = e2, this.done = i2;
    }
    clearTransformsFromQueue() {
    }
  }
  Q([Qe, Ke], { mergeWith(t3) {
    return new Ke(t3.transforms.lmultiply(this.transforms), t3.id);
  } });
  const ti = (t3, e2) => t3.lmultiplyO(e2), ei = (t3) => t3.transforms;
  function ii() {
    const t3 = this._transformationRunners.runners.map(ei).reduce(ti, new vt());
    this.transform(t3), this._transformationRunners.merge(), 1 === this._transformationRunners.length() && (this._frameId = null);
  }
  class ai {
    constructor() {
      this.runners = [], this.ids = [];
    }
    add(t3) {
      if (this.runners.includes(t3)) return;
      const e2 = t3.id + 1;
      return this.runners.push(t3), this.ids.push(e2), this;
    }
    clearBefore(t3) {
      const e2 = this.ids.indexOf(t3 + 1) || 1;
      return this.ids.splice(0, e2, 0), this.runners.splice(0, e2, new Ke()).forEach((t4) => t4.clearTransformsFromQueue()), this;
    }
    edit(t3, e2) {
      const i2 = this.ids.indexOf(t3 + 1);
      return this.ids.splice(i2, 1, t3 + 1), this.runners.splice(i2, 1, e2), this;
    }
    getByID(t3) {
      return this.runners[this.ids.indexOf(t3 + 1)];
    }
    length() {
      return this.ids.length;
    }
    merge() {
      let t3 = null;
      for (let e2 = 0; e2 < this.runners.length; ++e2) {
        const i2 = this.runners[e2];
        if (t3 && i2.done && t3.done && (!i2._timeline || !i2._timeline._runnerIds.includes(i2.id)) && (!t3._timeline || !t3._timeline._runnerIds.includes(t3.id))) {
          this.remove(i2.id);
          const a2 = i2.mergeWith(t3);
          this.edit(t3.id, a2), t3 = a2, --e2;
        } else t3 = i2;
      }
      return this;
    }
    remove(t3) {
      const e2 = this.ids.indexOf(t3 + 1);
      return this.ids.splice(e2, 1), this.runners.splice(e2, 1), this;
    }
  }
  A2({ Element: { animate(t3, e2, i2) {
    const a2 = Qe.sanitise(t3, e2, i2), s3 = this.timeline();
    return new Qe(a2.duration).loop(a2).element(this).timeline(s3.play()).schedule(a2.delay, a2.when);
  }, delay(t3, e2) {
    return this.animate(0, t3, e2);
  }, _clearTransformRunnersBefore(t3) {
    this._transformationRunners.clearBefore(t3.id);
  }, _currentTransform(t3) {
    return this._transformationRunners.runners.filter((e2) => e2.id <= t3.id).map(ei).reduce(ti, new vt());
  }, _addRunner(t3) {
    this._transformationRunners.add(t3), qe.cancelImmediate(this._frameId), this._frameId = qe.immediate(ii.bind(this));
  }, _prepareRunner() {
    null == this._frameId && (this._transformationRunners = new ai().add(new Ke(new vt(this))));
  } } });
  Q(Qe, { attr(t3, e2) {
    return this.styleAttr("attr", t3, e2);
  }, css(t3, e2) {
    return this.styleAttr("css", t3, e2);
  }, styleAttr(t3, e2, i2) {
    if ("string" == typeof e2) return this.styleAttr(t3, { [e2]: i2 });
    let a2 = e2;
    if (this._tryRetarget(t3, a2)) return this;
    let s3 = new He(this._stepper).to(a2), r3 = Object.keys(a2);
    return this.queue(function() {
      s3 = s3.from(this.element()[t3](r3));
    }, function(e3) {
      return this.element()[t3](s3.at(e3).valueOf()), s3.done();
    }, function(e3) {
      const i3 = Object.keys(e3), n2 = (o3 = r3, i3.filter((t4) => !o3.includes(t4)));
      var o3;
      if (n2.length) {
        const e4 = this.element()[t3](n2), i4 = new _e(s3.from()).valueOf();
        Object.assign(i4, e4), s3.from(i4);
      }
      const l2 = new _e(s3.to()).valueOf();
      Object.assign(l2, e3), s3.to(l2), r3 = i3, a2 = e3;
    }), this._rememberMorpher(t3, s3), this;
  }, zoom(t3, e2) {
    if (this._tryRetarget("zoom", t3, e2)) return this;
    let i2 = new He(this._stepper).to(new _t(t3));
    return this.queue(function() {
      i2 = i2.from(this.element().zoom());
    }, function(t4) {
      return this.element().zoom(i2.at(t4), e2), i2.done();
    }, function(t4, a2) {
      e2 = a2, i2.to(t4);
    }), this._rememberMorpher("zoom", i2), this;
  }, transform(t3, e2, i2) {
    if (e2 = t3.relative || e2, this._isDeclarative && !e2 && this._tryRetarget("transform", t3)) return this;
    const a2 = vt.isMatrixLike(t3);
    i2 = null != t3.affine ? t3.affine : null != i2 ? i2 : !a2;
    const s3 = new He(this._stepper).type(i2 ? Fe : vt);
    let r3, n2, o3, l2, h3;
    return this.queue(function() {
      n2 = n2 || this.element(), r3 = r3 || T(t3, n2), h3 = new vt(e2 ? void 0 : n2), n2._addRunner(this), e2 || n2._clearTransformRunnersBefore(this);
    }, function(c2) {
      e2 || this.clearTransform();
      const { x: d2, y: u2 } = new bt(r3).transform(n2._currentTransform(this));
      let g3 = new vt({ ...t3, origin: [d2, u2] }), p3 = this._isDeclarative && o3 ? o3 : h3;
      if (i2) {
        g3 = g3.decompose(d2, u2), p3 = p3.decompose(d2, u2);
        const t4 = g3.rotate, e3 = p3.rotate, i3 = [t4 - 360, t4, t4 + 360], a3 = i3.map((t5) => Math.abs(t5 - e3)), s4 = Math.min(...a3), r4 = a3.indexOf(s4);
        g3.rotate = i3[r4];
      }
      e2 && (a2 || (g3.rotate = t3.rotate || 0), this._isDeclarative && l2 && (p3.rotate = l2)), s3.from(p3), s3.to(g3);
      const f2 = s3.at(c2);
      return l2 = f2.rotate, o3 = new vt(f2), this.addTransform(o3), n2._addRunner(this), s3.done();
    }, function(e3) {
      (e3.origin || "center").toString() !== (t3.origin || "center").toString() && (r3 = T(e3, n2)), t3 = { ...e3, origin: r3 };
    }, true), this._isDeclarative && this._rememberMorpher("transform", s3), this;
  }, x(t3) {
    return this._queueNumber("x", t3);
  }, y(t3) {
    return this._queueNumber("y", t3);
  }, ax(t3) {
    return this._queueNumber("ax", t3);
  }, ay(t3) {
    return this._queueNumber("ay", t3);
  }, dx(t3 = 0) {
    return this._queueNumberDelta("x", t3);
  }, dy(t3 = 0) {
    return this._queueNumberDelta("y", t3);
  }, dmove(t3, e2) {
    return this.dx(t3).dy(e2);
  }, _queueNumberDelta(t3, e2) {
    if (e2 = new _t(e2), this._tryRetarget(t3, e2)) return this;
    const i2 = new He(this._stepper).to(e2);
    let a2 = null;
    return this.queue(function() {
      a2 = this.element()[t3](), i2.from(a2), i2.to(a2 + e2);
    }, function(e3) {
      return this.element()[t3](i2.at(e3)), i2.done();
    }, function(t4) {
      i2.to(a2 + new _t(t4));
    }), this._rememberMorpher(t3, i2), this;
  }, _queueObject(t3, e2) {
    if (this._tryRetarget(t3, e2)) return this;
    const i2 = new He(this._stepper).to(e2);
    return this.queue(function() {
      i2.from(this.element()[t3]());
    }, function(e3) {
      return this.element()[t3](i2.at(e3)), i2.done();
    }), this._rememberMorpher(t3, i2), this;
  }, _queueNumber(t3, e2) {
    return this._queueObject(t3, new _t(e2));
  }, cx(t3) {
    return this._queueNumber("cx", t3);
  }, cy(t3) {
    return this._queueNumber("cy", t3);
  }, move(t3, e2) {
    return this.x(t3).y(e2);
  }, amove(t3, e2) {
    return this.ax(t3).ay(e2);
  }, center(t3, e2) {
    return this.cx(t3).cy(e2);
  }, size(t3, e2) {
    let i2;
    return t3 && e2 || (i2 = this._element.bbox()), t3 || (t3 = i2.width / i2.height * e2), e2 || (e2 = i2.height / i2.width * t3), this.width(t3).height(e2);
  }, width(t3) {
    return this._queueNumber("width", t3);
  }, height(t3) {
    return this._queueNumber("height", t3);
  }, plot(t3, e2, i2, a2) {
    if (4 === arguments.length) return this.plot([t3, e2, i2, a2]);
    if (this._tryRetarget("plot", t3)) return this;
    const s3 = new He(this._stepper).type(this._element.MorphArray).to(t3);
    return this.queue(function() {
      s3.from(this._element.array());
    }, function(t4) {
      return this._element.plot(s3.at(t4)), s3.done();
    }), this._rememberMorpher("plot", s3), this;
  }, leading(t3) {
    return this._queueNumber("leading", t3);
  }, viewbox(t3, e2, i2, a2) {
    return this._queueObject("viewbox", new kt(t3, e2, i2, a2));
  }, update(t3) {
    return "object" != typeof t3 ? this.update({ offset: arguments[0], color: arguments[1], opacity: arguments[2] }) : (null != t3.opacity && this.attr("stop-opacity", t3.opacity), null != t3.color && this.attr("stop-color", t3.color), null != t3.offset && this.attr("offset", t3.offset), this);
  } }), Q(Qe, { rx: Zt, ry: $t, from: ne, to: oe }), q(Qe, "Runner");
  class si extends Vt {
    constructor(t3, e2 = t3) {
      super(G2("svg", t3), e2), this.namespace();
    }
    defs() {
      return this.isRoot() ? V(this.node.querySelector("defs")) || this.put(new Ut()) : this.root().defs();
    }
    isRoot() {
      return !this.node.parentNode || !(this.node.parentNode instanceof O.window.SVGElement) && "#document-fragment" !== this.node.parentNode.nodeName;
    }
    namespace() {
      return this.isRoot() ? this.attr({ xmlns: E, version: "1.1" }).attr("xmlns:xlink", H, Y) : this.root().namespace();
    }
    removeNamespace() {
      return this.attr({ xmlns: null, version: null }).attr("xmlns:xlink", null, Y).attr("xmlns:svgjs", null, Y);
    }
    root() {
      return this.isRoot() ? this : super.root();
    }
  }
  A2({ Container: { nested: K(function() {
    return this.put(new si());
  }) } }), q(si, "Svg", true);
  let ri = class extends Vt {
    constructor(t3, e2 = t3) {
      super(G2("symbol", t3), e2);
    }
  };
  A2({ Container: { symbol: K(function() {
    return this.put(new ri());
  }) } }), q(ri, "Symbol");
  var ni = Object.freeze({ __proto__: null, amove: function(t3, e2) {
    return this.ax(t3).ay(e2);
  }, ax: function(t3) {
    return this.attr("x", t3);
  }, ay: function(t3) {
    return this.attr("y", t3);
  }, build: function(t3) {
    return this._build = !!t3, this;
  }, center: function(t3, e2, i2 = this.bbox()) {
    return this.cx(t3, i2).cy(e2, i2);
  }, cx: function(t3, e2 = this.bbox()) {
    return null == t3 ? e2.cx : this.attr("x", this.attr("x") + t3 - e2.cx);
  }, cy: function(t3, e2 = this.bbox()) {
    return null == t3 ? e2.cy : this.attr("y", this.attr("y") + t3 - e2.cy);
  }, length: function() {
    return this.node.getComputedTextLength();
  }, move: function(t3, e2, i2 = this.bbox()) {
    return this.x(t3, i2).y(e2, i2);
  }, plain: function(t3) {
    return false === this._build && this.clear(), this.node.appendChild(O.document.createTextNode(t3)), this;
  }, x: function(t3, e2 = this.bbox()) {
    return null == t3 ? e2.x : this.attr("x", this.attr("x") + t3 - e2.x);
  }, y: function(t3, e2 = this.bbox()) {
    return null == t3 ? e2.y : this.attr("y", this.attr("y") + t3 - e2.y);
  } });
  class oi extends qt {
    constructor(t3, e2 = t3) {
      super(G2("text", t3), e2), this.dom.leading = this.dom.leading ?? new _t(1.3), this._rebuild = true, this._build = false;
    }
    leading(t3) {
      return null == t3 ? this.dom.leading : (this.dom.leading = new _t(t3), this.rebuild());
    }
    rebuild(t3) {
      if ("boolean" == typeof t3 && (this._rebuild = t3), this._rebuild) {
        const t4 = this;
        let e2 = 0;
        const i2 = this.dom.leading;
        this.each(function(a2) {
          if (X(this.node)) return;
          const s3 = O.window.getComputedStyle(this.node).getPropertyValue("font-size"), r3 = i2 * new _t(s3);
          this.dom.newLined && (this.attr("x", t4.attr("x")), "\n" === this.text() ? e2 += r3 : (this.attr("dy", a2 ? r3 + e2 : 0), e2 = 0));
        }), this.fire("rebuild");
      }
      return this;
    }
    setData(t3) {
      return this.dom = t3, this.dom.leading = new _t(t3.leading || 1.3), this;
    }
    writeDataToDom() {
      return R(this, this.dom, { leading: 1.3 }), this;
    }
    text(t3) {
      if (void 0 === t3) {
        const e2 = this.node.childNodes;
        let i2 = 0;
        t3 = "";
        for (let a2 = 0, s3 = e2.length; a2 < s3; ++a2) "textPath" === e2[a2].nodeName || X(e2[a2]) ? 0 === a2 && (i2 = a2 + 1) : (a2 !== i2 && 3 !== e2[a2].nodeType && true === V(e2[a2]).dom.newLined && (t3 += "\n"), t3 += e2[a2].textContent);
        return t3;
      }
      if (this.clear().build(true), "function" == typeof t3) t3.call(this, this);
      else for (let e2 = 0, i2 = (t3 = (t3 + "").split("\n")).length; e2 < i2; e2++) this.newLine(t3[e2]);
      return this.build(false).rebuild();
    }
  }
  Q(oi, ni), A2({ Container: { text: K(function(t3 = "") {
    return this.put(new oi()).text(t3);
  }), plain: K(function(t3 = "") {
    return this.put(new oi()).plain(t3);
  }) } }), q(oi, "Text");
  class li extends qt {
    constructor(t3, e2 = t3) {
      super(G2("tspan", t3), e2), this._build = false;
    }
    dx(t3) {
      return this.attr("dx", t3);
    }
    dy(t3) {
      return this.attr("dy", t3);
    }
    newLine() {
      this.dom.newLined = true;
      const t3 = this.parent();
      if (!(t3 instanceof oi)) return this;
      const e2 = t3.index(this), i2 = O.window.getComputedStyle(this.node).getPropertyValue("font-size"), a2 = t3.dom.leading * new _t(i2);
      return this.dy(e2 ? a2 : 0).attr("x", t3.x());
    }
    text(t3) {
      return null == t3 ? this.node.textContent + (this.dom.newLined ? "\n" : "") : ("function" == typeof t3 ? (this.clear().build(true), t3.call(this, this), this.build(false)) : this.plain(t3), this);
    }
  }
  Q(li, ni), A2({ Tspan: { tspan: K(function(t3 = "") {
    const e2 = new li();
    return this._build || this.clear(), this.put(e2).text(t3);
  }) }, Text: { newLine: function(t3 = "") {
    return this.tspan(t3).newLine();
  } } }), q(li, "Tspan");
  class hi extends qt {
    constructor(t3, e2 = t3) {
      super(G2("circle", t3), e2);
    }
    radius(t3) {
      return this.attr("r", t3);
    }
    rx(t3) {
      return this.attr("r", t3);
    }
    ry(t3) {
      return this.rx(t3);
    }
    size(t3) {
      return this.radius(new _t(t3).divide(2));
    }
  }
  Q(hi, { x: Jt, y: Qt, cx: Kt, cy: te, width: ee, height: ie }), A2({ Container: { circle: K(function(t3 = 0) {
    return this.put(new hi()).size(t3).move(0, 0);
  }) } }), q(hi, "Circle");
  class ci extends Vt {
    constructor(t3, e2 = t3) {
      super(G2("clipPath", t3), e2);
    }
    remove() {
      return this.targets().forEach(function(t3) {
        t3.unclip();
      }), super.remove();
    }
    targets() {
      return Lt2("svg [clip-path*=" + this.id() + "]");
    }
  }
  A2({ Container: { clip: K(function() {
    return this.defs().put(new ci());
  }) }, Element: { clipper() {
    return this.reference("clip-path");
  }, clipWith(t3) {
    const e2 = t3 instanceof ci ? t3 : this.parent().clip().add(t3);
    return this.attr("clip-path", "url(#" + e2.id() + ")");
  }, unclip() {
    return this.attr("clip-path", null);
  } } }), q(ci, "ClipPath");
  class di extends Gt {
    constructor(t3, e2 = t3) {
      super(G2("foreignObject", t3), e2);
    }
  }
  A2({ Container: { foreignObject: K(function(t3, e2) {
    return this.put(new di()).size(t3, e2);
  }) } }), q(di, "ForeignObject");
  var ui = Object.freeze({ __proto__: null, dmove: function(t3, e2) {
    return this.children().forEach((i2) => {
      let a2;
      try {
        a2 = i2.node instanceof F().SVGSVGElement ? new kt(i2.attr(["x", "y", "width", "height"])) : i2.bbox();
      } catch (t4) {
        return;
      }
      const s3 = new vt(i2), r3 = s3.translate(t3, e2).transform(s3.inverse()), n2 = new bt(a2.x, a2.y).transform(r3);
      i2.move(n2.x, n2.y);
    }), this;
  }, dx: function(t3) {
    return this.dmove(t3, 0);
  }, dy: function(t3) {
    return this.dmove(0, t3);
  }, height: function(t3, e2 = this.bbox()) {
    return null == t3 ? e2.height : this.size(e2.width, t3, e2);
  }, move: function(t3 = 0, e2 = 0, i2 = this.bbox()) {
    const a2 = t3 - i2.x, s3 = e2 - i2.y;
    return this.dmove(a2, s3);
  }, size: function(t3, e2, i2 = this.bbox()) {
    const a2 = I(this, t3, e2, i2), s3 = a2.width / i2.width, r3 = a2.height / i2.height;
    return this.children().forEach((t4) => {
      const e3 = new bt(i2).transform(new vt(t4).inverse());
      t4.scale(s3, r3, e3.x, e3.y);
    }), this;
  }, width: function(t3, e2 = this.bbox()) {
    return null == t3 ? e2.width : this.size(t3, e2.height, e2);
  }, x: function(t3, e2 = this.bbox()) {
    return null == t3 ? e2.x : this.move(t3, e2.y, e2);
  }, y: function(t3, e2 = this.bbox()) {
    return null == t3 ? e2.y : this.move(e2.x, t3, e2);
  } });
  class gi extends Vt {
    constructor(t3, e2 = t3) {
      super(G2("g", t3), e2);
    }
  }
  Q(gi, ui), A2({ Container: { group: K(function() {
    return this.put(new gi());
  }) } }), q(gi, "G");
  class pi extends Vt {
    constructor(t3, e2 = t3) {
      super(G2("a", t3), e2);
    }
    target(t3) {
      return this.attr("target", t3);
    }
    to(t3) {
      return this.attr("href", t3, H);
    }
  }
  Q(pi, ui), A2({ Container: { link: K(function(t3) {
    return this.put(new pi()).to(t3);
  }) }, Element: { unlink() {
    const t3 = this.linker();
    if (!t3) return this;
    const e2 = t3.parent();
    if (!e2) return this.remove();
    const i2 = e2.index(t3);
    return e2.add(this, i2), t3.remove(), this;
  }, linkTo(t3) {
    let e2 = this.linker();
    return e2 || (e2 = new pi(), this.wrap(e2)), "function" == typeof t3 ? t3.call(e2, e2) : e2.to(t3), this;
  }, linker() {
    const t3 = this.parent();
    return t3 && "a" === t3.node.nodeName.toLowerCase() ? t3 : null;
  } } }), q(pi, "A");
  class fi extends Vt {
    constructor(t3, e2 = t3) {
      super(G2("mask", t3), e2);
    }
    remove() {
      return this.targets().forEach(function(t3) {
        t3.unmask();
      }), super.remove();
    }
    targets() {
      return Lt2("svg [mask*=" + this.id() + "]");
    }
  }
  A2({ Container: { mask: K(function() {
    return this.defs().put(new fi());
  }) }, Element: { masker() {
    return this.reference("mask");
  }, maskWith(t3) {
    const e2 = t3 instanceof fi ? t3 : this.parent().mask().add(t3);
    return this.attr("mask", "url(#" + e2.id() + ")");
  }, unmask() {
    return this.attr("mask", null);
  } } }), q(fi, "Mask");
  class xi extends Gt {
    constructor(t3, e2 = t3) {
      super(G2("stop", t3), e2);
    }
    update(t3) {
      return ("number" == typeof t3 || t3 instanceof _t) && (t3 = { offset: arguments[0], color: arguments[1], opacity: arguments[2] }), null != t3.opacity && this.attr("stop-opacity", t3.opacity), null != t3.color && this.attr("stop-color", t3.color), null != t3.offset && this.attr("offset", new _t(t3.offset)), this;
    }
  }
  A2({ Gradient: { stop: function(t3, e2, i2) {
    return this.put(new xi()).update(t3, e2, i2);
  } } }), q(xi, "Stop");
  class bi extends Gt {
    constructor(t3, e2 = t3) {
      super(G2("style", t3), e2);
    }
    addText(t3 = "") {
      return this.node.textContent += t3, this;
    }
    font(t3, e2, i2 = {}) {
      return this.rule("@font-face", { fontFamily: t3, src: e2, ...i2 });
    }
    rule(t3, e2) {
      return this.addText(function(t4, e3) {
        if (!t4) return "";
        if (!e3) return t4;
        let i2 = t4 + "{";
        for (const t5 in e3) i2 += t5.replace(/([A-Z])/g, function(t6, e4) {
          return "-" + e4.toLowerCase();
        }) + ":" + e3[t5] + ";";
        return i2 += "}", i2;
      }(t3, e2));
    }
  }
  A2("Dom", { style(t3, e2) {
    return this.put(new bi()).rule(t3, e2);
  }, fontface(t3, e2, i2) {
    return this.put(new bi()).font(t3, e2, i2);
  } }), q(bi, "Style");
  class mi extends oi {
    constructor(t3, e2 = t3) {
      super(G2("textPath", t3), e2);
    }
    array() {
      const t3 = this.track();
      return t3 ? t3.array() : null;
    }
    plot(t3) {
      const e2 = this.track();
      let i2 = null;
      return e2 && (i2 = e2.plot(t3)), null == t3 ? i2 : this;
    }
    track() {
      return this.reference("href");
    }
  }
  A2({ Container: { textPath: K(function(t3, e2) {
    return t3 instanceof oi || (t3 = this.text(t3)), t3.path(e2);
  }) }, Text: { path: K(function(t3, e2 = true) {
    const i2 = new mi();
    let a2;
    if (t3 instanceof We || (t3 = this.defs().path(t3)), i2.attr("href", "#" + t3, H), e2) for (; a2 = this.node.firstChild; ) i2.node.appendChild(a2);
    return this.put(i2);
  }), textPath() {
    return this.findOne("textPath");
  } }, Path: { text: K(function(t3) {
    return t3 instanceof oi || (t3 = new oi().addTo(this.parent()).text(t3)), t3.path(this);
  }), targets() {
    return Lt2("svg textPath").filter((t3) => (t3.attr("href") || "").includes(this.id()));
  } } }), mi.prototype.MorphArray = Ee, q(mi, "TextPath");
  class vi extends qt {
    constructor(t3, e2 = t3) {
      super(G2("use", t3), e2);
    }
    use(t3, e2) {
      return this.attr("href", (e2 || "") + "#" + t3, H);
    }
  }
  A2({ Container: { use: K(function(t3, e2) {
    return this.put(new vi()).use(t3, e2);
  }) } }), q(vi, "Use");
  const yi = B;
  Q([si, ri, de, ce, be], C("viewbox")), Q([xe, je, Ge, We], C("marker")), Q(oi, C("Text")), Q(We, C("Path")), Q(Ut, C("Defs")), Q([oi, li], C("Tspan")), Q([Ve, se, he, Qe], C("radius")), Q(Rt, C("EventTarget")), Q(Bt, C("Dom")), Q(Gt, C("Element")), Q(qt, C("Shape")), Q([Vt, re], C("Container")), Q(he, C("Gradient")), Q(Qe, C("Runner")), Ct2.extend([...new Set(k)]), function(t3 = []) {
    Ne.push(...[].concat(t3));
  }([_t, xt2, kt, vt, Dt, ge, Ee, bt]), Q(Ne, { to(t3) {
    return new He().type(this.constructor).from(this.toArray()).to(t3);
  }, fromArray(t3) {
    return this.init(t3), this;
  }, toConsumable() {
    return this.toArray();
  }, morph(t3, e2, i2, a2, s3) {
    return this.fromArray(t3.map(function(t4, r3) {
      return a2.step(t4, e2[r3], i2, s3[r3], s3);
    }));
  } });
  class wi extends Gt {
    constructor(t3) {
      super(G2("filter", t3), t3), this.$source = "SourceGraphic", this.$sourceAlpha = "SourceAlpha", this.$background = "BackgroundImage", this.$backgroundAlpha = "BackgroundAlpha", this.$fill = "FillPaint", this.$stroke = "StrokePaint", this.$autoSetIn = true;
    }
    put(t3, e2) {
      return !(t3 = super.put(t3, e2)).attr("in") && this.$autoSetIn && t3.attr("in", this.$source), t3.attr("result") || t3.attr("result", t3.id()), t3;
    }
    remove() {
      return this.targets().each("unfilter"), super.remove();
    }
    targets() {
      return Lt2('svg [filter*="' + this.id() + '"]');
    }
    toString() {
      return "url(#" + this.id() + ")";
    }
  }
  class ki extends Gt {
    constructor(t3, e2) {
      super(t3, e2), this.result(this.id());
    }
    in(t3) {
      if (null == t3) {
        const t4 = this.attr("in");
        return this.parent() && this.parent().find(`[result="${t4}"]`)[0] || t4;
      }
      return this.attr("in", t3);
    }
    result(t3) {
      return this.attr("result", t3);
    }
    toString() {
      return this.result();
    }
  }
  const Ai = (t3) => function(...e2) {
    for (let i2 = t3.length; i2--; ) null != e2[i2] && this.attr(t3[i2], e2[i2]);
  }, Ci = { blend: Ai(["in", "in2", "mode"]), colorMatrix: Ai(["type", "values"]), composite: Ai(["in", "in2", "operator"]), convolveMatrix: function(t3) {
    t3 = new Dt(t3).toString(), this.attr({ order: Math.sqrt(t3.split(" ").length), kernelMatrix: t3 });
  }, diffuseLighting: Ai(["surfaceScale", "lightingColor", "diffuseConstant", "kernelUnitLength"]), displacementMap: Ai(["in", "in2", "scale", "xChannelSelector", "yChannelSelector"]), dropShadow: Ai(["in", "dx", "dy", "stdDeviation"]), flood: Ai(["flood-color", "flood-opacity"]), gaussianBlur: function(t3 = 0, e2 = t3) {
    this.attr("stdDeviation", t3 + " " + e2);
  }, image: function(t3) {
    this.attr("href", t3, H);
  }, morphology: Ai(["operator", "radius"]), offset: Ai(["dx", "dy"]), specularLighting: Ai(["surfaceScale", "lightingColor", "diffuseConstant", "specularExponent", "kernelUnitLength"]), tile: Ai([]), turbulence: Ai(["baseFrequency", "numOctaves", "seed", "stitchTiles", "type"]) };
  ["blend", "colorMatrix", "componentTransfer", "composite", "convolveMatrix", "diffuseLighting", "displacementMap", "dropShadow", "flood", "gaussianBlur", "image", "merge", "morphology", "offset", "specularLighting", "tile", "turbulence"].forEach((t3) => {
    const e2 = P2(t3), i2 = Ci[t3];
    wi[e2 + "Effect"] = class extends ki {
      constructor(t4) {
        super(G2("fe" + e2, t4), t4);
      }
      update(t4) {
        return i2.apply(this, t4), this;
      }
    }, wi.prototype[t3] = K(function(t4, ...i3) {
      const a2 = new wi[e2 + "Effect"]();
      return null == t4 ? this.put(a2) : ("function" == typeof t4 ? t4.call(a2, a2) : i3.unshift(t4), this.put(a2).update(i3));
    });
  }), Q(wi, { merge(t3) {
    const e2 = this.put(new wi.MergeEffect());
    if ("function" == typeof t3) return t3.call(e2, e2), e2;
    return (t3 instanceof Array ? t3 : [...arguments]).forEach((t4) => {
      t4 instanceof wi.MergeNode ? e2.put(t4) : e2.mergeNode(t4);
    }), e2;
  }, componentTransfer(t3 = {}) {
    const e2 = this.put(new wi.ComponentTransferEffect());
    if ("function" == typeof t3) return t3.call(e2, e2), e2;
    if (!(t3.r || t3.g || t3.b || t3.a)) {
      t3 = { r: t3, g: t3, b: t3, a: t3 };
    }
    for (const i2 in t3) e2.add(new wi["Func" + i2.toUpperCase()](t3[i2]));
    return e2;
  } });
  ["distantLight", "pointLight", "spotLight", "mergeNode", "FuncR", "FuncG", "FuncB", "FuncA"].forEach((t3) => {
    const e2 = P2(t3);
    wi[e2] = class extends ki {
      constructor(t4) {
        super(G2("fe" + e2, t4), t4);
      }
    };
  });
  ["funcR", "funcG", "funcB", "funcA"].forEach(function(t3) {
    const e2 = wi[P2(t3)], i2 = K(function() {
      return this.put(new e2());
    });
    wi.ComponentTransferEffect.prototype[t3] = i2;
  });
  ["distantLight", "pointLight", "spotLight"].forEach((t3) => {
    const e2 = wi[P2(t3)], i2 = K(function() {
      return this.put(new e2());
    });
    wi.DiffuseLightingEffect.prototype[t3] = i2, wi.SpecularLightingEffect.prototype[t3] = i2;
  }), Q(wi.MergeEffect, { mergeNode(t3) {
    return this.put(new wi.MergeNode()).attr("in", t3);
  } }), Q(Ut, { filter: function(t3) {
    const e2 = this.put(new wi());
    return "function" == typeof t3 && t3.call(e2, e2), e2;
  } }), Q(Vt, { filter: function(t3) {
    return this.defs().filter(t3);
  } }), Q(Gt, { filterWith: function(t3) {
    const e2 = t3 instanceof wi ? t3 : this.defs().filter(t3);
    return this.attr("filter", e2);
  }, unfilter: function(t3) {
    return this.attr("filter", null);
  }, filterer() {
    return this.reference("filter");
  } });
  const Si = { blend: function(t3, e2) {
    return this.parent() && this.parent().blend(this, t3, e2);
  }, colorMatrix: function(t3, e2) {
    return this.parent() && this.parent().colorMatrix(t3, e2).in(this);
  }, componentTransfer: function(t3) {
    return this.parent() && this.parent().componentTransfer(t3).in(this);
  }, composite: function(t3, e2) {
    return this.parent() && this.parent().composite(this, t3, e2);
  }, convolveMatrix: function(t3) {
    return this.parent() && this.parent().convolveMatrix(t3).in(this);
  }, diffuseLighting: function(t3, e2, i2, a2) {
    return this.parent() && this.parent().diffuseLighting(t3, i2, a2).in(this);
  }, displacementMap: function(t3, e2, i2, a2) {
    return this.parent() && this.parent().displacementMap(this, t3, e2, i2, a2);
  }, dropShadow: function(t3, e2, i2) {
    return this.parent() && this.parent().dropShadow(this, t3, e2, i2).in(this);
  }, flood: function(t3, e2) {
    return this.parent() && this.parent().flood(t3, e2);
  }, gaussianBlur: function(t3, e2) {
    return this.parent() && this.parent().gaussianBlur(t3, e2).in(this);
  }, image: function(t3) {
    return this.parent() && this.parent().image(t3);
  }, merge: function(t3) {
    return t3 = t3 instanceof Array ? t3 : [...t3], this.parent() && this.parent().merge(this, ...t3);
  }, morphology: function(t3, e2) {
    return this.parent() && this.parent().morphology(t3, e2).in(this);
  }, offset: function(t3, e2) {
    return this.parent() && this.parent().offset(t3, e2).in(this);
  }, specularLighting: function(t3, e2, i2, a2, s3) {
    return this.parent() && this.parent().specularLighting(t3, i2, a2, s3).in(this);
  }, tile: function() {
    return this.parent() && this.parent().tile().in(this);
  }, turbulence: function(t3, e2, i2, a2, s3) {
    return this.parent() && this.parent().turbulence(t3, e2, i2, a2, s3).in(this);
  } };
  Q(ki, Si), Q(wi.MergeEffect, { in: function(t3) {
    return t3 instanceof wi.MergeNode ? this.add(t3, 0) : this.add(new wi.MergeNode().in(t3), 0), this;
  } }), Q([wi.CompositeEffect, wi.BlendEffect, wi.DisplacementMapEffect], { in2: function(t3) {
    if (null == t3) {
      const t4 = this.attr("in2");
      return this.parent() && this.parent().find(`[result="${t4}"]`)[0] || t4;
    }
    return this.attr("in2", t3);
  } }), wi.filter = { sepiatone: [0.343, 0.669, 0.119, 0, 0, 0.249, 0.626, 0.13, 0, 0, 0.172, 0.334, 0.111, 0, 0, 0, 0, 0, 1, 0] };
  var Li = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
    }
    return s2(t3, [{ key: "getDefaultFilter", value: function(t4, e2) {
      var i2 = this.w;
      t4.unfilter(true), new wi().size("120%", "180%", "-5%", "-40%"), i2.config.chart.dropShadow.enabled && this.dropShadow(t4, i2.config.chart.dropShadow, e2);
    } }, { key: "applyFilter", value: function(t4, e2, i2) {
      var a2, s3 = this, r3 = this.w;
      if (t4.unfilter(true), "none" !== i2) {
        var n2, o3, l2 = r3.config.chart.dropShadow, h3 = "lighten" === i2 ? 2 : 0.3;
        if (t4.filterWith(function(t5) {
          t5.colorMatrix({ type: "matrix", values: "\n          ".concat(h3, " 0 0 0 0\n          0 ").concat(h3, " 0 0 0\n          0 0 ").concat(h3, " 0 0\n          0 0 0 1 0\n        "), in: "SourceGraphic", result: "brightness" }), l2.enabled && s3.addShadow(t5, e2, l2, "brightness");
        }), !l2.noUserSpaceOnUse) null === (n2 = t4.filterer()) || void 0 === n2 || null === (o3 = n2.node) || void 0 === o3 || o3.setAttribute("filterUnits", "userSpaceOnUse");
        this._scaleFilterSize(null === (a2 = t4.filterer()) || void 0 === a2 ? void 0 : a2.node);
      } else this.getDefaultFilter(t4, e2);
    } }, { key: "addShadow", value: function(t4, e2, i2, a2) {
      var s3, r3 = this.w, n2 = i2.blur, o3 = i2.top, l2 = i2.left, h3 = i2.color, c2 = i2.opacity;
      if (h3 = Array.isArray(h3) ? h3[e2] : h3, (null === (s3 = r3.config.chart.dropShadow.enabledOnSeries) || void 0 === s3 ? void 0 : s3.length) > 0 && -1 === r3.config.chart.dropShadow.enabledOnSeries.indexOf(e2)) return t4;
      t4.offset({ in: a2, dx: l2, dy: o3, result: "offset" }), t4.gaussianBlur({ in: "offset", stdDeviation: n2, result: "blur" }), t4.flood({ "flood-color": h3, "flood-opacity": c2, result: "flood" }), t4.composite({ in: "flood", in2: "blur", operator: "in", result: "shadow" }), t4.merge(["shadow", a2]);
    } }, { key: "dropShadow", value: function(t4, e2) {
      var i2, a2, s3, r3, n2, o3 = this, l2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0, h3 = this.w;
      if (t4.unfilter(true), v.isMsEdge() && "radialBar" === h3.config.chart.type) return t4;
      if ((null === (i2 = h3.config.chart.dropShadow.enabledOnSeries) || void 0 === i2 ? void 0 : i2.length) > 0 && -1 === (null === (s3 = h3.config.chart.dropShadow.enabledOnSeries) || void 0 === s3 ? void 0 : s3.indexOf(l2))) return t4;
      (t4.filterWith(function(t5) {
        o3.addShadow(t5, l2, e2, "SourceGraphic");
      }), e2.noUserSpaceOnUse) || (null === (r3 = t4.filterer()) || void 0 === r3 || null === (n2 = r3.node) || void 0 === n2 || n2.setAttribute("filterUnits", "userSpaceOnUse"));
      return this._scaleFilterSize(null === (a2 = t4.filterer()) || void 0 === a2 ? void 0 : a2.node), t4;
    } }, { key: "setSelectionFilter", value: function(t4, e2, i2) {
      var a2 = this.w;
      if (void 0 !== a2.globals.selectedDataPoints[e2] && a2.globals.selectedDataPoints[e2].indexOf(i2) > -1) {
        t4.node.setAttribute("selected", true);
        var s3 = a2.config.states.active.filter;
        "none" !== s3 && this.applyFilter(t4, e2, s3.type);
      }
    } }, { key: "_scaleFilterSize", value: function(t4) {
      if (t4) {
        !function(e2) {
          for (var i2 in e2) e2.hasOwnProperty(i2) && t4.setAttribute(i2, e2[i2]);
        }({ width: "200%", height: "200%", x: "-50%", y: "-50%" });
      }
    } }]), t3;
  }(), Mi = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
    }
    return s2(t3, [{ key: "roundPathCorners", value: function(t4, e2) {
      function i2(t5, e3, i3) {
        var s4 = e3.x - t5.x, r4 = e3.y - t5.y, n3 = Math.sqrt(s4 * s4 + r4 * r4);
        return a2(t5, e3, Math.min(1, i3 / n3));
      }
      function a2(t5, e3, i3) {
        return { x: t5.x + (e3.x - t5.x) * i3, y: t5.y + (e3.y - t5.y) * i3 };
      }
      function s3(t5, e3) {
        t5.length > 2 && (t5[t5.length - 2] = e3.x, t5[t5.length - 1] = e3.y);
      }
      function r3(t5) {
        return { x: parseFloat(t5[t5.length - 2]), y: parseFloat(t5[t5.length - 1]) };
      }
      t4.indexOf("NaN") > -1 && (t4 = "");
      var n2 = t4.split(/[,\s]/).reduce(function(t5, e3) {
        var i3 = e3.match("([a-zA-Z])(.+)");
        return i3 ? (t5.push(i3[1]), t5.push(i3[2])) : t5.push(e3), t5;
      }, []).reduce(function(t5, e3) {
        return parseFloat(e3) == e3 && t5.length ? t5[t5.length - 1].push(e3) : t5.push([e3]), t5;
      }, []), o3 = [];
      if (n2.length > 1) {
        var l2 = r3(n2[0]), h3 = null;
        "Z" == n2[n2.length - 1][0] && n2[0].length > 2 && (h3 = ["L", l2.x, l2.y], n2[n2.length - 1] = h3), o3.push(n2[0]);
        for (var c2 = 1; c2 < n2.length; c2++) {
          var d2 = o3[o3.length - 1], u2 = n2[c2], g3 = u2 == h3 ? n2[1] : n2[c2 + 1];
          if (g3 && d2 && d2.length > 2 && "L" == u2[0] && g3.length > 2 && "L" == g3[0]) {
            var p3, f2, x3 = r3(d2), b2 = r3(u2), m3 = r3(g3);
            p3 = i2(b2, x3, e2), f2 = i2(b2, m3, e2), s3(u2, p3), u2.origPoint = b2, o3.push(u2);
            var v2 = a2(p3, b2, 0.5), y2 = a2(b2, f2, 0.5), w3 = ["C", v2.x, v2.y, y2.x, y2.y, f2.x, f2.y];
            w3.origPoint = b2, o3.push(w3);
          } else o3.push(u2);
        }
        if (h3) {
          var k2 = r3(o3[o3.length - 1]);
          o3.push(["Z"]), s3(o3[0], k2);
        }
      } else o3 = n2;
      return o3.reduce(function(t5, e3) {
        return t5 + e3.join(" ") + " ";
      }, "");
    } }, { key: "drawLine", value: function(t4, e2, i2, a2) {
      var s3 = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : "#a8a8a8", r3 = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : 0, n2 = arguments.length > 6 && void 0 !== arguments[6] ? arguments[6] : null, o3 = arguments.length > 7 && void 0 !== arguments[7] ? arguments[7] : "butt";
      return this.w.globals.dom.Paper.line().attr({ x1: t4, y1: e2, x2: i2, y2: a2, stroke: s3, "stroke-dasharray": r3, "stroke-width": n2, "stroke-linecap": o3 });
    } }, { key: "drawRect", value: function() {
      var t4 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0, e2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0, i2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0, a2 = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0, s3 = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 0, r3 = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : "#fefefe", n2 = arguments.length > 6 && void 0 !== arguments[6] ? arguments[6] : 1, o3 = arguments.length > 7 && void 0 !== arguments[7] ? arguments[7] : null, l2 = arguments.length > 8 && void 0 !== arguments[8] ? arguments[8] : null, h3 = arguments.length > 9 && void 0 !== arguments[9] ? arguments[9] : 0, c2 = this.w.globals.dom.Paper.rect();
      return c2.attr({ x: t4, y: e2, width: i2 > 0 ? i2 : 0, height: a2 > 0 ? a2 : 0, rx: s3, ry: s3, opacity: n2, "stroke-width": null !== o3 ? o3 : 0, stroke: null !== l2 ? l2 : "none", "stroke-dasharray": h3 }), c2.node.setAttribute("fill", r3), c2;
    } }, { key: "drawPolygon", value: function(t4) {
      var e2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "#e1e1e1", i2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1, a2 = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : "none";
      return this.w.globals.dom.Paper.polygon(t4).attr({ fill: a2, stroke: e2, "stroke-width": i2 });
    } }, { key: "drawCircle", value: function(t4) {
      var e2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null;
      t4 < 0 && (t4 = 0);
      var i2 = this.w.globals.dom.Paper.circle(2 * t4);
      return null !== e2 && i2.attr(e2), i2;
    } }, { key: "drawPath", value: function(t4) {
      var e2 = t4.d, i2 = void 0 === e2 ? "" : e2, a2 = t4.stroke, s3 = void 0 === a2 ? "#a8a8a8" : a2, r3 = t4.strokeWidth, n2 = void 0 === r3 ? 1 : r3, o3 = t4.fill, l2 = t4.fillOpacity, h3 = void 0 === l2 ? 1 : l2, c2 = t4.strokeOpacity, d2 = void 0 === c2 ? 1 : c2, u2 = t4.classes, g3 = t4.strokeLinecap, p3 = void 0 === g3 ? null : g3, f2 = t4.strokeDashArray, x3 = void 0 === f2 ? 0 : f2, b2 = this.w;
      return null === p3 && (p3 = b2.config.stroke.lineCap), (i2.indexOf("undefined") > -1 || i2.indexOf("NaN") > -1) && (i2 = "M 0 ".concat(b2.globals.gridHeight)), b2.globals.dom.Paper.path(i2).attr({ fill: o3, "fill-opacity": h3, stroke: s3, "stroke-opacity": d2, "stroke-linecap": p3, "stroke-width": n2, "stroke-dasharray": x3, class: u2 });
    } }, { key: "group", value: function() {
      var t4 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null, e2 = this.w.globals.dom.Paper.group();
      return null !== t4 && e2.attr(t4), e2;
    } }, { key: "move", value: function(t4, e2) {
      var i2 = ["M", t4, e2].join(" ");
      return i2;
    } }, { key: "line", value: function(t4, e2) {
      var i2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null, a2 = null;
      return null === i2 ? a2 = [" L", t4, e2].join(" ") : "H" === i2 ? a2 = [" H", t4].join(" ") : "V" === i2 && (a2 = [" V", e2].join(" ")), a2;
    } }, { key: "curve", value: function(t4, e2, i2, a2, s3, r3) {
      var n2 = ["C", t4, e2, i2, a2, s3, r3].join(" ");
      return n2;
    } }, { key: "quadraticCurve", value: function(t4, e2, i2, a2) {
      return ["Q", t4, e2, i2, a2].join(" ");
    } }, { key: "arc", value: function(t4, e2, i2, a2, s3, r3, n2) {
      var o3 = "A";
      arguments.length > 7 && void 0 !== arguments[7] && arguments[7] && (o3 = "a");
      var l2 = [o3, t4, e2, i2, a2, s3, r3, n2].join(" ");
      return l2;
    } }, { key: "renderPaths", value: function(t4) {
      var e2, i2 = t4.j, a2 = t4.realIndex, s3 = t4.pathFrom, r3 = t4.pathTo, n2 = t4.stroke, o3 = t4.strokeWidth, l2 = t4.strokeLinecap, h3 = t4.fill, c2 = t4.animationDelay, d2 = t4.initialSpeed, g3 = t4.dataChangeSpeed, p3 = t4.className, f2 = t4.chartType, x3 = t4.shouldClipToGrid, b2 = void 0 === x3 || x3, m3 = t4.bindEventsOnPaths, v2 = void 0 === m3 || m3, w3 = t4.drawShadow, k2 = void 0 === w3 || w3, A3 = this.w, C2 = new Li(this.ctx), S3 = new y(this.ctx), L3 = this.w.config.chart.animations.enabled, M2 = L3 && this.w.config.chart.animations.dynamicAnimation.enabled, P3 = !!(L3 && !A3.globals.resized || M2 && A3.globals.dataChanged && A3.globals.shouldAnimate);
      P3 ? e2 = s3 : (e2 = r3, A3.globals.animationEnded = true);
      var I2 = A3.config.stroke.dashArray, T2 = 0;
      T2 = Array.isArray(I2) ? I2[a2] : A3.config.stroke.dashArray;
      var z2 = this.drawPath({ d: e2, stroke: n2, strokeWidth: o3, fill: h3, fillOpacity: 1, classes: p3, strokeLinecap: l2, strokeDashArray: T2 });
      z2.attr("index", a2), b2 && ("bar" === f2 && !A3.globals.isHorizontal || A3.globals.comboCharts ? z2.attr({ "clip-path": "url(#gridRectBarMask".concat(A3.globals.cuid, ")") }) : z2.attr({ "clip-path": "url(#gridRectMask".concat(A3.globals.cuid, ")") })), A3.config.chart.dropShadow.enabled && k2 && C2.dropShadow(z2, A3.config.chart.dropShadow, a2), v2 && (z2.node.addEventListener("mouseenter", this.pathMouseEnter.bind(this, z2)), z2.node.addEventListener("mouseleave", this.pathMouseLeave.bind(this, z2)), z2.node.addEventListener("mousedown", this.pathMouseDown.bind(this, z2))), z2.attr({ pathTo: r3, pathFrom: s3 });
      var X2 = { el: z2, j: i2, realIndex: a2, pathFrom: s3, pathTo: r3, fill: h3, strokeWidth: o3, delay: c2 };
      return !L3 || A3.globals.resized || A3.globals.dataChanged ? !A3.globals.resized && A3.globals.dataChanged || S3.showDelayedElements() : S3.animatePathsGradually(u(u({}, X2), {}, { speed: d2 })), A3.globals.dataChanged && M2 && P3 && S3.animatePathsGradually(u(u({}, X2), {}, { speed: g3 })), z2;
    } }, { key: "drawPattern", value: function(t4, e2, i2) {
      var a2 = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : "#a8a8a8", s3 = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 0;
      return this.w.globals.dom.Paper.pattern(e2, i2, function(r3) {
        "horizontalLines" === t4 ? r3.line(0, 0, i2, 0).stroke({ color: a2, width: s3 + 1 }) : "verticalLines" === t4 ? r3.line(0, 0, 0, e2).stroke({ color: a2, width: s3 + 1 }) : "slantedLines" === t4 ? r3.line(0, 0, e2, i2).stroke({ color: a2, width: s3 }) : "squares" === t4 ? r3.rect(e2, i2).fill("none").stroke({ color: a2, width: s3 }) : "circles" === t4 && r3.circle(e2).fill("none").stroke({ color: a2, width: s3 });
      });
    } }, { key: "drawGradient", value: function(t4, e2, i2, a2, s3) {
      var r3, n2 = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : null, o3 = arguments.length > 6 && void 0 !== arguments[6] ? arguments[6] : null, l2 = arguments.length > 7 && void 0 !== arguments[7] ? arguments[7] : [], h3 = arguments.length > 8 && void 0 !== arguments[8] ? arguments[8] : 0, c2 = this.w;
      e2.length < 9 && 0 === e2.indexOf("#") && (e2 = v.hexToRgba(e2, a2)), i2.length < 9 && 0 === i2.indexOf("#") && (i2 = v.hexToRgba(i2, s3));
      var d2 = 0, u2 = 1, g3 = 1, p3 = null;
      null !== o3 && (d2 = void 0 !== o3[0] ? o3[0] / 100 : 0, u2 = void 0 !== o3[1] ? o3[1] / 100 : 1, g3 = void 0 !== o3[2] ? o3[2] / 100 : 1, p3 = void 0 !== o3[3] ? o3[3] / 100 : null);
      var f2 = !("donut" !== c2.config.chart.type && "pie" !== c2.config.chart.type && "polarArea" !== c2.config.chart.type && "bubble" !== c2.config.chart.type);
      if (r3 = l2 && 0 !== l2.length ? c2.globals.dom.Paper.gradient(f2 ? "radial" : "linear", function(t5) {
        (Array.isArray(l2[h3]) ? l2[h3] : l2).forEach(function(e3) {
          t5.stop(e3.offset / 100, e3.color, e3.opacity);
        });
      }) : c2.globals.dom.Paper.gradient(f2 ? "radial" : "linear", function(t5) {
        t5.stop(d2, e2, a2), t5.stop(u2, i2, s3), t5.stop(g3, i2, s3), null !== p3 && t5.stop(p3, e2, a2);
      }), f2) {
        var x3 = c2.globals.gridWidth / 2, b2 = c2.globals.gridHeight / 2;
        "bubble" !== c2.config.chart.type ? r3.attr({ gradientUnits: "userSpaceOnUse", cx: x3, cy: b2, r: n2 }) : r3.attr({ cx: 0.5, cy: 0.5, r: 0.8, fx: 0.2, fy: 0.2 });
      } else "vertical" === t4 ? r3.from(0, 0).to(0, 1) : "diagonal" === t4 ? r3.from(0, 0).to(1, 1) : "horizontal" === t4 ? r3.from(0, 1).to(1, 1) : "diagonal2" === t4 && r3.from(1, 0).to(0, 1);
      return r3;
    } }, { key: "getTextBasedOnMaxWidth", value: function(t4) {
      var e2 = t4.text, i2 = t4.maxWidth, a2 = t4.fontSize, s3 = t4.fontFamily, r3 = this.getTextRects(e2, a2, s3), n2 = r3.width / e2.length, o3 = Math.floor(i2 / n2);
      return i2 < r3.width ? e2.slice(0, o3 - 3) + "..." : e2;
    } }, { key: "drawText", value: function(t4) {
      var e2 = this, i2 = t4.x, a2 = t4.y, s3 = t4.text, r3 = t4.textAnchor, n2 = t4.fontSize, o3 = t4.fontFamily, l2 = t4.fontWeight, h3 = t4.foreColor, c2 = t4.opacity, d2 = t4.maxWidth, g3 = t4.cssClass, p3 = void 0 === g3 ? "" : g3, f2 = t4.isPlainText, x3 = void 0 === f2 || f2, b2 = t4.dominantBaseline, m3 = void 0 === b2 ? "auto" : b2, v2 = this.w;
      void 0 === s3 && (s3 = "");
      var y2 = s3;
      r3 || (r3 = "start"), h3 && h3.length || (h3 = v2.config.chart.foreColor), o3 = o3 || v2.config.chart.fontFamily, l2 = l2 || "regular";
      var w3, k2 = { maxWidth: d2, fontSize: n2 = n2 || "11px", fontFamily: o3 };
      return Array.isArray(s3) ? w3 = v2.globals.dom.Paper.text(function(t5) {
        for (var i3 = 0; i3 < s3.length; i3++) y2 = s3[i3], d2 && (y2 = e2.getTextBasedOnMaxWidth(u({ text: s3[i3] }, k2))), 0 === i3 ? t5.tspan(y2) : t5.tspan(y2).newLine();
      }) : (d2 && (y2 = this.getTextBasedOnMaxWidth(u({ text: s3 }, k2))), w3 = x3 ? v2.globals.dom.Paper.plain(s3) : v2.globals.dom.Paper.text(function(t5) {
        return t5.tspan(y2);
      })), w3.attr({ x: i2, y: a2, "text-anchor": r3, "dominant-baseline": m3, "font-size": n2, "font-family": o3, "font-weight": l2, fill: h3, class: "apexcharts-text " + p3 }), w3.node.style.fontFamily = o3, w3.node.style.opacity = c2, w3;
    } }, { key: "getMarkerPath", value: function(t4, e2, i2, a2) {
      var s3 = "";
      switch (i2) {
        case "cross":
          s3 = "M ".concat(t4 - (a2 /= 1.4), " ").concat(e2 - a2, " L ").concat(t4 + a2, " ").concat(e2 + a2, "  M ").concat(t4 - a2, " ").concat(e2 + a2, " L ").concat(t4 + a2, " ").concat(e2 - a2);
          break;
        case "plus":
          s3 = "M ".concat(t4 - (a2 /= 1.12), " ").concat(e2, " L ").concat(t4 + a2, " ").concat(e2, "  M ").concat(t4, " ").concat(e2 - a2, " L ").concat(t4, " ").concat(e2 + a2);
          break;
        case "star":
        case "sparkle":
          var r3 = 5;
          a2 *= 1.15, "sparkle" === i2 && (a2 /= 1.1, r3 = 4);
          for (var n2 = Math.PI / r3, o3 = 0; o3 <= 2 * r3; o3++) {
            var l2 = o3 * n2, h3 = o3 % 2 == 0 ? a2 : a2 / 2;
            s3 += (0 === o3 ? "M" : "L") + (t4 + h3 * Math.sin(l2)) + "," + (e2 - h3 * Math.cos(l2));
          }
          s3 += "Z";
          break;
        case "triangle":
          s3 = "M ".concat(t4, " ").concat(e2 - a2, " \n             L ").concat(t4 + a2, " ").concat(e2 + a2, " \n             L ").concat(t4 - a2, " ").concat(e2 + a2, " \n             Z");
          break;
        case "square":
        case "rect":
          s3 = "M ".concat(t4 - (a2 /= 1.125), " ").concat(e2 - a2, " \n           L ").concat(t4 + a2, " ").concat(e2 - a2, " \n           L ").concat(t4 + a2, " ").concat(e2 + a2, " \n           L ").concat(t4 - a2, " ").concat(e2 + a2, " \n           Z");
          break;
        case "diamond":
          a2 *= 1.05, s3 = "M ".concat(t4, " ").concat(e2 - a2, " \n             L ").concat(t4 + a2, " ").concat(e2, " \n             L ").concat(t4, " ").concat(e2 + a2, " \n             L ").concat(t4 - a2, " ").concat(e2, " \n            Z");
          break;
        case "line":
          s3 = "M ".concat(t4 - (a2 /= 1.1), " ").concat(e2, " \n           L ").concat(t4 + a2, " ").concat(e2);
          break;
        default:
          a2 *= 2, s3 = "M ".concat(t4, ", ").concat(e2, " \n           m -").concat(a2 / 2, ", 0 \n           a ").concat(a2 / 2, ",").concat(a2 / 2, " 0 1,0 ").concat(a2, ",0 \n           a ").concat(a2 / 2, ",").concat(a2 / 2, " 0 1,0 -").concat(a2, ",0");
      }
      return s3;
    } }, { key: "drawMarkerShape", value: function(t4, e2, i2, a2, s3) {
      var r3 = this.drawPath({ d: this.getMarkerPath(t4, e2, i2, a2, s3), stroke: s3.pointStrokeColor, strokeDashArray: s3.pointStrokeDashArray, strokeWidth: s3.pointStrokeWidth, fill: s3.pointFillColor, fillOpacity: s3.pointFillOpacity, strokeOpacity: s3.pointStrokeOpacity });
      return r3.attr({ cx: t4, cy: e2, shape: s3.shape, class: s3.class ? s3.class : "" }), r3;
    } }, { key: "drawMarker", value: function(t4, e2, i2) {
      t4 = t4 || 0;
      var a2 = i2.pSize || 0;
      return v.isNumber(e2) || (a2 = 0, e2 = 0), this.drawMarkerShape(t4, e2, null == i2 ? void 0 : i2.shape, a2, u(u({}, i2), "line" === i2.shape || "plus" === i2.shape || "cross" === i2.shape ? { pointStrokeColor: i2.pointFillColor, pointStrokeOpacity: i2.pointFillOpacity } : {}));
    } }, { key: "pathMouseEnter", value: function(t4, e2) {
      var i2 = this.w, a2 = new Li(this.ctx), s3 = parseInt(t4.node.getAttribute("index"), 10), r3 = parseInt(t4.node.getAttribute("j"), 10);
      if ("function" == typeof i2.config.chart.events.dataPointMouseEnter && i2.config.chart.events.dataPointMouseEnter(e2, this.ctx, { seriesIndex: s3, dataPointIndex: r3, w: i2 }), this.ctx.events.fireEvent("dataPointMouseEnter", [e2, this.ctx, { seriesIndex: s3, dataPointIndex: r3, w: i2 }]), ("none" === i2.config.states.active.filter.type || "true" !== t4.node.getAttribute("selected")) && "none" !== i2.config.states.hover.filter.type && !i2.globals.isTouchDevice) {
        var n2 = i2.config.states.hover.filter;
        a2.applyFilter(t4, s3, n2.type);
      }
    } }, { key: "pathMouseLeave", value: function(t4, e2) {
      var i2 = this.w, a2 = new Li(this.ctx), s3 = parseInt(t4.node.getAttribute("index"), 10), r3 = parseInt(t4.node.getAttribute("j"), 10);
      "function" == typeof i2.config.chart.events.dataPointMouseLeave && i2.config.chart.events.dataPointMouseLeave(e2, this.ctx, { seriesIndex: s3, dataPointIndex: r3, w: i2 }), this.ctx.events.fireEvent("dataPointMouseLeave", [e2, this.ctx, { seriesIndex: s3, dataPointIndex: r3, w: i2 }]), "none" !== i2.config.states.active.filter.type && "true" === t4.node.getAttribute("selected") || "none" !== i2.config.states.hover.filter.type && a2.getDefaultFilter(t4, s3);
    } }, { key: "pathMouseDown", value: function(t4, e2) {
      var i2 = this.w, a2 = new Li(this.ctx), s3 = parseInt(t4.node.getAttribute("index"), 10), r3 = parseInt(t4.node.getAttribute("j"), 10), n2 = "false";
      if ("true" === t4.node.getAttribute("selected")) {
        if (t4.node.setAttribute("selected", "false"), i2.globals.selectedDataPoints[s3].indexOf(r3) > -1) {
          var o3 = i2.globals.selectedDataPoints[s3].indexOf(r3);
          i2.globals.selectedDataPoints[s3].splice(o3, 1);
        }
      } else {
        if (!i2.config.states.active.allowMultipleDataPointsSelection && i2.globals.selectedDataPoints.length > 0) {
          i2.globals.selectedDataPoints = [];
          var l2 = i2.globals.dom.Paper.find(".apexcharts-series path:not(.apexcharts-decoration-element)"), h3 = i2.globals.dom.Paper.find(".apexcharts-series circle:not(.apexcharts-decoration-element), .apexcharts-series rect:not(.apexcharts-decoration-element)"), c2 = function(t5) {
            Array.prototype.forEach.call(t5, function(t6) {
              t6.node.setAttribute("selected", "false"), a2.getDefaultFilter(t6, s3);
            });
          };
          c2(l2), c2(h3);
        }
        t4.node.setAttribute("selected", "true"), n2 = "true", void 0 === i2.globals.selectedDataPoints[s3] && (i2.globals.selectedDataPoints[s3] = []), i2.globals.selectedDataPoints[s3].push(r3);
      }
      if ("true" === n2) {
        var d2 = i2.config.states.active.filter;
        if ("none" !== d2) a2.applyFilter(t4, s3, d2.type);
        else if ("none" !== i2.config.states.hover.filter && !i2.globals.isTouchDevice) {
          var u2 = i2.config.states.hover.filter;
          a2.applyFilter(t4, s3, u2.type);
        }
      } else if ("none" !== i2.config.states.active.filter.type) if ("none" === i2.config.states.hover.filter.type || i2.globals.isTouchDevice) a2.getDefaultFilter(t4, s3);
      else {
        u2 = i2.config.states.hover.filter;
        a2.applyFilter(t4, s3, u2.type);
      }
      "function" == typeof i2.config.chart.events.dataPointSelection && i2.config.chart.events.dataPointSelection(e2, this.ctx, { selectedDataPoints: i2.globals.selectedDataPoints, seriesIndex: s3, dataPointIndex: r3, w: i2 }), e2 && this.ctx.events.fireEvent("dataPointSelection", [e2, this.ctx, { selectedDataPoints: i2.globals.selectedDataPoints, seriesIndex: s3, dataPointIndex: r3, w: i2 }]);
    } }, { key: "rotateAroundCenter", value: function(t4) {
      var e2 = {};
      return t4 && "function" == typeof t4.getBBox && (e2 = t4.getBBox()), { x: e2.x + e2.width / 2, y: e2.y + e2.height / 2 };
    } }, { key: "getTextRects", value: function(t4, e2, i2, a2) {
      var s3 = !(arguments.length > 4 && void 0 !== arguments[4]) || arguments[4], r3 = this.w, n2 = this.drawText({ x: -200, y: -200, text: t4, textAnchor: "start", fontSize: e2, fontFamily: i2, foreColor: "#fff", opacity: 0 });
      a2 && n2.attr("transform", a2), r3.globals.dom.Paper.add(n2);
      var o3 = n2.bbox();
      return s3 || (o3 = n2.node.getBoundingClientRect()), n2.remove(), { width: o3.width, height: o3.height };
    } }, { key: "placeTextWithEllipsis", value: function(t4, e2, i2) {
      if ("function" == typeof t4.getComputedTextLength && (t4.textContent = e2, e2.length > 0 && t4.getComputedTextLength() >= i2 / 1.1)) {
        for (var a2 = e2.length - 3; a2 > 0; a2 -= 3) if (t4.getSubStringLength(0, a2) <= i2 / 1.1) return void (t4.textContent = e2.substring(0, a2) + "...");
        t4.textContent = ".";
      }
    } }], [{ key: "setAttrs", value: function(t4, e2) {
      for (var i2 in e2) e2.hasOwnProperty(i2) && t4.setAttribute(i2, e2[i2]);
    } }]), t3;
  }(), Pi = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
    }
    return s2(t3, [{ key: "getStackedSeriesTotals", value: function() {
      var t4 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [], e2 = this.w, i2 = [];
      if (0 === e2.globals.series.length) return i2;
      for (var a2 = 0; a2 < e2.globals.series[e2.globals.maxValsInArrayIndex].length; a2++) {
        for (var s3 = 0, r3 = 0; r3 < e2.globals.series.length; r3++) void 0 !== e2.globals.series[r3][a2] && -1 === t4.indexOf(r3) && (s3 += e2.globals.series[r3][a2]);
        i2.push(s3);
      }
      return i2;
    } }, { key: "getSeriesTotalByIndex", value: function() {
      var t4 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null;
      return null === t4 ? this.w.config.series.reduce(function(t5, e2) {
        return t5 + e2;
      }, 0) : this.w.globals.series[t4].reduce(function(t5, e2) {
        return t5 + e2;
      }, 0);
    } }, { key: "getStackedSeriesTotalsByGroups", value: function() {
      var t4 = this, e2 = this.w, i2 = [];
      return e2.globals.seriesGroups.forEach(function(a2) {
        var s3 = [];
        e2.config.series.forEach(function(t5, i3) {
          a2.indexOf(e2.globals.seriesNames[i3]) > -1 && s3.push(i3);
        });
        var r3 = e2.globals.series.map(function(t5, e3) {
          return -1 === s3.indexOf(e3) ? e3 : -1;
        }).filter(function(t5) {
          return -1 !== t5;
        });
        i2.push(t4.getStackedSeriesTotals(r3));
      }), i2;
    } }, { key: "setSeriesYAxisMappings", value: function() {
      var t4 = this.w.globals, e2 = this.w.config, i2 = [], a2 = [], s3 = [], r3 = t4.series.length > e2.yaxis.length || e2.yaxis.some(function(t5) {
        return Array.isArray(t5.seriesName);
      });
      e2.series.forEach(function(t5, e3) {
        s3.push(e3), a2.push(null);
      }), e2.yaxis.forEach(function(t5, e3) {
        i2[e3] = [];
      });
      var n2 = [];
      e2.yaxis.forEach(function(t5, a3) {
        var o4 = false;
        if (t5.seriesName) {
          var l3 = [];
          Array.isArray(t5.seriesName) ? l3 = t5.seriesName : l3.push(t5.seriesName), l3.forEach(function(t6) {
            e2.series.forEach(function(e3, n3) {
              if (e3.name === t6) {
                var l4 = n3;
                a3 === n3 || r3 ? !r3 || s3.indexOf(n3) > -1 ? i2[a3].push([a3, n3]) : console.warn("Series '" + e3.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.") : (i2[n3].push([n3, a3]), l4 = a3), o4 = true, -1 !== (l4 = s3.indexOf(l4)) && s3.splice(l4, 1);
              }
            });
          });
        }
        o4 || n2.push(a3);
      }), i2 = i2.map(function(t5, e3) {
        var i3 = [];
        return t5.forEach(function(t6) {
          a2[t6[1]] = t6[0], i3.push(t6[1]);
        }), i3;
      });
      for (var o3 = e2.yaxis.length - 1, l2 = 0; l2 < n2.length && (o3 = n2[l2], i2[o3] = [], s3); l2++) {
        var h3 = s3[0];
        s3.shift(), i2[o3].push(h3), a2[h3] = o3;
      }
      s3.forEach(function(t5) {
        i2[o3].push(t5), a2[t5] = o3;
      }), t4.seriesYAxisMap = i2.map(function(t5) {
        return t5;
      }), t4.seriesYAxisReverseMap = a2.map(function(t5) {
        return t5;
      }), t4.seriesYAxisMap.forEach(function(t5, i3) {
        t5.forEach(function(t6) {
          e2.series[t6] && void 0 === e2.series[t6].group && (e2.series[t6].group = "apexcharts-axis-".concat(i3.toString()));
        });
      });
    } }, { key: "isSeriesNull", value: function() {
      var t4 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null;
      return 0 === (null === t4 ? this.w.config.series.filter(function(t5) {
        return null !== t5;
      }) : this.w.config.series[t4].data.filter(function(t5) {
        return null !== t5;
      })).length;
    } }, { key: "seriesHaveSameValues", value: function(t4) {
      return this.w.globals.series[t4].every(function(t5, e2, i2) {
        return t5 === i2[0];
      });
    } }, { key: "getCategoryLabels", value: function(t4) {
      var e2 = this.w, i2 = t4.slice();
      return e2.config.xaxis.convertedCatToNumeric && (i2 = t4.map(function(t5, i3) {
        return e2.config.xaxis.labels.formatter(t5 - e2.globals.minX + 1);
      })), i2;
    } }, { key: "getLargestSeries", value: function() {
      var t4 = this.w;
      t4.globals.maxValsInArrayIndex = t4.globals.series.map(function(t5) {
        return t5.length;
      }).indexOf(Math.max.apply(Math, t4.globals.series.map(function(t5) {
        return t5.length;
      })));
    } }, { key: "getLargestMarkerSize", value: function() {
      var t4 = this.w, e2 = 0;
      return t4.globals.markers.size.forEach(function(t5) {
        e2 = Math.max(e2, t5);
      }), t4.config.markers.discrete && t4.config.markers.discrete.length && t4.config.markers.discrete.forEach(function(t5) {
        e2 = Math.max(e2, t5.size);
      }), e2 > 0 && (t4.config.markers.hover.size > 0 ? e2 = t4.config.markers.hover.size : e2 += t4.config.markers.hover.sizeOffset), t4.globals.markers.largestSize = e2, e2;
    } }, { key: "getSeriesTotals", value: function() {
      var t4 = this.w;
      t4.globals.seriesTotals = t4.globals.series.map(function(t5, e2) {
        var i2 = 0;
        if (Array.isArray(t5)) for (var a2 = 0; a2 < t5.length; a2++) i2 += t5[a2];
        else i2 += t5;
        return i2;
      });
    } }, { key: "getSeriesTotalsXRange", value: function(t4, e2) {
      var i2 = this.w;
      return i2.globals.series.map(function(a2, s3) {
        for (var r3 = 0, n2 = 0; n2 < a2.length; n2++) i2.globals.seriesX[s3][n2] > t4 && i2.globals.seriesX[s3][n2] < e2 && (r3 += a2[n2]);
        return r3;
      });
    } }, { key: "getPercentSeries", value: function() {
      var t4 = this.w;
      t4.globals.seriesPercent = t4.globals.series.map(function(e2, i2) {
        var a2 = [];
        if (Array.isArray(e2)) for (var s3 = 0; s3 < e2.length; s3++) {
          var r3 = t4.globals.stackedSeriesTotals[s3], n2 = 0;
          r3 && (n2 = 100 * e2[s3] / r3), a2.push(n2);
        }
        else {
          var o3 = 100 * e2 / t4.globals.seriesTotals.reduce(function(t5, e3) {
            return t5 + e3;
          }, 0);
          a2.push(o3);
        }
        return a2;
      });
    } }, { key: "getCalculatedRatios", value: function() {
      var t4, e2, i2, a2 = this, s3 = this.w, r3 = s3.globals, n2 = [], o3 = 0, l2 = [], h3 = 0.1, c2 = 0;
      if (r3.yRange = [], r3.isMultipleYAxis) for (var d2 = 0; d2 < r3.minYArr.length; d2++) r3.yRange.push(Math.abs(r3.minYArr[d2] - r3.maxYArr[d2])), l2.push(0);
      else r3.yRange.push(Math.abs(r3.minY - r3.maxY));
      r3.xRange = Math.abs(r3.maxX - r3.minX), r3.zRange = Math.abs(r3.maxZ - r3.minZ);
      for (var u2 = 0; u2 < r3.yRange.length; u2++) n2.push(r3.yRange[u2] / r3.gridHeight);
      if (e2 = r3.xRange / r3.gridWidth, t4 = r3.yRange / r3.gridWidth, i2 = r3.xRange / r3.gridHeight, (o3 = r3.zRange / r3.gridHeight * 16) || (o3 = 1), r3.minY !== Number.MIN_VALUE && 0 !== Math.abs(r3.minY) && (r3.hasNegs = true), s3.globals.seriesYAxisReverseMap.length > 0) {
        var g3 = function(t5, e3) {
          var i3 = s3.config.yaxis[s3.globals.seriesYAxisReverseMap[e3]], r4 = t5 < 0 ? -1 : 1;
          return t5 = Math.abs(t5), i3.logarithmic && (t5 = a2.getBaseLog(i3.logBase, t5)), -r4 * t5 / n2[e3];
        };
        if (r3.isMultipleYAxis) {
          l2 = [];
          for (var p3 = 0; p3 < n2.length; p3++) l2.push(g3(r3.minYArr[p3], p3));
        } else (l2 = []).push(g3(r3.minY, 0)), r3.minY !== Number.MIN_VALUE && 0 !== Math.abs(r3.minY) && (h3 = -r3.minY / t4, c2 = r3.minX / e2);
      } else (l2 = []).push(0), h3 = 0, c2 = 0;
      return { yRatio: n2, invertedYRatio: t4, zRatio: o3, xRatio: e2, invertedXRatio: i2, baseLineInvertedY: h3, baseLineY: l2, baseLineX: c2 };
    } }, { key: "getLogSeries", value: function(t4) {
      var e2 = this, i2 = this.w;
      return i2.globals.seriesLog = t4.map(function(t5, a2) {
        var s3 = i2.globals.seriesYAxisReverseMap[a2];
        return i2.config.yaxis[s3] && i2.config.yaxis[s3].logarithmic ? t5.map(function(t6) {
          return null === t6 ? null : e2.getLogVal(i2.config.yaxis[s3].logBase, t6, a2);
        }) : t5;
      }), i2.globals.invalidLogScale ? t4 : i2.globals.seriesLog;
    } }, { key: "getLogValAtSeriesIndex", value: function(t4, e2) {
      if (null === t4) return null;
      var i2 = this.w, a2 = i2.globals.seriesYAxisReverseMap[e2];
      return i2.config.yaxis[a2] && i2.config.yaxis[a2].logarithmic ? this.getLogVal(i2.config.yaxis[a2].logBase, t4, e2) : t4;
    } }, { key: "getBaseLog", value: function(t4, e2) {
      return Math.log(e2) / Math.log(t4);
    } }, { key: "getLogVal", value: function(t4, e2, i2) {
      if (e2 <= 0) return 0;
      var a2 = this.w, s3 = 0 === a2.globals.minYArr[i2] ? -1 : this.getBaseLog(t4, a2.globals.minYArr[i2]), r3 = (0 === a2.globals.maxYArr[i2] ? 0 : this.getBaseLog(t4, a2.globals.maxYArr[i2])) - s3;
      return e2 < 1 ? e2 / r3 : (this.getBaseLog(t4, e2) - s3) / r3;
    } }, { key: "getLogYRatios", value: function(t4) {
      var e2 = this, i2 = this.w, a2 = this.w.globals;
      return a2.yLogRatio = t4.slice(), a2.logYRange = a2.yRange.map(function(t5, s3) {
        var r3 = i2.globals.seriesYAxisReverseMap[s3];
        if (i2.config.yaxis[r3] && e2.w.config.yaxis[r3].logarithmic) {
          var n2, o3 = -Number.MAX_VALUE, l2 = Number.MIN_VALUE;
          return a2.seriesLog.forEach(function(t6, e3) {
            t6.forEach(function(t7) {
              i2.config.yaxis[e3] && i2.config.yaxis[e3].logarithmic && (o3 = Math.max(t7, o3), l2 = Math.min(t7, l2));
            });
          }), n2 = Math.pow(a2.yRange[s3], Math.abs(l2 - o3) / a2.yRange[s3]), a2.yLogRatio[s3] = n2 / a2.gridHeight, n2;
        }
      }), a2.invalidLogScale ? t4.slice() : a2.yLogRatio;
    } }, { key: "drawSeriesByGroup", value: function(t4, e2, i2, a2) {
      var s3 = this.w, r3 = [];
      return t4.series.length > 0 && e2.forEach(function(e3) {
        var n2 = [], o3 = [];
        t4.i.forEach(function(i3, a3) {
          s3.config.series[i3].group === e3 && (n2.push(t4.series[a3]), o3.push(i3));
        }), n2.length > 0 && r3.push(a2.draw(n2, i2, o3));
      }), r3;
    } }], [{ key: "checkComboSeries", value: function(t4, e2) {
      var i2 = false, a2 = 0, s3 = 0;
      return void 0 === e2 && (e2 = "line"), t4.length && void 0 !== t4[0].type && t4.forEach(function(t5) {
        "bar" !== t5.type && "column" !== t5.type && "candlestick" !== t5.type && "boxPlot" !== t5.type || a2++, void 0 !== t5.type && t5.type !== e2 && s3++;
      }), s3 > 0 && (i2 = true), { comboBarCount: a2, comboCharts: i2 };
    } }, { key: "extendArrayProps", value: function(t4, e2, i2) {
      var a2, s3, r3, n2, o3, l2;
      (null !== (a2 = e2) && void 0 !== a2 && a2.yaxis && (e2 = t4.extendYAxis(e2, i2)), null !== (s3 = e2) && void 0 !== s3 && s3.annotations) && (e2.annotations.yaxis && (e2 = t4.extendYAxisAnnotations(e2)), null !== (r3 = e2) && void 0 !== r3 && null !== (n2 = r3.annotations) && void 0 !== n2 && n2.xaxis && (e2 = t4.extendXAxisAnnotations(e2)), null !== (o3 = e2) && void 0 !== o3 && null !== (l2 = o3.annotations) && void 0 !== l2 && l2.points && (e2 = t4.extendPointAnnotations(e2)));
      return e2;
    } }]), t3;
  }(), Ii = function() {
    function t3(e2) {
      i(this, t3), this.w = e2.w, this.annoCtx = e2;
    }
    return s2(t3, [{ key: "setOrientations", value: function(t4) {
      var e2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null, i2 = this.w;
      if ("vertical" === t4.label.orientation) {
        var a2 = null !== e2 ? e2 : 0, s3 = i2.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(a2, "']"));
        if (null !== s3) {
          var r3 = s3.getBoundingClientRect();
          s3.setAttribute("x", parseFloat(s3.getAttribute("x")) - r3.height + 4);
          var n2 = "top" === t4.label.position ? r3.width : -r3.width;
          s3.setAttribute("y", parseFloat(s3.getAttribute("y")) + n2);
          var o3 = this.annoCtx.graphics.rotateAroundCenter(s3), l2 = o3.x, h3 = o3.y;
          s3.setAttribute("transform", "rotate(-90 ".concat(l2, " ").concat(h3, ")"));
        }
      }
    } }, { key: "addBackgroundToAnno", value: function(t4, e2) {
      var i2 = this.w;
      if (!t4 || !e2.label.text || !String(e2.label.text).trim()) return null;
      var a2 = i2.globals.dom.baseEl.querySelector(".apexcharts-grid").getBoundingClientRect(), s3 = t4.getBoundingClientRect(), r3 = e2.label.style.padding, n2 = r3.left, o3 = r3.right, l2 = r3.top, h3 = r3.bottom;
      if ("vertical" === e2.label.orientation) {
        var c2 = [n2, o3, l2, h3];
        l2 = c2[0], h3 = c2[1], n2 = c2[2], o3 = c2[3];
      }
      var d2 = s3.left - a2.left - n2, u2 = s3.top - a2.top - l2, g3 = this.annoCtx.graphics.drawRect(d2 - i2.globals.barPadForNumericAxis, u2, s3.width + n2 + o3, s3.height + l2 + h3, e2.label.borderRadius, e2.label.style.background, 1, e2.label.borderWidth, e2.label.borderColor, 0);
      return e2.id && g3.node.classList.add(e2.id), g3;
    } }, { key: "annotationsBackground", value: function() {
      var t4 = this, e2 = this.w, i2 = function(i3, a2, s3) {
        var r3 = e2.globals.dom.baseEl.querySelector(".apexcharts-".concat(s3, "-annotations .apexcharts-").concat(s3, "-annotation-label[rel='").concat(a2, "']"));
        if (r3) {
          var n2 = r3.parentNode, o3 = t4.addBackgroundToAnno(r3, i3);
          o3 && (n2.insertBefore(o3.node, r3), i3.label.mouseEnter && o3.node.addEventListener("mouseenter", i3.label.mouseEnter.bind(t4, i3)), i3.label.mouseLeave && o3.node.addEventListener("mouseleave", i3.label.mouseLeave.bind(t4, i3)), i3.label.click && o3.node.addEventListener("click", i3.label.click.bind(t4, i3)));
        }
      };
      e2.config.annotations.xaxis.forEach(function(t5, e3) {
        return i2(t5, e3, "xaxis");
      }), e2.config.annotations.yaxis.forEach(function(t5, e3) {
        return i2(t5, e3, "yaxis");
      }), e2.config.annotations.points.forEach(function(t5, e3) {
        return i2(t5, e3, "point");
      });
    } }, { key: "getY1Y2", value: function(t4, e2) {
      var i2, a2 = this.w, s3 = "y1" === t4 ? e2.y : e2.y2, r3 = false;
      if (this.annoCtx.invertAxis) {
        var n2 = a2.config.xaxis.convertedCatToNumeric ? a2.globals.categoryLabels : a2.globals.labels, o3 = n2.indexOf(s3), l2 = a2.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child(".concat(o3 + 1, ")"));
        i2 = l2 ? parseFloat(l2.getAttribute("y")) : (a2.globals.gridHeight / n2.length - 1) * (o3 + 1) - a2.globals.barHeight, void 0 !== e2.seriesIndex && a2.globals.barHeight && (i2 -= a2.globals.barHeight / 2 * (a2.globals.series.length - 1) - a2.globals.barHeight * e2.seriesIndex);
      } else {
        var h3, c2 = a2.globals.seriesYAxisMap[e2.yAxisIndex][0], d2 = a2.config.yaxis[e2.yAxisIndex].logarithmic ? new Pi(this.annoCtx.ctx).getLogVal(a2.config.yaxis[e2.yAxisIndex].logBase, s3, c2) / a2.globals.yLogRatio[c2] : (s3 - a2.globals.minYArr[c2]) / (a2.globals.yRange[c2] / a2.globals.gridHeight);
        i2 = a2.globals.gridHeight - Math.min(Math.max(d2, 0), a2.globals.gridHeight), r3 = d2 > a2.globals.gridHeight || d2 < 0, !e2.marker || void 0 !== e2.y && null !== e2.y || (i2 = 0), null !== (h3 = a2.config.yaxis[e2.yAxisIndex]) && void 0 !== h3 && h3.reversed && (i2 = d2);
      }
      return "string" == typeof s3 && s3.includes("px") && (i2 = parseFloat(s3)), { yP: i2, clipped: r3 };
    } }, { key: "getX1X2", value: function(t4, e2) {
      var i2 = this.w, a2 = "x1" === t4 ? e2.x : e2.x2, s3 = this.annoCtx.invertAxis ? i2.globals.minY : i2.globals.minX, r3 = this.annoCtx.invertAxis ? i2.globals.maxY : i2.globals.maxX, n2 = this.annoCtx.invertAxis ? i2.globals.yRange[0] : i2.globals.xRange, o3 = false, l2 = this.annoCtx.inversedReversedAxis ? (r3 - a2) / (n2 / i2.globals.gridWidth) : (a2 - s3) / (n2 / i2.globals.gridWidth);
      return "category" !== i2.config.xaxis.type && !i2.config.xaxis.convertedCatToNumeric || this.annoCtx.invertAxis || i2.globals.dataFormatXNumeric || i2.config.chart.sparkline.enabled || (l2 = this.getStringX(a2)), "string" == typeof a2 && a2.includes("px") && (l2 = parseFloat(a2)), null == a2 && e2.marker && (l2 = i2.globals.gridWidth), void 0 !== e2.seriesIndex && i2.globals.barWidth && !this.annoCtx.invertAxis && (l2 -= i2.globals.barWidth / 2 * (i2.globals.series.length - 1) - i2.globals.barWidth * e2.seriesIndex), l2 > i2.globals.gridWidth ? (l2 = i2.globals.gridWidth, o3 = true) : l2 < 0 && (l2 = 0, o3 = true), { x: l2, clipped: o3 };
    } }, { key: "getStringX", value: function(t4) {
      var e2 = this.w, i2 = t4;
      e2.config.xaxis.convertedCatToNumeric && e2.globals.categoryLabels.length && (t4 = e2.globals.categoryLabels.indexOf(t4) + 1);
      var a2 = e2.globals.labels.map(function(t5) {
        return Array.isArray(t5) ? t5.join(" ") : t5;
      }).indexOf(t4), s3 = e2.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child(".concat(a2 + 1, ")"));
      return s3 && (i2 = parseFloat(s3.getAttribute("x"))), i2;
    } }]), t3;
  }(), Ti = function() {
    function t3(e2) {
      i(this, t3), this.w = e2.w, this.annoCtx = e2, this.invertAxis = this.annoCtx.invertAxis, this.helpers = new Ii(this.annoCtx);
    }
    return s2(t3, [{ key: "addXaxisAnnotation", value: function(t4, e2, i2) {
      var a2, s3 = this.w, r3 = this.helpers.getX1X2("x1", t4), n2 = r3.x, o3 = r3.clipped, l2 = true, h3 = t4.label.text, c2 = t4.strokeDashArray;
      if (v.isNumber(n2)) {
        if (null === t4.x2 || void 0 === t4.x2) {
          if (!o3) {
            var d2 = this.annoCtx.graphics.drawLine(n2 + t4.offsetX, 0 + t4.offsetY, n2 + t4.offsetX, s3.globals.gridHeight + t4.offsetY, t4.borderColor, c2, t4.borderWidth);
            e2.appendChild(d2.node), t4.id && d2.node.classList.add(t4.id);
          }
        } else {
          var u2 = this.helpers.getX1X2("x2", t4);
          if (a2 = u2.x, l2 = u2.clipped, !o3 || !l2) {
            if (a2 < n2) {
              var g3 = n2;
              n2 = a2, a2 = g3;
            }
            var p3 = this.annoCtx.graphics.drawRect(n2 + t4.offsetX, 0 + t4.offsetY, a2 - n2, s3.globals.gridHeight + t4.offsetY, 0, t4.fillColor, t4.opacity, 1, t4.borderColor, c2);
            p3.node.classList.add("apexcharts-annotation-rect"), p3.attr("clip-path", "url(#gridRectMask".concat(s3.globals.cuid, ")")), e2.appendChild(p3.node), t4.id && p3.node.classList.add(t4.id);
          }
        }
        if (!o3 || !l2) {
          var f2 = this.annoCtx.graphics.getTextRects(h3, parseFloat(t4.label.style.fontSize)), x3 = "top" === t4.label.position ? 4 : "center" === t4.label.position ? s3.globals.gridHeight / 2 + ("vertical" === t4.label.orientation ? f2.width / 2 : 0) : s3.globals.gridHeight, b2 = this.annoCtx.graphics.drawText({ x: n2 + t4.label.offsetX, y: x3 + t4.label.offsetY - ("vertical" === t4.label.orientation ? "top" === t4.label.position ? f2.width / 2 - 12 : -f2.width / 2 : 0), text: h3, textAnchor: t4.label.textAnchor, fontSize: t4.label.style.fontSize, fontFamily: t4.label.style.fontFamily, fontWeight: t4.label.style.fontWeight, foreColor: t4.label.style.color, cssClass: "apexcharts-xaxis-annotation-label ".concat(t4.label.style.cssClass, " ").concat(t4.id ? t4.id : "") });
          b2.attr({ rel: i2 }), e2.appendChild(b2.node), this.annoCtx.helpers.setOrientations(t4, i2);
        }
      }
    } }, { key: "drawXAxisAnnotations", value: function() {
      var t4 = this, e2 = this.w, i2 = this.annoCtx.graphics.group({ class: "apexcharts-xaxis-annotations" });
      return e2.config.annotations.xaxis.map(function(e3, a2) {
        t4.addXaxisAnnotation(e3, i2.node, a2);
      }), i2;
    } }]), t3;
  }(), zi = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w, 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];
    }
    return s2(t3, [{ key: "isValidDate", value: function(t4) {
      return "number" != typeof t4 && !isNaN(this.parseDate(t4));
    } }, { key: "getTimeStamp", value: function(t4) {
      return Date.parse(t4) ? this.w.config.xaxis.labels.datetimeUTC ? new Date(new Date(t4).toISOString().substr(0, 25)).getTime() : new Date(t4).getTime() : t4;
    } }, { key: "getDate", value: function(t4) {
      return this.w.config.xaxis.labels.datetimeUTC ? new Date(new Date(t4).toUTCString()) : new Date(t4);
    } }, { key: "parseDate", value: function(t4) {
      var e2 = Date.parse(t4);
      if (!isNaN(e2)) return this.getTimeStamp(t4);
      var i2 = Date.parse(t4.replace(/-/g, "/").replace(/[a-z]+/gi, " "));
      return i2 = this.getTimeStamp(i2);
    } }, { key: "parseDateWithTimezone", value: function(t4) {
      return Date.parse(t4.replace(/-/g, "/").replace(/[a-z]+/gi, " "));
    } }, { key: "formatDate", value: function(t4, e2) {
      var i2 = this.w.globals.locale, a2 = this.w.config.xaxis.labels.datetimeUTC, s3 = ["\0"].concat(f(i2.months)), r3 = [""].concat(f(i2.shortMonths)), n2 = [""].concat(f(i2.days)), o3 = [""].concat(f(i2.shortDays));
      function l2(t5, e3) {
        var i3 = t5 + "";
        for (e3 = e3 || 2; i3.length < e3; ) i3 = "0" + i3;
        return i3;
      }
      var h3 = a2 ? t4.getUTCFullYear() : t4.getFullYear();
      e2 = (e2 = (e2 = e2.replace(/(^|[^\\])yyyy+/g, "$1" + h3)).replace(/(^|[^\\])yy/g, "$1" + h3.toString().substr(2, 2))).replace(/(^|[^\\])y/g, "$1" + h3);
      var c2 = (a2 ? t4.getUTCMonth() : t4.getMonth()) + 1;
      e2 = (e2 = (e2 = (e2 = e2.replace(/(^|[^\\])MMMM+/g, "$1" + s3[0])).replace(/(^|[^\\])MMM/g, "$1" + r3[0])).replace(/(^|[^\\])MM/g, "$1" + l2(c2))).replace(/(^|[^\\])M/g, "$1" + c2);
      var d2 = a2 ? t4.getUTCDate() : t4.getDate();
      e2 = (e2 = (e2 = (e2 = e2.replace(/(^|[^\\])dddd+/g, "$1" + n2[0])).replace(/(^|[^\\])ddd/g, "$1" + o3[0])).replace(/(^|[^\\])dd/g, "$1" + l2(d2))).replace(/(^|[^\\])d/g, "$1" + d2);
      var u2 = a2 ? t4.getUTCHours() : t4.getHours(), g3 = u2 > 12 ? u2 - 12 : 0 === u2 ? 12 : u2;
      e2 = (e2 = (e2 = (e2 = e2.replace(/(^|[^\\])HH+/g, "$1" + l2(u2))).replace(/(^|[^\\])H/g, "$1" + u2)).replace(/(^|[^\\])hh+/g, "$1" + l2(g3))).replace(/(^|[^\\])h/g, "$1" + g3);
      var p3 = a2 ? t4.getUTCMinutes() : t4.getMinutes();
      e2 = (e2 = e2.replace(/(^|[^\\])mm+/g, "$1" + l2(p3))).replace(/(^|[^\\])m/g, "$1" + p3);
      var x3 = a2 ? t4.getUTCSeconds() : t4.getSeconds();
      e2 = (e2 = e2.replace(/(^|[^\\])ss+/g, "$1" + l2(x3))).replace(/(^|[^\\])s/g, "$1" + x3);
      var b2 = a2 ? t4.getUTCMilliseconds() : t4.getMilliseconds();
      e2 = e2.replace(/(^|[^\\])fff+/g, "$1" + l2(b2, 3)), b2 = Math.round(b2 / 10), e2 = e2.replace(/(^|[^\\])ff/g, "$1" + l2(b2)), b2 = Math.round(b2 / 10);
      var m3 = u2 < 12 ? "AM" : "PM";
      e2 = (e2 = (e2 = e2.replace(/(^|[^\\])f/g, "$1" + b2)).replace(/(^|[^\\])TT+/g, "$1" + m3)).replace(/(^|[^\\])T/g, "$1" + m3.charAt(0));
      var v2 = m3.toLowerCase();
      e2 = (e2 = e2.replace(/(^|[^\\])tt+/g, "$1" + v2)).replace(/(^|[^\\])t/g, "$1" + v2.charAt(0));
      var y2 = -t4.getTimezoneOffset(), w3 = a2 || !y2 ? "Z" : y2 > 0 ? "+" : "-";
      if (!a2) {
        var k2 = (y2 = Math.abs(y2)) % 60;
        w3 += l2(Math.floor(y2 / 60)) + ":" + l2(k2);
      }
      e2 = e2.replace(/(^|[^\\])K/g, "$1" + w3);
      var A3 = (a2 ? t4.getUTCDay() : t4.getDay()) + 1;
      return e2 = (e2 = (e2 = (e2 = (e2 = e2.replace(new RegExp(n2[0], "g"), n2[A3])).replace(new RegExp(o3[0], "g"), o3[A3])).replace(new RegExp(s3[0], "g"), s3[c2])).replace(new RegExp(r3[0], "g"), r3[c2])).replace(/\\(.)/g, "$1");
    } }, { key: "getTimeUnitsfromTimestamp", value: function(t4, e2, i2) {
      var a2 = this.w;
      void 0 !== a2.config.xaxis.min && (t4 = a2.config.xaxis.min), void 0 !== a2.config.xaxis.max && (e2 = a2.config.xaxis.max);
      var s3 = this.getDate(t4), r3 = this.getDate(e2), n2 = this.formatDate(s3, "yyyy MM dd HH mm ss fff").split(" "), o3 = this.formatDate(r3, "yyyy MM dd HH mm ss fff").split(" ");
      return { minMillisecond: parseInt(n2[6], 10), maxMillisecond: parseInt(o3[6], 10), minSecond: parseInt(n2[5], 10), maxSecond: parseInt(o3[5], 10), minMinute: parseInt(n2[4], 10), maxMinute: parseInt(o3[4], 10), minHour: parseInt(n2[3], 10), maxHour: parseInt(o3[3], 10), minDate: parseInt(n2[2], 10), maxDate: parseInt(o3[2], 10), minMonth: parseInt(n2[1], 10) - 1, maxMonth: parseInt(o3[1], 10) - 1, minYear: parseInt(n2[0], 10), maxYear: parseInt(o3[0], 10) };
    } }, { key: "isLeapYear", value: function(t4) {
      return t4 % 4 == 0 && t4 % 100 != 0 || t4 % 400 == 0;
    } }, { key: "calculcateLastDaysOfMonth", value: function(t4, e2, i2) {
      return this.determineDaysOfMonths(t4, e2) - i2;
    } }, { key: "determineDaysOfYear", value: function(t4) {
      var e2 = 365;
      return this.isLeapYear(t4) && (e2 = 366), e2;
    } }, { key: "determineRemainingDaysOfYear", value: function(t4, e2, i2) {
      var a2 = this.daysCntOfYear[e2] + i2;
      return e2 > 1 && this.isLeapYear() && a2++, a2;
    } }, { key: "determineDaysOfMonths", value: function(t4, e2) {
      var i2 = 30;
      switch (t4 = v.monthMod(t4), true) {
        case this.months30.indexOf(t4) > -1:
          2 === t4 && (i2 = this.isLeapYear(e2) ? 29 : 28);
          break;
        case this.months31.indexOf(t4) > -1:
        default:
          i2 = 31;
      }
      return i2;
    } }]), t3;
  }(), Xi = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w, this.tooltipKeyFormat = "dd MMM";
    }
    return s2(t3, [{ key: "xLabelFormat", value: function(t4, e2, i2, a2) {
      var s3 = this.w;
      if ("datetime" === s3.config.xaxis.type && void 0 === s3.config.xaxis.labels.formatter && void 0 === s3.config.tooltip.x.formatter) {
        var r3 = new zi(this.ctx);
        return r3.formatDate(r3.getDate(e2), s3.config.tooltip.x.format);
      }
      return t4(e2, i2, a2);
    } }, { key: "defaultGeneralFormatter", value: function(t4) {
      return Array.isArray(t4) ? t4.map(function(t5) {
        return t5;
      }) : t4;
    } }, { key: "defaultYFormatter", value: function(t4, e2, i2) {
      var a2 = this.w;
      if (v.isNumber(t4)) if (0 !== a2.globals.yValueDecimal) t4 = t4.toFixed(void 0 !== e2.decimalsInFloat ? e2.decimalsInFloat : a2.globals.yValueDecimal);
      else {
        var s3 = t4.toFixed(0);
        t4 = t4 == s3 ? s3 : t4.toFixed(1);
      }
      return t4;
    } }, { key: "setLabelFormatters", value: function() {
      var t4 = this, e2 = this.w;
      return e2.globals.xaxisTooltipFormatter = function(e3) {
        return t4.defaultGeneralFormatter(e3);
      }, e2.globals.ttKeyFormatter = function(e3) {
        return t4.defaultGeneralFormatter(e3);
      }, e2.globals.ttZFormatter = function(t5) {
        return t5;
      }, e2.globals.legendFormatter = function(e3) {
        return t4.defaultGeneralFormatter(e3);
      }, void 0 !== e2.config.xaxis.labels.formatter ? e2.globals.xLabelFormatter = e2.config.xaxis.labels.formatter : e2.globals.xLabelFormatter = function(t5) {
        if (v.isNumber(t5)) {
          if (!e2.config.xaxis.convertedCatToNumeric && "numeric" === e2.config.xaxis.type) {
            if (v.isNumber(e2.config.xaxis.decimalsInFloat)) return t5.toFixed(e2.config.xaxis.decimalsInFloat);
            var i2 = e2.globals.maxX - e2.globals.minX;
            return i2 > 0 && i2 < 100 ? t5.toFixed(1) : t5.toFixed(0);
          }
          if (e2.globals.isBarHorizontal) {
            if (e2.globals.maxY - e2.globals.minYArr < 4) return t5.toFixed(1);
          }
          return t5.toFixed(0);
        }
        return t5;
      }, "function" == typeof e2.config.tooltip.x.formatter ? e2.globals.ttKeyFormatter = e2.config.tooltip.x.formatter : e2.globals.ttKeyFormatter = e2.globals.xLabelFormatter, "function" == typeof e2.config.xaxis.tooltip.formatter && (e2.globals.xaxisTooltipFormatter = e2.config.xaxis.tooltip.formatter), (Array.isArray(e2.config.tooltip.y) || void 0 !== e2.config.tooltip.y.formatter) && (e2.globals.ttVal = e2.config.tooltip.y), void 0 !== e2.config.tooltip.z.formatter && (e2.globals.ttZFormatter = e2.config.tooltip.z.formatter), void 0 !== e2.config.legend.formatter && (e2.globals.legendFormatter = e2.config.legend.formatter), e2.config.yaxis.forEach(function(i2, a2) {
        void 0 !== i2.labels.formatter ? e2.globals.yLabelFormatters[a2] = i2.labels.formatter : e2.globals.yLabelFormatters[a2] = function(s3) {
          return e2.globals.xyCharts ? Array.isArray(s3) ? s3.map(function(e3) {
            return t4.defaultYFormatter(e3, i2, a2);
          }) : t4.defaultYFormatter(s3, i2, a2) : s3;
        };
      }), e2.globals;
    } }, { key: "heatmapLabelFormatters", value: function() {
      var t4 = this.w;
      if ("heatmap" === t4.config.chart.type) {
        t4.globals.yAxisScale[0].result = t4.globals.seriesNames.slice();
        var e2 = t4.globals.seriesNames.reduce(function(t5, e3) {
          return t5.length > e3.length ? t5 : e3;
        }, 0);
        t4.globals.yAxisScale[0].niceMax = e2, t4.globals.yAxisScale[0].niceMin = e2;
      }
    } }]), t3;
  }(), Ri = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
    }
    return s2(t3, [{ key: "getLabel", value: function(t4, e2, i2, a2) {
      var s3 = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : [], r3 = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : "12px", n2 = !(arguments.length > 6 && void 0 !== arguments[6]) || arguments[6], o3 = this.w, l2 = void 0 === t4[a2] ? "" : t4[a2], h3 = l2, c2 = o3.globals.xLabelFormatter, d2 = o3.config.xaxis.labels.formatter, u2 = false, g3 = new Xi(this.ctx), p3 = l2;
      n2 && (h3 = g3.xLabelFormat(c2, l2, p3, { i: a2, dateFormatter: new zi(this.ctx).formatDate, w: o3 }), void 0 !== d2 && (h3 = d2(l2, t4[a2], { i: a2, dateFormatter: new zi(this.ctx).formatDate, w: o3 })));
      var f2, x3;
      e2.length > 0 ? (f2 = e2[a2].unit, x3 = null, e2.forEach(function(t5) {
        "month" === t5.unit ? x3 = "year" : "day" === t5.unit ? x3 = "month" : "hour" === t5.unit ? x3 = "day" : "minute" === t5.unit && (x3 = "hour");
      }), u2 = x3 === f2, i2 = e2[a2].position, h3 = e2[a2].value) : "datetime" === o3.config.xaxis.type && void 0 === d2 && (h3 = ""), void 0 === h3 && (h3 = ""), h3 = Array.isArray(h3) ? h3 : h3.toString();
      var b2 = new Mi(this.ctx), m3 = {};
      m3 = o3.globals.rotateXLabels && n2 ? b2.getTextRects(h3, parseInt(r3, 10), null, "rotate(".concat(o3.config.xaxis.labels.rotate, " 0 0)"), false) : b2.getTextRects(h3, parseInt(r3, 10));
      var v2 = !o3.config.xaxis.labels.showDuplicates && this.ctx.timeScale;
      return !Array.isArray(h3) && ("NaN" === String(h3) || s3.indexOf(h3) >= 0 && v2) && (h3 = ""), { x: i2, text: h3, textRect: m3, isBold: u2 };
    } }, { key: "checkLabelBasedOnTickamount", value: function(t4, e2, i2) {
      var a2 = this.w, s3 = a2.config.xaxis.tickAmount;
      return "dataPoints" === s3 && (s3 = Math.round(a2.globals.gridWidth / 120)), s3 > i2 || t4 % Math.round(i2 / (s3 + 1)) == 0 || (e2.text = ""), e2;
    } }, { key: "checkForOverflowingLabels", value: function(t4, e2, i2, a2, s3) {
      var r3 = this.w;
      if (0 === t4 && r3.globals.skipFirstTimelinelabel && (e2.text = ""), t4 === i2 - 1 && r3.globals.skipLastTimelinelabel && (e2.text = ""), r3.config.xaxis.labels.hideOverlappingLabels && a2.length > 0) {
        var n2 = s3[s3.length - 1];
        e2.x < n2.textRect.width / (r3.globals.rotateXLabels ? Math.abs(r3.config.xaxis.labels.rotate) / 12 : 1.01) + n2.x && (e2.text = "");
      }
      return e2;
    } }, { key: "checkForReversedLabels", value: function(t4, e2) {
      var i2 = this.w;
      return i2.config.yaxis[t4] && i2.config.yaxis[t4].reversed && e2.reverse(), e2;
    } }, { key: "yAxisAllSeriesCollapsed", value: function(t4) {
      var e2 = this.w.globals;
      return !e2.seriesYAxisMap[t4].some(function(t5) {
        return -1 === e2.collapsedSeriesIndices.indexOf(t5);
      });
    } }, { key: "translateYAxisIndex", value: function(t4) {
      var e2 = this.w, i2 = e2.globals, a2 = e2.config.yaxis;
      return i2.series.length > a2.length || a2.some(function(t5) {
        return Array.isArray(t5.seriesName);
      }) ? t4 : i2.seriesYAxisReverseMap[t4];
    } }, { key: "isYAxisHidden", value: function(t4) {
      var e2 = this.w, i2 = e2.config.yaxis[t4];
      if (!i2.show || this.yAxisAllSeriesCollapsed(t4)) return true;
      if (!i2.showForNullSeries) {
        var a2 = e2.globals.seriesYAxisMap[t4], s3 = new Pi(this.ctx);
        return a2.every(function(t5) {
          return s3.isSeriesNull(t5);
        });
      }
      return false;
    } }, { key: "getYAxisForeColor", value: function(t4, e2) {
      var i2 = this.w;
      return Array.isArray(t4) && i2.globals.yAxisScale[e2] && this.ctx.theme.pushExtraColors(t4, i2.globals.yAxisScale[e2].result.length, false), t4;
    } }, { key: "drawYAxisTicks", value: function(t4, e2, i2, a2, s3, r3, n2) {
      var o3 = this.w, l2 = new Mi(this.ctx), h3 = o3.globals.translateY + o3.config.yaxis[s3].labels.offsetY;
      if (o3.globals.isBarHorizontal ? h3 = 0 : "heatmap" === o3.config.chart.type && (h3 += r3 / 2), a2.show && e2 > 0) {
        true === o3.config.yaxis[s3].opposite && (t4 += a2.width);
        for (var c2 = e2; c2 >= 0; c2--) {
          var d2 = l2.drawLine(t4 + i2.offsetX - a2.width + a2.offsetX, h3 + a2.offsetY, t4 + i2.offsetX + a2.offsetX, h3 + a2.offsetY, a2.color);
          n2.add(d2), h3 += r3;
        }
      }
    } }]), t3;
  }(), Ei = function() {
    function t3(e2) {
      i(this, t3), this.w = e2.w, this.annoCtx = e2, this.helpers = new Ii(this.annoCtx), this.axesUtils = new Ri(this.annoCtx);
    }
    return s2(t3, [{ key: "addYaxisAnnotation", value: function(t4, e2, i2) {
      var a2, s3 = this.w, r3 = t4.strokeDashArray, n2 = this.helpers.getY1Y2("y1", t4), o3 = n2.yP, l2 = n2.clipped, h3 = true, c2 = false, d2 = t4.label.text;
      if (null === t4.y2 || void 0 === t4.y2) {
        if (!l2) {
          c2 = true;
          var u2 = this.annoCtx.graphics.drawLine(0 + t4.offsetX, o3 + t4.offsetY, this._getYAxisAnnotationWidth(t4), o3 + t4.offsetY, t4.borderColor, r3, t4.borderWidth);
          e2.appendChild(u2.node), t4.id && u2.node.classList.add(t4.id);
        }
      } else {
        if (a2 = (n2 = this.helpers.getY1Y2("y2", t4)).yP, h3 = n2.clipped, a2 > o3) {
          var g3 = o3;
          o3 = a2, a2 = g3;
        }
        if (!l2 || !h3) {
          c2 = true;
          var p3 = this.annoCtx.graphics.drawRect(0 + t4.offsetX, a2 + t4.offsetY, this._getYAxisAnnotationWidth(t4), o3 - a2, 0, t4.fillColor, t4.opacity, 1, t4.borderColor, r3);
          p3.node.classList.add("apexcharts-annotation-rect"), p3.attr("clip-path", "url(#gridRectMask".concat(s3.globals.cuid, ")")), e2.appendChild(p3.node), t4.id && p3.node.classList.add(t4.id);
        }
      }
      if (c2) {
        var f2 = "right" === t4.label.position ? s3.globals.gridWidth : "center" === t4.label.position ? s3.globals.gridWidth / 2 : 0, x3 = this.annoCtx.graphics.drawText({ x: f2 + t4.label.offsetX, y: (null != a2 ? a2 : o3) + t4.label.offsetY - 3, text: d2, textAnchor: t4.label.textAnchor, fontSize: t4.label.style.fontSize, fontFamily: t4.label.style.fontFamily, fontWeight: t4.label.style.fontWeight, foreColor: t4.label.style.color, cssClass: "apexcharts-yaxis-annotation-label ".concat(t4.label.style.cssClass, " ").concat(t4.id ? t4.id : "") });
        x3.attr({ rel: i2 }), e2.appendChild(x3.node);
      }
    } }, { key: "_getYAxisAnnotationWidth", value: function(t4) {
      var e2 = this.w;
      e2.globals.gridWidth;
      return (t4.width.indexOf("%") > -1 ? e2.globals.gridWidth * parseInt(t4.width, 10) / 100 : parseInt(t4.width, 10)) + t4.offsetX;
    } }, { key: "drawYAxisAnnotations", value: function() {
      var t4 = this, e2 = this.w, i2 = this.annoCtx.graphics.group({ class: "apexcharts-yaxis-annotations" });
      return e2.config.annotations.yaxis.forEach(function(e3, a2) {
        e3.yAxisIndex = t4.axesUtils.translateYAxisIndex(e3.yAxisIndex), t4.axesUtils.isYAxisHidden(e3.yAxisIndex) && t4.axesUtils.yAxisAllSeriesCollapsed(e3.yAxisIndex) || t4.addYaxisAnnotation(e3, i2.node, a2);
      }), i2;
    } }]), t3;
  }(), Yi = function() {
    function t3(e2) {
      i(this, t3), this.w = e2.w, this.annoCtx = e2, this.helpers = new Ii(this.annoCtx);
    }
    return s2(t3, [{ key: "addPointAnnotation", value: function(t4, e2, i2) {
      if (!(this.w.globals.collapsedSeriesIndices.indexOf(t4.seriesIndex) > -1)) {
        var a2 = this.helpers.getX1X2("x1", t4), s3 = a2.x, r3 = a2.clipped, n2 = (a2 = this.helpers.getY1Y2("y1", t4)).yP, o3 = a2.clipped;
        if (v.isNumber(s3) && !o3 && !r3) {
          var l2 = { pSize: t4.marker.size, pointStrokeWidth: t4.marker.strokeWidth, pointFillColor: t4.marker.fillColor, pointStrokeColor: t4.marker.strokeColor, shape: t4.marker.shape, pRadius: t4.marker.radius, class: "apexcharts-point-annotation-marker ".concat(t4.marker.cssClass, " ").concat(t4.id ? t4.id : "") }, h3 = this.annoCtx.graphics.drawMarker(s3 + t4.marker.offsetX, n2 + t4.marker.offsetY, l2);
          e2.appendChild(h3.node);
          var c2 = t4.label.text ? t4.label.text : "", d2 = this.annoCtx.graphics.drawText({ x: s3 + t4.label.offsetX, y: n2 + t4.label.offsetY - t4.marker.size - parseFloat(t4.label.style.fontSize) / 1.6, text: c2, textAnchor: t4.label.textAnchor, fontSize: t4.label.style.fontSize, fontFamily: t4.label.style.fontFamily, fontWeight: t4.label.style.fontWeight, foreColor: t4.label.style.color, cssClass: "apexcharts-point-annotation-label ".concat(t4.label.style.cssClass, " ").concat(t4.id ? t4.id : "") });
          if (d2.attr({ rel: i2 }), e2.appendChild(d2.node), t4.customSVG.SVG) {
            var u2 = this.annoCtx.graphics.group({ class: "apexcharts-point-annotations-custom-svg " + t4.customSVG.cssClass });
            u2.attr({ transform: "translate(".concat(s3 + t4.customSVG.offsetX, ", ").concat(n2 + t4.customSVG.offsetY, ")") }), u2.node.innerHTML = t4.customSVG.SVG, e2.appendChild(u2.node);
          }
          if (t4.image.path) {
            var g3 = t4.image.width ? t4.image.width : 20, p3 = t4.image.height ? t4.image.height : 20;
            h3 = this.annoCtx.addImage({ x: s3 + t4.image.offsetX - g3 / 2, y: n2 + t4.image.offsetY - p3 / 2, width: g3, height: p3, path: t4.image.path, appendTo: ".apexcharts-point-annotations" });
          }
          t4.mouseEnter && h3.node.addEventListener("mouseenter", t4.mouseEnter.bind(this, t4)), t4.mouseLeave && h3.node.addEventListener("mouseleave", t4.mouseLeave.bind(this, t4)), t4.click && h3.node.addEventListener("click", t4.click.bind(this, t4));
        }
      }
    } }, { key: "drawPointAnnotations", value: function() {
      var t4 = this, e2 = this.w, i2 = this.annoCtx.graphics.group({ class: "apexcharts-point-annotations" });
      return e2.config.annotations.points.map(function(e3, a2) {
        t4.addPointAnnotation(e3, i2.node, a2);
      }), i2;
    } }]), t3;
  }();
  var Hi = { name: "en", options: { 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" } } }, Oi = function() {
    function t3() {
      i(this, t3), this.yAxis = { show: true, showAlways: false, showForNullSeries: true, seriesName: void 0, opposite: false, reversed: false, logarithmic: false, logBase: 10, tickAmount: void 0, stepSize: void 0, forceNiceScale: false, max: void 0, min: void 0, floating: false, decimalsInFloat: void 0, labels: { show: true, showDuplicates: false, minWidth: 0, maxWidth: 160, offsetX: 0, offsetY: 0, align: void 0, rotate: 0, padding: 20, style: { colors: [], fontSize: "11px", fontWeight: 400, fontFamily: void 0, cssClass: "" }, formatter: void 0 }, axisBorder: { show: false, color: "#e0e0e0", width: 1, offsetX: 0, offsetY: 0 }, axisTicks: { show: false, color: "#e0e0e0", width: 6, offsetX: 0, offsetY: 0 }, title: { text: void 0, rotate: -90, offsetY: 0, offsetX: 0, style: { color: void 0, fontSize: "11px", fontWeight: 900, fontFamily: void 0, cssClass: "" } }, tooltip: { enabled: false, offsetX: 0 }, crosshairs: { show: true, position: "front", stroke: { color: "#b6b6b6", width: 1, dashArray: 0 } } }, this.pointAnnotation = { id: void 0, x: 0, y: null, yAxisIndex: 0, seriesIndex: void 0, mouseEnter: void 0, mouseLeave: void 0, click: void 0, marker: { size: 4, fillColor: "#fff", strokeWidth: 2, strokeColor: "#333", shape: "circle", offsetX: 0, offsetY: 0, cssClass: "" }, label: { borderColor: "#c2c2c2", borderWidth: 1, borderRadius: 2, text: void 0, textAnchor: "middle", offsetX: 0, offsetY: 0, mouseEnter: void 0, mouseLeave: void 0, click: void 0, style: { background: "#fff", color: void 0, fontSize: "11px", fontFamily: void 0, fontWeight: 400, cssClass: "", padding: { left: 5, right: 5, top: 2, bottom: 2 } } }, customSVG: { SVG: void 0, cssClass: void 0, offsetX: 0, offsetY: 0 }, image: { path: void 0, width: 20, height: 20, offsetX: 0, offsetY: 0 } }, this.yAxisAnnotation = { id: void 0, y: 0, y2: null, strokeDashArray: 1, fillColor: "#c2c2c2", borderColor: "#c2c2c2", borderWidth: 1, opacity: 0.3, offsetX: 0, offsetY: 0, width: "100%", yAxisIndex: 0, label: { borderColor: "#c2c2c2", borderWidth: 1, borderRadius: 2, text: void 0, textAnchor: "end", position: "right", offsetX: 0, offsetY: -3, mouseEnter: void 0, mouseLeave: void 0, click: void 0, style: { background: "#fff", color: void 0, fontSize: "11px", fontFamily: void 0, fontWeight: 400, cssClass: "", padding: { left: 5, right: 5, top: 2, bottom: 2 } } } }, this.xAxisAnnotation = { id: void 0, x: 0, x2: null, strokeDashArray: 1, fillColor: "#c2c2c2", borderColor: "#c2c2c2", borderWidth: 1, opacity: 0.3, offsetX: 0, offsetY: 0, label: { borderColor: "#c2c2c2", borderWidth: 1, borderRadius: 2, text: void 0, textAnchor: "middle", orientation: "vertical", position: "top", offsetX: 0, offsetY: 0, mouseEnter: void 0, mouseLeave: void 0, click: void 0, style: { background: "#fff", color: void 0, fontSize: "11px", fontFamily: void 0, fontWeight: 400, cssClass: "", padding: { left: 5, right: 5, top: 2, bottom: 2 } } } }, this.text = { x: 0, y: 0, text: "", textAnchor: "start", foreColor: void 0, fontSize: "13px", fontFamily: void 0, fontWeight: 400, appendTo: ".apexcharts-annotations", backgroundColor: "transparent", borderColor: "#c2c2c2", borderRadius: 0, borderWidth: 0, paddingLeft: 4, paddingRight: 4, paddingTop: 2, paddingBottom: 2 };
    }
    return s2(t3, [{ key: "init", value: function() {
      return { annotations: { yaxis: [this.yAxisAnnotation], xaxis: [this.xAxisAnnotation], points: [this.pointAnnotation], texts: [], images: [], shapes: [] }, chart: { animations: { enabled: true, speed: 800, animateGradually: { delay: 150, enabled: true }, dynamicAnimation: { enabled: true, speed: 350 } }, background: "", locales: [Hi], defaultLocale: "en", dropShadow: { enabled: false, enabledOnSeries: void 0, top: 2, left: 2, blur: 4, color: "#000", opacity: 0.7 }, events: { animationEnd: void 0, beforeMount: void 0, mounted: void 0, updated: void 0, click: void 0, mouseMove: void 0, mouseLeave: void 0, xAxisLabelClick: void 0, legendClick: void 0, markerClick: void 0, selection: void 0, dataPointSelection: void 0, dataPointMouseEnter: void 0, dataPointMouseLeave: void 0, beforeZoom: void 0, beforeResetZoom: void 0, zoomed: void 0, scrolled: void 0, brushScrolled: void 0 }, foreColor: "#373d3f", fontFamily: "Helvetica, Arial, sans-serif", height: "auto", parentHeightOffset: 15, redrawOnParentResize: true, redrawOnWindowResize: true, id: void 0, group: void 0, nonce: void 0, offsetX: 0, offsetY: 0, selection: { enabled: false, type: "x", fill: { color: "#24292e", opacity: 0.1 }, stroke: { width: 1, color: "#24292e", opacity: 0.4, dashArray: 3 }, xaxis: { min: void 0, max: void 0 }, yaxis: { min: void 0, max: void 0 } }, sparkline: { enabled: false }, brush: { enabled: false, autoScaleYaxis: true, target: void 0, targets: void 0 }, stacked: false, stackOnlyBar: true, stackType: "normal", toolbar: { show: true, offsetX: 0, offsetY: 0, tools: { download: true, selection: true, zoom: true, zoomin: true, zoomout: true, pan: true, reset: true, customIcons: [] }, export: { csv: { filename: void 0, columnDelimiter: ",", headerCategory: "category", headerValue: "value", categoryFormatter: void 0, valueFormatter: void 0 }, png: { filename: void 0 }, svg: { filename: void 0 }, scale: void 0, width: void 0 }, autoSelected: "zoom" }, type: "line", width: "100%", zoom: { enabled: true, type: "x", autoScaleYaxis: false, allowMouseWheelZoom: true, zoomedArea: { fill: { color: "#90CAF9", opacity: 0.4 }, stroke: { color: "#0D47A1", opacity: 0.4, width: 1 } } } }, plotOptions: { line: { isSlopeChart: false, colors: { threshold: 0, colorAboveThreshold: void 0, colorBelowThreshold: void 0 } }, area: { fillTo: "origin" }, bar: { horizontal: false, columnWidth: "70%", barHeight: "70%", distributed: false, borderRadius: 0, borderRadiusApplication: "around", borderRadiusWhenStacked: "last", rangeBarOverlap: true, rangeBarGroupRows: false, hideZeroBarsWhenGrouped: false, isDumbbell: false, dumbbellColors: void 0, isFunnel: false, isFunnel3d: true, colors: { ranges: [], backgroundBarColors: [], backgroundBarOpacity: 1, backgroundBarRadius: 0 }, dataLabels: { position: "top", maxItems: 100, hideOverflowingLabels: true, orientation: "horizontal", total: { enabled: false, formatter: void 0, offsetX: 0, offsetY: 0, style: { color: "#373d3f", fontSize: "12px", fontFamily: void 0, fontWeight: 600 } } } }, bubble: { zScaling: true, minBubbleRadius: void 0, maxBubbleRadius: void 0 }, candlestick: { colors: { upward: "#00B746", downward: "#EF403C" }, wick: { useFillColor: true } }, boxPlot: { colors: { upper: "#00E396", lower: "#008FFB" } }, heatmap: { radius: 2, enableShades: true, shadeIntensity: 0.5, reverseNegativeShade: false, distributed: false, useFillColorAsStroke: false, colorScale: { inverse: false, ranges: [], min: void 0, max: void 0 } }, treemap: { enableShades: true, shadeIntensity: 0.5, distributed: false, reverseNegativeShade: false, useFillColorAsStroke: false, borderRadius: 4, dataLabels: { format: "scale" }, colorScale: { inverse: false, ranges: [], min: void 0, max: void 0 } }, radialBar: { inverseOrder: false, startAngle: 0, endAngle: 360, offsetX: 0, offsetY: 0, hollow: { margin: 5, size: "50%", background: "transparent", image: void 0, imageWidth: 150, imageHeight: 150, imageOffsetX: 0, imageOffsetY: 0, imageClipped: true, position: "front", dropShadow: { enabled: false, top: 0, left: 0, blur: 3, color: "#000", opacity: 0.5 } }, track: { show: true, startAngle: void 0, endAngle: void 0, background: "#f2f2f2", strokeWidth: "97%", opacity: 1, margin: 5, dropShadow: { enabled: false, top: 0, left: 0, blur: 3, color: "#000", opacity: 0.5 } }, dataLabels: { show: true, name: { show: true, fontSize: "16px", fontFamily: void 0, fontWeight: 600, color: void 0, offsetY: 0, formatter: function(t4) {
        return t4;
      } }, value: { show: true, fontSize: "14px", fontFamily: void 0, fontWeight: 400, color: void 0, offsetY: 16, formatter: function(t4) {
        return t4 + "%";
      } }, total: { show: false, label: "Total", fontSize: "16px", fontWeight: 600, fontFamily: void 0, color: void 0, formatter: function(t4) {
        return t4.globals.seriesTotals.reduce(function(t5, e2) {
          return t5 + e2;
        }, 0) / t4.globals.series.length + "%";
      } } }, barLabels: { enabled: false, offsetX: 0, offsetY: 0, useSeriesColors: true, fontFamily: void 0, fontWeight: 600, fontSize: "16px", formatter: function(t4) {
        return t4;
      }, onClick: void 0 } }, pie: { customScale: 1, offsetX: 0, offsetY: 0, startAngle: 0, endAngle: 360, expandOnClick: true, dataLabels: { offset: 0, minAngleToShowLabel: 10 }, donut: { size: "65%", background: "transparent", labels: { show: false, name: { show: true, fontSize: "16px", fontFamily: void 0, fontWeight: 600, color: void 0, offsetY: -10, formatter: function(t4) {
        return t4;
      } }, value: { show: true, fontSize: "20px", fontFamily: void 0, fontWeight: 400, color: void 0, offsetY: 10, formatter: function(t4) {
        return t4;
      } }, total: { show: false, showAlways: false, label: "Total", fontSize: "16px", fontWeight: 400, fontFamily: void 0, color: void 0, formatter: function(t4) {
        return t4.globals.seriesTotals.reduce(function(t5, e2) {
          return t5 + e2;
        }, 0);
      } } } } }, polarArea: { rings: { strokeWidth: 1, strokeColor: "#e8e8e8" }, spokes: { strokeWidth: 1, connectorColors: "#e8e8e8" } }, radar: { size: void 0, offsetX: 0, offsetY: 0, polygons: { strokeWidth: 1, strokeColors: "#e8e8e8", connectorColors: "#e8e8e8", fill: { colors: void 0 } } } }, colors: void 0, dataLabels: { enabled: true, enabledOnSeries: void 0, formatter: function(t4) {
        return null !== t4 ? t4 : "";
      }, textAnchor: "middle", distributed: false, offsetX: 0, offsetY: 0, style: { fontSize: "12px", fontFamily: void 0, fontWeight: 600, colors: void 0 }, background: { enabled: true, foreColor: "#fff", borderRadius: 2, padding: 4, opacity: 0.9, borderWidth: 1, borderColor: "#fff", dropShadow: { enabled: false, top: 1, left: 1, blur: 1, color: "#000", opacity: 0.8 } }, dropShadow: { enabled: false, top: 1, left: 1, blur: 1, color: "#000", opacity: 0.8 } }, fill: { type: "solid", colors: void 0, opacity: 0.85, gradient: { shade: "dark", type: "horizontal", shadeIntensity: 0.5, gradientToColors: void 0, inverseColors: true, opacityFrom: 1, opacityTo: 1, stops: [0, 50, 100], colorStops: [] }, image: { src: [], width: void 0, height: void 0 }, pattern: { style: "squares", width: 6, height: 6, strokeWidth: 2 } }, forecastDataPoints: { count: 0, fillOpacity: 0.5, strokeWidth: void 0, dashArray: 4 }, grid: { show: true, borderColor: "#e0e0e0", strokeDashArray: 0, position: "back", xaxis: { lines: { show: false } }, yaxis: { lines: { show: true } }, row: { colors: void 0, opacity: 0.5 }, column: { colors: void 0, opacity: 0.5 }, padding: { top: 0, right: 10, bottom: 0, left: 12 } }, labels: [], legend: { show: true, showForSingleSeries: false, showForNullSeries: true, showForZeroSeries: true, floating: false, position: "bottom", horizontalAlign: "center", inverseOrder: false, fontSize: "12px", fontFamily: void 0, fontWeight: 400, width: void 0, height: void 0, formatter: void 0, tooltipHoverFormatter: void 0, offsetX: -20, offsetY: 4, customLegendItems: [], clusterGroupedSeries: true, clusterGroupedSeriesOrientation: "vertical", labels: { colors: void 0, useSeriesColors: false }, markers: { size: 7, fillColors: void 0, strokeWidth: 1, shape: void 0, offsetX: 0, offsetY: 0, customHTML: void 0, onClick: void 0 }, itemMargin: { horizontal: 5, vertical: 4 }, onItemClick: { toggleDataSeries: true }, onItemHover: { highlightDataSeries: true } }, markers: { discrete: [], size: 0, colors: void 0, strokeColors: "#fff", strokeWidth: 2, strokeOpacity: 0.9, strokeDashArray: 0, fillOpacity: 1, shape: "circle", offsetX: 0, offsetY: 0, showNullDataPoints: true, onClick: void 0, onDblClick: void 0, hover: { size: void 0, sizeOffset: 3 } }, noData: { text: void 0, align: "center", verticalAlign: "middle", offsetX: 0, offsetY: 0, style: { color: void 0, fontSize: "14px", fontFamily: void 0 } }, responsive: [], series: void 0, states: { hover: { filter: { type: "lighten" } }, active: { allowMultipleDataPointsSelection: false, filter: { type: "darken" } } }, title: { text: void 0, align: "left", margin: 5, offsetX: 0, offsetY: 0, floating: false, style: { fontSize: "14px", fontWeight: 900, fontFamily: void 0, color: void 0 } }, subtitle: { text: void 0, align: "left", margin: 5, offsetX: 0, offsetY: 30, floating: false, style: { fontSize: "12px", fontWeight: 400, fontFamily: void 0, color: void 0 } }, stroke: { show: true, curve: "smooth", lineCap: "butt", width: 2, colors: void 0, dashArray: 0, fill: { type: "solid", colors: void 0, opacity: 0.85, gradient: { shade: "dark", type: "horizontal", shadeIntensity: 0.5, gradientToColors: void 0, inverseColors: true, opacityFrom: 1, opacityTo: 1, stops: [0, 50, 100], colorStops: [] } } }, tooltip: { enabled: true, enabledOnSeries: void 0, shared: true, hideEmptySeries: false, followCursor: false, intersect: false, inverseOrder: false, custom: void 0, fillSeriesColor: false, theme: "light", cssClass: "", style: { fontSize: "12px", fontFamily: void 0 }, onDatasetHover: { highlightDataSeries: false }, x: { show: true, format: "dd MMM", formatter: void 0 }, y: { formatter: void 0, title: { formatter: function(t4) {
        return t4 ? t4 + ": " : "";
      } } }, z: { formatter: void 0, title: "Size: " }, marker: { show: true, fillColors: void 0 }, items: { display: "flex" }, fixed: { enabled: false, position: "topRight", offsetX: 0, offsetY: 0 } }, xaxis: { type: "category", categories: [], convertedCatToNumeric: false, offsetX: 0, offsetY: 0, overwriteCategories: void 0, labels: { show: true, rotate: -45, rotateAlways: false, hideOverlappingLabels: true, trim: false, minHeight: void 0, maxHeight: 120, showDuplicates: true, style: { colors: [], fontSize: "12px", fontWeight: 400, fontFamily: void 0, cssClass: "" }, offsetX: 0, offsetY: 0, format: void 0, formatter: void 0, datetimeUTC: true, datetimeFormatter: { year: "yyyy", month: "MMM 'yy", day: "dd MMM", hour: "HH:mm", minute: "HH:mm:ss", second: "HH:mm:ss" } }, group: { groups: [], style: { colors: [], fontSize: "12px", fontWeight: 400, fontFamily: void 0, cssClass: "" } }, axisBorder: { show: true, color: "#e0e0e0", width: "100%", height: 1, offsetX: 0, offsetY: 0 }, axisTicks: { show: true, color: "#e0e0e0", height: 6, offsetX: 0, offsetY: 0 }, stepSize: void 0, tickAmount: void 0, tickPlacement: "on", min: void 0, max: void 0, range: void 0, floating: false, decimalsInFloat: void 0, position: "bottom", title: { text: void 0, offsetX: 0, offsetY: 0, style: { color: void 0, fontSize: "12px", fontWeight: 900, fontFamily: void 0, cssClass: "" } }, crosshairs: { show: true, width: 1, position: "back", opacity: 0.9, stroke: { color: "#b6b6b6", width: 1, dashArray: 3 }, fill: { type: "solid", color: "#B1B9C4", gradient: { colorFrom: "#D8E3F0", colorTo: "#BED1E6", stops: [0, 100], opacityFrom: 0.4, opacityTo: 0.5 } }, dropShadow: { enabled: false, left: 0, top: 0, blur: 1, opacity: 0.8 } }, tooltip: { enabled: true, offsetY: 0, formatter: void 0, style: { fontSize: "12px", fontFamily: void 0 } } }, yaxis: this.yAxis, theme: { mode: "", palette: "palette1", monochrome: { enabled: false, color: "#008FFB", shadeTo: "light", shadeIntensity: 0.65 } } };
    } }]), t3;
  }(), Fi = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w, this.graphics = new Mi(this.ctx), this.w.globals.isBarHorizontal && (this.invertAxis = true), this.helpers = new Ii(this), this.xAxisAnnotations = new Ti(this), this.yAxisAnnotations = new Ei(this), this.pointsAnnotations = new Yi(this), this.w.globals.isBarHorizontal && this.w.config.yaxis[0].reversed && (this.inversedReversedAxis = true), this.xDivision = this.w.globals.gridWidth / this.w.globals.dataPoints;
    }
    return s2(t3, [{ key: "drawAxesAnnotations", value: function() {
      var t4 = this.w;
      if (t4.globals.axisCharts && t4.globals.dataPoints) {
        for (var e2 = this.yAxisAnnotations.drawYAxisAnnotations(), i2 = this.xAxisAnnotations.drawXAxisAnnotations(), a2 = this.pointsAnnotations.drawPointAnnotations(), s3 = t4.config.chart.animations.enabled, r3 = [e2, i2, a2], n2 = [i2.node, e2.node, a2.node], o3 = 0; o3 < 3; o3++) t4.globals.dom.elGraphical.add(r3[o3]), !s3 || t4.globals.resized || t4.globals.dataChanged || "scatter" !== t4.config.chart.type && "bubble" !== t4.config.chart.type && t4.globals.dataPoints > 1 && n2[o3].classList.add("apexcharts-element-hidden"), t4.globals.delayedElements.push({ el: n2[o3], index: 0 });
        this.helpers.annotationsBackground();
      }
    } }, { key: "drawImageAnnos", value: function() {
      var t4 = this;
      this.w.config.annotations.images.map(function(e2, i2) {
        t4.addImage(e2, i2);
      });
    } }, { key: "drawTextAnnos", value: function() {
      var t4 = this;
      this.w.config.annotations.texts.map(function(e2, i2) {
        t4.addText(e2, i2);
      });
    } }, { key: "addXaxisAnnotation", value: function(t4, e2, i2) {
      this.xAxisAnnotations.addXaxisAnnotation(t4, e2, i2);
    } }, { key: "addYaxisAnnotation", value: function(t4, e2, i2) {
      this.yAxisAnnotations.addYaxisAnnotation(t4, e2, i2);
    } }, { key: "addPointAnnotation", value: function(t4, e2, i2) {
      this.pointsAnnotations.addPointAnnotation(t4, e2, i2);
    } }, { key: "addText", value: function(t4, e2) {
      var i2 = t4.x, a2 = t4.y, s3 = t4.text, r3 = t4.textAnchor, n2 = t4.foreColor, o3 = t4.fontSize, l2 = t4.fontFamily, h3 = t4.fontWeight, c2 = t4.cssClass, d2 = t4.backgroundColor, u2 = t4.borderWidth, g3 = t4.strokeDashArray, p3 = t4.borderRadius, f2 = t4.borderColor, x3 = t4.appendTo, b2 = void 0 === x3 ? ".apexcharts-svg" : x3, m3 = t4.paddingLeft, v2 = void 0 === m3 ? 4 : m3, y2 = t4.paddingRight, w3 = void 0 === y2 ? 4 : y2, k2 = t4.paddingBottom, A3 = void 0 === k2 ? 2 : k2, C2 = t4.paddingTop, S3 = void 0 === C2 ? 2 : C2, L3 = this.w, M2 = this.graphics.drawText({ x: i2, y: a2, text: s3, textAnchor: r3 || "start", fontSize: o3 || "12px", fontWeight: h3 || "regular", fontFamily: l2 || L3.config.chart.fontFamily, foreColor: n2 || L3.config.chart.foreColor, cssClass: c2 }), P3 = L3.globals.dom.baseEl.querySelector(b2);
      P3 && P3.appendChild(M2.node);
      var I2 = M2.bbox();
      if (s3) {
        var T2 = this.graphics.drawRect(I2.x - v2, I2.y - S3, I2.width + v2 + w3, I2.height + A3 + S3, p3, d2 || "transparent", 1, u2, f2, g3);
        P3.insertBefore(T2.node, M2.node);
      }
    } }, { key: "addImage", value: function(t4, e2) {
      var i2 = this.w, a2 = t4.path, s3 = t4.x, r3 = void 0 === s3 ? 0 : s3, n2 = t4.y, o3 = void 0 === n2 ? 0 : n2, l2 = t4.width, h3 = void 0 === l2 ? 20 : l2, c2 = t4.height, d2 = void 0 === c2 ? 20 : c2, u2 = t4.appendTo, g3 = void 0 === u2 ? ".apexcharts-svg" : u2, p3 = i2.globals.dom.Paper.image(a2);
      p3.size(h3, d2).move(r3, o3);
      var f2 = i2.globals.dom.baseEl.querySelector(g3);
      return f2 && f2.appendChild(p3.node), p3;
    } }, { key: "addXaxisAnnotationExternal", value: function(t4, e2, i2) {
      return this.addAnnotationExternal({ params: t4, pushToMemory: e2, context: i2, type: "xaxis", contextMethod: i2.addXaxisAnnotation }), i2;
    } }, { key: "addYaxisAnnotationExternal", value: function(t4, e2, i2) {
      return this.addAnnotationExternal({ params: t4, pushToMemory: e2, context: i2, type: "yaxis", contextMethod: i2.addYaxisAnnotation }), i2;
    } }, { key: "addPointAnnotationExternal", value: function(t4, e2, i2) {
      return void 0 === this.invertAxis && (this.invertAxis = i2.w.globals.isBarHorizontal), this.addAnnotationExternal({ params: t4, pushToMemory: e2, context: i2, type: "point", contextMethod: i2.addPointAnnotation }), i2;
    } }, { key: "addAnnotationExternal", value: function(t4) {
      var e2 = t4.params, i2 = t4.pushToMemory, a2 = t4.context, s3 = t4.type, r3 = t4.contextMethod, n2 = a2, o3 = n2.w, l2 = o3.globals.dom.baseEl.querySelector(".apexcharts-".concat(s3, "-annotations")), h3 = l2.childNodes.length + 1, c2 = new Oi(), d2 = Object.assign({}, "xaxis" === s3 ? c2.xAxisAnnotation : "yaxis" === s3 ? c2.yAxisAnnotation : c2.pointAnnotation), u2 = v.extend(d2, e2);
      switch (s3) {
        case "xaxis":
          this.addXaxisAnnotation(u2, l2, h3);
          break;
        case "yaxis":
          this.addYaxisAnnotation(u2, l2, h3);
          break;
        case "point":
          this.addPointAnnotation(u2, l2, h3);
      }
      var g3 = o3.globals.dom.baseEl.querySelector(".apexcharts-".concat(s3, "-annotations .apexcharts-").concat(s3, "-annotation-label[rel='").concat(h3, "']")), p3 = this.helpers.addBackgroundToAnno(g3, u2);
      return p3 && l2.insertBefore(p3.node, g3), i2 && o3.globals.memory.methodsToExec.push({ context: n2, id: u2.id ? u2.id : v.randomId(), method: r3, label: "addAnnotation", params: e2 }), a2;
    } }, { key: "clearAnnotations", value: function(t4) {
      for (var e2 = t4.w, i2 = e2.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations"), a2 = e2.globals.memory.methodsToExec.length - 1; a2 >= 0; a2--) "addText" !== e2.globals.memory.methodsToExec[a2].label && "addAnnotation" !== e2.globals.memory.methodsToExec[a2].label || e2.globals.memory.methodsToExec.splice(a2, 1);
      i2 = v.listToArray(i2), Array.prototype.forEach.call(i2, function(t5) {
        for (; t5.firstChild; ) t5.removeChild(t5.firstChild);
      });
    } }, { key: "removeAnnotation", value: function(t4, e2) {
      var i2 = t4.w, a2 = i2.globals.dom.baseEl.querySelectorAll(".".concat(e2));
      a2 && (i2.globals.memory.methodsToExec.map(function(t5, a3) {
        t5.id === e2 && i2.globals.memory.methodsToExec.splice(a3, 1);
      }), Array.prototype.forEach.call(a2, function(t5) {
        t5.parentElement.removeChild(t5);
      }));
    } }]), t3;
  }(), Di = function(t3) {
    var e2, i2 = t3.isTimeline, a2 = t3.ctx, s3 = t3.seriesIndex, r3 = t3.dataPointIndex, n2 = t3.y1, o3 = t3.y2, l2 = t3.w, h3 = l2.globals.seriesRangeStart[s3][r3], c2 = l2.globals.seriesRangeEnd[s3][r3], d2 = l2.globals.labels[r3], u2 = l2.config.series[s3].name ? l2.config.series[s3].name : "", g3 = l2.globals.ttKeyFormatter, p3 = l2.config.tooltip.y.title.formatter, f2 = { w: l2, seriesIndex: s3, dataPointIndex: r3, start: h3, end: c2 };
    ("function" == typeof p3 && (u2 = p3(u2, f2)), null !== (e2 = l2.config.series[s3].data[r3]) && void 0 !== e2 && e2.x && (d2 = l2.config.series[s3].data[r3].x), i2) || "datetime" === l2.config.xaxis.type && (d2 = new Xi(a2).xLabelFormat(l2.globals.ttKeyFormatter, d2, d2, { i: void 0, dateFormatter: new zi(a2).formatDate, w: l2 }));
    "function" == typeof g3 && (d2 = g3(d2, f2)), Number.isFinite(n2) && Number.isFinite(o3) && (h3 = n2, c2 = o3);
    var x3 = "", b2 = "", m3 = l2.globals.colors[s3];
    if (void 0 === l2.config.tooltip.x.formatter) if ("datetime" === l2.config.xaxis.type) {
      var v2 = new zi(a2);
      x3 = v2.formatDate(v2.getDate(h3), l2.config.tooltip.x.format), b2 = v2.formatDate(v2.getDate(c2), l2.config.tooltip.x.format);
    } else x3 = h3, b2 = c2;
    else x3 = l2.config.tooltip.x.formatter(h3), b2 = l2.config.tooltip.x.formatter(c2);
    return { start: h3, end: c2, startVal: x3, endVal: b2, ylabel: d2, color: m3, seriesName: u2 };
  }, _i = function(t3) {
    var e2 = t3.color, i2 = t3.seriesName, a2 = t3.ylabel, s3 = t3.start, r3 = t3.end, n2 = t3.seriesIndex, o3 = t3.dataPointIndex, l2 = t3.ctx.tooltip.tooltipLabels.getFormatters(n2);
    s3 = l2.yLbFormatter(s3), r3 = l2.yLbFormatter(r3);
    var h3 = l2.yLbFormatter(t3.w.globals.series[n2][o3]), c2 = '<span class="value start-value">\n  '.concat(s3, '\n  </span> <span class="separator">-</span> <span class="value end-value">\n  ').concat(r3, "\n  </span>");
    return '<div class="apexcharts-tooltip-rangebar"><div> <span class="series-name" style="color: ' + e2 + '">' + (i2 || "") + '</span></div><div> <span class="category">' + a2 + ": </span> " + (t3.w.globals.comboCharts ? "rangeArea" === t3.w.config.series[n2].type || "rangeBar" === t3.w.config.series[n2].type ? c2 : "<span>".concat(h3, "</span>") : c2) + " </div></div>";
  }, Ni = function() {
    function t3(e2) {
      i(this, t3), this.opts = e2;
    }
    return s2(t3, [{ key: "hideYAxis", value: function() {
      this.opts.yaxis[0].show = false, this.opts.yaxis[0].title.text = "", this.opts.yaxis[0].axisBorder.show = false, this.opts.yaxis[0].axisTicks.show = false, this.opts.yaxis[0].floating = true;
    } }, { key: "line", value: function() {
      return { dataLabels: { enabled: false }, stroke: { width: 5, curve: "straight" }, markers: { size: 0, hover: { sizeOffset: 6 } }, xaxis: { crosshairs: { width: 1 } } };
    } }, { key: "sparkline", value: function(t4) {
      this.hideYAxis();
      return v.extend(t4, { grid: { show: false, padding: { left: 0, right: 0, top: 0, bottom: 0 } }, legend: { show: false }, xaxis: { labels: { show: false }, tooltip: { enabled: false }, axisBorder: { show: false }, axisTicks: { show: false } }, chart: { toolbar: { show: false }, zoom: { enabled: false } }, dataLabels: { enabled: false } });
    } }, { key: "slope", value: function() {
      return this.hideYAxis(), { chart: { toolbar: { show: false }, zoom: { enabled: false } }, dataLabels: { enabled: true, formatter: function(t4, e2) {
        var i2 = e2.w.config.series[e2.seriesIndex].name;
        return null !== t4 ? i2 + ": " + t4 : "";
      }, background: { enabled: false }, offsetX: -5 }, grid: { xaxis: { lines: { show: true } }, yaxis: { lines: { show: false } } }, xaxis: { position: "top", labels: { style: { fontSize: 14, fontWeight: 900 } }, tooltip: { enabled: false }, crosshairs: { show: false } }, markers: { size: 8, hover: { sizeOffset: 1 } }, legend: { show: false }, tooltip: { shared: false, intersect: true, followCursor: true }, stroke: { width: 5, curve: "straight" } };
    } }, { key: "bar", value: function() {
      return { chart: { stacked: false }, plotOptions: { bar: { dataLabels: { position: "center" } } }, dataLabels: { style: { colors: ["#fff"] }, background: { enabled: false } }, stroke: { width: 0, lineCap: "round" }, fill: { opacity: 0.85 }, legend: { markers: { shape: "square" } }, tooltip: { shared: false, intersect: true }, xaxis: { tooltip: { enabled: false }, tickPlacement: "between", crosshairs: { width: "barWidth", position: "back", fill: { type: "gradient" }, dropShadow: { enabled: false }, stroke: { width: 0 } } } };
    } }, { key: "funnel", value: function() {
      return this.hideYAxis(), u(u({}, this.bar()), {}, { chart: { animations: { speed: 800, animateGradually: { enabled: false } } }, plotOptions: { bar: { horizontal: true, borderRadiusApplication: "around", borderRadius: 0, dataLabels: { position: "center" } } }, grid: { show: false, padding: { left: 0, right: 0 } }, xaxis: { labels: { show: false }, tooltip: { enabled: false }, axisBorder: { show: false }, axisTicks: { show: false } } });
    } }, { key: "candlestick", value: function() {
      var t4 = this;
      return { stroke: { width: 1, colors: ["#333"] }, fill: { opacity: 1 }, dataLabels: { enabled: false }, tooltip: { shared: true, custom: function(e2) {
        var i2 = e2.seriesIndex, a2 = e2.dataPointIndex, s3 = e2.w;
        return t4._getBoxTooltip(s3, i2, a2, ["Open", "High", "", "Low", "Close"], "candlestick");
      } }, states: { active: { filter: { type: "none" } } }, xaxis: { crosshairs: { width: 1 } } };
    } }, { key: "boxPlot", value: function() {
      var t4 = this;
      return { chart: { animations: { dynamicAnimation: { enabled: false } } }, stroke: { width: 1, colors: ["#24292e"] }, dataLabels: { enabled: false }, tooltip: { shared: true, custom: function(e2) {
        var i2 = e2.seriesIndex, a2 = e2.dataPointIndex, s3 = e2.w;
        return t4._getBoxTooltip(s3, i2, a2, ["Minimum", "Q1", "Median", "Q3", "Maximum"], "boxPlot");
      } }, markers: { size: 7, strokeWidth: 1, strokeColors: "#111" }, xaxis: { crosshairs: { width: 1 } } };
    } }, { key: "rangeBar", value: function() {
      return { chart: { animations: { animateGradually: false } }, stroke: { width: 0, lineCap: "square" }, plotOptions: { bar: { borderRadius: 0, dataLabels: { position: "center" } } }, dataLabels: { enabled: false, formatter: function(t4, e2) {
        e2.ctx;
        var i2 = e2.seriesIndex, a2 = e2.dataPointIndex, s3 = e2.w, r3 = function() {
          var t5 = s3.globals.seriesRangeStart[i2][a2];
          return s3.globals.seriesRangeEnd[i2][a2] - t5;
        };
        return s3.globals.comboCharts ? "rangeBar" === s3.config.series[i2].type || "rangeArea" === s3.config.series[i2].type ? r3() : t4 : r3();
      }, background: { enabled: false }, style: { colors: ["#fff"] } }, markers: { size: 10 }, tooltip: { shared: false, followCursor: true, custom: function(t4) {
        return t4.w.config.plotOptions && t4.w.config.plotOptions.bar && t4.w.config.plotOptions.bar.horizontal ? function(t5) {
          var e2 = Di(u(u({}, t5), {}, { isTimeline: true })), i2 = e2.color, a2 = e2.seriesName, s3 = e2.ylabel, r3 = e2.startVal, n2 = e2.endVal;
          return _i(u(u({}, t5), {}, { color: i2, seriesName: a2, ylabel: s3, start: r3, end: n2 }));
        }(t4) : function(t5) {
          var e2 = Di(t5), i2 = e2.color, a2 = e2.seriesName, s3 = e2.ylabel, r3 = e2.start, n2 = e2.end;
          return _i(u(u({}, t5), {}, { color: i2, seriesName: a2, ylabel: s3, start: r3, end: n2 }));
        }(t4);
      } }, xaxis: { tickPlacement: "between", tooltip: { enabled: false }, crosshairs: { stroke: { width: 0 } } } };
    } }, { key: "dumbbell", value: function(t4) {
      var e2, i2;
      return null !== (e2 = t4.plotOptions.bar) && void 0 !== e2 && e2.barHeight || (t4.plotOptions.bar.barHeight = 2), null !== (i2 = t4.plotOptions.bar) && void 0 !== i2 && i2.columnWidth || (t4.plotOptions.bar.columnWidth = 2), t4;
    } }, { key: "area", value: function() {
      return { stroke: { width: 4, fill: { type: "solid", gradient: { inverseColors: false, shade: "light", type: "vertical", opacityFrom: 0.65, opacityTo: 0.5, stops: [0, 100, 100] } } }, fill: { type: "gradient", gradient: { inverseColors: false, shade: "light", type: "vertical", opacityFrom: 0.65, opacityTo: 0.5, stops: [0, 100, 100] } }, markers: { size: 0, hover: { sizeOffset: 6 } }, tooltip: { followCursor: false } };
    } }, { key: "rangeArea", value: function() {
      return { stroke: { curve: "straight", width: 0 }, fill: { type: "solid", opacity: 0.6 }, markers: { size: 0 }, states: { hover: { filter: { type: "none" } }, active: { filter: { type: "none" } } }, tooltip: { intersect: false, shared: true, followCursor: true, custom: function(t4) {
        return function(t5) {
          var e2 = Di(t5), i2 = e2.color, a2 = e2.seriesName, s3 = e2.ylabel, r3 = e2.start, n2 = e2.end;
          return _i(u(u({}, t5), {}, { color: i2, seriesName: a2, ylabel: s3, start: r3, end: n2 }));
        }(t4);
      } } };
    } }, { key: "brush", value: function(t4) {
      return v.extend(t4, { chart: { toolbar: { autoSelected: "selection", show: false }, zoom: { enabled: false } }, dataLabels: { enabled: false }, stroke: { width: 1 }, tooltip: { enabled: false }, xaxis: { tooltip: { enabled: false } } });
    } }, { key: "stacked100", value: function(t4) {
      t4.dataLabels = t4.dataLabels || {}, t4.dataLabels.formatter = t4.dataLabels.formatter || void 0;
      var e2 = t4.dataLabels.formatter;
      return t4.yaxis.forEach(function(e3, i2) {
        t4.yaxis[i2].min = 0, t4.yaxis[i2].max = 100;
      }), "bar" === t4.chart.type && (t4.dataLabels.formatter = e2 || function(t5) {
        return "number" == typeof t5 && t5 ? t5.toFixed(0) + "%" : t5;
      }), t4;
    } }, { key: "stackedBars", value: function() {
      var t4 = this.bar();
      return u(u({}, t4), {}, { plotOptions: u(u({}, t4.plotOptions), {}, { bar: u(u({}, t4.plotOptions.bar), {}, { borderRadiusApplication: "end", borderRadiusWhenStacked: "last" }) }) });
    } }, { key: "convertCatToNumeric", value: function(t4) {
      return t4.xaxis.convertedCatToNumeric = true, t4;
    } }, { key: "convertCatToNumericXaxis", value: function(t4, e2, i2) {
      t4.xaxis.type = "numeric", t4.xaxis.labels = t4.xaxis.labels || {}, t4.xaxis.labels.formatter = t4.xaxis.labels.formatter || function(t5) {
        return v.isNumber(t5) ? Math.floor(t5) : t5;
      };
      var a2 = t4.xaxis.labels.formatter, s3 = t4.xaxis.categories && t4.xaxis.categories.length ? t4.xaxis.categories : t4.labels;
      return i2 && i2.length && (s3 = i2.map(function(t5) {
        return Array.isArray(t5) ? t5 : String(t5);
      })), s3 && s3.length && (t4.xaxis.labels.formatter = function(t5) {
        return v.isNumber(t5) ? a2(s3[Math.floor(t5) - 1]) : a2(t5);
      }), t4.xaxis.categories = [], t4.labels = [], t4.xaxis.tickAmount = t4.xaxis.tickAmount || "dataPoints", t4;
    } }, { key: "bubble", value: function() {
      return { dataLabels: { style: { colors: ["#fff"] } }, tooltip: { shared: false, intersect: true }, xaxis: { crosshairs: { width: 0 } }, fill: { type: "solid", gradient: { shade: "light", inverse: true, shadeIntensity: 0.55, opacityFrom: 0.4, opacityTo: 0.8 } } };
    } }, { key: "scatter", value: function() {
      return { dataLabels: { enabled: false }, tooltip: { shared: false, intersect: true }, markers: { size: 6, strokeWidth: 1, hover: { sizeOffset: 2 } } };
    } }, { key: "heatmap", value: function() {
      return { chart: { stacked: false }, fill: { opacity: 1 }, dataLabels: { style: { colors: ["#fff"] } }, stroke: { colors: ["#fff"] }, tooltip: { followCursor: true, marker: { show: false }, x: { show: false } }, legend: { position: "top", markers: { shape: "square" } }, grid: { padding: { right: 20 } } };
    } }, { key: "treemap", value: function() {
      return { chart: { zoom: { enabled: false } }, dataLabels: { style: { fontSize: 14, fontWeight: 600, colors: ["#fff"] } }, stroke: { show: true, width: 2, colors: ["#fff"] }, legend: { show: false }, fill: { opacity: 1, gradient: { stops: [0, 100] } }, tooltip: { followCursor: true, x: { show: false } }, grid: { padding: { left: 0, right: 0 } }, xaxis: { crosshairs: { show: false }, tooltip: { enabled: false } } };
    } }, { key: "pie", value: function() {
      return { chart: { toolbar: { show: false } }, plotOptions: { pie: { donut: { labels: { show: false } } } }, dataLabels: { formatter: function(t4) {
        return t4.toFixed(1) + "%";
      }, style: { colors: ["#fff"] }, background: { enabled: false }, dropShadow: { enabled: true } }, stroke: { colors: ["#fff"] }, fill: { opacity: 1, gradient: { shade: "light", stops: [0, 100] } }, tooltip: { theme: "dark", fillSeriesColor: true }, legend: { position: "right" }, grid: { padding: { left: 0, right: 0, top: 0, bottom: 0 } } };
    } }, { key: "donut", value: function() {
      return { chart: { toolbar: { show: false } }, dataLabels: { formatter: function(t4) {
        return t4.toFixed(1) + "%";
      }, style: { colors: ["#fff"] }, background: { enabled: false }, dropShadow: { enabled: true } }, stroke: { colors: ["#fff"] }, fill: { opacity: 1, gradient: { shade: "light", shadeIntensity: 0.35, stops: [80, 100], opacityFrom: 1, opacityTo: 1 } }, tooltip: { theme: "dark", fillSeriesColor: true }, legend: { position: "right" }, grid: { padding: { left: 0, right: 0, top: 0, bottom: 0 } } };
    } }, { key: "polarArea", value: function() {
      return { chart: { toolbar: { show: false } }, dataLabels: { formatter: function(t4) {
        return t4.toFixed(1) + "%";
      }, enabled: false }, stroke: { show: true, width: 2 }, fill: { opacity: 0.7 }, tooltip: { theme: "dark", fillSeriesColor: true }, legend: { position: "right" }, grid: { padding: { left: 0, right: 0, top: 0, bottom: 0 } } };
    } }, { key: "radar", value: function() {
      return this.opts.yaxis[0].labels.offsetY = this.opts.yaxis[0].labels.offsetY ? this.opts.yaxis[0].labels.offsetY : 6, { dataLabels: { enabled: false, style: { fontSize: "11px" } }, stroke: { width: 2 }, markers: { size: 5, strokeWidth: 1, strokeOpacity: 1 }, fill: { opacity: 0.2 }, tooltip: { shared: false, intersect: true, followCursor: true }, grid: { show: false, padding: { left: 0, right: 0, top: 0, bottom: 0 } }, xaxis: { labels: { formatter: function(t4) {
        return t4;
      }, style: { colors: ["#a8a8a8"], fontSize: "11px" } }, tooltip: { enabled: false }, crosshairs: { show: false } } };
    } }, { key: "radialBar", value: function() {
      return { chart: { animations: { dynamicAnimation: { enabled: true, speed: 800 } }, toolbar: { show: false } }, fill: { gradient: { shade: "dark", shadeIntensity: 0.4, inverseColors: false, type: "diagonal2", opacityFrom: 1, opacityTo: 1, stops: [70, 98, 100] } }, legend: { show: false, position: "right" }, tooltip: { enabled: false, fillSeriesColor: true }, grid: { padding: { left: 0, right: 0, top: 0, bottom: 0 } } };
    } }, { key: "_getBoxTooltip", value: function(t4, e2, i2, a2, s3) {
      var r3 = t4.globals.seriesCandleO[e2][i2], n2 = t4.globals.seriesCandleH[e2][i2], o3 = t4.globals.seriesCandleM[e2][i2], l2 = t4.globals.seriesCandleL[e2][i2], h3 = t4.globals.seriesCandleC[e2][i2];
      return t4.config.series[e2].type && t4.config.series[e2].type !== s3 ? '<div class="apexcharts-custom-tooltip">\n          '.concat(t4.config.series[e2].name ? t4.config.series[e2].name : "series-" + (e2 + 1), ": <strong>").concat(t4.globals.series[e2][i2], "</strong>\n        </div>") : '<div class="apexcharts-tooltip-box apexcharts-tooltip-'.concat(t4.config.chart.type, '">') + "<div>".concat(a2[0], ': <span class="value">') + r3 + "</span></div>" + "<div>".concat(a2[1], ': <span class="value">') + n2 + "</span></div>" + (o3 ? "<div>".concat(a2[2], ': <span class="value">') + o3 + "</span></div>" : "") + "<div>".concat(a2[3], ': <span class="value">') + l2 + "</span></div>" + "<div>".concat(a2[4], ': <span class="value">') + h3 + "</span></div></div>";
    } }]), t3;
  }(), Wi = function() {
    function t3(e2) {
      i(this, t3), this.opts = e2;
    }
    return s2(t3, [{ key: "init", value: function(t4) {
      var e2 = t4.responsiveOverride, i2 = this.opts, a2 = new Oi(), s3 = new Ni(i2);
      this.chartType = i2.chart.type, i2 = this.extendYAxis(i2), i2 = this.extendAnnotations(i2);
      var r3 = a2.init(), n2 = {};
      if (i2 && "object" === b(i2)) {
        var o3, l2, h3, c2, d2, u2, g3, p3, f2, x3, m3 = {};
        m3 = -1 !== ["line", "area", "bar", "candlestick", "boxPlot", "rangeBar", "rangeArea", "bubble", "scatter", "heatmap", "treemap", "pie", "polarArea", "donut", "radar", "radialBar"].indexOf(i2.chart.type) ? s3[i2.chart.type]() : s3.line(), null !== (o3 = i2.plotOptions) && void 0 !== o3 && null !== (l2 = o3.bar) && void 0 !== l2 && l2.isFunnel && (m3 = s3.funnel()), i2.chart.stacked && "bar" === i2.chart.type && (m3 = s3.stackedBars()), null !== (h3 = i2.chart.brush) && void 0 !== h3 && h3.enabled && (m3 = s3.brush(m3)), null !== (c2 = i2.plotOptions) && void 0 !== c2 && null !== (d2 = c2.line) && void 0 !== d2 && d2.isSlopeChart && (m3 = s3.slope()), i2.chart.stacked && "100%" === i2.chart.stackType && (i2 = s3.stacked100(i2)), null !== (u2 = i2.plotOptions) && void 0 !== u2 && null !== (g3 = u2.bar) && void 0 !== g3 && g3.isDumbbell && (i2 = s3.dumbbell(i2)), this.checkForDarkTheme(window.Apex), this.checkForDarkTheme(i2), i2.xaxis = i2.xaxis || window.Apex.xaxis || {}, e2 || (i2.xaxis.convertedCatToNumeric = false), (null !== (p3 = (i2 = this.checkForCatToNumericXAxis(this.chartType, m3, i2)).chart.sparkline) && void 0 !== p3 && p3.enabled || null !== (f2 = window.Apex.chart) && void 0 !== f2 && null !== (x3 = f2.sparkline) && void 0 !== x3 && x3.enabled) && (m3 = s3.sparkline(m3)), n2 = v.extend(r3, m3);
      }
      var y2 = v.extend(n2, window.Apex);
      return r3 = v.extend(y2, i2), r3 = this.handleUserInputErrors(r3);
    } }, { key: "checkForCatToNumericXAxis", value: function(t4, e2, i2) {
      var a2, s3, r3 = new Ni(i2), n2 = ("bar" === t4 || "boxPlot" === t4) && (null === (a2 = i2.plotOptions) || void 0 === a2 || null === (s3 = a2.bar) || void 0 === s3 ? void 0 : s3.horizontal), o3 = "pie" === t4 || "polarArea" === t4 || "donut" === t4 || "radar" === t4 || "radialBar" === t4 || "heatmap" === t4, l2 = "datetime" !== i2.xaxis.type && "numeric" !== i2.xaxis.type, h3 = i2.xaxis.tickPlacement ? i2.xaxis.tickPlacement : e2.xaxis && e2.xaxis.tickPlacement;
      return n2 || o3 || !l2 || "between" === h3 || (i2 = r3.convertCatToNumeric(i2)), i2;
    } }, { key: "extendYAxis", value: function(t4, e2) {
      var i2 = new Oi();
      (void 0 === t4.yaxis || !t4.yaxis || Array.isArray(t4.yaxis) && 0 === t4.yaxis.length) && (t4.yaxis = {}), t4.yaxis.constructor !== Array && window.Apex.yaxis && window.Apex.yaxis.constructor !== Array && (t4.yaxis = v.extend(t4.yaxis, window.Apex.yaxis)), t4.yaxis.constructor !== Array ? t4.yaxis = [v.extend(i2.yAxis, t4.yaxis)] : t4.yaxis = v.extendArray(t4.yaxis, i2.yAxis);
      var a2 = false;
      t4.yaxis.forEach(function(t5) {
        t5.logarithmic && (a2 = true);
      });
      var s3 = t4.series;
      return e2 && !s3 && (s3 = e2.config.series), a2 && s3.length !== t4.yaxis.length && s3.length && (t4.yaxis = s3.map(function(e3, a3) {
        if (e3.name || (s3[a3].name = "series-".concat(a3 + 1)), t4.yaxis[a3]) return t4.yaxis[a3].seriesName = s3[a3].name, t4.yaxis[a3];
        var r3 = v.extend(i2.yAxis, t4.yaxis[0]);
        return r3.show = false, r3;
      })), a2 && s3.length > 1 && s3.length !== t4.yaxis.length && console.warn("A multi-series logarithmic chart should have equal number of series and y-axes"), t4;
    } }, { key: "extendAnnotations", value: function(t4) {
      return void 0 === t4.annotations && (t4.annotations = {}, t4.annotations.yaxis = [], t4.annotations.xaxis = [], t4.annotations.points = []), t4 = this.extendYAxisAnnotations(t4), t4 = this.extendXAxisAnnotations(t4), t4 = this.extendPointAnnotations(t4);
    } }, { key: "extendYAxisAnnotations", value: function(t4) {
      var e2 = new Oi();
      return t4.annotations.yaxis = v.extendArray(void 0 !== t4.annotations.yaxis ? t4.annotations.yaxis : [], e2.yAxisAnnotation), t4;
    } }, { key: "extendXAxisAnnotations", value: function(t4) {
      var e2 = new Oi();
      return t4.annotations.xaxis = v.extendArray(void 0 !== t4.annotations.xaxis ? t4.annotations.xaxis : [], e2.xAxisAnnotation), t4;
    } }, { key: "extendPointAnnotations", value: function(t4) {
      var e2 = new Oi();
      return t4.annotations.points = v.extendArray(void 0 !== t4.annotations.points ? t4.annotations.points : [], e2.pointAnnotation), t4;
    } }, { key: "checkForDarkTheme", value: function(t4) {
      t4.theme && "dark" === t4.theme.mode && (t4.tooltip || (t4.tooltip = {}), "light" !== t4.tooltip.theme && (t4.tooltip.theme = "dark"), t4.chart.foreColor || (t4.chart.foreColor = "#f6f7f8"), t4.theme.palette || (t4.theme.palette = "palette4"));
    } }, { key: "handleUserInputErrors", value: function(t4) {
      var e2 = t4;
      if (e2.tooltip.shared && e2.tooltip.intersect) throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.");
      if ("bar" === e2.chart.type && e2.plotOptions.bar.horizontal) {
        if (e2.yaxis.length > 1) throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");
        e2.yaxis[0].reversed && (e2.yaxis[0].opposite = true), e2.xaxis.tooltip.enabled = false, e2.yaxis[0].tooltip.enabled = false, e2.chart.zoom.enabled = false;
      }
      return "bar" !== e2.chart.type && "rangeBar" !== e2.chart.type || e2.tooltip.shared && "barWidth" === e2.xaxis.crosshairs.width && e2.series.length > 1 && (e2.xaxis.crosshairs.width = "tickWidth"), "candlestick" !== e2.chart.type && "boxPlot" !== e2.chart.type || e2.yaxis[0].reversed && (console.warn("Reversed y-axis in ".concat(e2.chart.type, " chart is not supported.")), e2.yaxis[0].reversed = false), e2;
    } }]), t3;
  }(), Bi = function() {
    function t3() {
      i(this, t3);
    }
    return s2(t3, [{ key: "initGlobalVars", value: function(t4) {
      t4.series = [], t4.seriesCandleO = [], t4.seriesCandleH = [], t4.seriesCandleM = [], t4.seriesCandleL = [], t4.seriesCandleC = [], t4.seriesRangeStart = [], t4.seriesRangeEnd = [], t4.seriesRange = [], t4.seriesPercent = [], t4.seriesGoals = [], t4.seriesX = [], t4.seriesZ = [], t4.seriesNames = [], t4.seriesTotals = [], t4.seriesLog = [], t4.seriesColors = [], t4.stackedSeriesTotals = [], t4.seriesXvalues = [], t4.seriesYvalues = [], t4.labels = [], t4.hasXaxisGroups = false, t4.groups = [], t4.barGroups = [], t4.lineGroups = [], t4.areaGroups = [], t4.hasSeriesGroups = false, t4.seriesGroups = [], t4.categoryLabels = [], t4.timescaleLabels = [], t4.noLabelsProvided = false, t4.resizeTimer = null, t4.selectionResizeTimer = null, t4.lastWheelExecution = 0, t4.delayedElements = [], t4.pointsArray = [], t4.dataLabelsRects = [], t4.isXNumeric = false, t4.skipLastTimelinelabel = false, t4.skipFirstTimelinelabel = false, t4.isDataXYZ = false, t4.isMultiLineX = false, t4.isMultipleYAxis = false, t4.maxY = -Number.MAX_VALUE, t4.minY = Number.MIN_VALUE, t4.minYArr = [], t4.maxYArr = [], t4.maxX = -Number.MAX_VALUE, t4.minX = Number.MAX_VALUE, t4.initialMaxX = -Number.MAX_VALUE, t4.initialMinX = Number.MAX_VALUE, t4.maxDate = 0, t4.minDate = Number.MAX_VALUE, t4.minZ = Number.MAX_VALUE, t4.maxZ = -Number.MAX_VALUE, t4.minXDiff = Number.MAX_VALUE, t4.yAxisScale = [], t4.xAxisScale = null, t4.xAxisTicksPositions = [], t4.yLabelsCoords = [], t4.yTitleCoords = [], t4.barPadForNumericAxis = 0, t4.padHorizontal = 0, t4.xRange = 0, t4.yRange = [], t4.zRange = 0, t4.dataPoints = 0, t4.xTickAmount = 0, t4.multiAxisTickAmount = 0;
    } }, { key: "globalVars", value: function(t4) {
      return { chartID: null, cuid: null, events: { beforeMount: [], mounted: [], updated: [], clicked: [], selection: [], dataPointSelection: [], zoomed: [], scrolled: [] }, colors: [], clientX: null, clientY: null, fill: { colors: [] }, stroke: { colors: [] }, dataLabels: { style: { colors: [] } }, radarPolygons: { fill: { colors: [] } }, markers: { colors: [], size: t4.markers.size, largestSize: 0 }, animationEnded: false, isTouchDevice: "ontouchstart" in window || navigator.msMaxTouchPoints, isDirty: false, isExecCalled: false, initialConfig: null, initialSeries: [], lastXAxis: [], lastYAxis: [], columnSeries: null, labels: [], timescaleLabels: [], noLabelsProvided: false, allSeriesCollapsed: false, collapsedSeries: [], collapsedSeriesIndices: [], ancillaryCollapsedSeries: [], ancillaryCollapsedSeriesIndices: [], risingSeries: [], dataFormatXNumeric: false, capturedSeriesIndex: -1, capturedDataPointIndex: -1, selectedDataPoints: [], invalidLogScale: false, ignoreYAxisIndexes: [], maxValsInArrayIndex: 0, radialSize: 0, selection: void 0, zoomEnabled: "zoom" === t4.chart.toolbar.autoSelected && t4.chart.toolbar.tools.zoom && t4.chart.zoom.enabled, panEnabled: "pan" === t4.chart.toolbar.autoSelected && t4.chart.toolbar.tools.pan, selectionEnabled: "selection" === t4.chart.toolbar.autoSelected && t4.chart.toolbar.tools.selection, yaxis: null, mousedown: false, lastClientPosition: {}, visibleXRange: void 0, yValueDecimal: 0, total: 0, SVGNS: "http://www.w3.org/2000/svg", svgWidth: 0, svgHeight: 0, noData: false, locale: {}, dom: {}, memory: { methodsToExec: [] }, shouldAnimate: true, skipLastTimelinelabel: false, skipFirstTimelinelabel: false, delayedElements: [], axisCharts: true, isDataXYZ: false, isSlopeChart: t4.plotOptions.line.isSlopeChart, resized: false, resizeTimer: null, comboCharts: false, dataChanged: false, previousPaths: [], allSeriesHasEqualX: true, pointsArray: [], dataLabelsRects: [], lastDrawnDataLabelsIndexes: [], hasNullValues: false, zoomed: false, gridWidth: 0, gridHeight: 0, rotateXLabels: false, defaultLabels: false, xLabelFormatter: void 0, yLabelFormatters: [], xaxisTooltipFormatter: void 0, ttKeyFormatter: void 0, ttVal: void 0, ttZFormatter: void 0, LINE_HEIGHT_RATIO: 1.618, xAxisLabelsHeight: 0, xAxisGroupLabelsHeight: 0, xAxisLabelsWidth: 0, yAxisLabelsWidth: 0, scaleX: 1, scaleY: 1, translateX: 0, translateY: 0, translateYAxisX: [], yAxisWidths: [], translateXAxisY: 0, translateXAxisX: 0, tooltip: null, niceScaleAllowedMagMsd: [[1, 1, 2, 5, 5, 5, 10, 10, 10, 10, 10], [1, 1, 2, 5, 5, 5, 10, 10, 10, 10, 10]], niceScaleDefaultTicks: [1, 2, 4, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 12, 12, 12, 12, 12, 12, 12, 12, 12, 24], seriesYAxisMap: [], seriesYAxisReverseMap: [] };
    } }, { key: "init", value: function(t4) {
      var e2 = this.globalVars(t4);
      return this.initGlobalVars(e2), e2.initialConfig = v.extend({}, t4), e2.initialSeries = v.clone(t4.series), e2.lastXAxis = v.clone(e2.initialConfig.xaxis), e2.lastYAxis = v.clone(e2.initialConfig.yaxis), e2;
    } }]), t3;
  }(), Gi = function() {
    function t3(e2) {
      i(this, t3), this.opts = e2;
    }
    return s2(t3, [{ key: "init", value: function() {
      var t4 = new Wi(this.opts).init({ responsiveOverride: false });
      return { config: t4, globals: new Bi().init(t4) };
    } }]), t3;
  }(), ji = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w, this.opts = null, this.seriesIndex = 0, this.patternIDs = [];
    }
    return s2(t3, [{ key: "clippedImgArea", value: function(t4) {
      var e2 = this.w, i2 = e2.config, a2 = parseInt(e2.globals.gridWidth, 10), s3 = parseInt(e2.globals.gridHeight, 10), r3 = a2 > s3 ? a2 : s3, n2 = t4.image, o3 = 0, l2 = 0;
      void 0 === t4.width && void 0 === t4.height ? void 0 !== i2.fill.image.width && void 0 !== i2.fill.image.height ? (o3 = i2.fill.image.width + 1, l2 = i2.fill.image.height) : (o3 = r3 + 1, l2 = r3) : (o3 = t4.width, l2 = t4.height);
      var h3 = document.createElementNS(e2.globals.SVGNS, "pattern");
      Mi.setAttrs(h3, { id: t4.patternID, patternUnits: t4.patternUnits ? t4.patternUnits : "userSpaceOnUse", width: o3 + "px", height: l2 + "px" });
      var c2 = document.createElementNS(e2.globals.SVGNS, "image");
      h3.appendChild(c2), c2.setAttributeNS(window.SVG.xlink, "href", n2), Mi.setAttrs(c2, { x: 0, y: 0, preserveAspectRatio: "none", width: o3 + "px", height: l2 + "px" }), c2.style.opacity = t4.opacity, e2.globals.dom.elDefs.node.appendChild(h3);
    } }, { key: "getSeriesIndex", value: function(t4) {
      var e2 = this.w, i2 = e2.config.chart.type;
      return ("bar" === i2 || "rangeBar" === i2) && e2.config.plotOptions.bar.distributed || "heatmap" === i2 || "treemap" === i2 ? this.seriesIndex = t4.seriesNumber : this.seriesIndex = t4.seriesNumber % e2.globals.series.length, this.seriesIndex;
    } }, { key: "computeColorStops", value: function(t4, e2) {
      var i2, a2 = this.w, s3 = null, n2 = null, o3 = r2(t4);
      try {
        for (o3.s(); !(i2 = o3.n()).done; ) {
          var l2 = i2.value;
          l2 >= e2.threshold ? (null === s3 || l2 > s3) && (s3 = l2) : (null === n2 || l2 < n2) && (n2 = l2);
        }
      } catch (t5) {
        o3.e(t5);
      } finally {
        o3.f();
      }
      null === s3 && (s3 = e2.threshold), null === n2 && (n2 = e2.threshold);
      var h3 = s3 - e2.threshold + (e2.threshold - n2);
      0 === h3 && (h3 = 1);
      var c2 = 100 - (e2.threshold - n2) / h3 * 100;
      return [{ offset: c2 = Math.max(0, Math.min(c2, 100)), color: e2.colorAboveThreshold, opacity: a2.config.fill.opacity }, { offset: 0, color: e2.colorBelowThreshold, opacity: a2.config.fill.opacity }];
    } }, { key: "fillPath", value: function(t4) {
      var e2, i2, a2, s3 = this.w;
      this.opts = t4;
      var r3, n2, o3, l2 = this.w.config;
      this.seriesIndex = this.getSeriesIndex(t4);
      var h3 = l2.plotOptions.line.colors.colorAboveThreshold && l2.plotOptions.line.colors.colorBelowThreshold, c2 = this.getFillColors()[this.seriesIndex];
      void 0 !== s3.globals.seriesColors[this.seriesIndex] && (c2 = s3.globals.seriesColors[this.seriesIndex]), "function" == typeof c2 && (c2 = c2({ seriesIndex: this.seriesIndex, dataPointIndex: t4.dataPointIndex, value: t4.value, w: s3 }));
      var d2, u2, g3, p3 = t4.fillType ? t4.fillType : this.getFillType(this.seriesIndex), x3 = Array.isArray(l2.fill.opacity) ? l2.fill.opacity[this.seriesIndex] : l2.fill.opacity, b2 = "gradient" === p3 || h3;
      (t4.color && (c2 = t4.color), null !== (e2 = s3.config.series[this.seriesIndex]) && void 0 !== e2 && null !== (i2 = e2.data) && void 0 !== i2 && null !== (a2 = i2[t4.dataPointIndex]) && void 0 !== a2 && a2.fillColor) && (c2 = null === (d2 = s3.config.series[this.seriesIndex]) || void 0 === d2 || null === (u2 = d2.data) || void 0 === u2 || null === (g3 = u2[t4.dataPointIndex]) || void 0 === g3 ? void 0 : g3.fillColor);
      c2 || (c2 = "#fff", console.warn("undefined color - ApexCharts"));
      var m3 = c2;
      if (-1 === c2.indexOf("rgb") ? -1 === c2.indexOf("#") ? m3 = c2 : c2.length < 9 && (m3 = v.hexToRgba(c2, x3)) : c2.indexOf("rgba") > -1 ? x3 = v.getOpacityFromRGBA(c2) : m3 = v.hexToRgba(v.rgb2hex(c2), x3), t4.opacity && (x3 = t4.opacity), "pattern" === p3 && (n2 = this.handlePatternFill({ fillConfig: t4.fillConfig, patternFill: n2, fillColor: c2, fillOpacity: x3, defaultColor: m3 })), b2) {
        var y2 = f(l2.fill.gradient.colorStops) || [], w3 = l2.fill.gradient.type;
        h3 && (y2[this.seriesIndex] = this.computeColorStops(s3.globals.series[this.seriesIndex], l2.plotOptions.line.colors), w3 = "vertical"), o3 = this.handleGradientFill({ type: w3, fillConfig: t4.fillConfig, fillColor: c2, fillOpacity: x3, colorStops: y2, i: this.seriesIndex });
      }
      if ("image" === p3) {
        var k2 = l2.fill.image.src, A3 = t4.patternID ? t4.patternID : "", C2 = "pattern".concat(s3.globals.cuid).concat(t4.seriesNumber + 1).concat(A3);
        -1 === this.patternIDs.indexOf(C2) && (this.clippedImgArea({ opacity: x3, image: Array.isArray(k2) ? t4.seriesNumber < k2.length ? k2[t4.seriesNumber] : k2[0] : k2, width: t4.width ? t4.width : void 0, height: t4.height ? t4.height : void 0, patternUnits: t4.patternUnits, patternID: C2 }), this.patternIDs.push(C2)), r3 = "url(#".concat(C2, ")");
      } else r3 = b2 ? o3 : "pattern" === p3 ? n2 : m3;
      return t4.solid && (r3 = m3), r3;
    } }, { key: "getFillType", value: function(t4) {
      var e2 = this.w;
      return Array.isArray(e2.config.fill.type) ? e2.config.fill.type[t4] : e2.config.fill.type;
    } }, { key: "getFillColors", value: function() {
      var t4 = this.w, e2 = t4.config, i2 = this.opts, a2 = [];
      return t4.globals.comboCharts ? "line" === t4.config.series[this.seriesIndex].type ? Array.isArray(t4.globals.stroke.colors) ? a2 = t4.globals.stroke.colors : a2.push(t4.globals.stroke.colors) : Array.isArray(t4.globals.fill.colors) ? a2 = t4.globals.fill.colors : a2.push(t4.globals.fill.colors) : "line" === e2.chart.type ? Array.isArray(t4.globals.stroke.colors) ? a2 = t4.globals.stroke.colors : a2.push(t4.globals.stroke.colors) : Array.isArray(t4.globals.fill.colors) ? a2 = t4.globals.fill.colors : a2.push(t4.globals.fill.colors), void 0 !== i2.fillColors && (a2 = [], Array.isArray(i2.fillColors) ? a2 = i2.fillColors.slice() : a2.push(i2.fillColors)), a2;
    } }, { key: "handlePatternFill", value: function(t4) {
      var e2 = t4.fillConfig, i2 = t4.patternFill, a2 = t4.fillColor, s3 = t4.fillOpacity, r3 = t4.defaultColor, n2 = this.w.config.fill;
      e2 && (n2 = e2);
      var o3 = this.opts, l2 = new Mi(this.ctx), h3 = Array.isArray(n2.pattern.strokeWidth) ? n2.pattern.strokeWidth[this.seriesIndex] : n2.pattern.strokeWidth, c2 = a2;
      Array.isArray(n2.pattern.style) ? i2 = void 0 !== n2.pattern.style[o3.seriesNumber] ? l2.drawPattern(n2.pattern.style[o3.seriesNumber], n2.pattern.width, n2.pattern.height, c2, h3, s3) : r3 : i2 = l2.drawPattern(n2.pattern.style, n2.pattern.width, n2.pattern.height, c2, h3, s3);
      return i2;
    } }, { key: "handleGradientFill", value: function(t4) {
      var e2 = t4.type, i2 = t4.fillColor, a2 = t4.fillOpacity, s3 = t4.fillConfig, r3 = t4.colorStops, n2 = t4.i, o3 = this.w.config.fill;
      s3 && (o3 = u(u({}, o3), s3));
      var l2 = this.opts, h3 = new Mi(this.ctx), c2 = new v();
      e2 = e2 || o3.gradient.type;
      var d2, g3 = i2, p3 = void 0 === o3.gradient.opacityFrom ? a2 : Array.isArray(o3.gradient.opacityFrom) ? o3.gradient.opacityFrom[n2] : o3.gradient.opacityFrom;
      g3.indexOf("rgba") > -1 && (p3 = v.getOpacityFromRGBA(g3));
      var f2 = void 0 === o3.gradient.opacityTo ? a2 : Array.isArray(o3.gradient.opacityTo) ? o3.gradient.opacityTo[n2] : o3.gradient.opacityTo;
      if (void 0 === o3.gradient.gradientToColors || 0 === o3.gradient.gradientToColors.length) d2 = "dark" === o3.gradient.shade ? c2.shadeColor(-1 * parseFloat(o3.gradient.shadeIntensity), i2.indexOf("rgb") > -1 ? v.rgb2hex(i2) : i2) : c2.shadeColor(parseFloat(o3.gradient.shadeIntensity), i2.indexOf("rgb") > -1 ? v.rgb2hex(i2) : i2);
      else if (o3.gradient.gradientToColors[l2.seriesNumber]) {
        var x3 = o3.gradient.gradientToColors[l2.seriesNumber];
        d2 = x3, x3.indexOf("rgba") > -1 && (f2 = v.getOpacityFromRGBA(x3));
      } else d2 = i2;
      if (o3.gradient.gradientFrom && (g3 = o3.gradient.gradientFrom), o3.gradient.gradientTo && (d2 = o3.gradient.gradientTo), o3.gradient.inverseColors) {
        var b2 = g3;
        g3 = d2, d2 = b2;
      }
      return g3.indexOf("rgb") > -1 && (g3 = v.rgb2hex(g3)), d2.indexOf("rgb") > -1 && (d2 = v.rgb2hex(d2)), h3.drawGradient(e2, g3, d2, p3, f2, l2.size, o3.gradient.stops, r3, n2);
    } }]), t3;
  }(), Vi = function() {
    function t3(e2, a2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
    }
    return s2(t3, [{ key: "setGlobalMarkerSize", value: function() {
      var t4 = this.w;
      if (t4.globals.markers.size = Array.isArray(t4.config.markers.size) ? t4.config.markers.size : [t4.config.markers.size], t4.globals.markers.size.length > 0) {
        if (t4.globals.markers.size.length < t4.globals.series.length + 1) for (var e2 = 0; e2 <= t4.globals.series.length; e2++) void 0 === t4.globals.markers.size[e2] && t4.globals.markers.size.push(t4.globals.markers.size[0]);
      } else t4.globals.markers.size = t4.config.series.map(function(e3) {
        return t4.config.markers.size;
      });
    } }, { key: "plotChartMarkers", value: function(t4, e2, i2, a2) {
      var s3 = arguments.length > 4 && void 0 !== arguments[4] && arguments[4], r3 = this.w, n2 = e2, o3 = t4, l2 = null, h3 = new Mi(this.ctx), c2 = r3.config.markers.discrete && r3.config.markers.discrete.length;
      if (Array.isArray(o3.x)) for (var d2 = 0; d2 < o3.x.length; d2++) {
        var u2 = void 0, g3 = i2, p3 = !v.isNumber(o3.y[d2]);
        1 === i2 && 0 === d2 && (g3 = 0), 1 === i2 && 1 === d2 && (g3 = 1);
        var f2 = "apexcharts-marker";
        if ("line" !== r3.config.chart.type && "area" !== r3.config.chart.type || r3.globals.comboCharts || r3.config.tooltip.intersect || (f2 += " no-pointer-events"), (Array.isArray(r3.config.markers.size) ? r3.globals.markers.size[e2] > 0 : r3.config.markers.size > 0) || s3 || c2) {
          p3 || (f2 += " w".concat(v.randomId()));
          var x3 = this.getMarkerConfig({ cssClass: f2, seriesIndex: e2, dataPointIndex: g3 });
          if (r3.config.series[n2].data[g3] && (r3.config.series[n2].data[g3].fillColor && (x3.pointFillColor = r3.config.series[n2].data[g3].fillColor), r3.config.series[n2].data[g3].strokeColor && (x3.pointStrokeColor = r3.config.series[n2].data[g3].strokeColor)), void 0 !== a2 && (x3.pSize = a2), (o3.x[d2] < -r3.globals.markers.largestSize || o3.x[d2] > r3.globals.gridWidth + r3.globals.markers.largestSize || o3.y[d2] < -r3.globals.markers.largestSize || o3.y[d2] > r3.globals.gridHeight + r3.globals.markers.largestSize) && (x3.pSize = 0), !p3) (r3.globals.markers.size[e2] > 0 || s3 || c2) && !l2 && (l2 = h3.group({ class: s3 || c2 ? "" : "apexcharts-series-markers" })).attr("clip-path", "url(#gridRectMarkerMask".concat(r3.globals.cuid, ")")), (u2 = h3.drawMarker(o3.x[d2], o3.y[d2], x3)).attr("rel", g3), u2.attr("j", g3), u2.attr("index", e2), u2.node.setAttribute("default-marker-size", x3.pSize), new Li(this.ctx).setSelectionFilter(u2, e2, g3), this.addEvents(u2), l2 && l2.add(u2);
        } else void 0 === r3.globals.pointsArray[e2] && (r3.globals.pointsArray[e2] = []), r3.globals.pointsArray[e2].push([o3.x[d2], o3.y[d2]]);
      }
      return l2;
    } }, { key: "getMarkerConfig", value: function(t4) {
      var e2 = t4.cssClass, i2 = t4.seriesIndex, a2 = t4.dataPointIndex, s3 = void 0 === a2 ? null : a2, r3 = t4.radius, n2 = void 0 === r3 ? null : r3, o3 = t4.size, l2 = void 0 === o3 ? null : o3, h3 = t4.strokeWidth, c2 = void 0 === h3 ? null : h3, d2 = this.w, u2 = this.getMarkerStyle(i2), g3 = null === l2 ? d2.globals.markers.size[i2] : l2, p3 = d2.config.markers;
      return null !== s3 && p3.discrete.length && p3.discrete.map(function(t5) {
        t5.seriesIndex === i2 && t5.dataPointIndex === s3 && (u2.pointStrokeColor = t5.strokeColor, u2.pointFillColor = t5.fillColor, g3 = t5.size, u2.pointShape = t5.shape);
      }), { pSize: null === n2 ? g3 : n2, pRadius: null !== n2 ? n2 : p3.radius, pointStrokeWidth: null !== c2 ? c2 : Array.isArray(p3.strokeWidth) ? p3.strokeWidth[i2] : p3.strokeWidth, pointStrokeColor: u2.pointStrokeColor, pointFillColor: u2.pointFillColor, shape: u2.pointShape || (Array.isArray(p3.shape) ? p3.shape[i2] : p3.shape), class: e2, pointStrokeOpacity: Array.isArray(p3.strokeOpacity) ? p3.strokeOpacity[i2] : p3.strokeOpacity, pointStrokeDashArray: Array.isArray(p3.strokeDashArray) ? p3.strokeDashArray[i2] : p3.strokeDashArray, pointFillOpacity: Array.isArray(p3.fillOpacity) ? p3.fillOpacity[i2] : p3.fillOpacity, seriesIndex: i2 };
    } }, { key: "addEvents", value: function(t4) {
      var e2 = this.w, i2 = new Mi(this.ctx);
      t4.node.addEventListener("mouseenter", i2.pathMouseEnter.bind(this.ctx, t4)), t4.node.addEventListener("mouseleave", i2.pathMouseLeave.bind(this.ctx, t4)), t4.node.addEventListener("mousedown", i2.pathMouseDown.bind(this.ctx, t4)), t4.node.addEventListener("click", e2.config.markers.onClick), t4.node.addEventListener("dblclick", e2.config.markers.onDblClick), t4.node.addEventListener("touchstart", i2.pathMouseDown.bind(this.ctx, t4), { passive: true });
    } }, { key: "getMarkerStyle", value: function(t4) {
      var e2 = this.w, i2 = e2.globals.markers.colors, a2 = e2.config.markers.strokeColor || e2.config.markers.strokeColors;
      return { pointStrokeColor: Array.isArray(a2) ? a2[t4] : a2, pointFillColor: Array.isArray(i2) ? i2[t4] : i2 };
    } }]), t3;
  }(), Ui = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w, this.initialAnim = this.w.config.chart.animations.enabled;
    }
    return s2(t3, [{ key: "draw", value: function(t4, e2, i2) {
      var a2 = this.w, s3 = new Mi(this.ctx), r3 = i2.realIndex, n2 = i2.pointsPos, o3 = i2.zRatio, l2 = i2.elParent, h3 = s3.group({ class: "apexcharts-series-markers apexcharts-series-".concat(a2.config.chart.type) });
      if (h3.attr("clip-path", "url(#gridRectMarkerMask".concat(a2.globals.cuid, ")")), Array.isArray(n2.x)) for (var c2 = 0; c2 < n2.x.length; c2++) {
        var d2 = e2 + 1, u2 = true;
        0 === e2 && 0 === c2 && (d2 = 0), 0 === e2 && 1 === c2 && (d2 = 1);
        var g3 = a2.globals.markers.size[r3];
        if (o3 !== 1 / 0) {
          var p3 = a2.config.plotOptions.bubble;
          g3 = a2.globals.seriesZ[r3][d2], p3.zScaling && (g3 /= o3), p3.minBubbleRadius && g3 < p3.minBubbleRadius && (g3 = p3.minBubbleRadius), p3.maxBubbleRadius && g3 > p3.maxBubbleRadius && (g3 = p3.maxBubbleRadius);
        }
        var f2 = n2.x[c2], x3 = n2.y[c2];
        if (g3 = g3 || 0, null !== x3 && void 0 !== a2.globals.series[r3][d2] || (u2 = false), u2) {
          var b2 = this.drawPoint(f2, x3, g3, r3, d2, e2);
          h3.add(b2);
        }
        l2.add(h3);
      }
    } }, { key: "drawPoint", value: function(t4, e2, i2, a2, s3, r3) {
      var n2 = this.w, o3 = a2, l2 = new y(this.ctx), h3 = new Li(this.ctx), c2 = new ji(this.ctx), d2 = new Vi(this.ctx), u2 = new Mi(this.ctx), g3 = d2.getMarkerConfig({ cssClass: "apexcharts-marker", seriesIndex: o3, dataPointIndex: s3, radius: "bubble" === n2.config.chart.type || n2.globals.comboCharts && n2.config.series[a2] && "bubble" === n2.config.series[a2].type ? i2 : null }), p3 = c2.fillPath({ seriesNumber: a2, dataPointIndex: s3, color: g3.pointFillColor, patternUnits: "objectBoundingBox", value: n2.globals.series[a2][r3] }), f2 = u2.drawMarker(t4, e2, g3);
      if (n2.config.series[o3].data[s3] && n2.config.series[o3].data[s3].fillColor && (p3 = n2.config.series[o3].data[s3].fillColor), f2.attr({ fill: p3 }), n2.config.chart.dropShadow.enabled) {
        var x3 = n2.config.chart.dropShadow;
        h3.dropShadow(f2, x3, a2);
      }
      if (!this.initialAnim || n2.globals.dataChanged || n2.globals.resized) n2.globals.animationEnded = true;
      else {
        var b2 = n2.config.chart.animations.speed;
        l2.animateMarker(f2, b2, n2.globals.easing, function() {
          window.setTimeout(function() {
            l2.animationCompleted(f2);
          }, 100);
        });
      }
      return f2.attr({ rel: s3, j: s3, index: a2, "default-marker-size": g3.pSize }), h3.setSelectionFilter(f2, a2, s3), d2.addEvents(f2), f2.node.classList.add("apexcharts-marker"), f2;
    } }, { key: "centerTextInBubble", value: function(t4) {
      var e2 = this.w;
      return { y: t4 += parseInt(e2.config.dataLabels.style.fontSize, 10) / 4 };
    } }]), t3;
  }(), qi = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
    }
    return s2(t3, [{ key: "dataLabelsCorrection", value: function(t4, e2, i2, a2, s3, r3, n2) {
      var o3 = this.w, l2 = false, h3 = new Mi(this.ctx).getTextRects(i2, n2), c2 = h3.width, d2 = h3.height;
      e2 < 0 && (e2 = 0), e2 > o3.globals.gridHeight + d2 && (e2 = o3.globals.gridHeight + d2 / 2), void 0 === o3.globals.dataLabelsRects[a2] && (o3.globals.dataLabelsRects[a2] = []), o3.globals.dataLabelsRects[a2].push({ x: t4, y: e2, width: c2, height: d2 });
      var u2 = o3.globals.dataLabelsRects[a2].length - 2, g3 = void 0 !== o3.globals.lastDrawnDataLabelsIndexes[a2] ? o3.globals.lastDrawnDataLabelsIndexes[a2][o3.globals.lastDrawnDataLabelsIndexes[a2].length - 1] : 0;
      if (void 0 !== o3.globals.dataLabelsRects[a2][u2]) {
        var p3 = o3.globals.dataLabelsRects[a2][g3];
        (t4 > p3.x + p3.width || e2 > p3.y + p3.height || e2 + d2 < p3.y || t4 + c2 < p3.x) && (l2 = true);
      }
      return (0 === s3 || r3) && (l2 = true), { x: t4, y: e2, textRects: h3, drawnextLabel: l2 };
    } }, { key: "drawDataLabel", value: function(t4) {
      var e2 = this, i2 = t4.type, a2 = t4.pos, s3 = t4.i, r3 = t4.j, n2 = t4.isRangeStart, o3 = t4.strokeWidth, l2 = void 0 === o3 ? 2 : o3, h3 = this.w, c2 = new Mi(this.ctx), d2 = h3.config.dataLabels, u2 = 0, g3 = 0, p3 = r3, f2 = null;
      if (-1 !== h3.globals.collapsedSeriesIndices.indexOf(s3) || !d2.enabled || !Array.isArray(a2.x)) return f2;
      f2 = c2.group({ class: "apexcharts-data-labels" });
      for (var x3 = 0; x3 < a2.x.length; x3++) if (u2 = a2.x[x3] + d2.offsetX, g3 = a2.y[x3] + d2.offsetY + l2, !isNaN(u2)) {
        1 === r3 && 0 === x3 && (p3 = 0), 1 === r3 && 1 === x3 && (p3 = 1);
        var b2 = h3.globals.series[s3][p3];
        "rangeArea" === i2 && (b2 = n2 ? h3.globals.seriesRangeStart[s3][p3] : h3.globals.seriesRangeEnd[s3][p3]);
        var m3 = "", v2 = function(t5) {
          return h3.config.dataLabels.formatter(t5, { ctx: e2.ctx, seriesIndex: s3, dataPointIndex: p3, w: h3 });
        };
        if ("bubble" === h3.config.chart.type) m3 = v2(b2 = h3.globals.seriesZ[s3][p3]), g3 = a2.y[x3], g3 = new Ui(this.ctx).centerTextInBubble(g3, s3, p3).y;
        else void 0 !== b2 && (m3 = v2(b2));
        var y2 = h3.config.dataLabels.textAnchor;
        h3.globals.isSlopeChart && (y2 = 0 === p3 ? "end" : p3 === h3.config.series[s3].data.length - 1 ? "start" : "middle"), this.plotDataLabelsText({ x: u2, y: g3, text: m3, i: s3, j: p3, parent: f2, offsetCorrection: true, dataLabelsConfig: h3.config.dataLabels, textAnchor: y2 });
      }
      return f2;
    } }, { key: "plotDataLabelsText", value: function(t4) {
      var e2 = this.w, i2 = new Mi(this.ctx), a2 = t4.x, s3 = t4.y, r3 = t4.i, n2 = t4.j, o3 = t4.text, l2 = t4.textAnchor, h3 = t4.fontSize, c2 = t4.parent, d2 = t4.dataLabelsConfig, u2 = t4.color, g3 = t4.alwaysDrawDataLabel, p3 = t4.offsetCorrection, f2 = t4.className, x3 = null;
      if (Array.isArray(e2.config.dataLabels.enabledOnSeries) && e2.config.dataLabels.enabledOnSeries.indexOf(r3) < 0) return x3;
      var b2 = { x: a2, y: s3, drawnextLabel: true, textRects: null };
      p3 && (b2 = this.dataLabelsCorrection(a2, s3, o3, r3, n2, g3, parseInt(d2.style.fontSize, 10))), e2.globals.zoomed || (a2 = b2.x, s3 = b2.y), b2.textRects && (a2 < -20 - b2.textRects.width || a2 > e2.globals.gridWidth + b2.textRects.width + 30) && (o3 = "");
      var m3 = e2.globals.dataLabels.style.colors[r3];
      (("bar" === e2.config.chart.type || "rangeBar" === e2.config.chart.type) && e2.config.plotOptions.bar.distributed || e2.config.dataLabels.distributed) && (m3 = e2.globals.dataLabels.style.colors[n2]), "function" == typeof m3 && (m3 = m3({ series: e2.globals.series, seriesIndex: r3, dataPointIndex: n2, w: e2 })), u2 && (m3 = u2);
      var v2 = d2.offsetX, y2 = d2.offsetY;
      if ("bar" !== e2.config.chart.type && "rangeBar" !== e2.config.chart.type || (v2 = 0, y2 = 0), e2.globals.isSlopeChart && (0 !== n2 && (v2 = -2 * d2.offsetX + 5), 0 !== n2 && n2 !== e2.config.series[r3].data.length - 1 && (v2 = 0)), b2.drawnextLabel) {
        if ((x3 = i2.drawText({ width: 100, height: parseInt(d2.style.fontSize, 10), x: a2 + v2, y: s3 + y2, foreColor: m3, textAnchor: l2 || d2.textAnchor, text: o3, fontSize: h3 || d2.style.fontSize, fontFamily: d2.style.fontFamily, fontWeight: d2.style.fontWeight || "normal" })).attr({ class: f2 || "apexcharts-datalabel", cx: a2, cy: s3 }), d2.dropShadow.enabled) {
          var w3 = d2.dropShadow;
          new Li(this.ctx).dropShadow(x3, w3);
        }
        c2.add(x3), void 0 === e2.globals.lastDrawnDataLabelsIndexes[r3] && (e2.globals.lastDrawnDataLabelsIndexes[r3] = []), e2.globals.lastDrawnDataLabelsIndexes[r3].push(n2);
      }
      return x3;
    } }, { key: "addBackgroundToDataLabel", value: function(t4, e2) {
      var i2 = this.w, a2 = i2.config.dataLabels.background, s3 = a2.padding, r3 = a2.padding / 2, n2 = e2.width, o3 = e2.height, l2 = new Mi(this.ctx).drawRect(e2.x - s3, e2.y - r3 / 2, n2 + 2 * s3, o3 + r3, a2.borderRadius, "transparent" !== i2.config.chart.background && i2.config.chart.background ? i2.config.chart.background : "#fff", a2.opacity, a2.borderWidth, a2.borderColor);
      a2.dropShadow.enabled && new Li(this.ctx).dropShadow(l2, a2.dropShadow);
      return l2;
    } }, { key: "dataLabelsBackground", value: function() {
      var t4 = this.w;
      if ("bubble" !== t4.config.chart.type) for (var e2 = t4.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels text"), i2 = 0; i2 < e2.length; i2++) {
        var a2 = e2[i2], s3 = a2.getBBox(), r3 = null;
        if (s3.width && s3.height && (r3 = this.addBackgroundToDataLabel(a2, s3)), r3) {
          a2.parentNode.insertBefore(r3.node, a2);
          var n2 = a2.getAttribute("fill");
          t4.config.chart.animations.enabled && !t4.globals.resized && !t4.globals.dataChanged ? r3.animate().attr({ fill: n2 }) : r3.attr({ fill: n2 }), a2.setAttribute("fill", t4.config.dataLabels.background.foreColor);
        }
      }
    } }, { key: "bringForward", value: function() {
      for (var t4 = this.w, e2 = t4.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels"), i2 = t4.globals.dom.baseEl.querySelector(".apexcharts-plot-series:last-child"), a2 = 0; a2 < e2.length; a2++) i2 && i2.insertBefore(e2[a2], i2.nextSibling);
    } }]), t3;
  }(), Zi = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w, this.legendInactiveClass = "legend-mouseover-inactive";
    }
    return s2(t3, [{ key: "getAllSeriesEls", value: function() {
      return this.w.globals.dom.baseEl.getElementsByClassName("apexcharts-series");
    } }, { key: "getSeriesByName", value: function(t4) {
      return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner .apexcharts-series[seriesName='".concat(v.escapeString(t4), "']"));
    } }, { key: "isSeriesHidden", value: function(t4) {
      var e2 = this.getSeriesByName(t4), i2 = parseInt(e2.getAttribute("data:realIndex"), 10);
      return { isHidden: e2.classList.contains("apexcharts-series-collapsed"), realIndex: i2 };
    } }, { key: "addCollapsedClassToSeries", value: function(t4, e2) {
      var i2 = this.w;
      function a2(i3) {
        for (var a3 = 0; a3 < i3.length; a3++) i3[a3].index === e2 && t4.node.classList.add("apexcharts-series-collapsed");
      }
      a2(i2.globals.collapsedSeries), a2(i2.globals.ancillaryCollapsedSeries);
    } }, { key: "toggleSeries", value: function(t4) {
      var e2 = this.isSeriesHidden(t4);
      return this.ctx.legend.legendHelpers.toggleDataSeries(e2.realIndex, e2.isHidden), e2.isHidden;
    } }, { key: "showSeries", value: function(t4) {
      var e2 = this.isSeriesHidden(t4);
      e2.isHidden && this.ctx.legend.legendHelpers.toggleDataSeries(e2.realIndex, true);
    } }, { key: "hideSeries", value: function(t4) {
      var e2 = this.isSeriesHidden(t4);
      e2.isHidden || this.ctx.legend.legendHelpers.toggleDataSeries(e2.realIndex, false);
    } }, { key: "resetSeries", value: function() {
      var t4 = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0], e2 = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], i2 = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2], a2 = this.w, s3 = v.clone(a2.globals.initialSeries);
      a2.globals.previousPaths = [], i2 ? (a2.globals.collapsedSeries = [], a2.globals.ancillaryCollapsedSeries = [], a2.globals.collapsedSeriesIndices = [], a2.globals.ancillaryCollapsedSeriesIndices = []) : s3 = this.emptyCollapsedSeries(s3), a2.config.series = s3, t4 && (e2 && (a2.globals.zoomed = false, this.ctx.updateHelpers.revertDefaultAxisMinMax()), this.ctx.updateHelpers._updateSeries(s3, a2.config.chart.animations.dynamicAnimation.enabled));
    } }, { key: "emptyCollapsedSeries", value: function(t4) {
      for (var e2 = this.w, i2 = 0; i2 < t4.length; i2++) e2.globals.collapsedSeriesIndices.indexOf(i2) > -1 && (t4[i2].data = []);
      return t4;
    } }, { key: "highlightSeries", value: function(t4) {
      var e2 = this.w, i2 = this.getSeriesByName(t4), a2 = parseInt(null == i2 ? void 0 : i2.getAttribute("data:realIndex"), 10), s3 = e2.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis"), r3 = null, n2 = null, o3 = null;
      if (e2.globals.axisCharts || "radialBar" === e2.config.chart.type) if (e2.globals.axisCharts) {
        r3 = e2.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(a2, "']")), n2 = e2.globals.dom.baseEl.querySelector(".apexcharts-datalabels[data\\:realIndex='".concat(a2, "']"));
        var l2 = e2.globals.seriesYAxisReverseMap[a2];
        o3 = e2.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(l2, "']"));
      } else r3 = e2.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(a2 + 1, "']"));
      else r3 = e2.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(a2 + 1, "'] path"));
      for (var h3 = 0; h3 < s3.length; h3++) s3[h3].classList.add(this.legendInactiveClass);
      if (r3) e2.globals.axisCharts || r3.parentNode.classList.remove(this.legendInactiveClass), r3.classList.remove(this.legendInactiveClass), null !== n2 && n2.classList.remove(this.legendInactiveClass), null !== o3 && o3.classList.remove(this.legendInactiveClass);
      else for (var c2 = 0; c2 < s3.length; c2++) s3[c2].classList.remove(this.legendInactiveClass);
    } }, { key: "toggleSeriesOnHover", value: function(t4, e2) {
      var i2 = this.w;
      e2 || (e2 = t4.target);
      var a2 = i2.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis");
      if ("mousemove" === t4.type) {
        var s3 = parseInt(e2.getAttribute("rel"), 10) - 1;
        this.highlightSeries(i2.globals.seriesNames[s3]);
      } else if ("mouseout" === t4.type) for (var r3 = 0; r3 < a2.length; r3++) a2[r3].classList.remove(this.legendInactiveClass);
    } }, { key: "highlightRangeInSeries", value: function(t4, e2) {
      var i2 = this, a2 = this.w, s3 = a2.globals.dom.baseEl.getElementsByClassName("apexcharts-heatmap-rect"), r3 = function(t5) {
        for (var e3 = 0; e3 < s3.length; e3++) s3[e3].classList[t5](i2.legendInactiveClass);
      };
      if ("mousemove" === t4.type) {
        var n2 = parseInt(e2.getAttribute("rel"), 10) - 1;
        r3("add");
        var o3 = a2.config.plotOptions.heatmap.colorScale.ranges;
        !function(t5, e3) {
          for (var a3 = 0; a3 < s3.length; a3++) {
            var r4 = Number(s3[a3].getAttribute("val"));
            r4 >= t5.from && (r4 < t5.to || t5.to === e3 && r4 === e3) && s3[a3].classList.remove(i2.legendInactiveClass);
          }
        }(o3[n2], o3.reduce(function(t5, e3) {
          return Math.max(t5, e3.to);
        }, 0));
      } else "mouseout" === t4.type && r3("remove");
    } }, { key: "getActiveConfigSeriesIndex", value: function() {
      var t4 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "asc", e2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [], i2 = this.w, a2 = 0;
      if (i2.config.series.length > 1) {
        for (var s3 = i2.config.series.map(function(t5, a3) {
          return t5.data && t5.data.length > 0 && -1 === i2.globals.collapsedSeriesIndices.indexOf(a3) && (!i2.globals.comboCharts || 0 === e2.length || e2.length && e2.indexOf(i2.config.series[a3].type) > -1) ? a3 : -1;
        }), r3 = "asc" === t4 ? 0 : s3.length - 1; "asc" === t4 ? r3 < s3.length : r3 >= 0; "asc" === t4 ? r3++ : r3--) if (-1 !== s3[r3]) {
          a2 = s3[r3];
          break;
        }
      }
      return a2;
    } }, { key: "getBarSeriesIndices", value: function() {
      return this.w.globals.comboCharts ? this.w.config.series.map(function(t4, e2) {
        return "bar" === t4.type || "column" === t4.type ? e2 : -1;
      }).filter(function(t4) {
        return -1 !== t4;
      }) : this.w.config.series.map(function(t4, e2) {
        return e2;
      });
    } }, { key: "getPreviousPaths", value: function() {
      var t4 = this.w;
      function e2(e3, i3, a3) {
        for (var s4 = e3[i3].childNodes, r3 = { type: a3, paths: [], realIndex: e3[i3].getAttribute("data:realIndex") }, n2 = 0; n2 < s4.length; n2++) if (s4[n2].hasAttribute("pathTo")) {
          var o3 = s4[n2].getAttribute("pathTo");
          r3.paths.push({ d: o3 });
        }
        t4.globals.previousPaths.push(r3);
      }
      t4.globals.previousPaths = [];
      ["line", "area", "bar", "rangebar", "rangeArea", "candlestick", "radar"].forEach(function(i3) {
        for (var a3, s4 = (a3 = i3, t4.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(a3, "-series .apexcharts-series"))), r3 = 0; r3 < s4.length; r3++) e2(s4, r3, i3);
      });
      var i2 = t4.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(t4.config.chart.type, " .apexcharts-series"));
      if (i2.length > 0) for (var a2 = function(e3) {
        for (var i3 = t4.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(t4.config.chart.type, " .apexcharts-series[data\\:realIndex='").concat(e3, "'] rect")), a3 = [], s4 = function(t5) {
          var e4 = function(e5) {
            return i3[t5].getAttribute(e5);
          }, s5 = { x: parseFloat(e4("x")), y: parseFloat(e4("y")), width: parseFloat(e4("width")), height: parseFloat(e4("height")) };
          a3.push({ rect: s5, color: i3[t5].getAttribute("color") });
        }, r3 = 0; r3 < i3.length; r3++) s4(r3);
        t4.globals.previousPaths.push(a3);
      }, s3 = 0; s3 < i2.length; s3++) a2(s3);
      t4.globals.axisCharts || (t4.globals.previousPaths = t4.globals.series);
    } }, { key: "clearPreviousPaths", value: function() {
      var t4 = this.w;
      t4.globals.previousPaths = [], t4.globals.allSeriesCollapsed = false;
    } }, { key: "handleNoData", value: function() {
      var t4 = this.w, e2 = t4.config.noData, i2 = new Mi(this.ctx), a2 = t4.globals.svgWidth / 2, s3 = t4.globals.svgHeight / 2, r3 = "middle";
      if (t4.globals.noData = true, t4.globals.animationEnded = true, "left" === e2.align ? (a2 = 10, r3 = "start") : "right" === e2.align && (a2 = t4.globals.svgWidth - 10, r3 = "end"), "top" === e2.verticalAlign ? s3 = 50 : "bottom" === e2.verticalAlign && (s3 = t4.globals.svgHeight - 50), a2 += e2.offsetX, s3 = s3 + parseInt(e2.style.fontSize, 10) + 2 + e2.offsetY, void 0 !== e2.text && "" !== e2.text) {
        var n2 = i2.drawText({ x: a2, y: s3, text: e2.text, textAnchor: r3, fontSize: e2.style.fontSize, fontFamily: e2.style.fontFamily, foreColor: e2.style.color, opacity: 1, class: "apexcharts-text-nodata" });
        t4.globals.dom.Paper.add(n2);
      }
    } }, { key: "setNullSeriesToZeroValues", value: function(t4) {
      for (var e2 = this.w, i2 = 0; i2 < t4.length; i2++) if (0 === t4[i2].length) for (var a2 = 0; a2 < t4[e2.globals.maxValsInArrayIndex].length; a2++) t4[i2].push(0);
      return t4;
    } }, { key: "hasAllSeriesEqualX", value: function() {
      for (var t4 = true, e2 = this.w, i2 = this.filteredSeriesX(), a2 = 0; a2 < i2.length - 1; a2++) if (i2[a2][0] !== i2[a2 + 1][0]) {
        t4 = false;
        break;
      }
      return e2.globals.allSeriesHasEqualX = t4, t4;
    } }, { key: "filteredSeriesX", value: function() {
      var t4 = this.w.globals.seriesX.map(function(t5) {
        return t5.length > 0 ? t5 : [];
      });
      return t4;
    } }]), t3;
  }(), $i = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w, this.twoDSeries = [], this.threeDSeries = [], this.twoDSeriesX = [], this.seriesGoals = [], this.coreUtils = new Pi(this.ctx);
    }
    return s2(t3, [{ key: "isMultiFormat", value: function() {
      return this.isFormatXY() || this.isFormat2DArray();
    } }, { key: "isFormatXY", value: function() {
      var t4 = this.w.config.series.slice(), e2 = new Zi(this.ctx);
      if (this.activeSeriesIndex = e2.getActiveConfigSeriesIndex(), void 0 !== t4[this.activeSeriesIndex].data && t4[this.activeSeriesIndex].data.length > 0 && null !== t4[this.activeSeriesIndex].data[0] && void 0 !== t4[this.activeSeriesIndex].data[0].x && null !== t4[this.activeSeriesIndex].data[0]) return true;
    } }, { key: "isFormat2DArray", value: function() {
      var t4 = this.w.config.series.slice(), e2 = new Zi(this.ctx);
      if (this.activeSeriesIndex = e2.getActiveConfigSeriesIndex(), void 0 !== t4[this.activeSeriesIndex].data && t4[this.activeSeriesIndex].data.length > 0 && void 0 !== t4[this.activeSeriesIndex].data[0] && null !== t4[this.activeSeriesIndex].data[0] && t4[this.activeSeriesIndex].data[0].constructor === Array) return true;
    } }, { key: "handleFormat2DArray", value: function(t4, e2) {
      for (var i2 = this.w.config, a2 = this.w.globals, s3 = "boxPlot" === i2.chart.type || "boxPlot" === i2.series[e2].type, r3 = 0; r3 < t4[e2].data.length; r3++) if (void 0 !== t4[e2].data[r3][1] && (Array.isArray(t4[e2].data[r3][1]) && 4 === t4[e2].data[r3][1].length && !s3 ? this.twoDSeries.push(v.parseNumber(t4[e2].data[r3][1][3])) : t4[e2].data[r3].length >= 5 ? this.twoDSeries.push(v.parseNumber(t4[e2].data[r3][4])) : this.twoDSeries.push(v.parseNumber(t4[e2].data[r3][1])), a2.dataFormatXNumeric = true), "datetime" === i2.xaxis.type) {
        var n2 = new Date(t4[e2].data[r3][0]);
        n2 = new Date(n2).getTime(), this.twoDSeriesX.push(n2);
      } else this.twoDSeriesX.push(t4[e2].data[r3][0]);
      for (var o3 = 0; o3 < t4[e2].data.length; o3++) void 0 !== t4[e2].data[o3][2] && (this.threeDSeries.push(t4[e2].data[o3][2]), a2.isDataXYZ = true);
    } }, { key: "handleFormatXY", value: function(t4, e2) {
      var i2 = this.w.config, a2 = this.w.globals, s3 = new zi(this.ctx), r3 = e2;
      a2.collapsedSeriesIndices.indexOf(e2) > -1 && (r3 = this.activeSeriesIndex);
      for (var n2 = 0; n2 < t4[e2].data.length; n2++) void 0 !== t4[e2].data[n2].y && (Array.isArray(t4[e2].data[n2].y) ? this.twoDSeries.push(v.parseNumber(t4[e2].data[n2].y[t4[e2].data[n2].y.length - 1])) : this.twoDSeries.push(v.parseNumber(t4[e2].data[n2].y))), void 0 !== t4[e2].data[n2].goals && Array.isArray(t4[e2].data[n2].goals) ? (void 0 === this.seriesGoals[e2] && (this.seriesGoals[e2] = []), this.seriesGoals[e2].push(t4[e2].data[n2].goals)) : (void 0 === this.seriesGoals[e2] && (this.seriesGoals[e2] = []), this.seriesGoals[e2].push(null));
      for (var o3 = 0; o3 < t4[r3].data.length; o3++) {
        var l2 = "string" == typeof t4[r3].data[o3].x, h3 = Array.isArray(t4[r3].data[o3].x), c2 = !h3 && !!s3.isValidDate(t4[r3].data[o3].x);
        if (l2 || c2) if (l2 || i2.xaxis.convertedCatToNumeric) {
          var d2 = a2.isBarHorizontal && a2.isRangeData;
          "datetime" !== i2.xaxis.type || d2 ? (this.fallbackToCategory = true, this.twoDSeriesX.push(t4[r3].data[o3].x), isNaN(t4[r3].data[o3].x) || "category" === this.w.config.xaxis.type || "string" == typeof t4[r3].data[o3].x || (a2.isXNumeric = true)) : this.twoDSeriesX.push(s3.parseDate(t4[r3].data[o3].x));
        } else "datetime" === i2.xaxis.type ? this.twoDSeriesX.push(s3.parseDate(t4[r3].data[o3].x.toString())) : (a2.dataFormatXNumeric = true, a2.isXNumeric = true, this.twoDSeriesX.push(parseFloat(t4[r3].data[o3].x)));
        else h3 ? (this.fallbackToCategory = true, this.twoDSeriesX.push(t4[r3].data[o3].x)) : (a2.isXNumeric = true, a2.dataFormatXNumeric = true, this.twoDSeriesX.push(t4[r3].data[o3].x));
      }
      if (t4[e2].data[0] && void 0 !== t4[e2].data[0].z) {
        for (var u2 = 0; u2 < t4[e2].data.length; u2++) this.threeDSeries.push(t4[e2].data[u2].z);
        a2.isDataXYZ = true;
      }
    } }, { key: "handleRangeData", value: function(t4, e2) {
      var i2 = this.w.globals, a2 = {};
      return this.isFormat2DArray() ? a2 = this.handleRangeDataFormat("array", t4, e2) : this.isFormatXY() && (a2 = this.handleRangeDataFormat("xy", t4, e2)), i2.seriesRangeStart.push(void 0 === a2.start ? [] : a2.start), i2.seriesRangeEnd.push(void 0 === a2.end ? [] : a2.end), i2.seriesRange.push(a2.rangeUniques), i2.seriesRange.forEach(function(t5, e3) {
        t5 && t5.forEach(function(t6, e4) {
          t6.y.forEach(function(e5, i3) {
            for (var a3 = 0; a3 < t6.y.length; a3++) if (i3 !== a3) {
              var s3 = e5.y1, r3 = e5.y2, n2 = t6.y[a3].y1;
              s3 <= t6.y[a3].y2 && n2 <= r3 && (t6.overlaps.indexOf(e5.rangeName) < 0 && t6.overlaps.push(e5.rangeName), t6.overlaps.indexOf(t6.y[a3].rangeName) < 0 && t6.overlaps.push(t6.y[a3].rangeName));
            }
          });
        });
      }), a2;
    } }, { key: "handleCandleStickBoxData", value: function(t4, e2) {
      var i2 = this.w.globals, a2 = {};
      return this.isFormat2DArray() ? a2 = this.handleCandleStickBoxDataFormat("array", t4, e2) : this.isFormatXY() && (a2 = this.handleCandleStickBoxDataFormat("xy", t4, e2)), i2.seriesCandleO[e2] = a2.o, i2.seriesCandleH[e2] = a2.h, i2.seriesCandleM[e2] = a2.m, i2.seriesCandleL[e2] = a2.l, i2.seriesCandleC[e2] = a2.c, a2;
    } }, { key: "handleRangeDataFormat", value: function(t4, e2, i2) {
      var a2 = [], s3 = [], r3 = e2[i2].data.filter(function(t5, e3, i3) {
        return e3 === i3.findIndex(function(e4) {
          return e4.x === t5.x;
        });
      }).map(function(t5, e3) {
        return { x: t5.x, overlaps: [], y: [] };
      });
      if ("array" === t4) for (var n2 = 0; n2 < e2[i2].data.length; n2++) Array.isArray(e2[i2].data[n2]) ? (a2.push(e2[i2].data[n2][1][0]), s3.push(e2[i2].data[n2][1][1])) : (a2.push(e2[i2].data[n2]), s3.push(e2[i2].data[n2]));
      else if ("xy" === t4) for (var o3 = function(t5) {
        var n3 = Array.isArray(e2[i2].data[t5].y), o4 = v.randomId(), l3 = e2[i2].data[t5].x, h3 = { y1: n3 ? e2[i2].data[t5].y[0] : e2[i2].data[t5].y, y2: n3 ? e2[i2].data[t5].y[1] : e2[i2].data[t5].y, rangeName: o4 };
        e2[i2].data[t5].rangeName = o4;
        var c2 = r3.findIndex(function(t6) {
          return t6.x === l3;
        });
        r3[c2].y.push(h3), a2.push(h3.y1), s3.push(h3.y2);
      }, l2 = 0; l2 < e2[i2].data.length; l2++) o3(l2);
      return { start: a2, end: s3, rangeUniques: r3 };
    } }, { key: "handleCandleStickBoxDataFormat", value: function(t4, e2, i2) {
      var a2 = this.w, s3 = "boxPlot" === a2.config.chart.type || "boxPlot" === a2.config.series[i2].type, r3 = [], n2 = [], o3 = [], l2 = [], h3 = [];
      if ("array" === t4) if (s3 && 6 === e2[i2].data[0].length || !s3 && 5 === e2[i2].data[0].length) for (var c2 = 0; c2 < e2[i2].data.length; c2++) r3.push(e2[i2].data[c2][1]), n2.push(e2[i2].data[c2][2]), s3 ? (o3.push(e2[i2].data[c2][3]), l2.push(e2[i2].data[c2][4]), h3.push(e2[i2].data[c2][5])) : (l2.push(e2[i2].data[c2][3]), h3.push(e2[i2].data[c2][4]));
      else for (var d2 = 0; d2 < e2[i2].data.length; d2++) Array.isArray(e2[i2].data[d2][1]) && (r3.push(e2[i2].data[d2][1][0]), n2.push(e2[i2].data[d2][1][1]), s3 ? (o3.push(e2[i2].data[d2][1][2]), l2.push(e2[i2].data[d2][1][3]), h3.push(e2[i2].data[d2][1][4])) : (l2.push(e2[i2].data[d2][1][2]), h3.push(e2[i2].data[d2][1][3])));
      else if ("xy" === t4) for (var u2 = 0; u2 < e2[i2].data.length; u2++) Array.isArray(e2[i2].data[u2].y) && (r3.push(e2[i2].data[u2].y[0]), n2.push(e2[i2].data[u2].y[1]), s3 ? (o3.push(e2[i2].data[u2].y[2]), l2.push(e2[i2].data[u2].y[3]), h3.push(e2[i2].data[u2].y[4])) : (l2.push(e2[i2].data[u2].y[2]), h3.push(e2[i2].data[u2].y[3])));
      return { o: r3, h: n2, m: o3, l: l2, c: h3 };
    } }, { key: "parseDataAxisCharts", value: function(t4) {
      var e2 = this, i2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : this.ctx, a2 = this.w.config, s3 = this.w.globals, r3 = new zi(i2), n2 = a2.labels.length > 0 ? a2.labels.slice() : a2.xaxis.categories.slice();
      s3.isRangeBar = "rangeBar" === a2.chart.type && s3.isBarHorizontal, s3.hasXaxisGroups = "category" === a2.xaxis.type && a2.xaxis.group.groups.length > 0, s3.hasXaxisGroups && (s3.groups = a2.xaxis.group.groups), t4.forEach(function(t5, e3) {
        void 0 !== t5.name ? s3.seriesNames.push(t5.name) : s3.seriesNames.push("series-" + parseInt(e3 + 1, 10));
      }), this.coreUtils.setSeriesYAxisMappings();
      var o3 = [], l2 = f(new Set(a2.series.map(function(t5) {
        return t5.group;
      })));
      a2.series.forEach(function(t5, e3) {
        var i3 = l2.indexOf(t5.group);
        o3[i3] || (o3[i3] = []), o3[i3].push(s3.seriesNames[e3]);
      }), s3.seriesGroups = o3;
      for (var h3 = function() {
        for (var t5 = 0; t5 < n2.length; t5++) if ("string" == typeof n2[t5]) {
          if (!r3.isValidDate(n2[t5])) throw new Error("You have provided invalid Date format. Please provide a valid JavaScript Date");
          e2.twoDSeriesX.push(r3.parseDate(n2[t5]));
        } else e2.twoDSeriesX.push(n2[t5]);
      }, c2 = 0; c2 < t4.length; c2++) {
        if (this.twoDSeries = [], this.twoDSeriesX = [], this.threeDSeries = [], void 0 === t4[c2].data) return void console.error("It is a possibility that you may have not included 'data' property in series.");
        if ("rangeBar" !== a2.chart.type && "rangeArea" !== a2.chart.type && "rangeBar" !== t4[c2].type && "rangeArea" !== t4[c2].type || (s3.isRangeData = true, "rangeBar" !== a2.chart.type && "rangeArea" !== a2.chart.type || this.handleRangeData(t4, c2)), this.isMultiFormat()) this.isFormat2DArray() ? this.handleFormat2DArray(t4, c2) : this.isFormatXY() && this.handleFormatXY(t4, c2), "candlestick" !== a2.chart.type && "candlestick" !== t4[c2].type && "boxPlot" !== a2.chart.type && "boxPlot" !== t4[c2].type || this.handleCandleStickBoxData(t4, c2), s3.series.push(this.twoDSeries), s3.labels.push(this.twoDSeriesX), s3.seriesX.push(this.twoDSeriesX), s3.seriesGoals = this.seriesGoals, c2 !== this.activeSeriesIndex || this.fallbackToCategory || (s3.isXNumeric = true);
        else {
          "datetime" === a2.xaxis.type ? (s3.isXNumeric = true, h3(), s3.seriesX.push(this.twoDSeriesX)) : "numeric" === a2.xaxis.type && (s3.isXNumeric = true, n2.length > 0 && (this.twoDSeriesX = n2, s3.seriesX.push(this.twoDSeriesX))), s3.labels.push(this.twoDSeriesX);
          var d2 = t4[c2].data.map(function(t5) {
            return v.parseNumber(t5);
          });
          s3.series.push(d2);
        }
        s3.seriesZ.push(this.threeDSeries), void 0 !== t4[c2].color ? s3.seriesColors.push(t4[c2].color) : s3.seriesColors.push(void 0);
      }
      return this.w;
    } }, { key: "parseDataNonAxisCharts", value: function(t4) {
      var e2 = this.w.globals, i2 = this.w.config;
      e2.series = t4.slice(), e2.seriesNames = i2.labels.slice();
      for (var a2 = 0; a2 < e2.series.length; a2++) void 0 === e2.seriesNames[a2] && e2.seriesNames.push("series-" + (a2 + 1));
      return this.w;
    } }, { key: "handleExternalLabelsData", value: function(t4) {
      var e2 = this.w.config, i2 = this.w.globals;
      if (e2.xaxis.categories.length > 0) i2.labels = e2.xaxis.categories;
      else if (e2.labels.length > 0) i2.labels = e2.labels.slice();
      else if (this.fallbackToCategory) {
        if (i2.labels = i2.labels[0], i2.seriesRange.length && (i2.seriesRange.map(function(t5) {
          t5.forEach(function(t6) {
            i2.labels.indexOf(t6.x) < 0 && t6.x && i2.labels.push(t6.x);
          });
        }), i2.labels = Array.from(new Set(i2.labels.map(JSON.stringify)), JSON.parse)), e2.xaxis.convertedCatToNumeric) new Ni(e2).convertCatToNumericXaxis(e2, this.ctx, i2.seriesX[0]), this._generateExternalLabels(t4);
      } else this._generateExternalLabels(t4);
    } }, { key: "_generateExternalLabels", value: function(t4) {
      var e2 = this.w.globals, i2 = this.w.config, a2 = [];
      if (e2.axisCharts) {
        if (e2.series.length > 0) if (this.isFormatXY()) for (var s3 = i2.series.map(function(t5, e3) {
          return t5.data.filter(function(t6, e4, i3) {
            return i3.findIndex(function(e5) {
              return e5.x === t6.x;
            }) === e4;
          });
        }), r3 = s3.reduce(function(t5, e3, i3, a3) {
          return a3[t5].length > e3.length ? t5 : i3;
        }, 0), n2 = 0; n2 < s3[r3].length; n2++) a2.push(n2 + 1);
        else for (var o3 = 0; o3 < e2.series[e2.maxValsInArrayIndex].length; o3++) a2.push(o3 + 1);
        e2.seriesX = [];
        for (var l2 = 0; l2 < t4.length; l2++) e2.seriesX.push(a2);
        this.w.globals.isBarHorizontal || (e2.isXNumeric = true);
      }
      if (0 === a2.length) {
        a2 = e2.axisCharts ? [] : e2.series.map(function(t5, e3) {
          return e3 + 1;
        });
        for (var h3 = 0; h3 < t4.length; h3++) e2.seriesX.push(a2);
      }
      e2.labels = a2, i2.xaxis.convertedCatToNumeric && (e2.categoryLabels = a2.map(function(t5) {
        return i2.xaxis.labels.formatter(t5);
      })), e2.noLabelsProvided = true;
    } }, { key: "parseData", value: function(t4) {
      var e2 = this.w, i2 = e2.config, a2 = e2.globals;
      if (this.excludeCollapsedSeriesInYAxis(), this.fallbackToCategory = false, this.ctx.core.resetGlobals(), this.ctx.core.isMultipleY(), a2.axisCharts ? (this.parseDataAxisCharts(t4), this.coreUtils.getLargestSeries()) : this.parseDataNonAxisCharts(t4), i2.chart.stacked) {
        var s3 = new Zi(this.ctx);
        a2.series = s3.setNullSeriesToZeroValues(a2.series);
      }
      this.coreUtils.getSeriesTotals(), a2.axisCharts && (a2.stackedSeriesTotals = this.coreUtils.getStackedSeriesTotals(), a2.stackedSeriesTotalsByGroups = this.coreUtils.getStackedSeriesTotalsByGroups()), this.coreUtils.getPercentSeries(), a2.dataFormatXNumeric || a2.isXNumeric && ("numeric" !== i2.xaxis.type || 0 !== i2.labels.length || 0 !== i2.xaxis.categories.length) || this.handleExternalLabelsData(t4);
      for (var r3 = this.coreUtils.getCategoryLabels(a2.labels), n2 = 0; n2 < r3.length; n2++) if (Array.isArray(r3[n2])) {
        a2.isMultiLineX = true;
        break;
      }
    } }, { key: "excludeCollapsedSeriesInYAxis", value: function() {
      var t4 = this.w, e2 = [];
      t4.globals.seriesYAxisMap.forEach(function(i2, a2) {
        var s3 = 0;
        i2.forEach(function(e3) {
          -1 !== t4.globals.collapsedSeriesIndices.indexOf(e3) && s3++;
        }), s3 > 0 && s3 == i2.length && e2.push(a2);
      }), t4.globals.ignoreYAxisIndexes = e2.map(function(t5) {
        return t5;
      });
    } }]), t3;
  }(), Ji = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
    }
    return s2(t3, [{ key: "scaleSvgNode", value: function(t4, e2) {
      var i2 = parseFloat(t4.getAttributeNS(null, "width")), a2 = parseFloat(t4.getAttributeNS(null, "height"));
      t4.setAttributeNS(null, "width", i2 * e2), t4.setAttributeNS(null, "height", a2 * e2), t4.setAttributeNS(null, "viewBox", "0 0 " + i2 + " " + a2);
    } }, { key: "getSvgString", value: function() {
      var t4 = this;
      return new Promise(function(e2) {
        var i2 = t4.w, a2 = i2.config.chart.toolbar.export.width, s3 = i2.config.chart.toolbar.export.scale || a2 / i2.globals.svgWidth;
        s3 || (s3 = 1);
        var r3 = t4.w.globals.dom.Paper.svg(), n2 = t4.w.globals.dom.Paper.node.cloneNode(true);
        1 !== s3 && t4.scaleSvgNode(n2, s3), t4.convertImagesToBase64(n2).then(function() {
          r3 = new XMLSerializer().serializeToString(n2), e2(r3.replace(/&nbsp;/g, "&#160;"));
        });
      });
    } }, { key: "convertImagesToBase64", value: function(t4) {
      var e2 = this, i2 = t4.getElementsByTagName("image"), a2 = Array.from(i2).map(function(t5) {
        var i3 = t5.getAttributeNS("http://www.w3.org/1999/xlink", "href");
        return i3 && !i3.startsWith("data:") ? e2.getBase64FromUrl(i3).then(function(e3) {
          t5.setAttributeNS("http://www.w3.org/1999/xlink", "href", e3);
        }).catch(function(t6) {
          console.error("Error converting image to base64:", t6);
        }) : Promise.resolve();
      });
      return Promise.all(a2);
    } }, { key: "getBase64FromUrl", value: function(t4) {
      return new Promise(function(e2, i2) {
        var a2 = new Image();
        a2.crossOrigin = "Anonymous", a2.onload = function() {
          var t5 = document.createElement("canvas");
          t5.width = a2.width, t5.height = a2.height, t5.getContext("2d").drawImage(a2, 0, 0), e2(t5.toDataURL());
        }, a2.onerror = i2, a2.src = t4;
      });
    } }, { key: "cleanup", value: function() {
      var t4 = this.w, e2 = t4.globals.dom.baseEl.getElementsByClassName("apexcharts-xcrosshairs"), i2 = t4.globals.dom.baseEl.getElementsByClassName("apexcharts-ycrosshairs"), a2 = t4.globals.dom.baseEl.querySelectorAll(".apexcharts-zoom-rect, .apexcharts-selection-rect");
      Array.prototype.forEach.call(a2, function(t5) {
        t5.setAttribute("width", 0);
      }), e2 && e2[0] && (e2[0].setAttribute("x", -500), e2[0].setAttribute("x1", -500), e2[0].setAttribute("x2", -500)), i2 && i2[0] && (i2[0].setAttribute("y", -100), i2[0].setAttribute("y1", -100), i2[0].setAttribute("y2", -100));
    } }, { key: "svgUrl", value: function() {
      var t4 = this;
      return new Promise(function(e2) {
        t4.cleanup(), t4.getSvgString().then(function(t5) {
          var i2 = new Blob([t5], { type: "image/svg+xml;charset=utf-8" });
          e2(URL.createObjectURL(i2));
        });
      });
    } }, { key: "dataURI", value: function(t4) {
      var e2 = this;
      return new Promise(function(i2) {
        var a2 = e2.w, s3 = t4 ? t4.scale || t4.width / a2.globals.svgWidth : 1;
        e2.cleanup();
        var r3 = document.createElement("canvas");
        r3.width = a2.globals.svgWidth * s3, r3.height = parseInt(a2.globals.dom.elWrap.style.height, 10) * s3;
        var n2 = "transparent" !== a2.config.chart.background && a2.config.chart.background ? a2.config.chart.background : "#fff", o3 = r3.getContext("2d");
        o3.fillStyle = n2, o3.fillRect(0, 0, r3.width * s3, r3.height * s3), e2.getSvgString().then(function(t5) {
          var e3 = "data:image/svg+xml," + encodeURIComponent(t5), a3 = new Image();
          a3.crossOrigin = "anonymous", a3.onload = function() {
            if (o3.drawImage(a3, 0, 0), r3.msToBlob) {
              var t6 = r3.msToBlob();
              i2({ blob: t6 });
            } else {
              var e4 = r3.toDataURL("image/png");
              i2({ imgURI: e4 });
            }
          }, a3.src = e3;
        });
      });
    } }, { key: "exportToSVG", value: function() {
      var t4 = this;
      this.svgUrl().then(function(e2) {
        t4.triggerDownload(e2, t4.w.config.chart.toolbar.export.svg.filename, ".svg");
      });
    } }, { key: "exportToPng", value: function() {
      var t4 = this, e2 = this.w.config.chart.toolbar.export.scale, i2 = this.w.config.chart.toolbar.export.width, a2 = e2 ? { scale: e2 } : i2 ? { width: i2 } : void 0;
      this.dataURI(a2).then(function(e3) {
        var i3 = e3.imgURI, a3 = e3.blob;
        a3 ? navigator.msSaveOrOpenBlob(a3, t4.w.globals.chartID + ".png") : t4.triggerDownload(i3, t4.w.config.chart.toolbar.export.png.filename, ".png");
      });
    } }, { key: "exportToCSV", value: function(t4) {
      var e2 = this, i2 = t4.series, a2 = t4.fileName, s3 = t4.columnDelimiter, r3 = void 0 === s3 ? "," : s3, n2 = t4.lineDelimiter, o3 = void 0 === n2 ? "\n" : n2, l2 = this.w;
      i2 || (i2 = l2.config.series);
      var h3 = [], c2 = [], d2 = "", u2 = l2.globals.series.map(function(t5, e3) {
        return -1 === l2.globals.collapsedSeriesIndices.indexOf(e3) ? t5 : [];
      }), g3 = function(t5) {
        return "function" == typeof l2.config.chart.toolbar.export.csv.categoryFormatter ? l2.config.chart.toolbar.export.csv.categoryFormatter(t5) : "datetime" === l2.config.xaxis.type && String(t5).length >= 10 ? new Date(t5).toDateString() : v.isNumber(t5) ? t5 : t5.split(r3).join("");
      }, p3 = function(t5) {
        return "function" == typeof l2.config.chart.toolbar.export.csv.valueFormatter ? l2.config.chart.toolbar.export.csv.valueFormatter(t5) : t5;
      }, x3 = Math.max.apply(Math, f(i2.map(function(t5) {
        return t5.data ? t5.data.length : 0;
      }))), b2 = new $i(this.ctx), m3 = new Ri(this.ctx), y2 = function(t5) {
        var i3 = "";
        if (l2.globals.axisCharts) {
          if ("category" === l2.config.xaxis.type || l2.config.xaxis.convertedCatToNumeric) if (l2.globals.isBarHorizontal) {
            var a3 = l2.globals.yLabelFormatters[0], s4 = new Zi(e2.ctx).getActiveConfigSeriesIndex();
            i3 = a3(l2.globals.labels[t5], { seriesIndex: s4, dataPointIndex: t5, w: l2 });
          } else i3 = m3.getLabel(l2.globals.labels, l2.globals.timescaleLabels, 0, t5).text;
          "datetime" === l2.config.xaxis.type && (l2.config.xaxis.categories.length ? i3 = l2.config.xaxis.categories[t5] : l2.config.labels.length && (i3 = l2.config.labels[t5]));
        } else i3 = l2.config.labels[t5];
        return null === i3 ? "nullvalue" : (Array.isArray(i3) && (i3 = i3.join(" ")), v.isNumber(i3) ? i3 : i3.split(r3).join(""));
      }, w3 = function(t5, e3) {
        if (h3.length && 0 === e3 && c2.push(h3.join(r3)), t5.data) {
          t5.data = t5.data.length && t5.data || f(Array(x3)).map(function() {
            return "";
          });
          for (var a3 = 0; a3 < t5.data.length; a3++) {
            h3 = [];
            var s4 = y2(a3);
            if ("nullvalue" !== s4) {
              if (s4 || (b2.isFormatXY() ? s4 = i2[e3].data[a3].x : b2.isFormat2DArray() && (s4 = i2[e3].data[a3] ? i2[e3].data[a3][0] : "")), 0 === e3) {
                h3.push(g3(s4));
                for (var n3 = 0; n3 < l2.globals.series.length; n3++) {
                  var o4, d3 = b2.isFormatXY() ? null === (o4 = i2[n3].data[a3]) || void 0 === o4 ? void 0 : o4.y : u2[n3][a3];
                  h3.push(p3(d3));
                }
              }
              ("candlestick" === l2.config.chart.type || t5.type && "candlestick" === t5.type) && (h3.pop(), h3.push(l2.globals.seriesCandleO[e3][a3]), h3.push(l2.globals.seriesCandleH[e3][a3]), h3.push(l2.globals.seriesCandleL[e3][a3]), h3.push(l2.globals.seriesCandleC[e3][a3])), ("boxPlot" === l2.config.chart.type || t5.type && "boxPlot" === t5.type) && (h3.pop(), h3.push(l2.globals.seriesCandleO[e3][a3]), h3.push(l2.globals.seriesCandleH[e3][a3]), h3.push(l2.globals.seriesCandleM[e3][a3]), h3.push(l2.globals.seriesCandleL[e3][a3]), h3.push(l2.globals.seriesCandleC[e3][a3])), "rangeBar" === l2.config.chart.type && (h3.pop(), h3.push(l2.globals.seriesRangeStart[e3][a3]), h3.push(l2.globals.seriesRangeEnd[e3][a3])), h3.length && c2.push(h3.join(r3));
            }
          }
        }
      };
      h3.push(l2.config.chart.toolbar.export.csv.headerCategory), "boxPlot" === l2.config.chart.type ? (h3.push("minimum"), h3.push("q1"), h3.push("median"), h3.push("q3"), h3.push("maximum")) : "candlestick" === l2.config.chart.type ? (h3.push("open"), h3.push("high"), h3.push("low"), h3.push("close")) : "rangeBar" === l2.config.chart.type ? (h3.push("minimum"), h3.push("maximum")) : i2.map(function(t5, e3) {
        var i3 = (t5.name ? t5.name : "series-".concat(e3)) + "";
        l2.globals.axisCharts && h3.push(i3.split(r3).join("") ? i3.split(r3).join("") : "series-".concat(e3));
      }), l2.globals.axisCharts || (h3.push(l2.config.chart.toolbar.export.csv.headerValue), c2.push(h3.join(r3))), l2.globals.allSeriesHasEqualX || !l2.globals.axisCharts || l2.config.xaxis.categories.length || l2.config.labels.length ? i2.map(function(t5, e3) {
        l2.globals.axisCharts ? w3(t5, e3) : ((h3 = []).push(g3(l2.globals.labels[e3])), h3.push(p3(u2[e3])), c2.push(h3.join(r3)));
      }) : function() {
        var t5 = /* @__PURE__ */ new Set(), e3 = {};
        i2.forEach(function(a3, s4) {
          null == a3 || a3.data.forEach(function(a4) {
            var r4, n3;
            if (b2.isFormatXY()) r4 = a4.x, n3 = a4.y;
            else {
              if (!b2.isFormat2DArray()) return;
              r4 = a4[0], n3 = a4[1];
            }
            e3[r4] || (e3[r4] = Array(i2.length).fill("")), e3[r4][s4] = p3(n3), t5.add(r4);
          });
        }), h3.length && c2.push(h3.join(r3)), Array.from(t5).sort().forEach(function(t6) {
          c2.push([g3(t6), e3[t6].join(r3)]);
        });
      }(), d2 += c2.join(o3), this.triggerDownload("data:text/csv; charset=utf-8," + encodeURIComponent("\uFEFF" + d2), a2 || l2.config.chart.toolbar.export.csv.filename, ".csv");
    } }, { key: "triggerDownload", value: function(t4, e2, i2) {
      var a2 = document.createElement("a");
      a2.href = t4, a2.download = (e2 || this.w.globals.chartID) + i2, document.body.appendChild(a2), a2.click(), document.body.removeChild(a2);
    } }]), t3;
  }(), Qi = function() {
    function t3(e2, a2) {
      i(this, t3), this.ctx = e2, this.elgrid = a2, this.w = e2.w;
      var s3 = this.w;
      this.axesUtils = new Ri(e2), this.xaxisLabels = s3.globals.labels.slice(), s3.globals.timescaleLabels.length > 0 && !s3.globals.isBarHorizontal && (this.xaxisLabels = s3.globals.timescaleLabels.slice()), s3.config.xaxis.overwriteCategories && (this.xaxisLabels = s3.config.xaxis.overwriteCategories), this.drawnLabels = [], this.drawnLabelsRects = [], "top" === s3.config.xaxis.position ? this.offY = 0 : this.offY = s3.globals.gridHeight, this.offY = this.offY + s3.config.xaxis.axisBorder.offsetY, this.isCategoryBarHorizontal = "bar" === s3.config.chart.type && s3.config.plotOptions.bar.horizontal, this.xaxisFontSize = s3.config.xaxis.labels.style.fontSize, this.xaxisFontFamily = s3.config.xaxis.labels.style.fontFamily, this.xaxisForeColors = s3.config.xaxis.labels.style.colors, this.xaxisBorderWidth = s3.config.xaxis.axisBorder.width, this.isCategoryBarHorizontal && (this.xaxisBorderWidth = s3.config.yaxis[0].axisBorder.width.toString()), this.xaxisBorderWidth.indexOf("%") > -1 ? this.xaxisBorderWidth = s3.globals.gridWidth * parseInt(this.xaxisBorderWidth, 10) / 100 : this.xaxisBorderWidth = parseInt(this.xaxisBorderWidth, 10), this.xaxisBorderHeight = s3.config.xaxis.axisBorder.height, this.yaxis = s3.config.yaxis[0];
    }
    return s2(t3, [{ key: "drawXaxis", value: function() {
      var t4 = this.w, e2 = new Mi(this.ctx), i2 = e2.group({ class: "apexcharts-xaxis", transform: "translate(".concat(t4.config.xaxis.offsetX, ", ").concat(t4.config.xaxis.offsetY, ")") }), a2 = e2.group({ class: "apexcharts-xaxis-texts-g", transform: "translate(".concat(t4.globals.translateXAxisX, ", ").concat(t4.globals.translateXAxisY, ")") });
      i2.add(a2);
      for (var s3 = [], r3 = 0; r3 < this.xaxisLabels.length; r3++) s3.push(this.xaxisLabels[r3]);
      if (this.drawXAxisLabelAndGroup(true, e2, a2, s3, t4.globals.isXNumeric, function(t5, e3) {
        return e3;
      }), t4.globals.hasXaxisGroups) {
        var n2 = t4.globals.groups;
        s3 = [];
        for (var o3 = 0; o3 < n2.length; o3++) s3.push(n2[o3].title);
        var l2 = {};
        t4.config.xaxis.group.style && (l2.xaxisFontSize = t4.config.xaxis.group.style.fontSize, l2.xaxisFontFamily = t4.config.xaxis.group.style.fontFamily, l2.xaxisForeColors = t4.config.xaxis.group.style.colors, l2.fontWeight = t4.config.xaxis.group.style.fontWeight, l2.cssClass = t4.config.xaxis.group.style.cssClass), this.drawXAxisLabelAndGroup(false, e2, a2, s3, false, function(t5, e3) {
          return n2[t5].cols * e3;
        }, l2);
      }
      if (void 0 !== t4.config.xaxis.title.text) {
        var h3 = e2.group({ class: "apexcharts-xaxis-title" }), c2 = e2.drawText({ x: t4.globals.gridWidth / 2 + t4.config.xaxis.title.offsetX, y: this.offY + parseFloat(this.xaxisFontSize) + ("bottom" === t4.config.xaxis.position ? t4.globals.xAxisLabelsHeight : -t4.globals.xAxisLabelsHeight - 10) + t4.config.xaxis.title.offsetY, text: t4.config.xaxis.title.text, textAnchor: "middle", fontSize: t4.config.xaxis.title.style.fontSize, fontFamily: t4.config.xaxis.title.style.fontFamily, fontWeight: t4.config.xaxis.title.style.fontWeight, foreColor: t4.config.xaxis.title.style.color, cssClass: "apexcharts-xaxis-title-text " + t4.config.xaxis.title.style.cssClass });
        h3.add(c2), i2.add(h3);
      }
      if (t4.config.xaxis.axisBorder.show) {
        var d2 = t4.globals.barPadForNumericAxis, u2 = e2.drawLine(t4.globals.padHorizontal + t4.config.xaxis.axisBorder.offsetX - d2, this.offY, this.xaxisBorderWidth + d2, this.offY, t4.config.xaxis.axisBorder.color, 0, this.xaxisBorderHeight);
        this.elgrid && this.elgrid.elGridBorders && t4.config.grid.show ? this.elgrid.elGridBorders.add(u2) : i2.add(u2);
      }
      return i2;
    } }, { key: "drawXAxisLabelAndGroup", value: function(t4, e2, i2, a2, s3, r3) {
      var n2, o3 = this, l2 = arguments.length > 6 && void 0 !== arguments[6] ? arguments[6] : {}, h3 = [], c2 = [], d2 = this.w, u2 = l2.xaxisFontSize || this.xaxisFontSize, g3 = l2.xaxisFontFamily || this.xaxisFontFamily, p3 = l2.xaxisForeColors || this.xaxisForeColors, f2 = l2.fontWeight || d2.config.xaxis.labels.style.fontWeight, x3 = l2.cssClass || d2.config.xaxis.labels.style.cssClass, b2 = d2.globals.padHorizontal, m3 = a2.length, v2 = "category" === d2.config.xaxis.type ? d2.globals.dataPoints : m3;
      if (0 === v2 && m3 > v2 && (v2 = m3), s3) {
        var y2 = Math.max(Number(d2.config.xaxis.tickAmount) || 1, v2 > 1 ? v2 - 1 : v2);
        n2 = d2.globals.gridWidth / Math.min(y2, m3 - 1), b2 = b2 + r3(0, n2) / 2 + d2.config.xaxis.labels.offsetX;
      } else n2 = d2.globals.gridWidth / v2, b2 = b2 + r3(0, n2) + d2.config.xaxis.labels.offsetX;
      for (var w3 = function(s4) {
        var l3 = b2 - r3(s4, n2) / 2 + d2.config.xaxis.labels.offsetX;
        0 === s4 && 1 === m3 && n2 / 2 === b2 && 1 === v2 && (l3 = d2.globals.gridWidth / 2);
        var y3 = o3.axesUtils.getLabel(a2, d2.globals.timescaleLabels, l3, s4, h3, u2, t4), w4 = 28;
        d2.globals.rotateXLabels && t4 && (w4 = 22), d2.config.xaxis.title.text && "top" === d2.config.xaxis.position && (w4 += parseFloat(d2.config.xaxis.title.style.fontSize) + 2), t4 || (w4 = w4 + parseFloat(u2) + (d2.globals.xAxisLabelsHeight - d2.globals.xAxisGroupLabelsHeight) + (d2.globals.rotateXLabels ? 10 : 0)), y3 = void 0 !== d2.config.xaxis.tickAmount && "dataPoints" !== d2.config.xaxis.tickAmount && "datetime" !== d2.config.xaxis.type ? o3.axesUtils.checkLabelBasedOnTickamount(s4, y3, m3) : o3.axesUtils.checkForOverflowingLabels(s4, y3, m3, h3, c2);
        if (d2.config.xaxis.labels.show) {
          var k3 = e2.drawText({ x: y3.x, y: o3.offY + d2.config.xaxis.labels.offsetY + w4 - ("top" === d2.config.xaxis.position ? d2.globals.xAxisHeight + d2.config.xaxis.axisTicks.height - 2 : 0), text: y3.text, textAnchor: "middle", fontWeight: y3.isBold ? 600 : f2, fontSize: u2, fontFamily: g3, foreColor: Array.isArray(p3) ? t4 && d2.config.xaxis.convertedCatToNumeric ? p3[d2.globals.minX + s4 - 1] : p3[s4] : p3, isPlainText: false, cssClass: (t4 ? "apexcharts-xaxis-label " : "apexcharts-xaxis-group-label ") + x3 });
          if (i2.add(k3), k3.on("click", function(t5) {
            if ("function" == typeof d2.config.chart.events.xAxisLabelClick) {
              var e3 = Object.assign({}, d2, { labelIndex: s4 });
              d2.config.chart.events.xAxisLabelClick(t5, o3.ctx, e3);
            }
          }), t4) {
            var A3 = document.createElementNS(d2.globals.SVGNS, "title");
            A3.textContent = Array.isArray(y3.text) ? y3.text.join(" ") : y3.text, k3.node.appendChild(A3), "" !== y3.text && (h3.push(y3.text), c2.push(y3));
          }
        }
        s4 < m3 - 1 && (b2 += r3(s4 + 1, n2));
      }, k2 = 0; k2 <= m3 - 1; k2++) w3(k2);
    } }, { key: "drawXaxisInversed", value: function(t4) {
      var e2, i2, a2 = this, s3 = this.w, r3 = new Mi(this.ctx), n2 = s3.config.yaxis[0].opposite ? s3.globals.translateYAxisX[t4] : 0, o3 = r3.group({ class: "apexcharts-yaxis apexcharts-xaxis-inversed", rel: t4 }), l2 = r3.group({ class: "apexcharts-yaxis-texts-g apexcharts-xaxis-inversed-texts-g", transform: "translate(" + n2 + ", 0)" });
      o3.add(l2);
      var h3 = [];
      if (s3.config.yaxis[t4].show) for (var c2 = 0; c2 < this.xaxisLabels.length; c2++) h3.push(this.xaxisLabels[c2]);
      e2 = s3.globals.gridHeight / h3.length, i2 = -e2 / 2.2;
      var d2 = s3.globals.yLabelFormatters[0], u2 = s3.config.yaxis[0].labels;
      if (u2.show) for (var g3 = function(n3) {
        var o4 = void 0 === h3[n3] ? "" : h3[n3];
        o4 = d2(o4, { seriesIndex: t4, dataPointIndex: n3, w: s3 });
        var c3 = a2.axesUtils.getYAxisForeColor(u2.style.colors, t4), g4 = 0;
        Array.isArray(o4) && (g4 = o4.length / 2 * parseInt(u2.style.fontSize, 10));
        var p4 = u2.offsetX - 15, f3 = "end";
        a2.yaxis.opposite && (f3 = "start"), "left" === s3.config.yaxis[0].labels.align ? (p4 = u2.offsetX, f3 = "start") : "center" === s3.config.yaxis[0].labels.align ? (p4 = u2.offsetX, f3 = "middle") : "right" === s3.config.yaxis[0].labels.align && (f3 = "end");
        var x4 = r3.drawText({ x: p4, y: i2 + e2 + u2.offsetY - g4, text: o4, textAnchor: f3, foreColor: Array.isArray(c3) ? c3[n3] : c3, fontSize: u2.style.fontSize, fontFamily: u2.style.fontFamily, fontWeight: u2.style.fontWeight, isPlainText: false, cssClass: "apexcharts-yaxis-label " + u2.style.cssClass, maxWidth: u2.maxWidth });
        l2.add(x4), x4.on("click", function(t5) {
          if ("function" == typeof s3.config.chart.events.xAxisLabelClick) {
            var e3 = Object.assign({}, s3, { labelIndex: n3 });
            s3.config.chart.events.xAxisLabelClick(t5, a2.ctx, e3);
          }
        });
        var b3 = document.createElementNS(s3.globals.SVGNS, "title");
        if (b3.textContent = Array.isArray(o4) ? o4.join(" ") : o4, x4.node.appendChild(b3), 0 !== s3.config.yaxis[t4].labels.rotate) {
          var m4 = r3.rotateAroundCenter(x4.node);
          x4.node.setAttribute("transform", "rotate(".concat(s3.config.yaxis[t4].labels.rotate, " 0 ").concat(m4.y, ")"));
        }
        i2 += e2;
      }, p3 = 0; p3 <= h3.length - 1; p3++) g3(p3);
      if (void 0 !== s3.config.yaxis[0].title.text) {
        var f2 = r3.group({ class: "apexcharts-yaxis-title apexcharts-xaxis-title-inversed", transform: "translate(" + n2 + ", 0)" }), x3 = r3.drawText({ x: s3.config.yaxis[0].title.offsetX, y: s3.globals.gridHeight / 2 + s3.config.yaxis[0].title.offsetY, text: s3.config.yaxis[0].title.text, textAnchor: "middle", foreColor: s3.config.yaxis[0].title.style.color, fontSize: s3.config.yaxis[0].title.style.fontSize, fontWeight: s3.config.yaxis[0].title.style.fontWeight, fontFamily: s3.config.yaxis[0].title.style.fontFamily, cssClass: "apexcharts-yaxis-title-text " + s3.config.yaxis[0].title.style.cssClass });
        f2.add(x3), o3.add(f2);
      }
      var b2 = 0;
      this.isCategoryBarHorizontal && s3.config.yaxis[0].opposite && (b2 = s3.globals.gridWidth);
      var m3 = s3.config.xaxis.axisBorder;
      if (m3.show) {
        var v2 = r3.drawLine(s3.globals.padHorizontal + m3.offsetX + b2, 1 + m3.offsetY, s3.globals.padHorizontal + m3.offsetX + b2, s3.globals.gridHeight + m3.offsetY, m3.color, 0);
        this.elgrid && this.elgrid.elGridBorders && s3.config.grid.show ? this.elgrid.elGridBorders.add(v2) : o3.add(v2);
      }
      return s3.config.yaxis[0].axisTicks.show && this.axesUtils.drawYAxisTicks(b2, h3.length, s3.config.yaxis[0].axisBorder, s3.config.yaxis[0].axisTicks, 0, e2, o3), o3;
    } }, { key: "drawXaxisTicks", value: function(t4, e2, i2) {
      var a2 = this.w, s3 = t4;
      if (!(t4 < 0 || t4 - 2 > a2.globals.gridWidth)) {
        var r3 = this.offY + a2.config.xaxis.axisTicks.offsetY;
        if (e2 = e2 + r3 + a2.config.xaxis.axisTicks.height, "top" === a2.config.xaxis.position && (e2 = r3 - a2.config.xaxis.axisTicks.height), a2.config.xaxis.axisTicks.show) {
          var n2 = new Mi(this.ctx).drawLine(t4 + a2.config.xaxis.axisTicks.offsetX, r3 + a2.config.xaxis.offsetY, s3 + a2.config.xaxis.axisTicks.offsetX, e2 + a2.config.xaxis.offsetY, a2.config.xaxis.axisTicks.color);
          i2.add(n2), n2.node.classList.add("apexcharts-xaxis-tick");
        }
      }
    } }, { key: "getXAxisTicksPositions", value: function() {
      var t4 = this.w, e2 = [], i2 = this.xaxisLabels.length, a2 = t4.globals.padHorizontal;
      if (t4.globals.timescaleLabels.length > 0) for (var s3 = 0; s3 < i2; s3++) a2 = this.xaxisLabels[s3].position, e2.push(a2);
      else for (var r3 = i2, n2 = 0; n2 < r3; n2++) {
        var o3 = r3;
        t4.globals.isXNumeric && "bar" !== t4.config.chart.type && (o3 -= 1), a2 += t4.globals.gridWidth / o3, e2.push(a2);
      }
      return e2;
    } }, { key: "xAxisLabelCorrections", value: function() {
      var t4 = this.w, e2 = new Mi(this.ctx), i2 = t4.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g"), a2 = t4.globals.dom.baseEl.querySelectorAll(".apexcharts-xaxis-texts-g text:not(.apexcharts-xaxis-group-label)"), s3 = t4.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-inversed text"), r3 = t4.globals.dom.baseEl.querySelectorAll(".apexcharts-xaxis-inversed-texts-g text tspan");
      if (t4.globals.rotateXLabels || t4.config.xaxis.labels.rotateAlways) for (var n2 = 0; n2 < a2.length; n2++) {
        var o3 = e2.rotateAroundCenter(a2[n2]);
        o3.y = o3.y - 1, o3.x = o3.x + 1, a2[n2].setAttribute("transform", "rotate(".concat(t4.config.xaxis.labels.rotate, " ").concat(o3.x, " ").concat(o3.y, ")")), a2[n2].setAttribute("text-anchor", "end");
        i2.setAttribute("transform", "translate(0, ".concat(-10, ")"));
        var l2 = a2[n2].childNodes;
        t4.config.xaxis.labels.trim && Array.prototype.forEach.call(l2, function(i3) {
          e2.placeTextWithEllipsis(i3, i3.textContent, t4.globals.xAxisLabelsHeight - ("bottom" === t4.config.legend.position ? 20 : 10));
        });
      }
      else !function() {
        for (var i3 = t4.globals.gridWidth / (t4.globals.labels.length + 1), s4 = 0; s4 < a2.length; s4++) {
          var r4 = a2[s4].childNodes;
          t4.config.xaxis.labels.trim && "datetime" !== t4.config.xaxis.type && Array.prototype.forEach.call(r4, function(t5) {
            e2.placeTextWithEllipsis(t5, t5.textContent, i3);
          });
        }
      }();
      if (s3.length > 0) {
        var h3 = s3[s3.length - 1].getBBox(), c2 = s3[0].getBBox();
        h3.x < -20 && s3[s3.length - 1].parentNode.removeChild(s3[s3.length - 1]), c2.x + c2.width > t4.globals.gridWidth && !t4.globals.isBarHorizontal && s3[0].parentNode.removeChild(s3[0]);
        for (var d2 = 0; d2 < r3.length; d2++) e2.placeTextWithEllipsis(r3[d2], r3[d2].textContent, t4.config.yaxis[0].labels.maxWidth - (t4.config.yaxis[0].title.text ? 2 * parseFloat(t4.config.yaxis[0].title.style.fontSize) : 0) - 15);
      }
    } }]), t3;
  }(), Ki = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
      var a2 = this.w;
      this.xaxisLabels = a2.globals.labels.slice(), this.axesUtils = new Ri(e2), this.isRangeBar = a2.globals.seriesRange.length && a2.globals.isBarHorizontal, a2.globals.timescaleLabels.length > 0 && (this.xaxisLabels = a2.globals.timescaleLabels.slice());
    }
    return s2(t3, [{ key: "drawGridArea", value: function() {
      var t4 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null, e2 = this.w, i2 = new Mi(this.ctx);
      t4 || (t4 = i2.group({ class: "apexcharts-grid" }));
      var a2 = i2.drawLine(e2.globals.padHorizontal, 1, e2.globals.padHorizontal, e2.globals.gridHeight, "transparent"), s3 = i2.drawLine(e2.globals.padHorizontal, e2.globals.gridHeight, e2.globals.gridWidth, e2.globals.gridHeight, "transparent");
      return t4.add(s3), t4.add(a2), t4;
    } }, { key: "drawGrid", value: function() {
      if (this.w.globals.axisCharts) {
        var t4 = this.renderGrid();
        return this.drawGridArea(t4.el), t4;
      }
      return null;
    } }, { key: "createGridMask", value: function() {
      var t4 = this.w, e2 = t4.globals, i2 = new Mi(this.ctx), a2 = Array.isArray(t4.config.stroke.width) ? Math.max.apply(Math, f(t4.config.stroke.width)) : t4.config.stroke.width, s3 = function(t5) {
        var i3 = document.createElementNS(e2.SVGNS, "clipPath");
        return i3.setAttribute("id", t5), i3;
      };
      e2.dom.elGridRectMask = s3("gridRectMask".concat(e2.cuid)), e2.dom.elGridRectBarMask = s3("gridRectBarMask".concat(e2.cuid)), e2.dom.elGridRectMarkerMask = s3("gridRectMarkerMask".concat(e2.cuid)), e2.dom.elForecastMask = s3("forecastMask".concat(e2.cuid)), e2.dom.elNonForecastMask = s3("nonForecastMask".concat(e2.cuid));
      var r3 = 0, n2 = 0;
      (["bar", "rangeBar", "candlestick", "boxPlot"].includes(t4.config.chart.type) || t4.globals.comboBarCount > 0) && t4.globals.isXNumeric && !t4.globals.isBarHorizontal && (r3 = Math.max(t4.config.grid.padding.left, e2.barPadForNumericAxis), n2 = Math.max(t4.config.grid.padding.right, e2.barPadForNumericAxis)), e2.dom.elGridRect = i2.drawRect(0, 0, e2.gridWidth, e2.gridHeight, 0, "#fff"), e2.dom.elGridRectBar = i2.drawRect(-a2 / 2 - r3 - 2, -a2 / 2 - 2, e2.gridWidth + a2 + n2 + r3 + 4, e2.gridHeight + a2 + 4, 0, "#fff");
      var o3 = t4.globals.markers.largestSize;
      e2.dom.elGridRectMarker = i2.drawRect(-o3, -o3, e2.gridWidth + 2 * o3, e2.gridHeight + 2 * o3, 0, "#fff"), e2.dom.elGridRectMask.appendChild(e2.dom.elGridRect.node), e2.dom.elGridRectBarMask.appendChild(e2.dom.elGridRectBar.node), e2.dom.elGridRectMarkerMask.appendChild(e2.dom.elGridRectMarker.node);
      var l2 = e2.dom.baseEl.querySelector("defs");
      l2.appendChild(e2.dom.elGridRectMask), l2.appendChild(e2.dom.elGridRectBarMask), l2.appendChild(e2.dom.elGridRectMarkerMask), l2.appendChild(e2.dom.elForecastMask), l2.appendChild(e2.dom.elNonForecastMask);
    } }, { key: "_drawGridLines", value: function(t4) {
      var e2 = t4.i, i2 = t4.x1, a2 = t4.y1, s3 = t4.x2, r3 = t4.y2, n2 = t4.xCount, o3 = t4.parent, l2 = this.w;
      if (!(0 === e2 && l2.globals.skipFirstTimelinelabel || e2 === n2 - 1 && l2.globals.skipLastTimelinelabel && !l2.config.xaxis.labels.formatter || "radar" === l2.config.chart.type)) {
        l2.config.grid.xaxis.lines.show && this._drawGridLine({ i: e2, x1: i2, y1: a2, x2: s3, y2: r3, xCount: n2, parent: o3 });
        var h3 = 0;
        if (l2.globals.hasXaxisGroups && "between" === l2.config.xaxis.tickPlacement) {
          var c2 = l2.globals.groups;
          if (c2) {
            for (var d2 = 0, u2 = 0; d2 < e2 && u2 < c2.length; u2++) d2 += c2[u2].cols;
            d2 === e2 && (h3 = 0.6 * l2.globals.xAxisLabelsHeight);
          }
        }
        new Qi(this.ctx).drawXaxisTicks(i2, h3, l2.globals.dom.elGraphical);
      }
    } }, { key: "_drawGridLine", value: function(t4) {
      var e2 = t4.i, i2 = t4.x1, a2 = t4.y1, s3 = t4.x2, r3 = t4.y2, n2 = t4.xCount, o3 = t4.parent, l2 = this.w, h3 = o3.node.classList.contains("apexcharts-gridlines-horizontal"), c2 = l2.globals.barPadForNumericAxis, d2 = 0 === a2 && 0 === r3 || 0 === i2 && 0 === s3 || a2 === l2.globals.gridHeight && r3 === l2.globals.gridHeight || l2.globals.isBarHorizontal && (0 === e2 || e2 === n2 - 1), u2 = new Mi(this).drawLine(i2 - (h3 ? c2 : 0), a2, s3 + (h3 ? c2 : 0), r3, l2.config.grid.borderColor, l2.config.grid.strokeDashArray);
      u2.node.classList.add("apexcharts-gridline"), d2 && l2.config.grid.show ? this.elGridBorders.add(u2) : o3.add(u2);
    } }, { key: "_drawGridBandRect", value: function(t4) {
      var e2 = t4.c, i2 = t4.x1, a2 = t4.y1, s3 = t4.x2, r3 = t4.y2, n2 = t4.type, o3 = this.w, l2 = new Mi(this.ctx), h3 = o3.globals.barPadForNumericAxis, c2 = o3.config.grid[n2].colors[e2], d2 = l2.drawRect(i2 - ("row" === n2 ? h3 : 0), a2, s3 + ("row" === n2 ? 2 * h3 : 0), r3, 0, c2, o3.config.grid[n2].opacity);
      this.elg.add(d2), d2.attr("clip-path", "url(#gridRectMask".concat(o3.globals.cuid, ")")), d2.node.classList.add("apexcharts-grid-".concat(n2));
    } }, { key: "_drawXYLines", value: function(t4) {
      var e2 = this, i2 = t4.xCount, a2 = t4.tickAmount, s3 = this.w;
      if (s3.config.grid.xaxis.lines.show || s3.config.xaxis.axisTicks.show) {
        var r3, n2 = s3.globals.padHorizontal, o3 = s3.globals.gridHeight;
        s3.globals.timescaleLabels.length ? function(t5) {
          for (var a3 = t5.xC, s4 = t5.x1, r4 = t5.y1, n3 = t5.x2, o4 = t5.y2, l3 = 0; l3 < a3; l3++) s4 = e2.xaxisLabels[l3].position, n3 = e2.xaxisLabels[l3].position, e2._drawGridLines({ i: l3, x1: s4, y1: r4, x2: n3, y2: o4, xCount: i2, parent: e2.elgridLinesV });
        }({ xC: i2, x1: n2, y1: 0, x2: r3, y2: o3 }) : (s3.globals.isXNumeric && (i2 = s3.globals.xAxisScale.result.length), function(t5) {
          for (var a3 = t5.xC, r4 = t5.x1, n3 = t5.y1, o4 = t5.x2, l3 = t5.y2, h4 = 0; h4 < a3 + (s3.globals.isXNumeric ? 0 : 1); h4++) 0 === h4 && 1 === a3 && 1 === s3.globals.dataPoints && (o4 = r4 = s3.globals.gridWidth / 2), e2._drawGridLines({ i: h4, x1: r4, y1: n3, x2: o4, y2: l3, xCount: i2, parent: e2.elgridLinesV }), o4 = r4 += s3.globals.gridWidth / (s3.globals.isXNumeric ? a3 - 1 : a3);
        }({ xC: i2, x1: n2, y1: 0, x2: r3, y2: o3 }));
      }
      if (s3.config.grid.yaxis.lines.show) {
        var l2 = 0, h3 = 0, c2 = s3.globals.gridWidth, d2 = a2 + 1;
        this.isRangeBar && (d2 = s3.globals.labels.length);
        for (var u2 = 0; u2 < d2 + (this.isRangeBar ? 1 : 0); u2++) this._drawGridLine({ i: u2, xCount: d2 + (this.isRangeBar ? 1 : 0), x1: 0, y1: l2, x2: c2, y2: h3, parent: this.elgridLinesH }), h3 = l2 += s3.globals.gridHeight / (this.isRangeBar ? d2 : a2);
      }
    } }, { key: "_drawInvertedXYLines", value: function(t4) {
      var e2 = t4.xCount, i2 = this.w;
      if (i2.config.grid.xaxis.lines.show || i2.config.xaxis.axisTicks.show) for (var a2, s3 = i2.globals.padHorizontal, r3 = i2.globals.gridHeight, n2 = 0; n2 < e2 + 1; n2++) {
        i2.config.grid.xaxis.lines.show && this._drawGridLine({ i: n2, xCount: e2 + 1, x1: s3, y1: 0, x2: a2, y2: r3, parent: this.elgridLinesV }), new Qi(this.ctx).drawXaxisTicks(s3, 0, i2.globals.dom.elGraphical), a2 = s3 += i2.globals.gridWidth / e2;
      }
      if (i2.config.grid.yaxis.lines.show) for (var o3 = 0, l2 = 0, h3 = i2.globals.gridWidth, c2 = 0; c2 < i2.globals.dataPoints + 1; c2++) this._drawGridLine({ i: c2, xCount: i2.globals.dataPoints + 1, x1: 0, y1: o3, x2: h3, y2: l2, parent: this.elgridLinesH }), l2 = o3 += i2.globals.gridHeight / i2.globals.dataPoints;
    } }, { key: "renderGrid", value: function() {
      var t4 = this.w, e2 = t4.globals, i2 = new Mi(this.ctx);
      this.elg = i2.group({ class: "apexcharts-grid" }), this.elgridLinesH = i2.group({ class: "apexcharts-gridlines-horizontal" }), this.elgridLinesV = i2.group({ class: "apexcharts-gridlines-vertical" }), this.elGridBorders = i2.group({ class: "apexcharts-grid-borders" }), this.elg.add(this.elgridLinesH), this.elg.add(this.elgridLinesV), t4.config.grid.show || (this.elgridLinesV.hide(), this.elgridLinesH.hide(), this.elGridBorders.hide());
      for (var a2 = 0; a2 < e2.seriesYAxisMap.length && e2.ignoreYAxisIndexes.includes(a2); ) a2++;
      a2 === e2.seriesYAxisMap.length && (a2 = 0);
      var s3, r3 = e2.yAxisScale[a2].result.length - 1;
      if (!e2.isBarHorizontal || this.isRangeBar) {
        var n2, o3, l2;
        if (s3 = this.xaxisLabels.length, this.isRangeBar) r3 = e2.labels.length, t4.config.xaxis.tickAmount && t4.config.xaxis.labels.formatter && (s3 = t4.config.xaxis.tickAmount), (null === (n2 = e2.yAxisScale) || void 0 === n2 || null === (o3 = n2[a2]) || void 0 === o3 || null === (l2 = o3.result) || void 0 === l2 ? void 0 : l2.length) > 0 && "datetime" !== t4.config.xaxis.type && (s3 = e2.yAxisScale[a2].result.length - 1);
        this._drawXYLines({ xCount: s3, tickAmount: r3 });
      } else s3 = r3, r3 = e2.xTickAmount, this._drawInvertedXYLines({ xCount: s3, tickAmount: r3 });
      return this.drawGridBands(s3, r3), { el: this.elg, elGridBorders: this.elGridBorders, xAxisTickWidth: e2.gridWidth / s3 };
    } }, { key: "drawGridBands", value: function(t4, e2) {
      var i2, a2, s3 = this, r3 = this.w;
      if ((null === (i2 = r3.config.grid.row.colors) || void 0 === i2 ? void 0 : i2.length) > 0 && function(t5, i3, a3, n3, o4, l3) {
        for (var h4 = 0, c3 = 0; h4 < i3; h4++, c3++) c3 >= r3.config.grid[t5].colors.length && (c3 = 0), s3._drawGridBandRect({ c: c3, x1: a3, y1: n3, x2: o4, y2: l3, type: t5 }), n3 += r3.globals.gridHeight / e2;
      }("row", e2, 0, 0, r3.globals.gridWidth, r3.globals.gridHeight / e2), (null === (a2 = r3.config.grid.column.colors) || void 0 === a2 ? void 0 : a2.length) > 0) {
        var n2 = r3.globals.isBarHorizontal || "on" !== r3.config.xaxis.tickPlacement || "category" !== r3.config.xaxis.type && !r3.config.xaxis.convertedCatToNumeric ? t4 : t4 - 1;
        r3.globals.isXNumeric && (n2 = r3.globals.xAxisScale.result.length - 1);
        for (var o3 = r3.globals.padHorizontal, l2 = r3.globals.padHorizontal + r3.globals.gridWidth / n2, h3 = r3.globals.gridHeight, c2 = 0, d2 = 0; c2 < t4; c2++, d2++) {
          var u2;
          if (d2 >= r3.config.grid.column.colors.length && (d2 = 0), "datetime" === r3.config.xaxis.type) o3 = this.xaxisLabels[c2].position, l2 = ((null === (u2 = this.xaxisLabels[c2 + 1]) || void 0 === u2 ? void 0 : u2.position) || r3.globals.gridWidth) - this.xaxisLabels[c2].position;
          this._drawGridBandRect({ c: d2, x1: o3, y1: 0, x2: l2, y2: h3, type: "column" }), o3 += r3.globals.gridWidth / n2;
        }
      }
    } }]), t3;
  }(), ta = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w, this.coreUtils = new Pi(this.ctx);
    }
    return s2(t3, [{ key: "niceScale", value: function(t4, e2) {
      var i2, a2, s3, r3, n2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0, o3 = 1e-11, l2 = this.w, h3 = l2.globals;
      h3.isBarHorizontal ? (i2 = l2.config.xaxis, a2 = Math.max((h3.svgWidth - 100) / 25, 2)) : (i2 = l2.config.yaxis[n2], a2 = Math.max((h3.svgHeight - 100) / 15, 2)), v.isNumber(a2) || (a2 = 10), s3 = void 0 !== i2.min && null !== i2.min, r3 = void 0 !== i2.max && null !== i2.min;
      var c2 = void 0 !== i2.stepSize && null !== i2.stepSize, d2 = void 0 !== i2.tickAmount && null !== i2.tickAmount, u2 = d2 ? i2.tickAmount : h3.niceScaleDefaultTicks[Math.min(Math.round(a2 / 2), h3.niceScaleDefaultTicks.length - 1)];
      if (h3.isMultipleYAxis && !d2 && h3.multiAxisTickAmount > 0 && (u2 = h3.multiAxisTickAmount, d2 = true), u2 = "dataPoints" === u2 ? h3.dataPoints - 1 : Math.abs(Math.round(u2)), (t4 === Number.MIN_VALUE && 0 === e2 || !v.isNumber(t4) && !v.isNumber(e2) || t4 === Number.MIN_VALUE && e2 === -Number.MAX_VALUE) && (t4 = v.isNumber(i2.min) ? i2.min : 0, e2 = v.isNumber(i2.max) ? i2.max : t4 + u2, h3.allSeriesCollapsed = false), t4 > e2) {
        console.warn("axis.min cannot be greater than axis.max: swapping min and max");
        var g3 = e2;
        e2 = t4, t4 = g3;
      } else t4 === e2 && (t4 = 0 === t4 ? 0 : t4 - 1, e2 = 0 === e2 ? 2 : e2 + 1);
      var p3 = [];
      u2 < 1 && (u2 = 1);
      var f2 = u2, x3 = Math.abs(e2 - t4);
      !s3 && t4 > 0 && t4 / x3 < 0.15 && (t4 = 0, s3 = true), !r3 && e2 < 0 && -e2 / x3 < 0.15 && (e2 = 0, r3 = true);
      var b2 = (x3 = Math.abs(e2 - t4)) / f2, m3 = b2, y2 = Math.floor(Math.log10(m3)), w3 = Math.pow(10, y2), k2 = Math.ceil(m3 / w3);
      if (b2 = m3 = (k2 = h3.niceScaleAllowedMagMsd[0 === h3.yValueDecimal ? 0 : 1][k2]) * w3, h3.isBarHorizontal && i2.stepSize && "datetime" !== i2.type ? (b2 = i2.stepSize, c2 = true) : c2 && (b2 = i2.stepSize), c2 && i2.forceNiceScale) {
        var A3 = Math.floor(Math.log10(b2));
        b2 *= Math.pow(10, y2 - A3);
      }
      if (s3 && r3) {
        var C2 = x3 / f2;
        if (d2) if (c2) if (0 != v.mod(x3, b2)) {
          var S3 = v.getGCD(b2, C2);
          b2 = C2 / S3 < 10 ? S3 : C2;
        } else 0 == v.mod(b2, C2) ? b2 = C2 : (C2 = b2, d2 = false);
        else b2 = C2;
        else if (c2) 0 == v.mod(x3, b2) ? C2 = b2 : b2 = C2;
        else if (0 == v.mod(x3, b2)) C2 = b2;
        else {
          C2 = x3 / (f2 = Math.ceil(x3 / b2));
          var L3 = v.getGCD(x3, b2);
          x3 / L3 < a2 && (C2 = L3), b2 = C2;
        }
        f2 = Math.round(x3 / b2);
      } else {
        if (s3 || r3) {
          if (r3) if (d2) t4 = e2 - b2 * f2;
          else {
            var M2 = t4;
            t4 = b2 * Math.floor(t4 / b2), Math.abs(e2 - t4) / v.getGCD(x3, b2) > a2 && (t4 = e2 - b2 * u2, t4 += b2 * Math.floor((M2 - t4) / b2));
          }
          else if (s3) if (d2) e2 = t4 + b2 * f2;
          else {
            var P3 = e2;
            e2 = b2 * Math.ceil(e2 / b2), Math.abs(e2 - t4) / v.getGCD(x3, b2) > a2 && (e2 = t4 + b2 * u2, e2 += b2 * Math.ceil((P3 - e2) / b2));
          }
        } else if (h3.isMultipleYAxis && d2) {
          var I2 = b2 * Math.floor(t4 / b2), T2 = I2 + b2 * f2;
          T2 < e2 && (b2 *= 2), T2 = e2, e2 = (t4 = I2) + b2 * f2, x3 = Math.abs(e2 - t4), t4 > 0 && t4 < Math.abs(T2 - e2) && (t4 = 0, e2 = b2 * f2), e2 < 0 && -e2 < Math.abs(I2 - t4) && (e2 = 0, t4 = -b2 * f2);
        } else t4 = b2 * Math.floor(t4 / b2), e2 = b2 * Math.ceil(e2 / b2);
        x3 = Math.abs(e2 - t4), b2 = v.getGCD(x3, b2), f2 = Math.round(x3 / b2);
      }
      if (d2 || s3 || r3 || (f2 = Math.ceil((x3 - o3) / (b2 + o3))) > 16 && v.getPrimeFactors(f2).length < 2 && f2++, !d2 && i2.forceNiceScale && 0 === h3.yValueDecimal && f2 > x3 && (f2 = x3, b2 = Math.round(x3 / f2)), f2 > a2 && (!d2 && !c2 || i2.forceNiceScale)) {
        var z2 = v.getPrimeFactors(f2), X2 = z2.length - 1, R2 = f2;
        t: for (var E2 = 0; E2 < X2; E2++) for (var Y2 = 0; Y2 <= X2 - E2; Y2++) {
          for (var H2 = Math.min(Y2 + E2, X2), O2 = R2, F2 = 1, D2 = Y2; D2 <= H2; D2++) F2 *= z2[D2];
          if ((O2 /= F2) < a2) {
            R2 = O2;
            break t;
          }
        }
        b2 = R2 === f2 ? x3 : x3 / R2, f2 = Math.round(x3 / b2);
      }
      h3.isMultipleYAxis && 0 == h3.multiAxisTickAmount && h3.ignoreYAxisIndexes.indexOf(n2) < 0 && (h3.multiAxisTickAmount = f2);
      var _2 = t4 - b2, N2 = b2 * o3;
      do {
        _2 += b2, p3.push(v.stripNumber(_2, 7));
      } while (e2 - _2 > N2);
      return { result: p3, niceMin: p3[0], niceMax: p3[p3.length - 1] };
    } }, { key: "linearScale", value: function(t4, e2) {
      var i2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 10, a2 = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0, s3 = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : void 0, r3 = Math.abs(e2 - t4), n2 = [];
      if (t4 === e2) return { result: n2 = [t4], niceMin: n2[0], niceMax: n2[n2.length - 1] };
      "dataPoints" === (i2 = this._adjustTicksForSmallRange(i2, a2, r3)) && (i2 = this.w.globals.dataPoints - 1), s3 || (s3 = r3 / i2), s3 = Math.round(10 * (s3 + Number.EPSILON)) / 10, i2 === Number.MAX_VALUE && (i2 = 5, s3 = 1);
      for (var o3 = t4; i2 >= 0; ) n2.push(o3), o3 = v.preciseAddition(o3, s3), i2 -= 1;
      return { result: n2, niceMin: n2[0], niceMax: n2[n2.length - 1] };
    } }, { key: "logarithmicScaleNice", value: function(t4, e2, i2) {
      e2 <= 0 && (e2 = Math.max(t4, i2)), t4 <= 0 && (t4 = Math.min(e2, i2));
      for (var a2 = [], s3 = Math.ceil(Math.log(e2) / Math.log(i2) + 1), r3 = Math.floor(Math.log(t4) / Math.log(i2)); r3 < s3; r3++) a2.push(Math.pow(i2, r3));
      return { result: a2, niceMin: a2[0], niceMax: a2[a2.length - 1] };
    } }, { key: "logarithmicScale", value: function(t4, e2, i2) {
      e2 <= 0 && (e2 = Math.max(t4, i2)), t4 <= 0 && (t4 = Math.min(e2, i2));
      for (var a2 = [], s3 = Math.log(e2) / Math.log(i2), r3 = Math.log(t4) / Math.log(i2), n2 = s3 - r3, o3 = Math.round(n2), l2 = n2 / o3, h3 = 0, c2 = r3; h3 < o3; h3++, c2 += l2) a2.push(Math.pow(i2, c2));
      return a2.push(Math.pow(i2, s3)), { result: a2, niceMin: t4, niceMax: e2 };
    } }, { key: "_adjustTicksForSmallRange", value: function(t4, e2, i2) {
      var a2 = t4;
      if (void 0 !== e2 && this.w.config.yaxis[e2].labels.formatter && void 0 === this.w.config.yaxis[e2].tickAmount) {
        var s3 = Number(this.w.config.yaxis[e2].labels.formatter(1));
        v.isNumber(s3) && 0 === this.w.globals.yValueDecimal && (a2 = Math.ceil(i2));
      }
      return a2 < t4 ? a2 : t4;
    } }, { key: "setYScaleForIndex", value: function(t4, e2, i2) {
      var a2 = this.w.globals, s3 = this.w.config, r3 = a2.isBarHorizontal ? s3.xaxis : s3.yaxis[t4];
      void 0 === a2.yAxisScale[t4] && (a2.yAxisScale[t4] = []);
      var n2 = Math.abs(i2 - e2);
      r3.logarithmic && n2 <= 5 && (a2.invalidLogScale = true), r3.logarithmic && n2 > 5 ? (a2.allSeriesCollapsed = false, a2.yAxisScale[t4] = r3.forceNiceScale ? this.logarithmicScaleNice(e2, i2, r3.logBase) : this.logarithmicScale(e2, i2, r3.logBase)) : i2 !== -Number.MAX_VALUE && v.isNumber(i2) && e2 !== Number.MAX_VALUE && v.isNumber(e2) ? (a2.allSeriesCollapsed = false, a2.yAxisScale[t4] = this.niceScale(e2, i2, t4)) : a2.yAxisScale[t4] = this.niceScale(Number.MIN_VALUE, 0, t4);
    } }, { key: "setXScale", value: function(t4, e2) {
      var i2 = this.w, a2 = i2.globals, s3 = Math.abs(e2 - t4);
      if (e2 !== -Number.MAX_VALUE && v.isNumber(e2)) {
        var r3 = a2.xTickAmount;
        s3 < 10 && s3 > 1 && (r3 = s3), a2.xAxisScale = this.linearScale(t4, e2, r3, 0, i2.config.xaxis.stepSize);
      } else a2.xAxisScale = this.linearScale(0, 10, 10);
      return a2.xAxisScale;
    } }, { key: "scaleMultipleYAxes", value: function() {
      var t4 = this, e2 = this.w.config, i2 = this.w.globals;
      this.coreUtils.setSeriesYAxisMappings();
      var a2 = i2.seriesYAxisMap, s3 = i2.minYArr, r3 = i2.maxYArr;
      i2.allSeriesCollapsed = true, i2.barGroups = [], a2.forEach(function(a3, n2) {
        var o3 = [];
        a3.forEach(function(t5) {
          var i3 = e2.series[t5].group;
          o3.indexOf(i3) < 0 && o3.push(i3);
        }), a3.length > 0 ? function() {
          var l2, h3, c2 = Number.MAX_VALUE, d2 = -Number.MAX_VALUE, u2 = c2, g3 = d2;
          if (e2.chart.stacked) !function() {
            var t5 = new Array(i2.dataPoints).fill(0), s4 = [], r4 = [], p4 = [];
            o3.forEach(function() {
              s4.push(t5.map(function() {
                return Number.MIN_VALUE;
              })), r4.push(t5.map(function() {
                return Number.MIN_VALUE;
              })), p4.push(t5.map(function() {
                return Number.MIN_VALUE;
              }));
            });
            for (var f3 = function(t6) {
              !l2 && e2.series[a3[t6]].type && (l2 = e2.series[a3[t6]].type);
              var c3 = a3[t6];
              h3 = e2.series[c3].group ? e2.series[c3].group : "axis-".concat(n2), !(i2.collapsedSeriesIndices.indexOf(c3) < 0 && i2.ancillaryCollapsedSeriesIndices.indexOf(c3) < 0) || (i2.allSeriesCollapsed = false, o3.forEach(function(t7, a4) {
                if (e2.series[c3].group === t7) for (var n3 = 0; n3 < i2.series[c3].length; n3++) {
                  var o4 = i2.series[c3][n3];
                  o4 >= 0 ? r4[a4][n3] += o4 : p4[a4][n3] += o4, s4[a4][n3] += o4, u2 = Math.min(u2, o4), g3 = Math.max(g3, o4);
                }
              })), "bar" !== l2 && "column" !== l2 || i2.barGroups.push(h3);
            }, x3 = 0; x3 < a3.length; x3++) f3(x3);
            l2 || (l2 = e2.chart.type), "bar" === l2 || "column" === l2 ? o3.forEach(function(t6, e3) {
              c2 = Math.min(c2, Math.min.apply(null, p4[e3])), d2 = Math.max(d2, Math.max.apply(null, r4[e3]));
            }) : (o3.forEach(function(t6, e3) {
              u2 = Math.min(u2, Math.min.apply(null, s4[e3])), g3 = Math.max(g3, Math.max.apply(null, s4[e3]));
            }), c2 = u2, d2 = g3), c2 === Number.MIN_VALUE && d2 === Number.MIN_VALUE && (d2 = -Number.MAX_VALUE);
          }();
          else for (var p3 = 0; p3 < a3.length; p3++) {
            var f2 = a3[p3];
            c2 = Math.min(c2, s3[f2]), d2 = Math.max(d2, r3[f2]), !(i2.collapsedSeriesIndices.indexOf(f2) < 0 && i2.ancillaryCollapsedSeriesIndices.indexOf(f2) < 0) || (i2.allSeriesCollapsed = false);
          }
          void 0 !== e2.yaxis[n2].min && (c2 = "function" == typeof e2.yaxis[n2].min ? e2.yaxis[n2].min(c2) : e2.yaxis[n2].min), void 0 !== e2.yaxis[n2].max && (d2 = "function" == typeof e2.yaxis[n2].max ? e2.yaxis[n2].max(d2) : e2.yaxis[n2].max), i2.barGroups = i2.barGroups.filter(function(t5, e3, i3) {
            return i3.indexOf(t5) === e3;
          }), t4.setYScaleForIndex(n2, c2, d2), a3.forEach(function(t5) {
            s3[t5] = i2.yAxisScale[n2].niceMin, r3[t5] = i2.yAxisScale[n2].niceMax;
          });
        }() : t4.setYScaleForIndex(n2, 0, -Number.MAX_VALUE);
      });
    } }]), t3;
  }(), ea = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w, this.scales = new ta(e2);
    }
    return s2(t3, [{ key: "init", value: function() {
      this.setYRange(), this.setXRange(), this.setZRange();
    } }, { key: "getMinYMaxY", value: function(t4) {
      var e2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Number.MAX_VALUE, i2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : -Number.MAX_VALUE, a2 = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : null, s3 = this.w.config, r3 = this.w.globals, n2 = -Number.MAX_VALUE, o3 = Number.MIN_VALUE;
      null === a2 && (a2 = t4 + 1);
      var l2 = r3.series, h3 = l2, c2 = l2;
      "candlestick" === s3.chart.type ? (h3 = r3.seriesCandleL, c2 = r3.seriesCandleH) : "boxPlot" === s3.chart.type ? (h3 = r3.seriesCandleO, c2 = r3.seriesCandleC) : r3.isRangeData && (h3 = r3.seriesRangeStart, c2 = r3.seriesRangeEnd);
      var d2 = false;
      if (r3.seriesX.length >= a2) {
        var u2, g3 = null === (u2 = r3.brushSource) || void 0 === u2 ? void 0 : u2.w.config.chart.brush;
        (s3.chart.zoom.enabled && s3.chart.zoom.autoScaleYaxis || null != g3 && g3.enabled && null != g3 && g3.autoScaleYaxis) && (d2 = true);
      }
      for (var p3 = t4; p3 < a2; p3++) {
        r3.dataPoints = Math.max(r3.dataPoints, l2[p3].length);
        var f2 = s3.series[p3].type;
        r3.categoryLabels.length && (r3.dataPoints = r3.categoryLabels.filter(function(t5) {
          return void 0 !== t5;
        }).length), r3.labels.length && "datetime" !== s3.xaxis.type && 0 !== r3.series.reduce(function(t5, e3) {
          return t5 + e3.length;
        }, 0) && (r3.dataPoints = Math.max(r3.dataPoints, r3.labels.length));
        var x3 = 0, b2 = l2[p3].length - 1;
        if (d2) {
          if (s3.xaxis.min) for (; x3 < b2 && r3.seriesX[p3][x3] < s3.xaxis.min; x3++) ;
          if (s3.xaxis.max) for (; b2 > x3 && r3.seriesX[p3][b2] > s3.xaxis.max; b2--) ;
        }
        for (var m3 = x3; m3 <= b2 && m3 < r3.series[p3].length; m3++) {
          var y2 = l2[p3][m3];
          if (null !== y2 && v.isNumber(y2)) {
            switch (void 0 !== c2[p3][m3] && (n2 = Math.max(n2, c2[p3][m3]), e2 = Math.min(e2, c2[p3][m3])), void 0 !== h3[p3][m3] && (e2 = Math.min(e2, h3[p3][m3]), i2 = Math.max(i2, h3[p3][m3])), f2) {
              case "candlestick":
                void 0 !== r3.seriesCandleC[p3][m3] && (n2 = Math.max(n2, r3.seriesCandleH[p3][m3]), e2 = Math.min(e2, r3.seriesCandleL[p3][m3]));
                break;
              case "boxPlot":
                void 0 !== r3.seriesCandleC[p3][m3] && (n2 = Math.max(n2, r3.seriesCandleC[p3][m3]), e2 = Math.min(e2, r3.seriesCandleO[p3][m3]));
            }
            f2 && "candlestick" !== f2 && "boxPlot" !== f2 && "rangeArea" !== f2 && "rangeBar" !== f2 && (n2 = Math.max(n2, r3.series[p3][m3]), e2 = Math.min(e2, r3.series[p3][m3])), r3.seriesGoals[p3] && r3.seriesGoals[p3][m3] && Array.isArray(r3.seriesGoals[p3][m3]) && r3.seriesGoals[p3][m3].forEach(function(t5) {
              n2 = Math.max(n2, t5.value), e2 = Math.min(e2, t5.value);
            }), i2 = n2, v.isFloat(y2) && (y2 = v.noExponents(y2), r3.yValueDecimal = Math.max(r3.yValueDecimal, y2.toString().split(".")[1].length)), o3 > h3[p3][m3] && h3[p3][m3] < 0 && (o3 = h3[p3][m3]);
          } else r3.hasNullValues = true;
        }
        "bar" !== f2 && "column" !== f2 || (o3 < 0 && n2 < 0 && (n2 = 0, i2 = Math.max(i2, 0)), o3 === Number.MIN_VALUE && (o3 = 0, e2 = Math.min(e2, 0)));
      }
      return "rangeBar" === s3.chart.type && r3.seriesRangeStart.length && r3.isBarHorizontal && (o3 = e2), "bar" === s3.chart.type && (o3 < 0 && n2 < 0 && (n2 = 0), o3 === Number.MIN_VALUE && (o3 = 0)), { minY: o3, maxY: n2, lowestY: e2, highestY: i2 };
    } }, { key: "setYRange", value: function() {
      var t4 = this.w.globals, e2 = this.w.config;
      t4.maxY = -Number.MAX_VALUE, t4.minY = Number.MIN_VALUE;
      var i2, a2 = Number.MAX_VALUE;
      if (t4.isMultipleYAxis) {
        a2 = Number.MAX_VALUE;
        for (var s3 = 0; s3 < t4.series.length; s3++) i2 = this.getMinYMaxY(s3), t4.minYArr[s3] = i2.lowestY, t4.maxYArr[s3] = i2.highestY, a2 = Math.min(a2, i2.lowestY);
      }
      if (i2 = this.getMinYMaxY(0, a2, null, t4.series.length), "bar" === e2.chart.type ? (t4.minY = i2.minY, t4.maxY = i2.maxY) : (t4.minY = i2.lowestY, t4.maxY = i2.highestY), a2 = i2.lowestY, e2.chart.stacked && this._setStackedMinMax(), "line" === e2.chart.type || "area" === e2.chart.type || "scatter" === e2.chart.type || "candlestick" === e2.chart.type || "boxPlot" === e2.chart.type || "rangeBar" === e2.chart.type && !t4.isBarHorizontal ? t4.minY === Number.MIN_VALUE && a2 !== -Number.MAX_VALUE && a2 !== t4.maxY && (t4.minY = a2) : t4.minY = t4.minY !== Number.MIN_VALUE ? Math.min(i2.minY, t4.minY) : i2.minY, e2.yaxis.forEach(function(e3, i3) {
        void 0 !== e3.max && ("number" == typeof e3.max ? t4.maxYArr[i3] = e3.max : "function" == typeof e3.max && (t4.maxYArr[i3] = e3.max(t4.isMultipleYAxis ? t4.maxYArr[i3] : t4.maxY)), t4.maxY = t4.maxYArr[i3]), void 0 !== e3.min && ("number" == typeof e3.min ? t4.minYArr[i3] = e3.min : "function" == typeof e3.min && (t4.minYArr[i3] = e3.min(t4.isMultipleYAxis ? t4.minYArr[i3] === Number.MIN_VALUE ? 0 : t4.minYArr[i3] : t4.minY)), t4.minY = t4.minYArr[i3]);
      }), t4.isBarHorizontal) {
        ["min", "max"].forEach(function(i3) {
          void 0 !== e2.xaxis[i3] && "number" == typeof e2.xaxis[i3] && ("min" === i3 ? t4.minY = e2.xaxis[i3] : t4.maxY = e2.xaxis[i3]);
        });
      }
      return t4.isMultipleYAxis ? (this.scales.scaleMultipleYAxes(), t4.minY = a2) : (this.scales.setYScaleForIndex(0, t4.minY, t4.maxY), t4.minY = t4.yAxisScale[0].niceMin, t4.maxY = t4.yAxisScale[0].niceMax, t4.minYArr[0] = t4.minY, t4.maxYArr[0] = t4.maxY), t4.barGroups = [], t4.lineGroups = [], t4.areaGroups = [], e2.series.forEach(function(i3) {
        switch (i3.type || e2.chart.type) {
          case "bar":
          case "column":
            t4.barGroups.push(i3.group);
            break;
          case "line":
            t4.lineGroups.push(i3.group);
            break;
          case "area":
            t4.areaGroups.push(i3.group);
        }
      }), t4.barGroups = t4.barGroups.filter(function(t5, e3, i3) {
        return i3.indexOf(t5) === e3;
      }), t4.lineGroups = t4.lineGroups.filter(function(t5, e3, i3) {
        return i3.indexOf(t5) === e3;
      }), t4.areaGroups = t4.areaGroups.filter(function(t5, e3, i3) {
        return i3.indexOf(t5) === e3;
      }), { minY: t4.minY, maxY: t4.maxY, minYArr: t4.minYArr, maxYArr: t4.maxYArr, yAxisScale: t4.yAxisScale };
    } }, { key: "setXRange", value: function() {
      var t4 = this.w.globals, e2 = this.w.config, i2 = "numeric" === e2.xaxis.type || "datetime" === e2.xaxis.type || "category" === e2.xaxis.type && !t4.noLabelsProvided || t4.noLabelsProvided || t4.isXNumeric;
      if (t4.isXNumeric && function() {
        for (var e3 = 0; e3 < t4.series.length; e3++) if (t4.labels[e3]) for (var i3 = 0; i3 < t4.labels[e3].length; i3++) null !== t4.labels[e3][i3] && v.isNumber(t4.labels[e3][i3]) && (t4.maxX = Math.max(t4.maxX, t4.labels[e3][i3]), t4.initialMaxX = Math.max(t4.maxX, t4.labels[e3][i3]), t4.minX = Math.min(t4.minX, t4.labels[e3][i3]), t4.initialMinX = Math.min(t4.minX, t4.labels[e3][i3]));
      }(), t4.noLabelsProvided && 0 === e2.xaxis.categories.length && (t4.maxX = t4.labels[t4.labels.length - 1], t4.initialMaxX = t4.labels[t4.labels.length - 1], t4.minX = 1, t4.initialMinX = 1), t4.isXNumeric || t4.noLabelsProvided || t4.dataFormatXNumeric) {
        var a2 = 10;
        if (void 0 === e2.xaxis.tickAmount) a2 = Math.round(t4.svgWidth / 150), "numeric" === e2.xaxis.type && t4.dataPoints < 30 && (a2 = t4.dataPoints - 1), a2 > t4.dataPoints && 0 !== t4.dataPoints && (a2 = t4.dataPoints - 1);
        else if ("dataPoints" === e2.xaxis.tickAmount) {
          if (t4.series.length > 1 && (a2 = t4.series[t4.maxValsInArrayIndex].length - 1), t4.isXNumeric) {
            var s3 = t4.maxX - t4.minX;
            s3 < 30 && (a2 = s3 - 1);
          }
        } else a2 = e2.xaxis.tickAmount;
        if (t4.xTickAmount = a2, void 0 !== e2.xaxis.max && "number" == typeof e2.xaxis.max && (t4.maxX = e2.xaxis.max), void 0 !== e2.xaxis.min && "number" == typeof e2.xaxis.min && (t4.minX = e2.xaxis.min), void 0 !== e2.xaxis.range && (t4.minX = t4.maxX - e2.xaxis.range), t4.minX !== Number.MAX_VALUE && t4.maxX !== -Number.MAX_VALUE) if (e2.xaxis.convertedCatToNumeric && !t4.dataFormatXNumeric) {
          for (var r3 = [], n2 = t4.minX - 1; n2 < t4.maxX; n2++) r3.push(n2 + 1);
          t4.xAxisScale = { result: r3, niceMin: r3[0], niceMax: r3[r3.length - 1] };
        } else t4.xAxisScale = this.scales.setXScale(t4.minX, t4.maxX);
        else t4.xAxisScale = this.scales.linearScale(0, a2, a2, 0, e2.xaxis.stepSize), t4.noLabelsProvided && t4.labels.length > 0 && (t4.xAxisScale = this.scales.linearScale(1, t4.labels.length, a2 - 1, 0, e2.xaxis.stepSize), t4.seriesX = t4.labels.slice());
        i2 && (t4.labels = t4.xAxisScale.result.slice());
      }
      return t4.isBarHorizontal && t4.labels.length && (t4.xTickAmount = t4.labels.length), this._handleSingleDataPoint(), this._getMinXDiff(), { minX: t4.minX, maxX: t4.maxX };
    } }, { key: "setZRange", value: function() {
      var t4 = this.w.globals;
      if (t4.isDataXYZ) {
        for (var e2 = 0; e2 < t4.series.length; e2++) if (void 0 !== t4.seriesZ[e2]) for (var i2 = 0; i2 < t4.seriesZ[e2].length; i2++) null !== t4.seriesZ[e2][i2] && v.isNumber(t4.seriesZ[e2][i2]) && (t4.maxZ = Math.max(t4.maxZ, t4.seriesZ[e2][i2]), t4.minZ = Math.min(t4.minZ, t4.seriesZ[e2][i2]));
      }
    } }, { key: "_handleSingleDataPoint", value: function() {
      var t4 = this.w.globals, e2 = this.w.config;
      if (t4.minX === t4.maxX) {
        var i2 = new zi(this.ctx);
        if ("datetime" === e2.xaxis.type) {
          var a2 = i2.getDate(t4.minX);
          e2.xaxis.labels.datetimeUTC ? a2.setUTCDate(a2.getUTCDate() - 2) : a2.setDate(a2.getDate() - 2), t4.minX = new Date(a2).getTime();
          var s3 = i2.getDate(t4.maxX);
          e2.xaxis.labels.datetimeUTC ? s3.setUTCDate(s3.getUTCDate() + 2) : s3.setDate(s3.getDate() + 2), t4.maxX = new Date(s3).getTime();
        } else ("numeric" === e2.xaxis.type || "category" === e2.xaxis.type && !t4.noLabelsProvided) && (t4.minX = t4.minX - 2, t4.initialMinX = t4.minX, t4.maxX = t4.maxX + 2, t4.initialMaxX = t4.maxX);
      }
    } }, { key: "_getMinXDiff", value: function() {
      var t4 = this.w.globals;
      t4.isXNumeric && t4.seriesX.forEach(function(e2, i2) {
        if (e2.length) {
          1 === e2.length && e2.push(t4.seriesX[t4.maxValsInArrayIndex][t4.seriesX[t4.maxValsInArrayIndex].length - 1]);
          var a2 = e2.slice();
          a2.sort(function(t5, e3) {
            return t5 - e3;
          }), a2.forEach(function(e3, i3) {
            if (i3 > 0) {
              var s3 = e3 - a2[i3 - 1];
              s3 > 0 && (t4.minXDiff = Math.min(s3, t4.minXDiff));
            }
          }), 1 !== t4.dataPoints && t4.minXDiff !== Number.MAX_VALUE || (t4.minXDiff = 0.5);
        }
      });
    } }, { key: "_setStackedMinMax", value: function() {
      var t4 = this, e2 = this.w.globals;
      if (e2.series.length) {
        var i2 = e2.seriesGroups;
        i2.length || (i2 = [this.w.globals.seriesNames.map(function(t5) {
          return t5;
        })]);
        var a2 = {}, s3 = {};
        i2.forEach(function(i3) {
          a2[i3] = [], s3[i3] = [], t4.w.config.series.map(function(t5, a3) {
            return i3.indexOf(e2.seriesNames[a3]) > -1 ? a3 : null;
          }).filter(function(t5) {
            return null !== t5;
          }).forEach(function(r3) {
            for (var n2 = 0; n2 < e2.series[e2.maxValsInArrayIndex].length; n2++) {
              var o3, l2, h3, c2;
              void 0 === a2[i3][n2] && (a2[i3][n2] = 0, s3[i3][n2] = 0), (t4.w.config.chart.stacked && !e2.comboCharts || t4.w.config.chart.stacked && e2.comboCharts && (!t4.w.config.chart.stackOnlyBar || "bar" === (null === (o3 = t4.w.config.series) || void 0 === o3 || null === (l2 = o3[r3]) || void 0 === l2 ? void 0 : l2.type) || "column" === (null === (h3 = t4.w.config.series) || void 0 === h3 || null === (c2 = h3[r3]) || void 0 === c2 ? void 0 : c2.type))) && null !== e2.series[r3][n2] && v.isNumber(e2.series[r3][n2]) && (e2.series[r3][n2] > 0 ? a2[i3][n2] += parseFloat(e2.series[r3][n2]) + 1e-4 : s3[i3][n2] += parseFloat(e2.series[r3][n2]));
            }
          });
        }), Object.entries(a2).forEach(function(t5) {
          var i3 = p2(t5, 1)[0];
          a2[i3].forEach(function(t6, r3) {
            e2.maxY = Math.max(e2.maxY, a2[i3][r3]), e2.minY = Math.min(e2.minY, s3[i3][r3]);
          });
        });
      }
    } }]), t3;
  }(), ia = function() {
    function t3(e2, a2) {
      i(this, t3), this.ctx = e2, this.elgrid = a2, this.w = e2.w;
      var s3 = this.w;
      this.xaxisFontSize = s3.config.xaxis.labels.style.fontSize, this.axisFontFamily = s3.config.xaxis.labels.style.fontFamily, this.xaxisForeColors = s3.config.xaxis.labels.style.colors, this.isCategoryBarHorizontal = "bar" === s3.config.chart.type && s3.config.plotOptions.bar.horizontal, this.xAxisoffX = "bottom" === s3.config.xaxis.position ? s3.globals.gridHeight : 0, this.drawnLabels = [], this.axesUtils = new Ri(e2);
    }
    return s2(t3, [{ key: "drawYaxis", value: function(t4) {
      var e2 = this.w, i2 = new Mi(this.ctx), a2 = e2.config.yaxis[t4].labels.style, s3 = a2.fontSize, r3 = a2.fontFamily, n2 = a2.fontWeight, o3 = i2.group({ class: "apexcharts-yaxis", rel: t4, transform: "translate(".concat(e2.globals.translateYAxisX[t4], ", 0)") });
      if (this.axesUtils.isYAxisHidden(t4)) return o3;
      var l2 = i2.group({ class: "apexcharts-yaxis-texts-g" });
      o3.add(l2);
      var h3 = e2.globals.yAxisScale[t4].result.length - 1, c2 = e2.globals.gridHeight / h3, d2 = e2.globals.yLabelFormatters[t4], u2 = this.axesUtils.checkForReversedLabels(t4, e2.globals.yAxisScale[t4].result.slice());
      if (e2.config.yaxis[t4].labels.show) {
        var g3 = e2.globals.translateY + e2.config.yaxis[t4].labels.offsetY;
        e2.globals.isBarHorizontal ? g3 = 0 : "heatmap" === e2.config.chart.type && (g3 -= c2 / 2), g3 += parseInt(s3, 10) / 3;
        for (var p3 = h3; p3 >= 0; p3--) {
          var f2 = d2(u2[p3], p3, e2), x3 = e2.config.yaxis[t4].labels.padding;
          e2.config.yaxis[t4].opposite && 0 !== e2.config.yaxis.length && (x3 *= -1);
          var b2 = this.getTextAnchor(e2.config.yaxis[t4].labels.align, e2.config.yaxis[t4].opposite), m3 = this.axesUtils.getYAxisForeColor(a2.colors, t4), y2 = Array.isArray(m3) ? m3[p3] : m3, w3 = v.listToArray(e2.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(t4, "'] .apexcharts-yaxis-label tspan"))).map(function(t5) {
            return t5.textContent;
          }), k2 = i2.drawText({ x: x3, y: g3, text: w3.includes(f2) && !e2.config.yaxis[t4].labels.showDuplicates ? "" : f2, textAnchor: b2, fontSize: s3, fontFamily: r3, fontWeight: n2, maxWidth: e2.config.yaxis[t4].labels.maxWidth, foreColor: y2, isPlainText: false, cssClass: "apexcharts-yaxis-label ".concat(a2.cssClass) });
          l2.add(k2), this.addTooltip(k2, f2), 0 !== e2.config.yaxis[t4].labels.rotate && this.rotateLabel(i2, k2, firstLabel, e2.config.yaxis[t4].labels.rotate), g3 += c2;
        }
      }
      return this.addYAxisTitle(i2, o3, t4), this.addAxisBorder(i2, o3, t4, h3, c2), o3;
    } }, { key: "getTextAnchor", value: function(t4, e2) {
      return "left" === t4 ? "start" : "center" === t4 ? "middle" : "right" === t4 ? "end" : e2 ? "start" : "end";
    } }, { key: "addTooltip", value: function(t4, e2) {
      var i2 = document.createElementNS(this.w.globals.SVGNS, "title");
      i2.textContent = Array.isArray(e2) ? e2.join(" ") : e2, t4.node.appendChild(i2);
    } }, { key: "rotateLabel", value: function(t4, e2, i2, a2) {
      var s3 = t4.rotateAroundCenter(i2.node), r3 = t4.rotateAroundCenter(e2.node);
      e2.node.setAttribute("transform", "rotate(".concat(a2, " ").concat(s3.x, " ").concat(r3.y, ")"));
    } }, { key: "addYAxisTitle", value: function(t4, e2, i2) {
      var a2 = this.w;
      if (void 0 !== a2.config.yaxis[i2].title.text) {
        var s3 = t4.group({ class: "apexcharts-yaxis-title" }), r3 = a2.config.yaxis[i2].opposite ? a2.globals.translateYAxisX[i2] : 0, n2 = t4.drawText({ x: r3, y: a2.globals.gridHeight / 2 + a2.globals.translateY + a2.config.yaxis[i2].title.offsetY, text: a2.config.yaxis[i2].title.text, textAnchor: "end", foreColor: a2.config.yaxis[i2].title.style.color, fontSize: a2.config.yaxis[i2].title.style.fontSize, fontWeight: a2.config.yaxis[i2].title.style.fontWeight, fontFamily: a2.config.yaxis[i2].title.style.fontFamily, cssClass: "apexcharts-yaxis-title-text ".concat(a2.config.yaxis[i2].title.style.cssClass) });
        s3.add(n2), e2.add(s3);
      }
    } }, { key: "addAxisBorder", value: function(t4, e2, i2, a2, s3) {
      var r3 = this.w, n2 = r3.config.yaxis[i2].axisBorder, o3 = 31 + n2.offsetX;
      if (r3.config.yaxis[i2].opposite && (o3 = -31 - n2.offsetX), n2.show) {
        var l2 = t4.drawLine(o3, r3.globals.translateY + n2.offsetY - 2, o3, r3.globals.gridHeight + r3.globals.translateY + n2.offsetY + 2, n2.color, 0, n2.width);
        e2.add(l2);
      }
      r3.config.yaxis[i2].axisTicks.show && this.axesUtils.drawYAxisTicks(o3, a2, n2, r3.config.yaxis[i2].axisTicks, i2, s3, e2);
    } }, { key: "drawYaxisInversed", value: function(t4) {
      var e2 = this.w, i2 = new Mi(this.ctx), a2 = i2.group({ class: "apexcharts-xaxis apexcharts-yaxis-inversed" }), s3 = i2.group({ class: "apexcharts-xaxis-texts-g", transform: "translate(".concat(e2.globals.translateXAxisX, ", ").concat(e2.globals.translateXAxisY, ")") });
      a2.add(s3);
      var r3 = e2.globals.yAxisScale[t4].result.length - 1, n2 = e2.globals.gridWidth / r3 + 0.1, o3 = n2 + e2.config.xaxis.labels.offsetX, l2 = e2.globals.xLabelFormatter, h3 = this.axesUtils.checkForReversedLabels(t4, e2.globals.yAxisScale[t4].result.slice()), c2 = e2.globals.timescaleLabels;
      if (c2.length > 0 && (this.xaxisLabels = c2.slice(), r3 = (h3 = c2.slice()).length), e2.config.xaxis.labels.show) for (var d2 = c2.length ? 0 : r3; c2.length ? d2 < c2.length : d2 >= 0; c2.length ? d2++ : d2--) {
        var u2 = l2(h3[d2], d2, e2), g3 = e2.globals.gridWidth + e2.globals.padHorizontal - (o3 - n2 + e2.config.xaxis.labels.offsetX);
        if (c2.length) {
          var p3 = this.axesUtils.getLabel(h3, c2, g3, d2, this.drawnLabels, this.xaxisFontSize);
          g3 = p3.x, u2 = p3.text, this.drawnLabels.push(p3.text), 0 === d2 && e2.globals.skipFirstTimelinelabel && (u2 = ""), d2 === h3.length - 1 && e2.globals.skipLastTimelinelabel && (u2 = "");
        }
        var f2 = i2.drawText({ x: g3, y: this.xAxisoffX + e2.config.xaxis.labels.offsetY + 30 - ("top" === e2.config.xaxis.position ? e2.globals.xAxisHeight + e2.config.xaxis.axisTicks.height - 2 : 0), text: u2, textAnchor: "middle", foreColor: Array.isArray(this.xaxisForeColors) ? this.xaxisForeColors[t4] : this.xaxisForeColors, fontSize: this.xaxisFontSize, fontFamily: this.xaxisFontFamily, fontWeight: e2.config.xaxis.labels.style.fontWeight, isPlainText: false, cssClass: "apexcharts-xaxis-label ".concat(e2.config.xaxis.labels.style.cssClass) });
        s3.add(f2), f2.tspan(u2), this.addTooltip(f2, u2), o3 += n2;
      }
      return this.inversedYAxisTitleText(a2), this.inversedYAxisBorder(a2), a2;
    } }, { key: "inversedYAxisBorder", value: function(t4) {
      var e2 = this.w, i2 = new Mi(this.ctx), a2 = e2.config.xaxis.axisBorder;
      if (a2.show) {
        var s3 = 0;
        "bar" === e2.config.chart.type && e2.globals.isXNumeric && (s3 -= 15);
        var r3 = i2.drawLine(e2.globals.padHorizontal + s3 + a2.offsetX, this.xAxisoffX, e2.globals.gridWidth, this.xAxisoffX, a2.color, 0, a2.height);
        this.elgrid && this.elgrid.elGridBorders && e2.config.grid.show ? this.elgrid.elGridBorders.add(r3) : t4.add(r3);
      }
    } }, { key: "inversedYAxisTitleText", value: function(t4) {
      var e2 = this.w, i2 = new Mi(this.ctx);
      if (void 0 !== e2.config.xaxis.title.text) {
        var a2 = i2.group({ class: "apexcharts-xaxis-title apexcharts-yaxis-title-inversed" }), s3 = i2.drawText({ x: e2.globals.gridWidth / 2 + e2.config.xaxis.title.offsetX, y: this.xAxisoffX + parseFloat(this.xaxisFontSize) + parseFloat(e2.config.xaxis.title.style.fontSize) + e2.config.xaxis.title.offsetY + 20, text: e2.config.xaxis.title.text, textAnchor: "middle", fontSize: e2.config.xaxis.title.style.fontSize, fontFamily: e2.config.xaxis.title.style.fontFamily, fontWeight: e2.config.xaxis.title.style.fontWeight, foreColor: e2.config.xaxis.title.style.color, cssClass: "apexcharts-xaxis-title-text ".concat(e2.config.xaxis.title.style.cssClass) });
        a2.add(s3), t4.add(a2);
      }
    } }, { key: "yAxisTitleRotate", value: function(t4, e2) {
      var i2 = this.w, a2 = new Mi(this.ctx), s3 = i2.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(t4, "'] .apexcharts-yaxis-texts-g")), r3 = s3 ? s3.getBoundingClientRect() : { width: 0, height: 0 }, n2 = i2.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(t4, "'] .apexcharts-yaxis-title text")), o3 = n2 ? n2.getBoundingClientRect() : { width: 0, height: 0 };
      if (n2) {
        var l2 = this.xPaddingForYAxisTitle(t4, r3, o3, e2);
        n2.setAttribute("x", l2.xPos - (e2 ? 10 : 0));
        var h3 = a2.rotateAroundCenter(n2);
        n2.setAttribute("transform", "rotate(".concat(e2 ? -1 * i2.config.yaxis[t4].title.rotate : i2.config.yaxis[t4].title.rotate, " ").concat(h3.x, " ").concat(h3.y, ")"));
      }
    } }, { key: "xPaddingForYAxisTitle", value: function(t4, e2, i2, a2) {
      var s3 = this.w, r3 = 0, n2 = 10;
      return void 0 === s3.config.yaxis[t4].title.text || t4 < 0 ? { xPos: r3, padd: 0 } : (a2 ? r3 = e2.width + s3.config.yaxis[t4].title.offsetX + i2.width / 2 + n2 / 2 : (r3 = -1 * e2.width + s3.config.yaxis[t4].title.offsetX + n2 / 2 + i2.width / 2, s3.globals.isBarHorizontal && (n2 = 25, r3 = -1 * e2.width - s3.config.yaxis[t4].title.offsetX - n2)), { xPos: r3, padd: n2 });
    } }, { key: "setYAxisXPosition", value: function(t4, e2) {
      var i2 = this.w, a2 = 0, s3 = 0, r3 = 18, n2 = 1;
      i2.config.yaxis.length > 1 && (this.multipleYs = true), i2.config.yaxis.forEach(function(o3, l2) {
        var h3 = i2.globals.ignoreYAxisIndexes.includes(l2) || !o3.show || o3.floating || 0 === t4[l2].width, c2 = t4[l2].width + e2[l2].width;
        o3.opposite ? i2.globals.isBarHorizontal ? (s3 = i2.globals.gridWidth + i2.globals.translateX - 1, i2.globals.translateYAxisX[l2] = s3 - o3.labels.offsetX) : (s3 = i2.globals.gridWidth + i2.globals.translateX + n2, h3 || (n2 += c2 + 20), i2.globals.translateYAxisX[l2] = s3 - o3.labels.offsetX + 20) : (a2 = i2.globals.translateX - r3, h3 || (r3 += c2 + 20), i2.globals.translateYAxisX[l2] = a2 + o3.labels.offsetX);
      });
    } }, { key: "setYAxisTextAlignments", value: function() {
      var t4 = this.w;
      v.listToArray(t4.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis")).forEach(function(e2, i2) {
        var a2 = t4.config.yaxis[i2];
        if (a2 && !a2.floating && void 0 !== a2.labels.align) {
          var s3 = t4.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(i2, "'] .apexcharts-yaxis-texts-g")), r3 = v.listToArray(t4.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(i2, "'] .apexcharts-yaxis-label"))), n2 = s3.getBoundingClientRect();
          r3.forEach(function(t5) {
            t5.setAttribute("text-anchor", a2.labels.align);
          }), "left" !== a2.labels.align || a2.opposite ? "center" === a2.labels.align ? s3.setAttribute("transform", "translate(".concat(n2.width / 2 * (a2.opposite ? 1 : -1), ", 0)")) : "right" === a2.labels.align && a2.opposite && s3.setAttribute("transform", "translate(".concat(n2.width, ", 0)")) : s3.setAttribute("transform", "translate(-".concat(n2.width, ", 0)"));
        }
      });
    } }]), t3;
  }(), aa = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w, this.documentEvent = v.bind(this.documentEvent, this);
    }
    return s2(t3, [{ key: "addEventListener", value: function(t4, e2) {
      var i2 = this.w;
      i2.globals.events.hasOwnProperty(t4) ? i2.globals.events[t4].push(e2) : i2.globals.events[t4] = [e2];
    } }, { key: "removeEventListener", value: function(t4, e2) {
      var i2 = this.w;
      if (i2.globals.events.hasOwnProperty(t4)) {
        var a2 = i2.globals.events[t4].indexOf(e2);
        -1 !== a2 && i2.globals.events[t4].splice(a2, 1);
      }
    } }, { key: "fireEvent", value: function(t4, e2) {
      var i2 = this.w;
      if (i2.globals.events.hasOwnProperty(t4)) {
        e2 && e2.length || (e2 = []);
        for (var a2 = i2.globals.events[t4], s3 = a2.length, r3 = 0; r3 < s3; r3++) a2[r3].apply(null, e2);
      }
    } }, { key: "setupEventHandlers", value: function() {
      var t4 = this, e2 = this.w, i2 = this.ctx, a2 = e2.globals.dom.baseEl.querySelector(e2.globals.chartClass);
      this.ctx.eventList.forEach(function(t5) {
        a2.addEventListener(t5, function(t6) {
          var a3 = Object.assign({}, e2, { seriesIndex: e2.globals.axisCharts ? e2.globals.capturedSeriesIndex : 0, dataPointIndex: e2.globals.capturedDataPointIndex });
          "mousemove" === t6.type || "touchmove" === t6.type ? "function" == typeof e2.config.chart.events.mouseMove && e2.config.chart.events.mouseMove(t6, i2, a3) : "mouseleave" === t6.type || "touchleave" === t6.type ? "function" == typeof e2.config.chart.events.mouseLeave && e2.config.chart.events.mouseLeave(t6, i2, a3) : ("mouseup" === t6.type && 1 === t6.which || "touchend" === t6.type) && ("function" == typeof e2.config.chart.events.click && e2.config.chart.events.click(t6, i2, a3), i2.ctx.events.fireEvent("click", [t6, i2, a3]));
        }, { capture: false, passive: true });
      }), this.ctx.eventList.forEach(function(i3) {
        e2.globals.dom.baseEl.addEventListener(i3, t4.documentEvent, { passive: true });
      }), this.ctx.core.setupBrushHandler();
    } }, { key: "documentEvent", value: function(t4) {
      var e2 = this.w, i2 = t4.target.className;
      if ("click" === t4.type) {
        var a2 = e2.globals.dom.baseEl.querySelector(".apexcharts-menu");
        a2 && a2.classList.contains("apexcharts-menu-open") && "apexcharts-menu-icon" !== i2 && a2.classList.remove("apexcharts-menu-open");
      }
      e2.globals.clientX = "touchmove" === t4.type ? t4.touches[0].clientX : t4.clientX, e2.globals.clientY = "touchmove" === t4.type ? t4.touches[0].clientY : t4.clientY;
    } }]), t3;
  }(), sa = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
    }
    return s2(t3, [{ key: "setCurrentLocaleValues", value: function(t4) {
      var e2 = this.w.config.chart.locales;
      window.Apex.chart && window.Apex.chart.locales && window.Apex.chart.locales.length > 0 && (e2 = this.w.config.chart.locales.concat(window.Apex.chart.locales));
      var i2 = e2.filter(function(e3) {
        return e3.name === t4;
      })[0];
      if (!i2) throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");
      var a2 = v.extend(Hi, i2);
      this.w.globals.locale = a2.options;
    } }]), t3;
  }(), ra = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
    }
    return s2(t3, [{ key: "drawAxis", value: function(t4, e2) {
      var i2, a2, s3 = this, r3 = this.w.globals, n2 = this.w.config, o3 = new Qi(this.ctx, e2), l2 = new ia(this.ctx, e2);
      r3.axisCharts && "radar" !== t4 && (r3.isBarHorizontal ? (a2 = l2.drawYaxisInversed(0), i2 = o3.drawXaxisInversed(0), r3.dom.elGraphical.add(i2), r3.dom.elGraphical.add(a2)) : (i2 = o3.drawXaxis(), r3.dom.elGraphical.add(i2), n2.yaxis.map(function(t5, e3) {
        if (-1 === r3.ignoreYAxisIndexes.indexOf(e3) && (a2 = l2.drawYaxis(e3), r3.dom.Paper.add(a2), "back" === s3.w.config.grid.position)) {
          var i3 = r3.dom.Paper.children()[1];
          i3.remove(), r3.dom.Paper.add(i3);
        }
      })));
    } }]), t3;
  }(), na = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
    }
    return s2(t3, [{ key: "drawXCrosshairs", value: function() {
      var t4 = this.w, e2 = new Mi(this.ctx), i2 = new Li(this.ctx), a2 = t4.config.xaxis.crosshairs.fill.gradient, s3 = t4.config.xaxis.crosshairs.dropShadow, r3 = t4.config.xaxis.crosshairs.fill.type, n2 = a2.colorFrom, o3 = a2.colorTo, l2 = a2.opacityFrom, h3 = a2.opacityTo, c2 = a2.stops, d2 = s3.enabled, u2 = s3.left, g3 = s3.top, p3 = s3.blur, f2 = s3.color, x3 = s3.opacity, b2 = t4.config.xaxis.crosshairs.fill.color;
      if (t4.config.xaxis.crosshairs.show) {
        "gradient" === r3 && (b2 = e2.drawGradient("vertical", n2, o3, l2, h3, null, c2, null));
        var m3 = e2.drawRect();
        1 === t4.config.xaxis.crosshairs.width && (m3 = e2.drawLine());
        var y2 = t4.globals.gridHeight;
        (!v.isNumber(y2) || y2 < 0) && (y2 = 0);
        var w3 = t4.config.xaxis.crosshairs.width;
        (!v.isNumber(w3) || w3 < 0) && (w3 = 0), m3.attr({ class: "apexcharts-xcrosshairs", x: 0, y: 0, y2, width: w3, height: y2, fill: b2, filter: "none", "fill-opacity": t4.config.xaxis.crosshairs.opacity, stroke: t4.config.xaxis.crosshairs.stroke.color, "stroke-width": t4.config.xaxis.crosshairs.stroke.width, "stroke-dasharray": t4.config.xaxis.crosshairs.stroke.dashArray }), d2 && (m3 = i2.dropShadow(m3, { left: u2, top: g3, blur: p3, color: f2, opacity: x3 })), t4.globals.dom.elGraphical.add(m3);
      }
    } }, { key: "drawYCrosshairs", value: function() {
      var t4 = this.w, e2 = new Mi(this.ctx), i2 = t4.config.yaxis[0].crosshairs, a2 = t4.globals.barPadForNumericAxis;
      if (t4.config.yaxis[0].crosshairs.show) {
        var s3 = e2.drawLine(-a2, 0, t4.globals.gridWidth + a2, 0, i2.stroke.color, i2.stroke.dashArray, i2.stroke.width);
        s3.attr({ class: "apexcharts-ycrosshairs" }), t4.globals.dom.elGraphical.add(s3);
      }
      var r3 = e2.drawLine(-a2, 0, t4.globals.gridWidth + a2, 0, i2.stroke.color, 0, 0);
      r3.attr({ class: "apexcharts-ycrosshairs-hidden" }), t4.globals.dom.elGraphical.add(r3);
    } }]), t3;
  }(), oa = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
    }
    return s2(t3, [{ key: "checkResponsiveConfig", value: function(t4) {
      var e2 = this, i2 = this.w, a2 = i2.config;
      if (0 !== a2.responsive.length) {
        var s3 = a2.responsive.slice();
        s3.sort(function(t5, e3) {
          return t5.breakpoint > e3.breakpoint ? 1 : e3.breakpoint > t5.breakpoint ? -1 : 0;
        }).reverse();
        var r3 = new Wi({}), n2 = function() {
          var t5 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, a3 = s3[0].breakpoint, n3 = window.innerWidth > 0 ? window.innerWidth : screen.width;
          if (n3 > a3) {
            var o4 = v.clone(i2.globals.initialConfig);
            o4.series = v.clone(i2.config.series);
            var l2 = Pi.extendArrayProps(r3, o4, i2);
            t5 = v.extend(l2, t5), t5 = v.extend(i2.config, t5), e2.overrideResponsiveOptions(t5);
          } else for (var h3 = 0; h3 < s3.length; h3++) n3 < s3[h3].breakpoint && (t5 = Pi.extendArrayProps(r3, s3[h3].options, i2), t5 = v.extend(i2.config, t5), e2.overrideResponsiveOptions(t5));
        };
        if (t4) {
          var o3 = Pi.extendArrayProps(r3, t4, i2);
          o3 = v.extend(i2.config, o3), n2(o3 = v.extend(o3, t4));
        } else n2({});
      }
    } }, { key: "overrideResponsiveOptions", value: function(t4) {
      var e2 = new Wi(t4).init({ responsiveOverride: true });
      this.w.config = e2;
    } }]), t3;
  }(), la = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w, this.colors = [], this.isColorFn = false, this.isHeatmapDistributed = this.checkHeatmapDistributed(), this.isBarDistributed = this.checkBarDistributed();
    }
    return s2(t3, [{ key: "checkHeatmapDistributed", value: function() {
      var t4 = this.w.config, e2 = t4.chart, i2 = t4.plotOptions;
      return "treemap" === e2.type && i2.treemap && i2.treemap.distributed || "heatmap" === e2.type && i2.heatmap && i2.heatmap.distributed;
    } }, { key: "checkBarDistributed", value: function() {
      var t4 = this.w.config, e2 = t4.chart, i2 = t4.plotOptions;
      return i2.bar && i2.bar.distributed && ("bar" === e2.type || "rangeBar" === e2.type);
    } }, { key: "init", value: function() {
      this.setDefaultColors();
    } }, { key: "setDefaultColors", value: function() {
      var t4 = this.w, e2 = new v();
      t4.globals.dom.elWrap.classList.add("apexcharts-theme-".concat(t4.config.theme.mode));
      var i2 = f(t4.config.colors || t4.config.fill.colors || []);
      t4.globals.colors = this.getColors(i2), this.applySeriesColors(t4.globals.seriesColors, t4.globals.colors), t4.config.theme.monochrome.enabled && (t4.globals.colors = this.getMonochromeColors(t4.config.theme.monochrome, t4.globals.series, e2));
      var a2 = t4.globals.colors.slice();
      this.pushExtraColors(t4.globals.colors), this.applyColorTypes(["fill", "stroke"], a2), this.applyDataLabelsColors(a2), this.applyRadarPolygonsColors(), this.applyMarkersColors(a2);
    } }, { key: "getColors", value: function(t4) {
      var e2 = this, i2 = this.w;
      return t4 && 0 !== t4.length ? Array.isArray(t4) && t4.length > 0 && "function" == typeof t4[0] ? (this.isColorFn = true, i2.config.series.map(function(a2, s3) {
        var r3 = t4[s3] || t4[0];
        return "function" == typeof r3 ? r3({ value: i2.globals.axisCharts ? i2.globals.series[s3][0] || 0 : i2.globals.series[s3], seriesIndex: s3, dataPointIndex: s3, w: e2.w }) : r3;
      })) : t4 : this.predefined();
    } }, { key: "applySeriesColors", value: function(t4, e2) {
      t4.forEach(function(t5, i2) {
        t5 && (e2[i2] = t5);
      });
    } }, { key: "getMonochromeColors", value: function(t4, e2, i2) {
      var a2 = t4.color, s3 = t4.shadeIntensity, r3 = t4.shadeTo, n2 = this.isBarDistributed || this.isHeatmapDistributed ? e2[0].length * e2.length : e2.length, o3 = 1 / (n2 / s3), l2 = 0;
      return Array.from({ length: n2 }, function() {
        var t5 = "dark" === r3 ? i2.shadeColor(-1 * l2, a2) : i2.shadeColor(l2, a2);
        return l2 += o3, t5;
      });
    } }, { key: "applyColorTypes", value: function(t4, e2) {
      var i2 = this, a2 = this.w;
      t4.forEach(function(t5) {
        a2.globals[t5].colors = void 0 === a2.config[t5].colors ? i2.isColorFn ? a2.config.colors : e2 : a2.config[t5].colors.slice(), i2.pushExtraColors(a2.globals[t5].colors);
      });
    } }, { key: "applyDataLabelsColors", value: function(t4) {
      var e2 = this.w;
      e2.globals.dataLabels.style.colors = void 0 === e2.config.dataLabels.style.colors ? t4 : e2.config.dataLabels.style.colors.slice(), this.pushExtraColors(e2.globals.dataLabels.style.colors, 50);
    } }, { key: "applyRadarPolygonsColors", value: function() {
      var t4 = this.w;
      t4.globals.radarPolygons.fill.colors = void 0 === t4.config.plotOptions.radar.polygons.fill.colors ? ["dark" === t4.config.theme.mode ? "#424242" : "none"] : t4.config.plotOptions.radar.polygons.fill.colors.slice(), this.pushExtraColors(t4.globals.radarPolygons.fill.colors, 20);
    } }, { key: "applyMarkersColors", value: function(t4) {
      var e2 = this.w;
      e2.globals.markers.colors = void 0 === e2.config.markers.colors ? t4 : e2.config.markers.colors.slice(), this.pushExtraColors(e2.globals.markers.colors);
    } }, { key: "pushExtraColors", value: function(t4, e2) {
      var i2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null, a2 = this.w, s3 = e2 || a2.globals.series.length;
      if (null === i2 && (i2 = this.isBarDistributed || this.isHeatmapDistributed || "heatmap" === a2.config.chart.type && a2.config.plotOptions.heatmap && a2.config.plotOptions.heatmap.colorScale.inverse), i2 && a2.globals.series.length && (s3 = a2.globals.series[a2.globals.maxValsInArrayIndex].length * a2.globals.series.length), t4.length < s3) for (var r3 = s3 - t4.length, n2 = 0; n2 < r3; n2++) t4.push(t4[n2]);
    } }, { key: "updateThemeOptions", value: function(t4) {
      t4.chart = t4.chart || {}, t4.tooltip = t4.tooltip || {};
      var e2 = t4.theme.mode, i2 = "dark" === e2 ? "palette4" : "light" === e2 ? "palette1" : t4.theme.palette || "palette1", a2 = "dark" === e2 ? "#f6f7f8" : "light" === e2 ? "#373d3f" : t4.chart.foreColor || "#373d3f";
      return t4.tooltip.theme = e2 || "light", t4.chart.foreColor = a2, t4.theme.palette = i2, t4;
    } }, { key: "predefined", value: function() {
      var t4 = { palette1: ["#008FFB", "#00E396", "#FEB019", "#FF4560", "#775DD0"], palette2: ["#3f51b5", "#03a9f4", "#4caf50", "#f9ce1d", "#FF9800"], palette3: ["#33b2df", "#546E7A", "#d4526e", "#13d8aa", "#A5978B"], palette4: ["#4ecdc4", "#c7f464", "#81D4FA", "#fd6a6a", "#546E7A"], palette5: ["#2b908f", "#f9a3a4", "#90ee7e", "#fa4443", "#69d2e7"], palette6: ["#449DD1", "#F86624", "#EA3546", "#662E9B", "#C5D86D"], palette7: ["#D7263D", "#1B998B", "#2E294E", "#F46036", "#E2C044"], palette8: ["#662E9B", "#F86624", "#F9C80E", "#EA3546", "#43BCCD"], palette9: ["#5C4742", "#A5978B", "#8D5B4C", "#5A2A27", "#C4BBAF"], palette10: ["#A300D6", "#7D02EB", "#5653FE", "#2983FF", "#00B1F2"], default: ["#008FFB", "#00E396", "#FEB019", "#FF4560", "#775DD0"] };
      return t4[this.w.config.theme.palette] || t4.default;
    } }]), t3;
  }(), ha = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
    }
    return s2(t3, [{ key: "draw", value: function() {
      this.drawTitleSubtitle("title"), this.drawTitleSubtitle("subtitle");
    } }, { key: "drawTitleSubtitle", value: function(t4) {
      var e2 = this.w, i2 = "title" === t4 ? e2.config.title : e2.config.subtitle, a2 = e2.globals.svgWidth / 2, s3 = i2.offsetY, r3 = "middle";
      if ("left" === i2.align ? (a2 = 10, r3 = "start") : "right" === i2.align && (a2 = e2.globals.svgWidth - 10, r3 = "end"), a2 += i2.offsetX, s3 = s3 + parseInt(i2.style.fontSize, 10) + i2.margin / 2, void 0 !== i2.text) {
        var n2 = new Mi(this.ctx).drawText({ x: a2, y: s3, text: i2.text, textAnchor: r3, fontSize: i2.style.fontSize, fontFamily: i2.style.fontFamily, fontWeight: i2.style.fontWeight, foreColor: i2.style.color, opacity: 1 });
        n2.node.setAttribute("class", "apexcharts-".concat(t4, "-text")), e2.globals.dom.Paper.add(n2);
      }
    } }]), t3;
  }(), ca = function() {
    function t3(e2) {
      i(this, t3), this.w = e2.w, this.dCtx = e2;
    }
    return s2(t3, [{ key: "getTitleSubtitleCoords", value: function(t4) {
      var e2 = this.w, i2 = 0, a2 = 0, s3 = "title" === t4 ? e2.config.title.floating : e2.config.subtitle.floating, r3 = e2.globals.dom.baseEl.querySelector(".apexcharts-".concat(t4, "-text"));
      if (null !== r3 && !s3) {
        var n2 = r3.getBoundingClientRect();
        i2 = n2.width, a2 = e2.globals.axisCharts ? n2.height + 5 : n2.height;
      }
      return { width: i2, height: a2 };
    } }, { key: "getLegendsRect", value: function() {
      var t4 = this.w, e2 = t4.globals.dom.elLegendWrap;
      t4.config.legend.height || "top" !== t4.config.legend.position && "bottom" !== t4.config.legend.position || (e2.style.maxHeight = t4.globals.svgHeight / 2 + "px");
      var i2 = Object.assign({}, v.getBoundingClientRect(e2));
      return null !== e2 && !t4.config.legend.floating && t4.config.legend.show ? this.dCtx.lgRect = { x: i2.x, y: i2.y, height: i2.height, width: 0 === i2.height ? 0 : i2.width } : this.dCtx.lgRect = { x: 0, y: 0, height: 0, width: 0 }, "left" !== t4.config.legend.position && "right" !== t4.config.legend.position || 1.5 * this.dCtx.lgRect.width > t4.globals.svgWidth && (this.dCtx.lgRect.width = t4.globals.svgWidth / 1.5), this.dCtx.lgRect;
    } }, { key: "getDatalabelsRect", value: function() {
      var t4 = this, e2 = this.w, i2 = [];
      e2.config.series.forEach(function(s4, r4) {
        s4.data.forEach(function(s5, n3) {
          var o3;
          o3 = e2.globals.series[r4][n3], a2 = e2.config.dataLabels.formatter(o3, { ctx: t4.dCtx.ctx, seriesIndex: r4, dataPointIndex: n3, w: e2 }), i2.push(a2);
        });
      });
      var a2 = v.getLargestStringFromArr(i2), s3 = new Mi(this.dCtx.ctx), r3 = e2.config.dataLabels.style, n2 = s3.getTextRects(a2, parseInt(r3.fontSize), r3.fontFamily);
      return { width: 1.05 * n2.width, height: n2.height };
    } }, { key: "getLargestStringFromMultiArr", value: function(t4, e2) {
      var i2 = t4;
      if (this.w.globals.isMultiLineX) {
        var a2 = e2.map(function(t5, e3) {
          return Array.isArray(t5) ? t5.length : 1;
        }), s3 = Math.max.apply(Math, f(a2));
        i2 = e2[a2.indexOf(s3)];
      }
      return i2;
    } }]), t3;
  }(), da = function() {
    function t3(e2) {
      i(this, t3), this.w = e2.w, this.dCtx = e2;
    }
    return s2(t3, [{ key: "getxAxisLabelsCoords", value: function() {
      var t4, e2 = this.w, i2 = e2.globals.labels.slice();
      if (e2.config.xaxis.convertedCatToNumeric && 0 === i2.length && (i2 = e2.globals.categoryLabels), e2.globals.timescaleLabels.length > 0) {
        var a2 = this.getxAxisTimeScaleLabelsCoords();
        t4 = { width: a2.width, height: a2.height }, e2.globals.rotateXLabels = false;
      } else {
        this.dCtx.lgWidthForSideLegends = "left" !== e2.config.legend.position && "right" !== e2.config.legend.position || e2.config.legend.floating ? 0 : this.dCtx.lgRect.width;
        var s3 = e2.globals.xLabelFormatter, r3 = v.getLargestStringFromArr(i2), n2 = this.dCtx.dimHelpers.getLargestStringFromMultiArr(r3, i2);
        e2.globals.isBarHorizontal && (n2 = r3 = e2.globals.yAxisScale[0].result.reduce(function(t5, e3) {
          return t5.length > e3.length ? t5 : e3;
        }, 0));
        var o3 = new Xi(this.dCtx.ctx), l2 = r3;
        r3 = o3.xLabelFormat(s3, r3, l2, { i: void 0, dateFormatter: new zi(this.dCtx.ctx).formatDate, w: e2 }), n2 = o3.xLabelFormat(s3, n2, l2, { i: void 0, dateFormatter: new zi(this.dCtx.ctx).formatDate, w: e2 }), (e2.config.xaxis.convertedCatToNumeric && void 0 === r3 || "" === String(r3).trim()) && (n2 = r3 = "1");
        var h3 = new Mi(this.dCtx.ctx), c2 = h3.getTextRects(r3, e2.config.xaxis.labels.style.fontSize), d2 = c2;
        if (r3 !== n2 && (d2 = h3.getTextRects(n2, e2.config.xaxis.labels.style.fontSize)), (t4 = { width: c2.width >= d2.width ? c2.width : d2.width, height: c2.height >= d2.height ? c2.height : d2.height }).width * i2.length > e2.globals.svgWidth - this.dCtx.lgWidthForSideLegends - this.dCtx.yAxisWidth - this.dCtx.gridPad.left - this.dCtx.gridPad.right && 0 !== e2.config.xaxis.labels.rotate || e2.config.xaxis.labels.rotateAlways) {
          if (!e2.globals.isBarHorizontal) {
            e2.globals.rotateXLabels = true;
            var u2 = function(t5) {
              return h3.getTextRects(t5, e2.config.xaxis.labels.style.fontSize, e2.config.xaxis.labels.style.fontFamily, "rotate(".concat(e2.config.xaxis.labels.rotate, " 0 0)"), false);
            };
            c2 = u2(r3), r3 !== n2 && (d2 = u2(n2)), t4.height = (c2.height > d2.height ? c2.height : d2.height) / 1.5, t4.width = c2.width > d2.width ? c2.width : d2.width;
          }
        } else e2.globals.rotateXLabels = false;
      }
      return e2.config.xaxis.labels.show || (t4 = { width: 0, height: 0 }), { width: t4.width, height: t4.height };
    } }, { key: "getxAxisGroupLabelsCoords", value: function() {
      var t4, e2 = this.w;
      if (!e2.globals.hasXaxisGroups) return { width: 0, height: 0 };
      var i2, a2 = (null === (t4 = e2.config.xaxis.group.style) || void 0 === t4 ? void 0 : t4.fontSize) || e2.config.xaxis.labels.style.fontSize, s3 = e2.globals.groups.map(function(t5) {
        return t5.title;
      }), r3 = v.getLargestStringFromArr(s3), n2 = this.dCtx.dimHelpers.getLargestStringFromMultiArr(r3, s3), o3 = new Mi(this.dCtx.ctx), l2 = o3.getTextRects(r3, a2), h3 = l2;
      return r3 !== n2 && (h3 = o3.getTextRects(n2, a2)), i2 = { width: l2.width >= h3.width ? l2.width : h3.width, height: l2.height >= h3.height ? l2.height : h3.height }, e2.config.xaxis.labels.show || (i2 = { width: 0, height: 0 }), { width: i2.width, height: i2.height };
    } }, { key: "getxAxisTitleCoords", value: function() {
      var t4 = this.w, e2 = 0, i2 = 0;
      if (void 0 !== t4.config.xaxis.title.text) {
        var a2 = new Mi(this.dCtx.ctx).getTextRects(t4.config.xaxis.title.text, t4.config.xaxis.title.style.fontSize);
        e2 = a2.width, i2 = a2.height;
      }
      return { width: e2, height: i2 };
    } }, { key: "getxAxisTimeScaleLabelsCoords", value: function() {
      var t4, e2 = this.w;
      this.dCtx.timescaleLabels = e2.globals.timescaleLabels.slice();
      var i2 = this.dCtx.timescaleLabels.map(function(t5) {
        return t5.value;
      }), a2 = i2.reduce(function(t5, e3) {
        return void 0 === t5 ? (console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"), 0) : t5.length > e3.length ? t5 : e3;
      }, 0);
      return 1.05 * (t4 = new Mi(this.dCtx.ctx).getTextRects(a2, e2.config.xaxis.labels.style.fontSize)).width * i2.length > e2.globals.gridWidth && 0 !== e2.config.xaxis.labels.rotate && (e2.globals.overlappingXLabels = true), t4;
    } }, { key: "additionalPaddingXLabels", value: function(t4) {
      var e2 = this, i2 = this.w, a2 = i2.globals, s3 = i2.config, r3 = s3.xaxis.type, n2 = t4.width;
      a2.skipLastTimelinelabel = false, a2.skipFirstTimelinelabel = false;
      var o3 = i2.config.yaxis[0].opposite && i2.globals.isBarHorizontal, l2 = function(t5, o4) {
        s3.yaxis.length > 1 && function(t6) {
          return -1 !== a2.collapsedSeriesIndices.indexOf(t6);
        }(o4) || function(t6) {
          if (e2.dCtx.timescaleLabels && e2.dCtx.timescaleLabels.length) {
            var o5 = e2.dCtx.timescaleLabels[0], l3 = e2.dCtx.timescaleLabels[e2.dCtx.timescaleLabels.length - 1].position + n2 / 1.75 - e2.dCtx.yAxisWidthRight, h3 = o5.position - n2 / 1.75 + e2.dCtx.yAxisWidthLeft, c2 = "right" === i2.config.legend.position && e2.dCtx.lgRect.width > 0 ? e2.dCtx.lgRect.width : 0;
            l3 > a2.svgWidth - a2.translateX - c2 && (a2.skipLastTimelinelabel = true), h3 < -(t6.show && !t6.floating || "bar" !== s3.chart.type && "candlestick" !== s3.chart.type && "rangeBar" !== s3.chart.type && "boxPlot" !== s3.chart.type ? 10 : n2 / 1.75) && (a2.skipFirstTimelinelabel = true);
          } else "datetime" === r3 ? e2.dCtx.gridPad.right < n2 && !a2.rotateXLabels && (a2.skipLastTimelinelabel = true) : "datetime" !== r3 && e2.dCtx.gridPad.right < n2 / 2 - e2.dCtx.yAxisWidthRight && !a2.rotateXLabels && !i2.config.xaxis.labels.trim && (e2.dCtx.xPadRight = n2 / 2 + 1);
        }(t5);
      };
      s3.yaxis.forEach(function(t5, i3) {
        o3 ? (e2.dCtx.gridPad.left < n2 && (e2.dCtx.xPadLeft = n2 / 2 + 1), e2.dCtx.xPadRight = n2 / 2 + 1) : l2(t5, i3);
      });
    } }]), t3;
  }(), ua2 = function() {
    function t3(e2) {
      i(this, t3), this.w = e2.w, this.dCtx = e2;
    }
    return s2(t3, [{ key: "getyAxisLabelsCoords", value: function() {
      var t4 = this, e2 = this.w, i2 = [], a2 = 10, s3 = new Ri(this.dCtx.ctx);
      return e2.config.yaxis.map(function(r3, n2) {
        var o3 = { seriesIndex: n2, dataPointIndex: -1, w: e2 }, l2 = e2.globals.yAxisScale[n2], h3 = 0;
        if (!s3.isYAxisHidden(n2) && r3.labels.show && void 0 !== r3.labels.minWidth && (h3 = r3.labels.minWidth), !s3.isYAxisHidden(n2) && r3.labels.show && l2.result.length) {
          var c2 = e2.globals.yLabelFormatters[n2], d2 = l2.niceMin === Number.MIN_VALUE ? 0 : l2.niceMin, u2 = l2.result.reduce(function(t5, e3) {
            var i3, a3;
            return (null === (i3 = String(c2(t5, o3))) || void 0 === i3 ? void 0 : i3.length) > (null === (a3 = String(c2(e3, o3))) || void 0 === a3 ? void 0 : a3.length) ? t5 : e3;
          }, d2), g3 = u2 = c2(u2, o3);
          if (void 0 !== u2 && 0 !== u2.length || (u2 = l2.niceMax), e2.globals.isBarHorizontal) {
            a2 = 0;
            var p3 = e2.globals.labels.slice();
            u2 = v.getLargestStringFromArr(p3), u2 = c2(u2, { seriesIndex: n2, dataPointIndex: -1, w: e2 }), g3 = t4.dCtx.dimHelpers.getLargestStringFromMultiArr(u2, p3);
          }
          var f2 = new Mi(t4.dCtx.ctx), x3 = "rotate(".concat(r3.labels.rotate, " 0 0)"), b2 = f2.getTextRects(u2, r3.labels.style.fontSize, r3.labels.style.fontFamily, x3, false), m3 = b2;
          u2 !== g3 && (m3 = f2.getTextRects(g3, r3.labels.style.fontSize, r3.labels.style.fontFamily, x3, false)), i2.push({ width: (h3 > m3.width || h3 > b2.width ? h3 : m3.width > b2.width ? m3.width : b2.width) + a2, height: m3.height > b2.height ? m3.height : b2.height });
        } else i2.push({ width: 0, height: 0 });
      }), i2;
    } }, { key: "getyAxisTitleCoords", value: function() {
      var t4 = this, e2 = this.w, i2 = [];
      return e2.config.yaxis.map(function(e3, a2) {
        if (e3.show && void 0 !== e3.title.text) {
          var s3 = new Mi(t4.dCtx.ctx), r3 = "rotate(".concat(e3.title.rotate, " 0 0)"), n2 = s3.getTextRects(e3.title.text, e3.title.style.fontSize, e3.title.style.fontFamily, r3, false);
          i2.push({ width: n2.width, height: n2.height });
        } else i2.push({ width: 0, height: 0 });
      }), i2;
    } }, { key: "getTotalYAxisWidth", value: function() {
      var t4 = this.w, e2 = 0, i2 = 0, a2 = 0, s3 = t4.globals.yAxisScale.length > 1 ? 10 : 0, r3 = new Ri(this.dCtx.ctx), n2 = function(n3, o3) {
        var l2 = t4.config.yaxis[o3].floating, h3 = 0;
        n3.width > 0 && !l2 ? (h3 = n3.width + s3, function(e3) {
          return t4.globals.ignoreYAxisIndexes.indexOf(e3) > -1;
        }(o3) && (h3 = h3 - n3.width - s3)) : h3 = l2 || r3.isYAxisHidden(o3) ? 0 : 5, t4.config.yaxis[o3].opposite ? a2 += h3 : i2 += h3, e2 += h3;
      };
      return t4.globals.yLabelsCoords.map(function(t5, e3) {
        n2(t5, e3);
      }), t4.globals.yTitleCoords.map(function(t5, e3) {
        n2(t5, e3);
      }), t4.globals.isBarHorizontal && !t4.config.yaxis[0].floating && (e2 = t4.globals.yLabelsCoords[0].width + t4.globals.yTitleCoords[0].width + 15), this.dCtx.yAxisWidthLeft = i2, this.dCtx.yAxisWidthRight = a2, e2;
    } }]), t3;
  }(), ga2 = function() {
    function t3(e2) {
      i(this, t3), this.w = e2.w, this.dCtx = e2;
    }
    return s2(t3, [{ key: "gridPadForColumnsInNumericAxis", value: function(t4) {
      var e2 = this.w, i2 = e2.config, a2 = e2.globals;
      if (a2.noData || a2.collapsedSeries.length + a2.ancillaryCollapsedSeries.length === i2.series.length) return 0;
      var s3 = function(t5) {
        return ["bar", "rangeBar", "candlestick", "boxPlot"].includes(t5);
      }, r3 = i2.chart.type, n2 = 0, o3 = s3(r3) ? i2.series.length : 1;
      a2.comboBarCount > 0 && (o3 = a2.comboBarCount), a2.collapsedSeries.forEach(function(t5) {
        s3(t5.type) && (o3 -= 1);
      }), i2.chart.stacked && (o3 = 1);
      var l2 = s3(r3) || a2.comboBarCount > 0, h3 = Math.abs(a2.initialMaxX - a2.initialMinX);
      if (l2 && a2.isXNumeric && !a2.isBarHorizontal && o3 > 0 && 0 !== h3) {
        h3 <= 3 && (h3 = a2.dataPoints);
        var c2 = h3 / t4, d2 = a2.minXDiff && a2.minXDiff / c2 > 0 ? a2.minXDiff / c2 : 0;
        d2 > t4 / 2 && (d2 /= 2), (n2 = d2 * parseInt(i2.plotOptions.bar.columnWidth, 10) / 100) < 1 && (n2 = 1), a2.barPadForNumericAxis = n2;
      }
      return n2;
    } }, { key: "gridPadFortitleSubtitle", value: function() {
      var t4 = this, e2 = this.w, i2 = e2.globals, a2 = this.dCtx.isSparkline || !i2.axisCharts ? 0 : 10;
      ["title", "subtitle"].forEach(function(s4) {
        void 0 !== e2.config[s4].text ? a2 += e2.config[s4].margin : a2 += t4.dCtx.isSparkline || !i2.axisCharts ? 0 : 5;
      }), !e2.config.legend.show || "bottom" !== e2.config.legend.position || e2.config.legend.floating || i2.axisCharts || (a2 += 10);
      var s3 = this.dCtx.dimHelpers.getTitleSubtitleCoords("title"), r3 = this.dCtx.dimHelpers.getTitleSubtitleCoords("subtitle");
      i2.gridHeight -= s3.height + r3.height + a2, i2.translateY += s3.height + r3.height + a2;
    } }, { key: "setGridXPosForDualYAxis", value: function(t4, e2) {
      var i2 = this.w, a2 = new Ri(this.dCtx.ctx);
      i2.config.yaxis.forEach(function(s3, r3) {
        -1 !== i2.globals.ignoreYAxisIndexes.indexOf(r3) || s3.floating || a2.isYAxisHidden(r3) || (s3.opposite && (i2.globals.translateX -= e2[r3].width + t4[r3].width + parseInt(s3.labels.style.fontSize, 10) / 1.2 + 12), i2.globals.translateX < 2 && (i2.globals.translateX = 2));
      });
    } }]), t3;
  }(), pa = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w, 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 ca(this), this.dimYAxis = new ua2(this), this.dimXAxis = new da(this), this.dimGrid = new ga2(this), this.lgWidthForSideLegends = 0, this.gridPad = this.w.config.grid.padding, this.xPadRight = 0, this.xPadLeft = 0;
    }
    return s2(t3, [{ key: "plotCoords", value: function() {
      var t4 = this, e2 = this.w, i2 = e2.globals;
      this.lgRect = this.dimHelpers.getLegendsRect(), this.datalabelsCoords = { width: 0, height: 0 };
      var a2 = Array.isArray(e2.config.stroke.width) ? Math.max.apply(Math, f(e2.config.stroke.width)) : e2.config.stroke.width;
      this.isSparkline && ((e2.config.markers.discrete.length > 0 || e2.config.markers.size > 0) && Object.entries(this.gridPad).forEach(function(e3) {
        var i3 = p2(e3, 2), a3 = i3[0], s4 = i3[1];
        t4.gridPad[a3] = Math.max(s4, t4.w.globals.markers.largestSize / 1.5);
      }), this.gridPad.top = Math.max(a2 / 2, this.gridPad.top), this.gridPad.bottom = Math.max(a2 / 2, this.gridPad.bottom)), i2.axisCharts ? this.setDimensionsForAxisCharts() : this.setDimensionsForNonAxisCharts(), this.dimGrid.gridPadFortitleSubtitle(), i2.gridHeight = i2.gridHeight - this.gridPad.top - this.gridPad.bottom, i2.gridWidth = i2.gridWidth - this.gridPad.left - this.gridPad.right - this.xPadRight - this.xPadLeft;
      var s3 = this.dimGrid.gridPadForColumnsInNumericAxis(i2.gridWidth);
      i2.gridWidth = i2.gridWidth - 2 * s3, i2.translateX = i2.translateX + this.gridPad.left + this.xPadLeft + (s3 > 0 ? s3 : 0), i2.translateY = i2.translateY + this.gridPad.top;
    } }, { key: "setDimensionsForAxisCharts", value: function() {
      var t4 = this, e2 = this.w, i2 = e2.globals, a2 = this.dimYAxis.getyAxisLabelsCoords(), s3 = this.dimYAxis.getyAxisTitleCoords();
      i2.isSlopeChart && (this.datalabelsCoords = this.dimHelpers.getDatalabelsRect()), e2.globals.yLabelsCoords = [], e2.globals.yTitleCoords = [], e2.config.yaxis.map(function(t5, i3) {
        e2.globals.yLabelsCoords.push({ width: a2[i3].width, index: i3 }), e2.globals.yTitleCoords.push({ width: s3[i3].width, index: i3 });
      }), this.yAxisWidth = this.dimYAxis.getTotalYAxisWidth();
      var r3 = this.dimXAxis.getxAxisLabelsCoords(), n2 = this.dimXAxis.getxAxisGroupLabelsCoords(), o3 = this.dimXAxis.getxAxisTitleCoords();
      this.conditionalChecksForAxisCoords(r3, o3, n2), i2.translateXAxisY = e2.globals.rotateXLabels ? this.xAxisHeight / 8 : -4, i2.translateXAxisX = e2.globals.rotateXLabels && e2.globals.isXNumeric && e2.config.xaxis.labels.rotate <= -45 ? -this.xAxisWidth / 4 : 0, e2.globals.isBarHorizontal && (i2.rotateXLabels = false, i2.translateXAxisY = parseInt(e2.config.xaxis.labels.style.fontSize, 10) / 1.5 * -1), i2.translateXAxisY = i2.translateXAxisY + e2.config.xaxis.labels.offsetY, i2.translateXAxisX = i2.translateXAxisX + e2.config.xaxis.labels.offsetX;
      var l2 = this.yAxisWidth, h3 = this.xAxisHeight;
      i2.xAxisLabelsHeight = this.xAxisHeight - o3.height, i2.xAxisGroupLabelsHeight = i2.xAxisLabelsHeight - r3.height, i2.xAxisLabelsWidth = this.xAxisWidth, i2.xAxisHeight = this.xAxisHeight;
      var c2 = 10;
      ("radar" === e2.config.chart.type || this.isSparkline) && (l2 = 0, h3 = 0), this.isSparkline && (this.lgRect = { height: 0, width: 0 }), (this.isSparkline || "treemap" === e2.config.chart.type) && (l2 = 0, h3 = 0, c2 = 0), this.isSparkline || "treemap" === e2.config.chart.type || this.dimXAxis.additionalPaddingXLabels(r3);
      var d2 = function() {
        i2.translateX = l2 + t4.datalabelsCoords.width, i2.gridHeight = i2.svgHeight - t4.lgRect.height - h3 - (t4.isSparkline || "treemap" === e2.config.chart.type ? 0 : e2.globals.rotateXLabels ? 10 : 15), i2.gridWidth = i2.svgWidth - l2 - 2 * t4.datalabelsCoords.width;
      };
      switch ("top" === e2.config.xaxis.position && (c2 = i2.xAxisHeight - e2.config.xaxis.axisTicks.height - 5), e2.config.legend.position) {
        case "bottom":
          i2.translateY = c2, d2();
          break;
        case "top":
          i2.translateY = this.lgRect.height + c2, d2();
          break;
        case "left":
          i2.translateY = c2, i2.translateX = this.lgRect.width + l2 + this.datalabelsCoords.width, i2.gridHeight = i2.svgHeight - h3 - 12, i2.gridWidth = i2.svgWidth - this.lgRect.width - l2 - 2 * this.datalabelsCoords.width;
          break;
        case "right":
          i2.translateY = c2, i2.translateX = l2 + this.datalabelsCoords.width, i2.gridHeight = i2.svgHeight - h3 - 12, i2.gridWidth = i2.svgWidth - this.lgRect.width - l2 - 2 * this.datalabelsCoords.width - 5;
          break;
        default:
          throw new Error("Legend position not supported");
      }
      this.dimGrid.setGridXPosForDualYAxis(s3, a2), new ia(this.ctx).setYAxisXPosition(a2, s3);
    } }, { key: "setDimensionsForNonAxisCharts", value: function() {
      var t4 = this.w, e2 = t4.globals, i2 = t4.config, a2 = 0;
      t4.config.legend.show && !t4.config.legend.floating && (a2 = 20);
      var s3 = "pie" === i2.chart.type || "polarArea" === i2.chart.type || "donut" === i2.chart.type ? "pie" : "radialBar", r3 = i2.plotOptions[s3].offsetY, n2 = i2.plotOptions[s3].offsetX;
      if (!i2.legend.show || i2.legend.floating) {
        e2.gridHeight = e2.svgHeight;
        var o3 = e2.dom.elWrap.getBoundingClientRect().width;
        return e2.gridWidth = Math.min(o3, e2.gridHeight), e2.translateY = r3, void (e2.translateX = n2 + (e2.svgWidth - e2.gridWidth) / 2);
      }
      switch (i2.legend.position) {
        case "bottom":
          e2.gridHeight = e2.svgHeight - this.lgRect.height, e2.gridWidth = e2.svgWidth, e2.translateY = r3 - 10, e2.translateX = n2 + (e2.svgWidth - e2.gridWidth) / 2;
          break;
        case "top":
          e2.gridHeight = e2.svgHeight - this.lgRect.height, e2.gridWidth = e2.svgWidth, e2.translateY = this.lgRect.height + r3 + 10, e2.translateX = n2 + (e2.svgWidth - e2.gridWidth) / 2;
          break;
        case "left":
          e2.gridWidth = e2.svgWidth - this.lgRect.width - a2, e2.gridHeight = "auto" !== i2.chart.height ? e2.svgHeight : e2.gridWidth, e2.translateY = r3, e2.translateX = n2 + this.lgRect.width + a2;
          break;
        case "right":
          e2.gridWidth = e2.svgWidth - this.lgRect.width - a2 - 5, e2.gridHeight = "auto" !== i2.chart.height ? e2.svgHeight : e2.gridWidth, e2.translateY = r3, e2.translateX = n2 + 10;
          break;
        default:
          throw new Error("Legend position not supported");
      }
    } }, { key: "conditionalChecksForAxisCoords", value: function(t4, e2, i2) {
      var a2 = this.w, s3 = a2.globals.hasXaxisGroups ? 2 : 1, r3 = i2.height + t4.height + e2.height, n2 = a2.globals.isMultiLineX ? 1.2 : a2.globals.LINE_HEIGHT_RATIO, o3 = a2.globals.rotateXLabels ? 22 : 10, l2 = a2.globals.rotateXLabels && "bottom" === a2.config.legend.position ? 10 : 0;
      this.xAxisHeight = r3 * n2 + s3 * o3 + l2, this.xAxisWidth = t4.width, this.xAxisHeight - e2.height > a2.config.xaxis.labels.maxHeight && (this.xAxisHeight = a2.config.xaxis.labels.maxHeight), a2.config.xaxis.labels.minHeight && this.xAxisHeight < a2.config.xaxis.labels.minHeight && (this.xAxisHeight = a2.config.xaxis.labels.minHeight), a2.config.xaxis.floating && (this.xAxisHeight = 0);
      var h3 = 0, c2 = 0;
      a2.config.yaxis.forEach(function(t5) {
        h3 += t5.labels.minWidth, c2 += t5.labels.maxWidth;
      }), this.yAxisWidth < h3 && (this.yAxisWidth = h3), this.yAxisWidth > c2 && (this.yAxisWidth = c2);
    } }]), t3;
  }(), fa = function() {
    function t3(e2) {
      i(this, t3), this.w = e2.w, this.lgCtx = e2;
    }
    return s2(t3, [{ key: "getLegendStyles", value: function() {
      var t4, e2, i2, a2 = document.createElement("style");
      a2.setAttribute("type", "text/css");
      var s3 = (null === (t4 = this.lgCtx.ctx) || void 0 === t4 || null === (e2 = t4.opts) || void 0 === e2 || null === (i2 = e2.chart) || void 0 === i2 ? void 0 : i2.nonce) || this.w.config.chart.nonce;
      s3 && a2.setAttribute("nonce", s3);
      var r3 = document.createTextNode("\n      .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      }\n\n    ");
      return a2.appendChild(r3), a2;
    } }, { key: "getLegendDimensions", value: function() {
      var t4 = this.w.globals.dom.baseEl.querySelector(".apexcharts-legend").getBoundingClientRect(), e2 = t4.width;
      return { clwh: t4.height, clww: e2 };
    } }, { key: "appendToForeignObject", value: function() {
      this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles());
    } }, { key: "toggleDataSeries", value: function(t4, e2) {
      var i2 = this, a2 = this.w;
      if (a2.globals.axisCharts || "radialBar" === a2.config.chart.type) {
        a2.globals.resized = true;
        var s3 = null, r3 = null;
        if (a2.globals.risingSeries = [], a2.globals.axisCharts ? (s3 = a2.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(t4, "']")), r3 = parseInt(s3.getAttribute("data:realIndex"), 10)) : (s3 = a2.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(t4 + 1, "']")), r3 = parseInt(s3.getAttribute("rel"), 10) - 1), e2) [{ cs: a2.globals.collapsedSeries, csi: a2.globals.collapsedSeriesIndices }, { cs: a2.globals.ancillaryCollapsedSeries, csi: a2.globals.ancillaryCollapsedSeriesIndices }].forEach(function(t5) {
          i2.riseCollapsedSeries(t5.cs, t5.csi, r3);
        });
        else this.hideSeries({ seriesEl: s3, realIndex: r3 });
      } else {
        var n2 = a2.globals.dom.Paper.findOne(" .apexcharts-series[rel='".concat(t4 + 1, "'] path")), o3 = a2.config.chart.type;
        if ("pie" === o3 || "polarArea" === o3 || "donut" === o3) {
          var l2 = a2.config.plotOptions.pie.donut.labels;
          new Mi(this.lgCtx.ctx).pathMouseDown(n2, null), this.lgCtx.ctx.pie.printDataLabelsInner(n2.node, l2);
        }
        n2.fire("click");
      }
    } }, { key: "getSeriesAfterCollapsing", value: function(t4) {
      var e2 = t4.realIndex, i2 = this.w, a2 = i2.globals, s3 = v.clone(i2.config.series);
      if (a2.axisCharts) {
        var r3 = i2.config.yaxis[a2.seriesYAxisReverseMap[e2]], n2 = { index: e2, data: s3[e2].data.slice(), type: s3[e2].type || i2.config.chart.type };
        if (r3 && r3.show && r3.showAlways) a2.ancillaryCollapsedSeriesIndices.indexOf(e2) < 0 && (a2.ancillaryCollapsedSeries.push(n2), a2.ancillaryCollapsedSeriesIndices.push(e2));
        else if (a2.collapsedSeriesIndices.indexOf(e2) < 0) {
          a2.collapsedSeries.push(n2), a2.collapsedSeriesIndices.push(e2);
          var o3 = a2.risingSeries.indexOf(e2);
          a2.risingSeries.splice(o3, 1);
        }
      } else a2.collapsedSeries.push({ index: e2, data: s3[e2] }), a2.collapsedSeriesIndices.push(e2);
      return a2.allSeriesCollapsed = a2.collapsedSeries.length + a2.ancillaryCollapsedSeries.length === i2.config.series.length, this._getSeriesBasedOnCollapsedState(s3);
    } }, { key: "hideSeries", value: function(t4) {
      for (var e2 = t4.seriesEl, i2 = t4.realIndex, a2 = this.w, s3 = this.getSeriesAfterCollapsing({ realIndex: i2 }), r3 = e2.childNodes, n2 = 0; n2 < r3.length; n2++) r3[n2].classList.contains("apexcharts-series-markers-wrap") && (r3[n2].classList.contains("apexcharts-hide") ? r3[n2].classList.remove("apexcharts-hide") : r3[n2].classList.add("apexcharts-hide"));
      this.lgCtx.ctx.updateHelpers._updateSeries(s3, a2.config.chart.animations.dynamicAnimation.enabled);
    } }, { key: "riseCollapsedSeries", value: function(t4, e2, i2) {
      var a2 = this.w, s3 = v.clone(a2.config.series);
      if (t4.length > 0) {
        for (var r3 = 0; r3 < t4.length; r3++) t4[r3].index === i2 && (a2.globals.axisCharts ? s3[i2].data = t4[r3].data.slice() : s3[i2] = t4[r3].data, "number" != typeof s3[i2] && (s3[i2].hidden = false), t4.splice(r3, 1), e2.splice(r3, 1), a2.globals.risingSeries.push(i2));
        s3 = this._getSeriesBasedOnCollapsedState(s3), this.lgCtx.ctx.updateHelpers._updateSeries(s3, a2.config.chart.animations.dynamicAnimation.enabled);
      }
    } }, { key: "_getSeriesBasedOnCollapsedState", value: function(t4) {
      var e2 = this.w, i2 = 0;
      return e2.globals.axisCharts ? t4.forEach(function(a2, s3) {
        e2.globals.collapsedSeriesIndices.indexOf(s3) < 0 && e2.globals.ancillaryCollapsedSeriesIndices.indexOf(s3) < 0 || (t4[s3].data = [], i2++);
      }) : t4.forEach(function(a2, s3) {
        !e2.globals.collapsedSeriesIndices.indexOf(s3) < 0 && (t4[s3] = 0, i2++);
      }), e2.globals.allSeriesCollapsed = i2 === t4.length, t4;
    } }]), t3;
  }(), xa = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w, this.onLegendClick = this.onLegendClick.bind(this), this.onLegendHovered = this.onLegendHovered.bind(this), this.isBarsDistributed = "bar" === this.w.config.chart.type && this.w.config.plotOptions.bar.distributed && 1 === this.w.config.series.length, this.legendHelpers = new fa(this);
    }
    return s2(t3, [{ key: "init", value: function() {
      var t4 = this.w, e2 = t4.globals, i2 = t4.config, a2 = i2.legend.showForSingleSeries && 1 === e2.series.length || this.isBarsDistributed || e2.series.length > 1;
      if (this.legendHelpers.appendToForeignObject(), (a2 || !e2.axisCharts) && i2.legend.show) {
        for (; e2.dom.elLegendWrap.firstChild; ) e2.dom.elLegendWrap.removeChild(e2.dom.elLegendWrap.firstChild);
        this.drawLegends(), "bottom" === i2.legend.position || "top" === i2.legend.position ? this.legendAlignHorizontal() : "right" !== i2.legend.position && "left" !== i2.legend.position || this.legendAlignVertical();
      }
    } }, { key: "createLegendMarker", value: function(t4) {
      var e2 = t4.i, i2 = t4.fillcolor, a2 = this.w, s3 = document.createElement("span");
      s3.classList.add("apexcharts-legend-marker");
      var r3 = a2.config.legend.markers.shape || a2.config.markers.shape, n2 = r3;
      Array.isArray(r3) && (n2 = r3[e2]);
      var o3 = Array.isArray(a2.config.legend.markers.size) ? parseFloat(a2.config.legend.markers.size[e2]) : parseFloat(a2.config.legend.markers.size), l2 = Array.isArray(a2.config.legend.markers.offsetX) ? parseFloat(a2.config.legend.markers.offsetX[e2]) : parseFloat(a2.config.legend.markers.offsetX), h3 = Array.isArray(a2.config.legend.markers.offsetY) ? parseFloat(a2.config.legend.markers.offsetY[e2]) : parseFloat(a2.config.legend.markers.offsetY), c2 = Array.isArray(a2.config.legend.markers.strokeWidth) ? parseFloat(a2.config.legend.markers.strokeWidth[e2]) : parseFloat(a2.config.legend.markers.strokeWidth), d2 = s3.style;
      if (d2.height = 2 * (o3 + c2) + "px", d2.width = 2 * (o3 + c2) + "px", d2.left = l2 + "px", d2.top = h3 + "px", a2.config.legend.markers.customHTML) d2.background = "transparent", d2.color = i2[e2], Array.isArray(a2.config.legend.markers.customHTML) ? a2.config.legend.markers.customHTML[e2] && (s3.innerHTML = a2.config.legend.markers.customHTML[e2]()) : s3.innerHTML = a2.config.legend.markers.customHTML();
      else {
        var g3 = new Vi(this.ctx).getMarkerConfig({ cssClass: "apexcharts-legend-marker apexcharts-marker apexcharts-marker-".concat(n2), seriesIndex: e2, strokeWidth: c2, size: o3 }), p3 = window.SVG().addTo(s3).size("100%", "100%"), f2 = new Mi(this.ctx).drawMarker(0, 0, u(u({}, g3), {}, { pointFillColor: Array.isArray(i2) ? i2[e2] : g3.pointFillColor, shape: n2 }));
        a2.globals.dom.Paper.find(".apexcharts-legend-marker.apexcharts-marker").forEach(function(t5) {
          t5.node.classList.contains("apexcharts-marker-triangle") ? t5.node.style.transform = "translate(50%, 45%)" : t5.node.style.transform = "translate(50%, 50%)";
        }), p3.add(f2);
      }
      return s3;
    } }, { key: "drawLegends", value: function() {
      var t4 = this, e2 = this, i2 = this.w, a2 = i2.config.legend.fontFamily, s3 = i2.globals.seriesNames, r3 = i2.config.legend.markers.fillColors ? i2.config.legend.markers.fillColors.slice() : i2.globals.colors.slice();
      if ("heatmap" === i2.config.chart.type) {
        var n2 = i2.config.plotOptions.heatmap.colorScale.ranges;
        s3 = n2.map(function(t5) {
          return t5.name ? t5.name : t5.from + " - " + t5.to;
        }), r3 = n2.map(function(t5) {
          return t5.color;
        });
      } else this.isBarsDistributed && (s3 = i2.globals.labels.slice());
      i2.config.legend.customLegendItems.length && (s3 = i2.config.legend.customLegendItems);
      var o3 = i2.globals.legendFormatter, l2 = i2.config.legend.inverseOrder, h3 = [];
      i2.globals.seriesGroups.length > 1 && i2.config.legend.clusterGroupedSeries && i2.globals.seriesGroups.forEach(function(t5, e3) {
        h3[e3] = document.createElement("div"), h3[e3].classList.add("apexcharts-legend-group", "apexcharts-legend-group-".concat(e3)), "horizontal" === i2.config.legend.clusterGroupedSeriesOrientation ? i2.globals.dom.elLegendWrap.classList.add("apexcharts-legend-group-horizontal") : h3[e3].classList.add("apexcharts-legend-group-vertical");
      });
      for (var c2 = function(e3) {
        var n3, l3 = o3(s3[e3], { seriesIndex: e3, w: i2 }), c3 = false, d3 = false;
        if (i2.globals.collapsedSeries.length > 0) for (var u2 = 0; u2 < i2.globals.collapsedSeries.length; u2++) i2.globals.collapsedSeries[u2].index === e3 && (c3 = true);
        if (i2.globals.ancillaryCollapsedSeriesIndices.length > 0) for (var g3 = 0; g3 < i2.globals.ancillaryCollapsedSeriesIndices.length; g3++) i2.globals.ancillaryCollapsedSeriesIndices[g3] === e3 && (d3 = true);
        var p3 = t4.createLegendMarker({ i: e3, fillcolor: r3 });
        Mi.setAttrs(p3, { rel: e3 + 1, "data:collapsed": c3 || d3 }), (c3 || d3) && p3.classList.add("apexcharts-inactive-legend");
        var f2 = document.createElement("div"), x3 = document.createElement("span");
        x3.classList.add("apexcharts-legend-text"), x3.innerHTML = Array.isArray(l3) ? l3.join(" ") : l3;
        var b2 = i2.config.legend.labels.useSeriesColors ? i2.globals.colors[e3] : Array.isArray(i2.config.legend.labels.colors) ? null === (n3 = i2.config.legend.labels.colors) || void 0 === n3 ? void 0 : n3[e3] : i2.config.legend.labels.colors;
        b2 || (b2 = i2.config.chart.foreColor), x3.style.color = b2, x3.style.fontSize = parseFloat(i2.config.legend.fontSize) + "px", x3.style.fontWeight = i2.config.legend.fontWeight, x3.style.fontFamily = a2 || i2.config.chart.fontFamily, Mi.setAttrs(x3, { rel: e3 + 1, i: e3, "data:default-text": encodeURIComponent(l3), "data:collapsed": c3 || d3 }), f2.appendChild(p3), f2.appendChild(x3);
        var m3 = new Pi(t4.ctx);
        i2.config.legend.showForZeroSeries || 0 === m3.getSeriesTotalByIndex(e3) && m3.seriesHaveSameValues(e3) && !m3.isSeriesNull(e3) && -1 === i2.globals.collapsedSeriesIndices.indexOf(e3) && -1 === i2.globals.ancillaryCollapsedSeriesIndices.indexOf(e3) && f2.classList.add("apexcharts-hidden-zero-series");
        i2.config.legend.showForNullSeries || m3.isSeriesNull(e3) && -1 === i2.globals.collapsedSeriesIndices.indexOf(e3) && -1 === i2.globals.ancillaryCollapsedSeriesIndices.indexOf(e3) && f2.classList.add("apexcharts-hidden-null-series"), h3.length ? i2.globals.seriesGroups.forEach(function(t5, a3) {
          var s4;
          t5.includes(null === (s4 = i2.config.series[e3]) || void 0 === s4 ? void 0 : s4.name) && (i2.globals.dom.elLegendWrap.appendChild(h3[a3]), h3[a3].appendChild(f2));
        }) : i2.globals.dom.elLegendWrap.appendChild(f2), i2.globals.dom.elLegendWrap.classList.add("apexcharts-align-".concat(i2.config.legend.horizontalAlign)), i2.globals.dom.elLegendWrap.classList.add("apx-legend-position-" + i2.config.legend.position), f2.classList.add("apexcharts-legend-series"), f2.style.margin = "".concat(i2.config.legend.itemMargin.vertical, "px ").concat(i2.config.legend.itemMargin.horizontal, "px"), i2.globals.dom.elLegendWrap.style.width = i2.config.legend.width ? i2.config.legend.width + "px" : "", i2.globals.dom.elLegendWrap.style.height = i2.config.legend.height ? i2.config.legend.height + "px" : "", Mi.setAttrs(f2, { rel: e3 + 1, seriesName: v.escapeString(s3[e3]), "data:collapsed": c3 || d3 }), (c3 || d3) && f2.classList.add("apexcharts-inactive-legend"), i2.config.legend.onItemClick.toggleDataSeries || f2.classList.add("apexcharts-no-click");
      }, d2 = l2 ? s3.length - 1 : 0; l2 ? d2 >= 0 : d2 <= s3.length - 1; l2 ? d2-- : d2++) c2(d2);
      i2.globals.dom.elWrap.addEventListener("click", e2.onLegendClick, true), i2.config.legend.onItemHover.highlightDataSeries && 0 === i2.config.legend.customLegendItems.length && (i2.globals.dom.elWrap.addEventListener("mousemove", e2.onLegendHovered, true), i2.globals.dom.elWrap.addEventListener("mouseout", e2.onLegendHovered, true));
    } }, { key: "setLegendWrapXY", value: function(t4, e2) {
      var i2 = this.w, a2 = i2.globals.dom.elLegendWrap, s3 = a2.clientHeight, r3 = 0, n2 = 0;
      if ("bottom" === i2.config.legend.position) n2 = i2.globals.svgHeight - Math.min(s3, i2.globals.svgHeight / 2) - 5;
      else if ("top" === i2.config.legend.position) {
        var o3 = new pa(this.ctx), l2 = o3.dimHelpers.getTitleSubtitleCoords("title").height, h3 = o3.dimHelpers.getTitleSubtitleCoords("subtitle").height;
        n2 = (l2 > 0 ? l2 - 10 : 0) + (h3 > 0 ? h3 - 10 : 0);
      }
      a2.style.position = "absolute", r3 = r3 + t4 + i2.config.legend.offsetX, n2 = n2 + e2 + i2.config.legend.offsetY, a2.style.left = r3 + "px", a2.style.top = n2 + "px", "right" === i2.config.legend.position && (a2.style.left = "auto", a2.style.right = 25 + i2.config.legend.offsetX + "px");
      ["width", "height"].forEach(function(t5) {
        a2.style[t5] && (a2.style[t5] = parseInt(i2.config.legend[t5], 10) + "px");
      });
    } }, { key: "legendAlignHorizontal", value: function() {
      var t4 = this.w;
      t4.globals.dom.elLegendWrap.style.right = 0;
      var e2 = new pa(this.ctx), i2 = e2.dimHelpers.getTitleSubtitleCoords("title"), a2 = e2.dimHelpers.getTitleSubtitleCoords("subtitle"), s3 = 0;
      "top" === t4.config.legend.position && (s3 = i2.height + a2.height + t4.config.title.margin + t4.config.subtitle.margin - 10), this.setLegendWrapXY(20, s3);
    } }, { key: "legendAlignVertical", value: function() {
      var t4 = this.w, e2 = this.legendHelpers.getLegendDimensions(), i2 = 0;
      "left" === t4.config.legend.position && (i2 = 20), "right" === t4.config.legend.position && (i2 = t4.globals.svgWidth - e2.clww - 10), this.setLegendWrapXY(i2, 20);
    } }, { key: "onLegendHovered", value: function(t4) {
      var e2 = this.w, i2 = t4.target.classList.contains("apexcharts-legend-series") || t4.target.classList.contains("apexcharts-legend-text") || t4.target.classList.contains("apexcharts-legend-marker");
      if ("heatmap" === e2.config.chart.type || this.isBarsDistributed) {
        if (i2) {
          var a2 = parseInt(t4.target.getAttribute("rel"), 10) - 1;
          this.ctx.events.fireEvent("legendHover", [this.ctx, a2, this.w]), new Zi(this.ctx).highlightRangeInSeries(t4, t4.target);
        }
      } else !t4.target.classList.contains("apexcharts-inactive-legend") && i2 && new Zi(this.ctx).toggleSeriesOnHover(t4, t4.target);
    } }, { key: "onLegendClick", value: function(t4) {
      var e2 = this.w;
      if (!e2.config.legend.customLegendItems.length && (t4.target.classList.contains("apexcharts-legend-series") || t4.target.classList.contains("apexcharts-legend-text") || t4.target.classList.contains("apexcharts-legend-marker"))) {
        var i2 = parseInt(t4.target.getAttribute("rel"), 10) - 1, a2 = "true" === t4.target.getAttribute("data:collapsed"), s3 = this.w.config.chart.events.legendClick;
        "function" == typeof s3 && s3(this.ctx, i2, this.w), this.ctx.events.fireEvent("legendClick", [this.ctx, i2, this.w]);
        var r3 = this.w.config.legend.markers.onClick;
        "function" == typeof r3 && t4.target.classList.contains("apexcharts-legend-marker") && (r3(this.ctx, i2, this.w), this.ctx.events.fireEvent("legendMarkerClick", [this.ctx, i2, this.w])), "treemap" !== e2.config.chart.type && "heatmap" !== e2.config.chart.type && !this.isBarsDistributed && e2.config.legend.onItemClick.toggleDataSeries && this.legendHelpers.toggleDataSeries(i2, a2);
      }
    } }]), t3;
  }(), ba = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
      var a2 = this.w;
      this.ev = this.w.config.chart.events, this.selectedClass = "apexcharts-selected", this.localeValues = this.w.globals.locale.toolbar, this.minX = a2.globals.minX, this.maxX = a2.globals.maxX;
    }
    return s2(t3, [{ key: "createToolbar", value: function() {
      var t4 = this, e2 = this.w, i2 = function() {
        return document.createElement("div");
      }, a2 = i2();
      if (a2.setAttribute("class", "apexcharts-toolbar"), a2.style.top = e2.config.chart.toolbar.offsetY + "px", a2.style.right = 3 - e2.config.chart.toolbar.offsetX + "px", e2.globals.dom.elWrap.appendChild(a2), this.elZoom = i2(), this.elZoomIn = i2(), this.elZoomOut = i2(), this.elPan = i2(), this.elSelection = i2(), this.elZoomReset = i2(), this.elMenuIcon = i2(), this.elMenu = i2(), this.elCustomIcons = [], this.t = e2.config.chart.toolbar.tools, Array.isArray(this.t.customIcons)) for (var s3 = 0; s3 < this.t.customIcons.length; s3++) this.elCustomIcons.push(i2());
      var r3 = [], n2 = function(i3, a3, s4) {
        var n3 = i3.toLowerCase();
        t4.t[n3] && e2.config.chart.zoom.enabled && r3.push({ el: a3, icon: "string" == typeof t4.t[n3] ? t4.t[n3] : s4, title: t4.localeValues[i3], class: "apexcharts-".concat(n3, "-icon") });
      };
      n2("zoomIn", this.elZoomIn, '<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'), n2("zoomOut", this.elZoomOut, '<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');
      var o3 = function(i3) {
        t4.t[i3] && e2.config.chart[i3].enabled && r3.push({ el: "zoom" === i3 ? t4.elZoom : t4.elSelection, icon: "string" == typeof t4.t[i3] ? t4.t[i3] : "zoom" === i3 ? '<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>' : '<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>', title: t4.localeValues["zoom" === i3 ? "selectionZoom" : "selection"], class: e2.globals.isTouchDevice ? "apexcharts-element-hidden" : "apexcharts-".concat(i3, "-icon") });
      };
      o3("zoom"), o3("selection"), this.t.pan && e2.config.chart.zoom.enabled && r3.push({ el: this.elPan, icon: "string" == typeof this.t.pan ? this.t.pan : '<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>', title: this.localeValues.pan, class: e2.globals.isTouchDevice ? "apexcharts-element-hidden" : "apexcharts-pan-icon" }), n2("reset", this.elZoomReset, '<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>'), this.t.download && r3.push({ el: this.elMenuIcon, icon: "string" == typeof this.t.download ? this.t.download : '<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>', title: this.localeValues.menu, class: "apexcharts-menu-icon" });
      for (var l2 = 0; l2 < this.elCustomIcons.length; l2++) r3.push({ el: this.elCustomIcons[l2], icon: this.t.customIcons[l2].icon, title: this.t.customIcons[l2].title, index: this.t.customIcons[l2].index, class: "apexcharts-toolbar-custom-icon " + this.t.customIcons[l2].class });
      r3.forEach(function(t5, e3) {
        t5.index && v.moveIndexInArray(r3, e3, t5.index);
      });
      for (var h3 = 0; h3 < r3.length; h3++) Mi.setAttrs(r3[h3].el, { class: r3[h3].class, title: r3[h3].title }), r3[h3].el.innerHTML = r3[h3].icon, a2.appendChild(r3[h3].el);
      this._createHamburgerMenu(a2), e2.globals.zoomEnabled ? this.elZoom.classList.add(this.selectedClass) : e2.globals.panEnabled ? this.elPan.classList.add(this.selectedClass) : e2.globals.selectionEnabled && this.elSelection.classList.add(this.selectedClass), this.addToolbarEventListeners();
    } }, { key: "_createHamburgerMenu", value: function(t4) {
      this.elMenuItems = [], t4.appendChild(this.elMenu), Mi.setAttrs(this.elMenu, { class: "apexcharts-menu" });
      for (var e2 = [{ name: "exportSVG", title: this.localeValues.exportToSVG }, { name: "exportPNG", title: this.localeValues.exportToPNG }, { name: "exportCSV", title: this.localeValues.exportToCSV }], i2 = 0; i2 < e2.length; i2++) this.elMenuItems.push(document.createElement("div")), this.elMenuItems[i2].innerHTML = e2[i2].title, Mi.setAttrs(this.elMenuItems[i2], { class: "apexcharts-menu-item ".concat(e2[i2].name), title: e2[i2].title }), this.elMenu.appendChild(this.elMenuItems[i2]);
    } }, { key: "addToolbarEventListeners", value: function() {
      var t4 = this;
      this.elZoomReset.addEventListener("click", this.handleZoomReset.bind(this)), this.elSelection.addEventListener("click", this.toggleZoomSelection.bind(this, "selection")), this.elZoom.addEventListener("click", this.toggleZoomSelection.bind(this, "zoom")), 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(function(e3) {
        e3.classList.contains("exportSVG") ? e3.addEventListener("click", t4.handleDownload.bind(t4, "svg")) : e3.classList.contains("exportPNG") ? e3.addEventListener("click", t4.handleDownload.bind(t4, "png")) : e3.classList.contains("exportCSV") && e3.addEventListener("click", t4.handleDownload.bind(t4, "csv"));
      });
      for (var e2 = 0; e2 < this.t.customIcons.length; e2++) this.elCustomIcons[e2].addEventListener("click", this.t.customIcons[e2].click.bind(this, this.ctx, this.ctx.w));
    } }, { key: "toggleZoomSelection", value: function(t4) {
      this.ctx.getSyncedCharts().forEach(function(e2) {
        e2.ctx.toolbar.toggleOtherControls();
        var i2 = "selection" === t4 ? e2.ctx.toolbar.elSelection : e2.ctx.toolbar.elZoom, a2 = "selection" === t4 ? "selectionEnabled" : "zoomEnabled";
        e2.w.globals[a2] = !e2.w.globals[a2], i2.classList.contains(e2.ctx.toolbar.selectedClass) ? i2.classList.remove(e2.ctx.toolbar.selectedClass) : i2.classList.add(e2.ctx.toolbar.selectedClass);
      });
    } }, { key: "getToolbarIconsReference", value: function() {
      var t4 = this.w;
      this.elZoom || (this.elZoom = t4.globals.dom.baseEl.querySelector(".apexcharts-zoom-icon")), this.elPan || (this.elPan = t4.globals.dom.baseEl.querySelector(".apexcharts-pan-icon")), this.elSelection || (this.elSelection = t4.globals.dom.baseEl.querySelector(".apexcharts-selection-icon"));
    } }, { key: "enableZoomPanFromToolbar", value: function(t4) {
      this.toggleOtherControls(), "pan" === t4 ? this.w.globals.panEnabled = true : this.w.globals.zoomEnabled = true;
      var e2 = "pan" === t4 ? this.elPan : this.elZoom, i2 = "pan" === t4 ? this.elZoom : this.elPan;
      e2 && e2.classList.add(this.selectedClass), i2 && i2.classList.remove(this.selectedClass);
    } }, { key: "togglePanning", value: function() {
      this.ctx.getSyncedCharts().forEach(function(t4) {
        t4.ctx.toolbar.toggleOtherControls(), t4.w.globals.panEnabled = !t4.w.globals.panEnabled, t4.ctx.toolbar.elPan.classList.contains(t4.ctx.toolbar.selectedClass) ? t4.ctx.toolbar.elPan.classList.remove(t4.ctx.toolbar.selectedClass) : t4.ctx.toolbar.elPan.classList.add(t4.ctx.toolbar.selectedClass);
      });
    } }, { key: "toggleOtherControls", value: function() {
      var t4 = this, e2 = this.w;
      e2.globals.panEnabled = false, e2.globals.zoomEnabled = false, e2.globals.selectionEnabled = false, this.getToolbarIconsReference(), [this.elPan, this.elSelection, this.elZoom].forEach(function(e3) {
        e3 && e3.classList.remove(t4.selectedClass);
      });
    } }, { key: "handleZoomIn", value: function() {
      var t4 = this.w;
      t4.globals.isRangeBar && (this.minX = t4.globals.minY, this.maxX = t4.globals.maxY);
      var e2 = (this.minX + this.maxX) / 2, i2 = (this.minX + e2) / 2, a2 = (this.maxX + e2) / 2, s3 = this._getNewMinXMaxX(i2, a2);
      t4.globals.disableZoomIn || this.zoomUpdateOptions(s3.minX, s3.maxX);
    } }, { key: "handleZoomOut", value: function() {
      var t4 = this.w;
      if (t4.globals.isRangeBar && (this.minX = t4.globals.minY, this.maxX = t4.globals.maxY), !("datetime" === t4.config.xaxis.type && new Date(this.minX).getUTCFullYear() < 1e3)) {
        var e2 = (this.minX + this.maxX) / 2, i2 = this.minX - (e2 - this.minX), a2 = this.maxX - (e2 - this.maxX), s3 = this._getNewMinXMaxX(i2, a2);
        t4.globals.disableZoomOut || this.zoomUpdateOptions(s3.minX, s3.maxX);
      }
    } }, { key: "_getNewMinXMaxX", value: function(t4, e2) {
      var i2 = this.w.config.xaxis.convertedCatToNumeric;
      return { minX: i2 ? Math.floor(t4) : t4, maxX: i2 ? Math.floor(e2) : e2 };
    } }, { key: "zoomUpdateOptions", value: function(t4, e2) {
      var i2 = this.w;
      if (void 0 !== t4 || void 0 !== e2) {
        if (!(i2.config.xaxis.convertedCatToNumeric && (t4 < 1 && (t4 = 1, e2 = i2.globals.dataPoints), e2 - t4 < 2))) {
          var a2 = { min: t4, max: e2 }, s3 = this.getBeforeZoomRange(a2);
          s3 && (a2 = s3.xaxis);
          var r3 = { xaxis: a2 }, n2 = v.clone(i2.globals.initialConfig.yaxis);
          i2.config.chart.group || (r3.yaxis = n2), this.w.globals.zoomed = true, this.ctx.updateHelpers._updateOptions(r3, false, this.w.config.chart.animations.dynamicAnimation.enabled), this.zoomCallback(a2, n2);
        }
      } else this.handleZoomReset();
    } }, { key: "zoomCallback", value: function(t4, e2) {
      "function" == typeof this.ev.zoomed && this.ev.zoomed(this.ctx, { xaxis: t4, yaxis: e2 });
    } }, { key: "getBeforeZoomRange", value: function(t4, e2) {
      var i2 = null;
      return "function" == typeof this.ev.beforeZoom && (i2 = this.ev.beforeZoom(this, { xaxis: t4, yaxis: e2 })), i2;
    } }, { key: "toggleMenu", value: function() {
      var t4 = this;
      window.setTimeout(function() {
        t4.elMenu.classList.contains("apexcharts-menu-open") ? t4.elMenu.classList.remove("apexcharts-menu-open") : t4.elMenu.classList.add("apexcharts-menu-open");
      }, 0);
    } }, { key: "handleDownload", value: function(t4) {
      var e2 = this.w, i2 = new Ji(this.ctx);
      switch (t4) {
        case "svg":
          i2.exportToSVG(this.ctx);
          break;
        case "png":
          i2.exportToPng(this.ctx);
          break;
        case "csv":
          i2.exportToCSV({ series: e2.config.series, columnDelimiter: e2.config.chart.toolbar.export.csv.columnDelimiter });
      }
    } }, { key: "handleZoomReset", value: function(t4) {
      this.ctx.getSyncedCharts().forEach(function(t5) {
        var e2 = t5.w;
        if (e2.globals.lastXAxis.min = e2.globals.initialConfig.xaxis.min, e2.globals.lastXAxis.max = e2.globals.initialConfig.xaxis.max, t5.updateHelpers.revertDefaultAxisMinMax(), "function" == typeof e2.config.chart.events.beforeResetZoom) {
          var i2 = e2.config.chart.events.beforeResetZoom(t5, e2);
          i2 && t5.updateHelpers.revertDefaultAxisMinMax(i2);
        }
        "function" == typeof e2.config.chart.events.zoomed && t5.ctx.toolbar.zoomCallback({ min: e2.config.xaxis.min, max: e2.config.xaxis.max }), e2.globals.zoomed = false;
        var a2 = t5.ctx.series.emptyCollapsedSeries(v.clone(e2.globals.initialSeries));
        t5.updateHelpers._updateSeries(a2, e2.config.chart.animations.dynamicAnimation.enabled);
      });
    } }, { key: "destroy", value: function() {
      this.elZoom = null, this.elZoomIn = null, this.elZoomOut = null, this.elPan = null, this.elSelection = null, this.elZoomReset = null, this.elMenuIcon = null;
    } }]), t3;
  }(), ma2 = function(t3) {
    h2(a2, ba);
    var e2 = n(a2);
    function a2(t4) {
      var s3;
      return i(this, a2), (s3 = e2.call(this, t4)).ctx = t4, s3.w = t4.w, s3.dragged = false, s3.graphics = new Mi(s3.ctx), s3.eventList = ["mousedown", "mouseleave", "mousemove", "touchstart", "touchmove", "mouseup", "touchend", "wheel"], s3.clientX = 0, s3.clientY = 0, s3.startX = 0, s3.endX = 0, s3.dragX = 0, s3.startY = 0, s3.endY = 0, s3.dragY = 0, s3.moveDirection = "none", s3.debounceTimer = null, s3.debounceDelay = 100, s3.wheelDelay = 400, s3;
    }
    return s2(a2, [{ key: "init", value: function(t4) {
      var e3 = this, i2 = t4.xyRatios, a3 = this.w, s3 = this;
      this.xyRatios = i2, this.zoomRect = this.graphics.drawRect(0, 0, 0, 0), this.selectionRect = this.graphics.drawRect(0, 0, 0, 0), this.gridRect = a3.globals.dom.baseEl.querySelector(".apexcharts-grid"), this.constraints = new kt(0, 0, a3.globals.gridWidth, a3.globals.gridHeight), this.zoomRect.node.classList.add("apexcharts-zoom-rect"), this.selectionRect.node.classList.add("apexcharts-selection-rect"), a3.globals.dom.Paper.add(this.zoomRect), a3.globals.dom.Paper.add(this.selectionRect), "x" === a3.config.chart.selection.type ? this.slDraggableRect = this.selectionRect.draggable({ minX: 0, minY: 0, maxX: a3.globals.gridWidth, maxY: a3.globals.gridHeight }).on("dragmove.namespace", this.selectionDragging.bind(this, "dragging")) : "y" === a3.config.chart.selection.type ? this.slDraggableRect = this.selectionRect.draggable({ minX: 0, maxX: a3.globals.gridWidth }).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 = a3.globals.dom.baseEl.querySelector("".concat(a3.globals.chartClass, " .apexcharts-svg")), this.hoverArea.classList.add("apexcharts-zoomable"), this.eventList.forEach(function(t5) {
        e3.hoverArea.addEventListener(t5, s3.svgMouseEvents.bind(s3, i2), { capture: false, passive: true });
      }), a3.config.chart.zoom.enabled && a3.config.chart.zoom.allowMouseWheelZoom && this.hoverArea.addEventListener("wheel", s3.mouseWheelEvent.bind(s3), { capture: false, passive: false });
    } }, { key: "destroy", value: function() {
      this.slDraggableRect && (this.slDraggableRect.draggable(false), this.slDraggableRect.off(), this.selectionRect.off()), this.selectionRect = null, this.zoomRect = null, this.gridRect = null;
    } }, { key: "svgMouseEvents", value: function(t4, e3) {
      var i2 = this.w, a3 = this.ctx.toolbar, s3 = i2.globals.zoomEnabled ? i2.config.chart.zoom.type : i2.config.chart.selection.type, r3 = i2.config.chart.toolbar.autoSelected;
      if (e3.shiftKey ? (this.shiftWasPressed = true, a3.enableZoomPanFromToolbar("pan" === r3 ? "zoom" : "pan")) : this.shiftWasPressed && (a3.enableZoomPanFromToolbar(r3), this.shiftWasPressed = false), e3.target) {
        var n2, o3 = e3.target.classList;
        if (e3.target.parentNode && null !== e3.target.parentNode && (n2 = e3.target.parentNode.classList), !(o3.contains("apexcharts-legend-marker") || o3.contains("apexcharts-legend-text") || n2 && n2.contains("apexcharts-toolbar"))) {
          if (this.clientX = "touchmove" === e3.type || "touchstart" === e3.type ? e3.touches[0].clientX : "touchend" === e3.type ? e3.changedTouches[0].clientX : e3.clientX, this.clientY = "touchmove" === e3.type || "touchstart" === e3.type ? e3.touches[0].clientY : "touchend" === e3.type ? e3.changedTouches[0].clientY : e3.clientY, "mousedown" === e3.type && 1 === e3.which || "touchstart" === e3.type) {
            var l2 = this.gridRect.getBoundingClientRect();
            this.startX = this.clientX - l2.left - i2.globals.barPadForNumericAxis, this.startY = this.clientY - l2.top, this.dragged = false, this.w.globals.mousedown = true;
          }
          ("mousemove" === e3.type && 1 === e3.which || "touchmove" === e3.type) && (this.dragged = true, i2.globals.panEnabled ? (i2.globals.selection = null, this.w.globals.mousedown && this.panDragging({ context: this, zoomtype: s3, xyRatios: t4 })) : (this.w.globals.mousedown && i2.globals.zoomEnabled || this.w.globals.mousedown && i2.globals.selectionEnabled) && (this.selection = this.selectionDrawing({ context: this, zoomtype: s3 }))), "mouseup" !== e3.type && "touchend" !== e3.type && "mouseleave" !== e3.type || this.handleMouseUp({ zoomtype: s3 }), this.makeSelectionRectDraggable();
        }
      }
    } }, { key: "handleMouseUp", value: function(t4) {
      var e3, i2 = t4.zoomtype, a3 = t4.isResized, s3 = this.w, r3 = null === (e3 = this.gridRect) || void 0 === e3 ? void 0 : e3.getBoundingClientRect();
      r3 && (this.w.globals.mousedown || a3) && (this.endX = this.clientX - r3.left - s3.globals.barPadForNumericAxis, this.endY = this.clientY - r3.top, this.dragX = Math.abs(this.endX - this.startX), this.dragY = Math.abs(this.endY - this.startY), (s3.globals.zoomEnabled || s3.globals.selectionEnabled) && this.selectionDrawn({ context: this, zoomtype: i2 }), s3.globals.panEnabled && s3.config.xaxis.convertedCatToNumeric && this.delayedPanScrolled()), s3.globals.zoomEnabled && this.hideSelectionRect(this.selectionRect), this.dragged = false, this.w.globals.mousedown = false;
    } }, { key: "mouseWheelEvent", value: function(t4) {
      var e3 = this, i2 = this.w;
      t4.preventDefault();
      var a3 = Date.now();
      a3 - i2.globals.lastWheelExecution > this.wheelDelay && (this.executeMouseWheelZoom(t4), i2.globals.lastWheelExecution = a3), this.debounceTimer && clearTimeout(this.debounceTimer), this.debounceTimer = setTimeout(function() {
        a3 - i2.globals.lastWheelExecution > e3.wheelDelay && (e3.executeMouseWheelZoom(t4), i2.globals.lastWheelExecution = a3);
      }, this.debounceDelay);
    } }, { key: "executeMouseWheelZoom", value: function(t4) {
      var e3, i2 = this.w;
      this.minX = i2.globals.isRangeBar ? i2.globals.minY : i2.globals.minX, this.maxX = i2.globals.isRangeBar ? i2.globals.maxY : i2.globals.maxX;
      var a3 = null === (e3 = this.gridRect) || void 0 === e3 ? void 0 : e3.getBoundingClientRect();
      if (a3) {
        var s3, r3, n2, o3 = (t4.clientX - a3.left) / a3.width, l2 = this.minX, h3 = this.maxX, c2 = h3 - l2;
        if (t4.deltaY < 0) {
          var d2 = l2 + o3 * c2;
          r3 = d2 - (s3 = 0.5 * c2) / 2, n2 = d2 + s3 / 2;
        } else r3 = l2 - (s3 = 1.5 * c2) / 2, n2 = h3 + s3 / 2;
        if (!i2.globals.isRangeBar) {
          r3 = Math.max(r3, i2.globals.initialMinX), n2 = Math.min(n2, i2.globals.initialMaxX);
          var u2 = 0.01 * (i2.globals.initialMaxX - i2.globals.initialMinX);
          if (n2 - r3 < u2) {
            var g3 = (r3 + n2) / 2;
            r3 = g3 - u2 / 2, n2 = g3 + u2 / 2;
          }
        }
        var p3 = this._getNewMinXMaxX(r3, n2);
        isNaN(p3.minX) || isNaN(p3.maxX) || this.zoomUpdateOptions(p3.minX, p3.maxX);
      }
    } }, { key: "makeSelectionRectDraggable", value: function() {
      var t4 = this, e3 = this.w;
      if (this.selectionRect) {
        var i2 = this.selectionRect.node.getBoundingClientRect();
        i2.width > 0 && i2.height > 0 && (this.selectionRect.select(false).resize(false), this.selectionRect.select({ createRot: function() {
        }, updateRot: function() {
        }, createHandle: function(t5, e4, i3, a3, s3) {
          return "l" === s3 || "r" === s3 ? t5.circle(8).css({ "stroke-width": 1, stroke: "#333", fill: "#fff" }) : t5.circle(0);
        }, updateHandle: function(t5, e4) {
          return t5.center(e4[0], e4[1]);
        } }).resize().on("resize", function() {
          var i3 = e3.globals.zoomEnabled ? e3.config.chart.zoom.type : e3.config.chart.selection.type;
          t4.handleMouseUp({ zoomtype: i3, isResized: true });
        }));
      }
    } }, { key: "preselectedSelection", value: function() {
      var t4 = this.w, e3 = this.xyRatios;
      if (!t4.globals.zoomEnabled) {
        if (void 0 !== t4.globals.selection && null !== t4.globals.selection) this.drawSelectionRect(u(u({}, t4.globals.selection), {}, { translateX: t4.globals.translateX, translateY: t4.globals.translateY }));
        else if (void 0 !== t4.config.chart.selection.xaxis.min && void 0 !== t4.config.chart.selection.xaxis.max) {
          var i2 = (t4.config.chart.selection.xaxis.min - t4.globals.minX) / e3.xRatio, a3 = t4.globals.gridWidth - (t4.globals.maxX - t4.config.chart.selection.xaxis.max) / e3.xRatio - i2;
          t4.globals.isRangeBar && (i2 = (t4.config.chart.selection.xaxis.min - t4.globals.yAxisScale[0].niceMin) / e3.invertedYRatio, a3 = (t4.config.chart.selection.xaxis.max - t4.config.chart.selection.xaxis.min) / e3.invertedYRatio);
          var s3 = { x: i2, y: 0, width: a3, height: t4.globals.gridHeight, translateX: t4.globals.translateX, translateY: t4.globals.translateY, selectionEnabled: true };
          this.drawSelectionRect(s3), this.makeSelectionRectDraggable(), "function" == typeof t4.config.chart.events.selection && t4.config.chart.events.selection(this.ctx, { xaxis: { min: t4.config.chart.selection.xaxis.min, max: t4.config.chart.selection.xaxis.max }, yaxis: {} });
        }
      }
    } }, { key: "drawSelectionRect", value: function(t4) {
      var e3 = t4.x, i2 = t4.y, a3 = t4.width, s3 = t4.height, r3 = t4.translateX, n2 = void 0 === r3 ? 0 : r3, o3 = t4.translateY, l2 = void 0 === o3 ? 0 : o3, h3 = this.w, c2 = this.zoomRect, d2 = this.selectionRect;
      if (this.dragged || null !== h3.globals.selection) {
        var u2 = { transform: "translate(" + n2 + ", " + l2 + ")" };
        h3.globals.zoomEnabled && this.dragged && (a3 < 0 && (a3 = 1), c2.attr({ x: e3, y: i2, width: a3, height: s3, fill: h3.config.chart.zoom.zoomedArea.fill.color, "fill-opacity": h3.config.chart.zoom.zoomedArea.fill.opacity, stroke: h3.config.chart.zoom.zoomedArea.stroke.color, "stroke-width": h3.config.chart.zoom.zoomedArea.stroke.width, "stroke-opacity": h3.config.chart.zoom.zoomedArea.stroke.opacity }), Mi.setAttrs(c2.node, u2)), h3.globals.selectionEnabled && (d2.attr({ x: e3, y: i2, width: a3 > 0 ? a3 : 0, height: s3 > 0 ? s3 : 0, fill: h3.config.chart.selection.fill.color, "fill-opacity": h3.config.chart.selection.fill.opacity, stroke: h3.config.chart.selection.stroke.color, "stroke-width": h3.config.chart.selection.stroke.width, "stroke-dasharray": h3.config.chart.selection.stroke.dashArray, "stroke-opacity": h3.config.chart.selection.stroke.opacity }), Mi.setAttrs(d2.node, u2));
      }
    } }, { key: "hideSelectionRect", value: function(t4) {
      t4 && t4.attr({ x: 0, y: 0, width: 0, height: 0 });
    } }, { key: "selectionDrawing", value: function(t4) {
      var e3 = t4.context, i2 = t4.zoomtype, a3 = this.w, s3 = e3, r3 = this.gridRect.getBoundingClientRect(), n2 = s3.startX - 1, o3 = s3.startY, l2 = false, h3 = false, c2 = s3.clientX - r3.left - a3.globals.barPadForNumericAxis, d2 = s3.clientY - r3.top, g3 = c2 - n2, p3 = d2 - o3, f2 = { translateX: a3.globals.translateX, translateY: a3.globals.translateY };
      return Math.abs(g3 + n2) > a3.globals.gridWidth ? g3 = a3.globals.gridWidth - n2 : c2 < 0 && (g3 = n2), n2 > c2 && (l2 = true, g3 = Math.abs(g3)), o3 > d2 && (h3 = true, p3 = Math.abs(p3)), f2 = u(u({}, f2 = "x" === i2 ? { x: l2 ? n2 - g3 : n2, y: 0, width: g3, height: a3.globals.gridHeight } : "y" === i2 ? { x: 0, y: h3 ? o3 - p3 : o3, width: a3.globals.gridWidth, height: p3 } : { x: l2 ? n2 - g3 : n2, y: h3 ? o3 - p3 : o3, width: g3, height: p3 }), {}, { translateX: a3.globals.translateX, translateY: a3.globals.translateY }), s3.drawSelectionRect(f2), s3.selectionDragging("resizing"), f2;
    } }, { key: "selectionDragging", value: function(t4, e3) {
      var i2 = this, a3 = this.w;
      if (e3) {
        e3.preventDefault();
        var s3 = e3.detail, r3 = s3.handler, n2 = s3.box, o3 = n2.x, l2 = n2.y;
        o3 < this.constraints.x && (o3 = this.constraints.x), l2 < this.constraints.y && (l2 = this.constraints.y), n2.x2 > this.constraints.x2 && (o3 = this.constraints.x2 - n2.w), n2.y2 > this.constraints.y2 && (l2 = this.constraints.y2 - n2.h), r3.move(o3, l2);
        var h3 = this.xyRatios, c2 = this.selectionRect, d2 = 0;
        "resizing" === t4 && (d2 = 30);
        var u2 = function(t5) {
          return parseFloat(c2.node.getAttribute(t5));
        }, g3 = { x: u2("x"), y: u2("y"), width: u2("width"), height: u2("height") };
        a3.globals.selection = g3, "function" == typeof a3.config.chart.events.selection && a3.globals.selectionEnabled && (clearTimeout(this.w.globals.selectionResizeTimer), this.w.globals.selectionResizeTimer = window.setTimeout(function() {
          var t5, e4, s4, r4, n3 = i2.gridRect.getBoundingClientRect(), o4 = c2.node.getBoundingClientRect();
          a3.globals.isRangeBar ? (t5 = a3.globals.yAxisScale[0].niceMin + (o4.left - n3.left) * h3.invertedYRatio, e4 = a3.globals.yAxisScale[0].niceMin + (o4.right - n3.left) * h3.invertedYRatio, s4 = 0, r4 = 1) : (t5 = a3.globals.xAxisScale.niceMin + (o4.left - n3.left) * h3.xRatio, e4 = a3.globals.xAxisScale.niceMin + (o4.right - n3.left) * h3.xRatio, s4 = a3.globals.yAxisScale[0].niceMin + (n3.bottom - o4.bottom) * h3.yRatio[0], r4 = a3.globals.yAxisScale[0].niceMax - (o4.top - n3.top) * h3.yRatio[0]);
          var l3 = { xaxis: { min: t5, max: e4 }, yaxis: { min: s4, max: r4 } };
          a3.config.chart.events.selection(i2.ctx, l3), a3.config.chart.brush.enabled && void 0 !== a3.config.chart.events.brushScrolled && a3.config.chart.events.brushScrolled(i2.ctx, l3);
        }, d2));
      }
    } }, { key: "selectionDrawn", value: function(t4) {
      var e3 = t4.context, i2 = t4.zoomtype, a3 = this.w, s3 = e3, r3 = this.xyRatios, n2 = this.ctx.toolbar;
      if (s3.startX > s3.endX) {
        var o3 = s3.startX;
        s3.startX = s3.endX, s3.endX = o3;
      }
      if (s3.startY > s3.endY) {
        var l2 = s3.startY;
        s3.startY = s3.endY, s3.endY = l2;
      }
      var h3 = void 0, c2 = void 0;
      a3.globals.isRangeBar ? (h3 = a3.globals.yAxisScale[0].niceMin + s3.startX * r3.invertedYRatio, c2 = a3.globals.yAxisScale[0].niceMin + s3.endX * r3.invertedYRatio) : (h3 = a3.globals.xAxisScale.niceMin + s3.startX * r3.xRatio, c2 = a3.globals.xAxisScale.niceMin + s3.endX * r3.xRatio);
      var d2 = [], u2 = [];
      if (a3.config.yaxis.forEach(function(t5, e4) {
        var i3 = a3.globals.seriesYAxisMap[e4][0];
        d2.push(a3.globals.yAxisScale[e4].niceMax - r3.yRatio[i3] * s3.startY), u2.push(a3.globals.yAxisScale[e4].niceMax - r3.yRatio[i3] * s3.endY);
      }), s3.dragged && (s3.dragX > 10 || s3.dragY > 10) && h3 !== c2) {
        if (a3.globals.zoomEnabled) {
          var g3 = v.clone(a3.globals.initialConfig.yaxis), p3 = v.clone(a3.globals.initialConfig.xaxis);
          if (a3.globals.zoomed = true, a3.config.xaxis.convertedCatToNumeric && (h3 = Math.floor(h3), c2 = Math.floor(c2), h3 < 1 && (h3 = 1, c2 = a3.globals.dataPoints), c2 - h3 < 2 && (c2 = h3 + 1)), "xy" !== i2 && "x" !== i2 || (p3 = { min: h3, max: c2 }), "xy" !== i2 && "y" !== i2 || g3.forEach(function(t5, e4) {
            g3[e4].min = u2[e4], g3[e4].max = d2[e4];
          }), n2) {
            var f2 = n2.getBeforeZoomRange(p3, g3);
            f2 && (p3 = f2.xaxis ? f2.xaxis : p3, g3 = f2.yaxis ? f2.yaxis : g3);
          }
          var x3 = { xaxis: p3 };
          a3.config.chart.group || (x3.yaxis = g3), s3.ctx.updateHelpers._updateOptions(x3, false, s3.w.config.chart.animations.dynamicAnimation.enabled), "function" == typeof a3.config.chart.events.zoomed && n2.zoomCallback(p3, g3);
        } else if (a3.globals.selectionEnabled) {
          var b2, m3 = null;
          b2 = { min: h3, max: c2 }, "xy" !== i2 && "y" !== i2 || (m3 = v.clone(a3.config.yaxis)).forEach(function(t5, e4) {
            m3[e4].min = u2[e4], m3[e4].max = d2[e4];
          }), a3.globals.selection = s3.selection, "function" == typeof a3.config.chart.events.selection && a3.config.chart.events.selection(s3.ctx, { xaxis: b2, yaxis: m3 });
        }
      }
    } }, { key: "panDragging", value: function(t4) {
      var e3 = t4.context, i2 = this.w, a3 = e3;
      if (void 0 !== i2.globals.lastClientPosition.x) {
        var s3 = i2.globals.lastClientPosition.x - a3.clientX, r3 = i2.globals.lastClientPosition.y - a3.clientY;
        Math.abs(s3) > Math.abs(r3) && s3 > 0 ? this.moveDirection = "left" : Math.abs(s3) > Math.abs(r3) && s3 < 0 ? this.moveDirection = "right" : Math.abs(r3) > Math.abs(s3) && r3 > 0 ? this.moveDirection = "up" : Math.abs(r3) > Math.abs(s3) && r3 < 0 && (this.moveDirection = "down");
      }
      i2.globals.lastClientPosition = { x: a3.clientX, y: a3.clientY };
      var n2 = i2.globals.isRangeBar ? i2.globals.minY : i2.globals.minX, o3 = i2.globals.isRangeBar ? i2.globals.maxY : i2.globals.maxX;
      i2.config.xaxis.convertedCatToNumeric || a3.panScrolled(n2, o3);
    } }, { key: "delayedPanScrolled", value: function() {
      var t4 = this.w, e3 = t4.globals.minX, i2 = t4.globals.maxX, a3 = (t4.globals.maxX - t4.globals.minX) / 2;
      "left" === this.moveDirection ? (e3 = t4.globals.minX + a3, i2 = t4.globals.maxX + a3) : "right" === this.moveDirection && (e3 = t4.globals.minX - a3, i2 = t4.globals.maxX - a3), e3 = Math.floor(e3), i2 = Math.floor(i2), this.updateScrolledChart({ xaxis: { min: e3, max: i2 } }, e3, i2);
    } }, { key: "panScrolled", value: function(t4, e3) {
      var i2 = this.w, a3 = this.xyRatios, s3 = v.clone(i2.globals.initialConfig.yaxis), r3 = a3.xRatio, n2 = i2.globals.minX, o3 = i2.globals.maxX;
      i2.globals.isRangeBar && (r3 = a3.invertedYRatio, n2 = i2.globals.minY, o3 = i2.globals.maxY), "left" === this.moveDirection ? (t4 = n2 + i2.globals.gridWidth / 15 * r3, e3 = o3 + i2.globals.gridWidth / 15 * r3) : "right" === this.moveDirection && (t4 = n2 - i2.globals.gridWidth / 15 * r3, e3 = o3 - i2.globals.gridWidth / 15 * r3), i2.globals.isRangeBar || (t4 < i2.globals.initialMinX || e3 > i2.globals.initialMaxX) && (t4 = n2, e3 = o3);
      var l2 = { xaxis: { min: t4, max: e3 } };
      i2.config.chart.group || (l2.yaxis = s3), this.updateScrolledChart(l2, t4, e3);
    } }, { key: "updateScrolledChart", value: function(t4, e3, i2) {
      var a3 = this.w;
      this.ctx.updateHelpers._updateOptions(t4, false, false), "function" == typeof a3.config.chart.events.scrolled && a3.config.chart.events.scrolled(this.ctx, { xaxis: { min: e3, max: i2 } });
    } }]), a2;
  }(), va = function() {
    function t3(e2) {
      i(this, t3), this.w = e2.w, this.ttCtx = e2, this.ctx = e2.ctx;
    }
    return s2(t3, [{ key: "getNearestValues", value: function(t4) {
      var e2 = t4.hoverArea, i2 = t4.elGrid, a2 = t4.clientX, s3 = t4.clientY, r3 = this.w, n2 = i2.getBoundingClientRect(), o3 = n2.width, l2 = n2.height, h3 = o3 / (r3.globals.dataPoints - 1), c2 = l2 / r3.globals.dataPoints, d2 = this.hasBars();
      !r3.globals.comboCharts && !d2 || r3.config.xaxis.convertedCatToNumeric || (h3 = o3 / r3.globals.dataPoints);
      var u2 = a2 - n2.left - r3.globals.barPadForNumericAxis, g3 = s3 - n2.top;
      u2 < 0 || g3 < 0 || u2 > o3 || g3 > l2 ? (e2.classList.remove("hovering-zoom"), e2.classList.remove("hovering-pan")) : r3.globals.zoomEnabled ? (e2.classList.remove("hovering-pan"), e2.classList.add("hovering-zoom")) : r3.globals.panEnabled && (e2.classList.remove("hovering-zoom"), e2.classList.add("hovering-pan"));
      var p3 = Math.round(u2 / h3), f2 = Math.floor(g3 / c2);
      d2 && !r3.config.xaxis.convertedCatToNumeric && (p3 = Math.ceil(u2 / h3), p3 -= 1);
      var x3 = null, b2 = null, m3 = r3.globals.seriesXvalues.map(function(t5) {
        return t5.filter(function(t6) {
          return v.isNumber(t6);
        });
      }), y2 = r3.globals.seriesYvalues.map(function(t5) {
        return t5.filter(function(t6) {
          return v.isNumber(t6);
        });
      });
      if (r3.globals.isXNumeric) {
        var w3 = this.ttCtx.getElGrid().getBoundingClientRect(), k2 = u2 * (w3.width / o3), A3 = g3 * (w3.height / l2);
        x3 = (b2 = this.closestInMultiArray(k2, A3, m3, y2)).index, p3 = b2.j, null !== x3 && r3.globals.hasNullValues && (m3 = r3.globals.seriesXvalues[x3], p3 = (b2 = this.closestInArray(k2, m3)).j);
      }
      return r3.globals.capturedSeriesIndex = null === x3 ? -1 : x3, (!p3 || p3 < 1) && (p3 = 0), r3.globals.isBarHorizontal ? r3.globals.capturedDataPointIndex = f2 : r3.globals.capturedDataPointIndex = p3, { capturedSeries: x3, j: r3.globals.isBarHorizontal ? f2 : p3, hoverX: u2, hoverY: g3 };
    } }, { key: "getFirstActiveXArray", value: function(t4) {
      for (var e2 = this.w, i2 = 0, a2 = t4.map(function(t5, e3) {
        return t5.length > 0 ? e3 : -1;
      }), s3 = 0; s3 < a2.length; s3++) if (-1 !== a2[s3] && -1 === e2.globals.collapsedSeriesIndices.indexOf(s3) && -1 === e2.globals.ancillaryCollapsedSeriesIndices.indexOf(s3)) {
        i2 = a2[s3];
        break;
      }
      return i2;
    } }, { key: "closestInMultiArray", value: function(t4, e2, i2, a2) {
      for (var s3, r3 = this.w, n2 = 1 / 0, o3 = null, l2 = null, h3 = 0; h3 < i2.length; h3++) if (s3 = h3, -1 === r3.globals.collapsedSeriesIndices.indexOf(s3) && -1 === r3.globals.ancillaryCollapsedSeriesIndices.indexOf(s3)) for (var c2 = i2[h3], d2 = a2[h3], u2 = Math.min(c2.length, d2.length), g3 = 0; g3 < u2; g3++) {
        var p3 = t4 - c2[g3], f2 = e2 - d2[g3], x3 = Math.sqrt(p3 * p3 + f2 * f2);
        x3 < n2 && (n2 = x3, o3 = h3, l2 = g3);
      }
      return { index: o3, j: l2 };
    } }, { key: "closestInArray", value: function(t4, e2) {
      for (var i2 = e2[0], a2 = null, s3 = Math.abs(t4 - i2), r3 = 0; r3 < e2.length; r3++) {
        var n2 = Math.abs(t4 - e2[r3]);
        n2 < s3 && (s3 = n2, a2 = r3);
      }
      return { j: a2 };
    } }, { key: "isXoverlap", value: function(t4) {
      var e2 = [], i2 = this.w.globals.seriesX.filter(function(t5) {
        return void 0 !== t5[0];
      });
      if (i2.length > 0) for (var a2 = 0; a2 < i2.length - 1; a2++) void 0 !== i2[a2][t4] && void 0 !== i2[a2 + 1][t4] && i2[a2][t4] !== i2[a2 + 1][t4] && e2.push("unEqual");
      return 0 === e2.length;
    } }, { key: "isInitialSeriesSameLen", value: function() {
      for (var t4 = true, e2 = this.w.globals.initialSeries, i2 = 0; i2 < e2.length - 1; i2++) if (e2[i2].data.length !== e2[i2 + 1].data.length) {
        t4 = false;
        break;
      }
      return t4;
    } }, { key: "getBarsHeight", value: function(t4) {
      return f(t4).reduce(function(t5, e2) {
        return t5 + e2.getBBox().height;
      }, 0);
    } }, { key: "getElMarkers", value: function(t4) {
      return "number" == typeof t4 ? this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series[data\\:realIndex='".concat(t4, "'] .apexcharts-series-markers-wrap > *")) : this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap > *");
    } }, { key: "getAllMarkers", value: function() {
      var t4 = this, e2 = arguments.length > 0 && void 0 !== arguments[0] && arguments[0], i2 = this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap");
      i2 = f(i2), e2 && (i2 = i2.filter(function(e3) {
        var i3 = Number(e3.getAttribute("data:realIndex"));
        return -1 === t4.w.globals.collapsedSeriesIndices.indexOf(i3);
      })), i2.sort(function(t5, e3) {
        var i3 = Number(t5.getAttribute("data:realIndex")), a3 = Number(e3.getAttribute("data:realIndex"));
        return a3 < i3 ? 1 : a3 > i3 ? -1 : 0;
      });
      var a2 = [];
      return i2.forEach(function(t5) {
        a2.push(t5.querySelector(".apexcharts-marker"));
      }), a2;
    } }, { key: "hasMarkers", value: function(t4) {
      return this.getElMarkers(t4).length > 0;
    } }, { key: "getPathFromPoint", value: function(t4, e2) {
      var i2 = Number(t4.getAttribute("cx")), a2 = Number(t4.getAttribute("cy")), s3 = t4.getAttribute("shape");
      return new Mi(this.ctx).getMarkerPath(i2, a2, s3, e2);
    } }, { key: "getElBars", value: function() {
      return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series,  .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series");
    } }, { key: "hasBars", value: function() {
      return this.getElBars().length > 0;
    } }, { key: "getHoverMarkerSize", value: function(t4) {
      var e2 = this.w, i2 = e2.config.markers.hover.size;
      return void 0 === i2 && (i2 = e2.globals.markers.size[t4] + e2.config.markers.hover.sizeOffset), i2;
    } }, { key: "toggleAllTooltipSeriesGroups", value: function(t4) {
      var e2 = this.w, i2 = this.ttCtx;
      0 === i2.allTooltipSeriesGroups.length && (i2.allTooltipSeriesGroups = e2.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));
      for (var a2 = i2.allTooltipSeriesGroups, s3 = 0; s3 < a2.length; s3++) "enable" === t4 ? (a2[s3].classList.add("apexcharts-active"), a2[s3].style.display = e2.config.tooltip.items.display) : (a2[s3].classList.remove("apexcharts-active"), a2[s3].style.display = "none");
    } }]), t3;
  }(), ya = function() {
    function t3(e2) {
      i(this, t3), this.w = e2.w, this.ctx = e2.ctx, this.ttCtx = e2, this.tooltipUtil = new va(e2);
    }
    return s2(t3, [{ key: "drawSeriesTexts", value: function(t4) {
      var e2 = t4.shared, i2 = void 0 === e2 || e2, a2 = t4.ttItems, s3 = t4.i, r3 = void 0 === s3 ? 0 : s3, n2 = t4.j, o3 = void 0 === n2 ? null : n2, l2 = t4.y1, h3 = t4.y2, c2 = t4.e, d2 = this.w;
      void 0 !== d2.config.tooltip.custom ? this.handleCustomTooltip({ i: r3, j: o3, y1: l2, y2: h3, w: d2 }) : this.toggleActiveInactiveSeries(i2, r3);
      var u2 = this.getValuesToPrint({ i: r3, j: o3 });
      this.printLabels({ i: r3, j: o3, values: u2, ttItems: a2, shared: i2, e: c2 });
      var g3 = this.ttCtx.getElTooltip();
      this.ttCtx.tooltipRect.ttWidth = g3.getBoundingClientRect().width, this.ttCtx.tooltipRect.ttHeight = g3.getBoundingClientRect().height;
    } }, { key: "printLabels", value: function(t4) {
      var e2, i2 = this, a2 = t4.i, s3 = t4.j, r3 = t4.values, n2 = t4.ttItems, o3 = t4.shared, l2 = t4.e, h3 = this.w, c2 = [], d2 = function(t5) {
        return h3.globals.seriesGoals[t5] && h3.globals.seriesGoals[t5][s3] && Array.isArray(h3.globals.seriesGoals[t5][s3]);
      }, g3 = r3.xVal, p3 = r3.zVal, f2 = r3.xAxisTTVal, x3 = "", b2 = h3.globals.colors[a2];
      null !== s3 && h3.config.plotOptions.bar.distributed && (b2 = h3.globals.colors[s3]);
      for (var m3 = function(t5, r4) {
        var m4 = i2.getFormatters(a2);
        x3 = i2.getSeriesName({ fn: m4.yLbTitleFormatter, index: a2, seriesIndex: a2, j: s3 }), "treemap" === h3.config.chart.type && (x3 = m4.yLbTitleFormatter(String(h3.config.series[a2].data[s3].x), { series: h3.globals.series, seriesIndex: a2, dataPointIndex: s3, w: h3 }));
        var v3 = h3.config.tooltip.inverseOrder ? r4 : t5;
        if (h3.globals.axisCharts) {
          var y3 = function(t6) {
            var e3, i3, a3, r5;
            return h3.globals.isRangeData ? m4.yLbFormatter(null === (e3 = h3.globals.seriesRangeStart) || void 0 === e3 || null === (i3 = e3[t6]) || void 0 === i3 ? void 0 : i3[s3], { series: h3.globals.seriesRangeStart, seriesIndex: t6, dataPointIndex: s3, w: h3 }) + " - " + m4.yLbFormatter(null === (a3 = h3.globals.seriesRangeEnd) || void 0 === a3 || null === (r5 = a3[t6]) || void 0 === r5 ? void 0 : r5[s3], { series: h3.globals.seriesRangeEnd, seriesIndex: t6, dataPointIndex: s3, w: h3 }) : m4.yLbFormatter(h3.globals.series[t6][s3], { series: h3.globals.series, seriesIndex: t6, dataPointIndex: s3, w: h3 });
          };
          if (o3) m4 = i2.getFormatters(v3), x3 = i2.getSeriesName({ fn: m4.yLbTitleFormatter, index: v3, seriesIndex: a2, j: s3 }), b2 = h3.globals.colors[v3], e2 = y3(v3), d2(v3) && (c2 = h3.globals.seriesGoals[v3][s3].map(function(t6) {
            return { attrs: t6, val: m4.yLbFormatter(t6.value, { seriesIndex: v3, dataPointIndex: s3, w: h3 }) };
          }));
          else {
            var w3, k2 = null == l2 || null === (w3 = l2.target) || void 0 === w3 ? void 0 : w3.getAttribute("fill");
            k2 && (-1 !== k2.indexOf("url") ? -1 !== k2.indexOf("Pattern") && (b2 = h3.globals.dom.baseEl.querySelector(k2.substr(4).slice(0, -1)).childNodes[0].getAttribute("stroke")) : b2 = k2), e2 = y3(a2), d2(a2) && Array.isArray(h3.globals.seriesGoals[a2][s3]) && (c2 = h3.globals.seriesGoals[a2][s3].map(function(t6) {
              return { attrs: t6, val: m4.yLbFormatter(t6.value, { seriesIndex: a2, dataPointIndex: s3, w: h3 }) };
            }));
          }
        }
        null === s3 && (e2 = m4.yLbFormatter(h3.globals.series[a2], u(u({}, h3), {}, { seriesIndex: a2, dataPointIndex: a2 }))), i2.DOMHandling({ i: a2, t: v3, j: s3, ttItems: n2, values: { val: e2, goalVals: c2, xVal: g3, xAxisTTVal: f2, zVal: p3 }, seriesName: x3, shared: o3, pColor: b2 });
      }, v2 = 0, y2 = h3.globals.series.length - 1; v2 < h3.globals.series.length; v2++, y2--) m3(v2, y2);
    } }, { key: "getFormatters", value: function(t4) {
      var e2, i2 = this.w, a2 = i2.globals.yLabelFormatters[t4];
      return void 0 !== i2.globals.ttVal ? Array.isArray(i2.globals.ttVal) ? (a2 = i2.globals.ttVal[t4] && i2.globals.ttVal[t4].formatter, e2 = i2.globals.ttVal[t4] && i2.globals.ttVal[t4].title && i2.globals.ttVal[t4].title.formatter) : (a2 = i2.globals.ttVal.formatter, "function" == typeof i2.globals.ttVal.title.formatter && (e2 = i2.globals.ttVal.title.formatter)) : e2 = i2.config.tooltip.y.title.formatter, "function" != typeof a2 && (a2 = i2.globals.yLabelFormatters[0] ? i2.globals.yLabelFormatters[0] : function(t5) {
        return t5;
      }), "function" != typeof e2 && (e2 = function(t5) {
        return t5 ? t5 + ": " : "";
      }), { yLbFormatter: a2, yLbTitleFormatter: e2 };
    } }, { key: "getSeriesName", value: function(t4) {
      var e2 = t4.fn, i2 = t4.index, a2 = t4.seriesIndex, s3 = t4.j, r3 = this.w;
      return e2(String(r3.globals.seriesNames[i2]), { series: r3.globals.series, seriesIndex: a2, dataPointIndex: s3, w: r3 });
    } }, { key: "DOMHandling", value: function(t4) {
      t4.i;
      var e2 = t4.t, i2 = t4.j, a2 = t4.ttItems, s3 = t4.values, r3 = t4.seriesName, n2 = t4.shared, o3 = t4.pColor, l2 = this.w, h3 = this.ttCtx, c2 = s3.val, d2 = s3.goalVals, u2 = s3.xVal, g3 = s3.xAxisTTVal, p3 = s3.zVal, f2 = null;
      f2 = a2[e2].children, l2.config.tooltip.fillSeriesColor && (a2[e2].style.backgroundColor = o3, f2[0].style.display = "none"), h3.showTooltipTitle && (null === h3.tooltipTitle && (h3.tooltipTitle = l2.globals.dom.baseEl.querySelector(".apexcharts-tooltip-title")), h3.tooltipTitle.innerHTML = u2), h3.isXAxisTooltipEnabled && (h3.xaxisTooltipText.innerHTML = "" !== g3 ? g3 : u2);
      var x3 = a2[e2].querySelector(".apexcharts-tooltip-text-y-label");
      x3 && (x3.innerHTML = r3 || "");
      var b2 = a2[e2].querySelector(".apexcharts-tooltip-text-y-value");
      b2 && (b2.innerHTML = void 0 !== c2 ? c2 : ""), f2[0] && f2[0].classList.contains("apexcharts-tooltip-marker") && (l2.config.tooltip.marker.fillColors && Array.isArray(l2.config.tooltip.marker.fillColors) && (o3 = l2.config.tooltip.marker.fillColors[e2]), f2[0].style.backgroundColor = o3), l2.config.tooltip.marker.show || (f2[0].style.display = "none");
      var m3 = a2[e2].querySelector(".apexcharts-tooltip-text-goals-label"), v2 = a2[e2].querySelector(".apexcharts-tooltip-text-goals-value");
      if (d2.length && l2.globals.seriesGoals[e2]) {
        var y2 = function() {
          var t5 = "<div >", e3 = "<div>";
          d2.forEach(function(i3, a3) {
            t5 += ' <div style="display: flex"><span class="apexcharts-tooltip-marker" style="background-color: '.concat(i3.attrs.strokeColor, '; height: 3px; border-radius: 0; top: 5px;"></span> ').concat(i3.attrs.name, "</div>"), e3 += "<div>".concat(i3.val, "</div>");
          }), m3.innerHTML = t5 + "</div>", v2.innerHTML = e3 + "</div>";
        };
        n2 ? l2.globals.seriesGoals[e2][i2] && Array.isArray(l2.globals.seriesGoals[e2][i2]) ? y2() : (m3.innerHTML = "", v2.innerHTML = "") : y2();
      } else m3.innerHTML = "", v2.innerHTML = "";
      null !== p3 && (a2[e2].querySelector(".apexcharts-tooltip-text-z-label").innerHTML = l2.config.tooltip.z.title, a2[e2].querySelector(".apexcharts-tooltip-text-z-value").innerHTML = void 0 !== p3 ? p3 : "");
      if (n2 && f2[0]) {
        if (l2.config.tooltip.hideEmptySeries) {
          var w3 = a2[e2].querySelector(".apexcharts-tooltip-marker"), k2 = a2[e2].querySelector(".apexcharts-tooltip-text");
          0 == parseFloat(c2) ? (w3.style.display = "none", k2.style.display = "none") : (w3.style.display = "block", k2.style.display = "block");
        }
        null == c2 || l2.globals.ancillaryCollapsedSeriesIndices.indexOf(e2) > -1 || l2.globals.collapsedSeriesIndices.indexOf(e2) > -1 || Array.isArray(h3.tConfig.enabledOnSeries) && -1 === h3.tConfig.enabledOnSeries.indexOf(e2) ? f2[0].parentNode.style.display = "none" : f2[0].parentNode.style.display = l2.config.tooltip.items.display;
      } else Array.isArray(h3.tConfig.enabledOnSeries) && -1 === h3.tConfig.enabledOnSeries.indexOf(e2) && (f2[0].parentNode.style.display = "none");
    } }, { key: "toggleActiveInactiveSeries", value: function(t4, e2) {
      var i2 = this.w;
      if (t4) this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");
      else {
        this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");
        var a2 = i2.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group-".concat(e2));
        a2 && (a2.classList.add("apexcharts-active"), a2.style.display = i2.config.tooltip.items.display);
      }
    } }, { key: "getValuesToPrint", value: function(t4) {
      var e2 = t4.i, i2 = t4.j, a2 = this.w, s3 = this.ctx.series.filteredSeriesX(), r3 = "", n2 = "", o3 = null, l2 = null, h3 = { series: a2.globals.series, seriesIndex: e2, dataPointIndex: i2, w: a2 }, c2 = a2.globals.ttZFormatter;
      null === i2 ? l2 = a2.globals.series[e2] : a2.globals.isXNumeric && "treemap" !== a2.config.chart.type ? (r3 = s3[e2][i2], 0 === s3[e2].length && (r3 = s3[this.tooltipUtil.getFirstActiveXArray(s3)][i2])) : r3 = new $i(this.ctx).isFormatXY() ? void 0 !== a2.config.series[e2].data[i2] ? a2.config.series[e2].data[i2].x : "" : void 0 !== a2.globals.labels[i2] ? a2.globals.labels[i2] : "";
      var d2 = r3;
      a2.globals.isXNumeric && "datetime" === a2.config.xaxis.type ? r3 = new Xi(this.ctx).xLabelFormat(a2.globals.ttKeyFormatter, d2, d2, { i: void 0, dateFormatter: new zi(this.ctx).formatDate, w: this.w }) : r3 = a2.globals.isBarHorizontal ? a2.globals.yLabelFormatters[0](d2, h3) : a2.globals.xLabelFormatter(d2, h3);
      return void 0 !== a2.config.tooltip.x.formatter && (r3 = a2.globals.ttKeyFormatter(d2, h3)), a2.globals.seriesZ.length > 0 && a2.globals.seriesZ[e2].length > 0 && (o3 = c2(a2.globals.seriesZ[e2][i2], a2)), n2 = "function" == typeof a2.config.xaxis.tooltip.formatter ? a2.globals.xaxisTooltipFormatter(d2, h3) : r3, { val: Array.isArray(l2) ? l2.join(" ") : l2, xVal: Array.isArray(r3) ? r3.join(" ") : r3, xAxisTTVal: Array.isArray(n2) ? n2.join(" ") : n2, zVal: o3 };
    } }, { key: "handleCustomTooltip", value: function(t4) {
      var e2 = t4.i, i2 = t4.j, a2 = t4.y1, s3 = t4.y2, r3 = t4.w, n2 = this.ttCtx.getElTooltip(), o3 = r3.config.tooltip.custom;
      Array.isArray(o3) && o3[e2] && (o3 = o3[e2]);
      var l2 = o3({ ctx: this.ctx, series: r3.globals.series, seriesIndex: e2, dataPointIndex: i2, y1: a2, y2: s3, w: r3 });
      "string" == typeof l2 ? n2.innerHTML = l2 : (l2 instanceof Element || "string" == typeof l2.nodeName) && (n2.innerHTML = "", n2.appendChild(l2));
    } }]), t3;
  }(), wa2 = function() {
    function t3(e2) {
      i(this, t3), this.ttCtx = e2, this.ctx = e2.ctx, this.w = e2.w;
    }
    return s2(t3, [{ key: "moveXCrosshairs", value: function(t4) {
      var e2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null, i2 = this.ttCtx, a2 = this.w, s3 = i2.getElXCrosshairs(), r3 = t4 - i2.xcrosshairsWidth / 2, n2 = a2.globals.labels.slice().length;
      if (null !== e2 && (r3 = a2.globals.gridWidth / n2 * e2), null === s3 || a2.globals.isBarHorizontal || (s3.setAttribute("x", r3), s3.setAttribute("x1", r3), s3.setAttribute("x2", r3), s3.setAttribute("y2", a2.globals.gridHeight), s3.classList.add("apexcharts-active")), r3 < 0 && (r3 = 0), r3 > a2.globals.gridWidth && (r3 = a2.globals.gridWidth), i2.isXAxisTooltipEnabled) {
        var o3 = r3;
        "tickWidth" !== a2.config.xaxis.crosshairs.width && "barWidth" !== a2.config.xaxis.crosshairs.width || (o3 = r3 + i2.xcrosshairsWidth / 2), this.moveXAxisTooltip(o3);
      }
    } }, { key: "moveYCrosshairs", value: function(t4) {
      var e2 = this.ttCtx;
      null !== e2.ycrosshairs && Mi.setAttrs(e2.ycrosshairs, { y1: t4, y2: t4 }), null !== e2.ycrosshairsHidden && Mi.setAttrs(e2.ycrosshairsHidden, { y1: t4, y2: t4 });
    } }, { key: "moveXAxisTooltip", value: function(t4) {
      var e2 = this.w, i2 = this.ttCtx;
      if (null !== i2.xaxisTooltip && 0 !== i2.xcrosshairsWidth) {
        i2.xaxisTooltip.classList.add("apexcharts-active");
        var a2 = i2.xaxisOffY + e2.config.xaxis.tooltip.offsetY + e2.globals.translateY + 1 + e2.config.xaxis.offsetY;
        if (t4 -= i2.xaxisTooltip.getBoundingClientRect().width / 2, !isNaN(t4)) {
          t4 += e2.globals.translateX;
          var s3;
          s3 = new Mi(this.ctx).getTextRects(i2.xaxisTooltipText.innerHTML), i2.xaxisTooltipText.style.minWidth = s3.width + "px", i2.xaxisTooltip.style.left = t4 + "px", i2.xaxisTooltip.style.top = a2 + "px";
        }
      }
    } }, { key: "moveYAxisTooltip", value: function(t4) {
      var e2 = this.w, i2 = this.ttCtx;
      null === i2.yaxisTTEls && (i2.yaxisTTEls = e2.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));
      var a2 = parseInt(i2.ycrosshairsHidden.getAttribute("y1"), 10), s3 = e2.globals.translateY + a2, r3 = i2.yaxisTTEls[t4].getBoundingClientRect().height, n2 = e2.globals.translateYAxisX[t4] - 2;
      e2.config.yaxis[t4].opposite && (n2 -= 26), s3 -= r3 / 2, -1 === e2.globals.ignoreYAxisIndexes.indexOf(t4) ? (i2.yaxisTTEls[t4].classList.add("apexcharts-active"), i2.yaxisTTEls[t4].style.top = s3 + "px", i2.yaxisTTEls[t4].style.left = n2 + e2.config.yaxis[t4].tooltip.offsetX + "px") : i2.yaxisTTEls[t4].classList.remove("apexcharts-active");
    } }, { key: "moveTooltip", value: function(t4, e2) {
      var i2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null, a2 = this.w, s3 = this.ttCtx, r3 = s3.getElTooltip(), n2 = s3.tooltipRect, o3 = null !== i2 ? parseFloat(i2) : 1, l2 = parseFloat(t4) + o3 + 5, h3 = parseFloat(e2) + o3 / 2;
      if (l2 > a2.globals.gridWidth / 2 && (l2 = l2 - n2.ttWidth - o3 - 10), l2 > a2.globals.gridWidth - n2.ttWidth - 10 && (l2 = a2.globals.gridWidth - n2.ttWidth), l2 < -20 && (l2 = -20), a2.config.tooltip.followCursor) {
        var c2 = s3.getElGrid().getBoundingClientRect();
        (l2 = s3.e.clientX - c2.left) > a2.globals.gridWidth / 2 && (l2 -= s3.tooltipRect.ttWidth), (h3 = s3.e.clientY + a2.globals.translateY - c2.top) > a2.globals.gridHeight / 2 && (h3 -= s3.tooltipRect.ttHeight);
      } else a2.globals.isBarHorizontal || n2.ttHeight / 2 + h3 > a2.globals.gridHeight && (h3 = a2.globals.gridHeight - n2.ttHeight + a2.globals.translateY);
      isNaN(l2) || (l2 += a2.globals.translateX, r3.style.left = l2 + "px", r3.style.top = h3 + "px");
    } }, { key: "moveMarkers", value: function(t4, e2) {
      var i2 = this.w, a2 = this.ttCtx;
      if (i2.globals.markers.size[t4] > 0) for (var s3 = i2.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(t4, "'] .apexcharts-marker")), r3 = 0; r3 < s3.length; r3++) parseInt(s3[r3].getAttribute("rel"), 10) === e2 && (a2.marker.resetPointsSize(), a2.marker.enlargeCurrentPoint(e2, s3[r3]));
      else a2.marker.resetPointsSize(), this.moveDynamicPointOnHover(e2, t4);
    } }, { key: "moveDynamicPointOnHover", value: function(t4, e2) {
      var i2, a2, s3, r3, n2 = this.w, o3 = this.ttCtx, l2 = new Mi(this.ctx), h3 = n2.globals.pointsArray, c2 = o3.tooltipUtil.getHoverMarkerSize(e2), d2 = n2.config.series[e2].type;
      if (!d2 || "column" !== d2 && "candlestick" !== d2 && "boxPlot" !== d2) {
        s3 = null === (i2 = h3[e2][t4]) || void 0 === i2 ? void 0 : i2[0], r3 = (null === (a2 = h3[e2][t4]) || void 0 === a2 ? void 0 : a2[1]) || 0;
        var u2 = n2.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(e2, "'] .apexcharts-series-markers path"));
        if (u2 && r3 < n2.globals.gridHeight && r3 > 0) {
          var g3 = u2.getAttribute("shape"), p3 = l2.getMarkerPath(s3, r3, g3, 1.5 * c2);
          u2.setAttribute("d", p3);
        }
        this.moveXCrosshairs(s3), o3.fixedTooltip || this.moveTooltip(s3, r3, c2);
      }
    } }, { key: "moveDynamicPointsOnHover", value: function(t4) {
      var e2, i2 = this.ttCtx, a2 = i2.w, s3 = 0, r3 = 0, n2 = a2.globals.pointsArray, o3 = new Zi(this.ctx), l2 = new Mi(this.ctx);
      e2 = o3.getActiveConfigSeriesIndex("asc", ["line", "area", "scatter", "bubble"]);
      var h3 = i2.tooltipUtil.getHoverMarkerSize(e2);
      if (n2[e2] && (s3 = n2[e2][t4][0], r3 = n2[e2][t4][1]), !isNaN(s3)) {
        var c2 = i2.tooltipUtil.getAllMarkers();
        if (c2.length) for (var d2 = 0; d2 < a2.globals.series.length; d2++) {
          var u2 = n2[d2];
          if (a2.globals.comboCharts && void 0 === u2 && c2.splice(d2, 0, null), u2 && u2.length) {
            var g3 = n2[d2][t4][1], p3 = void 0;
            c2[d2].setAttribute("cx", s3);
            var f2 = c2[d2].getAttribute("shape");
            if ("rangeArea" === a2.config.chart.type && !a2.globals.comboCharts) {
              var x3 = t4 + a2.globals.series[d2].length;
              p3 = n2[d2][x3][1], g3 -= Math.abs(g3 - p3) / 2;
            }
            if (null !== g3 && !isNaN(g3) && g3 < a2.globals.gridHeight + h3 && g3 + h3 > 0) {
              var b2 = l2.getMarkerPath(s3, g3, f2, h3);
              c2[d2].setAttribute("d", b2);
            } else c2[d2].setAttribute("d", "");
          }
        }
        this.moveXCrosshairs(s3), i2.fixedTooltip || this.moveTooltip(s3, r3 || a2.globals.gridHeight, h3);
      }
    } }, { key: "moveStickyTooltipOverBars", value: function(t4, e2) {
      var i2 = this.w, a2 = this.ttCtx, s3 = i2.globals.columnSeries ? i2.globals.columnSeries.length : i2.globals.series.length, r3 = s3 >= 2 && s3 % 2 == 0 ? Math.floor(s3 / 2) : Math.floor(s3 / 2) + 1;
      i2.globals.isBarHorizontal && (r3 = new Zi(this.ctx).getActiveConfigSeriesIndex("desc") + 1);
      var n2 = i2.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(r3, "'] path[j='").concat(t4, "'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(r3, "'] path[j='").concat(t4, "'], .apexcharts-boxPlot-series .apexcharts-series[rel='").concat(r3, "'] path[j='").concat(t4, "'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(r3, "'] path[j='").concat(t4, "']"));
      n2 || "number" != typeof e2 || (n2 = i2.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[data\\:realIndex='".concat(e2, "'] path[j='").concat(t4, "'],\n        .apexcharts-candlestick-series .apexcharts-series[data\\:realIndex='").concat(e2, "'] path[j='").concat(t4, "'],\n        .apexcharts-boxPlot-series .apexcharts-series[data\\:realIndex='").concat(e2, "'] path[j='").concat(t4, "'],\n        .apexcharts-rangebar-series .apexcharts-series[data\\:realIndex='").concat(e2, "'] path[j='").concat(t4, "']")));
      var o3 = n2 ? parseFloat(n2.getAttribute("cx")) : 0, l2 = n2 ? parseFloat(n2.getAttribute("cy")) : 0, h3 = n2 ? parseFloat(n2.getAttribute("barWidth")) : 0, c2 = a2.getElGrid().getBoundingClientRect(), d2 = n2 && (n2.classList.contains("apexcharts-candlestick-area") || n2.classList.contains("apexcharts-boxPlot-area"));
      i2.globals.isXNumeric ? (n2 && !d2 && (o3 -= s3 % 2 != 0 ? h3 / 2 : 0), n2 && d2 && (o3 -= h3 / 2)) : i2.globals.isBarHorizontal || (o3 = a2.xAxisTicksPositions[t4 - 1] + a2.dataPointsDividedWidth / 2, isNaN(o3) && (o3 = a2.xAxisTicksPositions[t4] - a2.dataPointsDividedWidth / 2)), i2.globals.isBarHorizontal ? l2 -= a2.tooltipRect.ttHeight : i2.config.tooltip.followCursor ? l2 = a2.e.clientY - c2.top - a2.tooltipRect.ttHeight / 2 : l2 + a2.tooltipRect.ttHeight + 15 > i2.globals.gridHeight && (l2 = i2.globals.gridHeight), i2.globals.isBarHorizontal || this.moveXCrosshairs(o3), a2.fixedTooltip || this.moveTooltip(o3, l2 || i2.globals.gridHeight);
    } }]), t3;
  }(), ka = function() {
    function t3(e2) {
      i(this, t3), this.w = e2.w, this.ttCtx = e2, this.ctx = e2.ctx, this.tooltipPosition = new wa2(e2);
    }
    return s2(t3, [{ key: "drawDynamicPoints", value: function() {
      var t4 = this.w, e2 = new Mi(this.ctx), i2 = new Vi(this.ctx), a2 = t4.globals.dom.baseEl.querySelectorAll(".apexcharts-series");
      a2 = f(a2), t4.config.chart.stacked && a2.sort(function(t5, e3) {
        return parseFloat(t5.getAttribute("data:realIndex")) - parseFloat(e3.getAttribute("data:realIndex"));
      });
      for (var s3 = 0; s3 < a2.length; s3++) {
        var r3 = a2[s3].querySelector(".apexcharts-series-markers-wrap");
        if (null !== r3) {
          var n2 = void 0, o3 = "apexcharts-marker w".concat((Math.random() + 1).toString(36).substring(4));
          "line" !== t4.config.chart.type && "area" !== t4.config.chart.type || t4.globals.comboCharts || t4.config.tooltip.intersect || (o3 += " no-pointer-events");
          var l2 = i2.getMarkerConfig({ cssClass: o3, seriesIndex: Number(r3.getAttribute("data:realIndex")) });
          (n2 = e2.drawMarker(0, 0, l2)).node.setAttribute("default-marker-size", 0);
          var h3 = document.createElementNS(t4.globals.SVGNS, "g");
          h3.classList.add("apexcharts-series-markers"), h3.appendChild(n2.node), r3.appendChild(h3);
        }
      }
    } }, { key: "enlargeCurrentPoint", value: function(t4, e2) {
      var i2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null, a2 = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : null, s3 = this.w;
      "bubble" !== s3.config.chart.type && this.newPointSize(t4, e2);
      var r3 = e2.getAttribute("cx"), n2 = e2.getAttribute("cy");
      if (null !== i2 && null !== a2 && (r3 = i2, n2 = a2), this.tooltipPosition.moveXCrosshairs(r3), !this.fixedTooltip) {
        if ("radar" === s3.config.chart.type) {
          var o3 = this.ttCtx.getElGrid().getBoundingClientRect();
          r3 = this.ttCtx.e.clientX - o3.left;
        }
        this.tooltipPosition.moveTooltip(r3, n2, s3.config.markers.hover.size);
      }
    } }, { key: "enlargePoints", value: function(t4) {
      for (var e2 = this.w, i2 = this, a2 = this.ttCtx, s3 = t4, r3 = e2.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"), n2 = e2.config.markers.hover.size, o3 = 0; o3 < r3.length; o3++) {
        var l2 = r3[o3].getAttribute("rel"), h3 = r3[o3].getAttribute("index");
        if (void 0 === n2 && (n2 = e2.globals.markers.size[h3] + e2.config.markers.hover.sizeOffset), s3 === parseInt(l2, 10)) {
          i2.newPointSize(s3, r3[o3]);
          var c2 = r3[o3].getAttribute("cx"), d2 = r3[o3].getAttribute("cy");
          i2.tooltipPosition.moveXCrosshairs(c2), a2.fixedTooltip || i2.tooltipPosition.moveTooltip(c2, d2, n2);
        } else i2.oldPointSize(r3[o3]);
      }
    } }, { key: "newPointSize", value: function(t4, e2) {
      var i2 = this.w, a2 = i2.config.markers.hover.size, s3 = 0 === t4 ? e2.parentNode.firstChild : e2.parentNode.lastChild;
      if ("0" !== s3.getAttribute("default-marker-size")) {
        var r3 = parseInt(s3.getAttribute("index"), 10);
        void 0 === a2 && (a2 = i2.globals.markers.size[r3] + i2.config.markers.hover.sizeOffset), a2 < 0 && (a2 = 0);
        var n2 = this.ttCtx.tooltipUtil.getPathFromPoint(e2, a2);
        e2.setAttribute("d", n2);
      }
    } }, { key: "oldPointSize", value: function(t4) {
      var e2 = parseFloat(t4.getAttribute("default-marker-size")), i2 = this.ttCtx.tooltipUtil.getPathFromPoint(t4, e2);
      t4.setAttribute("d", i2);
    } }, { key: "resetPointsSize", value: function() {
      for (var t4 = this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"), e2 = 0; e2 < t4.length; e2++) {
        var i2 = parseFloat(t4[e2].getAttribute("default-marker-size"));
        if (v.isNumber(i2) && i2 > 0) {
          var a2 = this.ttCtx.tooltipUtil.getPathFromPoint(t4[e2], i2);
          t4[e2].setAttribute("d", a2);
        } else t4[e2].setAttribute("d", "M0,0");
      }
    } }]), t3;
  }(), Aa = function() {
    function t3(e2) {
      i(this, t3), this.w = e2.w;
      var a2 = this.w;
      this.ttCtx = e2, this.isVerticalGroupedRangeBar = !a2.globals.isBarHorizontal && "rangeBar" === a2.config.chart.type && a2.config.plotOptions.bar.rangeBarGroupRows;
    }
    return s2(t3, [{ key: "getAttr", value: function(t4, e2) {
      return parseFloat(t4.target.getAttribute(e2));
    } }, { key: "handleHeatTreeTooltip", value: function(t4) {
      var e2 = t4.e, i2 = t4.opt, a2 = t4.x, s3 = t4.y, r3 = t4.type, n2 = this.ttCtx, o3 = this.w;
      if (e2.target.classList.contains("apexcharts-".concat(r3, "-rect"))) {
        var l2 = this.getAttr(e2, "i"), h3 = this.getAttr(e2, "j"), c2 = this.getAttr(e2, "cx"), d2 = this.getAttr(e2, "cy"), u2 = this.getAttr(e2, "width"), g3 = this.getAttr(e2, "height");
        if (n2.tooltipLabels.drawSeriesTexts({ ttItems: i2.ttItems, i: l2, j: h3, shared: false, e: e2 }), o3.globals.capturedSeriesIndex = l2, o3.globals.capturedDataPointIndex = h3, a2 = c2 + n2.tooltipRect.ttWidth / 2 + u2, s3 = d2 + n2.tooltipRect.ttHeight / 2 - g3 / 2, n2.tooltipPosition.moveXCrosshairs(c2 + u2 / 2), a2 > o3.globals.gridWidth / 2 && (a2 = c2 - n2.tooltipRect.ttWidth / 2 + u2), n2.w.config.tooltip.followCursor) {
          var p3 = o3.globals.dom.elWrap.getBoundingClientRect();
          a2 = o3.globals.clientX - p3.left - (a2 > o3.globals.gridWidth / 2 ? n2.tooltipRect.ttWidth : 0), s3 = o3.globals.clientY - p3.top - (s3 > o3.globals.gridHeight / 2 ? n2.tooltipRect.ttHeight : 0);
        }
      }
      return { x: a2, y: s3 };
    } }, { key: "handleMarkerTooltip", value: function(t4) {
      var e2, i2, a2 = t4.e, s3 = t4.opt, r3 = t4.x, n2 = t4.y, o3 = this.w, l2 = this.ttCtx;
      if (a2.target.classList.contains("apexcharts-marker")) {
        var h3 = parseInt(s3.paths.getAttribute("cx"), 10), c2 = parseInt(s3.paths.getAttribute("cy"), 10), d2 = parseFloat(s3.paths.getAttribute("val"));
        if (i2 = parseInt(s3.paths.getAttribute("rel"), 10), e2 = parseInt(s3.paths.parentNode.parentNode.parentNode.getAttribute("rel"), 10) - 1, l2.intersect) {
          var u2 = v.findAncestor(s3.paths, "apexcharts-series");
          u2 && (e2 = parseInt(u2.getAttribute("data:realIndex"), 10));
        }
        if (l2.tooltipLabels.drawSeriesTexts({ ttItems: s3.ttItems, i: e2, j: i2, shared: !l2.showOnIntersect && o3.config.tooltip.shared, e: a2 }), "mouseup" === a2.type && l2.markerClick(a2, e2, i2), o3.globals.capturedSeriesIndex = e2, o3.globals.capturedDataPointIndex = i2, r3 = h3, n2 = c2 + o3.globals.translateY - 1.4 * l2.tooltipRect.ttHeight, l2.w.config.tooltip.followCursor) {
          var g3 = l2.getElGrid().getBoundingClientRect();
          n2 = l2.e.clientY + o3.globals.translateY - g3.top;
        }
        d2 < 0 && (n2 = c2), l2.marker.enlargeCurrentPoint(i2, s3.paths, r3, n2);
      }
      return { x: r3, y: n2 };
    } }, { key: "handleBarTooltip", value: function(t4) {
      var e2, i2, a2 = t4.e, s3 = t4.opt, r3 = this.w, n2 = this.ttCtx, o3 = n2.getElTooltip(), l2 = 0, h3 = 0, c2 = 0, d2 = this.getBarTooltipXY({ e: a2, opt: s3 });
      if (null !== d2.j || 0 !== d2.barHeight || 0 !== d2.barWidth) {
        e2 = d2.i;
        var u2 = d2.j;
        if (r3.globals.capturedSeriesIndex = e2, r3.globals.capturedDataPointIndex = u2, r3.globals.isBarHorizontal && n2.tooltipUtil.hasBars() || !r3.config.tooltip.shared ? (h3 = d2.x, c2 = d2.y, i2 = Array.isArray(r3.config.stroke.width) ? r3.config.stroke.width[e2] : r3.config.stroke.width, l2 = h3) : r3.globals.comboCharts || r3.config.tooltip.shared || (l2 /= 2), isNaN(c2) && (c2 = r3.globals.svgHeight - n2.tooltipRect.ttHeight), parseInt(s3.paths.parentNode.getAttribute("data:realIndex"), 10), h3 + n2.tooltipRect.ttWidth > r3.globals.gridWidth ? h3 -= n2.tooltipRect.ttWidth : h3 < 0 && (h3 = 0), n2.w.config.tooltip.followCursor) {
          var g3 = n2.getElGrid().getBoundingClientRect();
          c2 = n2.e.clientY - g3.top;
        }
        null === n2.tooltip && (n2.tooltip = r3.globals.dom.baseEl.querySelector(".apexcharts-tooltip")), r3.config.tooltip.shared || (r3.globals.comboBarCount > 0 ? n2.tooltipPosition.moveXCrosshairs(l2 + i2 / 2) : n2.tooltipPosition.moveXCrosshairs(l2)), !n2.fixedTooltip && (!r3.config.tooltip.shared || r3.globals.isBarHorizontal && n2.tooltipUtil.hasBars()) && (c2 = c2 + r3.globals.translateY - n2.tooltipRect.ttHeight / 2, o3.style.left = h3 + r3.globals.translateX + "px", o3.style.top = c2 + "px");
      }
    } }, { key: "getBarTooltipXY", value: function(t4) {
      var e2 = this, i2 = t4.e, a2 = t4.opt, s3 = this.w, r3 = null, n2 = this.ttCtx, o3 = 0, l2 = 0, h3 = 0, c2 = 0, d2 = 0, u2 = i2.target.classList;
      if (u2.contains("apexcharts-bar-area") || u2.contains("apexcharts-candlestick-area") || u2.contains("apexcharts-boxPlot-area") || u2.contains("apexcharts-rangebar-area")) {
        var g3 = i2.target, p3 = g3.getBoundingClientRect(), f2 = a2.elGrid.getBoundingClientRect(), x3 = p3.height;
        d2 = p3.height;
        var b2 = p3.width, m3 = parseInt(g3.getAttribute("cx"), 10), v2 = parseInt(g3.getAttribute("cy"), 10);
        c2 = parseFloat(g3.getAttribute("barWidth"));
        var y2 = "touchmove" === i2.type ? i2.touches[0].clientX : i2.clientX;
        r3 = parseInt(g3.getAttribute("j"), 10), o3 = parseInt(g3.parentNode.getAttribute("rel"), 10) - 1;
        var w3 = g3.getAttribute("data-range-y1"), k2 = g3.getAttribute("data-range-y2");
        s3.globals.comboCharts && (o3 = parseInt(g3.parentNode.getAttribute("data:realIndex"), 10));
        var A3 = function(t5) {
          return s3.globals.isXNumeric ? m3 - b2 / 2 : e2.isVerticalGroupedRangeBar ? m3 + b2 / 2 : m3 - n2.dataPointsDividedWidth + b2 / 2;
        }, C2 = function() {
          return v2 - n2.dataPointsDividedHeight + x3 / 2 - n2.tooltipRect.ttHeight / 2;
        };
        n2.tooltipLabels.drawSeriesTexts({ ttItems: a2.ttItems, i: o3, j: r3, y1: w3 ? parseInt(w3, 10) : null, y2: k2 ? parseInt(k2, 10) : null, shared: !n2.showOnIntersect && s3.config.tooltip.shared, e: i2 }), s3.config.tooltip.followCursor ? s3.globals.isBarHorizontal ? (l2 = y2 - f2.left + 15, h3 = C2()) : (l2 = A3(), h3 = i2.clientY - f2.top - n2.tooltipRect.ttHeight / 2 - 15) : s3.globals.isBarHorizontal ? ((l2 = m3) < n2.xyRatios.baseLineInvertedY && (l2 = m3 - n2.tooltipRect.ttWidth), h3 = C2()) : (l2 = A3(), h3 = v2);
      }
      return { x: l2, y: h3, barHeight: d2, barWidth: c2, i: o3, j: r3 };
    } }]), t3;
  }(), Ca = function() {
    function t3(e2) {
      i(this, t3), this.w = e2.w, this.ttCtx = e2;
    }
    return s2(t3, [{ key: "drawXaxisTooltip", value: function() {
      var t4 = this.w, e2 = this.ttCtx, i2 = "bottom" === t4.config.xaxis.position;
      e2.xaxisOffY = i2 ? t4.globals.gridHeight + 1 : -t4.globals.xAxisHeight - t4.config.xaxis.axisTicks.height + 3;
      var a2 = i2 ? "apexcharts-xaxistooltip apexcharts-xaxistooltip-bottom" : "apexcharts-xaxistooltip apexcharts-xaxistooltip-top", s3 = t4.globals.dom.elWrap;
      e2.isXAxisTooltipEnabled && (null === t4.globals.dom.baseEl.querySelector(".apexcharts-xaxistooltip") && (e2.xaxisTooltip = document.createElement("div"), e2.xaxisTooltip.setAttribute("class", a2 + " apexcharts-theme-" + t4.config.tooltip.theme), s3.appendChild(e2.xaxisTooltip), e2.xaxisTooltipText = document.createElement("div"), e2.xaxisTooltipText.classList.add("apexcharts-xaxistooltip-text"), e2.xaxisTooltipText.style.fontFamily = t4.config.xaxis.tooltip.style.fontFamily || t4.config.chart.fontFamily, e2.xaxisTooltipText.style.fontSize = t4.config.xaxis.tooltip.style.fontSize, e2.xaxisTooltip.appendChild(e2.xaxisTooltipText)));
    } }, { key: "drawYaxisTooltip", value: function() {
      for (var t4 = this.w, e2 = this.ttCtx, i2 = 0; i2 < t4.config.yaxis.length; i2++) {
        var a2 = t4.config.yaxis[i2].opposite || t4.config.yaxis[i2].crosshairs.opposite;
        e2.yaxisOffX = a2 ? t4.globals.gridWidth + 1 : 1;
        var s3 = "apexcharts-yaxistooltip apexcharts-yaxistooltip-".concat(i2, a2 ? " apexcharts-yaxistooltip-right" : " apexcharts-yaxistooltip-left"), r3 = t4.globals.dom.elWrap;
        null === t4.globals.dom.baseEl.querySelector(".apexcharts-yaxistooltip apexcharts-yaxistooltip-".concat(i2)) && (e2.yaxisTooltip = document.createElement("div"), e2.yaxisTooltip.setAttribute("class", s3 + " apexcharts-theme-" + t4.config.tooltip.theme), r3.appendChild(e2.yaxisTooltip), 0 === i2 && (e2.yaxisTooltipText = []), e2.yaxisTooltipText[i2] = document.createElement("div"), e2.yaxisTooltipText[i2].classList.add("apexcharts-yaxistooltip-text"), e2.yaxisTooltip.appendChild(e2.yaxisTooltipText[i2]));
      }
    } }, { key: "setXCrosshairWidth", value: function() {
      var t4 = this.w, e2 = this.ttCtx, i2 = e2.getElXCrosshairs();
      if (e2.xcrosshairsWidth = parseInt(t4.config.xaxis.crosshairs.width, 10), t4.globals.comboCharts) {
        var a2 = t4.globals.dom.baseEl.querySelector(".apexcharts-bar-area");
        if (null !== a2 && "barWidth" === t4.config.xaxis.crosshairs.width) {
          var s3 = parseFloat(a2.getAttribute("barWidth"));
          e2.xcrosshairsWidth = s3;
        } else if ("tickWidth" === t4.config.xaxis.crosshairs.width) {
          var r3 = t4.globals.labels.length;
          e2.xcrosshairsWidth = t4.globals.gridWidth / r3;
        }
      } else if ("tickWidth" === t4.config.xaxis.crosshairs.width) {
        var n2 = t4.globals.labels.length;
        e2.xcrosshairsWidth = t4.globals.gridWidth / n2;
      } else if ("barWidth" === t4.config.xaxis.crosshairs.width) {
        var o3 = t4.globals.dom.baseEl.querySelector(".apexcharts-bar-area");
        if (null !== o3) {
          var l2 = parseFloat(o3.getAttribute("barWidth"));
          e2.xcrosshairsWidth = l2;
        } else e2.xcrosshairsWidth = 1;
      }
      t4.globals.isBarHorizontal && (e2.xcrosshairsWidth = 0), null !== i2 && e2.xcrosshairsWidth > 0 && i2.setAttribute("width", e2.xcrosshairsWidth);
    } }, { key: "handleYCrosshair", value: function() {
      var t4 = this.w, e2 = this.ttCtx;
      e2.ycrosshairs = t4.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs"), e2.ycrosshairsHidden = t4.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden");
    } }, { key: "drawYaxisTooltipText", value: function(t4, e2, i2) {
      var a2 = this.ttCtx, s3 = this.w, r3 = s3.globals, n2 = r3.seriesYAxisMap[t4];
      if (a2.yaxisTooltips[t4] && n2.length > 0) {
        var o3 = r3.yLabelFormatters[t4], l2 = a2.getElGrid().getBoundingClientRect(), h3 = n2[0], c2 = 0;
        i2.yRatio.length > 1 && (c2 = h3);
        var d2 = (e2 - l2.top) * i2.yRatio[c2], u2 = r3.maxYArr[h3] - r3.minYArr[h3], g3 = r3.minYArr[h3] + (u2 - d2);
        s3.config.yaxis[t4].reversed && (g3 = r3.maxYArr[h3] - (u2 - d2)), a2.tooltipPosition.moveYCrosshairs(e2 - l2.top), a2.yaxisTooltipText[t4].innerHTML = o3(g3), a2.tooltipPosition.moveYAxisTooltip(t4);
      }
    } }]), t3;
  }(), Sa = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
      var a2 = this.w;
      this.tConfig = a2.config.tooltip, this.tooltipUtil = new va(this), this.tooltipLabels = new ya(this), this.tooltipPosition = new wa2(this), this.marker = new ka(this), this.intersect = new Aa(this), this.axesTooltip = new Ca(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 = !a2.globals.isBarHorizontal && this.tConfig.shared, this.lastHoverTime = Date.now();
    }
    return s2(t3, [{ key: "getElTooltip", value: function(t4) {
      return t4 || (t4 = this), t4.w.globals.dom.baseEl ? t4.w.globals.dom.baseEl.querySelector(".apexcharts-tooltip") : null;
    } }, { key: "getElXCrosshairs", value: function() {
      return this.w.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs");
    } }, { key: "getElGrid", value: function() {
      return this.w.globals.dom.baseEl.querySelector(".apexcharts-grid");
    } }, { key: "drawTooltip", value: function(t4) {
      var e2 = this.w;
      this.xyRatios = t4, this.isXAxisTooltipEnabled = e2.config.xaxis.tooltip.enabled && e2.globals.axisCharts, this.yaxisTooltips = e2.config.yaxis.map(function(t5, i3) {
        return !!(t5.show && t5.tooltip.enabled && e2.globals.axisCharts);
      }), this.allTooltipSeriesGroups = [], e2.globals.axisCharts || (this.showTooltipTitle = false);
      var i2 = document.createElement("div");
      if (i2.classList.add("apexcharts-tooltip"), e2.config.tooltip.cssClass && i2.classList.add(e2.config.tooltip.cssClass), i2.classList.add("apexcharts-theme-".concat(this.tConfig.theme)), e2.globals.dom.elWrap.appendChild(i2), e2.globals.axisCharts) {
        this.axesTooltip.drawXaxisTooltip(), this.axesTooltip.drawYaxisTooltip(), this.axesTooltip.setXCrosshairWidth(), this.axesTooltip.handleYCrosshair();
        var a2 = new Qi(this.ctx);
        this.xAxisTicksPositions = a2.getXAxisTicksPositions();
      }
      if (!e2.globals.comboCharts && !this.tConfig.intersect && "rangeBar" !== e2.config.chart.type || this.tConfig.shared || (this.showOnIntersect = true), 0 !== e2.config.markers.size && 0 !== e2.globals.markers.largestSize || this.marker.drawDynamicPoints(this), e2.globals.collapsedSeries.length !== e2.globals.series.length) {
        this.dataPointsDividedHeight = e2.globals.gridHeight / e2.globals.dataPoints, this.dataPointsDividedWidth = e2.globals.gridWidth / e2.globals.dataPoints, this.showTooltipTitle && (this.tooltipTitle = document.createElement("div"), this.tooltipTitle.classList.add("apexcharts-tooltip-title"), this.tooltipTitle.style.fontFamily = this.tConfig.style.fontFamily || e2.config.chart.fontFamily, this.tooltipTitle.style.fontSize = this.tConfig.style.fontSize, i2.appendChild(this.tooltipTitle));
        var s3 = e2.globals.series.length;
        (e2.globals.xyCharts || e2.globals.comboCharts) && this.tConfig.shared && (s3 = this.showOnIntersect ? 1 : e2.globals.series.length), this.legendLabels = e2.globals.dom.baseEl.querySelectorAll(".apexcharts-legend-text"), this.ttItems = this.createTTElements(s3), this.addSVGEvents();
      }
    } }, { key: "createTTElements", value: function(t4) {
      for (var e2 = this, i2 = this.w, a2 = [], s3 = this.getElTooltip(), r3 = function(r4) {
        var n3 = document.createElement("div");
        n3.classList.add("apexcharts-tooltip-series-group", "apexcharts-tooltip-series-group-".concat(r4)), n3.style.order = i2.config.tooltip.inverseOrder ? t4 - r4 : r4 + 1;
        var o3 = document.createElement("span");
        o3.classList.add("apexcharts-tooltip-marker"), o3.style.backgroundColor = i2.globals.colors[r4], n3.appendChild(o3);
        var l2 = document.createElement("div");
        l2.classList.add("apexcharts-tooltip-text"), l2.style.fontFamily = e2.tConfig.style.fontFamily || i2.config.chart.fontFamily, l2.style.fontSize = e2.tConfig.style.fontSize, ["y", "goals", "z"].forEach(function(t5) {
          var e3 = document.createElement("div");
          e3.classList.add("apexcharts-tooltip-".concat(t5, "-group"));
          var i3 = document.createElement("span");
          i3.classList.add("apexcharts-tooltip-text-".concat(t5, "-label")), e3.appendChild(i3);
          var a3 = document.createElement("span");
          a3.classList.add("apexcharts-tooltip-text-".concat(t5, "-value")), e3.appendChild(a3), l2.appendChild(e3);
        }), n3.appendChild(l2), s3.appendChild(n3), a2.push(n3);
      }, n2 = 0; n2 < t4; n2++) r3(n2);
      return a2;
    } }, { key: "addSVGEvents", value: function() {
      var t4 = this.w, e2 = t4.config.chart.type, i2 = this.getElTooltip(), a2 = !("bar" !== e2 && "candlestick" !== e2 && "boxPlot" !== e2 && "rangeBar" !== e2), s3 = "area" === e2 || "line" === e2 || "scatter" === e2 || "bubble" === e2 || "radar" === e2, r3 = t4.globals.dom.Paper.node, n2 = this.getElGrid();
      n2 && (this.seriesBound = n2.getBoundingClientRect());
      var o3, l2 = [], h3 = [], c2 = { hoverArea: r3, elGrid: n2, tooltipEl: i2, tooltipY: l2, tooltipX: h3, ttItems: this.ttItems };
      if (t4.globals.axisCharts && (s3 ? o3 = t4.globals.dom.baseEl.querySelectorAll(".apexcharts-series[data\\:longestSeries='true'] .apexcharts-marker") : a2 ? o3 = t4.globals.dom.baseEl.querySelectorAll(".apexcharts-series .apexcharts-bar-area, .apexcharts-series .apexcharts-candlestick-area, .apexcharts-series .apexcharts-boxPlot-area, .apexcharts-series .apexcharts-rangebar-area") : "heatmap" !== e2 && "treemap" !== e2 || (o3 = t4.globals.dom.baseEl.querySelectorAll(".apexcharts-series .apexcharts-heatmap, .apexcharts-series .apexcharts-treemap")), o3 && o3.length)) for (var d2 = 0; d2 < o3.length; d2++) l2.push(o3[d2].getAttribute("cy")), h3.push(o3[d2].getAttribute("cx"));
      if (t4.globals.xyCharts && !this.showOnIntersect || t4.globals.comboCharts && !this.showOnIntersect || a2 && this.tooltipUtil.hasBars() && this.tConfig.shared) this.addPathsEventListeners([r3], c2);
      else if (a2 && !t4.globals.comboCharts || s3 && this.showOnIntersect) this.addDatapointEventsListeners(c2);
      else if (!t4.globals.axisCharts || "heatmap" === e2 || "treemap" === e2) {
        var u2 = t4.globals.dom.baseEl.querySelectorAll(".apexcharts-series");
        this.addPathsEventListeners(u2, c2);
      }
      if (this.showOnIntersect) {
        var g3 = t4.globals.dom.baseEl.querySelectorAll(".apexcharts-line-series .apexcharts-marker, .apexcharts-area-series .apexcharts-marker");
        g3.length > 0 && this.addPathsEventListeners(g3, c2), this.tooltipUtil.hasBars() && !this.tConfig.shared && this.addDatapointEventsListeners(c2);
      }
    } }, { key: "drawFixedTooltipRect", value: function() {
      var t4 = this.w, e2 = this.getElTooltip(), i2 = e2.getBoundingClientRect(), a2 = i2.width + 10, s3 = i2.height + 10, r3 = this.tConfig.fixed.offsetX, n2 = this.tConfig.fixed.offsetY, o3 = this.tConfig.fixed.position.toLowerCase();
      return o3.indexOf("right") > -1 && (r3 = r3 + t4.globals.svgWidth - a2 + 10), o3.indexOf("bottom") > -1 && (n2 = n2 + t4.globals.svgHeight - s3 - 10), e2.style.left = r3 + "px", e2.style.top = n2 + "px", { x: r3, y: n2, ttWidth: a2, ttHeight: s3 };
    } }, { key: "addDatapointEventsListeners", value: function(t4) {
      var e2 = this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area");
      this.addPathsEventListeners(e2, t4);
    } }, { key: "addPathsEventListeners", value: function(t4, e2) {
      for (var i2 = this, a2 = function(a3) {
        var s4 = { paths: t4[a3], tooltipEl: e2.tooltipEl, tooltipY: e2.tooltipY, tooltipX: e2.tooltipX, elGrid: e2.elGrid, hoverArea: e2.hoverArea, ttItems: e2.ttItems };
        ["mousemove", "mouseup", "touchmove", "mouseout", "touchend"].map(function(e3) {
          return t4[a3].addEventListener(e3, i2.onSeriesHover.bind(i2, s4), { capture: false, passive: true });
        });
      }, s3 = 0; s3 < t4.length; s3++) a2(s3);
    } }, { key: "onSeriesHover", value: function(t4, e2) {
      var i2 = this, a2 = Date.now() - this.lastHoverTime;
      a2 >= 20 ? this.seriesHover(t4, e2) : (clearTimeout(this.seriesHoverTimeout), this.seriesHoverTimeout = setTimeout(function() {
        i2.seriesHover(t4, e2);
      }, 20 - a2));
    } }, { key: "seriesHover", value: function(t4, e2) {
      var i2 = this;
      this.lastHoverTime = Date.now();
      var a2 = [], s3 = this.w;
      s3.config.chart.group && (a2 = this.ctx.getGroupedCharts()), s3.globals.axisCharts && (s3.globals.minX === -1 / 0 && s3.globals.maxX === 1 / 0 || 0 === s3.globals.dataPoints) || (a2.length ? a2.forEach(function(a3) {
        var s4 = i2.getElTooltip(a3), r3 = { paths: t4.paths, tooltipEl: s4, tooltipY: t4.tooltipY, tooltipX: t4.tooltipX, elGrid: t4.elGrid, hoverArea: t4.hoverArea, ttItems: a3.w.globals.tooltip.ttItems };
        a3.w.globals.minX === i2.w.globals.minX && a3.w.globals.maxX === i2.w.globals.maxX && a3.w.globals.tooltip.seriesHoverByContext({ chartCtx: a3, ttCtx: a3.w.globals.tooltip, opt: r3, e: e2 });
      }) : this.seriesHoverByContext({ chartCtx: this.ctx, ttCtx: this.w.globals.tooltip, opt: t4, e: e2 }));
    } }, { key: "seriesHoverByContext", value: function(t4) {
      var e2 = t4.chartCtx, i2 = t4.ttCtx, a2 = t4.opt, s3 = t4.e, r3 = e2.w, n2 = this.getElTooltip(e2);
      if (n2) {
        if (i2.tooltipRect = { x: 0, y: 0, ttWidth: n2.getBoundingClientRect().width, ttHeight: n2.getBoundingClientRect().height }, i2.e = s3, i2.tooltipUtil.hasBars() && !r3.globals.comboCharts && !i2.isBarShared) {
          if (this.tConfig.onDatasetHover.highlightDataSeries) new Zi(e2).toggleSeriesOnHover(s3, s3.target.parentNode);
        }
        i2.fixedTooltip && i2.drawFixedTooltipRect(), r3.globals.axisCharts ? i2.axisChartsTooltips({ e: s3, opt: a2, tooltipRect: i2.tooltipRect }) : i2.nonAxisChartsTooltips({ e: s3, opt: a2, tooltipRect: i2.tooltipRect });
      }
    } }, { key: "axisChartsTooltips", value: function(t4) {
      var e2, i2, a2 = t4.e, s3 = t4.opt, r3 = this.w, n2 = s3.elGrid.getBoundingClientRect(), o3 = "touchmove" === a2.type ? a2.touches[0].clientX : a2.clientX, l2 = "touchmove" === a2.type ? a2.touches[0].clientY : a2.clientY;
      if (this.clientY = l2, this.clientX = o3, r3.globals.capturedSeriesIndex = -1, r3.globals.capturedDataPointIndex = -1, l2 < n2.top || l2 > n2.top + n2.height) this.handleMouseOut(s3);
      else {
        if (Array.isArray(this.tConfig.enabledOnSeries) && !r3.config.tooltip.shared) {
          var h3 = parseInt(s3.paths.getAttribute("index"), 10);
          if (this.tConfig.enabledOnSeries.indexOf(h3) < 0) return void this.handleMouseOut(s3);
        }
        var c2 = this.getElTooltip(), d2 = this.getElXCrosshairs(), u2 = [];
        r3.config.chart.group && (u2 = this.ctx.getSyncedCharts());
        var g3 = r3.globals.xyCharts || "bar" === r3.config.chart.type && !r3.globals.isBarHorizontal && this.tooltipUtil.hasBars() && this.tConfig.shared || r3.globals.comboCharts && this.tooltipUtil.hasBars();
        if ("mousemove" === a2.type || "touchmove" === a2.type || "mouseup" === a2.type) {
          if (r3.globals.collapsedSeries.length + r3.globals.ancillaryCollapsedSeries.length === r3.globals.series.length) return;
          null !== d2 && d2.classList.add("apexcharts-active");
          var p3 = this.yaxisTooltips.filter(function(t5) {
            return true === t5;
          });
          if (null !== this.ycrosshairs && p3.length && this.ycrosshairs.classList.add("apexcharts-active"), g3 && !this.showOnIntersect || u2.length > 1) this.handleStickyTooltip(a2, o3, l2, s3);
          else if ("heatmap" === r3.config.chart.type || "treemap" === r3.config.chart.type) {
            var f2 = this.intersect.handleHeatTreeTooltip({ e: a2, opt: s3, x: e2, y: i2, type: r3.config.chart.type });
            e2 = f2.x, i2 = f2.y, c2.style.left = e2 + "px", c2.style.top = i2 + "px";
          } else this.tooltipUtil.hasBars() && this.intersect.handleBarTooltip({ e: a2, opt: s3 }), this.tooltipUtil.hasMarkers() && this.intersect.handleMarkerTooltip({ e: a2, opt: s3, x: e2, y: i2 });
          if (this.yaxisTooltips.length) for (var x3 = 0; x3 < r3.config.yaxis.length; x3++) this.axesTooltip.drawYaxisTooltipText(x3, l2, this.xyRatios);
          r3.globals.dom.baseEl.classList.add("apexcharts-tooltip-active"), s3.tooltipEl.classList.add("apexcharts-active");
        } else "mouseout" !== a2.type && "touchend" !== a2.type || this.handleMouseOut(s3);
      }
    } }, { key: "nonAxisChartsTooltips", value: function(t4) {
      var e2 = t4.e, i2 = t4.opt, a2 = t4.tooltipRect, s3 = this.w, r3 = i2.paths.getAttribute("rel"), n2 = this.getElTooltip(), o3 = s3.globals.dom.elWrap.getBoundingClientRect();
      if ("mousemove" === e2.type || "touchmove" === e2.type) {
        s3.globals.dom.baseEl.classList.add("apexcharts-tooltip-active"), n2.classList.add("apexcharts-active"), this.tooltipLabels.drawSeriesTexts({ ttItems: i2.ttItems, i: parseInt(r3, 10) - 1, shared: false });
        var l2 = s3.globals.clientX - o3.left - a2.ttWidth / 2, h3 = s3.globals.clientY - o3.top - a2.ttHeight - 10;
        if (n2.style.left = l2 + "px", n2.style.top = h3 + "px", s3.config.legend.tooltipHoverFormatter) {
          var c2 = r3 - 1, d2 = (0, s3.config.legend.tooltipHoverFormatter)(this.legendLabels[c2].getAttribute("data:default-text"), { seriesIndex: c2, dataPointIndex: c2, w: s3 });
          this.legendLabels[c2].innerHTML = d2;
        }
      } else "mouseout" !== e2.type && "touchend" !== e2.type || (n2.classList.remove("apexcharts-active"), s3.globals.dom.baseEl.classList.remove("apexcharts-tooltip-active"), s3.config.legend.tooltipHoverFormatter && this.legendLabels.forEach(function(t5) {
        var e3 = t5.getAttribute("data:default-text");
        t5.innerHTML = decodeURIComponent(e3);
      }));
    } }, { key: "handleStickyTooltip", value: function(t4, e2, i2, a2) {
      var s3 = this.w, r3 = this.tooltipUtil.getNearestValues({ context: this, hoverArea: a2.hoverArea, elGrid: a2.elGrid, clientX: e2, clientY: i2 }), n2 = r3.j, o3 = r3.capturedSeries;
      s3.globals.collapsedSeriesIndices.includes(o3) && (o3 = null);
      var l2 = a2.elGrid.getBoundingClientRect();
      if (r3.hoverX < 0 || r3.hoverX > l2.width) this.handleMouseOut(a2);
      else if (null !== o3) this.handleStickyCapturedSeries(t4, o3, a2, n2);
      else if (this.tooltipUtil.isXoverlap(n2) || s3.globals.isBarHorizontal) {
        var h3 = s3.globals.series.findIndex(function(t5, e3) {
          return !s3.globals.collapsedSeriesIndices.includes(e3);
        });
        this.create(t4, this, h3, n2, a2.ttItems);
      }
    } }, { key: "handleStickyCapturedSeries", value: function(t4, e2, i2, a2) {
      var s3 = this.w;
      if (!this.tConfig.shared && null === s3.globals.series[e2][a2]) return void this.handleMouseOut(i2);
      if (void 0 !== s3.globals.series[e2][a2]) this.tConfig.shared && this.tooltipUtil.isXoverlap(a2) && this.tooltipUtil.isInitialSeriesSameLen() ? this.create(t4, this, e2, a2, i2.ttItems) : this.create(t4, this, e2, a2, i2.ttItems, false);
      else if (this.tooltipUtil.isXoverlap(a2)) {
        var r3 = s3.globals.series.findIndex(function(t5, e3) {
          return !s3.globals.collapsedSeriesIndices.includes(e3);
        });
        this.create(t4, this, r3, a2, i2.ttItems);
      }
    } }, { key: "deactivateHoverFilter", value: function() {
      for (var t4 = this.w, e2 = new Mi(this.ctx), i2 = t4.globals.dom.Paper.find(".apexcharts-bar-area"), a2 = 0; a2 < i2.length; a2++) e2.pathMouseLeave(i2[a2]);
    } }, { key: "handleMouseOut", value: function(t4) {
      var e2 = this.w, i2 = this.getElXCrosshairs();
      if (e2.globals.dom.baseEl.classList.remove("apexcharts-tooltip-active"), t4.tooltipEl.classList.remove("apexcharts-active"), this.deactivateHoverFilter(), "bubble" !== e2.config.chart.type && this.marker.resetPointsSize(), null !== i2 && i2.classList.remove("apexcharts-active"), null !== this.ycrosshairs && this.ycrosshairs.classList.remove("apexcharts-active"), this.isXAxisTooltipEnabled && this.xaxisTooltip.classList.remove("apexcharts-active"), this.yaxisTooltips.length) {
        null === this.yaxisTTEls && (this.yaxisTTEls = e2.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));
        for (var a2 = 0; a2 < this.yaxisTTEls.length; a2++) this.yaxisTTEls[a2].classList.remove("apexcharts-active");
      }
      e2.config.legend.tooltipHoverFormatter && this.legendLabels.forEach(function(t5) {
        var e3 = t5.getAttribute("data:default-text");
        t5.innerHTML = decodeURIComponent(e3);
      });
    } }, { key: "markerClick", value: function(t4, e2, i2) {
      var a2 = this.w;
      "function" == typeof a2.config.chart.events.markerClick && a2.config.chart.events.markerClick(t4, this.ctx, { seriesIndex: e2, dataPointIndex: i2, w: a2 }), this.ctx.events.fireEvent("markerClick", [t4, this.ctx, { seriesIndex: e2, dataPointIndex: i2, w: a2 }]);
    } }, { key: "create", value: function(t4, e2, i2, a2, s3) {
      var r3, n2, o3, l2, h3, c2, d2, g3, p3, f2, x3, b2, m3, v2, y2, w3, k2 = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : null, A3 = this.w, C2 = e2;
      "mouseup" === t4.type && this.markerClick(t4, i2, a2), null === k2 && (k2 = this.tConfig.shared);
      var S3 = this.tooltipUtil.hasMarkers(i2), L3 = this.tooltipUtil.getElBars(), M2 = function() {
        A3.globals.markers.largestSize > 0 ? C2.marker.enlargePoints(a2) : C2.tooltipPosition.moveDynamicPointsOnHover(a2);
      };
      if (A3.config.legend.tooltipHoverFormatter) {
        var P3 = A3.config.legend.tooltipHoverFormatter, I2 = Array.from(this.legendLabels);
        I2.forEach(function(t5) {
          var e3 = t5.getAttribute("data:default-text");
          t5.innerHTML = decodeURIComponent(e3);
        });
        for (var T2 = 0; T2 < I2.length; T2++) {
          var z2 = I2[T2], X2 = parseInt(z2.getAttribute("i"), 10), R2 = decodeURIComponent(z2.getAttribute("data:default-text")), E2 = P3(R2, { seriesIndex: k2 ? X2 : i2, dataPointIndex: a2, w: A3 });
          if (k2) z2.innerHTML = A3.globals.collapsedSeriesIndices.indexOf(X2) < 0 ? E2 : R2;
          else if (z2.innerHTML = X2 === i2 ? E2 : R2, i2 === X2) break;
        }
      }
      var Y2 = u(u({ ttItems: s3, i: i2, j: a2 }, void 0 !== (null === (r3 = A3.globals.seriesRange) || void 0 === r3 || null === (n2 = r3[i2]) || void 0 === n2 || null === (o3 = n2[a2]) || void 0 === o3 || null === (l2 = o3.y[0]) || void 0 === l2 ? void 0 : l2.y1) && { y1: null === (h3 = A3.globals.seriesRange) || void 0 === h3 || null === (c2 = h3[i2]) || void 0 === c2 || null === (d2 = c2[a2]) || void 0 === d2 || null === (g3 = d2.y[0]) || void 0 === g3 ? void 0 : g3.y1 }), void 0 !== (null === (p3 = A3.globals.seriesRange) || void 0 === p3 || null === (f2 = p3[i2]) || void 0 === f2 || null === (x3 = f2[a2]) || void 0 === x3 || null === (b2 = x3.y[0]) || void 0 === b2 ? void 0 : b2.y2) && { y2: null === (m3 = A3.globals.seriesRange) || void 0 === m3 || null === (v2 = m3[i2]) || void 0 === v2 || null === (y2 = v2[a2]) || void 0 === y2 || null === (w3 = y2.y[0]) || void 0 === w3 ? void 0 : w3.y2 });
      if (k2) {
        if (C2.tooltipLabels.drawSeriesTexts(u(u({}, Y2), {}, { shared: !this.showOnIntersect && this.tConfig.shared })), S3) M2();
        else if (this.tooltipUtil.hasBars() && (this.barSeriesHeight = this.tooltipUtil.getBarsHeight(L3), this.barSeriesHeight > 0)) {
          var H2 = new Mi(this.ctx), O2 = A3.globals.dom.Paper.find(".apexcharts-bar-area[j='".concat(a2, "']"));
          this.deactivateHoverFilter(), C2.tooltipPosition.moveStickyTooltipOverBars(a2, i2), C2.tooltipUtil.getAllMarkers(true).length && M2();
          for (var F2 = 0; F2 < O2.length; F2++) H2.pathMouseEnter(O2[F2]);
        }
      } else C2.tooltipLabels.drawSeriesTexts(u({ shared: false }, Y2)), this.tooltipUtil.hasBars() && C2.tooltipPosition.moveStickyTooltipOverBars(a2, i2), S3 && C2.tooltipPosition.moveMarkers(i2, a2);
    } }]), t3;
  }(), La = function() {
    function t3(e2) {
      i(this, t3), this.w = e2.w, this.barCtx = e2, this.totalFormatter = this.w.config.plotOptions.bar.dataLabels.total.formatter, this.totalFormatter || (this.totalFormatter = this.w.config.dataLabels.formatter);
    }
    return s2(t3, [{ key: "handleBarDataLabels", value: function(t4) {
      var e2, i2, a2 = t4.x, s3 = t4.y, r3 = t4.y1, n2 = t4.y2, o3 = t4.i, l2 = t4.j, h3 = t4.realIndex, c2 = t4.columnGroupIndex, d2 = t4.series, g3 = t4.barHeight, p3 = t4.barWidth, f2 = t4.barXPosition, x3 = t4.barYPosition, b2 = t4.visibleSeries, m3 = t4.renderedPath, v2 = this.w, y2 = new Mi(this.barCtx.ctx), w3 = Array.isArray(this.barCtx.strokeWidth) ? this.barCtx.strokeWidth[h3] : this.barCtx.strokeWidth;
      v2.globals.isXNumeric && !v2.globals.isBarHorizontal ? (e2 = a2 + parseFloat(p3 * (b2 + 1)), i2 = s3 + parseFloat(g3 * (b2 + 1)) - w3) : (e2 = a2 + parseFloat(p3 * b2), i2 = s3 + parseFloat(g3 * b2));
      var k2, A3 = null, C2 = a2, S3 = s3, L3 = {}, M2 = v2.config.dataLabels, P3 = this.barCtx.barOptions.dataLabels, I2 = this.barCtx.barOptions.dataLabels.total;
      void 0 !== x3 && this.barCtx.isRangeBar && (i2 = x3, S3 = x3), void 0 !== f2 && this.barCtx.isVerticalGroupedRangeBar && (e2 = f2, C2 = f2);
      var T2 = M2.offsetX, z2 = M2.offsetY, X2 = { width: 0, height: 0 };
      if (v2.config.dataLabels.enabled) {
        var R2 = v2.globals.series[o3][l2];
        X2 = y2.getTextRects(v2.config.dataLabels.formatter ? v2.config.dataLabels.formatter(R2, u(u({}, v2), {}, { seriesIndex: o3, dataPointIndex: l2, w: v2 })) : v2.globals.yLabelFormatters[0](R2), parseFloat(M2.style.fontSize));
      }
      var E2 = { x: a2, y: s3, i: o3, j: l2, realIndex: h3, columnGroupIndex: c2, renderedPath: m3, bcx: e2, bcy: i2, barHeight: g3, barWidth: p3, textRects: X2, strokeWidth: w3, dataLabelsX: C2, dataLabelsY: S3, dataLabelsConfig: M2, barDataLabelsConfig: P3, barTotalDataLabelsConfig: I2, offX: T2, offY: z2 };
      return L3 = this.barCtx.isHorizontal ? this.calculateBarsDataLabelsPosition(E2) : this.calculateColumnsDataLabelsPosition(E2), m3.attr({ cy: L3.bcy, cx: L3.bcx, j: l2, val: v2.globals.series[o3][l2], barHeight: g3, barWidth: p3 }), k2 = this.drawCalculatedDataLabels({ x: L3.dataLabelsX, y: L3.dataLabelsY, val: this.barCtx.isRangeBar ? [r3, n2] : "100%" === v2.config.chart.stackType ? d2[h3][l2] : v2.globals.series[h3][l2], i: h3, j: l2, barWidth: p3, barHeight: g3, textRects: X2, dataLabelsConfig: M2 }), v2.config.chart.stacked && I2.enabled && (A3 = this.drawTotalDataLabels({ x: L3.totalDataLabelsX, y: L3.totalDataLabelsY, barWidth: p3, barHeight: g3, realIndex: h3, textAnchor: L3.totalDataLabelsAnchor, val: this.getStackedTotalDataLabel({ realIndex: h3, j: l2 }), dataLabelsConfig: M2, barTotalDataLabelsConfig: I2 })), { dataLabels: k2, totalDataLabels: A3 };
    } }, { key: "getStackedTotalDataLabel", value: function(t4) {
      var e2 = t4.realIndex, i2 = t4.j, a2 = this.w, s3 = this.barCtx.stackedSeriesTotals[i2];
      return this.totalFormatter && (s3 = this.totalFormatter(s3, u(u({}, a2), {}, { seriesIndex: e2, dataPointIndex: i2, w: a2 }))), s3;
    } }, { key: "calculateColumnsDataLabelsPosition", value: function(t4) {
      var e2 = this.w, i2 = t4.i, a2 = t4.j, s3 = t4.realIndex;
      t4.columnGroupIndex;
      var r3, n2, o3 = t4.y, l2 = t4.bcx, h3 = t4.barWidth, c2 = t4.barHeight, d2 = t4.textRects, u2 = t4.dataLabelsX, g3 = t4.dataLabelsY, p3 = t4.dataLabelsConfig, f2 = t4.barDataLabelsConfig, x3 = t4.barTotalDataLabelsConfig, b2 = t4.strokeWidth, m3 = t4.offX, v2 = t4.offY, y2 = l2;
      c2 = Math.abs(c2);
      var w3 = "vertical" === e2.config.plotOptions.bar.dataLabels.orientation, k2 = this.barCtx.barHelpers.getZeroValueEncounters({ i: i2, j: a2 }).zeroEncounters;
      l2 -= b2 / 2;
      var A3 = e2.globals.gridWidth / e2.globals.dataPoints;
      if (this.barCtx.isVerticalGroupedRangeBar ? u2 += h3 / 2 : (u2 = e2.globals.isXNumeric ? l2 - h3 / 2 + m3 : l2 - A3 + h3 / 2 + m3, k2 > 0 && e2.config.plotOptions.bar.hideZeroBarsWhenGrouped && (u2 -= h3 * k2)), w3) {
        u2 = u2 + d2.height / 2 - b2 / 2 - 2;
      }
      var C2 = e2.globals.series[i2][a2] < 0, S3 = o3;
      switch (this.barCtx.isReversed && (S3 = o3 + (C2 ? c2 : -c2)), f2.position) {
        case "center":
          g3 = w3 ? C2 ? S3 - c2 / 2 + v2 : S3 + c2 / 2 - v2 : C2 ? S3 - c2 / 2 + d2.height / 2 + v2 : S3 + c2 / 2 + d2.height / 2 - v2;
          break;
        case "bottom":
          g3 = w3 ? C2 ? S3 - c2 + v2 : S3 + c2 - v2 : C2 ? S3 - c2 + d2.height + b2 + v2 : S3 + c2 - d2.height / 2 + b2 - v2;
          break;
        case "top":
          g3 = w3 ? C2 ? S3 + v2 : S3 - v2 : C2 ? S3 - d2.height / 2 - v2 : S3 + d2.height + v2;
      }
      if (this.barCtx.lastActiveBarSerieIndex === s3 && x3.enabled) {
        var L3 = new Mi(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({ realIndex: s3, j: a2 }), p3.fontSize);
        r3 = C2 ? S3 - L3.height / 2 - v2 - x3.offsetY + 18 : S3 + L3.height + v2 + x3.offsetY - 18;
        var M2 = A3;
        n2 = y2 + (e2.globals.isXNumeric ? -h3 * e2.globals.barGroups.length / 2 : e2.globals.barGroups.length * h3 / 2 - (e2.globals.barGroups.length - 1) * h3 - M2) + x3.offsetX;
      }
      return e2.config.chart.stacked || (g3 < 0 ? g3 = 0 + b2 : g3 + d2.height / 3 > e2.globals.gridHeight && (g3 = e2.globals.gridHeight - b2)), { bcx: l2, bcy: o3, dataLabelsX: u2, dataLabelsY: g3, totalDataLabelsX: n2, totalDataLabelsY: r3, totalDataLabelsAnchor: "middle" };
    } }, { key: "calculateBarsDataLabelsPosition", value: function(t4) {
      var e2 = this.w, i2 = t4.x, a2 = t4.i, s3 = t4.j, r3 = t4.realIndex, n2 = t4.bcy, o3 = t4.barHeight, l2 = t4.barWidth, h3 = t4.textRects, c2 = t4.dataLabelsX, d2 = t4.strokeWidth, u2 = t4.dataLabelsConfig, g3 = t4.barDataLabelsConfig, p3 = t4.barTotalDataLabelsConfig, f2 = t4.offX, x3 = t4.offY, b2 = e2.globals.gridHeight / e2.globals.dataPoints;
      l2 = Math.abs(l2);
      var m3, v2, y2 = n2 - (this.barCtx.isRangeBar ? 0 : b2) + o3 / 2 + h3.height / 2 + x3 - 3, w3 = "start", k2 = e2.globals.series[a2][s3] < 0, A3 = i2;
      switch (this.barCtx.isReversed && (A3 = i2 + (k2 ? -l2 : l2), w3 = k2 ? "start" : "end"), g3.position) {
        case "center":
          c2 = k2 ? A3 + l2 / 2 - f2 : Math.max(h3.width / 2, A3 - l2 / 2) + f2;
          break;
        case "bottom":
          c2 = k2 ? A3 + l2 - d2 - f2 : A3 - l2 + d2 + f2;
          break;
        case "top":
          c2 = k2 ? A3 - d2 - f2 : A3 - d2 + f2;
      }
      if (this.barCtx.lastActiveBarSerieIndex === r3 && p3.enabled) {
        var C2 = new Mi(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({ realIndex: r3, j: s3 }), u2.fontSize);
        k2 ? (m3 = A3 - d2 - f2 - p3.offsetX, w3 = "end") : m3 = A3 + f2 + p3.offsetX + (this.barCtx.isReversed ? -(l2 + d2) : d2), v2 = y2 - h3.height / 2 + C2.height / 2 + p3.offsetY + d2;
      }
      return e2.config.chart.stacked || ("start" === u2.textAnchor ? c2 - h3.width < 0 ? c2 = k2 ? h3.width + d2 : d2 : c2 + h3.width > e2.globals.gridWidth && (c2 = k2 ? e2.globals.gridWidth - d2 : e2.globals.gridWidth - h3.width - d2) : "middle" === u2.textAnchor ? c2 - h3.width / 2 < 0 ? c2 = h3.width / 2 + d2 : c2 + h3.width / 2 > e2.globals.gridWidth && (c2 = e2.globals.gridWidth - h3.width / 2 - d2) : "end" === u2.textAnchor && (c2 < 1 ? c2 = h3.width + d2 : c2 + 1 > e2.globals.gridWidth && (c2 = e2.globals.gridWidth - h3.width - d2))), { bcx: i2, bcy: n2, dataLabelsX: c2, dataLabelsY: y2, totalDataLabelsX: m3, totalDataLabelsY: v2, totalDataLabelsAnchor: w3 };
    } }, { key: "drawCalculatedDataLabels", value: function(t4) {
      var e2 = t4.x, i2 = t4.y, a2 = t4.val, s3 = t4.i, r3 = t4.j, n2 = t4.textRects, o3 = t4.barHeight, l2 = t4.barWidth, h3 = t4.dataLabelsConfig, c2 = this.w, d2 = "rotate(0)";
      "vertical" === c2.config.plotOptions.bar.dataLabels.orientation && (d2 = "rotate(-90, ".concat(e2, ", ").concat(i2, ")"));
      var g3 = new qi(this.barCtx.ctx), p3 = new Mi(this.barCtx.ctx), f2 = h3.formatter, x3 = null, b2 = c2.globals.collapsedSeriesIndices.indexOf(s3) > -1;
      if (h3.enabled && !b2) {
        x3 = p3.group({ class: "apexcharts-data-labels", transform: d2 });
        var m3 = "";
        void 0 !== a2 && (m3 = f2(a2, u(u({}, c2), {}, { seriesIndex: s3, dataPointIndex: r3, w: c2 }))), !a2 && c2.config.plotOptions.bar.hideZeroBarsWhenGrouped && (m3 = "");
        var v2 = c2.globals.series[s3][r3] < 0, y2 = c2.config.plotOptions.bar.dataLabels.position;
        if ("vertical" === c2.config.plotOptions.bar.dataLabels.orientation && ("top" === y2 && (h3.textAnchor = v2 ? "end" : "start"), "center" === y2 && (h3.textAnchor = "middle"), "bottom" === y2 && (h3.textAnchor = v2 ? "end" : "start")), this.barCtx.isRangeBar && this.barCtx.barOptions.dataLabels.hideOverflowingLabels) l2 < p3.getTextRects(m3, parseFloat(h3.style.fontSize)).width && (m3 = "");
        c2.config.chart.stacked && this.barCtx.barOptions.dataLabels.hideOverflowingLabels && (this.barCtx.isHorizontal ? n2.width / 1.6 > Math.abs(l2) && (m3 = "") : n2.height / 1.6 > Math.abs(o3) && (m3 = ""));
        var w3 = u({}, h3);
        this.barCtx.isHorizontal && a2 < 0 && ("start" === h3.textAnchor ? w3.textAnchor = "end" : "end" === h3.textAnchor && (w3.textAnchor = "start")), g3.plotDataLabelsText({ x: e2, y: i2, text: m3, i: s3, j: r3, parent: x3, dataLabelsConfig: w3, alwaysDrawDataLabel: true, offsetCorrection: true });
      }
      return x3;
    } }, { key: "drawTotalDataLabels", value: function(t4) {
      var e2 = t4.x, i2 = t4.y, a2 = t4.val, s3 = t4.realIndex, r3 = t4.textAnchor, n2 = t4.barTotalDataLabelsConfig;
      this.w;
      var o3, l2 = new Mi(this.barCtx.ctx);
      return n2.enabled && void 0 !== e2 && void 0 !== i2 && this.barCtx.lastActiveBarSerieIndex === s3 && (o3 = l2.drawText({ x: e2, y: i2, foreColor: n2.style.color, text: a2, textAnchor: r3, fontFamily: n2.style.fontFamily, fontSize: n2.style.fontSize, fontWeight: n2.style.fontWeight })), o3;
    } }]), t3;
  }(), Ma = function() {
    function t3(e2) {
      i(this, t3), this.w = e2.w, this.barCtx = e2;
    }
    return s2(t3, [{ key: "initVariables", value: function(t4) {
      var e2 = this.w;
      this.barCtx.series = t4, this.barCtx.totalItems = 0, this.barCtx.seriesLen = 0, this.barCtx.visibleI = -1, this.barCtx.visibleItems = 1;
      for (var i2 = 0; i2 < t4.length; i2++) if (t4[i2].length > 0 && (this.barCtx.seriesLen = this.barCtx.seriesLen + 1, this.barCtx.totalItems += t4[i2].length), e2.globals.isXNumeric) for (var a2 = 0; a2 < t4[i2].length; a2++) e2.globals.seriesX[i2][a2] > e2.globals.minX && e2.globals.seriesX[i2][a2] < e2.globals.maxX && this.barCtx.visibleItems++;
      else this.barCtx.visibleItems = e2.globals.dataPoints;
      this.arrBorderRadius = this.createBorderRadiusArr(e2.globals.series), 0 === this.barCtx.seriesLen && (this.barCtx.seriesLen = 1), this.barCtx.zeroSerieses = [], e2.globals.comboCharts || this.checkZeroSeries({ series: t4 });
    } }, { key: "initialPositions", value: function() {
      var t4, e2, i2, a2, s3, r3, n2, o3, l2 = this.w, h3 = l2.globals.dataPoints;
      this.barCtx.isRangeBar && (h3 = l2.globals.labels.length);
      var c2 = this.barCtx.seriesLen;
      if (l2.config.plotOptions.bar.rangeBarGroupRows && (c2 = 1), this.barCtx.isHorizontal) s3 = (i2 = l2.globals.gridHeight / h3) / c2, l2.globals.isXNumeric && (s3 = (i2 = l2.globals.gridHeight / this.barCtx.totalItems) / this.barCtx.seriesLen), s3 = s3 * parseInt(this.barCtx.barOptions.barHeight, 10) / 100, -1 === String(this.barCtx.barOptions.barHeight).indexOf("%") && (s3 = parseInt(this.barCtx.barOptions.barHeight, 10)), o3 = this.barCtx.baseLineInvertedY + l2.globals.padHorizontal + (this.barCtx.isReversed ? l2.globals.gridWidth : 0) - (this.barCtx.isReversed ? 2 * this.barCtx.baseLineInvertedY : 0), this.barCtx.isFunnel && (o3 = l2.globals.gridWidth / 2), e2 = (i2 - s3 * this.barCtx.seriesLen) / 2;
      else {
        if (a2 = l2.globals.gridWidth / this.barCtx.visibleItems, l2.config.xaxis.convertedCatToNumeric && (a2 = l2.globals.gridWidth / l2.globals.dataPoints), r3 = a2 / c2 * parseInt(this.barCtx.barOptions.columnWidth, 10) / 100, l2.globals.isXNumeric) {
          var d2 = this.barCtx.xRatio;
          l2.globals.minXDiff && 0.5 !== l2.globals.minXDiff && l2.globals.minXDiff / d2 > 0 && (a2 = l2.globals.minXDiff / d2), (r3 = a2 / c2 * parseInt(this.barCtx.barOptions.columnWidth, 10) / 100) < 1 && (r3 = 1);
        }
        -1 === String(this.barCtx.barOptions.columnWidth).indexOf("%") && (r3 = parseInt(this.barCtx.barOptions.columnWidth, 10)), n2 = l2.globals.gridHeight - this.barCtx.baseLineY[this.barCtx.translationsIndex] - (this.barCtx.isReversed ? l2.globals.gridHeight : 0) + (this.barCtx.isReversed ? 2 * this.barCtx.baseLineY[this.barCtx.translationsIndex] : 0), t4 = l2.globals.padHorizontal + v.noExponents(a2 - r3 * this.barCtx.seriesLen) / 2;
      }
      return l2.globals.barHeight = s3, l2.globals.barWidth = r3, { x: t4, y: e2, yDivision: i2, xDivision: a2, barHeight: s3, barWidth: r3, zeroH: n2, zeroW: o3 };
    } }, { key: "initializeStackedPrevVars", value: function(t4) {
      t4.w.globals.seriesGroups.forEach(function(e2) {
        t4[e2] || (t4[e2] = {}), t4[e2].prevY = [], t4[e2].prevX = [], t4[e2].prevYF = [], t4[e2].prevXF = [], t4[e2].prevYVal = [], t4[e2].prevXVal = [];
      });
    } }, { key: "initializeStackedXYVars", value: function(t4) {
      t4.w.globals.seriesGroups.forEach(function(e2) {
        t4[e2] || (t4[e2] = {}), t4[e2].xArrj = [], t4[e2].xArrjF = [], t4[e2].xArrjVal = [], t4[e2].yArrj = [], t4[e2].yArrjF = [], t4[e2].yArrjVal = [];
      });
    } }, { key: "getPathFillColor", value: function(t4, e2, i2, a2) {
      var s3, r3, n2, o3, l2 = this.w, h3 = this.barCtx.ctx.fill, c2 = null, d2 = this.barCtx.barOptions.distributed ? i2 : e2, u2 = false;
      this.barCtx.barOptions.colors.ranges.length > 0 && this.barCtx.barOptions.colors.ranges.map(function(a3) {
        t4[e2][i2] >= a3.from && t4[e2][i2] <= a3.to && (c2 = a3.color, u2 = true);
      });
      return { color: h3.fillPath({ seriesNumber: this.barCtx.barOptions.distributed ? d2 : a2, dataPointIndex: i2, color: c2, value: t4[e2][i2], fillConfig: null === (s3 = l2.config.series[e2].data[i2]) || void 0 === s3 ? void 0 : s3.fill, fillType: null !== (r3 = l2.config.series[e2].data[i2]) && void 0 !== r3 && null !== (n2 = r3.fill) && void 0 !== n2 && n2.type ? null === (o3 = l2.config.series[e2].data[i2]) || void 0 === o3 ? void 0 : o3.fill.type : Array.isArray(l2.config.fill.type) ? l2.config.fill.type[a2] : l2.config.fill.type }), useRangeColor: u2 };
    } }, { key: "getStrokeWidth", value: function(t4, e2, i2) {
      var a2 = 0, s3 = this.w;
      return this.barCtx.series[t4][e2] ? this.barCtx.isNullValue = false : this.barCtx.isNullValue = true, s3.config.stroke.show && (this.barCtx.isNullValue || (a2 = Array.isArray(this.barCtx.strokeWidth) ? this.barCtx.strokeWidth[i2] : this.barCtx.strokeWidth)), a2;
    } }, { key: "createBorderRadiusArr", value: function(t4) {
      var e2, i2 = this.w, a2 = !this.w.config.chart.stacked || i2.config.plotOptions.bar.borderRadius <= 0, s3 = t4.length, n2 = 0 | (null === (e2 = t4[0]) || void 0 === e2 ? void 0 : e2.length), o3 = Array.from({ length: s3 }, function() {
        return Array(n2).fill(a2 ? "top" : "none");
      });
      if (a2) return o3;
      for (var l2 = 0; l2 < n2; l2++) {
        for (var h3 = [], c2 = [], d2 = 0, u2 = 0; u2 < s3; u2++) {
          var g3 = t4[u2][l2];
          g3 > 0 ? (h3.push(u2), d2++) : g3 < 0 && (c2.push(u2), d2++);
        }
        if (h3.length > 0 && 0 === c2.length) if (1 === h3.length) o3[h3[0]][l2] = "both";
        else {
          var p3, f2 = h3[0], x3 = h3[h3.length - 1], b2 = r2(h3);
          try {
            for (b2.s(); !(p3 = b2.n()).done; ) {
              var m3 = p3.value;
              o3[m3][l2] = m3 === f2 ? "bottom" : m3 === x3 ? "top" : "none";
            }
          } catch (t5) {
            b2.e(t5);
          } finally {
            b2.f();
          }
        }
        else if (c2.length > 0 && 0 === h3.length) if (1 === c2.length) o3[c2[0]][l2] = "both";
        else {
          var v2, y2 = Math.max.apply(Math, c2), w3 = Math.min.apply(Math, c2), k2 = r2(c2);
          try {
            for (k2.s(); !(v2 = k2.n()).done; ) {
              var A3 = v2.value;
              o3[A3][l2] = A3 === y2 ? "bottom" : A3 === w3 ? "top" : "none";
            }
          } catch (t5) {
            k2.e(t5);
          } finally {
            k2.f();
          }
        }
        else if (h3.length > 0 && c2.length > 0) {
          var C2, S3 = h3[h3.length - 1], L3 = r2(h3);
          try {
            for (L3.s(); !(C2 = L3.n()).done; ) {
              var M2 = C2.value;
              o3[M2][l2] = M2 === S3 ? "top" : "none";
            }
          } catch (t5) {
            L3.e(t5);
          } finally {
            L3.f();
          }
          var P3, I2 = Math.max.apply(Math, c2), T2 = r2(c2);
          try {
            for (T2.s(); !(P3 = T2.n()).done; ) {
              var z2 = P3.value;
              o3[z2][l2] = z2 === I2 ? "bottom" : "none";
            }
          } catch (t5) {
            T2.e(t5);
          } finally {
            T2.f();
          }
        } else if (1 === d2) {
          o3[h3[0] || c2[0]][l2] = "both";
        }
      }
      return o3;
    } }, { key: "barBackground", value: function(t4) {
      var e2 = t4.j, i2 = t4.i, a2 = t4.x1, s3 = t4.x2, r3 = t4.y1, n2 = t4.y2, o3 = t4.elSeries, l2 = this.w, h3 = new Mi(this.barCtx.ctx), c2 = new Zi(this.barCtx.ctx).getActiveConfigSeriesIndex();
      if (this.barCtx.barOptions.colors.backgroundBarColors.length > 0 && c2 === i2) {
        e2 >= this.barCtx.barOptions.colors.backgroundBarColors.length && (e2 %= this.barCtx.barOptions.colors.backgroundBarColors.length);
        var d2 = this.barCtx.barOptions.colors.backgroundBarColors[e2], u2 = h3.drawRect(void 0 !== a2 ? a2 : 0, void 0 !== r3 ? r3 : 0, void 0 !== s3 ? s3 : l2.globals.gridWidth, void 0 !== n2 ? n2 : l2.globals.gridHeight, this.barCtx.barOptions.colors.backgroundBarRadius, d2, this.barCtx.barOptions.colors.backgroundBarOpacity);
        o3.add(u2), u2.node.classList.add("apexcharts-backgroundBar");
      }
    } }, { key: "getColumnPaths", value: function(t4) {
      var e2, i2 = t4.barWidth, a2 = t4.barXPosition, s3 = t4.y1, r3 = t4.y2, n2 = t4.strokeWidth, o3 = t4.isReversed, l2 = t4.series, h3 = t4.seriesGroup, c2 = t4.realIndex, d2 = t4.i, u2 = t4.j, g3 = t4.w, p3 = new Mi(this.barCtx.ctx);
      (n2 = Array.isArray(n2) ? n2[c2] : n2) || (n2 = 0);
      var f2 = i2, x3 = a2;
      null !== (e2 = g3.config.series[c2].data[u2]) && void 0 !== e2 && e2.columnWidthOffset && (x3 = a2 - g3.config.series[c2].data[u2].columnWidthOffset / 2, f2 = i2 + g3.config.series[c2].data[u2].columnWidthOffset);
      var b2 = n2 / 2, m3 = x3 + b2, v2 = x3 + f2 - b2, y2 = (l2[d2][u2] >= 0 ? 1 : -1) * (o3 ? -1 : 1);
      s3 += 1e-3 - b2 * y2, r3 += 1e-3 + b2 * y2;
      var w3 = p3.move(m3, s3), k2 = p3.move(m3, s3), A3 = p3.line(v2, s3);
      if (g3.globals.previousPaths.length > 0 && (k2 = this.barCtx.getPreviousPath(c2, u2, false)), w3 = w3 + p3.line(m3, r3) + p3.line(v2, r3) + A3 + ("around" === g3.config.plotOptions.bar.borderRadiusApplication || "both" === this.arrBorderRadius[c2][u2] ? " Z" : " z"), k2 = k2 + p3.line(m3, s3) + A3 + A3 + A3 + A3 + A3 + p3.line(m3, s3) + ("around" === g3.config.plotOptions.bar.borderRadiusApplication || "both" === this.arrBorderRadius[c2][u2] ? " Z" : " z"), "none" !== this.arrBorderRadius[c2][u2] && (w3 = p3.roundPathCorners(w3, g3.config.plotOptions.bar.borderRadius)), g3.config.chart.stacked) {
        var C2 = this.barCtx;
        (C2 = this.barCtx[h3]).yArrj.push(r3 - b2 * y2), C2.yArrjF.push(Math.abs(s3 - r3 + n2 * y2)), C2.yArrjVal.push(this.barCtx.series[d2][u2]);
      }
      return { pathTo: w3, pathFrom: k2 };
    } }, { key: "getBarpaths", value: function(t4) {
      var e2, i2 = t4.barYPosition, a2 = t4.barHeight, s3 = t4.x1, r3 = t4.x2, n2 = t4.strokeWidth, o3 = t4.isReversed, l2 = t4.series, h3 = t4.seriesGroup, c2 = t4.realIndex, d2 = t4.i, u2 = t4.j, g3 = t4.w, p3 = new Mi(this.barCtx.ctx);
      (n2 = Array.isArray(n2) ? n2[c2] : n2) || (n2 = 0);
      var f2 = i2, x3 = a2;
      null !== (e2 = g3.config.series[c2].data[u2]) && void 0 !== e2 && e2.barHeightOffset && (f2 = i2 - g3.config.series[c2].data[u2].barHeightOffset / 2, x3 = a2 + g3.config.series[c2].data[u2].barHeightOffset);
      var b2 = n2 / 2, m3 = f2 + b2, v2 = f2 + x3 - b2, y2 = (l2[d2][u2] >= 0 ? 1 : -1) * (o3 ? -1 : 1);
      s3 += 1e-3 + b2 * y2, r3 += 1e-3 - b2 * y2;
      var w3 = p3.move(s3, m3), k2 = p3.move(s3, m3);
      g3.globals.previousPaths.length > 0 && (k2 = this.barCtx.getPreviousPath(c2, u2, false));
      var A3 = p3.line(s3, v2);
      if (w3 = w3 + p3.line(r3, m3) + p3.line(r3, v2) + A3 + ("around" === g3.config.plotOptions.bar.borderRadiusApplication || "both" === this.arrBorderRadius[c2][u2] ? " Z" : " z"), k2 = k2 + p3.line(s3, m3) + A3 + A3 + A3 + A3 + A3 + p3.line(s3, m3) + ("around" === g3.config.plotOptions.bar.borderRadiusApplication || "both" === this.arrBorderRadius[c2][u2] ? " Z" : " z"), "none" !== this.arrBorderRadius[c2][u2] && (w3 = p3.roundPathCorners(w3, g3.config.plotOptions.bar.borderRadius)), g3.config.chart.stacked) {
        var C2 = this.barCtx;
        (C2 = this.barCtx[h3]).xArrj.push(r3 + b2 * y2), C2.xArrjF.push(Math.abs(s3 - r3 - n2 * y2)), C2.xArrjVal.push(this.barCtx.series[d2][u2]);
      }
      return { pathTo: w3, pathFrom: k2 };
    } }, { key: "checkZeroSeries", value: function(t4) {
      for (var e2 = t4.series, i2 = this.w, a2 = 0; a2 < e2.length; a2++) {
        for (var s3 = 0, r3 = 0; r3 < e2[i2.globals.maxValsInArrayIndex].length; r3++) s3 += e2[a2][r3];
        0 === s3 && this.barCtx.zeroSerieses.push(a2);
      }
    } }, { key: "getXForValue", value: function(t4, e2) {
      var i2 = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2] ? e2 : null;
      return null != t4 && (i2 = e2 + t4 / this.barCtx.invertedYRatio - 2 * (this.barCtx.isReversed ? t4 / this.barCtx.invertedYRatio : 0)), i2;
    } }, { key: "getYForValue", value: function(t4, e2, i2) {
      var a2 = !(arguments.length > 3 && void 0 !== arguments[3]) || arguments[3] ? e2 : null;
      return null != t4 && (a2 = e2 - t4 / this.barCtx.yRatio[i2] + 2 * (this.barCtx.isReversed ? t4 / this.barCtx.yRatio[i2] : 0)), a2;
    } }, { key: "getGoalValues", value: function(t4, e2, i2, a2, s3, r3) {
      var n2 = this, l2 = this.w, h3 = [], c2 = function(a3, s4) {
        var l3;
        h3.push((o2(l3 = {}, t4, "x" === t4 ? n2.getXForValue(a3, e2, false) : n2.getYForValue(a3, i2, r3, false)), o2(l3, "attrs", s4), l3));
      };
      if (l2.globals.seriesGoals[a2] && l2.globals.seriesGoals[a2][s3] && Array.isArray(l2.globals.seriesGoals[a2][s3]) && l2.globals.seriesGoals[a2][s3].forEach(function(t5) {
        c2(t5.value, t5);
      }), this.barCtx.barOptions.isDumbbell && l2.globals.seriesRange.length) {
        var d2 = this.barCtx.barOptions.dumbbellColors ? this.barCtx.barOptions.dumbbellColors : l2.globals.colors, g3 = { strokeHeight: "x" === t4 ? 0 : l2.globals.markers.size[a2], strokeWidth: "x" === t4 ? l2.globals.markers.size[a2] : 0, strokeDashArray: 0, strokeLineCap: "round", strokeColor: Array.isArray(d2[a2]) ? d2[a2][0] : d2[a2] };
        c2(l2.globals.seriesRangeStart[a2][s3], g3), c2(l2.globals.seriesRangeEnd[a2][s3], u(u({}, g3), {}, { strokeColor: Array.isArray(d2[a2]) ? d2[a2][1] : d2[a2] }));
      }
      return h3;
    } }, { key: "drawGoalLine", value: function(t4) {
      var e2 = t4.barXPosition, i2 = t4.barYPosition, a2 = t4.goalX, s3 = t4.goalY, r3 = t4.barWidth, n2 = t4.barHeight, o3 = new Mi(this.barCtx.ctx), l2 = o3.group({ className: "apexcharts-bar-goals-groups" });
      l2.node.classList.add("apexcharts-element-hidden"), this.barCtx.w.globals.delayedElements.push({ el: l2.node }), l2.attr("clip-path", "url(#gridRectMarkerMask".concat(this.barCtx.w.globals.cuid, ")"));
      var h3 = null;
      return this.barCtx.isHorizontal ? Array.isArray(a2) && a2.forEach(function(t5) {
        if (t5.x >= -1 && t5.x <= o3.w.globals.gridWidth + 1) {
          var e3 = void 0 !== t5.attrs.strokeHeight ? t5.attrs.strokeHeight : n2 / 2, a3 = i2 + e3 + n2 / 2;
          h3 = o3.drawLine(t5.x, a3 - 2 * e3, t5.x, a3, t5.attrs.strokeColor ? t5.attrs.strokeColor : void 0, t5.attrs.strokeDashArray, t5.attrs.strokeWidth ? t5.attrs.strokeWidth : 2, t5.attrs.strokeLineCap), l2.add(h3);
        }
      }) : Array.isArray(s3) && s3.forEach(function(t5) {
        if (t5.y >= -1 && t5.y <= o3.w.globals.gridHeight + 1) {
          var i3 = void 0 !== t5.attrs.strokeWidth ? t5.attrs.strokeWidth : r3 / 2, a3 = e2 + i3 + r3 / 2;
          h3 = o3.drawLine(a3 - 2 * i3, t5.y, a3, t5.y, t5.attrs.strokeColor ? t5.attrs.strokeColor : void 0, t5.attrs.strokeDashArray, t5.attrs.strokeHeight ? t5.attrs.strokeHeight : 2, t5.attrs.strokeLineCap), l2.add(h3);
        }
      }), l2;
    } }, { key: "drawBarShadow", value: function(t4) {
      var e2 = t4.prevPaths, i2 = t4.currPaths, a2 = t4.color, s3 = this.w, r3 = e2.x, n2 = e2.x1, o3 = e2.barYPosition, l2 = i2.x, h3 = i2.x1, c2 = i2.barYPosition, d2 = o3 + i2.barHeight, u2 = new Mi(this.barCtx.ctx), g3 = new v(), p3 = u2.move(n2, d2) + u2.line(r3, d2) + u2.line(l2, c2) + u2.line(h3, c2) + u2.line(n2, d2) + ("around" === s3.config.plotOptions.bar.borderRadiusApplication || "both" === this.arrBorderRadius[realIndex][j] ? " Z" : " z");
      return u2.drawPath({ d: p3, fill: g3.shadeColor(0.5, v.rgb2hex(a2)), stroke: "none", strokeWidth: 0, fillOpacity: 1, classes: "apexcharts-bar-shadow apexcharts-decoration-element" });
    } }, { key: "getZeroValueEncounters", value: function(t4) {
      var e2, i2 = t4.i, a2 = t4.j, s3 = this.w, r3 = 0, n2 = 0;
      return (s3.config.plotOptions.bar.horizontal ? s3.globals.series.map(function(t5, e3) {
        return e3;
      }) : (null === (e2 = s3.globals.columnSeries) || void 0 === e2 ? void 0 : e2.i.map(function(t5) {
        return t5;
      })) || []).forEach(function(t5) {
        var e3 = s3.globals.seriesPercent[t5][a2];
        e3 && r3++, t5 < i2 && 0 === e3 && n2++;
      }), { nonZeroColumns: r3, zeroEncounters: n2 };
    } }, { key: "getGroupIndex", value: function(t4) {
      var e2 = this.w, i2 = e2.globals.seriesGroups.findIndex(function(i3) {
        return i3.indexOf(e2.globals.seriesNames[t4]) > -1;
      }), a2 = this.barCtx.columnGroupIndices, s3 = a2.indexOf(i2);
      return s3 < 0 && (a2.push(i2), s3 = a2.length - 1), { groupIndex: i2, columnGroupIndex: s3 };
    } }]), t3;
  }(), Pa = function() {
    function t3(e2, a2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
      var s3 = this.w;
      this.barOptions = s3.config.plotOptions.bar, this.isHorizontal = this.barOptions.horizontal, this.strokeWidth = s3.config.stroke.width, this.isNullValue = false, this.isRangeBar = s3.globals.seriesRange.length && this.isHorizontal, this.isVerticalGroupedRangeBar = !s3.globals.isBarHorizontal && s3.globals.seriesRange.length && s3.config.plotOptions.bar.rangeBarGroupRows, this.isFunnel = this.barOptions.isFunnel, this.xyRatios = a2, null !== this.xyRatios && (this.xRatio = a2.xRatio, this.yRatio = a2.yRatio, this.invertedXRatio = a2.invertedXRatio, this.invertedYRatio = a2.invertedYRatio, this.baseLineY = a2.baseLineY, this.baseLineInvertedY = a2.baseLineInvertedY), this.yaxisIndex = 0, this.translationsIndex = 0, this.seriesLen = 0, this.pathArr = [];
      var r3 = new Zi(this.ctx);
      this.lastActiveBarSerieIndex = r3.getActiveConfigSeriesIndex("desc", ["bar", "column"]), this.columnGroupIndices = [];
      var n2 = r3.getBarSeriesIndices(), o3 = new Pi(this.ctx);
      this.stackedSeriesTotals = o3.getStackedSeriesTotals(this.w.config.series.map(function(t4, e3) {
        return -1 === n2.indexOf(e3) ? e3 : -1;
      }).filter(function(t4) {
        return -1 !== t4;
      })), this.barHelpers = new Ma(this);
    }
    return s2(t3, [{ key: "draw", value: function(t4, e2) {
      var i2 = this.w, a2 = new Mi(this.ctx), s3 = new Pi(this.ctx, i2);
      t4 = s3.getLogSeries(t4), this.series = t4, this.yRatio = s3.getLogYRatios(this.yRatio), this.barHelpers.initVariables(t4);
      var r3 = a2.group({ class: "apexcharts-bar-series apexcharts-plot-series" });
      i2.config.dataLabels.enabled && this.totalItems > this.barOptions.dataLabels.maxItems && console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts");
      for (var n2 = 0, o3 = 0; n2 < t4.length; n2++, o3++) {
        var l2, h3, c2, d2, g3 = void 0, p3 = void 0, f2 = [], x3 = [], b2 = i2.globals.comboCharts ? e2[n2] : n2, m3 = this.barHelpers.getGroupIndex(b2).columnGroupIndex, y2 = a2.group({ class: "apexcharts-series", rel: n2 + 1, seriesName: v.escapeString(i2.globals.seriesNames[b2]), "data:realIndex": b2 });
        this.ctx.series.addCollapsedClassToSeries(y2, b2), t4[n2].length > 0 && (this.visibleI = this.visibleI + 1);
        var w3 = 0, k2 = 0;
        this.yRatio.length > 1 && (this.yaxisIndex = i2.globals.seriesYAxisReverseMap[b2], this.translationsIndex = b2);
        var A3 = this.translationsIndex;
        this.isReversed = i2.config.yaxis[this.yaxisIndex] && i2.config.yaxis[this.yaxisIndex].reversed;
        var C2 = this.barHelpers.initialPositions();
        p3 = C2.y, w3 = C2.barHeight, h3 = C2.yDivision, d2 = C2.zeroW, g3 = C2.x, k2 = C2.barWidth, l2 = C2.xDivision, c2 = C2.zeroH, this.isHorizontal || x3.push(g3 + k2 / 2);
        var S3 = a2.group({ class: "apexcharts-datalabels", "data:realIndex": b2 });
        i2.globals.delayedElements.push({ el: S3.node }), S3.node.classList.add("apexcharts-element-hidden");
        var L3 = a2.group({ class: "apexcharts-bar-goals-markers" }), M2 = a2.group({ class: "apexcharts-bar-shadows" });
        i2.globals.delayedElements.push({ el: M2.node }), M2.node.classList.add("apexcharts-element-hidden");
        for (var P3 = 0; P3 < t4[n2].length; P3++) {
          var I2 = this.barHelpers.getStrokeWidth(n2, P3, b2), T2 = null, z2 = { indexes: { i: n2, j: P3, realIndex: b2, translationsIndex: A3, bc: o3 }, x: g3, y: p3, strokeWidth: I2, elSeries: y2 };
          this.isHorizontal ? (T2 = this.drawBarPaths(u(u({}, z2), {}, { barHeight: w3, zeroW: d2, yDivision: h3 })), k2 = this.series[n2][P3] / this.invertedYRatio) : (T2 = this.drawColumnPaths(u(u({}, z2), {}, { xDivision: l2, barWidth: k2, zeroH: c2 })), w3 = this.series[n2][P3] / this.yRatio[A3]);
          var X2 = this.barHelpers.getPathFillColor(t4, n2, P3, b2);
          if (this.isFunnel && this.barOptions.isFunnel3d && this.pathArr.length && P3 > 0) {
            var R2, E2 = this.barHelpers.drawBarShadow({ color: "string" == typeof X2.color && -1 === (null === (R2 = X2.color) || void 0 === R2 ? void 0 : R2.indexOf("url")) ? X2.color : v.hexToRgba(i2.globals.colors[n2]), prevPaths: this.pathArr[this.pathArr.length - 1], currPaths: T2 });
            if (M2.add(E2), i2.config.chart.dropShadow.enabled) new Li(this.ctx).dropShadow(E2, i2.config.chart.dropShadow, b2);
          }
          this.pathArr.push(T2);
          var Y2 = this.barHelpers.drawGoalLine({ barXPosition: T2.barXPosition, barYPosition: T2.barYPosition, goalX: T2.goalX, goalY: T2.goalY, barHeight: w3, barWidth: k2 });
          Y2 && L3.add(Y2), p3 = T2.y, g3 = T2.x, P3 > 0 && x3.push(g3 + k2 / 2), f2.push(p3), this.renderSeries(u(u({ realIndex: b2, pathFill: X2.color }, X2.useRangeColor ? { lineFill: X2.color } : {}), {}, { j: P3, i: n2, columnGroupIndex: m3, pathFrom: T2.pathFrom, pathTo: T2.pathTo, strokeWidth: I2, elSeries: y2, x: g3, y: p3, series: t4, barHeight: Math.abs(T2.barHeight ? T2.barHeight : w3), barWidth: Math.abs(T2.barWidth ? T2.barWidth : k2), elDataLabelsWrap: S3, elGoalsMarkers: L3, elBarShadows: M2, visibleSeries: this.visibleI, type: "bar" }));
        }
        i2.globals.seriesXvalues[b2] = x3, i2.globals.seriesYvalues[b2] = f2, r3.add(y2);
      }
      return r3;
    } }, { key: "renderSeries", value: function(t4) {
      var e2 = t4.realIndex, i2 = t4.pathFill, a2 = t4.lineFill, s3 = t4.j, r3 = t4.i, n2 = t4.columnGroupIndex, o3 = t4.pathFrom, l2 = t4.pathTo, h3 = t4.strokeWidth, c2 = t4.elSeries, d2 = t4.x, u2 = t4.y, g3 = t4.y1, p3 = t4.y2, f2 = t4.series, x3 = t4.barHeight, b2 = t4.barWidth, m3 = t4.barXPosition, v2 = t4.barYPosition, y2 = t4.elDataLabelsWrap, w3 = t4.elGoalsMarkers, k2 = t4.elBarShadows, A3 = t4.visibleSeries, C2 = t4.type, S3 = t4.classes, L3 = this.w, M2 = new Mi(this.ctx);
      if (!a2) {
        var P3 = "function" == typeof L3.globals.stroke.colors[e2] ? function(t5) {
          var e3, i3 = L3.config.stroke.colors;
          return Array.isArray(i3) && i3.length > 0 && ((e3 = i3[t5]) || (e3 = ""), "function" == typeof e3) ? e3({ value: L3.globals.series[t5][s3], dataPointIndex: s3, w: L3 }) : e3;
        }(e2) : L3.globals.stroke.colors[e2];
        a2 = this.barOptions.distributed ? L3.globals.stroke.colors[s3] : P3;
      }
      L3.config.series[r3].data[s3] && L3.config.series[r3].data[s3].strokeColor && (a2 = L3.config.series[r3].data[s3].strokeColor), this.isNullValue && (i2 = "none");
      var I2 = s3 / L3.config.chart.animations.animateGradually.delay * (L3.config.chart.animations.speed / L3.globals.dataPoints) / 2.4, T2 = M2.renderPaths({ i: r3, j: s3, realIndex: e2, pathFrom: o3, pathTo: l2, stroke: a2, strokeWidth: h3, strokeLineCap: L3.config.stroke.lineCap, fill: i2, animationDelay: I2, initialSpeed: L3.config.chart.animations.speed, dataChangeSpeed: L3.config.chart.animations.dynamicAnimation.speed, className: "apexcharts-".concat(C2, "-area ").concat(S3), chartType: C2 });
      T2.attr("clip-path", "url(#gridRectBarMask".concat(L3.globals.cuid, ")"));
      var z2 = L3.config.forecastDataPoints;
      z2.count > 0 && s3 >= L3.globals.dataPoints - z2.count && (T2.node.setAttribute("stroke-dasharray", z2.dashArray), T2.node.setAttribute("stroke-width", z2.strokeWidth), T2.node.setAttribute("fill-opacity", z2.fillOpacity)), void 0 !== g3 && void 0 !== p3 && (T2.attr("data-range-y1", g3), T2.attr("data-range-y2", p3)), new Li(this.ctx).setSelectionFilter(T2, e2, s3), c2.add(T2);
      var X2 = new La(this).handleBarDataLabels({ x: d2, y: u2, y1: g3, y2: p3, i: r3, j: s3, series: f2, realIndex: e2, columnGroupIndex: n2, barHeight: x3, barWidth: b2, barXPosition: m3, barYPosition: v2, renderedPath: T2, visibleSeries: A3 });
      return null !== X2.dataLabels && y2.add(X2.dataLabels), X2.totalDataLabels && y2.add(X2.totalDataLabels), c2.add(y2), w3 && c2.add(w3), k2 && c2.add(k2), c2;
    } }, { key: "drawBarPaths", value: function(t4) {
      var e2, i2 = t4.indexes, a2 = t4.barHeight, s3 = t4.strokeWidth, r3 = t4.zeroW, n2 = t4.x, o3 = t4.y, l2 = t4.yDivision, h3 = t4.elSeries, c2 = this.w, d2 = i2.i, u2 = i2.j;
      if (c2.globals.isXNumeric) e2 = (o3 = (c2.globals.seriesX[d2][u2] - c2.globals.minX) / this.invertedXRatio - a2) + a2 * this.visibleI;
      else if (c2.config.plotOptions.bar.hideZeroBarsWhenGrouped) {
        var g3 = 0, p3 = 0;
        c2.globals.seriesPercent.forEach(function(t5, e3) {
          t5[u2] && g3++, e3 < d2 && 0 === t5[u2] && p3++;
        }), g3 > 0 && (a2 = this.seriesLen * a2 / g3), e2 = o3 + a2 * this.visibleI, e2 -= a2 * p3;
      } else e2 = o3 + a2 * this.visibleI;
      this.isFunnel && (r3 -= (this.barHelpers.getXForValue(this.series[d2][u2], r3) - r3) / 2), n2 = this.barHelpers.getXForValue(this.series[d2][u2], r3);
      var f2 = this.barHelpers.getBarpaths({ barYPosition: e2, barHeight: a2, x1: r3, x2: n2, strokeWidth: s3, isReversed: this.isReversed, series: this.series, realIndex: i2.realIndex, i: d2, j: u2, w: c2 });
      return c2.globals.isXNumeric || (o3 += l2), this.barHelpers.barBackground({ j: u2, i: d2, y1: e2 - a2 * this.visibleI, y2: a2 * this.seriesLen, elSeries: h3 }), { pathTo: f2.pathTo, pathFrom: f2.pathFrom, x1: r3, x: n2, y: o3, goalX: this.barHelpers.getGoalValues("x", r3, null, d2, u2), barYPosition: e2, barHeight: a2 };
    } }, { key: "drawColumnPaths", value: function(t4) {
      var e2, i2 = t4.indexes, a2 = t4.x, s3 = t4.y, r3 = t4.xDivision, n2 = t4.barWidth, o3 = t4.zeroH, l2 = t4.strokeWidth, h3 = t4.elSeries, c2 = this.w, d2 = i2.realIndex, u2 = i2.translationsIndex, g3 = i2.i, p3 = i2.j, f2 = i2.bc;
      if (c2.globals.isXNumeric) {
        var x3 = this.getBarXForNumericXAxis({ x: a2, j: p3, realIndex: d2, barWidth: n2 });
        a2 = x3.x, e2 = x3.barXPosition;
      } else if (c2.config.plotOptions.bar.hideZeroBarsWhenGrouped) {
        var b2 = this.barHelpers.getZeroValueEncounters({ i: g3, j: p3 }), m3 = b2.nonZeroColumns, v2 = b2.zeroEncounters;
        m3 > 0 && (n2 = this.seriesLen * n2 / m3), e2 = a2 + n2 * this.visibleI, e2 -= n2 * v2;
      } else e2 = a2 + n2 * this.visibleI;
      s3 = this.barHelpers.getYForValue(this.series[g3][p3], o3, u2);
      var y2 = this.barHelpers.getColumnPaths({ barXPosition: e2, barWidth: n2, y1: o3, y2: s3, strokeWidth: l2, isReversed: this.isReversed, series: this.series, realIndex: d2, i: g3, j: p3, w: c2 });
      return c2.globals.isXNumeric || (a2 += r3), this.barHelpers.barBackground({ bc: f2, j: p3, i: g3, x1: e2 - l2 / 2 - n2 * this.visibleI, x2: n2 * this.seriesLen + l2 / 2, elSeries: h3 }), { pathTo: y2.pathTo, pathFrom: y2.pathFrom, x: a2, y: s3, goalY: this.barHelpers.getGoalValues("y", null, o3, g3, p3, u2), barXPosition: e2, barWidth: n2 };
    } }, { key: "getBarXForNumericXAxis", value: function(t4) {
      var e2 = t4.x, i2 = t4.barWidth, a2 = t4.realIndex, s3 = t4.j, r3 = this.w, n2 = a2;
      return r3.globals.seriesX[a2].length || (n2 = r3.globals.maxValsInArrayIndex), v.isNumber(r3.globals.seriesX[n2][s3]) && (e2 = (r3.globals.seriesX[n2][s3] - r3.globals.minX) / this.xRatio - i2 * this.seriesLen / 2), { barXPosition: e2 + i2 * this.visibleI, x: e2 };
    } }, { key: "getPreviousPath", value: function(t4, e2) {
      for (var i2, a2 = this.w, s3 = 0; s3 < a2.globals.previousPaths.length; s3++) {
        var r3 = a2.globals.previousPaths[s3];
        r3.paths && r3.paths.length > 0 && parseInt(r3.realIndex, 10) === parseInt(t4, 10) && void 0 !== a2.globals.previousPaths[s3].paths[e2] && (i2 = a2.globals.previousPaths[s3].paths[e2].d);
      }
      return i2;
    } }]), t3;
  }(), Ia2 = function(t3) {
    h2(a2, Pa);
    var e2 = n(a2);
    function a2() {
      return i(this, a2), e2.apply(this, arguments);
    }
    return s2(a2, [{ key: "draw", value: function(t4, e3) {
      var i2 = this, a3 = this.w;
      this.graphics = new Mi(this.ctx), this.bar = new Pa(this.ctx, this.xyRatios);
      var s3 = new Pi(this.ctx, a3);
      t4 = s3.getLogSeries(t4), this.yRatio = s3.getLogYRatios(this.yRatio), this.barHelpers.initVariables(t4), "100%" === a3.config.chart.stackType && (t4 = a3.globals.comboCharts ? e3.map(function(t5) {
        return a3.globals.seriesPercent[t5];
      }) : a3.globals.seriesPercent.slice()), this.series = t4, this.barHelpers.initializeStackedPrevVars(this);
      for (var r3 = this.graphics.group({ class: "apexcharts-bar-series apexcharts-plot-series" }), n2 = 0, o3 = 0, l2 = function(s4, l3) {
        var h4 = void 0, c3 = void 0, d2 = void 0, g3 = void 0, p3 = a3.globals.comboCharts ? e3[s4] : s4, f2 = i2.barHelpers.getGroupIndex(p3), x3 = f2.groupIndex, b2 = f2.columnGroupIndex;
        i2.groupCtx = i2[a3.globals.seriesGroups[x3]];
        var m3 = [], y2 = [], w3 = 0;
        i2.yRatio.length > 1 && (i2.yaxisIndex = a3.globals.seriesYAxisReverseMap[p3][0], w3 = p3), i2.isReversed = a3.config.yaxis[i2.yaxisIndex] && a3.config.yaxis[i2.yaxisIndex].reversed;
        var k2 = i2.graphics.group({ class: "apexcharts-series", seriesName: v.escapeString(a3.globals.seriesNames[p3]), rel: s4 + 1, "data:realIndex": p3 });
        i2.ctx.series.addCollapsedClassToSeries(k2, p3);
        var A3 = i2.graphics.group({ class: "apexcharts-datalabels", "data:realIndex": p3 }), C2 = i2.graphics.group({ class: "apexcharts-bar-goals-markers" }), S3 = 0, L3 = 0, M2 = i2.initialPositions(n2, o3, h4, c3, d2, g3, w3);
        o3 = M2.y, S3 = M2.barHeight, c3 = M2.yDivision, g3 = M2.zeroW, n2 = M2.x, L3 = M2.barWidth, h4 = M2.xDivision, d2 = M2.zeroH, a3.globals.barHeight = S3, a3.globals.barWidth = L3, i2.barHelpers.initializeStackedXYVars(i2), 1 === i2.groupCtx.prevY.length && i2.groupCtx.prevY[0].every(function(t5) {
          return isNaN(t5);
        }) && (i2.groupCtx.prevY[0] = i2.groupCtx.prevY[0].map(function() {
          return d2;
        }), i2.groupCtx.prevYF[0] = i2.groupCtx.prevYF[0].map(function() {
          return 0;
        }));
        for (var P3 = 0; P3 < a3.globals.dataPoints; P3++) {
          var I2 = i2.barHelpers.getStrokeWidth(s4, P3, p3), T2 = { indexes: { i: s4, j: P3, realIndex: p3, translationsIndex: w3, bc: l3 }, strokeWidth: I2, x: n2, y: o3, elSeries: k2, columnGroupIndex: b2, seriesGroup: a3.globals.seriesGroups[x3] }, z2 = null;
          i2.isHorizontal ? (z2 = i2.drawStackedBarPaths(u(u({}, T2), {}, { zeroW: g3, barHeight: S3, yDivision: c3 })), L3 = i2.series[s4][P3] / i2.invertedYRatio) : (z2 = i2.drawStackedColumnPaths(u(u({}, T2), {}, { xDivision: h4, barWidth: L3, zeroH: d2 })), S3 = i2.series[s4][P3] / i2.yRatio[w3]);
          var X2 = i2.barHelpers.drawGoalLine({ barXPosition: z2.barXPosition, barYPosition: z2.barYPosition, goalX: z2.goalX, goalY: z2.goalY, barHeight: S3, barWidth: L3 });
          X2 && C2.add(X2), o3 = z2.y, n2 = z2.x, m3.push(n2), y2.push(o3);
          var R2 = i2.barHelpers.getPathFillColor(t4, s4, P3, p3), E2 = "", Y2 = a3.globals.isBarHorizontal ? "apexcharts-flip-x" : "apexcharts-flip-y";
          ("bottom" === i2.barHelpers.arrBorderRadius[p3][P3] && a3.globals.series[p3][P3] > 0 || "top" === i2.barHelpers.arrBorderRadius[p3][P3] && a3.globals.series[p3][P3] < 0) && (E2 = Y2), k2 = i2.renderSeries(u(u({ realIndex: p3, pathFill: R2.color }, R2.useRangeColor ? { lineFill: R2.color } : {}), {}, { j: P3, i: s4, columnGroupIndex: b2, pathFrom: z2.pathFrom, pathTo: z2.pathTo, strokeWidth: I2, elSeries: k2, x: n2, y: o3, series: t4, barHeight: S3, barWidth: L3, elDataLabelsWrap: A3, elGoalsMarkers: C2, type: "bar", visibleSeries: b2, classes: E2 }));
        }
        a3.globals.seriesXvalues[p3] = m3, a3.globals.seriesYvalues[p3] = y2, i2.groupCtx.prevY.push(i2.groupCtx.yArrj), i2.groupCtx.prevYF.push(i2.groupCtx.yArrjF), i2.groupCtx.prevYVal.push(i2.groupCtx.yArrjVal), i2.groupCtx.prevX.push(i2.groupCtx.xArrj), i2.groupCtx.prevXF.push(i2.groupCtx.xArrjF), i2.groupCtx.prevXVal.push(i2.groupCtx.xArrjVal), r3.add(k2);
      }, h3 = 0, c2 = 0; h3 < t4.length; h3++, c2++) l2(h3, c2);
      return r3;
    } }, { key: "initialPositions", value: function(t4, e3, i2, a3, s3, r3, n2) {
      var o3, l2, h3 = this.w;
      if (this.isHorizontal) {
        a3 = h3.globals.gridHeight / h3.globals.dataPoints;
        var c2 = h3.config.plotOptions.bar.barHeight;
        o3 = -1 === String(c2).indexOf("%") ? parseInt(c2, 10) : a3 * parseInt(c2, 10) / 100, r3 = h3.globals.padHorizontal + (this.isReversed ? h3.globals.gridWidth - this.baseLineInvertedY : this.baseLineInvertedY), e3 = (a3 - o3) / 2;
      } else {
        l2 = i2 = h3.globals.gridWidth / h3.globals.dataPoints;
        var d2 = h3.config.plotOptions.bar.columnWidth;
        h3.globals.isXNumeric && h3.globals.dataPoints > 1 ? l2 = (i2 = h3.globals.minXDiff / this.xRatio) * parseInt(this.barOptions.columnWidth, 10) / 100 : -1 === String(d2).indexOf("%") ? l2 = parseInt(d2, 10) : l2 *= parseInt(d2, 10) / 100, s3 = this.isReversed ? this.baseLineY[n2] : h3.globals.gridHeight - this.baseLineY[n2], t4 = h3.globals.padHorizontal + (i2 - l2) / 2;
      }
      var u2 = h3.globals.barGroups.length || 1;
      return { x: t4, y: e3, yDivision: a3, xDivision: i2, barHeight: o3 / u2, barWidth: l2 / u2, zeroH: s3, zeroW: r3 };
    } }, { key: "drawStackedBarPaths", value: function(t4) {
      for (var e3, i2 = t4.indexes, a3 = t4.barHeight, s3 = t4.strokeWidth, r3 = t4.zeroW, n2 = t4.x, o3 = t4.y, l2 = t4.columnGroupIndex, h3 = t4.seriesGroup, c2 = t4.yDivision, d2 = t4.elSeries, u2 = this.w, g3 = o3 + l2 * a3, p3 = i2.i, f2 = i2.j, x3 = i2.realIndex, b2 = i2.translationsIndex, m3 = 0, v2 = 0; v2 < this.groupCtx.prevXF.length; v2++) m3 += this.groupCtx.prevXF[v2][f2];
      var y2;
      if ((y2 = h3.indexOf(u2.config.series[x3].name)) > 0) {
        var w3 = r3;
        this.groupCtx.prevXVal[y2 - 1][f2] < 0 ? w3 = this.series[p3][f2] >= 0 ? this.groupCtx.prevX[y2 - 1][f2] + m3 - 2 * (this.isReversed ? m3 : 0) : this.groupCtx.prevX[y2 - 1][f2] : this.groupCtx.prevXVal[y2 - 1][f2] >= 0 && (w3 = this.series[p3][f2] >= 0 ? this.groupCtx.prevX[y2 - 1][f2] : this.groupCtx.prevX[y2 - 1][f2] - m3 + 2 * (this.isReversed ? m3 : 0)), e3 = w3;
      } else e3 = r3;
      n2 = null === this.series[p3][f2] ? e3 : e3 + this.series[p3][f2] / this.invertedYRatio - 2 * (this.isReversed ? this.series[p3][f2] / this.invertedYRatio : 0);
      var k2 = this.barHelpers.getBarpaths({ barYPosition: g3, barHeight: a3, x1: e3, x2: n2, strokeWidth: s3, isReversed: this.isReversed, series: this.series, realIndex: i2.realIndex, seriesGroup: h3, i: p3, j: f2, w: u2 });
      return this.barHelpers.barBackground({ j: f2, i: p3, y1: g3, y2: a3, elSeries: d2 }), o3 += c2, { pathTo: k2.pathTo, pathFrom: k2.pathFrom, goalX: this.barHelpers.getGoalValues("x", r3, null, p3, f2, b2), barXPosition: e3, barYPosition: g3, x: n2, y: o3 };
    } }, { key: "drawStackedColumnPaths", value: function(t4) {
      var e3 = t4.indexes, i2 = t4.x, a3 = t4.y, s3 = t4.xDivision, r3 = t4.barWidth, n2 = t4.zeroH, o3 = t4.columnGroupIndex, l2 = t4.seriesGroup, h3 = t4.elSeries, c2 = this.w, d2 = e3.i, u2 = e3.j, g3 = e3.bc, p3 = e3.realIndex, f2 = e3.translationsIndex;
      if (c2.globals.isXNumeric) {
        var x3 = c2.globals.seriesX[p3][u2];
        x3 || (x3 = 0), i2 = (x3 - c2.globals.minX) / this.xRatio - r3 / 2 * c2.globals.barGroups.length;
      }
      for (var b2, m3 = i2 + o3 * r3, v2 = 0, y2 = 0; y2 < this.groupCtx.prevYF.length; y2++) v2 += isNaN(this.groupCtx.prevYF[y2][u2]) ? 0 : this.groupCtx.prevYF[y2][u2];
      var w3 = d2;
      if (l2 && (w3 = l2.indexOf(c2.globals.seriesNames[p3])), w3 > 0 && !c2.globals.isXNumeric || w3 > 0 && c2.globals.isXNumeric && c2.globals.seriesX[p3 - 1][u2] === c2.globals.seriesX[p3][u2]) {
        var k2, A3, C2, S3 = Math.min(this.yRatio.length + 1, p3 + 1);
        if (void 0 !== this.groupCtx.prevY[w3 - 1] && this.groupCtx.prevY[w3 - 1].length) for (var L3 = 1; L3 < S3; L3++) {
          var M2;
          if (!isNaN(null === (M2 = this.groupCtx.prevY[w3 - L3]) || void 0 === M2 ? void 0 : M2[u2])) {
            C2 = this.groupCtx.prevY[w3 - L3][u2];
            break;
          }
        }
        for (var P3 = 1; P3 < S3; P3++) {
          var I2, T2;
          if ((null === (I2 = this.groupCtx.prevYVal[w3 - P3]) || void 0 === I2 ? void 0 : I2[u2]) < 0) {
            A3 = this.series[d2][u2] >= 0 ? C2 - v2 + 2 * (this.isReversed ? v2 : 0) : C2;
            break;
          }
          if ((null === (T2 = this.groupCtx.prevYVal[w3 - P3]) || void 0 === T2 ? void 0 : T2[u2]) >= 0) {
            A3 = this.series[d2][u2] >= 0 ? C2 : C2 + v2 - 2 * (this.isReversed ? v2 : 0);
            break;
          }
        }
        void 0 === A3 && (A3 = c2.globals.gridHeight), b2 = null !== (k2 = this.groupCtx.prevYF[0]) && void 0 !== k2 && k2.every(function(t5) {
          return 0 === t5;
        }) && this.groupCtx.prevYF.slice(1, w3).every(function(t5) {
          return t5.every(function(t6) {
            return isNaN(t6);
          });
        }) ? n2 : A3;
      } else b2 = n2;
      a3 = this.series[d2][u2] ? b2 - this.series[d2][u2] / this.yRatio[f2] + 2 * (this.isReversed ? this.series[d2][u2] / this.yRatio[f2] : 0) : b2;
      var z2 = this.barHelpers.getColumnPaths({ barXPosition: m3, barWidth: r3, y1: b2, y2: a3, yRatio: this.yRatio[f2], strokeWidth: this.strokeWidth, isReversed: this.isReversed, series: this.series, seriesGroup: l2, realIndex: e3.realIndex, i: d2, j: u2, w: c2 });
      return this.barHelpers.barBackground({ bc: g3, j: u2, i: d2, x1: m3, x2: r3, elSeries: h3 }), { pathTo: z2.pathTo, pathFrom: z2.pathFrom, goalY: this.barHelpers.getGoalValues("y", null, n2, d2, u2), barXPosition: m3, x: c2.globals.isXNumeric ? i2 : i2 + s3, y: a3 };
    } }]), a2;
  }(), Ta = function(t3) {
    h2(a2, Pa);
    var e2 = n(a2);
    function a2() {
      return i(this, a2), e2.apply(this, arguments);
    }
    return s2(a2, [{ key: "draw", value: function(t4, e3, i2) {
      var a3 = this, s3 = this.w, r3 = new Mi(this.ctx), n2 = s3.globals.comboCharts ? e3 : s3.config.chart.type, o3 = new ji(this.ctx);
      this.candlestickOptions = this.w.config.plotOptions.candlestick, this.boxOptions = this.w.config.plotOptions.boxPlot, this.isHorizontal = s3.config.plotOptions.bar.horizontal;
      var l2 = new Pi(this.ctx, s3);
      t4 = l2.getLogSeries(t4), this.series = t4, this.yRatio = l2.getLogYRatios(this.yRatio), this.barHelpers.initVariables(t4);
      for (var h3 = r3.group({ class: "apexcharts-".concat(n2, "-series apexcharts-plot-series") }), c2 = function(e4) {
        a3.isBoxPlot = "boxPlot" === s3.config.chart.type || "boxPlot" === s3.config.series[e4].type;
        var n3, l3, c3, d3, g3 = void 0, p3 = void 0, f2 = [], x3 = [], b2 = s3.globals.comboCharts ? i2[e4] : e4, m3 = a3.barHelpers.getGroupIndex(b2).columnGroupIndex, y2 = r3.group({ class: "apexcharts-series", seriesName: v.escapeString(s3.globals.seriesNames[b2]), rel: e4 + 1, "data:realIndex": b2 });
        a3.ctx.series.addCollapsedClassToSeries(y2, b2), t4[e4].length > 0 && (a3.visibleI = a3.visibleI + 1);
        var w3, k2, A3 = 0;
        a3.yRatio.length > 1 && (a3.yaxisIndex = s3.globals.seriesYAxisReverseMap[b2][0], A3 = b2);
        var C2 = a3.barHelpers.initialPositions();
        p3 = C2.y, w3 = C2.barHeight, l3 = C2.yDivision, d3 = C2.zeroW, g3 = C2.x, k2 = C2.barWidth, n3 = C2.xDivision, c3 = C2.zeroH, x3.push(g3 + k2 / 2);
        for (var S3 = r3.group({ class: "apexcharts-datalabels", "data:realIndex": b2 }), L3 = r3.group({ class: "apexcharts-bar-goals-markers" }), M2 = function(i3) {
          var r4 = a3.barHelpers.getStrokeWidth(e4, i3, b2), h4 = null, v2 = { indexes: { i: e4, j: i3, realIndex: b2, translationsIndex: A3 }, x: g3, y: p3, strokeWidth: r4, elSeries: y2 };
          h4 = a3.isHorizontal ? a3.drawHorizontalBoxPaths(u(u({}, v2), {}, { yDivision: l3, barHeight: w3, zeroW: d3 })) : a3.drawVerticalBoxPaths(u(u({}, v2), {}, { xDivision: n3, barWidth: k2, zeroH: c3 })), p3 = h4.y, g3 = h4.x;
          var C3 = a3.barHelpers.drawGoalLine({ barXPosition: h4.barXPosition, barYPosition: h4.barYPosition, goalX: h4.goalX, goalY: h4.goalY, barHeight: w3, barWidth: k2 });
          C3 && L3.add(C3), i3 > 0 && x3.push(g3 + k2 / 2), f2.push(p3), h4.pathTo.forEach(function(n4, l4) {
            var c4 = !a3.isBoxPlot && a3.candlestickOptions.wick.useFillColor ? h4.color[l4] : s3.globals.stroke.colors[e4], d4 = o3.fillPath({ seriesNumber: b2, dataPointIndex: i3, color: h4.color[l4], value: t4[e4][i3] });
            a3.renderSeries({ realIndex: b2, pathFill: d4, lineFill: c4, j: i3, i: e4, pathFrom: h4.pathFrom, pathTo: n4, strokeWidth: r4, elSeries: y2, x: g3, y: p3, series: t4, columnGroupIndex: m3, barHeight: w3, barWidth: k2, elDataLabelsWrap: S3, elGoalsMarkers: L3, visibleSeries: a3.visibleI, type: s3.config.chart.type });
          });
        }, P3 = 0; P3 < s3.globals.dataPoints; P3++) M2(P3);
        s3.globals.seriesXvalues[b2] = x3, s3.globals.seriesYvalues[b2] = f2, h3.add(y2);
      }, d2 = 0; d2 < t4.length; d2++) c2(d2);
      return h3;
    } }, { key: "drawVerticalBoxPaths", value: function(t4) {
      var e3 = t4.indexes, i2 = t4.x;
      t4.y;
      var a3 = t4.xDivision, s3 = t4.barWidth, r3 = t4.zeroH, n2 = t4.strokeWidth, o3 = this.w, l2 = new Mi(this.ctx), h3 = e3.i, c2 = e3.j, d2 = o3.config.plotOptions.candlestick.colors, u2 = this.boxOptions.colors, g3 = e3.realIndex, p3 = function(t5) {
        return Array.isArray(t5) ? t5[g3] : t5;
      }, f2 = p3(d2.upward), x3 = p3(d2.downward), b2 = this.yRatio[e3.translationsIndex], m3 = this.getOHLCValue(g3, c2), v2 = r3, y2 = r3, w3 = m3.o < m3.c ? [f2] : [x3];
      this.isBoxPlot && (w3 = [p3(u2.lower), p3(u2.upper)]);
      var k2 = Math.min(m3.o, m3.c), A3 = Math.max(m3.o, m3.c), C2 = m3.m;
      o3.globals.isXNumeric && (i2 = (o3.globals.seriesX[g3][c2] - o3.globals.minX) / this.xRatio - s3 / 2);
      var S3 = i2 + s3 * this.visibleI;
      void 0 === this.series[h3][c2] || null === this.series[h3][c2] ? (k2 = r3, A3 = r3) : (k2 = r3 - k2 / b2, A3 = r3 - A3 / b2, v2 = r3 - m3.h / b2, y2 = r3 - m3.l / b2, C2 = r3 - m3.m / b2);
      var L3 = l2.move(S3, r3), M2 = l2.move(S3 + s3 / 2, k2);
      return o3.globals.previousPaths.length > 0 && (M2 = this.getPreviousPath(g3, c2, true)), L3 = this.isBoxPlot ? [l2.move(S3, k2) + l2.line(S3 + s3 / 2, k2) + l2.line(S3 + s3 / 2, v2) + l2.line(S3 + s3 / 4, v2) + l2.line(S3 + s3 - s3 / 4, v2) + l2.line(S3 + s3 / 2, v2) + l2.line(S3 + s3 / 2, k2) + l2.line(S3 + s3, k2) + l2.line(S3 + s3, C2) + l2.line(S3, C2) + l2.line(S3, k2 + n2 / 2), l2.move(S3, C2) + l2.line(S3 + s3, C2) + l2.line(S3 + s3, A3) + l2.line(S3 + s3 / 2, A3) + l2.line(S3 + s3 / 2, y2) + l2.line(S3 + s3 - s3 / 4, y2) + l2.line(S3 + s3 / 4, y2) + l2.line(S3 + s3 / 2, y2) + l2.line(S3 + s3 / 2, A3) + l2.line(S3, A3) + l2.line(S3, C2) + "z"] : [l2.move(S3, A3) + l2.line(S3 + s3 / 2, A3) + l2.line(S3 + s3 / 2, v2) + l2.line(S3 + s3 / 2, A3) + l2.line(S3 + s3, A3) + l2.line(S3 + s3, k2) + l2.line(S3 + s3 / 2, k2) + l2.line(S3 + s3 / 2, y2) + l2.line(S3 + s3 / 2, k2) + l2.line(S3, k2) + l2.line(S3, A3 - n2 / 2)], M2 += l2.move(S3, k2), o3.globals.isXNumeric || (i2 += a3), { pathTo: L3, pathFrom: M2, x: i2, y: A3, goalY: this.barHelpers.getGoalValues("y", null, r3, h3, c2, e3.translationsIndex), barXPosition: S3, color: w3 };
    } }, { key: "drawHorizontalBoxPaths", value: function(t4) {
      var e3 = t4.indexes;
      t4.x;
      var i2 = t4.y, a3 = t4.yDivision, s3 = t4.barHeight, r3 = t4.zeroW, n2 = t4.strokeWidth, o3 = this.w, l2 = new Mi(this.ctx), h3 = e3.i, c2 = e3.j, d2 = this.boxOptions.colors.lower;
      this.isBoxPlot && (d2 = [this.boxOptions.colors.lower, this.boxOptions.colors.upper]);
      var u2 = this.invertedYRatio, g3 = e3.realIndex, p3 = this.getOHLCValue(g3, c2), f2 = r3, x3 = r3, b2 = Math.min(p3.o, p3.c), m3 = Math.max(p3.o, p3.c), v2 = p3.m;
      o3.globals.isXNumeric && (i2 = (o3.globals.seriesX[g3][c2] - o3.globals.minX) / this.invertedXRatio - s3 / 2);
      var y2 = i2 + s3 * this.visibleI;
      void 0 === this.series[h3][c2] || null === this.series[h3][c2] ? (b2 = r3, m3 = r3) : (b2 = r3 + b2 / u2, m3 = r3 + m3 / u2, f2 = r3 + p3.h / u2, x3 = r3 + p3.l / u2, v2 = r3 + p3.m / u2);
      var w3 = l2.move(r3, y2), k2 = l2.move(b2, y2 + s3 / 2);
      return o3.globals.previousPaths.length > 0 && (k2 = this.getPreviousPath(g3, c2, true)), w3 = [l2.move(b2, y2) + l2.line(b2, y2 + s3 / 2) + l2.line(f2, y2 + s3 / 2) + l2.line(f2, y2 + s3 / 2 - s3 / 4) + l2.line(f2, y2 + s3 / 2 + s3 / 4) + l2.line(f2, y2 + s3 / 2) + l2.line(b2, y2 + s3 / 2) + l2.line(b2, y2 + s3) + l2.line(v2, y2 + s3) + l2.line(v2, y2) + l2.line(b2 + n2 / 2, y2), l2.move(v2, y2) + l2.line(v2, y2 + s3) + l2.line(m3, y2 + s3) + l2.line(m3, y2 + s3 / 2) + l2.line(x3, y2 + s3 / 2) + l2.line(x3, y2 + s3 - s3 / 4) + l2.line(x3, y2 + s3 / 4) + l2.line(x3, y2 + s3 / 2) + l2.line(m3, y2 + s3 / 2) + l2.line(m3, y2) + l2.line(v2, y2) + "z"], k2 += l2.move(b2, y2), o3.globals.isXNumeric || (i2 += a3), { pathTo: w3, pathFrom: k2, x: m3, y: i2, goalX: this.barHelpers.getGoalValues("x", r3, null, h3, c2), barYPosition: y2, color: d2 };
    } }, { key: "getOHLCValue", value: function(t4, e3) {
      var i2 = this.w, a3 = new Pi(this.ctx, i2), s3 = a3.getLogValAtSeriesIndex(i2.globals.seriesCandleH[t4][e3], t4), r3 = a3.getLogValAtSeriesIndex(i2.globals.seriesCandleO[t4][e3], t4), n2 = a3.getLogValAtSeriesIndex(i2.globals.seriesCandleM[t4][e3], t4), o3 = a3.getLogValAtSeriesIndex(i2.globals.seriesCandleC[t4][e3], t4), l2 = a3.getLogValAtSeriesIndex(i2.globals.seriesCandleL[t4][e3], t4);
      return { o: this.isBoxPlot ? s3 : r3, h: this.isBoxPlot ? r3 : s3, m: n2, l: this.isBoxPlot ? o3 : l2, c: this.isBoxPlot ? l2 : o3 };
    } }]), a2;
  }(), za = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
    }
    return s2(t3, [{ key: "checkColorRange", value: function() {
      var t4 = this.w, e2 = false, i2 = t4.config.plotOptions[t4.config.chart.type];
      return i2.colorScale.ranges.length > 0 && i2.colorScale.ranges.map(function(t5, i3) {
        t5.from <= 0 && (e2 = true);
      }), e2;
    } }, { key: "getShadeColor", value: function(t4, e2, i2, a2) {
      var s3 = this.w, r3 = 1, n2 = s3.config.plotOptions[t4].shadeIntensity, o3 = this.determineColor(t4, e2, i2);
      s3.globals.hasNegs || a2 ? r3 = s3.config.plotOptions[t4].reverseNegativeShade ? o3.percent < 0 ? o3.percent / 100 * (1.25 * n2) : (1 - o3.percent / 100) * (1.25 * n2) : o3.percent <= 0 ? 1 - (1 + o3.percent / 100) * n2 : (1 - o3.percent / 100) * n2 : (r3 = 1 - o3.percent / 100, "treemap" === t4 && (r3 = (1 - o3.percent / 100) * (1.25 * n2)));
      var l2 = o3.color, h3 = new v();
      if (s3.config.plotOptions[t4].enableShades) if ("dark" === this.w.config.theme.mode) {
        var c2 = h3.shadeColor(-1 * r3, o3.color);
        l2 = v.hexToRgba(v.isColorHex(c2) ? c2 : v.rgb2hex(c2), s3.config.fill.opacity);
      } else {
        var d2 = h3.shadeColor(r3, o3.color);
        l2 = v.hexToRgba(v.isColorHex(d2) ? d2 : v.rgb2hex(d2), s3.config.fill.opacity);
      }
      return { color: l2, colorProps: o3 };
    } }, { key: "determineColor", value: function(t4, e2, i2) {
      var a2 = this.w, s3 = a2.globals.series[e2][i2], r3 = a2.config.plotOptions[t4], n2 = r3.colorScale.inverse ? i2 : e2;
      r3.distributed && "treemap" === a2.config.chart.type && (n2 = i2);
      var o3 = a2.globals.colors[n2], l2 = null, h3 = Math.min.apply(Math, f(a2.globals.series[e2])), c2 = Math.max.apply(Math, f(a2.globals.series[e2]));
      r3.distributed || "heatmap" !== t4 || (h3 = a2.globals.minY, c2 = a2.globals.maxY), void 0 !== r3.colorScale.min && (h3 = r3.colorScale.min < a2.globals.minY ? r3.colorScale.min : a2.globals.minY, c2 = r3.colorScale.max > a2.globals.maxY ? r3.colorScale.max : a2.globals.maxY);
      var d2 = Math.abs(c2) + Math.abs(h3), u2 = 100 * s3 / (0 === d2 ? d2 - 1e-6 : d2);
      r3.colorScale.ranges.length > 0 && r3.colorScale.ranges.map(function(t5, e3) {
        if (s3 >= t5.from && s3 <= t5.to) {
          o3 = t5.color, l2 = t5.foreColor ? t5.foreColor : null, h3 = t5.from, c2 = t5.to;
          var i3 = Math.abs(c2) + Math.abs(h3);
          u2 = 100 * s3 / (0 === i3 ? i3 - 1e-6 : i3);
        }
      });
      return { color: o3, foreColor: l2, percent: u2 };
    } }, { key: "calculateDataLabels", value: function(t4) {
      var e2 = t4.text, i2 = t4.x, a2 = t4.y, s3 = t4.i, r3 = t4.j, n2 = t4.colorProps, o3 = t4.fontSize, l2 = this.w.config.dataLabels, h3 = new Mi(this.ctx), c2 = new qi(this.ctx), d2 = null;
      if (l2.enabled) {
        d2 = h3.group({ class: "apexcharts-data-labels" });
        var u2 = l2.offsetX, g3 = l2.offsetY, p3 = i2 + u2, f2 = a2 + parseFloat(l2.style.fontSize) / 3 + g3;
        c2.plotDataLabelsText({ x: p3, y: f2, text: e2, i: s3, j: r3, color: n2.foreColor, parent: d2, fontSize: o3, dataLabelsConfig: l2 });
      }
      return d2;
    } }, { key: "addListeners", value: function(t4) {
      var e2 = new Mi(this.ctx);
      t4.node.addEventListener("mouseenter", e2.pathMouseEnter.bind(this, t4)), t4.node.addEventListener("mouseleave", e2.pathMouseLeave.bind(this, t4)), t4.node.addEventListener("mousedown", e2.pathMouseDown.bind(this, t4));
    } }]), t3;
  }(), Xa = function() {
    function t3(e2, a2) {
      i(this, t3), this.ctx = e2, this.w = e2.w, this.xRatio = a2.xRatio, this.yRatio = a2.yRatio, this.dynamicAnim = this.w.config.chart.animations.dynamicAnimation, this.helpers = new za(e2), this.rectRadius = this.w.config.plotOptions.heatmap.radius, this.strokeWidth = this.w.config.stroke.show ? this.w.config.stroke.width : 0;
    }
    return s2(t3, [{ key: "draw", value: function(t4) {
      var e2 = this.w, i2 = new Mi(this.ctx), a2 = i2.group({ class: "apexcharts-heatmap" });
      a2.attr("clip-path", "url(#gridRectMask".concat(e2.globals.cuid, ")"));
      var s3 = e2.globals.gridWidth / e2.globals.dataPoints, r3 = e2.globals.gridHeight / e2.globals.series.length, n2 = 0, o3 = false;
      this.negRange = this.helpers.checkColorRange();
      var l2 = t4.slice();
      e2.config.yaxis[0].reversed && (o3 = true, l2.reverse());
      for (var h3 = o3 ? 0 : l2.length - 1; o3 ? h3 < l2.length : h3 >= 0; o3 ? h3++ : h3--) {
        var c2 = i2.group({ class: "apexcharts-series apexcharts-heatmap-series", seriesName: v.escapeString(e2.globals.seriesNames[h3]), rel: h3 + 1, "data:realIndex": h3 });
        if (this.ctx.series.addCollapsedClassToSeries(c2, h3), e2.config.chart.dropShadow.enabled) {
          var d2 = e2.config.chart.dropShadow;
          new Li(this.ctx).dropShadow(c2, d2, h3);
        }
        for (var u2 = 0, g3 = e2.config.plotOptions.heatmap.shadeIntensity, p3 = 0, f2 = 0; f2 < e2.globals.dataPoints; f2++) if (e2.globals.seriesX.length && !e2.globals.allSeriesHasEqualX && e2.globals.minX + e2.globals.minXDiff * f2 < e2.globals.seriesX[h3][p3]) u2 += s3;
        else {
          if (p3 >= l2[h3].length) break;
          var x3 = this.helpers.getShadeColor(e2.config.chart.type, h3, p3, this.negRange), b2 = x3.color, m3 = x3.colorProps;
          if ("image" === e2.config.fill.type) b2 = new ji(this.ctx).fillPath({ seriesNumber: h3, dataPointIndex: p3, opacity: e2.globals.hasNegs ? m3.percent < 0 ? 1 - (1 + m3.percent / 100) : g3 + m3.percent / 100 : m3.percent / 100, patternID: v.randomId(), width: e2.config.fill.image.width ? e2.config.fill.image.width : s3, height: e2.config.fill.image.height ? e2.config.fill.image.height : r3 });
          var y2 = this.rectRadius, w3 = i2.drawRect(u2, n2, s3, r3, y2);
          if (w3.attr({ cx: u2, cy: n2 }), w3.node.classList.add("apexcharts-heatmap-rect"), c2.add(w3), w3.attr({ fill: b2, i: h3, index: h3, j: p3, val: t4[h3][p3], "stroke-width": this.strokeWidth, stroke: e2.config.plotOptions.heatmap.useFillColorAsStroke ? b2 : e2.globals.stroke.colors[0], color: b2 }), this.helpers.addListeners(w3), e2.config.chart.animations.enabled && !e2.globals.dataChanged) {
            var k2 = 1;
            e2.globals.resized || (k2 = e2.config.chart.animations.speed), this.animateHeatMap(w3, u2, n2, s3, r3, k2);
          }
          if (e2.globals.dataChanged) {
            var A3 = 1;
            if (this.dynamicAnim.enabled && e2.globals.shouldAnimate) {
              A3 = this.dynamicAnim.speed;
              var C2 = e2.globals.previousPaths[h3] && e2.globals.previousPaths[h3][p3] && e2.globals.previousPaths[h3][p3].color;
              C2 || (C2 = "rgba(255, 255, 255, 0)"), this.animateHeatColor(w3, v.isColorHex(C2) ? C2 : v.rgb2hex(C2), v.isColorHex(b2) ? b2 : v.rgb2hex(b2), A3);
            }
          }
          var S3 = (0, e2.config.dataLabels.formatter)(e2.globals.series[h3][p3], { value: e2.globals.series[h3][p3], seriesIndex: h3, dataPointIndex: p3, w: e2 }), L3 = this.helpers.calculateDataLabels({ text: S3, x: u2 + s3 / 2, y: n2 + r3 / 2, i: h3, j: p3, colorProps: m3, series: l2 });
          null !== L3 && c2.add(L3), u2 += s3, p3++;
        }
        n2 += r3, a2.add(c2);
      }
      var M2 = e2.globals.yAxisScale[0].result.slice();
      return e2.config.yaxis[0].reversed ? M2.unshift("") : M2.push(""), e2.globals.yAxisScale[0].result = M2, a2;
    } }, { key: "animateHeatMap", value: function(t4, e2, i2, a2, s3, r3) {
      var n2 = new y(this.ctx);
      n2.animateRect(t4, { x: e2 + a2 / 2, y: i2 + s3 / 2, width: 0, height: 0 }, { x: e2, y: i2, width: a2, height: s3 }, r3, function() {
        n2.animationCompleted(t4);
      });
    } }, { key: "animateHeatColor", value: function(t4, e2, i2, a2) {
      t4.attr({ fill: e2 }).animate(a2).attr({ fill: i2 });
    } }]), t3;
  }(), Ra = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
    }
    return s2(t3, [{ key: "drawYAxisTexts", value: function(t4, e2, i2, a2) {
      var s3 = this.w, r3 = s3.config.yaxis[0], n2 = s3.globals.yLabelFormatters[0];
      return new Mi(this.ctx).drawText({ x: t4 + r3.labels.offsetX, y: e2 + r3.labels.offsetY, text: n2(a2, i2), textAnchor: "middle", fontSize: r3.labels.style.fontSize, fontFamily: r3.labels.style.fontFamily, foreColor: Array.isArray(r3.labels.style.colors) ? r3.labels.style.colors[i2] : r3.labels.style.colors });
    } }]), t3;
  }(), Ea = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
      var a2 = this.w;
      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 = void 0 !== a2.globals.stroke.colors ? a2.globals.stroke.colors : a2.globals.colors, this.defaultSize = Math.min(a2.globals.gridWidth, a2.globals.gridHeight), this.centerY = this.defaultSize / 2, this.centerX = a2.globals.gridWidth / 2, "radialBar" === a2.config.chart.type ? this.fullAngle = 360 : this.fullAngle = Math.abs(a2.config.plotOptions.pie.endAngle - a2.config.plotOptions.pie.startAngle), this.initialAngle = a2.config.plotOptions.pie.startAngle % this.fullAngle, a2.globals.radialSize = this.defaultSize / 2.05 - a2.config.stroke.width - (a2.config.chart.sparkline.enabled ? 0 : a2.config.chart.dropShadow.blur), this.donutSize = a2.globals.radialSize * parseInt(a2.config.plotOptions.pie.donut.size, 10) / 100;
      var s3 = a2.config.plotOptions.pie.customScale, r3 = a2.globals.gridWidth / 2, n2 = a2.globals.gridHeight / 2;
      this.translateX = r3 - r3 * s3, this.translateY = n2 - n2 * s3, this.dataLabelsGroup = new Mi(this.ctx).group({ class: "apexcharts-datalabels-group", transform: "translate(".concat(this.translateX, ", ").concat(this.translateY, ") scale(").concat(s3, ")") }), this.maxY = 0, this.sliceLabels = [], this.sliceSizes = [], this.prevSectorAngleArr = [];
    }
    return s2(t3, [{ key: "draw", value: function(t4) {
      var e2 = this, i2 = this.w, a2 = new Mi(this.ctx), s3 = a2.group({ class: "apexcharts-pie" });
      if (i2.globals.noData) return s3;
      for (var r3 = 0, n2 = 0; n2 < t4.length; n2++) r3 += v.negToZero(t4[n2]);
      var o3 = [], l2 = a2.group();
      0 === r3 && (r3 = 1e-5), t4.forEach(function(t5) {
        e2.maxY = Math.max(e2.maxY, t5);
      }), i2.config.yaxis[0].max && (this.maxY = i2.config.yaxis[0].max), "back" === i2.config.grid.position && "polarArea" === this.chartType && this.drawPolarElements(s3);
      for (var h3 = 0; h3 < t4.length; h3++) {
        var c2 = this.fullAngle * v.negToZero(t4[h3]) / r3;
        o3.push(c2), "polarArea" === this.chartType ? (o3[h3] = this.fullAngle / t4.length, this.sliceSizes.push(i2.globals.radialSize * t4[h3] / this.maxY)) : this.sliceSizes.push(i2.globals.radialSize);
      }
      if (i2.globals.dataChanged) {
        for (var d2, u2 = 0, g3 = 0; g3 < i2.globals.previousPaths.length; g3++) u2 += v.negToZero(i2.globals.previousPaths[g3]);
        for (var p3 = 0; p3 < i2.globals.previousPaths.length; p3++) d2 = this.fullAngle * v.negToZero(i2.globals.previousPaths[p3]) / u2, this.prevSectorAngleArr.push(d2);
      }
      if (this.donutSize < 0 && (this.donutSize = 0), "donut" === this.chartType) {
        var f2 = a2.drawCircle(this.donutSize);
        f2.attr({ cx: this.centerX, cy: this.centerY, fill: i2.config.plotOptions.pie.donut.background ? i2.config.plotOptions.pie.donut.background : "transparent" }), l2.add(f2);
      }
      var x3 = this.drawArcs(o3, t4);
      if (this.sliceLabels.forEach(function(t5) {
        x3.add(t5);
      }), l2.attr({ transform: "translate(".concat(this.translateX, ", ").concat(this.translateY, ") scale(").concat(i2.config.plotOptions.pie.customScale, ")") }), l2.add(x3), s3.add(l2), this.donutDataLabels.show) {
        var b2 = this.renderInnerDataLabels(this.dataLabelsGroup, this.donutDataLabels, { hollowSize: this.donutSize, centerX: this.centerX, centerY: this.centerY, opacity: this.donutDataLabels.show });
        s3.add(b2);
      }
      return "front" === i2.config.grid.position && "polarArea" === this.chartType && this.drawPolarElements(s3), s3;
    } }, { key: "drawArcs", value: function(t4, e2) {
      var i2 = this.w, a2 = new Li(this.ctx), s3 = new Mi(this.ctx), r3 = new ji(this.ctx), n2 = s3.group({ class: "apexcharts-slices" }), o3 = this.initialAngle, l2 = this.initialAngle, h3 = this.initialAngle, c2 = this.initialAngle;
      this.strokeWidth = i2.config.stroke.show ? i2.config.stroke.width : 0;
      for (var d2 = 0; d2 < t4.length; d2++) {
        var u2 = s3.group({ class: "apexcharts-series apexcharts-pie-series", seriesName: v.escapeString(i2.globals.seriesNames[d2]), rel: d2 + 1, "data:realIndex": d2 });
        n2.add(u2), l2 = c2, h3 = (o3 = h3) + t4[d2], c2 = l2 + this.prevSectorAngleArr[d2];
        var g3 = h3 < o3 ? this.fullAngle + h3 - o3 : h3 - o3, p3 = r3.fillPath({ seriesNumber: d2, size: this.sliceSizes[d2], value: e2[d2] }), f2 = this.getChangedPath(l2, c2), x3 = s3.drawPath({ d: f2, stroke: Array.isArray(this.lineColorArr) ? this.lineColorArr[d2] : this.lineColorArr, strokeWidth: 0, fill: p3, fillOpacity: i2.config.fill.opacity, classes: "apexcharts-pie-area apexcharts-".concat(this.chartType.toLowerCase(), "-slice-").concat(d2) });
        if (x3.attr({ index: 0, j: d2 }), a2.setSelectionFilter(x3, 0, d2), i2.config.chart.dropShadow.enabled) {
          var b2 = i2.config.chart.dropShadow;
          a2.dropShadow(x3, b2, d2);
        }
        this.addListeners(x3, this.donutDataLabels), Mi.setAttrs(x3.node, { "data:angle": g3, "data:startAngle": o3, "data:strokeWidth": this.strokeWidth, "data:value": e2[d2] });
        var m3 = { x: 0, y: 0 };
        "pie" === this.chartType || "polarArea" === this.chartType ? m3 = v.polarToCartesian(this.centerX, this.centerY, i2.globals.radialSize / 1.25 + i2.config.plotOptions.pie.dataLabels.offset, (o3 + g3 / 2) % this.fullAngle) : "donut" === this.chartType && (m3 = v.polarToCartesian(this.centerX, this.centerY, (i2.globals.radialSize + this.donutSize) / 2 + i2.config.plotOptions.pie.dataLabels.offset, (o3 + g3 / 2) % this.fullAngle)), u2.add(x3);
        var y2 = 0;
        if (!this.initialAnim || i2.globals.resized || i2.globals.dataChanged ? this.animBeginArr.push(0) : (0 === (y2 = g3 / this.fullAngle * i2.config.chart.animations.speed) && (y2 = 1), this.animDur = y2 + this.animDur, this.animBeginArr.push(this.animDur)), this.dynamicAnim && i2.globals.dataChanged ? this.animatePaths(x3, { size: this.sliceSizes[d2], endAngle: h3, startAngle: o3, prevStartAngle: l2, prevEndAngle: c2, animateStartingPos: true, i: d2, animBeginArr: this.animBeginArr, shouldSetPrevPaths: true, dur: i2.config.chart.animations.dynamicAnimation.speed }) : this.animatePaths(x3, { size: this.sliceSizes[d2], endAngle: h3, startAngle: o3, i: d2, totalItems: t4.length - 1, animBeginArr: this.animBeginArr, dur: y2 }), i2.config.plotOptions.pie.expandOnClick && "polarArea" !== this.chartType && x3.node.addEventListener("mouseup", this.pieClicked.bind(this, d2)), void 0 !== i2.globals.selectedDataPoints[0] && i2.globals.selectedDataPoints[0].indexOf(d2) > -1 && this.pieClicked(d2), i2.config.dataLabels.enabled) {
          var w3 = m3.x, k2 = m3.y, A3 = 100 * g3 / this.fullAngle + "%";
          if (0 !== g3 && i2.config.plotOptions.pie.dataLabels.minAngleToShowLabel < t4[d2]) {
            var C2 = i2.config.dataLabels.formatter;
            void 0 !== C2 && (A3 = C2(i2.globals.seriesPercent[d2][0], { seriesIndex: d2, w: i2 }));
            var S3 = i2.globals.dataLabels.style.colors[d2], L3 = s3.group({ class: "apexcharts-datalabels" }), M2 = s3.drawText({ x: w3, y: k2, text: A3, textAnchor: "middle", fontSize: i2.config.dataLabels.style.fontSize, fontFamily: i2.config.dataLabels.style.fontFamily, fontWeight: i2.config.dataLabels.style.fontWeight, foreColor: S3 });
            if (L3.add(M2), i2.config.dataLabels.dropShadow.enabled) {
              var P3 = i2.config.dataLabels.dropShadow;
              a2.dropShadow(M2, P3);
            }
            M2.node.classList.add("apexcharts-pie-label"), i2.config.chart.animations.animate && false === i2.globals.resized && (M2.node.classList.add("apexcharts-pie-label-delay"), M2.node.style.animationDelay = i2.config.chart.animations.speed / 940 + "s"), this.sliceLabels.push(L3);
          }
        }
      }
      return n2;
    } }, { key: "addListeners", value: function(t4, e2) {
      var i2 = new Mi(this.ctx);
      t4.node.addEventListener("mouseenter", i2.pathMouseEnter.bind(this, t4)), t4.node.addEventListener("mouseleave", i2.pathMouseLeave.bind(this, t4)), t4.node.addEventListener("mouseleave", this.revertDataLabelsInner.bind(this, t4.node, e2)), t4.node.addEventListener("mousedown", i2.pathMouseDown.bind(this, t4)), this.donutDataLabels.total.showAlways || (t4.node.addEventListener("mouseenter", this.printDataLabelsInner.bind(this, t4.node, e2)), t4.node.addEventListener("mousedown", this.printDataLabelsInner.bind(this, t4.node, e2)));
    } }, { key: "animatePaths", value: function(t4, e2) {
      var i2 = this.w, a2 = e2.endAngle < e2.startAngle ? this.fullAngle + e2.endAngle - e2.startAngle : e2.endAngle - e2.startAngle, s3 = a2, r3 = e2.startAngle, n2 = e2.startAngle;
      void 0 !== e2.prevStartAngle && void 0 !== e2.prevEndAngle && (r3 = e2.prevEndAngle, s3 = e2.prevEndAngle < e2.prevStartAngle ? this.fullAngle + e2.prevEndAngle - e2.prevStartAngle : e2.prevEndAngle - e2.prevStartAngle), e2.i === i2.config.series.length - 1 && (a2 + n2 > this.fullAngle ? e2.endAngle = e2.endAngle - (a2 + n2) : a2 + n2 < this.fullAngle && (e2.endAngle = e2.endAngle + (this.fullAngle - (a2 + n2)))), a2 === this.fullAngle && (a2 = this.fullAngle - 0.01), this.animateArc(t4, r3, n2, a2, s3, e2);
    } }, { key: "animateArc", value: function(t4, e2, i2, a2, s3, r3) {
      var n2, o3 = this, l2 = this.w, h3 = new y(this.ctx), c2 = r3.size;
      (isNaN(e2) || isNaN(s3)) && (e2 = i2, s3 = a2, r3.dur = 0);
      var d2 = a2, u2 = i2, g3 = e2 < i2 ? this.fullAngle + e2 - i2 : e2 - i2;
      l2.globals.dataChanged && r3.shouldSetPrevPaths && r3.prevEndAngle && (n2 = o3.getPiePath({ me: o3, startAngle: r3.prevStartAngle, angle: r3.prevEndAngle < r3.prevStartAngle ? this.fullAngle + r3.prevEndAngle - r3.prevStartAngle : r3.prevEndAngle - r3.prevStartAngle, size: c2 }), t4.attr({ d: n2 })), 0 !== r3.dur ? t4.animate(r3.dur, r3.animBeginArr[r3.i]).after(function() {
        "pie" !== o3.chartType && "donut" !== o3.chartType && "polarArea" !== o3.chartType || this.animate(l2.config.chart.animations.dynamicAnimation.speed).attr({ "stroke-width": o3.strokeWidth }), r3.i === l2.config.series.length - 1 && h3.animationCompleted(t4);
      }).during(function(l3) {
        d2 = g3 + (a2 - g3) * l3, r3.animateStartingPos && (d2 = s3 + (a2 - s3) * l3, u2 = e2 - s3 + (i2 - (e2 - s3)) * l3), n2 = o3.getPiePath({ me: o3, startAngle: u2, angle: d2, size: c2 }), t4.node.setAttribute("data:pathOrig", n2), t4.attr({ d: n2 });
      }) : (n2 = o3.getPiePath({ me: o3, startAngle: u2, angle: a2, size: c2 }), r3.isTrack || (l2.globals.animationEnded = true), t4.node.setAttribute("data:pathOrig", n2), t4.attr({ d: n2, "stroke-width": o3.strokeWidth }));
    } }, { key: "pieClicked", value: function(t4) {
      var e2, i2 = this.w, a2 = this, s3 = a2.sliceSizes[t4] + (i2.config.plotOptions.pie.expandOnClick ? 4 : 0), r3 = i2.globals.dom.Paper.findOne(".apexcharts-".concat(a2.chartType.toLowerCase(), "-slice-").concat(t4));
      if ("true" !== r3.attr("data:pieClicked")) {
        var n2 = i2.globals.dom.baseEl.getElementsByClassName("apexcharts-pie-area");
        Array.prototype.forEach.call(n2, function(t5) {
          t5.setAttribute("data:pieClicked", "false");
          var e3 = t5.getAttribute("data:pathOrig");
          e3 && t5.setAttribute("d", e3);
        }), i2.globals.capturedDataPointIndex = t4, r3.attr("data:pieClicked", "true");
        var o3 = parseInt(r3.attr("data:startAngle"), 10), l2 = parseInt(r3.attr("data:angle"), 10);
        e2 = a2.getPiePath({ me: a2, startAngle: o3, angle: l2, size: s3 }), 360 !== l2 && r3.plot(e2);
      } else {
        r3.attr({ "data:pieClicked": "false" }), this.revertDataLabelsInner(r3.node, this.donutDataLabels);
        var h3 = r3.attr("data:pathOrig");
        r3.attr({ d: h3 });
      }
    } }, { key: "getChangedPath", value: function(t4, e2) {
      var i2 = "";
      return this.dynamicAnim && this.w.globals.dataChanged && (i2 = this.getPiePath({ me: this, startAngle: t4, angle: e2 - t4, size: this.size })), i2;
    } }, { key: "getPiePath", value: function(t4) {
      var e2, i2 = t4.me, a2 = t4.startAngle, s3 = t4.angle, r3 = t4.size, n2 = new Mi(this.ctx), o3 = a2, l2 = Math.PI * (o3 - 90) / 180, h3 = s3 + a2;
      Math.ceil(h3) >= this.fullAngle + this.w.config.plotOptions.pie.startAngle % this.fullAngle && (h3 = this.fullAngle + this.w.config.plotOptions.pie.startAngle % this.fullAngle - 0.01), Math.ceil(h3) > this.fullAngle && (h3 -= this.fullAngle);
      var c2 = Math.PI * (h3 - 90) / 180, d2 = i2.centerX + r3 * Math.cos(l2), u2 = i2.centerY + r3 * Math.sin(l2), g3 = i2.centerX + r3 * Math.cos(c2), p3 = i2.centerY + r3 * Math.sin(c2), f2 = v.polarToCartesian(i2.centerX, i2.centerY, i2.donutSize, h3), x3 = v.polarToCartesian(i2.centerX, i2.centerY, i2.donutSize, o3), b2 = s3 > 180 ? 1 : 0, m3 = ["M", d2, u2, "A", r3, r3, 0, b2, 1, g3, p3];
      return e2 = "donut" === i2.chartType ? [].concat(m3, ["L", f2.x, f2.y, "A", i2.donutSize, i2.donutSize, 0, b2, 0, x3.x, x3.y, "L", d2, u2, "z"]).join(" ") : "pie" === i2.chartType || "polarArea" === i2.chartType ? [].concat(m3, ["L", i2.centerX, i2.centerY, "L", d2, u2]).join(" ") : [].concat(m3).join(" "), n2.roundPathCorners(e2, 2 * this.strokeWidth);
    } }, { key: "drawPolarElements", value: function(t4) {
      var e2 = this.w, i2 = new ta(this.ctx), a2 = new Mi(this.ctx), s3 = new Ra(this.ctx), r3 = a2.group(), n2 = a2.group(), o3 = i2.niceScale(0, Math.ceil(this.maxY), 0), l2 = o3.result.reverse(), h3 = o3.result.length;
      this.maxY = o3.niceMax;
      for (var c2 = e2.globals.radialSize, d2 = c2 / (h3 - 1), u2 = 0; u2 < h3 - 1; u2++) {
        var g3 = a2.drawCircle(c2);
        if (g3.attr({ cx: this.centerX, cy: this.centerY, fill: "none", "stroke-width": e2.config.plotOptions.polarArea.rings.strokeWidth, stroke: e2.config.plotOptions.polarArea.rings.strokeColor }), e2.config.yaxis[0].show) {
          var p3 = s3.drawYAxisTexts(this.centerX, this.centerY - c2 + parseInt(e2.config.yaxis[0].labels.style.fontSize, 10) / 2, u2, l2[u2]);
          n2.add(p3);
        }
        r3.add(g3), c2 -= d2;
      }
      this.drawSpokes(t4), t4.add(r3), t4.add(n2);
    } }, { key: "renderInnerDataLabels", value: function(t4, e2, i2) {
      var a2 = this.w, s3 = new Mi(this.ctx), r3 = e2.total.show;
      t4.node.innerHTML = "", t4.node.style.opacity = i2.opacity;
      var n2, o3, l2 = i2.centerX, h3 = this.donutDataLabels.total.label ? i2.centerY : i2.centerY - i2.centerY / 6;
      n2 = void 0 === e2.name.color ? a2.globals.colors[0] : e2.name.color;
      var c2 = e2.name.fontSize, d2 = e2.name.fontFamily, u2 = e2.name.fontWeight;
      o3 = void 0 === e2.value.color ? a2.config.chart.foreColor : e2.value.color;
      var g3 = e2.value.formatter, p3 = "", f2 = "";
      if (r3 ? (n2 = e2.total.color, c2 = e2.total.fontSize, d2 = e2.total.fontFamily, u2 = e2.total.fontWeight, f2 = this.donutDataLabels.total.label ? e2.total.label : "", p3 = e2.total.formatter(a2)) : 1 === a2.globals.series.length && (p3 = g3(a2.globals.series[0], a2), f2 = a2.globals.seriesNames[0]), f2 && (f2 = e2.name.formatter(f2, e2.total.show, a2)), e2.name.show) {
        var x3 = s3.drawText({ x: l2, y: h3 + parseFloat(e2.name.offsetY), text: f2, textAnchor: "middle", foreColor: n2, fontSize: c2, fontWeight: u2, fontFamily: d2 });
        x3.node.classList.add("apexcharts-datalabel-label"), t4.add(x3);
      }
      if (e2.value.show) {
        var b2 = e2.name.show ? parseFloat(e2.value.offsetY) + 16 : e2.value.offsetY, m3 = s3.drawText({ x: l2, y: h3 + b2, text: p3, textAnchor: "middle", foreColor: o3, fontWeight: e2.value.fontWeight, fontSize: e2.value.fontSize, fontFamily: e2.value.fontFamily });
        m3.node.classList.add("apexcharts-datalabel-value"), t4.add(m3);
      }
      return t4;
    } }, { key: "printInnerLabels", value: function(t4, e2, i2, a2) {
      var s3, r3 = this.w;
      a2 ? s3 = void 0 === t4.name.color ? r3.globals.colors[parseInt(a2.parentNode.getAttribute("rel"), 10) - 1] : t4.name.color : r3.globals.series.length > 1 && t4.total.show && (s3 = t4.total.color);
      var n2 = r3.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"), o3 = r3.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");
      i2 = (0, t4.value.formatter)(i2, r3), a2 || "function" != typeof t4.total.formatter || (i2 = t4.total.formatter(r3));
      var l2 = e2 === t4.total.label;
      e2 = this.donutDataLabels.total.label ? t4.name.formatter(e2, l2, r3) : "", null !== n2 && (n2.textContent = e2), null !== o3 && (o3.textContent = i2), null !== n2 && (n2.style.fill = s3);
    } }, { key: "printDataLabelsInner", value: function(t4, e2) {
      var i2 = this.w, a2 = t4.getAttribute("data:value"), s3 = i2.globals.seriesNames[parseInt(t4.parentNode.getAttribute("rel"), 10) - 1];
      i2.globals.series.length > 1 && this.printInnerLabels(e2, s3, a2, t4);
      var r3 = i2.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");
      null !== r3 && (r3.style.opacity = 1);
    } }, { key: "drawSpokes", value: function(t4) {
      var e2 = this, i2 = this.w, a2 = new Mi(this.ctx), s3 = i2.config.plotOptions.polarArea.spokes;
      if (0 !== s3.strokeWidth) {
        for (var r3 = [], n2 = 360 / i2.globals.series.length, o3 = 0; o3 < i2.globals.series.length; o3++) r3.push(v.polarToCartesian(this.centerX, this.centerY, i2.globals.radialSize, i2.config.plotOptions.pie.startAngle + n2 * o3));
        r3.forEach(function(i3, r4) {
          var n3 = a2.drawLine(i3.x, i3.y, e2.centerX, e2.centerY, Array.isArray(s3.connectorColors) ? s3.connectorColors[r4] : s3.connectorColors);
          t4.add(n3);
        });
      }
    } }, { key: "revertDataLabelsInner", value: function() {
      var t4 = this.w;
      if (this.donutDataLabels.show) {
        var e2 = t4.globals.dom.Paper.findOne(".apexcharts-datalabels-group"), i2 = this.renderInnerDataLabels(e2, this.donutDataLabels, { hollowSize: this.donutSize, centerX: this.centerX, centerY: this.centerY, opacity: this.donutDataLabels.show });
        t4.globals.dom.Paper.findOne(".apexcharts-radialbar, .apexcharts-pie").add(i2);
      }
    } }]), t3;
  }(), Ya = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w, 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;
      var a2 = this.w;
      this.graphics = new Mi(this.ctx), this.lineColorArr = void 0 !== a2.globals.stroke.colors ? a2.globals.stroke.colors : a2.globals.colors, this.defaultSize = a2.globals.svgHeight < a2.globals.svgWidth ? a2.globals.gridHeight : a2.globals.gridWidth, this.isLog = a2.config.yaxis[0].logarithmic, this.logBase = a2.config.yaxis[0].logBase, this.coreUtils = new Pi(this.ctx), this.maxValue = this.isLog ? this.coreUtils.getLogVal(this.logBase, a2.globals.maxY, 0) : a2.globals.maxY, this.minValue = this.isLog ? this.coreUtils.getLogVal(this.logBase, this.w.globals.minY, 0) : a2.globals.minY, this.polygons = a2.config.plotOptions.radar.polygons, this.strokeWidth = a2.config.stroke.show ? a2.config.stroke.width : 0, this.size = this.defaultSize / 2.1 - this.strokeWidth - a2.config.chart.dropShadow.blur, a2.config.xaxis.labels.show && (this.size = this.size - a2.globals.xAxisLabelsWidth / 1.75), void 0 !== a2.config.plotOptions.radar.size && (this.size = a2.config.plotOptions.radar.size), this.dataRadiusOfPercent = [], this.dataRadius = [], this.angleArr = [], this.yaxisLabelsTextsPos = [];
    }
    return s2(t3, [{ key: "draw", value: function(t4) {
      var e2 = this, i2 = this.w, a2 = new ji(this.ctx), s3 = [], r3 = new qi(this.ctx);
      t4.length && (this.dataPointsLen = t4[i2.globals.maxValsInArrayIndex].length), this.disAngle = 2 * Math.PI / this.dataPointsLen;
      var n2 = i2.globals.gridWidth / 2, o3 = i2.globals.gridHeight / 2, l2 = n2 + i2.config.plotOptions.radar.offsetX, h3 = o3 + i2.config.plotOptions.radar.offsetY, c2 = this.graphics.group({ class: "apexcharts-radar-series apexcharts-plot-series", transform: "translate(".concat(l2 || 0, ", ").concat(h3 || 0, ")") }), d2 = [], g3 = null, p3 = null;
      if (this.yaxisLabels = this.graphics.group({ class: "apexcharts-yaxis" }), t4.forEach(function(t5, n3) {
        var o4 = t5.length === i2.globals.dataPoints, l3 = e2.graphics.group().attr({ class: "apexcharts-series", "data:longestSeries": o4, seriesName: v.escapeString(i2.globals.seriesNames[n3]), rel: n3 + 1, "data:realIndex": n3 });
        e2.dataRadiusOfPercent[n3] = [], e2.dataRadius[n3] = [], e2.angleArr[n3] = [], t5.forEach(function(t6, i3) {
          var a3 = Math.abs(e2.maxValue - e2.minValue);
          t6 -= e2.minValue, e2.isLog && (t6 = e2.coreUtils.getLogVal(e2.logBase, t6, 0)), e2.dataRadiusOfPercent[n3][i3] = t6 / a3, e2.dataRadius[n3][i3] = e2.dataRadiusOfPercent[n3][i3] * e2.size, e2.angleArr[n3][i3] = i3 * e2.disAngle;
        }), d2 = e2.getDataPointsPos(e2.dataRadius[n3], e2.angleArr[n3]);
        var h4 = e2.createPaths(d2, { x: 0, y: 0 });
        g3 = e2.graphics.group({ class: "apexcharts-series-markers-wrap apexcharts-element-hidden" }), p3 = e2.graphics.group({ class: "apexcharts-datalabels", "data:realIndex": n3 }), i2.globals.delayedElements.push({ el: g3.node, index: n3 });
        var c3 = { i: n3, realIndex: n3, animationDelay: n3, initialSpeed: i2.config.chart.animations.speed, dataChangeSpeed: i2.config.chart.animations.dynamicAnimation.speed, className: "apexcharts-radar", shouldClipToGrid: false, bindEventsOnPaths: false, stroke: i2.globals.stroke.colors[n3], strokeLineCap: i2.config.stroke.lineCap }, f3 = null;
        i2.globals.previousPaths.length > 0 && (f3 = e2.getPreviousPath(n3));
        for (var x3 = 0; x3 < h4.linePathsTo.length; x3++) {
          var b2 = e2.graphics.renderPaths(u(u({}, c3), {}, { pathFrom: null === f3 ? h4.linePathsFrom[x3] : f3, pathTo: h4.linePathsTo[x3], strokeWidth: Array.isArray(e2.strokeWidth) ? e2.strokeWidth[n3] : e2.strokeWidth, fill: "none", drawShadow: false }));
          l3.add(b2);
          var m3 = a2.fillPath({ seriesNumber: n3 }), y2 = e2.graphics.renderPaths(u(u({}, c3), {}, { pathFrom: null === f3 ? h4.areaPathsFrom[x3] : f3, pathTo: h4.areaPathsTo[x3], strokeWidth: 0, fill: m3, drawShadow: false }));
          if (i2.config.chart.dropShadow.enabled) {
            var w3 = new Li(e2.ctx), k2 = i2.config.chart.dropShadow;
            w3.dropShadow(y2, Object.assign({}, k2, { noUserSpaceOnUse: true }), n3);
          }
          l3.add(y2);
        }
        t5.forEach(function(t6, a3) {
          var s4 = new Vi(e2.ctx).getMarkerConfig({ cssClass: "apexcharts-marker", seriesIndex: n3, dataPointIndex: a3 }), o5 = e2.graphics.drawMarker(d2[a3].x, d2[a3].y, s4);
          o5.attr("rel", a3), o5.attr("j", a3), o5.attr("index", n3), o5.node.setAttribute("default-marker-size", s4.pSize);
          var h5 = e2.graphics.group({ class: "apexcharts-series-markers" });
          h5 && h5.add(o5), g3.add(h5), l3.add(g3);
          var c4 = i2.config.dataLabels;
          if (c4.enabled) {
            var f4 = c4.formatter(i2.globals.series[n3][a3], { seriesIndex: n3, dataPointIndex: a3, w: i2 });
            r3.plotDataLabelsText({ x: d2[a3].x, y: d2[a3].y, text: f4, textAnchor: "middle", i: n3, j: n3, parent: p3, offsetCorrection: false, dataLabelsConfig: u({}, c4) });
          }
          l3.add(p3);
        }), s3.push(l3);
      }), this.drawPolygons({ parent: c2 }), i2.config.xaxis.labels.show) {
        var f2 = this.drawXAxisTexts();
        c2.add(f2);
      }
      return s3.forEach(function(t5) {
        c2.add(t5);
      }), c2.add(this.yaxisLabels), c2;
    } }, { key: "drawPolygons", value: function(t4) {
      for (var e2 = this, i2 = this.w, a2 = t4.parent, s3 = new Ra(this.ctx), r3 = i2.globals.yAxisScale[0].result.reverse(), n2 = r3.length, o3 = [], l2 = this.size / (n2 - 1), h3 = 0; h3 < n2; h3++) o3[h3] = l2 * h3;
      o3.reverse();
      var c2 = [], d2 = [];
      o3.forEach(function(t5, i3) {
        var a3 = v.getPolygonPos(t5, e2.dataPointsLen), s4 = "";
        a3.forEach(function(t6, a4) {
          if (0 === i3) {
            var r4 = e2.graphics.drawLine(t6.x, t6.y, 0, 0, Array.isArray(e2.polygons.connectorColors) ? e2.polygons.connectorColors[a4] : e2.polygons.connectorColors);
            d2.push(r4);
          }
          0 === a4 && e2.yaxisLabelsTextsPos.push({ x: t6.x, y: t6.y }), s4 += t6.x + "," + t6.y + " ";
        }), c2.push(s4);
      }), c2.forEach(function(t5, s4) {
        var r4 = e2.polygons.strokeColors, n3 = e2.polygons.strokeWidth, o4 = e2.graphics.drawPolygon(t5, Array.isArray(r4) ? r4[s4] : r4, Array.isArray(n3) ? n3[s4] : n3, i2.globals.radarPolygons.fill.colors[s4]);
        a2.add(o4);
      }), d2.forEach(function(t5) {
        a2.add(t5);
      }), i2.config.yaxis[0].show && this.yaxisLabelsTextsPos.forEach(function(t5, i3) {
        var a3 = s3.drawYAxisTexts(t5.x, t5.y, i3, r3[i3]);
        e2.yaxisLabels.add(a3);
      });
    } }, { key: "drawXAxisTexts", value: function() {
      var t4 = this, e2 = this.w, i2 = e2.config.xaxis.labels, a2 = this.graphics.group({ class: "apexcharts-xaxis" }), s3 = v.getPolygonPos(this.size, this.dataPointsLen);
      return e2.globals.labels.forEach(function(r3, n2) {
        var o3 = e2.config.xaxis.labels.formatter, l2 = new qi(t4.ctx);
        if (s3[n2]) {
          var h3 = t4.getTextPos(s3[n2], t4.size), c2 = o3(r3, { seriesIndex: -1, dataPointIndex: n2, w: e2 });
          l2.plotDataLabelsText({ x: h3.newX, y: h3.newY, text: c2, textAnchor: h3.textAnchor, i: n2, j: n2, parent: a2, className: "apexcharts-xaxis-label", color: Array.isArray(i2.style.colors) && i2.style.colors[n2] ? i2.style.colors[n2] : "#a8a8a8", dataLabelsConfig: u({ textAnchor: h3.textAnchor, dropShadow: { enabled: false } }, i2), offsetCorrection: false }).on("click", function(i3) {
            if ("function" == typeof e2.config.chart.events.xAxisLabelClick) {
              var a3 = Object.assign({}, e2, { labelIndex: n2 });
              e2.config.chart.events.xAxisLabelClick(i3, t4.ctx, a3);
            }
          });
        }
      }), a2;
    } }, { key: "createPaths", value: function(t4, e2) {
      var i2 = this, a2 = [], s3 = [], r3 = [], n2 = [];
      if (t4.length) {
        s3 = [this.graphics.move(e2.x, e2.y)], n2 = [this.graphics.move(e2.x, e2.y)];
        var o3 = this.graphics.move(t4[0].x, t4[0].y), l2 = this.graphics.move(t4[0].x, t4[0].y);
        t4.forEach(function(e3, a3) {
          o3 += i2.graphics.line(e3.x, e3.y), l2 += i2.graphics.line(e3.x, e3.y), a3 === t4.length - 1 && (o3 += "Z", l2 += "Z");
        }), a2.push(o3), r3.push(l2);
      }
      return { linePathsFrom: s3, linePathsTo: a2, areaPathsFrom: n2, areaPathsTo: r3 };
    } }, { key: "getTextPos", value: function(t4, e2) {
      var i2 = "middle", a2 = t4.x, s3 = t4.y;
      return Math.abs(t4.x) >= 10 ? t4.x > 0 ? (i2 = "start", a2 += 10) : t4.x < 0 && (i2 = "end", a2 -= 10) : i2 = "middle", Math.abs(t4.y) >= e2 - 10 && (t4.y < 0 ? s3 -= 10 : t4.y > 0 && (s3 += 10)), { textAnchor: i2, newX: a2, newY: s3 };
    } }, { key: "getPreviousPath", value: function(t4) {
      for (var e2 = this.w, i2 = null, a2 = 0; a2 < e2.globals.previousPaths.length; a2++) {
        var s3 = e2.globals.previousPaths[a2];
        s3.paths.length > 0 && parseInt(s3.realIndex, 10) === parseInt(t4, 10) && void 0 !== e2.globals.previousPaths[a2].paths[0] && (i2 = e2.globals.previousPaths[a2].paths[0].d);
      }
      return i2;
    } }, { key: "getDataPointsPos", value: function(t4, e2) {
      var i2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : this.dataPointsLen;
      t4 = t4 || [], e2 = e2 || [];
      for (var a2 = [], s3 = 0; s3 < i2; s3++) {
        var r3 = {};
        r3.x = t4[s3] * Math.sin(e2[s3]), r3.y = -t4[s3] * Math.cos(e2[s3]), a2.push(r3);
      }
      return a2;
    } }]), t3;
  }(), Ha = function(t3) {
    h2(r3, Ea);
    var a2 = n(r3);
    function r3(t4) {
      var s3;
      i(this, r3), (s3 = a2.call(this, t4)).ctx = t4, s3.w = t4.w, s3.animBeginArr = [0], s3.animDur = 0;
      var n2 = s3.w;
      return s3.startAngle = n2.config.plotOptions.radialBar.startAngle, s3.endAngle = n2.config.plotOptions.radialBar.endAngle, s3.totalAngle = Math.abs(n2.config.plotOptions.radialBar.endAngle - n2.config.plotOptions.radialBar.startAngle), s3.trackStartAngle = n2.config.plotOptions.radialBar.track.startAngle, s3.trackEndAngle = n2.config.plotOptions.radialBar.track.endAngle, s3.barLabels = s3.w.config.plotOptions.radialBar.barLabels, s3.donutDataLabels = s3.w.config.plotOptions.radialBar.dataLabels, s3.radialDataLabels = s3.donutDataLabels, s3.trackStartAngle || (s3.trackStartAngle = s3.startAngle), s3.trackEndAngle || (s3.trackEndAngle = s3.endAngle), 360 === s3.endAngle && (s3.endAngle = 359.99), s3.margin = parseInt(n2.config.plotOptions.radialBar.track.margin, 10), s3.onBarLabelClick = s3.onBarLabelClick.bind(e(s3)), s3;
    }
    return s2(r3, [{ key: "draw", value: function(t4) {
      var e2 = this.w, i2 = new Mi(this.ctx), a3 = i2.group({ class: "apexcharts-radialbar" });
      if (e2.globals.noData) return a3;
      var s3 = i2.group(), r4 = this.defaultSize / 2, n2 = e2.globals.gridWidth / 2, o3 = this.defaultSize / 2.05;
      e2.config.chart.sparkline.enabled || (o3 = o3 - e2.config.stroke.width - e2.config.chart.dropShadow.blur);
      var l2 = e2.globals.fill.colors;
      if (e2.config.plotOptions.radialBar.track.show) {
        var h3 = this.drawTracks({ size: o3, centerX: n2, centerY: r4, colorArr: l2, series: t4 });
        s3.add(h3);
      }
      var c2 = this.drawArcs({ size: o3, centerX: n2, centerY: r4, colorArr: l2, series: t4 }), d2 = 360;
      e2.config.plotOptions.radialBar.startAngle < 0 && (d2 = this.totalAngle);
      var u2 = (360 - d2) / 360;
      if (e2.globals.radialSize = o3 - o3 * u2, this.radialDataLabels.value.show) {
        var g3 = Math.max(this.radialDataLabels.value.offsetY, this.radialDataLabels.name.offsetY);
        e2.globals.radialSize += g3 * u2;
      }
      return s3.add(c2.g), "front" === e2.config.plotOptions.radialBar.hollow.position && (c2.g.add(c2.elHollow), c2.dataLabels && c2.g.add(c2.dataLabels)), a3.add(s3), a3;
    } }, { key: "drawTracks", value: function(t4) {
      var e2 = this.w, i2 = new Mi(this.ctx), a3 = i2.group({ class: "apexcharts-tracks" }), s3 = new Li(this.ctx), r4 = new ji(this.ctx), n2 = this.getStrokeWidth(t4);
      t4.size = t4.size - n2 / 2;
      for (var o3 = 0; o3 < t4.series.length; o3++) {
        var l2 = i2.group({ class: "apexcharts-radialbar-track apexcharts-track" });
        a3.add(l2), l2.attr({ rel: o3 + 1 }), t4.size = t4.size - n2 - this.margin;
        var h3 = e2.config.plotOptions.radialBar.track, c2 = r4.fillPath({ seriesNumber: 0, size: t4.size, fillColors: Array.isArray(h3.background) ? h3.background[o3] : h3.background, solid: true }), d2 = this.trackStartAngle, u2 = this.trackEndAngle;
        Math.abs(u2) + Math.abs(d2) >= 360 && (u2 = 360 - Math.abs(this.startAngle) - 0.1);
        var g3 = i2.drawPath({ d: "", stroke: c2, strokeWidth: n2 * parseInt(h3.strokeWidth, 10) / 100, fill: "none", strokeOpacity: h3.opacity, classes: "apexcharts-radialbar-area" });
        if (h3.dropShadow.enabled) {
          var p3 = h3.dropShadow;
          s3.dropShadow(g3, p3);
        }
        l2.add(g3), g3.attr("id", "apexcharts-radialbarTrack-" + o3), this.animatePaths(g3, { centerX: t4.centerX, centerY: t4.centerY, endAngle: u2, startAngle: d2, size: t4.size, i: o3, totalItems: 2, animBeginArr: 0, dur: 0, isTrack: true });
      }
      return a3;
    } }, { key: "drawArcs", value: function(t4) {
      var e2 = this.w, i2 = new Mi(this.ctx), a3 = new ji(this.ctx), s3 = new Li(this.ctx), r4 = i2.group(), n2 = this.getStrokeWidth(t4);
      t4.size = t4.size - n2 / 2;
      var o3 = e2.config.plotOptions.radialBar.hollow.background, l2 = t4.size - n2 * t4.series.length - this.margin * t4.series.length - n2 * parseInt(e2.config.plotOptions.radialBar.track.strokeWidth, 10) / 100 / 2, h3 = l2 - e2.config.plotOptions.radialBar.hollow.margin;
      void 0 !== e2.config.plotOptions.radialBar.hollow.image && (o3 = this.drawHollowImage(t4, r4, l2, o3));
      var c2 = this.drawHollow({ size: h3, centerX: t4.centerX, centerY: t4.centerY, fill: o3 || "transparent" });
      if (e2.config.plotOptions.radialBar.hollow.dropShadow.enabled) {
        var d2 = e2.config.plotOptions.radialBar.hollow.dropShadow;
        s3.dropShadow(c2, d2);
      }
      var u2 = 1;
      !this.radialDataLabels.total.show && e2.globals.series.length > 1 && (u2 = 0);
      var g3 = null;
      if (this.radialDataLabels.show) {
        var p3 = e2.globals.dom.Paper.findOne(".apexcharts-datalabels-group");
        g3 = this.renderInnerDataLabels(p3, this.radialDataLabels, { hollowSize: l2, centerX: t4.centerX, centerY: t4.centerY, opacity: u2 });
      }
      "back" === e2.config.plotOptions.radialBar.hollow.position && (r4.add(c2), g3 && r4.add(g3));
      var f2 = false;
      e2.config.plotOptions.radialBar.inverseOrder && (f2 = true);
      for (var x3 = f2 ? t4.series.length - 1 : 0; f2 ? x3 >= 0 : x3 < t4.series.length; f2 ? x3-- : x3++) {
        var b2 = i2.group({ class: "apexcharts-series apexcharts-radial-series", seriesName: v.escapeString(e2.globals.seriesNames[x3]) });
        r4.add(b2), b2.attr({ rel: x3 + 1, "data:realIndex": x3 }), this.ctx.series.addCollapsedClassToSeries(b2, x3), t4.size = t4.size - n2 - this.margin;
        var m3 = a3.fillPath({ seriesNumber: x3, size: t4.size, value: t4.series[x3] }), y2 = this.startAngle, w3 = void 0, k2 = v.negToZero(t4.series[x3] > 100 ? 100 : t4.series[x3]) / 100, A3 = Math.round(this.totalAngle * k2) + this.startAngle, C2 = void 0;
        e2.globals.dataChanged && (w3 = this.startAngle, C2 = Math.round(this.totalAngle * v.negToZero(e2.globals.previousPaths[x3]) / 100) + w3), Math.abs(A3) + Math.abs(y2) > 360 && (A3 -= 0.01), Math.abs(C2) + Math.abs(w3) > 360 && (C2 -= 0.01);
        var S3 = A3 - y2, L3 = Array.isArray(e2.config.stroke.dashArray) ? e2.config.stroke.dashArray[x3] : e2.config.stroke.dashArray, M2 = i2.drawPath({ d: "", stroke: m3, strokeWidth: n2, fill: "none", fillOpacity: e2.config.fill.opacity, classes: "apexcharts-radialbar-area apexcharts-radialbar-slice-" + x3, strokeDashArray: L3 });
        if (Mi.setAttrs(M2.node, { "data:angle": S3, "data:value": t4.series[x3] }), e2.config.chart.dropShadow.enabled) {
          var P3 = e2.config.chart.dropShadow;
          s3.dropShadow(M2, P3, x3);
        }
        if (s3.setSelectionFilter(M2, 0, x3), this.addListeners(M2, this.radialDataLabels), b2.add(M2), M2.attr({ index: 0, j: x3 }), this.barLabels.enabled) {
          var I2 = v.polarToCartesian(t4.centerX, t4.centerY, t4.size, y2), T2 = this.barLabels.formatter(e2.globals.seriesNames[x3], { seriesIndex: x3, w: e2 }), z2 = ["apexcharts-radialbar-label"];
          this.barLabels.onClick || z2.push("apexcharts-no-click");
          var X2 = this.barLabels.useSeriesColors ? e2.globals.colors[x3] : e2.config.chart.foreColor;
          X2 || (X2 = e2.config.chart.foreColor);
          var R2 = I2.x + this.barLabels.offsetX, E2 = I2.y + this.barLabels.offsetY, Y2 = i2.drawText({ x: R2, y: E2, text: T2, textAnchor: "end", dominantBaseline: "middle", fontFamily: this.barLabels.fontFamily, fontWeight: this.barLabels.fontWeight, fontSize: this.barLabels.fontSize, foreColor: X2, cssClass: z2.join(" ") });
          Y2.on("click", this.onBarLabelClick), Y2.attr({ rel: x3 + 1 }), 0 !== y2 && Y2.attr({ "transform-origin": "".concat(R2, " ").concat(E2), transform: "rotate(".concat(y2, " 0 0)") }), b2.add(Y2);
        }
        var H2 = 0;
        !this.initialAnim || e2.globals.resized || e2.globals.dataChanged || (H2 = e2.config.chart.animations.speed), e2.globals.dataChanged && (H2 = e2.config.chart.animations.dynamicAnimation.speed), this.animDur = H2 / (1.2 * t4.series.length) + this.animDur, this.animBeginArr.push(this.animDur), this.animatePaths(M2, { centerX: t4.centerX, centerY: t4.centerY, endAngle: A3, startAngle: y2, prevEndAngle: C2, prevStartAngle: w3, size: t4.size, i: x3, totalItems: 2, animBeginArr: this.animBeginArr, dur: H2, shouldSetPrevPaths: true });
      }
      return { g: r4, elHollow: c2, dataLabels: g3 };
    } }, { key: "drawHollow", value: function(t4) {
      var e2 = new Mi(this.ctx).drawCircle(2 * t4.size);
      return e2.attr({ class: "apexcharts-radialbar-hollow", cx: t4.centerX, cy: t4.centerY, r: t4.size, fill: t4.fill }), e2;
    } }, { key: "drawHollowImage", value: function(t4, e2, i2, a3) {
      var s3 = this.w, r4 = new ji(this.ctx), n2 = v.randomId(), o3 = s3.config.plotOptions.radialBar.hollow.image;
      if (s3.config.plotOptions.radialBar.hollow.imageClipped) r4.clippedImgArea({ width: i2, height: i2, image: o3, patternID: "pattern".concat(s3.globals.cuid).concat(n2) }), a3 = "url(#pattern".concat(s3.globals.cuid).concat(n2, ")");
      else {
        var l2 = s3.config.plotOptions.radialBar.hollow.imageWidth, h3 = s3.config.plotOptions.radialBar.hollow.imageHeight;
        if (void 0 === l2 && void 0 === h3) {
          var c2 = s3.globals.dom.Paper.image(o3, function(e3) {
            this.move(t4.centerX - e3.width / 2 + s3.config.plotOptions.radialBar.hollow.imageOffsetX, t4.centerY - e3.height / 2 + s3.config.plotOptions.radialBar.hollow.imageOffsetY);
          });
          e2.add(c2);
        } else {
          var d2 = s3.globals.dom.Paper.image(o3, function(e3) {
            this.move(t4.centerX - l2 / 2 + s3.config.plotOptions.radialBar.hollow.imageOffsetX, t4.centerY - h3 / 2 + s3.config.plotOptions.radialBar.hollow.imageOffsetY), this.size(l2, h3);
          });
          e2.add(d2);
        }
      }
      return a3;
    } }, { key: "getStrokeWidth", value: function(t4) {
      var e2 = this.w;
      return t4.size * (100 - parseInt(e2.config.plotOptions.radialBar.hollow.size, 10)) / 100 / (t4.series.length + 1) - this.margin;
    } }, { key: "onBarLabelClick", value: function(t4) {
      var e2 = parseInt(t4.target.getAttribute("rel"), 10) - 1, i2 = this.barLabels.onClick, a3 = this.w;
      i2 && i2(a3.globals.seriesNames[e2], { w: a3, seriesIndex: e2 });
    } }]), r3;
  }(), Oa = function(t3) {
    h2(a2, Pa);
    var e2 = n(a2);
    function a2() {
      return i(this, a2), e2.apply(this, arguments);
    }
    return s2(a2, [{ key: "draw", value: function(t4, e3) {
      var i2 = this.w, a3 = new Mi(this.ctx);
      this.rangeBarOptions = this.w.config.plotOptions.rangeBar, this.series = t4, this.seriesRangeStart = i2.globals.seriesRangeStart, this.seriesRangeEnd = i2.globals.seriesRangeEnd, this.barHelpers.initVariables(t4);
      for (var s3 = a3.group({ class: "apexcharts-rangebar-series apexcharts-plot-series" }), r3 = 0; r3 < t4.length; r3++) {
        var n2, o3, l2, h3, c2 = void 0, d2 = void 0, g3 = i2.globals.comboCharts ? e3[r3] : r3, p3 = this.barHelpers.getGroupIndex(g3).columnGroupIndex, f2 = a3.group({ class: "apexcharts-series", seriesName: v.escapeString(i2.globals.seriesNames[g3]), rel: r3 + 1, "data:realIndex": g3 });
        this.ctx.series.addCollapsedClassToSeries(f2, g3), t4[r3].length > 0 && (this.visibleI = this.visibleI + 1);
        var x3 = 0, b2 = 0, m3 = 0;
        this.yRatio.length > 1 && (this.yaxisIndex = i2.globals.seriesYAxisReverseMap[g3][0], m3 = g3);
        var y2 = this.barHelpers.initialPositions();
        d2 = y2.y, h3 = y2.zeroW, c2 = y2.x, b2 = y2.barWidth, x3 = y2.barHeight, n2 = y2.xDivision, o3 = y2.yDivision, l2 = y2.zeroH;
        for (var w3 = a3.group({ class: "apexcharts-datalabels", "data:realIndex": g3 }), k2 = a3.group({ class: "apexcharts-rangebar-goals-markers" }), A3 = 0; A3 < i2.globals.dataPoints; A3++) {
          var C2 = this.barHelpers.getStrokeWidth(r3, A3, g3), S3 = this.seriesRangeStart[r3][A3], L3 = this.seriesRangeEnd[r3][A3], M2 = null, P3 = null, I2 = null, T2 = { x: c2, y: d2, strokeWidth: C2, elSeries: f2 }, z2 = this.seriesLen;
          if (i2.config.plotOptions.bar.rangeBarGroupRows && (z2 = 1), void 0 === i2.config.series[r3].data[A3]) break;
          if (this.isHorizontal) {
            I2 = d2 + x3 * this.visibleI;
            var X2 = (o3 - x3 * z2) / 2;
            if (i2.config.series[r3].data[A3].x) {
              var R2 = this.detectOverlappingBars({ i: r3, j: A3, barYPosition: I2, srty: X2, barHeight: x3, yDivision: o3, initPositions: y2 });
              x3 = R2.barHeight, I2 = R2.barYPosition;
            }
            b2 = (M2 = this.drawRangeBarPaths(u({ indexes: { i: r3, j: A3, realIndex: g3 }, barHeight: x3, barYPosition: I2, zeroW: h3, yDivision: o3, y1: S3, y2: L3 }, T2))).barWidth;
          } else {
            i2.globals.isXNumeric && (c2 = (i2.globals.seriesX[r3][A3] - i2.globals.minX) / this.xRatio - b2 / 2), P3 = c2 + b2 * this.visibleI;
            var E2 = (n2 - b2 * z2) / 2;
            if (i2.config.series[r3].data[A3].x) {
              var Y2 = this.detectOverlappingBars({ i: r3, j: A3, barXPosition: P3, srtx: E2, barWidth: b2, xDivision: n2, initPositions: y2 });
              b2 = Y2.barWidth, P3 = Y2.barXPosition;
            }
            x3 = (M2 = this.drawRangeColumnPaths(u({ indexes: { i: r3, j: A3, realIndex: g3, translationsIndex: m3 }, barWidth: b2, barXPosition: P3, zeroH: l2, xDivision: n2 }, T2))).barHeight;
          }
          var H2 = this.barHelpers.drawGoalLine({ barXPosition: M2.barXPosition, barYPosition: I2, goalX: M2.goalX, goalY: M2.goalY, barHeight: x3, barWidth: b2 });
          H2 && k2.add(H2), d2 = M2.y, c2 = M2.x;
          var O2 = this.barHelpers.getPathFillColor(t4, r3, A3, g3);
          this.renderSeries({ realIndex: g3, pathFill: O2.color, lineFill: O2.useRangeColor ? O2.color : i2.globals.stroke.colors[g3], j: A3, i: r3, x: c2, y: d2, y1: S3, y2: L3, pathFrom: M2.pathFrom, pathTo: M2.pathTo, strokeWidth: C2, elSeries: f2, series: t4, barHeight: x3, barWidth: b2, barXPosition: P3, barYPosition: I2, columnGroupIndex: p3, elDataLabelsWrap: w3, elGoalsMarkers: k2, visibleSeries: this.visibleI, type: "rangebar" });
        }
        s3.add(f2);
      }
      return s3;
    } }, { key: "detectOverlappingBars", value: function(t4) {
      var e3 = t4.i, i2 = t4.j, a3 = t4.barYPosition, s3 = t4.barXPosition, r3 = t4.srty, n2 = t4.srtx, o3 = t4.barHeight, l2 = t4.barWidth, h3 = t4.yDivision, c2 = t4.xDivision, d2 = t4.initPositions, u2 = this.w, g3 = [], p3 = u2.config.series[e3].data[i2].rangeName, f2 = u2.config.series[e3].data[i2].x, x3 = Array.isArray(f2) ? f2.join(" ") : f2, b2 = u2.globals.labels.map(function(t5) {
        return Array.isArray(t5) ? t5.join(" ") : t5;
      }).indexOf(x3), m3 = u2.globals.seriesRange[e3].findIndex(function(t5) {
        return t5.x === x3 && t5.overlaps.length > 0;
      });
      return this.isHorizontal ? (a3 = u2.config.plotOptions.bar.rangeBarGroupRows ? r3 + h3 * b2 : r3 + o3 * this.visibleI + h3 * b2, m3 > -1 && !u2.config.plotOptions.bar.rangeBarOverlap && (g3 = u2.globals.seriesRange[e3][m3].overlaps).indexOf(p3) > -1 && (a3 = (o3 = d2.barHeight / g3.length) * this.visibleI + h3 * (100 - parseInt(this.barOptions.barHeight, 10)) / 100 / 2 + o3 * (this.visibleI + g3.indexOf(p3)) + h3 * b2)) : (b2 > -1 && !u2.globals.timescaleLabels.length && (s3 = u2.config.plotOptions.bar.rangeBarGroupRows ? n2 + c2 * b2 : n2 + l2 * this.visibleI + c2 * b2), m3 > -1 && !u2.config.plotOptions.bar.rangeBarOverlap && (g3 = u2.globals.seriesRange[e3][m3].overlaps).indexOf(p3) > -1 && (s3 = (l2 = d2.barWidth / g3.length) * this.visibleI + c2 * (100 - parseInt(this.barOptions.barWidth, 10)) / 100 / 2 + l2 * (this.visibleI + g3.indexOf(p3)) + c2 * b2)), { barYPosition: a3, barXPosition: s3, barHeight: o3, barWidth: l2 };
    } }, { key: "drawRangeColumnPaths", value: function(t4) {
      var e3 = t4.indexes, i2 = t4.x, a3 = t4.xDivision, s3 = t4.barWidth, r3 = t4.barXPosition, n2 = t4.zeroH, o3 = this.w, l2 = e3.i, h3 = e3.j, c2 = e3.realIndex, d2 = e3.translationsIndex, u2 = this.yRatio[d2], g3 = this.getRangeValue(c2, h3), p3 = Math.min(g3.start, g3.end), f2 = Math.max(g3.start, g3.end);
      void 0 === this.series[l2][h3] || null === this.series[l2][h3] ? p3 = n2 : (p3 = n2 - p3 / u2, f2 = n2 - f2 / u2);
      var x3 = Math.abs(f2 - p3), b2 = this.barHelpers.getColumnPaths({ barXPosition: r3, barWidth: s3, y1: p3, y2: f2, strokeWidth: this.strokeWidth, series: this.seriesRangeEnd, realIndex: c2, i: c2, j: h3, w: o3 });
      if (o3.globals.isXNumeric) {
        var m3 = this.getBarXForNumericXAxis({ x: i2, j: h3, realIndex: c2, barWidth: s3 });
        i2 = m3.x, r3 = m3.barXPosition;
      } else i2 += a3;
      return { pathTo: b2.pathTo, pathFrom: b2.pathFrom, barHeight: x3, x: i2, y: g3.start < 0 && g3.end < 0 ? p3 : f2, goalY: this.barHelpers.getGoalValues("y", null, n2, l2, h3, d2), barXPosition: r3 };
    } }, { key: "preventBarOverflow", value: function(t4) {
      var e3 = this.w;
      return t4 < 0 && (t4 = 0), t4 > e3.globals.gridWidth && (t4 = e3.globals.gridWidth), t4;
    } }, { key: "drawRangeBarPaths", value: function(t4) {
      var e3 = t4.indexes, i2 = t4.y, a3 = t4.y1, s3 = t4.y2, r3 = t4.yDivision, n2 = t4.barHeight, o3 = t4.barYPosition, l2 = t4.zeroW, h3 = this.w, c2 = e3.realIndex, d2 = e3.j, u2 = this.preventBarOverflow(l2 + a3 / this.invertedYRatio), g3 = this.preventBarOverflow(l2 + s3 / this.invertedYRatio), p3 = this.getRangeValue(c2, d2), f2 = Math.abs(g3 - u2), x3 = this.barHelpers.getBarpaths({ barYPosition: o3, barHeight: n2, x1: u2, x2: g3, strokeWidth: this.strokeWidth, series: this.seriesRangeEnd, i: c2, realIndex: c2, j: d2, w: h3 });
      return h3.globals.isXNumeric || (i2 += r3), { pathTo: x3.pathTo, pathFrom: x3.pathFrom, barWidth: f2, x: p3.start < 0 && p3.end < 0 ? u2 : g3, goalX: this.barHelpers.getGoalValues("x", l2, null, c2, d2), y: i2 };
    } }, { key: "getRangeValue", value: function(t4, e3) {
      var i2 = this.w;
      return { start: i2.globals.seriesRangeStart[t4][e3], end: i2.globals.seriesRangeEnd[t4][e3] };
    } }]), a2;
  }(), Fa = function() {
    function t3(e2) {
      i(this, t3), this.w = e2.w, this.lineCtx = e2;
    }
    return s2(t3, [{ key: "sameValueSeriesFix", value: function(t4, e2) {
      var i2 = this.w;
      if (("gradient" === i2.config.fill.type || "gradient" === i2.config.fill.type[t4]) && new Pi(this.lineCtx.ctx, i2).seriesHaveSameValues(t4)) {
        var a2 = e2[t4].slice();
        a2[a2.length - 1] = a2[a2.length - 1] + 1e-6, e2[t4] = a2;
      }
      return e2;
    } }, { key: "calculatePoints", value: function(t4) {
      var e2 = t4.series, i2 = t4.realIndex, a2 = t4.x, s3 = t4.y, r3 = t4.i, n2 = t4.j, o3 = t4.prevY, l2 = this.w, h3 = [], c2 = [];
      if (0 === n2) {
        var d2 = this.lineCtx.categoryAxisCorrection + l2.config.markers.offsetX;
        l2.globals.isXNumeric && (d2 = (l2.globals.seriesX[i2][0] - l2.globals.minX) / this.lineCtx.xRatio + l2.config.markers.offsetX), h3.push(d2), c2.push(v.isNumber(e2[r3][0]) ? o3 + l2.config.markers.offsetY : null), h3.push(a2 + l2.config.markers.offsetX), c2.push(v.isNumber(e2[r3][n2 + 1]) ? s3 + l2.config.markers.offsetY : null);
      } else h3.push(a2 + l2.config.markers.offsetX), c2.push(v.isNumber(e2[r3][n2 + 1]) ? s3 + l2.config.markers.offsetY : null);
      return { x: h3, y: c2 };
    } }, { key: "checkPreviousPaths", value: function(t4) {
      for (var e2 = t4.pathFromLine, i2 = t4.pathFromArea, a2 = t4.realIndex, s3 = this.w, r3 = 0; r3 < s3.globals.previousPaths.length; r3++) {
        var n2 = s3.globals.previousPaths[r3];
        ("line" === n2.type || "area" === n2.type) && n2.paths.length > 0 && parseInt(n2.realIndex, 10) === parseInt(a2, 10) && ("line" === n2.type ? (this.lineCtx.appendPathFrom = false, e2 = s3.globals.previousPaths[r3].paths[0].d) : "area" === n2.type && (this.lineCtx.appendPathFrom = false, i2 = s3.globals.previousPaths[r3].paths[0].d, s3.config.stroke.show && s3.globals.previousPaths[r3].paths[1] && (e2 = s3.globals.previousPaths[r3].paths[1].d)));
      }
      return { pathFromLine: e2, pathFromArea: i2 };
    } }, { key: "determineFirstPrevY", value: function(t4) {
      var e2, i2, a2, s3 = t4.i, r3 = t4.realIndex, n2 = t4.series, o3 = t4.prevY, l2 = t4.lineYPosition, h3 = t4.translationsIndex, c2 = this.w, d2 = c2.config.chart.stacked && !c2.globals.comboCharts || c2.config.chart.stacked && c2.globals.comboCharts && (!this.w.config.chart.stackOnlyBar || "bar" === (null === (e2 = this.w.config.series[r3]) || void 0 === e2 ? void 0 : e2.type) || "column" === (null === (i2 = this.w.config.series[r3]) || void 0 === i2 ? void 0 : i2.type));
      if (void 0 !== (null === (a2 = n2[s3]) || void 0 === a2 ? void 0 : a2[0])) o3 = (l2 = d2 && s3 > 0 ? this.lineCtx.prevSeriesY[s3 - 1][0] : this.lineCtx.zeroY) - n2[s3][0] / this.lineCtx.yRatio[h3] + 2 * (this.lineCtx.isReversed ? n2[s3][0] / this.lineCtx.yRatio[h3] : 0);
      else if (d2 && s3 > 0 && void 0 === n2[s3][0]) {
        for (var u2 = s3 - 1; u2 >= 0; u2--) if (null !== n2[u2][0] && void 0 !== n2[u2][0]) {
          o3 = l2 = this.lineCtx.prevSeriesY[u2][0];
          break;
        }
      }
      return { prevY: o3, lineYPosition: l2 };
    } }]), t3;
  }(), Da = function(t3) {
    for (var e2, i2, a2, s3, r3 = function(t4) {
      for (var e3 = [], i3 = t4[0], a3 = t4[1], s4 = e3[0] = Wa(i3, a3), r4 = 1, n3 = t4.length - 1; r4 < n3; r4++) i3 = a3, a3 = t4[r4 + 1], e3[r4] = 0.5 * (s4 + (s4 = Wa(i3, a3)));
      return e3[r4] = s4, e3;
    }(t3), n2 = t3.length - 1, o3 = [], l2 = 0; l2 < n2; l2++) a2 = Wa(t3[l2], t3[l2 + 1]), Math.abs(a2) < 1e-6 ? r3[l2] = r3[l2 + 1] = 0 : (s3 = (e2 = r3[l2] / a2) * e2 + (i2 = r3[l2 + 1] / a2) * i2) > 9 && (s3 = 3 * a2 / Math.sqrt(s3), r3[l2] = s3 * e2, r3[l2 + 1] = s3 * i2);
    for (var h3 = 0; h3 <= n2; h3++) s3 = (t3[Math.min(n2, h3 + 1)][0] - t3[Math.max(0, h3 - 1)][0]) / (6 * (1 + r3[h3] * r3[h3])), o3.push([s3 || 0, r3[h3] * s3 || 0]);
    return o3;
  }, _a = function(t3) {
    var e2 = Da(t3), i2 = t3[1], a2 = t3[0], s3 = [], r3 = e2[1], n2 = e2[0];
    s3.push(a2, [a2[0] + n2[0], a2[1] + n2[1], i2[0] - r3[0], i2[1] - r3[1], i2[0], i2[1]]);
    for (var o3 = 2, l2 = e2.length; o3 < l2; o3++) {
      var h3 = t3[o3], c2 = e2[o3];
      s3.push([h3[0] - c2[0], h3[1] - c2[1], h3[0], h3[1]]);
    }
    return s3;
  }, Na = function(t3, e2, i2) {
    var a2 = t3.slice(e2, i2);
    if (e2) {
      if (i2 - e2 > 1 && a2[1].length < 6) {
        var s3 = a2[0].length;
        a2[1] = [2 * a2[0][s3 - 2] - a2[0][s3 - 4], 2 * a2[0][s3 - 1] - a2[0][s3 - 3]].concat(a2[1]);
      }
      a2[0] = a2[0].slice(-2);
    }
    return a2;
  };
  function Wa(t3, e2) {
    return (e2[1] - t3[1]) / (e2[0] - t3[0]);
  }
  var Ba = function() {
    function t3(e2, a2, s3) {
      i(this, t3), this.ctx = e2, this.w = e2.w, this.xyRatios = a2, this.pointsChart = !("bubble" !== this.w.config.chart.type && "scatter" !== this.w.config.chart.type) || s3, this.scatter = new Ui(this.ctx), this.noNegatives = this.w.globals.minX === Number.MAX_VALUE, this.lineHelpers = new Fa(this), this.markers = new Vi(this.ctx), this.prevSeriesY = [], this.categoryAxisCorrection = 0, this.yaxisIndex = 0;
    }
    return s2(t3, [{ key: "draw", value: function(t4, e2, i2, a2) {
      var s3, r3 = this.w, n2 = new Mi(this.ctx), o3 = r3.globals.comboCharts ? e2 : r3.config.chart.type, l2 = n2.group({ class: "apexcharts-".concat(o3, "-series apexcharts-plot-series") }), h3 = new Pi(this.ctx, r3);
      this.yRatio = this.xyRatios.yRatio, this.zRatio = this.xyRatios.zRatio, this.xRatio = this.xyRatios.xRatio, this.baseLineY = this.xyRatios.baseLineY, t4 = h3.getLogSeries(t4), this.yRatio = h3.getLogYRatios(this.yRatio), this.prevSeriesY = [];
      for (var c2 = [], d2 = 0; d2 < t4.length; d2++) {
        t4 = this.lineHelpers.sameValueSeriesFix(d2, t4);
        var g3 = r3.globals.comboCharts ? i2[d2] : d2, p3 = this.yRatio.length > 1 ? g3 : 0;
        this._initSerieVariables(t4, d2, g3);
        var f2 = [], x3 = [], b2 = [], m3 = r3.globals.padHorizontal + this.categoryAxisCorrection;
        this.ctx.series.addCollapsedClassToSeries(this.elSeries, g3), r3.globals.isXNumeric && r3.globals.seriesX.length > 0 && (m3 = (r3.globals.seriesX[g3][0] - r3.globals.minX) / this.xRatio), b2.push(m3);
        var v2, y2 = m3, w3 = void 0, k2 = y2, A3 = this.zeroY, C2 = this.zeroY;
        A3 = this.lineHelpers.determineFirstPrevY({ i: d2, realIndex: g3, series: t4, prevY: A3, lineYPosition: 0, translationsIndex: p3 }).prevY, "monotoneCubic" === r3.config.stroke.curve && null === t4[d2][0] ? f2.push(null) : f2.push(A3), v2 = A3;
        "rangeArea" === o3 && (w3 = C2 = this.lineHelpers.determineFirstPrevY({ i: d2, realIndex: g3, series: a2, prevY: C2, lineYPosition: 0, translationsIndex: p3 }).prevY, x3.push(null !== f2[0] ? C2 : null));
        var S3 = this._calculatePathsFrom({ type: o3, series: t4, i: d2, realIndex: g3, translationsIndex: p3, prevX: k2, prevY: A3, prevY2: C2 }), L3 = [f2[0]], M2 = [x3[0]], P3 = { type: o3, series: t4, realIndex: g3, translationsIndex: p3, i: d2, x: m3, y: 1, pX: y2, pY: v2, pathsFrom: S3, linePaths: [], areaPaths: [], seriesIndex: i2, lineYPosition: 0, xArrj: b2, yArrj: f2, y2Arrj: x3, seriesRangeEnd: a2 }, I2 = this._iterateOverDataPoints(u(u({}, P3), {}, { iterations: "rangeArea" === o3 ? t4[d2].length - 1 : void 0, isRangeStart: true }));
        if ("rangeArea" === o3) {
          for (var T2 = this._calculatePathsFrom({ series: a2, i: d2, realIndex: g3, prevX: k2, prevY: C2 }), z2 = this._iterateOverDataPoints(u(u({}, P3), {}, { series: a2, xArrj: [m3], yArrj: L3, y2Arrj: M2, pY: w3, areaPaths: I2.areaPaths, pathsFrom: T2, iterations: a2[d2].length - 1, isRangeStart: false })), X2 = I2.linePaths.length / 2, R2 = 0; R2 < X2; R2++) I2.linePaths[R2] = z2.linePaths[R2 + X2] + I2.linePaths[R2];
          I2.linePaths.splice(X2), I2.pathFromLine = z2.pathFromLine + I2.pathFromLine;
        } else I2.pathFromArea += "z";
        this._handlePaths({ type: o3, realIndex: g3, i: d2, paths: I2 }), this.elSeries.add(this.elPointsMain), this.elSeries.add(this.elDataLabelsWrap), c2.push(this.elSeries);
      }
      if (void 0 !== (null === (s3 = r3.config.series[0]) || void 0 === s3 ? void 0 : s3.zIndex) && c2.sort(function(t5, e3) {
        return Number(t5.node.getAttribute("zIndex")) - Number(e3.node.getAttribute("zIndex"));
      }), r3.config.chart.stacked) for (var E2 = c2.length - 1; E2 >= 0; E2--) l2.add(c2[E2]);
      else for (var Y2 = 0; Y2 < c2.length; Y2++) l2.add(c2[Y2]);
      return l2;
    } }, { key: "_initSerieVariables", value: function(t4, e2, i2) {
      var a2 = this.w, s3 = new Mi(this.ctx);
      this.xDivision = a2.globals.gridWidth / (a2.globals.dataPoints - ("on" === a2.config.xaxis.tickPlacement ? 1 : 0)), this.strokeWidth = Array.isArray(a2.config.stroke.width) ? a2.config.stroke.width[i2] : a2.config.stroke.width;
      var r3 = 0;
      this.yRatio.length > 1 && (this.yaxisIndex = a2.globals.seriesYAxisReverseMap[i2], r3 = i2), this.isReversed = a2.config.yaxis[this.yaxisIndex] && a2.config.yaxis[this.yaxisIndex].reversed, this.zeroY = a2.globals.gridHeight - this.baseLineY[r3] - (this.isReversed ? a2.globals.gridHeight : 0) + (this.isReversed ? 2 * this.baseLineY[r3] : 0), this.areaBottomY = this.zeroY, (this.zeroY > a2.globals.gridHeight || "end" === a2.config.plotOptions.area.fillTo) && (this.areaBottomY = a2.globals.gridHeight), this.categoryAxisCorrection = this.xDivision / 2, this.elSeries = s3.group({ class: "apexcharts-series", zIndex: void 0 !== a2.config.series[i2].zIndex ? a2.config.series[i2].zIndex : i2, seriesName: v.escapeString(a2.globals.seriesNames[i2]) }), this.elPointsMain = s3.group({ class: "apexcharts-series-markers-wrap", "data:realIndex": i2 }), this.elDataLabelsWrap = s3.group({ class: "apexcharts-datalabels", "data:realIndex": i2 });
      var n2 = t4[e2].length === a2.globals.dataPoints;
      this.elSeries.attr({ "data:longestSeries": n2, rel: e2 + 1, "data:realIndex": i2 }), this.appendPathFrom = true;
    } }, { key: "_calculatePathsFrom", value: function(t4) {
      var e2, i2, a2, s3, r3 = t4.type, n2 = t4.series, o3 = t4.i, l2 = t4.realIndex, h3 = t4.translationsIndex, c2 = t4.prevX, d2 = t4.prevY, u2 = t4.prevY2, g3 = this.w, p3 = new Mi(this.ctx);
      if (null === n2[o3][0]) {
        for (var f2 = 0; f2 < n2[o3].length; f2++) if (null !== n2[o3][f2]) {
          c2 = this.xDivision * f2, d2 = this.zeroY - n2[o3][f2] / this.yRatio[h3], e2 = p3.move(c2, d2), i2 = p3.move(c2, this.areaBottomY);
          break;
        }
      } else e2 = p3.move(c2, d2), "rangeArea" === r3 && (e2 = p3.move(c2, u2) + p3.line(c2, d2)), i2 = p3.move(c2, this.areaBottomY) + p3.line(c2, d2);
      if (a2 = p3.move(0, this.areaBottomY) + p3.line(0, this.areaBottomY), s3 = p3.move(0, this.areaBottomY) + p3.line(0, this.areaBottomY), g3.globals.previousPaths.length > 0) {
        var x3 = this.lineHelpers.checkPreviousPaths({ pathFromLine: a2, pathFromArea: s3, realIndex: l2 });
        a2 = x3.pathFromLine, s3 = x3.pathFromArea;
      }
      return { prevX: c2, prevY: d2, linePath: e2, areaPath: i2, pathFromLine: a2, pathFromArea: s3 };
    } }, { key: "_handlePaths", value: function(t4) {
      var e2 = t4.type, i2 = t4.realIndex, a2 = t4.i, s3 = t4.paths, r3 = this.w, n2 = new Mi(this.ctx), o3 = new ji(this.ctx);
      this.prevSeriesY.push(s3.yArrj), r3.globals.seriesXvalues[i2] = s3.xArrj, r3.globals.seriesYvalues[i2] = s3.yArrj;
      var l2 = r3.config.forecastDataPoints;
      if (l2.count > 0 && "rangeArea" !== e2) {
        var h3 = r3.globals.seriesXvalues[i2][r3.globals.seriesXvalues[i2].length - l2.count - 1], c2 = n2.drawRect(h3, 0, r3.globals.gridWidth, r3.globals.gridHeight, 0);
        r3.globals.dom.elForecastMask.appendChild(c2.node);
        var d2 = n2.drawRect(0, 0, h3, r3.globals.gridHeight, 0);
        r3.globals.dom.elNonForecastMask.appendChild(d2.node);
      }
      this.pointsChart || r3.globals.delayedElements.push({ el: this.elPointsMain.node, index: i2 });
      var g3 = { i: a2, realIndex: i2, animationDelay: a2, initialSpeed: r3.config.chart.animations.speed, dataChangeSpeed: r3.config.chart.animations.dynamicAnimation.speed, className: "apexcharts-".concat(e2) };
      if ("area" === e2) for (var p3 = o3.fillPath({ seriesNumber: i2 }), f2 = 0; f2 < s3.areaPaths.length; f2++) {
        var x3 = n2.renderPaths(u(u({}, g3), {}, { pathFrom: s3.pathFromArea, pathTo: s3.areaPaths[f2], stroke: "none", strokeWidth: 0, strokeLineCap: null, fill: p3 }));
        this.elSeries.add(x3);
      }
      if (r3.config.stroke.show && !this.pointsChart) {
        var b2 = null;
        if ("line" === e2) b2 = o3.fillPath({ seriesNumber: i2, i: a2 });
        else if ("solid" === r3.config.stroke.fill.type) b2 = r3.globals.stroke.colors[i2];
        else {
          var m3 = r3.config.fill;
          r3.config.fill = r3.config.stroke.fill, b2 = o3.fillPath({ seriesNumber: i2, i: a2 }), r3.config.fill = m3;
        }
        for (var v2 = 0; v2 < s3.linePaths.length; v2++) {
          var y2 = b2;
          "rangeArea" === e2 && (y2 = o3.fillPath({ seriesNumber: i2 }));
          var w3 = u(u({}, g3), {}, { pathFrom: s3.pathFromLine, pathTo: s3.linePaths[v2], stroke: b2, strokeWidth: this.strokeWidth, strokeLineCap: r3.config.stroke.lineCap, fill: "rangeArea" === e2 ? y2 : "none" }), k2 = n2.renderPaths(w3);
          if (this.elSeries.add(k2), k2.attr("fill-rule", "evenodd"), l2.count > 0 && "rangeArea" !== e2) {
            var A3 = n2.renderPaths(w3);
            A3.node.setAttribute("stroke-dasharray", l2.dashArray), l2.strokeWidth && A3.node.setAttribute("stroke-width", l2.strokeWidth), this.elSeries.add(A3), A3.attr("clip-path", "url(#forecastMask".concat(r3.globals.cuid, ")")), k2.attr("clip-path", "url(#nonForecastMask".concat(r3.globals.cuid, ")"));
          }
        }
      }
    } }, { key: "_iterateOverDataPoints", value: function(t4) {
      var e2, i2, a2 = this, s3 = t4.type, r3 = t4.series, n2 = t4.iterations, o3 = t4.realIndex, l2 = t4.translationsIndex, h3 = t4.i, c2 = t4.x, d2 = t4.y, u2 = t4.pX, g3 = t4.pY, p3 = t4.pathsFrom, f2 = t4.linePaths, x3 = t4.areaPaths, b2 = t4.seriesIndex, m3 = t4.lineYPosition, y2 = t4.xArrj, w3 = t4.yArrj, k2 = t4.y2Arrj, A3 = t4.isRangeStart, C2 = t4.seriesRangeEnd, S3 = this.w, L3 = new Mi(this.ctx), M2 = this.yRatio, P3 = p3.prevY, I2 = p3.linePath, T2 = p3.areaPath, z2 = p3.pathFromLine, X2 = p3.pathFromArea, R2 = v.isNumber(S3.globals.minYArr[o3]) ? S3.globals.minYArr[o3] : S3.globals.minY;
      n2 || (n2 = S3.globals.dataPoints > 1 ? S3.globals.dataPoints - 1 : S3.globals.dataPoints);
      var E2 = function(t5, e3) {
        return e3 - t5 / M2[l2] + 2 * (a2.isReversed ? t5 / M2[l2] : 0);
      }, Y2 = d2, H2 = S3.config.chart.stacked && !S3.globals.comboCharts || S3.config.chart.stacked && S3.globals.comboCharts && (!this.w.config.chart.stackOnlyBar || "bar" === (null === (e2 = this.w.config.series[o3]) || void 0 === e2 ? void 0 : e2.type) || "column" === (null === (i2 = this.w.config.series[o3]) || void 0 === i2 ? void 0 : i2.type)), O2 = S3.config.stroke.curve;
      Array.isArray(O2) && (O2 = Array.isArray(b2) ? O2[b2[h3]] : O2[h3]);
      for (var F2, D2 = 0, _2 = 0; _2 < n2 && 0 !== r3[h3].length; _2++) {
        var N2 = void 0 === r3[h3][_2 + 1] || null === r3[h3][_2 + 1];
        if (S3.globals.isXNumeric) {
          var W2 = S3.globals.seriesX[o3][_2 + 1];
          void 0 === S3.globals.seriesX[o3][_2 + 1] && (W2 = S3.globals.seriesX[o3][n2 - 1]), c2 = (W2 - S3.globals.minX) / this.xRatio;
        } else c2 += this.xDivision;
        if (H2) if (h3 > 0 && S3.globals.collapsedSeries.length < S3.config.series.length - 1) {
          m3 = this.prevSeriesY[function(t5) {
            for (var e3 = t5; e3 > 0; e3--) {
              if (!(S3.globals.collapsedSeriesIndices.indexOf((null == b2 ? void 0 : b2[e3]) || e3) > -1)) return e3;
              e3--;
            }
            return 0;
          }(h3 - 1)][_2 + 1];
        } else m3 = this.zeroY;
        else m3 = this.zeroY;
        N2 ? d2 = E2(R2, m3) : (d2 = E2(r3[h3][_2 + 1], m3), "rangeArea" === s3 && (Y2 = E2(C2[h3][_2 + 1], m3))), y2.push(null === r3[h3][_2 + 1] ? null : c2), !N2 || "smooth" !== S3.config.stroke.curve && "monotoneCubic" !== S3.config.stroke.curve ? (w3.push(d2), k2.push(Y2)) : (w3.push(null), k2.push(null));
        var B2 = this.lineHelpers.calculatePoints({ series: r3, x: c2, y: d2, realIndex: o3, i: h3, j: _2, prevY: P3 }), G3 = this._createPaths({ type: s3, series: r3, i: h3, realIndex: o3, j: _2, x: c2, y: d2, y2: Y2, xArrj: y2, yArrj: w3, y2Arrj: k2, pX: u2, pY: g3, pathState: D2, segmentStartX: F2, linePath: I2, areaPath: T2, linePaths: f2, areaPaths: x3, curve: O2, isRangeStart: A3 });
        x3 = G3.areaPaths, f2 = G3.linePaths, u2 = G3.pX, g3 = G3.pY, D2 = G3.pathState, F2 = G3.segmentStartX, T2 = G3.areaPath, I2 = G3.linePath, !this.appendPathFrom || S3.globals.hasNullValues || "monotoneCubic" === O2 && "rangeArea" === s3 || (z2 += L3.line(c2, this.areaBottomY), X2 += L3.line(c2, this.areaBottomY)), this.handleNullDataPoints(r3, B2, h3, _2, o3), this._handleMarkersAndLabels({ type: s3, pointsPos: B2, i: h3, j: _2, realIndex: o3, isRangeStart: A3 });
      }
      return { yArrj: w3, xArrj: y2, pathFromArea: X2, areaPaths: x3, pathFromLine: z2, linePaths: f2, linePath: I2, areaPath: T2 };
    } }, { key: "_handleMarkersAndLabels", value: function(t4) {
      var e2 = t4.type, i2 = t4.pointsPos, a2 = t4.isRangeStart, s3 = t4.i, r3 = t4.j, n2 = t4.realIndex, o3 = this.w, l2 = new qi(this.ctx);
      if (this.pointsChart) this.scatter.draw(this.elSeries, r3, { realIndex: n2, pointsPos: i2, zRatio: this.zRatio, elParent: this.elPointsMain });
      else {
        o3.globals.series[s3].length > 1 && this.elPointsMain.node.classList.add("apexcharts-element-hidden");
        var h3 = this.markers.plotChartMarkers(i2, n2, r3 + 1);
        null !== h3 && this.elPointsMain.add(h3);
      }
      var c2 = l2.drawDataLabel({ type: e2, isRangeStart: a2, pos: i2, i: n2, j: r3 + 1 });
      null !== c2 && this.elDataLabelsWrap.add(c2);
    } }, { key: "_createPaths", value: function(t4) {
      var e2 = t4.type, i2 = t4.series, a2 = t4.i;
      t4.realIndex;
      var s3, r3 = t4.j, n2 = t4.x, o3 = t4.y, l2 = t4.xArrj, h3 = t4.yArrj, c2 = t4.y2, d2 = t4.y2Arrj, u2 = t4.pX, g3 = t4.pY, p3 = t4.pathState, f2 = t4.segmentStartX, x3 = t4.linePath, b2 = t4.areaPath, m3 = t4.linePaths, v2 = t4.areaPaths, y2 = t4.curve, w3 = t4.isRangeStart, k2 = new Mi(this.ctx), A3 = this.areaBottomY, C2 = "rangeArea" === e2, S3 = "rangeArea" === e2 && w3;
      switch (y2) {
        case "monotoneCubic":
          var L3 = w3 ? h3 : d2;
          switch (p3) {
            case 0:
              if (null === L3[r3 + 1]) break;
              p3 = 1;
            case 1:
              if (!(C2 ? l2.length === i2[a2].length : r3 === i2[a2].length - 2)) break;
            case 2:
              var M2 = w3 ? l2 : l2.slice().reverse(), P3 = w3 ? L3 : L3.slice().reverse(), I2 = (s3 = P3, M2.map(function(t5, e3) {
                return [t5, s3[e3]];
              }).filter(function(t5) {
                return null !== t5[1];
              })), T2 = I2.length > 1 ? _a(I2) : I2, z2 = [];
              C2 && (S3 ? v2 = I2 : z2 = v2.reverse());
              var X2 = 0, R2 = 0;
              if (function(t5, e3) {
                for (var i3 = function(t6) {
                  var e4 = [], i4 = 0;
                  return t6.forEach(function(t7) {
                    null !== t7 ? i4++ : i4 > 0 && (e4.push(i4), i4 = 0);
                  }), i4 > 0 && e4.push(i4), e4;
                }(t5), a3 = [], s4 = 0, r4 = 0; s4 < i3.length; r4 += i3[s4++]) a3[s4] = Na(e3, r4, r4 + i3[s4]);
                return a3;
              }(P3, T2).forEach(function(t5) {
                X2++;
                var e3 = function(t6) {
                  for (var e4 = "", i4 = 0; i4 < t6.length; i4++) {
                    var a4 = t6[i4], s4 = a4.length;
                    s4 > 4 ? (e4 += "C".concat(a4[0], ", ").concat(a4[1]), e4 += ", ".concat(a4[2], ", ").concat(a4[3]), e4 += ", ".concat(a4[4], ", ").concat(a4[5])) : s4 > 2 && (e4 += "S".concat(a4[0], ", ").concat(a4[1]), e4 += ", ".concat(a4[2], ", ").concat(a4[3]));
                  }
                  return e4;
                }(t5), i3 = R2, a3 = (R2 += t5.length) - 1;
                S3 ? x3 = k2.move(I2[i3][0], I2[i3][1]) + e3 : C2 ? x3 = k2.move(z2[i3][0], z2[i3][1]) + k2.line(I2[i3][0], I2[i3][1]) + e3 + k2.line(z2[a3][0], z2[a3][1]) : (x3 = k2.move(I2[i3][0], I2[i3][1]) + e3, b2 = x3 + k2.line(I2[a3][0], A3) + k2.line(I2[i3][0], A3) + "z", v2.push(b2)), m3.push(x3);
              }), C2 && X2 > 1 && !S3) {
                var E2 = m3.slice(X2).reverse();
                m3.splice(X2), E2.forEach(function(t5) {
                  return m3.push(t5);
                });
              }
              p3 = 0;
          }
          break;
        case "smooth":
          var Y2 = 0.35 * (n2 - u2);
          if (null === i2[a2][r3]) p3 = 0;
          else switch (p3) {
            case 0:
              if (f2 = u2, x3 = S3 ? k2.move(u2, d2[r3]) + k2.line(u2, g3) : k2.move(u2, g3), b2 = k2.move(u2, g3), null === i2[a2][r3 + 1] || void 0 === i2[a2][r3 + 1]) {
                m3.push(x3), v2.push(b2);
                break;
              }
              if (p3 = 1, r3 < i2[a2].length - 2) {
                var H2 = k2.curve(u2 + Y2, g3, n2 - Y2, o3, n2, o3);
                x3 += H2, b2 += H2;
                break;
              }
            case 1:
              if (null === i2[a2][r3 + 1]) x3 += S3 ? k2.line(u2, c2) : k2.move(u2, g3), b2 += k2.line(u2, A3) + k2.line(f2, A3) + "z", m3.push(x3), v2.push(b2), p3 = -1;
              else {
                var O2 = k2.curve(u2 + Y2, g3, n2 - Y2, o3, n2, o3);
                x3 += O2, b2 += O2, r3 >= i2[a2].length - 2 && (S3 && (x3 += k2.curve(n2, o3, n2, o3, n2, c2) + k2.move(n2, c2)), b2 += k2.curve(n2, o3, n2, o3, n2, A3) + k2.line(f2, A3) + "z", m3.push(x3), v2.push(b2), p3 = -1);
              }
          }
          u2 = n2, g3 = o3;
          break;
        default:
          var F2 = function(t5, e3, i3) {
            var a3 = [];
            switch (t5) {
              case "stepline":
                a3 = k2.line(e3, null, "H") + k2.line(null, i3, "V");
                break;
              case "linestep":
                a3 = k2.line(null, i3, "V") + k2.line(e3, null, "H");
                break;
              case "straight":
                a3 = k2.line(e3, i3);
            }
            return a3;
          };
          if (null === i2[a2][r3]) p3 = 0;
          else switch (p3) {
            case 0:
              if (f2 = u2, x3 = S3 ? k2.move(u2, d2[r3]) + k2.line(u2, g3) : k2.move(u2, g3), b2 = k2.move(u2, g3), null === i2[a2][r3 + 1] || void 0 === i2[a2][r3 + 1]) {
                m3.push(x3), v2.push(b2);
                break;
              }
              if (p3 = 1, r3 < i2[a2].length - 2) {
                var D2 = F2(y2, n2, o3);
                x3 += D2, b2 += D2;
                break;
              }
            case 1:
              if (null === i2[a2][r3 + 1]) x3 += S3 ? k2.line(u2, c2) : k2.move(u2, g3), b2 += k2.line(u2, A3) + k2.line(f2, A3) + "z", m3.push(x3), v2.push(b2), p3 = -1;
              else {
                var _2 = F2(y2, n2, o3);
                x3 += _2, b2 += _2, r3 >= i2[a2].length - 2 && (S3 && (x3 += k2.line(n2, c2)), b2 += k2.line(n2, A3) + k2.line(f2, A3) + "z", m3.push(x3), v2.push(b2), p3 = -1);
              }
          }
          u2 = n2, g3 = o3;
      }
      return { linePaths: m3, areaPaths: v2, pX: u2, pY: g3, pathState: p3, segmentStartX: f2, linePath: x3, areaPath: b2 };
    } }, { key: "handleNullDataPoints", value: function(t4, e2, i2, a2, s3) {
      var r3 = this.w;
      if (null === t4[i2][a2] && r3.config.markers.showNullDataPoints || 1 === t4[i2].length) {
        var n2 = this.strokeWidth - r3.config.markers.strokeWidth / 2;
        n2 > 0 || (n2 = 0);
        var o3 = this.markers.plotChartMarkers(e2, s3, a2 + 1, n2, true);
        null !== o3 && this.elPointsMain.add(o3);
      }
    } }]), t3;
  }();
  window.TreemapSquared = {}, window.TreemapSquared.generate = /* @__PURE__ */ function() {
    function t3(e3, i3, a3, s4) {
      this.xoffset = e3, this.yoffset = i3, this.height = s4, this.width = a3, this.shortestEdge = function() {
        return Math.min(this.height, this.width);
      }, this.getCoordinates = function(t4) {
        var e4, i4 = [], a4 = this.xoffset, s5 = this.yoffset, n3 = r3(t4) / this.height, o3 = r3(t4) / this.width;
        if (this.width >= this.height) for (e4 = 0; e4 < t4.length; e4++) i4.push([a4, s5, a4 + n3, s5 + t4[e4] / n3]), s5 += t4[e4] / n3;
        else for (e4 = 0; e4 < t4.length; e4++) i4.push([a4, s5, a4 + t4[e4] / o3, s5 + o3]), a4 += t4[e4] / o3;
        return i4;
      }, this.cutArea = function(e4) {
        var i4;
        if (this.width >= this.height) {
          var a4 = e4 / this.height, s5 = this.width - a4;
          i4 = new t3(this.xoffset + a4, this.yoffset, s5, this.height);
        } else {
          var r4 = e4 / this.width, n3 = this.height - r4;
          i4 = new t3(this.xoffset, this.yoffset + r4, this.width, n3);
        }
        return i4;
      };
    }
    function e2(e3, a3, s4, n3, o3) {
      n3 = void 0 === n3 ? 0 : n3, o3 = void 0 === o3 ? 0 : o3;
      var l2 = i2(function(t4, e4) {
        var i3, a4 = [], s5 = e4 / r3(t4);
        for (i3 = 0; i3 < t4.length; i3++) a4[i3] = t4[i3] * s5;
        return a4;
      }(e3, a3 * s4), [], new t3(n3, o3, a3, s4), []);
      return function(t4) {
        var e4, i3, a4 = [];
        for (e4 = 0; e4 < t4.length; e4++) for (i3 = 0; i3 < t4[e4].length; i3++) a4.push(t4[e4][i3]);
        return a4;
      }(l2);
    }
    function i2(t4, e3, s4, n3) {
      var o3, l2, h3;
      if (0 !== t4.length) return o3 = s4.shortestEdge(), function(t5, e4, i3) {
        var s5;
        if (0 === t5.length) return true;
        (s5 = t5.slice()).push(e4);
        var r4 = a2(t5, i3), n4 = a2(s5, i3);
        return r4 >= n4;
      }(e3, l2 = t4[0], o3) ? (e3.push(l2), i2(t4.slice(1), e3, s4, n3)) : (h3 = s4.cutArea(r3(e3), n3), n3.push(s4.getCoordinates(e3)), i2(t4, [], h3, n3)), n3;
      n3.push(s4.getCoordinates(e3));
    }
    function a2(t4, e3) {
      var i3 = Math.min.apply(Math, t4), a3 = Math.max.apply(Math, t4), s4 = r3(t4);
      return Math.max(Math.pow(e3, 2) * a3 / Math.pow(s4, 2), Math.pow(s4, 2) / (Math.pow(e3, 2) * i3));
    }
    function s3(t4) {
      return t4 && t4.constructor === Array;
    }
    function r3(t4) {
      var e3, i3 = 0;
      for (e3 = 0; e3 < t4.length; e3++) i3 += t4[e3];
      return i3;
    }
    function n2(t4) {
      var e3, i3 = 0;
      if (s3(t4[0])) for (e3 = 0; e3 < t4.length; e3++) i3 += n2(t4[e3]);
      else i3 = r3(t4);
      return i3;
    }
    return function t4(i3, a3, r4, o3, l2) {
      o3 = void 0 === o3 ? 0 : o3, l2 = void 0 === l2 ? 0 : l2;
      var h3, c2, d2 = [], u2 = [];
      if (s3(i3[0])) {
        for (c2 = 0; c2 < i3.length; c2++) d2[c2] = n2(i3[c2]);
        for (h3 = e2(d2, a3, r4, o3, l2), c2 = 0; c2 < i3.length; c2++) u2.push(t4(i3[c2], h3[c2][2] - h3[c2][0], h3[c2][3] - h3[c2][1], h3[c2][0], h3[c2][1]));
      } else u2 = e2(i3, a3, r4, o3, l2);
      return u2;
    };
  }();
  var Ga = function() {
    function t3(e2, a2) {
      i(this, t3), this.ctx = e2, this.w = e2.w, this.strokeWidth = this.w.config.stroke.width, this.helpers = new za(e2), this.dynamicAnim = this.w.config.chart.animations.dynamicAnimation, this.labels = [];
    }
    return s2(t3, [{ key: "draw", value: function(t4) {
      var e2 = this, i2 = this.w, a2 = new Mi(this.ctx), s3 = new ji(this.ctx), r3 = a2.group({ class: "apexcharts-treemap" });
      if (i2.globals.noData) return r3;
      var n2 = [];
      return t4.forEach(function(t5) {
        var e3 = t5.map(function(t6) {
          return Math.abs(t6);
        });
        n2.push(e3);
      }), this.negRange = this.helpers.checkColorRange(), i2.config.series.forEach(function(t5, i3) {
        t5.data.forEach(function(t6) {
          Array.isArray(e2.labels[i3]) || (e2.labels[i3] = []), e2.labels[i3].push(t6.x);
        });
      }), window.TreemapSquared.generate(n2, i2.globals.gridWidth, i2.globals.gridHeight).forEach(function(n3, o3) {
        var l2 = a2.group({ class: "apexcharts-series apexcharts-treemap-series", seriesName: v.escapeString(i2.globals.seriesNames[o3]), rel: o3 + 1, "data:realIndex": o3 });
        if (i2.config.chart.dropShadow.enabled) {
          var h3 = i2.config.chart.dropShadow;
          new Li(e2.ctx).dropShadow(r3, h3, o3);
        }
        var c2 = a2.group({ class: "apexcharts-data-labels" });
        n3.forEach(function(r4, n4) {
          var h4 = r4[0], c3 = r4[1], d2 = r4[2], u2 = r4[3], g3 = a2.drawRect(h4, c3, d2 - h4, u2 - c3, i2.config.plotOptions.treemap.borderRadius, "#fff", 1, e2.strokeWidth, i2.config.plotOptions.treemap.useFillColorAsStroke ? f2 : i2.globals.stroke.colors[o3]);
          g3.attr({ cx: h4, cy: c3, index: o3, i: o3, j: n4, width: d2 - h4, height: u2 - c3 });
          var p3 = e2.helpers.getShadeColor(i2.config.chart.type, o3, n4, e2.negRange), f2 = p3.color, x3 = s3.fillPath({ color: f2, seriesNumber: o3, dataPointIndex: n4 });
          g3.node.classList.add("apexcharts-treemap-rect"), g3.attr({ fill: x3 }), e2.helpers.addListeners(g3);
          var b2 = { x: h4 + (d2 - h4) / 2, y: c3 + (u2 - c3) / 2, width: 0, height: 0 }, m3 = { x: h4, y: c3, width: d2 - h4, height: u2 - c3 };
          if (i2.config.chart.animations.enabled && !i2.globals.dataChanged) {
            var v2 = 1;
            i2.globals.resized || (v2 = i2.config.chart.animations.speed), e2.animateTreemap(g3, b2, m3, v2);
          }
          if (i2.globals.dataChanged) {
            var y2 = 1;
            e2.dynamicAnim.enabled && i2.globals.shouldAnimate && (y2 = e2.dynamicAnim.speed, i2.globals.previousPaths[o3] && i2.globals.previousPaths[o3][n4] && i2.globals.previousPaths[o3][n4].rect && (b2 = i2.globals.previousPaths[o3][n4].rect), e2.animateTreemap(g3, b2, m3, y2));
          }
          var w3 = e2.getFontSize(r4), k2 = i2.config.dataLabels.formatter(e2.labels[o3][n4], { value: i2.globals.series[o3][n4], seriesIndex: o3, dataPointIndex: n4, w: i2 });
          "truncate" === i2.config.plotOptions.treemap.dataLabels.format && (w3 = parseInt(i2.config.dataLabels.style.fontSize, 10), k2 = e2.truncateLabels(k2, w3, h4, c3, d2, u2));
          var A3 = null;
          i2.globals.series[o3][n4] && (A3 = e2.helpers.calculateDataLabels({ text: k2, x: (h4 + d2) / 2, y: (c3 + u2) / 2 + e2.strokeWidth / 2 + w3 / 3, i: o3, j: n4, colorProps: p3, fontSize: w3, series: t4 })), i2.config.dataLabels.enabled && A3 && e2.rotateToFitLabel(A3, w3, k2, h4, c3, d2, u2), l2.add(g3), null !== A3 && l2.add(A3);
        }), l2.add(c2), r3.add(l2);
      }), r3;
    } }, { key: "getFontSize", value: function(t4) {
      var e2 = this.w;
      var i2 = function t5(e3) {
        var i3, a2 = 0;
        if (Array.isArray(e3[0])) for (i3 = 0; i3 < e3.length; i3++) a2 += t5(e3[i3]);
        else for (i3 = 0; i3 < e3.length; i3++) a2 += e3[i3].length;
        return a2;
      }(this.labels) / function t5(e3) {
        var i3, a2 = 0;
        if (Array.isArray(e3[0])) for (i3 = 0; i3 < e3.length; i3++) a2 += t5(e3[i3]);
        else for (i3 = 0; i3 < e3.length; i3++) a2 += 1;
        return a2;
      }(this.labels);
      return function(t5, a2) {
        var s3 = t5 * a2, r3 = Math.pow(s3, 0.5);
        return Math.min(r3 / i2, parseInt(e2.config.dataLabels.style.fontSize, 10));
      }(t4[2] - t4[0], t4[3] - t4[1]);
    } }, { key: "rotateToFitLabel", value: function(t4, e2, i2, a2, s3, r3, n2) {
      var o3 = new Mi(this.ctx), l2 = o3.getTextRects(i2, e2);
      if (l2.width + this.w.config.stroke.width + 5 > r3 - a2 && l2.width <= n2 - s3) {
        var h3 = o3.rotateAroundCenter(t4.node);
        t4.node.setAttribute("transform", "rotate(-90 ".concat(h3.x, " ").concat(h3.y, ") translate(").concat(l2.height / 3, ")"));
      }
    } }, { key: "truncateLabels", value: function(t4, e2, i2, a2, s3, r3) {
      var n2 = new Mi(this.ctx), o3 = n2.getTextRects(t4, e2).width + this.w.config.stroke.width + 5 > s3 - i2 && r3 - a2 > s3 - i2 ? r3 - a2 : s3 - i2, l2 = n2.getTextBasedOnMaxWidth({ text: t4, maxWidth: o3, fontSize: e2 });
      return t4.length !== l2.length && o3 / e2 < 5 ? "" : l2;
    } }, { key: "animateTreemap", value: function(t4, e2, i2, a2) {
      var s3 = new y(this.ctx);
      s3.animateRect(t4, { x: e2.x, y: e2.y, width: e2.width, height: e2.height }, { x: i2.x, y: i2.y, width: i2.width, height: i2.height }, a2, function() {
        s3.animationCompleted(t4);
      });
    } }]), t3;
  }(), ja = 86400, Va = 10 / ja, Ua = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w, this.timeScaleArray = [], this.utc = this.w.config.xaxis.labels.datetimeUTC;
    }
    return s2(t3, [{ key: "calculateTimeScaleTicks", value: function(t4, e2) {
      var i2 = this, a2 = this.w;
      if (a2.globals.allSeriesCollapsed) return a2.globals.labels = [], a2.globals.timescaleLabels = [], [];
      var s3 = new zi(this.ctx), r3 = (e2 - t4) / 864e5;
      this.determineInterval(r3), a2.globals.disableZoomIn = false, a2.globals.disableZoomOut = false, r3 < Va ? a2.globals.disableZoomIn = true : r3 > 5e4 && (a2.globals.disableZoomOut = true);
      var n2 = s3.getTimeUnitsfromTimestamp(t4, e2, this.utc), o3 = a2.globals.gridWidth / r3, l2 = o3 / 24, h3 = l2 / 60, c2 = h3 / 60, d2 = Math.floor(24 * r3), g3 = Math.floor(1440 * r3), p3 = Math.floor(r3 * ja), f2 = Math.floor(r3), x3 = Math.floor(r3 / 30), b2 = Math.floor(r3 / 365), m3 = { minMillisecond: n2.minMillisecond, minSecond: n2.minSecond, minMinute: n2.minMinute, minHour: n2.minHour, minDate: n2.minDate, minMonth: n2.minMonth, minYear: n2.minYear }, v2 = { firstVal: m3, currentMillisecond: m3.minMillisecond, currentSecond: m3.minSecond, currentMinute: m3.minMinute, currentHour: m3.minHour, currentMonthDate: m3.minDate, currentDate: m3.minDate, currentMonth: m3.minMonth, currentYear: m3.minYear, daysWidthOnXAxis: o3, hoursWidthOnXAxis: l2, minutesWidthOnXAxis: h3, secondsWidthOnXAxis: c2, numberOfSeconds: p3, numberOfMinutes: g3, numberOfHours: d2, numberOfDays: f2, numberOfMonths: x3, numberOfYears: b2 };
      switch (this.tickInterval) {
        case "years":
          this.generateYearScale(v2);
          break;
        case "months":
        case "half_year":
          this.generateMonthScale(v2);
          break;
        case "months_days":
        case "months_fortnight":
        case "days":
        case "week_days":
          this.generateDayScale(v2);
          break;
        case "hours":
          this.generateHourScale(v2);
          break;
        case "minutes_fives":
        case "minutes":
          this.generateMinuteScale(v2);
          break;
        case "seconds_tens":
        case "seconds_fives":
        case "seconds":
          this.generateSecondScale(v2);
      }
      var y2 = this.timeScaleArray.map(function(t5) {
        var e3 = { position: t5.position, unit: t5.unit, year: t5.year, day: t5.day ? t5.day : 1, hour: t5.hour ? t5.hour : 0, month: t5.month + 1 };
        return "month" === t5.unit ? u(u({}, e3), {}, { day: 1, value: t5.value + 1 }) : "day" === t5.unit || "hour" === t5.unit ? u(u({}, e3), {}, { value: t5.value }) : "minute" === t5.unit ? u(u({}, e3), {}, { value: t5.value, minute: t5.value }) : "second" === t5.unit ? u(u({}, e3), {}, { value: t5.value, minute: t5.minute, second: t5.second }) : t5;
      });
      return y2.filter(function(t5) {
        var e3 = 1, s4 = Math.ceil(a2.globals.gridWidth / 120), r4 = t5.value;
        void 0 !== a2.config.xaxis.tickAmount && (s4 = a2.config.xaxis.tickAmount), y2.length > s4 && (e3 = Math.floor(y2.length / s4));
        var n3 = false, o4 = false;
        switch (i2.tickInterval) {
          case "years":
            "year" === t5.unit && (n3 = true);
            break;
          case "half_year":
            e3 = 7, "year" === t5.unit && (n3 = true);
            break;
          case "months":
            e3 = 1, "year" === t5.unit && (n3 = true);
            break;
          case "months_fortnight":
            e3 = 15, "year" !== t5.unit && "month" !== t5.unit || (n3 = true), 30 === r4 && (o4 = true);
            break;
          case "months_days":
            e3 = 10, "month" === t5.unit && (n3 = true), 30 === r4 && (o4 = true);
            break;
          case "week_days":
            e3 = 8, "month" === t5.unit && (n3 = true);
            break;
          case "days":
            e3 = 1, "month" === t5.unit && (n3 = true);
            break;
          case "hours":
            "day" === t5.unit && (n3 = true);
            break;
          case "minutes_fives":
          case "seconds_fives":
            r4 % 5 != 0 && (o4 = true);
            break;
          case "seconds_tens":
            r4 % 10 != 0 && (o4 = true);
        }
        if ("hours" === i2.tickInterval || "minutes_fives" === i2.tickInterval || "seconds_tens" === i2.tickInterval || "seconds_fives" === i2.tickInterval) {
          if (!o4) return true;
        } else if ((r4 % e3 == 0 || n3) && !o4) return true;
      });
    } }, { key: "recalcDimensionsBasedOnFormat", value: function(t4, e2) {
      var i2 = this.w, a2 = this.formatDates(t4), s3 = this.removeOverlappingTS(a2);
      i2.globals.timescaleLabels = s3.slice(), new pa(this.ctx).plotCoords();
    } }, { key: "determineInterval", value: function(t4) {
      var e2 = 24 * t4, i2 = 60 * e2;
      switch (true) {
        case t4 / 365 > 5:
          this.tickInterval = "years";
          break;
        case t4 > 800:
          this.tickInterval = "half_year";
          break;
        case t4 > 180:
          this.tickInterval = "months";
          break;
        case t4 > 90:
          this.tickInterval = "months_fortnight";
          break;
        case t4 > 60:
          this.tickInterval = "months_days";
          break;
        case t4 > 30:
          this.tickInterval = "week_days";
          break;
        case t4 > 2:
          this.tickInterval = "days";
          break;
        case e2 > 2.4:
          this.tickInterval = "hours";
          break;
        case i2 > 15:
          this.tickInterval = "minutes_fives";
          break;
        case i2 > 5:
          this.tickInterval = "minutes";
          break;
        case i2 > 1:
          this.tickInterval = "seconds_tens";
          break;
        case 60 * i2 > 20:
          this.tickInterval = "seconds_fives";
          break;
        default:
          this.tickInterval = "seconds";
      }
    } }, { key: "generateYearScale", value: function(t4) {
      var e2 = t4.firstVal, i2 = t4.currentMonth, a2 = t4.currentYear, s3 = t4.daysWidthOnXAxis, r3 = t4.numberOfYears, n2 = e2.minYear, o3 = 0, l2 = new zi(this.ctx), h3 = "year";
      if (e2.minDate > 1 || e2.minMonth > 0) {
        var c2 = l2.determineRemainingDaysOfYear(e2.minYear, e2.minMonth, e2.minDate);
        o3 = (l2.determineDaysOfYear(e2.minYear) - c2 + 1) * s3, n2 = e2.minYear + 1, this.timeScaleArray.push({ position: o3, value: n2, unit: h3, year: n2, month: v.monthMod(i2 + 1) });
      } else 1 === e2.minDate && 0 === e2.minMonth && this.timeScaleArray.push({ position: o3, value: n2, unit: h3, year: a2, month: v.monthMod(i2 + 1) });
      for (var d2 = n2, u2 = o3, g3 = 0; g3 < r3; g3++) d2++, u2 = l2.determineDaysOfYear(d2 - 1) * s3 + u2, this.timeScaleArray.push({ position: u2, value: d2, unit: h3, year: d2, month: 1 });
    } }, { key: "generateMonthScale", value: function(t4) {
      var e2 = t4.firstVal, i2 = t4.currentMonthDate, a2 = t4.currentMonth, s3 = t4.currentYear, r3 = t4.daysWidthOnXAxis, n2 = t4.numberOfMonths, o3 = a2, l2 = 0, h3 = new zi(this.ctx), c2 = "month", d2 = 0;
      if (e2.minDate > 1) {
        l2 = (h3.determineDaysOfMonths(a2 + 1, e2.minYear) - i2 + 1) * r3, o3 = v.monthMod(a2 + 1);
        var u2 = s3 + d2, g3 = v.monthMod(o3), p3 = o3;
        0 === o3 && (c2 = "year", p3 = u2, g3 = 1, u2 += d2 += 1), this.timeScaleArray.push({ position: l2, value: p3, unit: c2, year: u2, month: g3 });
      } else this.timeScaleArray.push({ position: l2, value: o3, unit: c2, year: s3, month: v.monthMod(a2) });
      for (var f2 = o3 + 1, x3 = l2, b2 = 0, m3 = 1; b2 < n2; b2++, m3++) {
        0 === (f2 = v.monthMod(f2)) ? (c2 = "year", d2 += 1) : c2 = "month";
        var y2 = this._getYear(s3, f2, d2);
        x3 = h3.determineDaysOfMonths(f2, y2) * r3 + x3;
        var w3 = 0 === f2 ? y2 : f2;
        this.timeScaleArray.push({ position: x3, value: w3, unit: c2, year: y2, month: 0 === f2 ? 1 : f2 }), f2++;
      }
    } }, { key: "generateDayScale", value: function(t4) {
      var e2 = t4.firstVal, i2 = t4.currentMonth, a2 = t4.currentYear, s3 = t4.hoursWidthOnXAxis, r3 = t4.numberOfDays, n2 = new zi(this.ctx), o3 = "day", l2 = e2.minDate + 1, h3 = l2, c2 = function(t5, e3, i3) {
        return t5 > n2.determineDaysOfMonths(e3 + 1, i3) ? (h3 = 1, o3 = "month", u2 = e3 += 1, e3) : e3;
      }, d2 = (24 - e2.minHour) * s3, u2 = l2, g3 = c2(h3, i2, a2);
      0 === e2.minHour && 1 === e2.minDate ? (d2 = 0, u2 = v.monthMod(e2.minMonth), o3 = "month", h3 = e2.minDate) : 1 !== e2.minDate && 0 === e2.minHour && 0 === e2.minMinute && (d2 = 0, l2 = e2.minDate, u2 = l2, g3 = c2(h3 = l2, i2, a2), 1 !== u2 && (o3 = "day")), this.timeScaleArray.push({ position: d2, value: u2, unit: o3, year: this._getYear(a2, g3, 0), month: v.monthMod(g3), day: h3 });
      for (var p3 = d2, f2 = 0; f2 < r3; f2++) {
        o3 = "day", g3 = c2(h3 += 1, g3, this._getYear(a2, g3, 0));
        var x3 = this._getYear(a2, g3, 0);
        p3 = 24 * s3 + p3;
        var b2 = 1 === h3 ? v.monthMod(g3) : h3;
        this.timeScaleArray.push({ position: p3, value: b2, unit: o3, year: x3, month: v.monthMod(g3), day: b2 });
      }
    } }, { key: "generateHourScale", value: function(t4) {
      var e2 = t4.firstVal, i2 = t4.currentDate, a2 = t4.currentMonth, s3 = t4.currentYear, r3 = t4.minutesWidthOnXAxis, n2 = t4.numberOfHours, o3 = new zi(this.ctx), l2 = "hour", h3 = function(t5, e3) {
        return t5 > o3.determineDaysOfMonths(e3 + 1, s3) && (f2 = 1, e3 += 1), { month: e3, date: f2 };
      }, c2 = function(t5, e3) {
        return t5 > o3.determineDaysOfMonths(e3 + 1, s3) ? e3 += 1 : e3;
      }, d2 = 60 - (e2.minMinute + e2.minSecond / 60), u2 = d2 * r3, g3 = e2.minHour + 1, p3 = g3;
      60 === d2 && (u2 = 0, p3 = g3 = e2.minHour);
      var f2 = i2;
      p3 >= 24 && (p3 = 0, l2 = "day", g3 = f2 += 1);
      var x3 = h3(f2, a2).month;
      x3 = c2(f2, x3), g3 > 31 && (g3 = f2 = 1), this.timeScaleArray.push({ position: u2, value: g3, unit: l2, day: f2, hour: p3, year: s3, month: v.monthMod(x3) }), p3++;
      for (var b2 = u2, m3 = 0; m3 < n2; m3++) {
        if (l2 = "hour", p3 >= 24) p3 = 0, l2 = "day", x3 = h3(f2 += 1, x3).month, x3 = c2(f2, x3);
        var y2 = this._getYear(s3, x3, 0);
        b2 = 60 * r3 + b2;
        var w3 = 0 === p3 ? f2 : p3;
        this.timeScaleArray.push({ position: b2, value: w3, unit: l2, hour: p3, day: f2, year: y2, month: v.monthMod(x3) }), p3++;
      }
    } }, { key: "generateMinuteScale", value: function(t4) {
      for (var e2 = t4.currentMillisecond, i2 = t4.currentSecond, a2 = t4.currentMinute, s3 = t4.currentHour, r3 = t4.currentDate, n2 = t4.currentMonth, o3 = t4.currentYear, l2 = t4.minutesWidthOnXAxis, h3 = t4.secondsWidthOnXAxis, c2 = t4.numberOfMinutes, d2 = a2 + 1, u2 = r3, g3 = n2, p3 = o3, f2 = s3, x3 = (60 - i2 - e2 / 1e3) * h3, b2 = 0; b2 < c2; b2++) d2 >= 60 && (d2 = 0, 24 === (f2 += 1) && (f2 = 0)), this.timeScaleArray.push({ position: x3, value: d2, unit: "minute", hour: f2, minute: d2, day: u2, year: this._getYear(p3, g3, 0), month: v.monthMod(g3) }), x3 += l2, d2++;
    } }, { key: "generateSecondScale", value: function(t4) {
      for (var e2 = t4.currentMillisecond, i2 = t4.currentSecond, a2 = t4.currentMinute, s3 = t4.currentHour, r3 = t4.currentDate, n2 = t4.currentMonth, o3 = t4.currentYear, l2 = t4.secondsWidthOnXAxis, h3 = t4.numberOfSeconds, c2 = i2 + 1, d2 = a2, u2 = r3, g3 = n2, p3 = o3, f2 = s3, x3 = (1e3 - e2) / 1e3 * l2, b2 = 0; b2 < h3; b2++) c2 >= 60 && (c2 = 0, ++d2 >= 60 && (d2 = 0, 24 === ++f2 && (f2 = 0))), this.timeScaleArray.push({ position: x3, value: c2, unit: "second", hour: f2, minute: d2, second: c2, day: u2, year: this._getYear(p3, g3, 0), month: v.monthMod(g3) }), x3 += l2, c2++;
    } }, { key: "createRawDateString", value: function(t4, e2) {
      var i2 = t4.year;
      return 0 === t4.month && (t4.month = 1), i2 += "-" + ("0" + t4.month.toString()).slice(-2), "day" === t4.unit ? i2 += "day" === t4.unit ? "-" + ("0" + e2).slice(-2) : "-01" : i2 += "-" + ("0" + (t4.day ? t4.day : "1")).slice(-2), "hour" === t4.unit ? i2 += "hour" === t4.unit ? "T" + ("0" + e2).slice(-2) : "T00" : i2 += "T" + ("0" + (t4.hour ? t4.hour : "0")).slice(-2), "minute" === t4.unit ? i2 += ":" + ("0" + e2).slice(-2) : i2 += ":" + (t4.minute ? ("0" + t4.minute).slice(-2) : "00"), "second" === t4.unit ? i2 += ":" + ("0" + e2).slice(-2) : i2 += ":00", this.utc && (i2 += ".000Z"), i2;
    } }, { key: "formatDates", value: function(t4) {
      var e2 = this, i2 = this.w;
      return t4.map(function(t5) {
        var a2 = t5.value.toString(), s3 = new zi(e2.ctx), r3 = e2.createRawDateString(t5, a2), n2 = s3.getDate(s3.parseDate(r3));
        if (e2.utc || (n2 = s3.getDate(s3.parseDateWithTimezone(r3))), void 0 === i2.config.xaxis.labels.format) {
          var o3 = "dd MMM", l2 = i2.config.xaxis.labels.datetimeFormatter;
          "year" === t5.unit && (o3 = l2.year), "month" === t5.unit && (o3 = l2.month), "day" === t5.unit && (o3 = l2.day), "hour" === t5.unit && (o3 = l2.hour), "minute" === t5.unit && (o3 = l2.minute), "second" === t5.unit && (o3 = l2.second), a2 = s3.formatDate(n2, o3);
        } else a2 = s3.formatDate(n2, i2.config.xaxis.labels.format);
        return { dateString: r3, position: t5.position, value: a2, unit: t5.unit, year: t5.year, month: t5.month };
      });
    } }, { key: "removeOverlappingTS", value: function(t4) {
      var e2, i2 = this, a2 = new Mi(this.ctx), s3 = false;
      t4.length > 0 && t4[0].value && t4.every(function(e3) {
        return e3.value.length === t4[0].value.length;
      }) && (s3 = true, e2 = a2.getTextRects(t4[0].value).width);
      var r3 = 0, n2 = t4.map(function(n3, o3) {
        if (o3 > 0 && i2.w.config.xaxis.labels.hideOverlappingLabels) {
          var l2 = s3 ? e2 : a2.getTextRects(t4[r3].value).width, h3 = t4[r3].position;
          return n3.position > h3 + l2 + 10 ? (r3 = o3, n3) : null;
        }
        return n3;
      });
      return n2 = n2.filter(function(t5) {
        return null !== t5;
      });
    } }, { key: "_getYear", value: function(t4, e2, i2) {
      return t4 + Math.floor(e2 / 12) + i2;
    } }]), t3;
  }(), qa = function() {
    function t3(e2, a2) {
      i(this, t3), this.ctx = a2, this.w = a2.w, this.el = e2;
    }
    return s2(t3, [{ key: "setupElements", value: function() {
      var t4 = this.w, e2 = t4.globals, i2 = t4.config, a2 = i2.chart.type;
      e2.axisCharts = ["line", "area", "bar", "rangeBar", "rangeArea", "candlestick", "boxPlot", "scatter", "bubble", "radar", "heatmap", "treemap"].includes(a2), e2.xyCharts = ["line", "area", "bar", "rangeBar", "rangeArea", "candlestick", "boxPlot", "scatter", "bubble"].includes(a2), e2.isBarHorizontal = ["bar", "rangeBar", "boxPlot"].includes(a2) && i2.plotOptions.bar.horizontal, e2.chartClass = ".apexcharts".concat(e2.chartID), e2.dom.baseEl = this.el, e2.dom.elWrap = document.createElement("div"), Mi.setAttrs(e2.dom.elWrap, { id: e2.chartClass.substring(1), class: "apexcharts-canvas ".concat(e2.chartClass.substring(1)) }), this.el.appendChild(e2.dom.elWrap), e2.dom.Paper = window.SVG().addTo(e2.dom.elWrap), e2.dom.Paper.attr({ class: "apexcharts-svg", "xmlns:data": "ApexChartsNS", transform: "translate(".concat(i2.chart.offsetX, ", ").concat(i2.chart.offsetY, ")") }), e2.dom.Paper.node.style.background = "dark" !== i2.theme.mode || i2.chart.background ? "light" !== i2.theme.mode || i2.chart.background ? i2.chart.background : "#fff" : "#424242", this.setSVGDimensions(), e2.dom.elLegendForeign = document.createElementNS(e2.SVGNS, "foreignObject"), Mi.setAttrs(e2.dom.elLegendForeign, { x: 0, y: 0, width: e2.svgWidth, height: e2.svgHeight }), e2.dom.elLegendWrap = document.createElement("div"), e2.dom.elLegendWrap.classList.add("apexcharts-legend"), e2.dom.elLegendWrap.setAttribute("xmlns", "http://www.w3.org/1999/xhtml"), e2.dom.elLegendForeign.appendChild(e2.dom.elLegendWrap), e2.dom.Paper.node.appendChild(e2.dom.elLegendForeign), e2.dom.elGraphical = e2.dom.Paper.group().attr({ class: "apexcharts-inner apexcharts-graphical" }), e2.dom.elDefs = e2.dom.Paper.defs(), e2.dom.Paper.add(e2.dom.elGraphical), e2.dom.elGraphical.add(e2.dom.elDefs);
    } }, { key: "plotChartType", value: function(t4, e2) {
      var i2 = this.w, a2 = this.ctx, s3 = i2.config, r3 = i2.globals, n2 = { line: { series: [], i: [] }, area: { series: [], i: [] }, scatter: { series: [], i: [] }, bubble: { series: [], i: [] }, column: { series: [], i: [] }, candlestick: { series: [], i: [] }, boxPlot: { series: [], i: [] }, rangeBar: { series: [], i: [] }, rangeArea: { series: [], seriesRangeEnd: [], i: [] } }, o3 = s3.chart.type || "line", l2 = null, h3 = 0;
      r3.series.forEach(function(e3, a3) {
        var s4 = t4[a3].type || o3;
        n2[s4] ? ("rangeArea" === s4 ? (n2[s4].series.push(r3.seriesRangeStart[a3]), n2[s4].seriesRangeEnd.push(r3.seriesRangeEnd[a3])) : n2[s4].series.push(e3), n2[s4].i.push(a3), "column" !== s4 && "bar" !== s4 || (i2.globals.columnSeries = n2.column)) : ["heatmap", "treemap", "pie", "donut", "polarArea", "radialBar", "radar"].includes(s4) ? l2 = s4 : "bar" === s4 ? (n2.column.series.push(e3), n2.column.i.push(a3)) : console.warn("You have specified an unrecognized series type (".concat(s4, ").")), o3 !== s4 && "scatter" !== s4 && h3++;
      }), h3 > 0 && (l2 && console.warn("Chart or series type ".concat(l2, " cannot appear with other chart or series types.")), n2.column.series.length > 0 && s3.plotOptions.bar.horizontal && (h3 -= n2.column.series.length, n2.column = { series: [], i: [] }, i2.globals.columnSeries = { series: [], i: [] }, console.warn("Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"))), r3.comboCharts || (r3.comboCharts = h3 > 0);
      var c2 = new Ba(a2, e2), d2 = new Ta(a2, e2);
      a2.pie = new Ea(a2);
      var u2 = new Ha(a2);
      a2.rangeBar = new Oa(a2, e2);
      var g3 = new Ya(a2), p3 = [];
      if (r3.comboCharts) {
        var x3, b2, m3 = new Pi(a2);
        if (n2.area.series.length > 0) (x3 = p3).push.apply(x3, f(m3.drawSeriesByGroup(n2.area, r3.areaGroups, "area", c2)));
        if (n2.column.series.length > 0) if (s3.chart.stacked) {
          var v2 = new Ia2(a2, e2);
          p3.push(v2.draw(n2.column.series, n2.column.i));
        } else a2.bar = new Pa(a2, e2), p3.push(a2.bar.draw(n2.column.series, n2.column.i));
        if (n2.rangeArea.series.length > 0 && p3.push(c2.draw(n2.rangeArea.series, "rangeArea", n2.rangeArea.i, n2.rangeArea.seriesRangeEnd)), n2.line.series.length > 0) (b2 = p3).push.apply(b2, f(m3.drawSeriesByGroup(n2.line, r3.lineGroups, "line", c2)));
        if (n2.candlestick.series.length > 0 && p3.push(d2.draw(n2.candlestick.series, "candlestick", n2.candlestick.i)), n2.boxPlot.series.length > 0 && p3.push(d2.draw(n2.boxPlot.series, "boxPlot", n2.boxPlot.i)), n2.rangeBar.series.length > 0 && p3.push(a2.rangeBar.draw(n2.rangeBar.series, n2.rangeBar.i)), n2.scatter.series.length > 0) {
          var y2 = new Ba(a2, e2, true);
          p3.push(y2.draw(n2.scatter.series, "scatter", n2.scatter.i));
        }
        if (n2.bubble.series.length > 0) {
          var w3 = new Ba(a2, e2, true);
          p3.push(w3.draw(n2.bubble.series, "bubble", n2.bubble.i));
        }
      } else switch (s3.chart.type) {
        case "line":
          p3 = c2.draw(r3.series, "line");
          break;
        case "area":
          p3 = c2.draw(r3.series, "area");
          break;
        case "bar":
          if (s3.chart.stacked) p3 = new Ia2(a2, e2).draw(r3.series);
          else a2.bar = new Pa(a2, e2), p3 = a2.bar.draw(r3.series);
          break;
        case "candlestick":
          p3 = new Ta(a2, e2).draw(r3.series, "candlestick");
          break;
        case "boxPlot":
          p3 = new Ta(a2, e2).draw(r3.series, s3.chart.type);
          break;
        case "rangeBar":
          p3 = a2.rangeBar.draw(r3.series);
          break;
        case "rangeArea":
          p3 = c2.draw(r3.seriesRangeStart, "rangeArea", void 0, r3.seriesRangeEnd);
          break;
        case "heatmap":
          p3 = new Xa(a2, e2).draw(r3.series);
          break;
        case "treemap":
          p3 = new Ga(a2, e2).draw(r3.series);
          break;
        case "pie":
        case "donut":
        case "polarArea":
          p3 = a2.pie.draw(r3.series);
          break;
        case "radialBar":
          p3 = u2.draw(r3.series);
          break;
        case "radar":
          p3 = g3.draw(r3.series);
          break;
        default:
          p3 = c2.draw(r3.series);
      }
      return p3;
    } }, { key: "setSVGDimensions", value: function() {
      var t4 = this.w, e2 = t4.globals, i2 = t4.config;
      i2.chart.width = i2.chart.width || "100%", i2.chart.height = i2.chart.height || "auto", e2.svgWidth = i2.chart.width, e2.svgHeight = i2.chart.height;
      var a2 = v.getDimensions(this.el), s3 = i2.chart.width.toString().split(/[0-9]+/g).pop();
      "%" === s3 ? v.isNumber(a2[0]) && (0 === a2[0].width && (a2 = v.getDimensions(this.el.parentNode)), e2.svgWidth = a2[0] * parseInt(i2.chart.width, 10) / 100) : "px" !== s3 && "" !== s3 || (e2.svgWidth = parseInt(i2.chart.width, 10));
      var r3 = String(i2.chart.height).toString().split(/[0-9]+/g).pop();
      if ("auto" !== e2.svgHeight && "" !== e2.svgHeight) if ("%" === r3) {
        var n2 = v.getDimensions(this.el.parentNode);
        e2.svgHeight = n2[1] * parseInt(i2.chart.height, 10) / 100;
      } else e2.svgHeight = parseInt(i2.chart.height, 10);
      else e2.svgHeight = e2.axisCharts ? e2.svgWidth / 1.61 : e2.svgWidth / 1.2;
      if (e2.svgWidth = Math.max(e2.svgWidth, 0), e2.svgHeight = Math.max(e2.svgHeight, 0), Mi.setAttrs(e2.dom.Paper.node, { width: e2.svgWidth, height: e2.svgHeight }), "%" !== r3) {
        var o3 = i2.chart.sparkline.enabled ? 0 : e2.axisCharts ? i2.chart.parentHeightOffset : 0;
        e2.dom.Paper.node.parentNode.parentNode.style.minHeight = "".concat(e2.svgHeight + o3, "px");
      }
      e2.dom.elWrap.style.width = "".concat(e2.svgWidth, "px"), e2.dom.elWrap.style.height = "".concat(e2.svgHeight, "px");
    } }, { key: "shiftGraphPosition", value: function() {
      var t4 = this.w.globals, e2 = t4.translateY, i2 = t4.translateX;
      Mi.setAttrs(t4.dom.elGraphical.node, { transform: "translate(".concat(i2, ", ").concat(e2, ")") });
    } }, { key: "resizeNonAxisCharts", value: function() {
      var t4 = this.w, e2 = t4.globals, i2 = 0, a2 = t4.config.chart.sparkline.enabled ? 1 : 15;
      a2 += t4.config.grid.padding.bottom, ["top", "bottom"].includes(t4.config.legend.position) && t4.config.legend.show && !t4.config.legend.floating && (i2 = new xa(this.ctx).legendHelpers.getLegendDimensions().clwh + 7);
      var s3 = t4.globals.dom.baseEl.querySelector(".apexcharts-radialbar, .apexcharts-pie"), r3 = 2.05 * t4.globals.radialSize;
      if (s3 && !t4.config.chart.sparkline.enabled && 0 !== t4.config.plotOptions.radialBar.startAngle) {
        var n2 = v.getBoundingClientRect(s3);
        r3 = n2.bottom;
        var o3 = n2.bottom - n2.top;
        r3 = Math.max(2.05 * t4.globals.radialSize, o3);
      }
      var l2 = Math.ceil(r3 + e2.translateY + i2 + a2);
      e2.dom.elLegendForeign && e2.dom.elLegendForeign.setAttribute("height", l2), t4.config.chart.height && String(t4.config.chart.height).includes("%") || (e2.dom.elWrap.style.height = "".concat(l2, "px"), Mi.setAttrs(e2.dom.Paper.node, { height: l2 }), e2.dom.Paper.node.parentNode.parentNode.style.minHeight = "".concat(l2, "px"));
    } }, { key: "coreCalculations", value: function() {
      new ea(this.ctx).init();
    } }, { key: "resetGlobals", value: function() {
      var t4 = this, e2 = function() {
        return t4.w.config.series.map(function() {
          return [];
        });
      }, i2 = new Bi(), a2 = this.w.globals;
      i2.initGlobalVars(a2), a2.seriesXvalues = e2(), a2.seriesYvalues = e2();
    } }, { key: "isMultipleY", value: function() {
      return !!(Array.isArray(this.w.config.yaxis) && this.w.config.yaxis.length > 1) && (this.w.globals.isMultipleYAxis = true, true);
    } }, { key: "xySettings", value: function() {
      var t4 = this.w, e2 = null;
      if (t4.globals.axisCharts) {
        if ("back" === t4.config.xaxis.crosshairs.position && new na(this.ctx).drawXCrosshairs(), "back" === t4.config.yaxis[0].crosshairs.position && new na(this.ctx).drawYCrosshairs(), "datetime" === t4.config.xaxis.type && void 0 === t4.config.xaxis.labels.formatter) {
          this.ctx.timeScale = new Ua(this.ctx);
          var i2 = [];
          isFinite(t4.globals.minX) && isFinite(t4.globals.maxX) && !t4.globals.isBarHorizontal ? i2 = this.ctx.timeScale.calculateTimeScaleTicks(t4.globals.minX, t4.globals.maxX) : t4.globals.isBarHorizontal && (i2 = this.ctx.timeScale.calculateTimeScaleTicks(t4.globals.minY, t4.globals.maxY)), this.ctx.timeScale.recalcDimensionsBasedOnFormat(i2);
        }
        e2 = new Pi(this.ctx).getCalculatedRatios();
      }
      return e2;
    } }, { key: "updateSourceChart", value: function(t4) {
      this.ctx.w.globals.selection = void 0, this.ctx.updateHelpers._updateOptions({ chart: { selection: { xaxis: { min: t4.w.globals.minX, max: t4.w.globals.maxX } } } }, false, false);
    } }, { key: "setupBrushHandler", value: function() {
      var t4 = this, e2 = this.ctx, i2 = this.w;
      if (i2.config.chart.brush.enabled && "function" != typeof i2.config.chart.events.selection) {
        var a2 = Array.isArray(i2.config.chart.brush.targets) ? i2.config.chart.brush.targets : [i2.config.chart.brush.target];
        a2.forEach(function(i3) {
          var a3 = e2.constructor.getChartByID(i3);
          a3.w.globals.brushSource = t4.ctx, "function" != typeof a3.w.config.chart.events.zoomed && (a3.w.config.chart.events.zoomed = function() {
            return t4.updateSourceChart(a3);
          }), "function" != typeof a3.w.config.chart.events.scrolled && (a3.w.config.chart.events.scrolled = function() {
            return t4.updateSourceChart(a3);
          });
        }), i2.config.chart.events.selection = function(t5, i3) {
          a2.forEach(function(t6) {
            e2.constructor.getChartByID(t6).ctx.updateHelpers._updateOptions({ xaxis: { min: i3.xaxis.min, max: i3.xaxis.max } }, false, false, false, false);
          });
        };
      }
    } }]), t3;
  }(), Za = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
    }
    return s2(t3, [{ key: "_updateOptions", value: function(t4) {
      var e2 = this, i2 = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], a2 = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2], s3 = !(arguments.length > 3 && void 0 !== arguments[3]) || arguments[3], r3 = arguments.length > 4 && void 0 !== arguments[4] && arguments[4];
      return new Promise(function(n2) {
        var o3 = [e2.ctx];
        s3 && (o3 = e2.ctx.getSyncedCharts()), e2.ctx.w.globals.isExecCalled && (o3 = [e2.ctx], e2.ctx.w.globals.isExecCalled = false), o3.forEach(function(s4, l2) {
          var h3 = s4.w;
          if (h3.globals.shouldAnimate = a2, i2 || (h3.globals.resized = true, h3.globals.dataChanged = true, a2 && s4.series.getPreviousPaths()), t4 && "object" === b(t4) && (s4.config = new Wi(t4), t4 = Pi.extendArrayProps(s4.config, t4, h3), s4.w.globals.chartID !== e2.ctx.w.globals.chartID && delete t4.series, h3.config = v.extend(h3.config, t4), r3 && (h3.globals.lastXAxis = t4.xaxis ? v.clone(t4.xaxis) : [], h3.globals.lastYAxis = t4.yaxis ? v.clone(t4.yaxis) : [], h3.globals.initialConfig = v.extend({}, h3.config), h3.globals.initialSeries = v.clone(h3.config.series), t4.series))) {
            for (var c2 = 0; c2 < h3.globals.collapsedSeriesIndices.length; c2++) {
              var d2 = h3.config.series[h3.globals.collapsedSeriesIndices[c2]];
              h3.globals.collapsedSeries[c2].data = h3.globals.axisCharts ? d2.data.slice() : d2;
            }
            for (var u2 = 0; u2 < h3.globals.ancillaryCollapsedSeriesIndices.length; u2++) {
              var g3 = h3.config.series[h3.globals.ancillaryCollapsedSeriesIndices[u2]];
              h3.globals.ancillaryCollapsedSeries[u2].data = h3.globals.axisCharts ? g3.data.slice() : g3;
            }
            s4.series.emptyCollapsedSeries(h3.config.series);
          }
          return s4.update(t4).then(function() {
            l2 === o3.length - 1 && n2(s4);
          });
        });
      });
    } }, { key: "_updateSeries", value: function(t4, e2) {
      var i2 = this, a2 = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
      return new Promise(function(s3) {
        var r3, n2 = i2.w;
        return n2.globals.shouldAnimate = e2, n2.globals.dataChanged = true, e2 && i2.ctx.series.getPreviousPaths(), n2.globals.axisCharts ? (0 === (r3 = t4.map(function(t5, e3) {
          return i2._extendSeries(t5, e3);
        })).length && (r3 = [{ data: [] }]), n2.config.series = r3) : n2.config.series = t4.slice(), a2 && (n2.globals.initialConfig.series = v.clone(n2.config.series), n2.globals.initialSeries = v.clone(n2.config.series)), i2.ctx.update().then(function() {
          s3(i2.ctx);
        });
      });
    } }, { key: "_extendSeries", value: function(t4, e2) {
      var i2 = this.w, a2 = i2.config.series[e2];
      return u(u({}, i2.config.series[e2]), {}, { name: t4.name ? t4.name : null == a2 ? void 0 : a2.name, color: t4.color ? t4.color : null == a2 ? void 0 : a2.color, type: t4.type ? t4.type : null == a2 ? void 0 : a2.type, group: t4.group ? t4.group : null == a2 ? void 0 : a2.group, hidden: void 0 !== t4.hidden ? t4.hidden : null == a2 ? void 0 : a2.hidden, data: t4.data ? t4.data : null == a2 ? void 0 : a2.data, zIndex: void 0 !== t4.zIndex ? t4.zIndex : e2 });
    } }, { key: "toggleDataPointSelection", value: function(t4, e2) {
      var i2 = this.w, a2 = null, s3 = ".apexcharts-series[data\\:realIndex='".concat(t4, "']");
      return i2.globals.axisCharts ? a2 = i2.globals.dom.Paper.findOne("".concat(s3, " path[j='").concat(e2, "'], ").concat(s3, " circle[j='").concat(e2, "'], ").concat(s3, " rect[j='").concat(e2, "']")) : void 0 === e2 && (a2 = i2.globals.dom.Paper.findOne("".concat(s3, " path[j='").concat(t4, "']")), "pie" !== i2.config.chart.type && "polarArea" !== i2.config.chart.type && "donut" !== i2.config.chart.type || this.ctx.pie.pieClicked(t4)), a2 ? (new Mi(this.ctx).pathMouseDown(a2, null), a2.node ? a2.node : null) : (console.warn("toggleDataPointSelection: Element not found"), null);
    } }, { key: "forceXAxisUpdate", value: function(t4) {
      var e2 = this.w;
      if (["min", "max"].forEach(function(i3) {
        void 0 !== t4.xaxis[i3] && (e2.config.xaxis[i3] = t4.xaxis[i3], e2.globals.lastXAxis[i3] = t4.xaxis[i3]);
      }), t4.xaxis.categories && t4.xaxis.categories.length && (e2.config.xaxis.categories = t4.xaxis.categories), e2.config.xaxis.convertedCatToNumeric) {
        var i2 = new Ni(t4);
        t4 = i2.convertCatToNumericXaxis(t4, this.ctx);
      }
      return t4;
    } }, { key: "forceYAxisUpdate", value: function(t4) {
      return t4.chart && t4.chart.stacked && "100%" === t4.chart.stackType && (Array.isArray(t4.yaxis) ? t4.yaxis.forEach(function(e2, i2) {
        t4.yaxis[i2].min = 0, t4.yaxis[i2].max = 100;
      }) : (t4.yaxis.min = 0, t4.yaxis.max = 100)), t4;
    } }, { key: "revertDefaultAxisMinMax", value: function(t4) {
      var e2 = this, i2 = this.w, a2 = i2.globals.lastXAxis, s3 = i2.globals.lastYAxis;
      t4 && t4.xaxis && (a2 = t4.xaxis), t4 && t4.yaxis && (s3 = t4.yaxis), i2.config.xaxis.min = a2.min, i2.config.xaxis.max = a2.max;
      var r3 = function(t5) {
        void 0 !== s3[t5] && (i2.config.yaxis[t5].min = s3[t5].min, i2.config.yaxis[t5].max = s3[t5].max);
      };
      i2.config.yaxis.map(function(t5, a3) {
        i2.globals.zoomed || void 0 !== s3[a3] ? r3(a3) : void 0 !== e2.ctx.opts.yaxis[a3] && (t5.min = e2.ctx.opts.yaxis[a3].min, t5.max = e2.ctx.opts.yaxis[a3].max);
      });
    } }]), t3;
  }();
  !function() {
    function t3() {
      for (var t4 = arguments.length > 0 && arguments[0] !== h3 ? arguments[0] : [], s4 = arguments.length > 1 ? arguments[1] : h3, r3 = arguments.length > 2 ? arguments[2] : h3, n2 = arguments.length > 3 ? arguments[3] : h3, o3 = arguments.length > 4 ? arguments[4] : h3, l2 = arguments.length > 5 ? arguments[5] : h3, h3 = arguments.length > 6 ? arguments[6] : h3, c2 = t4.slice(s4, r3 || h3), d2 = n2.slice(o3, l2 || h3), u2 = 0, g3 = { pos: [0, 0], start: [0, 0] }, p3 = { pos: [0, 0], start: [0, 0] }; ; ) {
        if (c2[u2] = e2.call(g3, c2[u2]), d2[u2] = e2.call(p3, d2[u2]), c2[u2][0] != d2[u2][0] || "M" == c2[u2][0] || "A" == c2[u2][0] && (c2[u2][4] != d2[u2][4] || c2[u2][5] != d2[u2][5]) ? (Array.prototype.splice.apply(c2, [u2, 1].concat(a2.call(g3, c2[u2]))), Array.prototype.splice.apply(d2, [u2, 1].concat(a2.call(p3, d2[u2])))) : (c2[u2] = i2.call(g3, c2[u2]), d2[u2] = i2.call(p3, d2[u2])), ++u2 == c2.length && u2 == d2.length) break;
        u2 == c2.length && c2.push(["C", g3.pos[0], g3.pos[1], g3.pos[0], g3.pos[1], g3.pos[0], g3.pos[1]]), u2 == d2.length && d2.push(["C", p3.pos[0], p3.pos[1], p3.pos[0], p3.pos[1], p3.pos[0], p3.pos[1]]);
      }
      return { start: c2, dest: d2 };
    }
    function e2(t4) {
      switch (t4[0]) {
        case "z":
        case "Z":
          t4[0] = "L", t4[1] = this.start[0], t4[2] = this.start[1];
          break;
        case "H":
          t4[0] = "L", t4[2] = this.pos[1];
          break;
        case "V":
          t4[0] = "L", t4[2] = t4[1], t4[1] = this.pos[0];
          break;
        case "T":
          t4[0] = "Q", t4[3] = t4[1], t4[4] = t4[2], t4[1] = this.reflection[1], t4[2] = this.reflection[0];
          break;
        case "S":
          t4[0] = "C", t4[6] = t4[4], t4[5] = t4[3], t4[4] = t4[2], t4[3] = t4[1], t4[2] = this.reflection[1], t4[1] = this.reflection[0];
      }
      return t4;
    }
    function i2(t4) {
      var e3 = t4.length;
      return this.pos = [t4[e3 - 2], t4[e3 - 1]], -1 != "SCQT".indexOf(t4[0]) && (this.reflection = [2 * this.pos[0] - t4[e3 - 4], 2 * this.pos[1] - t4[e3 - 3]]), t4;
    }
    function a2(t4) {
      var e3 = [t4];
      switch (t4[0]) {
        case "M":
          return this.pos = this.start = [t4[1], t4[2]], e3;
        case "L":
          t4[5] = t4[3] = t4[1], t4[6] = t4[4] = t4[2], t4[1] = this.pos[0], t4[2] = this.pos[1];
          break;
        case "Q":
          t4[6] = t4[4], t4[5] = t4[3], t4[4] = 1 * t4[4] / 3 + 2 * t4[2] / 3, t4[3] = 1 * t4[3] / 3 + 2 * t4[1] / 3, t4[2] = 1 * this.pos[1] / 3 + 2 * t4[2] / 3, t4[1] = 1 * this.pos[0] / 3 + 2 * t4[1] / 3;
          break;
        case "A":
          e3 = function(t5, e4) {
            var i3, a3, s4, r3, n2, o3, l2, h3, c2, d2, u2, g3, p3, f2, x3, b2, m3, v2, y2, w3, k2, A3, C2, S3, L3, M2, P3 = Math.abs(e4[1]), I2 = Math.abs(e4[2]), T2 = e4[3] % 360, z2 = e4[4], X2 = e4[5], R2 = e4[6], E2 = e4[7], Y2 = new bt(t5), H2 = new bt(R2, E2), O2 = [];
            if (0 === P3 || 0 === I2 || Y2.x === H2.x && Y2.y === H2.y) return [["C", Y2.x, Y2.y, H2.x, H2.y, H2.x, H2.y]];
            i3 = new bt((Y2.x - H2.x) / 2, (Y2.y - H2.y) / 2).transform(new vt().rotate(T2)), a3 = i3.x * i3.x / (P3 * P3) + i3.y * i3.y / (I2 * I2), a3 > 1 && (P3 *= a3 = Math.sqrt(a3), I2 *= a3);
            s4 = new vt().rotate(T2).scale(1 / P3, 1 / I2).rotate(-T2), Y2 = Y2.transform(s4), H2 = H2.transform(s4), r3 = [H2.x - Y2.x, H2.y - Y2.y], o3 = r3[0] * r3[0] + r3[1] * r3[1], n2 = Math.sqrt(o3), r3[0] /= n2, r3[1] /= n2, l2 = o3 < 4 ? Math.sqrt(1 - o3 / 4) : 0, z2 === X2 && (l2 *= -1);
            h3 = new bt((H2.x + Y2.x) / 2 + l2 * -r3[1], (H2.y + Y2.y) / 2 + l2 * r3[0]), c2 = new bt(Y2.x - h3.x, Y2.y - h3.y), d2 = new bt(H2.x - h3.x, H2.y - h3.y), u2 = Math.acos(c2.x / Math.sqrt(c2.x * c2.x + c2.y * c2.y)), c2.y < 0 && (u2 *= -1);
            g3 = Math.acos(d2.x / Math.sqrt(d2.x * d2.x + d2.y * d2.y)), d2.y < 0 && (g3 *= -1);
            X2 && u2 > g3 && (g3 += 2 * Math.PI);
            !X2 && u2 < g3 && (g3 -= 2 * Math.PI);
            for (f2 = Math.ceil(2 * Math.abs(u2 - g3) / Math.PI), b2 = [], m3 = u2, p3 = (g3 - u2) / f2, x3 = 4 * Math.tan(p3 / 4) / 3, k2 = 0; k2 <= f2; k2++) y2 = Math.cos(m3), v2 = Math.sin(m3), w3 = new bt(h3.x + y2, h3.y + v2), b2[k2] = [new bt(w3.x + x3 * v2, w3.y - x3 * y2), w3, new bt(w3.x - x3 * v2, w3.y + x3 * y2)], m3 += p3;
            for (b2[0][0] = b2[0][1].clone(), b2[b2.length - 1][2] = b2[b2.length - 1][1].clone(), s4 = new vt().rotate(T2).scale(P3, I2).rotate(-T2), k2 = 0, A3 = b2.length; k2 < A3; k2++) b2[k2][0] = b2[k2][0].transform(s4), b2[k2][1] = b2[k2][1].transform(s4), b2[k2][2] = b2[k2][2].transform(s4);
            for (k2 = 1, A3 = b2.length; k2 < A3; k2++) C2 = (w3 = b2[k2 - 1][2]).x, S3 = w3.y, L3 = (w3 = b2[k2][0]).x, M2 = w3.y, R2 = (w3 = b2[k2][1]).x, E2 = w3.y, O2.push(["C", C2, S3, L3, M2, R2, E2]);
            return O2;
          }(this.pos, t4), t4 = e3[0];
      }
      return t4[0] = "C", this.pos = [t4[5], t4[6]], this.reflection = [2 * t4[5] - t4[3], 2 * t4[6] - t4[4]], e3;
    }
    function s3() {
      var t4 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [], e3 = arguments.length > 1 ? arguments[1] : void 0;
      if (false === e3) return false;
      for (var i3 = e3, a3 = t4.length; i3 < a3; ++i3) if ("M" == t4[i3][0]) return i3;
      return false;
    }
    Q(Ee, { morph: function(e3, i3, a3, r3, n2) {
      for (var o3 = this.parse(e3), l2 = this.parse(i3), h3 = 0, c2 = 0, d2 = false, u2 = false; false !== h3 || false !== c2; ) {
        var g3;
        d2 = s3(o3, false !== h3 && h3 + 1), u2 = s3(l2, false !== c2 && c2 + 1), false === h3 && (h3 = 0 == (g3 = new Ee(p3.start).bbox()).height || 0 == g3.width ? o3.push(o3[0]) - 1 : o3.push(["M", g3.x + g3.width / 2, g3.y + g3.height / 2]) - 1), false === c2 && (c2 = 0 == (g3 = new Ee(p3.dest).bbox()).height || 0 == g3.width ? l2.push(l2[0]) - 1 : l2.push(["M", g3.x + g3.width / 2, g3.y + g3.height / 2]) - 1);
        var p3 = t3(o3, h3, d2, l2, c2, u2);
        o3 = o3.slice(0, h3).concat(p3.start, false === d2 ? [] : o3.slice(d2)), l2 = l2.slice(0, c2).concat(p3.dest, false === u2 ? [] : l2.slice(u2)), h3 = false !== d2 && h3 + p3.start.length, c2 = false !== u2 && c2 + p3.dest.length;
      }
      this._array = o3, this.destination = new Ee(), this.destination._array = l2;
      var f2 = this.fromArray(o3.map(function(t4, e4) {
        var i4 = l2[e4].map(function(i5, s4) {
          return 0 === s4 ? i5 : r3.step(t4[s4], l2[e4][s4], a3, n2[e4], n2);
        });
        return i4;
      }));
      return f2;
    } });
  }();
  const $a = (t3) => (t3.changedTouches && (t3 = t3.changedTouches[0]), { x: t3.clientX, y: t3.clientY });
  class Ja {
    constructor(t3) {
      t3.remember("_draggable", this), this.el = t3, this.drag = this.drag.bind(this), this.startDrag = this.startDrag.bind(this), this.endDrag = this.endDrag.bind(this);
    }
    init(t3) {
      t3 ? (this.el.on("mousedown.drag", this.startDrag), this.el.on("touchstart.drag", this.startDrag, { passive: false })) : (this.el.off("mousedown.drag"), this.el.off("touchstart.drag"));
    }
    startDrag(t3) {
      const e2 = !t3.type.indexOf("mouse");
      if (e2 && 1 !== t3.which && 0 !== t3.buttons) return;
      if (this.el.dispatch("beforedrag", { event: t3, handler: this }).defaultPrevented) return;
      t3.preventDefault(), t3.stopPropagation(), this.init(false), this.box = this.el.bbox(), this.lastClick = this.el.point($a(t3));
      const i2 = (e2 ? "mouseup" : "touchend") + ".drag";
      zt(window, (e2 ? "mousemove" : "touchmove") + ".drag", this.drag, this, { passive: false }), zt(window, i2, this.endDrag, this, { passive: false }), this.el.fire("dragstart", { event: t3, handler: this, box: this.box });
    }
    drag(t3) {
      const { box: e2, lastClick: i2 } = this, a2 = this.el.point($a(t3)), s3 = a2.x - i2.x, r3 = a2.y - i2.y;
      if (!s3 && !r3) return e2;
      const n2 = e2.x + s3, o3 = e2.y + r3;
      this.box = new kt(n2, o3, e2.w, e2.h), this.lastClick = a2, this.el.dispatch("dragmove", { event: t3, handler: this, box: this.box }).defaultPrevented || this.move(n2, o3);
    }
    move(t3, e2) {
      "svg" === this.el.type ? gi.prototype.move.call(this.el, t3, e2) : this.el.move(t3, e2);
    }
    endDrag(t3) {
      this.drag(t3), this.el.fire("dragend", { event: t3, handler: this, box: this.box }), Xt(window, "mousemove.drag"), Xt(window, "touchmove.drag"), Xt(window, "mouseup.drag"), Xt(window, "touchend.drag"), this.init(true);
    }
  }
  /*!
  * @svgdotjs/svg.select.js - An extension of svg.js which allows to select elements with mouse
  * @version 4.0.1
  * https://github.com/svgdotjs/svg.select.js
  *
  * @copyright Ulrich-Matthias Schäfer
  * @license MIT
  *
  * BUILT: Mon Jul 01 2024 15:04:42 GMT+0200 (Central European Summer Time)
  */
  function Qa(t3, e2, i2, a2 = null) {
    return function(s3) {
      s3.preventDefault(), s3.stopPropagation();
      var r3 = s3.pageX || s3.touches[0].pageX, n2 = s3.pageY || s3.touches[0].pageY;
      e2.fire(t3, { x: r3, y: n2, event: s3, index: a2, points: i2 });
    };
  }
  function Ka([t3, e2], { a: i2, b: a2, c: s3, d: r3, e: n2, f: o3 }) {
    return [t3 * i2 + e2 * s3 + n2, t3 * a2 + e2 * r3 + o3];
  }
  Q(Gt, { draggable(t3 = true) {
    return (this.remember("_draggable") || new Ja(this)).init(t3), this;
  } });
  let ts = class {
    constructor(t3) {
      this.el = t3, t3.remember("_selectHandler", this), this.selection = new gi(), this.order = ["lt", "t", "rt", "r", "rb", "b", "lb", "l", "rot"], this.mutationHandler = this.mutationHandler.bind(this);
      const e2 = F();
      this.observer = new e2.MutationObserver(this.mutationHandler);
    }
    init(t3) {
      this.createHandle = t3.createHandle || this.createHandleFn, this.createRot = t3.createRot || this.createRotFn, this.updateHandle = t3.updateHandle || this.updateHandleFn, this.updateRot = t3.updateRot || this.updateRotFn, this.el.root().put(this.selection), this.updatePoints(), this.createSelection(), this.createResizeHandles(), this.updateResizeHandles(), this.createRotationHandle(), this.updateRotationHandle(), this.observer.observe(this.el.node, { attributes: true });
    }
    active(t3, e2) {
      if (!t3) return this.selection.clear().remove(), void this.observer.disconnect();
      this.init(e2);
    }
    createSelection() {
      this.selection.polygon(this.handlePoints).addClass("svg_select_shape");
    }
    updateSelection() {
      this.selection.get(0).plot(this.handlePoints);
    }
    createResizeHandles() {
      this.handlePoints.forEach((t3, e2, i2) => {
        const a2 = this.order[e2];
        this.createHandle.call(this, this.selection, t3, e2, i2, a2), this.selection.get(e2 + 1).addClass("svg_select_handle svg_select_handle_" + a2).on("mousedown.selection touchstart.selection", Qa(a2, this.el, this.handlePoints, e2));
      });
    }
    createHandleFn(t3) {
      t3.polyline();
    }
    updateHandleFn(t3, e2, i2, a2) {
      const s3 = a2.at(i2 - 1), r3 = a2[(i2 + 1) % a2.length], n2 = e2, o3 = [n2[0] - s3[0], n2[1] - s3[1]], l2 = [n2[0] - r3[0], n2[1] - r3[1]], h3 = Math.sqrt(o3[0] * o3[0] + o3[1] * o3[1]), c2 = Math.sqrt(l2[0] * l2[0] + l2[1] * l2[1]), d2 = [o3[0] / h3, o3[1] / h3], u2 = [l2[0] / c2, l2[1] / c2], g3 = [n2[0] - 10 * d2[0], n2[1] - 10 * d2[1]], p3 = [n2[0] - 10 * u2[0], n2[1] - 10 * u2[1]];
      t3.plot([g3, n2, p3]);
    }
    updateResizeHandles() {
      this.handlePoints.forEach((t3, e2, i2) => {
        const a2 = this.order[e2];
        this.updateHandle.call(this, this.selection.get(e2 + 1), t3, e2, i2, a2);
      });
    }
    createRotFn(t3) {
      t3.line(), t3.circle(5);
    }
    getPoint(t3) {
      return this.handlePoints[this.order.indexOf(t3)];
    }
    getPointHandle(t3) {
      return this.selection.get(this.order.indexOf(t3) + 1);
    }
    updateRotFn(t3, e2) {
      const i2 = this.getPoint("t");
      t3.get(0).plot(i2[0], i2[1], e2[0], e2[1]), t3.get(1).center(e2[0], e2[1]);
    }
    createRotationHandle() {
      const t3 = this.selection.group().addClass("svg_select_handle_rot").on("mousedown.selection touchstart.selection", Qa("rot", this.el, this.handlePoints));
      this.createRot.call(this, t3);
    }
    updateRotationHandle() {
      const t3 = this.selection.findOne("g.svg_select_handle_rot");
      this.updateRot(t3, this.rotationPoint, this.handlePoints);
    }
    updatePoints() {
      const t3 = this.el.bbox(), e2 = this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());
      this.handlePoints = this.getHandlePoints(t3).map((t4) => Ka(t4, e2)), this.rotationPoint = Ka(this.getRotationPoint(t3), e2);
    }
    getHandlePoints({ x: t3, x2: e2, y: i2, y2: a2, cx: s3, cy: r3 } = this.el.bbox()) {
      return [[t3, i2], [s3, i2], [e2, i2], [e2, r3], [e2, a2], [s3, a2], [t3, a2], [t3, r3]];
    }
    getRotationPoint({ y: t3, cx: e2 } = this.el.bbox()) {
      return [e2, t3 - 20];
    }
    mutationHandler() {
      this.updatePoints(), this.updateSelection(), this.updateResizeHandles(), this.updateRotationHandle();
    }
  };
  const es = (t3) => function(e2 = true, i2 = {}) {
    "object" == typeof e2 && (i2 = e2, e2 = true);
    let a2 = this.remember("_" + t3.name);
    return a2 || (e2.prototype instanceof ts ? (a2 = new e2(this), e2 = true) : a2 = new t3(this), this.remember("_" + t3.name, a2)), a2.active(e2, i2), this;
  };
  /*!
  * @svgdotjs/svg.resize.js - An extension for svg.js which allows to resize elements which are selected
  * @version 2.0.4
  * https://github.com/svgdotjs/svg.resize.js
  *
  * @copyright [object Object]
  * @license MIT
  *
  * BUILT: Fri Sep 13 2024 12:43:14 GMT+0200 (Central European Summer Time)
  */
  /*!
  * @svgdotjs/svg.select.js - An extension of svg.js which allows to select elements with mouse
  * @version 4.0.1
  * https://github.com/svgdotjs/svg.select.js
  *
  * @copyright Ulrich-Matthias Schäfer
  * @license MIT
  *
  * BUILT: Mon Jul 01 2024 15:04:42 GMT+0200 (Central European Summer Time)
  */
  function is(t3, e2, i2, a2 = null) {
    return function(s3) {
      s3.preventDefault(), s3.stopPropagation();
      var r3 = s3.pageX || s3.touches[0].pageX, n2 = s3.pageY || s3.touches[0].pageY;
      e2.fire(t3, { x: r3, y: n2, event: s3, index: a2, points: i2 });
    };
  }
  function as([t3, e2], { a: i2, b: a2, c: s3, d: r3, e: n2, f: o3 }) {
    return [t3 * i2 + e2 * s3 + n2, t3 * a2 + e2 * r3 + o3];
  }
  Q(Gt, { select: es(ts) }), Q([Ge, je, xe], { pointSelect: es(class {
    constructor(t3) {
      this.el = t3, t3.remember("_pointSelectHandler", this), this.selection = new gi(), this.order = ["lt", "t", "rt", "r", "rb", "b", "lb", "l", "rot"], this.mutationHandler = this.mutationHandler.bind(this);
      const e2 = F();
      this.observer = new e2.MutationObserver(this.mutationHandler);
    }
    init(t3) {
      this.createHandle = t3.createHandle || this.createHandleFn, this.updateHandle = t3.updateHandle || this.updateHandleFn, this.el.root().put(this.selection), this.updatePoints(), this.createSelection(), this.createPointHandles(), this.updatePointHandles(), this.observer.observe(this.el.node, { attributes: true });
    }
    active(t3, e2) {
      if (!t3) return this.selection.clear().remove(), void this.observer.disconnect();
      this.init(e2);
    }
    createSelection() {
      this.selection.polygon(this.points).addClass("svg_select_shape_pointSelect");
    }
    updateSelection() {
      this.selection.get(0).plot(this.points);
    }
    createPointHandles() {
      this.points.forEach((t3, e2, i2) => {
        this.createHandle.call(this, this.selection, t3, e2, i2), this.selection.get(e2 + 1).addClass("svg_select_handle_point").on("mousedown.selection touchstart.selection", Qa("point", this.el, this.points, e2));
      });
    }
    createHandleFn(t3) {
      t3.circle(5);
    }
    updateHandleFn(t3, e2) {
      t3.center(e2[0], e2[1]);
    }
    updatePointHandles() {
      this.points.forEach((t3, e2, i2) => {
        this.updateHandle.call(this, this.selection.get(e2 + 1), t3, e2, i2);
      });
    }
    updatePoints() {
      const t3 = this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());
      this.points = this.el.array().map((e2) => Ka(e2, t3));
    }
    mutationHandler() {
      this.updatePoints(), this.updateSelection(), this.updatePointHandles();
    }
  }) });
  class ss {
    constructor(t3) {
      this.el = t3, t3.remember("_selectHandler", this), this.selection = new gi(), this.order = ["lt", "t", "rt", "r", "rb", "b", "lb", "l", "rot"], this.mutationHandler = this.mutationHandler.bind(this);
      const e2 = F();
      this.observer = new e2.MutationObserver(this.mutationHandler);
    }
    init(t3) {
      this.createHandle = t3.createHandle || this.createHandleFn, this.createRot = t3.createRot || this.createRotFn, this.updateHandle = t3.updateHandle || this.updateHandleFn, this.updateRot = t3.updateRot || this.updateRotFn, this.el.root().put(this.selection), this.updatePoints(), this.createSelection(), this.createResizeHandles(), this.updateResizeHandles(), this.createRotationHandle(), this.updateRotationHandle(), this.observer.observe(this.el.node, { attributes: true });
    }
    active(t3, e2) {
      if (!t3) return this.selection.clear().remove(), void this.observer.disconnect();
      this.init(e2);
    }
    createSelection() {
      this.selection.polygon(this.handlePoints).addClass("svg_select_shape");
    }
    updateSelection() {
      this.selection.get(0).plot(this.handlePoints);
    }
    createResizeHandles() {
      this.handlePoints.forEach((t3, e2, i2) => {
        const a2 = this.order[e2];
        this.createHandle.call(this, this.selection, t3, e2, i2, a2), this.selection.get(e2 + 1).addClass("svg_select_handle svg_select_handle_" + a2).on("mousedown.selection touchstart.selection", is(a2, this.el, this.handlePoints, e2));
      });
    }
    createHandleFn(t3) {
      t3.polyline();
    }
    updateHandleFn(t3, e2, i2, a2) {
      const s3 = a2.at(i2 - 1), r3 = a2[(i2 + 1) % a2.length], n2 = e2, o3 = [n2[0] - s3[0], n2[1] - s3[1]], l2 = [n2[0] - r3[0], n2[1] - r3[1]], h3 = Math.sqrt(o3[0] * o3[0] + o3[1] * o3[1]), c2 = Math.sqrt(l2[0] * l2[0] + l2[1] * l2[1]), d2 = [o3[0] / h3, o3[1] / h3], u2 = [l2[0] / c2, l2[1] / c2], g3 = [n2[0] - 10 * d2[0], n2[1] - 10 * d2[1]], p3 = [n2[0] - 10 * u2[0], n2[1] - 10 * u2[1]];
      t3.plot([g3, n2, p3]);
    }
    updateResizeHandles() {
      this.handlePoints.forEach((t3, e2, i2) => {
        const a2 = this.order[e2];
        this.updateHandle.call(this, this.selection.get(e2 + 1), t3, e2, i2, a2);
      });
    }
    createRotFn(t3) {
      t3.line(), t3.circle(5);
    }
    getPoint(t3) {
      return this.handlePoints[this.order.indexOf(t3)];
    }
    getPointHandle(t3) {
      return this.selection.get(this.order.indexOf(t3) + 1);
    }
    updateRotFn(t3, e2) {
      const i2 = this.getPoint("t");
      t3.get(0).plot(i2[0], i2[1], e2[0], e2[1]), t3.get(1).center(e2[0], e2[1]);
    }
    createRotationHandle() {
      const t3 = this.selection.group().addClass("svg_select_handle_rot").on("mousedown.selection touchstart.selection", is("rot", this.el, this.handlePoints));
      this.createRot.call(this, t3);
    }
    updateRotationHandle() {
      const t3 = this.selection.findOne("g.svg_select_handle_rot");
      this.updateRot(t3, this.rotationPoint, this.handlePoints);
    }
    updatePoints() {
      const t3 = this.el.bbox(), e2 = this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());
      this.handlePoints = this.getHandlePoints(t3).map((t4) => as(t4, e2)), this.rotationPoint = as(this.getRotationPoint(t3), e2);
    }
    getHandlePoints({ x: t3, x2: e2, y: i2, y2: a2, cx: s3, cy: r3 } = this.el.bbox()) {
      return [[t3, i2], [s3, i2], [e2, i2], [e2, r3], [e2, a2], [s3, a2], [t3, a2], [t3, r3]];
    }
    getRotationPoint({ y: t3, cx: e2 } = this.el.bbox()) {
      return [e2, t3 - 20];
    }
    mutationHandler() {
      this.updatePoints(), this.updateSelection(), this.updateResizeHandles(), this.updateRotationHandle();
    }
  }
  const rs = (t3) => function(e2 = true, i2 = {}) {
    "object" == typeof e2 && (i2 = e2, e2 = true);
    let a2 = this.remember("_" + t3.name);
    return a2 || (e2.prototype instanceof ss ? (a2 = new e2(this), e2 = true) : a2 = new t3(this), this.remember("_" + t3.name, a2)), a2.active(e2, i2), this;
  };
  Q(Gt, { select: rs(ss) }), Q([Ge, je, xe], { pointSelect: rs(class {
    constructor(t3) {
      this.el = t3, t3.remember("_pointSelectHandler", this), this.selection = new gi(), this.order = ["lt", "t", "rt", "r", "rb", "b", "lb", "l", "rot"], this.mutationHandler = this.mutationHandler.bind(this);
      const e2 = F();
      this.observer = new e2.MutationObserver(this.mutationHandler);
    }
    init(t3) {
      this.createHandle = t3.createHandle || this.createHandleFn, this.updateHandle = t3.updateHandle || this.updateHandleFn, this.el.root().put(this.selection), this.updatePoints(), this.createSelection(), this.createPointHandles(), this.updatePointHandles(), this.observer.observe(this.el.node, { attributes: true });
    }
    active(t3, e2) {
      if (!t3) return this.selection.clear().remove(), void this.observer.disconnect();
      this.init(e2);
    }
    createSelection() {
      this.selection.polygon(this.points).addClass("svg_select_shape_pointSelect");
    }
    updateSelection() {
      this.selection.get(0).plot(this.points);
    }
    createPointHandles() {
      this.points.forEach((t3, e2, i2) => {
        this.createHandle.call(this, this.selection, t3, e2, i2), this.selection.get(e2 + 1).addClass("svg_select_handle_point").on("mousedown.selection touchstart.selection", is("point", this.el, this.points, e2));
      });
    }
    createHandleFn(t3) {
      t3.circle(5);
    }
    updateHandleFn(t3, e2) {
      t3.center(e2[0], e2[1]);
    }
    updatePointHandles() {
      this.points.forEach((t3, e2, i2) => {
        this.updateHandle.call(this, this.selection.get(e2 + 1), t3, e2, i2);
      });
    }
    updatePoints() {
      const t3 = this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());
      this.points = this.el.array().map((e2) => as(e2, t3));
    }
    mutationHandler() {
      this.updatePoints(), this.updateSelection(), this.updatePointHandles();
    }
  }) });
  const ns = (t3) => (t3.changedTouches && (t3 = t3.changedTouches[0]), { x: t3.clientX, y: t3.clientY }), os = (t3) => {
    let e2 = 1 / 0, i2 = 1 / 0, a2 = -1 / 0, s3 = -1 / 0;
    for (let r3 = 0; r3 < t3.length; r3++) {
      const n2 = t3[r3];
      e2 = Math.min(e2, n2[0]), i2 = Math.min(i2, n2[1]), a2 = Math.max(a2, n2[0]), s3 = Math.max(s3, n2[1]);
    }
    return new kt(e2, i2, a2 - e2, s3 - i2);
  };
  class ls {
    constructor(t3) {
      this.el = t3, t3.remember("_ResizeHandler", this), this.lastCoordinates = null, this.eventType = "", this.lastEvent = null, this.handleResize = this.handleResize.bind(this), this.resize = this.resize.bind(this), this.endResize = this.endResize.bind(this), this.rotate = this.rotate.bind(this), this.movePoint = this.movePoint.bind(this);
    }
    active(t3, e2) {
      this.preserveAspectRatio = e2.preserveAspectRatio ?? false, this.aroundCenter = e2.aroundCenter ?? false, this.grid = e2.grid ?? 0, this.degree = e2.degree ?? 0, this.el.off(".resize"), t3 && (this.el.on(["lt.resize", "rt.resize", "rb.resize", "lb.resize", "t.resize", "r.resize", "b.resize", "l.resize", "rot.resize", "point.resize"], this.handleResize), this.lastEvent && ("rot" === this.eventType ? this.rotate(this.lastEvent) : "point" === this.eventType ? this.movePoint(this.lastEvent) : this.resize(this.lastEvent)));
    }
    handleResize(t3) {
      this.eventType = t3.type;
      const { event: e2, index: i2, points: a2 } = t3.detail, s3 = !e2.type.indexOf("mouse");
      if (s3 && 1 !== (e2.which || e2.buttons)) return;
      if (this.el.dispatch("beforeresize", { event: t3, handler: this }).defaultPrevented) return;
      this.box = this.el.bbox(), this.startPoint = this.el.point(ns(e2)), this.index = i2, this.points = a2.slice();
      const r3 = (s3 ? "mousemove" : "touchmove") + ".resize", n2 = (s3 ? "mouseup" : "touchcancel.resize touchend") + ".resize";
      "point" === t3.type ? zt(window, r3, this.movePoint) : "rot" === t3.type ? zt(window, r3, this.rotate) : zt(window, r3, this.resize), zt(window, n2, this.endResize);
    }
    resize(t3) {
      this.lastEvent = t3;
      const e2 = this.snapToGrid(this.el.point(ns(t3)));
      let i2 = e2.x - this.startPoint.x, a2 = e2.y - this.startPoint.y;
      this.preserveAspectRatio && this.aroundCenter && (i2 *= 2, a2 *= 2);
      const s3 = this.box.x + i2, r3 = this.box.y + a2, n2 = this.box.x2 + i2, o3 = this.box.y2 + a2;
      let l2 = new kt(this.box);
      if (this.eventType.includes("l") && (l2.x = Math.min(s3, this.box.x2), l2.x2 = Math.max(s3, this.box.x2)), this.eventType.includes("r") && (l2.x = Math.min(n2, this.box.x), l2.x2 = Math.max(n2, this.box.x)), this.eventType.includes("t") && (l2.y = Math.min(r3, this.box.y2), l2.y2 = Math.max(r3, this.box.y2)), this.eventType.includes("b") && (l2.y = Math.min(o3, this.box.y), l2.y2 = Math.max(o3, this.box.y)), l2.width = l2.x2 - l2.x, l2.height = l2.y2 - l2.y, this.preserveAspectRatio) {
        const t4 = l2.width / this.box.width, e3 = l2.height / this.box.height, i3 = ["lt", "t", "rt", "r", "rb", "b", "lb", "l"], a3 = (i3.indexOf(this.eventType) + 4) % i3.length, s4 = this.aroundCenter ? [this.box.cx, this.box.cy] : this.points[a3];
        let r4 = this.eventType.includes("t") || this.eventType.includes("b") ? e3 : t4;
        r4 = 2 === this.eventType.length ? Math.max(t4, e3) : r4, l2 = function(t5, e4, i4) {
          const a4 = [[t5.x, t5.y], [t5.x + t5.width, t5.y], [t5.x + t5.width, t5.y + t5.height], [t5.x, t5.y + t5.height]].map(([t6, a5]) => {
            const s5 = t6 - e4[0], r5 = (a5 - e4[1]) * i4;
            return [s5 * i4 + e4[0], r5 + e4[1]];
          });
          return os(a4);
        }(this.box, s4, r4);
      }
      this.el.dispatch("resize", { box: new kt(l2), angle: 0, eventType: this.eventType, event: t3, handler: this }).defaultPrevented || this.el.size(l2.width, l2.height).move(l2.x, l2.y);
    }
    movePoint(t3) {
      this.lastEvent = t3;
      const { x: e2, y: i2 } = this.snapToGrid(this.el.point(ns(t3))), a2 = this.el.array().slice();
      a2[this.index] = [e2, i2], this.el.dispatch("resize", { box: os(a2), angle: 0, eventType: this.eventType, event: t3, handler: this }).defaultPrevented || this.el.plot(a2);
    }
    rotate(t3) {
      this.lastEvent = t3;
      const e2 = this.startPoint, i2 = this.el.point(ns(t3)), { cx: a2, cy: s3 } = this.box, r3 = e2.x - a2, n2 = e2.y - s3, o3 = i2.x - a2, l2 = i2.y - s3, h3 = Math.sqrt(r3 * r3 + n2 * n2) * Math.sqrt(o3 * o3 + l2 * l2);
      if (0 === h3) return;
      let c2 = Math.acos((r3 * o3 + n2 * l2) / h3) / Math.PI * 180;
      if (!c2) return;
      i2.x < e2.x && (c2 = -c2);
      const d2 = new vt(this.el), { x: u2, y: g3 } = new bt(a2, s3).transformO(d2), { rotate: p3 } = d2.decompose(), f2 = this.snapToAngle(p3 + c2) - p3;
      this.el.dispatch("resize", { box: this.box, angle: f2, eventType: this.eventType, event: t3, handler: this }).defaultPrevented || this.el.transform(d2.rotateO(f2, u2, g3));
    }
    endResize(t3) {
      "rot" !== this.eventType && "point" !== this.eventType && this.resize(t3), this.lastEvent = null, this.eventType = "", Xt(window, "mousemove.resize touchmove.resize"), Xt(window, "mouseup.resize touchend.resize");
    }
    snapToGrid(t3) {
      return this.grid && (t3.x = Math.round(t3.x / this.grid) * this.grid, t3.y = Math.round(t3.y / this.grid) * this.grid), t3;
    }
    snapToAngle(t3) {
      return this.degree && (t3 = Math.round(t3 / this.degree) * this.degree), t3;
    }
  }
  Q(Gt, { resize: function(t3 = true, e2 = {}) {
    "object" == typeof t3 && (e2 = t3, t3 = true);
    let i2 = this.remember("_ResizeHandler");
    return i2 || (t3.prototype instanceof ls ? (i2 = new t3(this), t3 = true) : i2 = new ls(this), this.remember("_resizeHandler", i2)), i2.active(t3, e2), this;
  } }), void 0 === window.SVG && (window.SVG = yi), void 0 === window.Apex && (window.Apex = {});
  var hs = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
    }
    return s2(t3, [{ key: "initModules", value: function() {
      this.ctx.publicMethods = ["updateOptions", "updateSeries", "appendData", "appendSeries", "isSeriesHidden", "highlightSeries", "toggleSeries", "showSeries", "hideSeries", "setLocale", "resetSeries", "zoomX", "toggleDataPointSelection", "dataURI", "exportToCSV", "addXaxisAnnotation", "addYaxisAnnotation", "addPointAnnotation", "clearAnnotations", "removeAnnotation", "paper", "destroy"], this.ctx.eventList = ["click", "mousedown", "mousemove", "mouseleave", "touchstart", "touchmove", "touchleave", "mouseup", "touchend"], this.ctx.animations = new y(this.ctx), this.ctx.axes = new ra(this.ctx), this.ctx.core = new qa(this.ctx.el, this.ctx), this.ctx.config = new Wi({}), this.ctx.data = new $i(this.ctx), this.ctx.grid = new Ki(this.ctx), this.ctx.graphics = new Mi(this.ctx), this.ctx.coreUtils = new Pi(this.ctx), this.ctx.crosshairs = new na(this.ctx), this.ctx.events = new aa(this.ctx), this.ctx.exports = new Ji(this.ctx), this.ctx.fill = new ji(this.ctx), this.ctx.localization = new sa(this.ctx), this.ctx.options = new Oi(), this.ctx.responsive = new oa(this.ctx), this.ctx.series = new Zi(this.ctx), this.ctx.theme = new la(this.ctx), this.ctx.formatters = new Xi(this.ctx), this.ctx.titleSubtitle = new ha(this.ctx), this.ctx.legend = new xa(this.ctx), this.ctx.toolbar = new ba(this.ctx), this.ctx.tooltip = new Sa(this.ctx), this.ctx.dimensions = new pa(this.ctx), this.ctx.updateHelpers = new Za(this.ctx), this.ctx.zoomPanSelection = new ma2(this.ctx), this.ctx.w.globals.tooltip = new Sa(this.ctx);
    } }]), t3;
  }(), cs = function() {
    function t3(e2) {
      i(this, t3), this.ctx = e2, this.w = e2.w;
    }
    return s2(t3, [{ key: "clear", value: function(t4) {
      var e2 = t4.isUpdating;
      this.ctx.zoomPanSelection && this.ctx.zoomPanSelection.destroy(), this.ctx.toolbar && this.ctx.toolbar.destroy(), 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.w.globals.tooltip = null, this.clearDomElements({ isUpdating: e2 });
    } }, { key: "killSVG", value: function(t4) {
      t4.each(function() {
        this.removeClass("*"), this.off();
      }, true), t4.clear();
    } }, { key: "clearDomElements", value: function(t4) {
      var e2 = this, i2 = t4.isUpdating, a2 = this.w.globals.dom.Paper.node;
      a2.parentNode && a2.parentNode.parentNode && !i2 && (a2.parentNode.parentNode.style.minHeight = "unset");
      var s3 = this.w.globals.dom.baseEl;
      s3 && this.ctx.eventList.forEach(function(t5) {
        s3.removeEventListener(t5, e2.ctx.events.documentEvent);
      });
      var r3 = this.w.globals.dom;
      if (null !== this.ctx.el) for (; this.ctx.el.firstChild; ) this.ctx.el.removeChild(this.ctx.el.firstChild);
      this.killSVG(r3.Paper), r3.Paper.remove(), r3.elWrap = null, r3.elGraphical = null, r3.elLegendWrap = null, r3.elLegendForeign = null, r3.baseEl = null, r3.elGridRect = null, r3.elGridRectMask = null, r3.elGridRectBarMask = null, r3.elGridRectMarkerMask = null, r3.elForecastMask = null, r3.elNonForecastMask = null, r3.elDefs = null;
    } }]), t3;
  }(), ds = /* @__PURE__ */ new WeakMap();
  var us = function() {
    function t3(e2, a2) {
      i(this, t3), this.opts = a2, this.ctx = this, this.w = new Gi(a2).init(), this.el = e2, this.w.globals.cuid = v.randomId(), this.w.globals.chartID = this.w.config.chart.id ? v.escapeString(this.w.config.chart.id) : this.w.globals.cuid, new hs(this).initModules(), this.create = v.bind(this.create, this), this.windowResizeHandler = this._windowResizeHandler.bind(this), this.parentResizeHandler = this._parentResizeCallback.bind(this);
    }
    return s2(t3, [{ key: "render", value: function() {
      var t4 = this;
      return new Promise(function(e2, i2) {
        if (v.elementExists(t4.el)) {
          void 0 === Apex._chartInstances && (Apex._chartInstances = []), t4.w.config.chart.id && Apex._chartInstances.push({ id: t4.w.globals.chartID, group: t4.w.config.chart.group, chart: t4 }), t4.setLocale(t4.w.config.chart.defaultLocale);
          var a2 = t4.w.config.chart.events.beforeMount;
          "function" == typeof a2 && a2(t4, t4.w), t4.events.fireEvent("beforeMount", [t4, t4.w]), window.addEventListener("resize", t4.windowResizeHandler), function(t5, e3) {
            var i3 = false;
            if (t5.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) {
              var a3 = t5.getBoundingClientRect();
              "none" !== t5.style.display && 0 !== a3.width || (i3 = true);
            }
            var s4 = new ResizeObserver(function(a4) {
              i3 && e3.call(t5, a4), i3 = true;
            });
            t5.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? Array.from(t5.children).forEach(function(t6) {
              return s4.observe(t6);
            }) : s4.observe(t5), ds.set(e3, s4);
          }(t4.el.parentNode, t4.parentResizeHandler);
          var s3 = t4.el.getRootNode && t4.el.getRootNode(), r3 = v.is("ShadowRoot", s3), n2 = t4.el.ownerDocument, o3 = r3 ? s3.getElementById("apexcharts-css") : n2.getElementById("apexcharts-css");
          if (!o3) {
            var l2;
            (o3 = document.createElement("style")).id = "apexcharts-css", o3.textContent = '@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-series-collapsed {\n  opacity: 0\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  width: 12px;\n  height: 12px;\n  position: relative;\n  top: 0;\n  margin-right: 10px;\n  border-radius: 50%\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.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.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}';
            var h3 = (null === (l2 = t4.opts.chart) || void 0 === l2 ? void 0 : l2.nonce) || t4.w.config.chart.nonce;
            h3 && o3.setAttribute("nonce", h3), r3 ? s3.prepend(o3) : n2.head.appendChild(o3);
          }
          var c2 = t4.create(t4.w.config.series, {});
          if (!c2) return e2(t4);
          t4.mount(c2).then(function() {
            "function" == typeof t4.w.config.chart.events.mounted && t4.w.config.chart.events.mounted(t4, t4.w), t4.events.fireEvent("mounted", [t4, t4.w]), e2(c2);
          }).catch(function(t5) {
            i2(t5);
          });
        } else i2(new Error("Element not found"));
      });
    } }, { key: "create", value: function(t4, e2) {
      var i2 = this, a2 = this.w;
      new hs(this).initModules();
      var s3 = this.w.globals;
      if (s3.noData = false, s3.animationEnded = false, !v.elementExists(this.el)) return s3.animationEnded = true, this.destroy(), null;
      (this.responsive.checkResponsiveConfig(e2), a2.config.xaxis.convertedCatToNumeric) && new Ni(a2.config).convertCatToNumericXaxis(a2.config, this.ctx);
      if (this.core.setupElements(), "treemap" === a2.config.chart.type && (a2.config.grid.show = false, a2.config.yaxis[0].show = false), 0 === s3.svgWidth) return s3.animationEnded = true, null;
      var r3 = t4;
      t4.forEach(function(t5, e3) {
        t5.hidden && (r3 = i2.legend.legendHelpers.getSeriesAfterCollapsing({ realIndex: e3 }));
      });
      var n2 = Pi.checkComboSeries(r3, a2.config.chart.type);
      s3.comboCharts = n2.comboCharts, s3.comboBarCount = n2.comboBarCount;
      var o3 = r3.every(function(t5) {
        return t5.data && 0 === t5.data.length;
      });
      (0 === r3.length || o3 && s3.collapsedSeries.length < 1) && this.series.handleNoData(), this.events.setupEventHandlers(), this.data.parseData(r3), this.theme.init(), new Vi(this).setGlobalMarkerSize(), this.formatters.setLabelFormatters(), this.titleSubtitle.draw(), s3.noData && s3.collapsedSeries.length !== s3.series.length && !a2.config.legend.showForSingleSeries || this.legend.init(), this.series.hasAllSeriesEqualX(), s3.axisCharts && (this.core.coreCalculations(), "category" !== a2.config.xaxis.type && this.formatters.setLabelFormatters(), this.ctx.toolbar.minX = a2.globals.minX, this.ctx.toolbar.maxX = a2.globals.maxX), this.formatters.heatmapLabelFormatters(), new Pi(this).getLargestMarkerSize(), this.dimensions.plotCoords();
      var l2 = this.core.xySettings();
      this.grid.createGridMask();
      var h3 = this.core.plotChartType(r3, l2), c2 = new qi(this);
      return c2.bringForward(), a2.config.dataLabels.background.enabled && c2.dataLabelsBackground(), this.core.shiftGraphPosition(), { elGraph: h3, xyRatios: l2, dimensions: { plot: { left: a2.globals.translateX, top: a2.globals.translateY, width: a2.globals.gridWidth, height: a2.globals.gridHeight } } };
    } }, { key: "mount", value: function() {
      var t4 = this, e2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null, i2 = this, a2 = i2.w;
      return new Promise(function(s3, r3) {
        if (null === i2.el) return r3(new Error("Not enough data to display or target element not found"));
        (null === e2 || a2.globals.allSeriesCollapsed) && i2.series.handleNoData(), i2.grid = new Ki(i2);
        var n2, o3, l2 = i2.grid.drawGrid();
        (i2.annotations = new Fi(i2), i2.annotations.drawImageAnnos(), i2.annotations.drawTextAnnos(), "back" === a2.config.grid.position) && (l2 && a2.globals.dom.elGraphical.add(l2.el), null != l2 && null !== (n2 = l2.elGridBorders) && void 0 !== n2 && n2.node && a2.globals.dom.elGraphical.add(l2.elGridBorders));
        if (Array.isArray(e2.elGraph)) for (var h3 = 0; h3 < e2.elGraph.length; h3++) a2.globals.dom.elGraphical.add(e2.elGraph[h3]);
        else a2.globals.dom.elGraphical.add(e2.elGraph);
        "front" === a2.config.grid.position && (l2 && a2.globals.dom.elGraphical.add(l2.el), null != l2 && null !== (o3 = l2.elGridBorders) && void 0 !== o3 && o3.node && a2.globals.dom.elGraphical.add(l2.elGridBorders));
        "front" === a2.config.xaxis.crosshairs.position && i2.crosshairs.drawXCrosshairs(), "front" === a2.config.yaxis[0].crosshairs.position && i2.crosshairs.drawYCrosshairs(), "treemap" !== a2.config.chart.type && i2.axes.drawAxis(a2.config.chart.type, l2);
        var c2 = new Qi(t4.ctx, l2), d2 = new ia(t4.ctx, l2);
        if (null !== l2 && (c2.xAxisLabelCorrections(l2.xAxisTickWidth), d2.setYAxisTextAlignments(), a2.config.yaxis.map(function(t5, e3) {
          -1 === a2.globals.ignoreYAxisIndexes.indexOf(e3) && d2.yAxisTitleRotate(e3, t5.opposite);
        })), i2.annotations.drawAxesAnnotations(), !a2.globals.noData) {
          if (a2.config.tooltip.enabled && !a2.globals.noData && i2.w.globals.tooltip.drawTooltip(e2.xyRatios), a2.globals.axisCharts && (a2.globals.isXNumeric || a2.config.xaxis.convertedCatToNumeric || a2.globals.isRangeBar)) (a2.config.chart.zoom.enabled || a2.config.chart.selection && a2.config.chart.selection.enabled || a2.config.chart.pan && a2.config.chart.pan.enabled) && i2.zoomPanSelection.init({ xyRatios: e2.xyRatios });
          else {
            var u2 = a2.config.chart.toolbar.tools;
            ["zoom", "zoomin", "zoomout", "selection", "pan", "reset"].forEach(function(t5) {
              u2[t5] = false;
            });
          }
          a2.config.chart.toolbar.show && !a2.globals.allSeriesCollapsed && i2.toolbar.createToolbar();
        }
        a2.globals.memory.methodsToExec.length > 0 && a2.globals.memory.methodsToExec.forEach(function(t5) {
          t5.method(t5.params, false, t5.context);
        }), a2.globals.axisCharts || a2.globals.noData || i2.core.resizeNonAxisCharts(), s3(i2);
      });
    } }, { key: "destroy", value: function() {
      window.removeEventListener("resize", this.windowResizeHandler), function(t5, e2) {
        var i2 = ds.get(e2);
        i2 && (i2.disconnect(), ds.delete(e2));
      }(this.el.parentNode, this.parentResizeHandler);
      var t4 = this.w.config.chart.id;
      t4 && Apex._chartInstances.forEach(function(e2, i2) {
        e2.id === v.escapeString(t4) && Apex._chartInstances.splice(i2, 1);
      }), new cs(this.ctx).clear({ isUpdating: false });
    } }, { key: "updateOptions", value: function(t4) {
      var e2 = this, i2 = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], a2 = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2], s3 = !(arguments.length > 3 && void 0 !== arguments[3]) || arguments[3], r3 = !(arguments.length > 4 && void 0 !== arguments[4]) || arguments[4], n2 = this.w;
      return n2.globals.selection = void 0, t4.series && (this.series.resetSeries(false, true, false), t4.series.length && t4.series[0].data && (t4.series = t4.series.map(function(t5, i3) {
        return e2.updateHelpers._extendSeries(t5, i3);
      })), this.updateHelpers.revertDefaultAxisMinMax()), t4.xaxis && (t4 = this.updateHelpers.forceXAxisUpdate(t4)), t4.yaxis && (t4 = this.updateHelpers.forceYAxisUpdate(t4)), n2.globals.collapsedSeriesIndices.length > 0 && this.series.clearPreviousPaths(), t4.theme && (t4 = this.theme.updateThemeOptions(t4)), this.updateHelpers._updateOptions(t4, i2, a2, s3, r3);
    } }, { key: "updateSeries", value: function() {
      var t4 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [], e2 = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], i2 = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2];
      return this.series.resetSeries(false), this.updateHelpers.revertDefaultAxisMinMax(), this.updateHelpers._updateSeries(t4, e2, i2);
    } }, { key: "appendSeries", value: function(t4) {
      var e2 = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], i2 = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2], a2 = this.w.config.series.slice();
      return a2.push(t4), this.series.resetSeries(false), this.updateHelpers.revertDefaultAxisMinMax(), this.updateHelpers._updateSeries(a2, e2, i2);
    } }, { key: "appendData", value: function(t4) {
      var e2 = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], i2 = this;
      i2.w.globals.dataChanged = true, i2.series.getPreviousPaths();
      for (var a2 = i2.w.config.series.slice(), s3 = 0; s3 < a2.length; s3++) if (null !== t4[s3] && void 0 !== t4[s3]) for (var r3 = 0; r3 < t4[s3].data.length; r3++) a2[s3].data.push(t4[s3].data[r3]);
      return i2.w.config.series = a2, e2 && (i2.w.globals.initialSeries = v.clone(i2.w.config.series)), this.update();
    } }, { key: "update", value: function(t4) {
      var e2 = this;
      return new Promise(function(i2, a2) {
        new cs(e2.ctx).clear({ isUpdating: true });
        var s3 = e2.create(e2.w.config.series, t4);
        if (!s3) return i2(e2);
        e2.mount(s3).then(function() {
          "function" == typeof e2.w.config.chart.events.updated && e2.w.config.chart.events.updated(e2, e2.w), e2.events.fireEvent("updated", [e2, e2.w]), e2.w.globals.isDirty = true, i2(e2);
        }).catch(function(t5) {
          a2(t5);
        });
      });
    } }, { key: "getSyncedCharts", value: function() {
      var t4 = this.getGroupedCharts(), e2 = [this];
      return t4.length && (e2 = [], t4.forEach(function(t5) {
        e2.push(t5);
      })), e2;
    } }, { key: "getGroupedCharts", value: function() {
      var t4 = this;
      return Apex._chartInstances.filter(function(t5) {
        if (t5.group) return true;
      }).map(function(e2) {
        return t4.w.config.chart.group === e2.group ? e2.chart : t4;
      });
    } }, { key: "toggleSeries", value: function(t4) {
      return this.series.toggleSeries(t4);
    } }, { key: "highlightSeriesOnLegendHover", value: function(t4, e2) {
      return this.series.toggleSeriesOnHover(t4, e2);
    } }, { key: "showSeries", value: function(t4) {
      this.series.showSeries(t4);
    } }, { key: "hideSeries", value: function(t4) {
      this.series.hideSeries(t4);
    } }, { key: "highlightSeries", value: function(t4) {
      this.series.highlightSeries(t4);
    } }, { key: "isSeriesHidden", value: function(t4) {
      this.series.isSeriesHidden(t4);
    } }, { key: "resetSeries", value: function() {
      var t4 = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0], e2 = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1];
      this.series.resetSeries(t4, e2);
    } }, { key: "addEventListener", value: function(t4, e2) {
      this.events.addEventListener(t4, e2);
    } }, { key: "removeEventListener", value: function(t4, e2) {
      this.events.removeEventListener(t4, e2);
    } }, { key: "addXaxisAnnotation", value: function(t4) {
      var e2 = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], i2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : void 0, a2 = this;
      i2 && (a2 = i2), a2.annotations.addXaxisAnnotationExternal(t4, e2, a2);
    } }, { key: "addYaxisAnnotation", value: function(t4) {
      var e2 = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], i2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : void 0, a2 = this;
      i2 && (a2 = i2), a2.annotations.addYaxisAnnotationExternal(t4, e2, a2);
    } }, { key: "addPointAnnotation", value: function(t4) {
      var e2 = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], i2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : void 0, a2 = this;
      i2 && (a2 = i2), a2.annotations.addPointAnnotationExternal(t4, e2, a2);
    } }, { key: "clearAnnotations", value: function() {
      var t4 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : void 0, e2 = this;
      t4 && (e2 = t4), e2.annotations.clearAnnotations(e2);
    } }, { key: "removeAnnotation", value: function(t4) {
      var e2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : void 0, i2 = this;
      e2 && (i2 = e2), i2.annotations.removeAnnotation(i2, t4);
    } }, { key: "getChartArea", value: function() {
      return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner");
    } }, { key: "getSeriesTotalXRange", value: function(t4, e2) {
      return this.coreUtils.getSeriesTotalsXRange(t4, e2);
    } }, { key: "getHighestValueInSeries", value: function() {
      var t4 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0;
      return new ea(this.ctx).getMinYMaxY(t4).highestY;
    } }, { key: "getLowestValueInSeries", value: function() {
      var t4 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0;
      return new ea(this.ctx).getMinYMaxY(t4).lowestY;
    } }, { key: "getSeriesTotal", value: function() {
      return this.w.globals.seriesTotals;
    } }, { key: "toggleDataPointSelection", value: function(t4, e2) {
      return this.updateHelpers.toggleDataPointSelection(t4, e2);
    } }, { key: "zoomX", value: function(t4, e2) {
      this.ctx.toolbar.zoomUpdateOptions(t4, e2);
    } }, { key: "setLocale", value: function(t4) {
      this.localization.setCurrentLocaleValues(t4);
    } }, { key: "dataURI", value: function(t4) {
      return new Ji(this.ctx).dataURI(t4);
    } }, { key: "exportToCSV", value: function() {
      var t4 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
      return new Ji(this.ctx).exportToCSV(t4);
    } }, { key: "paper", value: function() {
      return this.w.globals.dom.Paper;
    } }, { key: "_parentResizeCallback", value: function() {
      this.w.globals.animationEnded && this.w.config.chart.redrawOnParentResize && this._windowResize();
    } }, { key: "_windowResize", value: function() {
      var t4 = this;
      clearTimeout(this.w.globals.resizeTimer), this.w.globals.resizeTimer = window.setTimeout(function() {
        t4.w.globals.resized = true, t4.w.globals.dataChanged = false, t4.ctx.update();
      }, 150);
    } }, { key: "_windowResizeHandler", value: function() {
      var t4 = this.w.config.chart.redrawOnWindowResize;
      "function" == typeof t4 && (t4 = t4()), t4 && this._windowResize();
    } }], [{ key: "getChartByID", value: function(t4) {
      var e2 = v.escapeString(t4);
      if (Apex._chartInstances) {
        var i2 = Apex._chartInstances.filter(function(t5) {
          return t5.id === e2;
        })[0];
        return i2 && i2.chart;
      }
    } }, { key: "initOnLoad", value: function() {
      for (var e2 = document.querySelectorAll("[data-apexcharts]"), i2 = 0; i2 < e2.length; i2++) {
        new t3(e2[i2], JSON.parse(e2[i2].getAttribute("data-options"))).render();
      }
    } }, { key: "exec", value: function(t4, e2) {
      var i2 = this.getChartByID(t4);
      if (i2) {
        i2.w.globals.isExecCalled = true;
        var a2 = null;
        if (-1 !== i2.publicMethods.indexOf(e2)) {
          for (var s3 = arguments.length, r3 = new Array(s3 > 2 ? s3 - 2 : 0), n2 = 2; n2 < s3; n2++) r3[n2 - 2] = arguments[n2];
          a2 = i2[e2].apply(i2, r3);
        }
        return a2;
      }
    } }, { key: "merge", value: function(t4, e2) {
      return v.extend(t4, e2);
    } }]), t3;
  }();
  apexcharts_common = us;
  return apexcharts_common;
}
var apexcharts_commonExports = requireApexcharts_common();
const w$1 = /* @__PURE__ */ getDefaultExportFromCjs(apexcharts_commonExports);
const A$1 = [
  "animationEnd",
  "beforeMount",
  "mounted",
  "updated",
  "click",
  "mouseMove",
  "mouseLeave",
  "legendClick",
  "markerClick",
  "selection",
  "dataPointSelection",
  "dataPointMouseEnter",
  "dataPointMouseLeave",
  "beforeZoom",
  "beforeResetZoom",
  "zoomed",
  "scrolled",
  "brushScrolled"
], m = /* @__PURE__ */ defineComponent({
  name: "apexchart",
  props: {
    options: {
      type: Object
    },
    type: {
      type: String
    },
    series: {
      type: Array,
      required: true
    },
    width: {
      default: "100%"
    },
    height: {
      default: "auto"
    }
  },
  // events emitted by this component
  emits: A$1,
  setup(a, { emit: x2 }) {
    const g2 = ref(null), t2 = ref(null), f = (e) => e && typeof e == "object" && !Array.isArray(e) && e != null, S2 = (e, n) => {
      typeof Object.assign != "function" && function() {
        Object.assign = function(o2) {
          if (o2 == null)
            throw new TypeError("Cannot convert undefined or null to object");
          let v = Object(o2);
          for (let i = 1; i < arguments.length; i++) {
            let l = arguments[i];
            if (l != null)
              for (let p2 in l)
                l.hasOwnProperty(p2) && (v[p2] = l[p2]);
          }
          return v;
        };
      }();
      let s2 = Object.assign({}, e);
      return f(e) && f(n) && Object.keys(n).forEach((o2) => {
        f(n[o2]) ? o2 in e ? s2[o2] = S2(e[o2], n[o2]) : Object.assign(s2, {
          [o2]: n[o2]
        }) : Object.assign(s2, {
          [o2]: n[o2]
        });
      }), s2;
    }, r2 = async () => {
      if (await nextTick(), t2.value)
        return;
      const e = {
        chart: {
          type: a.type || a.options.chart.type || "line",
          height: a.height,
          width: a.width,
          events: {}
        },
        series: a.series
      }, n = a.options.chart ? a.options.chart.events : null;
      A$1.forEach((o2) => {
        let v = (...i) => x2(o2, ...i);
        e.chart.events[o2] = (...i) => {
          v(...i), n && n.hasOwnProperty(o2) && n[o2](...i);
        };
      });
      const s2 = S2(a.options, e);
      return t2.value = new w$1(g2.value, s2), t2.value.render();
    }, d = () => (h2(), r2()), h2 = () => {
      t2.value.destroy(), t2.value = null;
    }, O = (e, n) => t2.value.updateSeries(e, n), y = (e, n, s2, o2) => t2.value.updateOptions(e, n, s2, o2), j2 = (e) => t2.value.toggleSeries(e), P2 = (e) => {
      t2.value.showSeries(e);
    }, C = (e) => {
      t2.value.hideSeries(e);
    }, E = (e, n) => t2.value.appendSeries(e, n), M = () => {
      t2.value.resetSeries();
    }, D = (e, n) => {
      t2.value.toggleDataPointSelection(e, n);
    }, L2 = (e) => t2.value.appendData(e), R = (e, n) => t2.value.zoomX(e, n), X = (e) => t2.value.dataURI(e), z = (e) => t2.value.setLocale(e), I = (e, n) => {
      t2.value.addXaxisAnnotation(e, n);
    }, U = (e, n) => {
      t2.value.addYaxisAnnotation(e, n);
    }, B = (e, n) => {
      t2.value.addPointAnnotation(e, n);
    }, T = (e, n) => {
      t2.value.removeAnnotation(e, n);
    }, Y = () => {
      t2.value.clearAnnotations();
    };
    onBeforeMount(() => {
      window.ApexCharts = w$1;
    }), onMounted(() => {
      g2.value = getCurrentInstance().proxy.$el, r2();
    }), onBeforeUnmount(() => {
      t2.value && h2();
    });
    const u = toRefs(a);
    return watch(u.options, () => {
      !t2.value && a.options ? r2() : t2.value.updateOptions(a.options);
    }), watch(
      u.series,
      () => {
        !t2.value && a.series ? r2() : t2.value.updateSeries(a.series);
      },
      { deep: true }
    ), watch(u.type, () => {
      d();
    }), watch(u.width, () => {
      d();
    }), watch(u.height, () => {
      d();
    }), {
      chart: t2,
      init: r2,
      refresh: d,
      destroy: h2,
      updateOptions: y,
      updateSeries: O,
      toggleSeries: j2,
      showSeries: P2,
      hideSeries: C,
      resetSeries: M,
      zoomX: R,
      toggleDataPointSelection: D,
      appendData: L2,
      appendSeries: E,
      addXaxisAnnotation: I,
      addYaxisAnnotation: U,
      addPointAnnotation: B,
      removeAnnotation: T,
      clearAnnotations: Y,
      setLocale: z,
      dataURI: X
    };
  },
  render() {
    return h("div", {
      class: "vue-apexcharts"
    });
  }
}), J = (a) => {
  a.component(m.name, m);
};
m.install = J;
const _hoisted_1$2 = {
  class: "container",
  id: "tblItems"
};
const _hoisted_2$2 = { class: "row" };
const _hoisted_3$2 = { class: "col" };
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
  __name: "ItemsSummaryChart",
  setup(__props) {
    const ItemDataStore = useItemDataStore();
    const indexStore = useIndexStore();
    onMounted(() => {
    });
    const options = computed(() => {
      return {
        chart: {
          height: 650,
          stacked: true,
          stackType: "100%",
          toolbar: {
            show: true
          },
          type: "bar",
          zoom: {
            enabled: true
          }
        },
        colors: ["#000000", "#66DA26", "#F01A96", "#9230AB", "#304ED1", "#188EDC", "#fbc042"],
        dataLabels: {
          // eslint-disable-next-line @typescript-eslint/no-unused-vars
          formatter: function(val, opts) {
            return `${lodashExports.round(val, 2)}%`;
          }
        },
        title: {
          text: "Items At Level"
        },
        xaxis: {
          categories: lodashExports.values(indexStore.types)
          //   tickAmount:
          //     levelProgressionsStore.levelProgressions == null
          //       ? 1
          //       : levelProgressionsStore.levelProgressions.length,
          //   title: {
          //     text: 'Level'
          //   }
        }
        // yaxis: {
        //   title: {
        //     text: 'Days'
        //   }
        // },
        // tooltip: {
        //   //@ts-ignore
        //   custom: function ({ series, seriesIndex, dataPointIndex, w }) {
        //     if (levelProgressionsStore.levelProgressions == null) {
        //       return ''
        //     }
        //     return (
        //       '<div class="container tooltip">' +
        //       '<div class="row header"><div class="col">' +
        //       '<span> Level ' +
        //       levelProgressionsStore.levelProgressions[dataPointIndex].data.level +
        //       '</span></div></div>' +
        //       '<div class="row"><div class="col">' +
        //       '<span> Started At: ' +
        //       format(
        //         levelProgressionsStore.levelProgressions[dataPointIndex].data.started_at,
        //         'MM/dd/yyyy'
        //       ) +
        //       '</span></div></div>' +
        //       '<div class="row"><div class="col">' +
        //       '<span> Passed At: ' +
        //       format(
        //         levelProgressionsStore.levelProgressions[dataPointIndex].data.passed_at,
        //         'MM/dd/yyyy'
        //       ) +
        //       '</span></div></div>' +
        //       '<div class="row"><div class="col">' +
        //       '<span> Days On Level: ' +
        //       levelProgressionsStore.levelProgressions[dataPointIndex].data.timeToPass +
        //       '</span></div></div>' +
        //       '</div>'
        //     )
        //   }
        // }
      };
    });
    const series = computed(() => {
      const data6 = [];
      lodashExports.keys(indexStore.stages).forEach((l) => {
        const subData = {
          data: [],
          name: l
        };
        lodashExports.keys(indexStore.types).forEach((t2) => {
          const y = ItemDataStore.assignmentsForTypeAndLevel(
            t2,
            //@ts-expect-error has any
            lodashExports.values(indexStore.stages[l])
          ).length;
          subData.data.push(y);
        });
        data6.push(subData);
      });
      return data6;
    });
    return (_ctx, _cache) => {
      const _component_BlockUI = resolveComponent("BlockUI");
      return openBlock(), createBlock(_component_BlockUI, {
        blocked: unref(ItemDataStore).loading
      }, {
        default: withCtx(() => [
          createBaseVNode("div", _hoisted_1$2, [
            createBaseVNode("div", _hoisted_2$2, [
              createBaseVNode("div", _hoisted_3$2, [
                createVNode(unref(m), {
                  stacked: "true",
                  type: "bar",
                  height: "650",
                  options: options.value,
                  series: series.value
                }, null, 8, ["options", "series"])
              ])
            ])
          ])
        ]),
        _: 1
      }, 8, ["blocked"]);
    };
  }
});
const useUserStore = /* @__PURE__ */ defineStore("user", () => {
  const loadingCount = ref(0), userData = ref(null);
  const loading = computed(() => loadingCount.value > 0);
  return { loading, userData };
});
function bind2(fn, thisArg) {
  return function wrap() {
    return fn.apply(thisArg, arguments);
  };
}
const { toString } = Object.prototype;
const { getPrototypeOf } = Object;
const kindOf = /* @__PURE__ */ ((cache) => (thing) => {
  const str = toString.call(thing);
  return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());
})(/* @__PURE__ */ Object.create(null));
const kindOfTest = (type) => {
  type = type.toLowerCase();
  return (thing) => kindOf(thing) === type;
};
const typeOfTest = (type) => (thing) => typeof thing === type;
const { isArray } = Array;
const isUndefined = typeOfTest("undefined");
function isBuffer(val) {
  return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);
}
const isArrayBuffer = kindOfTest("ArrayBuffer");
function isArrayBufferView(val) {
  let result;
  if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) {
    result = ArrayBuffer.isView(val);
  } else {
    result = val && val.buffer && isArrayBuffer(val.buffer);
  }
  return result;
}
const isString = typeOfTest("string");
const isFunction = typeOfTest("function");
const isNumber = typeOfTest("number");
const isObject = (thing) => thing !== null && typeof thing === "object";
const isBoolean = (thing) => thing === true || thing === false;
const isPlainObject = (val) => {
  if (kindOf(val) !== "object") {
    return false;
  }
  const prototype2 = getPrototypeOf(val);
  return (prototype2 === null || prototype2 === Object.prototype || Object.getPrototypeOf(prototype2) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);
};
const isDate = kindOfTest("Date");
const isFile = kindOfTest("File");
const isBlob = kindOfTest("Blob");
const isFileList = kindOfTest("FileList");
const isStream = (val) => isObject(val) && isFunction(val.pipe);
const isFormData = (thing) => {
  let kind;
  return thing && (typeof FormData === "function" && thing instanceof FormData || isFunction(thing.append) && ((kind = kindOf(thing)) === "formdata" || // detect form-data instance
  kind === "object" && isFunction(thing.toString) && thing.toString() === "[object FormData]"));
};
const isURLSearchParams = kindOfTest("URLSearchParams");
const [isReadableStream, isRequest, isResponse, isHeaders] = ["ReadableStream", "Request", "Response", "Headers"].map(kindOfTest);
const trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
function forEach(obj, fn, { allOwnKeys = false } = {}) {
  if (obj === null || typeof obj === "undefined") {
    return;
  }
  let i;
  let l;
  if (typeof obj !== "object") {
    obj = [obj];
  }
  if (isArray(obj)) {
    for (i = 0, l = obj.length; i < l; i++) {
      fn.call(null, obj[i], i, obj);
    }
  } else {
    const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);
    const len = keys.length;
    let key;
    for (i = 0; i < len; i++) {
      key = keys[i];
      fn.call(null, obj[key], key, obj);
    }
  }
}
function findKey(obj, key) {
  key = key.toLowerCase();
  const keys = Object.keys(obj);
  let i = keys.length;
  let _key;
  while (i-- > 0) {
    _key = keys[i];
    if (key === _key.toLowerCase()) {
      return _key;
    }
  }
  return null;
}
const _global = (() => {
  if (typeof globalThis !== "undefined") return globalThis;
  return typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : global;
})();
const isContextDefined = (context) => !isUndefined(context) && context !== _global;
function merge() {
  const { caseless } = isContextDefined(this) && this || {};
  const result = {};
  const assignValue = (val, key) => {
    const targetKey = caseless && findKey(result, key) || key;
    if (isPlainObject(result[targetKey]) && isPlainObject(val)) {
      result[targetKey] = merge(result[targetKey], val);
    } else if (isPlainObject(val)) {
      result[targetKey] = merge({}, val);
    } else if (isArray(val)) {
      result[targetKey] = val.slice();
    } else {
      result[targetKey] = val;
    }
  };
  for (let i = 0, l = arguments.length; i < l; i++) {
    arguments[i] && forEach(arguments[i], assignValue);
  }
  return result;
}
const extend3 = (a, b, thisArg, { allOwnKeys } = {}) => {
  forEach(b, (val, key) => {
    if (thisArg && isFunction(val)) {
      a[key] = bind2(val, thisArg);
    } else {
      a[key] = val;
    }
  }, { allOwnKeys });
  return a;
};
const stripBOM = (content2) => {
  if (content2.charCodeAt(0) === 65279) {
    content2 = content2.slice(1);
  }
  return content2;
};
const inherits = (constructor, superConstructor, props, descriptors2) => {
  constructor.prototype = Object.create(superConstructor.prototype, descriptors2);
  constructor.prototype.constructor = constructor;
  Object.defineProperty(constructor, "super", {
    value: superConstructor.prototype
  });
  props && Object.assign(constructor.prototype, props);
};
const toFlatObject = (sourceObj, destObj, filter2, propFilter) => {
  let props;
  let i;
  let prop;
  const merged = {};
  destObj = destObj || {};
  if (sourceObj == null) return destObj;
  do {
    props = Object.getOwnPropertyNames(sourceObj);
    i = props.length;
    while (i-- > 0) {
      prop = props[i];
      if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {
        destObj[prop] = sourceObj[prop];
        merged[prop] = true;
      }
    }
    sourceObj = filter2 !== false && getPrototypeOf(sourceObj);
  } while (sourceObj && (!filter2 || filter2(sourceObj, destObj)) && sourceObj !== Object.prototype);
  return destObj;
};
const endsWith = (str, searchString, position) => {
  str = String(str);
  if (position === void 0 || position > str.length) {
    position = str.length;
  }
  position -= searchString.length;
  const lastIndex = str.indexOf(searchString, position);
  return lastIndex !== -1 && lastIndex === position;
};
const toArray$1 = (thing) => {
  if (!thing) return null;
  if (isArray(thing)) return thing;
  let i = thing.length;
  if (!isNumber(i)) return null;
  const arr = new Array(i);
  while (i-- > 0) {
    arr[i] = thing[i];
  }
  return arr;
};
const isTypedArray = /* @__PURE__ */ ((TypedArray) => {
  return (thing) => {
    return TypedArray && thing instanceof TypedArray;
  };
})(typeof Uint8Array !== "undefined" && getPrototypeOf(Uint8Array));
const forEachEntry = (obj, fn) => {
  const generator = obj && obj[Symbol.iterator];
  const iterator2 = generator.call(obj);
  let result;
  while ((result = iterator2.next()) && !result.done) {
    const pair = result.value;
    fn.call(obj, pair[0], pair[1]);
  }
};
const matchAll = (regExp, str) => {
  let matches;
  const arr = [];
  while ((matches = regExp.exec(str)) !== null) {
    arr.push(matches);
  }
  return arr;
};
const isHTMLForm = kindOfTest("HTMLFormElement");
const toCamelCase = (str) => {
  return str.toLowerCase().replace(
    /[-_\s]([a-z\d])(\w*)/g,
    function replacer2(m2, p1, p2) {
      return p1.toUpperCase() + p2;
    }
  );
};
const hasOwnProperty = (({ hasOwnProperty: hasOwnProperty2 }) => (obj, prop) => hasOwnProperty2.call(obj, prop))(Object.prototype);
const isRegExp = kindOfTest("RegExp");
const reduceDescriptors = (obj, reducer) => {
  const descriptors2 = Object.getOwnPropertyDescriptors(obj);
  const reducedDescriptors = {};
  forEach(descriptors2, (descriptor, name) => {
    let ret;
    if ((ret = reducer(descriptor, name, obj)) !== false) {
      reducedDescriptors[name] = ret || descriptor;
    }
  });
  Object.defineProperties(obj, reducedDescriptors);
};
const freezeMethods = (obj) => {
  reduceDescriptors(obj, (descriptor, name) => {
    if (isFunction(obj) && ["arguments", "caller", "callee"].indexOf(name) !== -1) {
      return false;
    }
    const value2 = obj[name];
    if (!isFunction(value2)) return;
    descriptor.enumerable = false;
    if ("writable" in descriptor) {
      descriptor.writable = false;
      return;
    }
    if (!descriptor.set) {
      descriptor.set = () => {
        throw Error("Can not rewrite read-only method '" + name + "'");
      };
    }
  });
};
const toObjectSet = (arrayOrString, delimiter) => {
  const obj = {};
  const define = (arr) => {
    arr.forEach((value2) => {
      obj[value2] = true;
    });
  };
  isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));
  return obj;
};
const noop$3 = () => {
};
const toFiniteNumber = (value2, defaultValue) => {
  return value2 != null && Number.isFinite(value2 = +value2) ? value2 : defaultValue;
};
const ALPHA = "abcdefghijklmnopqrstuvwxyz";
const DIGIT = "0123456789";
const ALPHABET = {
  DIGIT,
  ALPHA,
  ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT
};
const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {
  let str = "";
  const { length } = alphabet;
  while (size--) {
    str += alphabet[Math.random() * length | 0];
  }
  return str;
};
function isSpecCompliantForm(thing) {
  return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === "FormData" && thing[Symbol.iterator]);
}
const toJSONObject = (obj) => {
  const stack2 = new Array(10);
  const visit = (source, i) => {
    if (isObject(source)) {
      if (stack2.indexOf(source) >= 0) {
        return;
      }
      if (!("toJSON" in source)) {
        stack2[i] = source;
        const target = isArray(source) ? [] : {};
        forEach(source, (value2, key) => {
          const reducedValue = visit(value2, i + 1);
          !isUndefined(reducedValue) && (target[key] = reducedValue);
        });
        stack2[i] = void 0;
        return target;
      }
    }
    return source;
  };
  return visit(obj, 0);
};
const isAsyncFn = kindOfTest("AsyncFunction");
const isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);
const _setImmediate = ((setImmediateSupported, postMessageSupported) => {
  if (setImmediateSupported) {
    return setImmediate;
  }
  return postMessageSupported ? ((token, callbacks) => {
    _global.addEventListener("message", ({ source, data: data6 }) => {
      if (source === _global && data6 === token) {
        callbacks.length && callbacks.shift()();
      }
    }, false);
    return (cb) => {
      callbacks.push(cb);
      _global.postMessage(token, "*");
    };
  })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);
})(
  typeof setImmediate === "function",
  isFunction(_global.postMessage)
);
const asap = typeof queueMicrotask !== "undefined" ? queueMicrotask.bind(_global) : typeof process !== "undefined" && process.nextTick || _setImmediate;
const utils$1 = {
  isArray,
  isArrayBuffer,
  isBuffer,
  isFormData,
  isArrayBufferView,
  isString,
  isNumber,
  isBoolean,
  isObject,
  isPlainObject,
  isReadableStream,
  isRequest,
  isResponse,
  isHeaders,
  isUndefined,
  isDate,
  isFile,
  isBlob,
  isRegExp,
  isFunction,
  isStream,
  isURLSearchParams,
  isTypedArray,
  isFileList,
  forEach,
  merge,
  extend: extend3,
  trim,
  stripBOM,
  inherits,
  toFlatObject,
  kindOf,
  kindOfTest,
  endsWith,
  toArray: toArray$1,
  forEachEntry,
  matchAll,
  isHTMLForm,
  hasOwnProperty,
  hasOwnProp: hasOwnProperty,
  // an alias to avoid ESLint no-prototype-builtins detection
  reduceDescriptors,
  freezeMethods,
  toObjectSet,
  toCamelCase,
  noop: noop$3,
  toFiniteNumber,
  findKey,
  global: _global,
  isContextDefined,
  ALPHABET,
  generateString,
  isSpecCompliantForm,
  toJSONObject,
  isAsyncFn,
  isThenable,
  setImmediate: _setImmediate,
  asap
};
function AxiosError(message2, code, config2, request, response) {
  Error.call(this);
  if (Error.captureStackTrace) {
    Error.captureStackTrace(this, this.constructor);
  } else {
    this.stack = new Error().stack;
  }
  this.message = message2;
  this.name = "AxiosError";
  code && (this.code = code);
  config2 && (this.config = config2);
  request && (this.request = request);
  if (response) {
    this.response = response;
    this.status = response.status ? response.status : null;
  }
}
utils$1.inherits(AxiosError, Error, {
  toJSON: function toJSON() {
    return {
      // Standard
      message: this.message,
      name: this.name,
      // Microsoft
      description: this.description,
      number: this.number,
      // Mozilla
      fileName: this.fileName,
      lineNumber: this.lineNumber,
      columnNumber: this.columnNumber,
      stack: this.stack,
      // Axios
      config: utils$1.toJSONObject(this.config),
      code: this.code,
      status: this.status
    };
  }
});
const prototype$1 = AxiosError.prototype;
const descriptors = {};
[
  "ERR_BAD_OPTION_VALUE",
  "ERR_BAD_OPTION",
  "ECONNABORTED",
  "ETIMEDOUT",
  "ERR_NETWORK",
  "ERR_FR_TOO_MANY_REDIRECTS",
  "ERR_DEPRECATED",
  "ERR_BAD_RESPONSE",
  "ERR_BAD_REQUEST",
  "ERR_CANCELED",
  "ERR_NOT_SUPPORT",
  "ERR_INVALID_URL"
  // eslint-disable-next-line func-names
].forEach((code) => {
  descriptors[code] = { value: code };
});
Object.defineProperties(AxiosError, descriptors);
Object.defineProperty(prototype$1, "isAxiosError", { value: true });
AxiosError.from = (error, code, config2, request, response, customProps) => {
  const axiosError = Object.create(prototype$1);
  utils$1.toFlatObject(error, axiosError, function filter2(obj) {
    return obj !== Error.prototype;
  }, (prop) => {
    return prop !== "isAxiosError";
  });
  AxiosError.call(axiosError, error.message, code, config2, request, response);
  axiosError.cause = error;
  axiosError.name = error.name;
  customProps && Object.assign(axiosError, customProps);
  return axiosError;
};
const httpAdapter = null;
function isVisitable(thing) {
  return utils$1.isPlainObject(thing) || utils$1.isArray(thing);
}
function removeBrackets(key) {
  return utils$1.endsWith(key, "[]") ? key.slice(0, -2) : key;
}
function renderKey(path, key, dots) {
  if (!path) return key;
  return path.concat(key).map(function each(token, i) {
    token = removeBrackets(token);
    return !dots && i ? "[" + token + "]" : token;
  }).join(dots ? "." : "");
}
function isFlatArray(arr) {
  return utils$1.isArray(arr) && !arr.some(isVisitable);
}
const predicates = utils$1.toFlatObject(utils$1, {}, null, function filter(prop) {
  return /^is[A-Z]/.test(prop);
});
function toFormData(obj, formData, options) {
  if (!utils$1.isObject(obj)) {
    throw new TypeError("target must be an object");
  }
  formData = formData || new FormData();
  options = utils$1.toFlatObject(options, {
    metaTokens: true,
    dots: false,
    indexes: false
  }, false, function defined(option, source) {
    return !utils$1.isUndefined(source[option]);
  });
  const metaTokens = options.metaTokens;
  const visitor = options.visitor || defaultVisitor;
  const dots = options.dots;
  const indexes = options.indexes;
  const _Blob = options.Blob || typeof Blob !== "undefined" && Blob;
  const useBlob = _Blob && utils$1.isSpecCompliantForm(formData);
  if (!utils$1.isFunction(visitor)) {
    throw new TypeError("visitor must be a function");
  }
  function convertValue(value2) {
    if (value2 === null) return "";
    if (utils$1.isDate(value2)) {
      return value2.toISOString();
    }
    if (!useBlob && utils$1.isBlob(value2)) {
      throw new AxiosError("Blob is not supported. Use a Buffer instead.");
    }
    if (utils$1.isArrayBuffer(value2) || utils$1.isTypedArray(value2)) {
      return useBlob && typeof Blob === "function" ? new Blob([value2]) : Buffer.from(value2);
    }
    return value2;
  }
  function defaultVisitor(value2, key, path) {
    let arr = value2;
    if (value2 && !path && typeof value2 === "object") {
      if (utils$1.endsWith(key, "{}")) {
        key = metaTokens ? key : key.slice(0, -2);
        value2 = JSON.stringify(value2);
      } else if (utils$1.isArray(value2) && isFlatArray(value2) || (utils$1.isFileList(value2) || utils$1.endsWith(key, "[]")) && (arr = utils$1.toArray(value2))) {
        key = removeBrackets(key);
        arr.forEach(function each(el, index2) {
          !(utils$1.isUndefined(el) || el === null) && formData.append(
            // eslint-disable-next-line no-nested-ternary
            indexes === true ? renderKey([key], index2, dots) : indexes === null ? key : key + "[]",
            convertValue(el)
          );
        });
        return false;
      }
    }
    if (isVisitable(value2)) {
      return true;
    }
    formData.append(renderKey(path, key, dots), convertValue(value2));
    return false;
  }
  const stack2 = [];
  const exposedHelpers = Object.assign(predicates, {
    defaultVisitor,
    convertValue,
    isVisitable
  });
  function build2(value2, path) {
    if (utils$1.isUndefined(value2)) return;
    if (stack2.indexOf(value2) !== -1) {
      throw Error("Circular reference detected in " + path.join("."));
    }
    stack2.push(value2);
    utils$1.forEach(value2, function each(el, key) {
      const result = !(utils$1.isUndefined(el) || el === null) && visitor.call(
        formData,
        el,
        utils$1.isString(key) ? key.trim() : key,
        path,
        exposedHelpers
      );
      if (result === true) {
        build2(el, path ? path.concat(key) : [key]);
      }
    });
    stack2.pop();
  }
  if (!utils$1.isObject(obj)) {
    throw new TypeError("data must be an object");
  }
  build2(obj);
  return formData;
}
function encode$1(str) {
  const charMap = {
    "!": "%21",
    "'": "%27",
    "(": "%28",
    ")": "%29",
    "~": "%7E",
    "%20": "+",
    "%00": "\0"
  };
  return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer2(match2) {
    return charMap[match2];
  });
}
function AxiosURLSearchParams(params, options) {
  this._pairs = [];
  params && toFormData(params, this, options);
}
const prototype = AxiosURLSearchParams.prototype;
prototype.append = function append(name, value2) {
  this._pairs.push([name, value2]);
};
prototype.toString = function toString2(encoder) {
  const _encode = encoder ? function(value2) {
    return encoder.call(this, value2, encode$1);
  } : encode$1;
  return this._pairs.map(function each(pair) {
    return _encode(pair[0]) + "=" + _encode(pair[1]);
  }, "").join("&");
};
function encode(val) {
  return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]");
}
function buildURL(url, params, options) {
  if (!params) {
    return url;
  }
  const _encode = options && options.encode || encode;
  if (utils$1.isFunction(options)) {
    options = {
      serialize: options
    };
  }
  const serializeFn = options && options.serialize;
  let serializedParams;
  if (serializeFn) {
    serializedParams = serializeFn(params, options);
  } else {
    serializedParams = utils$1.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, options).toString(_encode);
  }
  if (serializedParams) {
    const hashmarkIndex = url.indexOf("#");
    if (hashmarkIndex !== -1) {
      url = url.slice(0, hashmarkIndex);
    }
    url += (url.indexOf("?") === -1 ? "?" : "&") + serializedParams;
  }
  return url;
}
class InterceptorManager {
  constructor() {
    this.handlers = [];
  }
  /**
   * Add a new interceptor to the stack
   *
   * @param {Function} fulfilled The function to handle `then` for a `Promise`
   * @param {Function} rejected The function to handle `reject` for a `Promise`
   *
   * @return {Number} An ID used to remove interceptor later
   */
  use(fulfilled, rejected, options) {
    this.handlers.push({
      fulfilled,
      rejected,
      synchronous: options ? options.synchronous : false,
      runWhen: options ? options.runWhen : null
    });
    return this.handlers.length - 1;
  }
  /**
   * Remove an interceptor from the stack
   *
   * @param {Number} id The ID that was returned by `use`
   *
   * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise
   */
  eject(id3) {
    if (this.handlers[id3]) {
      this.handlers[id3] = null;
    }
  }
  /**
   * Clear all interceptors from the stack
   *
   * @returns {void}
   */
  clear() {
    if (this.handlers) {
      this.handlers = [];
    }
  }
  /**
   * Iterate over all the registered interceptors
   *
   * This method is particularly useful for skipping over any
   * interceptors that may have become `null` calling `eject`.
   *
   * @param {Function} fn The function to call for each interceptor
   *
   * @returns {void}
   */
  forEach(fn) {
    utils$1.forEach(this.handlers, function forEachHandler(h2) {
      if (h2 !== null) {
        fn(h2);
      }
    });
  }
}
const transitionalDefaults = {
  silentJSONParsing: true,
  forcedJSONParsing: true,
  clarifyTimeoutError: false
};
const URLSearchParams$1 = typeof URLSearchParams !== "undefined" ? URLSearchParams : AxiosURLSearchParams;
const FormData$1 = typeof FormData !== "undefined" ? FormData : null;
const Blob$1 = typeof Blob !== "undefined" ? Blob : null;
const platform$1 = {
  isBrowser: true,
  classes: {
    URLSearchParams: URLSearchParams$1,
    FormData: FormData$1,
    Blob: Blob$1
  },
  protocols: ["http", "https", "file", "blob", "url", "data"]
};
const hasBrowserEnv = typeof window !== "undefined" && typeof document !== "undefined";
const _navigator = typeof navigator === "object" && navigator || void 0;
const hasStandardBrowserEnv = hasBrowserEnv && (!_navigator || ["ReactNative", "NativeScript", "NS"].indexOf(_navigator.product) < 0);
const hasStandardBrowserWebWorkerEnv = (() => {
  return typeof WorkerGlobalScope !== "undefined" && // eslint-disable-next-line no-undef
  self instanceof WorkerGlobalScope && typeof self.importScripts === "function";
})();
const origin = hasBrowserEnv && window.location.href || "http://localhost";
const utils = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  hasBrowserEnv,
  hasStandardBrowserEnv,
  hasStandardBrowserWebWorkerEnv,
  navigator: _navigator,
  origin
}, Symbol.toStringTag, { value: "Module" }));
const platform = {
  ...utils,
  ...platform$1
};
function toURLEncodedForm(data6, options) {
  return toFormData(data6, new platform.classes.URLSearchParams(), Object.assign({
    visitor: function(value2, key, path, helpers) {
      if (platform.isNode && utils$1.isBuffer(value2)) {
        this.append(key, value2.toString("base64"));
        return false;
      }
      return helpers.defaultVisitor.apply(this, arguments);
    }
  }, options));
}
function parsePropPath(name) {
  return utils$1.matchAll(/\w+|\[(\w*)]/g, name).map((match2) => {
    return match2[0] === "[]" ? "" : match2[1] || match2[0];
  });
}
function arrayToObject(arr) {
  const obj = {};
  const keys = Object.keys(arr);
  let i;
  const len = keys.length;
  let key;
  for (i = 0; i < len; i++) {
    key = keys[i];
    obj[key] = arr[key];
  }
  return obj;
}
function formDataToJSON(formData) {
  function buildPath(path, value2, target, index2) {
    let name = path[index2++];
    if (name === "__proto__") return true;
    const isNumericKey = Number.isFinite(+name);
    const isLast = index2 >= path.length;
    name = !name && utils$1.isArray(target) ? target.length : name;
    if (isLast) {
      if (utils$1.hasOwnProp(target, name)) {
        target[name] = [target[name], value2];
      } else {
        target[name] = value2;
      }
      return !isNumericKey;
    }
    if (!target[name] || !utils$1.isObject(target[name])) {
      target[name] = [];
    }
    const result = buildPath(path, value2, target[name], index2);
    if (result && utils$1.isArray(target[name])) {
      target[name] = arrayToObject(target[name]);
    }
    return !isNumericKey;
  }
  if (utils$1.isFormData(formData) && utils$1.isFunction(formData.entries)) {
    const obj = {};
    utils$1.forEachEntry(formData, (name, value2) => {
      buildPath(parsePropPath(name), value2, obj, 0);
    });
    return obj;
  }
  return null;
}
function stringifySafely(rawValue, parser, encoder) {
  if (utils$1.isString(rawValue)) {
    try {
      (parser || JSON.parse)(rawValue);
      return utils$1.trim(rawValue);
    } catch (e) {
      if (e.name !== "SyntaxError") {
        throw e;
      }
    }
  }
  return (0, JSON.stringify)(rawValue);
}
const defaults = {
  transitional: transitionalDefaults,
  adapter: ["xhr", "http", "fetch"],
  transformRequest: [function transformRequest(data6, headers) {
    const contentType = headers.getContentType() || "";
    const hasJSONContentType = contentType.indexOf("application/json") > -1;
    const isObjectPayload = utils$1.isObject(data6);
    if (isObjectPayload && utils$1.isHTMLForm(data6)) {
      data6 = new FormData(data6);
    }
    const isFormData2 = utils$1.isFormData(data6);
    if (isFormData2) {
      return hasJSONContentType ? JSON.stringify(formDataToJSON(data6)) : data6;
    }
    if (utils$1.isArrayBuffer(data6) || utils$1.isBuffer(data6) || utils$1.isStream(data6) || utils$1.isFile(data6) || utils$1.isBlob(data6) || utils$1.isReadableStream(data6)) {
      return data6;
    }
    if (utils$1.isArrayBufferView(data6)) {
      return data6.buffer;
    }
    if (utils$1.isURLSearchParams(data6)) {
      headers.setContentType("application/x-www-form-urlencoded;charset=utf-8", false);
      return data6.toString();
    }
    let isFileList2;
    if (isObjectPayload) {
      if (contentType.indexOf("application/x-www-form-urlencoded") > -1) {
        return toURLEncodedForm(data6, this.formSerializer).toString();
      }
      if ((isFileList2 = utils$1.isFileList(data6)) || contentType.indexOf("multipart/form-data") > -1) {
        const _FormData = this.env && this.env.FormData;
        return toFormData(
          isFileList2 ? { "files[]": data6 } : data6,
          _FormData && new _FormData(),
          this.formSerializer
        );
      }
    }
    if (isObjectPayload || hasJSONContentType) {
      headers.setContentType("application/json", false);
      return stringifySafely(data6);
    }
    return data6;
  }],
  transformResponse: [function transformResponse(data6) {
    const transitional2 = this.transitional || defaults.transitional;
    const forcedJSONParsing = transitional2 && transitional2.forcedJSONParsing;
    const JSONRequested = this.responseType === "json";
    if (utils$1.isResponse(data6) || utils$1.isReadableStream(data6)) {
      return data6;
    }
    if (data6 && utils$1.isString(data6) && (forcedJSONParsing && !this.responseType || JSONRequested)) {
      const silentJSONParsing = transitional2 && transitional2.silentJSONParsing;
      const strictJSONParsing = !silentJSONParsing && JSONRequested;
      try {
        return JSON.parse(data6);
      } catch (e) {
        if (strictJSONParsing) {
          if (e.name === "SyntaxError") {
            throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);
          }
          throw e;
        }
      }
    }
    return data6;
  }],
  /**
   * A timeout in milliseconds to abort a request. If set to 0 (default) a
   * timeout is not created.
   */
  timeout: 0,
  xsrfCookieName: "XSRF-TOKEN",
  xsrfHeaderName: "X-XSRF-TOKEN",
  maxContentLength: -1,
  maxBodyLength: -1,
  env: {
    FormData: platform.classes.FormData,
    Blob: platform.classes.Blob
  },
  validateStatus: function validateStatus(status) {
    return status >= 200 && status < 300;
  },
  headers: {
    common: {
      "Accept": "application/json, text/plain, */*",
      "Content-Type": void 0
    }
  }
};
utils$1.forEach(["delete", "get", "head", "post", "put", "patch"], (method) => {
  defaults.headers[method] = {};
});
const ignoreDuplicateOf = utils$1.toObjectSet([
  "age",
  "authorization",
  "content-length",
  "content-type",
  "etag",
  "expires",
  "from",
  "host",
  "if-modified-since",
  "if-unmodified-since",
  "last-modified",
  "location",
  "max-forwards",
  "proxy-authorization",
  "referer",
  "retry-after",
  "user-agent"
]);
const parseHeaders = (rawHeaders) => {
  const parsed = {};
  let key;
  let val;
  let i;
  rawHeaders && rawHeaders.split("\n").forEach(function parser(line) {
    i = line.indexOf(":");
    key = line.substring(0, i).trim().toLowerCase();
    val = line.substring(i + 1).trim();
    if (!key || parsed[key] && ignoreDuplicateOf[key]) {
      return;
    }
    if (key === "set-cookie") {
      if (parsed[key]) {
        parsed[key].push(val);
      } else {
        parsed[key] = [val];
      }
    } else {
      parsed[key] = parsed[key] ? parsed[key] + ", " + val : val;
    }
  });
  return parsed;
};
const $internals = Symbol("internals");
function normalizeHeader(header) {
  return header && String(header).trim().toLowerCase();
}
function normalizeValue(value2) {
  if (value2 === false || value2 == null) {
    return value2;
  }
  return utils$1.isArray(value2) ? value2.map(normalizeValue) : String(value2);
}
function parseTokens(str) {
  const tokens = /* @__PURE__ */ Object.create(null);
  const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
  let match2;
  while (match2 = tokensRE.exec(str)) {
    tokens[match2[1]] = match2[2];
  }
  return tokens;
}
const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());
function matchHeaderValue(context, value2, header, filter2, isHeaderNameFilter) {
  if (utils$1.isFunction(filter2)) {
    return filter2.call(this, value2, header);
  }
  if (isHeaderNameFilter) {
    value2 = header;
  }
  if (!utils$1.isString(value2)) return;
  if (utils$1.isString(filter2)) {
    return value2.indexOf(filter2) !== -1;
  }
  if (utils$1.isRegExp(filter2)) {
    return filter2.test(value2);
  }
}
function formatHeader(header) {
  return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w2, char, str) => {
    return char.toUpperCase() + str;
  });
}
function buildAccessors(obj, header) {
  const accessorName = utils$1.toCamelCase(" " + header);
  ["get", "set", "has"].forEach((methodName) => {
    Object.defineProperty(obj, methodName + accessorName, {
      value: function(arg1, arg2, arg3) {
        return this[methodName].call(this, header, arg1, arg2, arg3);
      },
      configurable: true
    });
  });
}
class AxiosHeaders {
  constructor(headers) {
    headers && this.set(headers);
  }
  set(header, valueOrRewrite, rewrite) {
    const self2 = this;
    function setHeader(_value, _header, _rewrite) {
      const lHeader = normalizeHeader(_header);
      if (!lHeader) {
        throw new Error("header name must be a non-empty string");
      }
      const key = utils$1.findKey(self2, lHeader);
      if (!key || self2[key] === void 0 || _rewrite === true || _rewrite === void 0 && self2[key] !== false) {
        self2[key || _header] = normalizeValue(_value);
      }
    }
    const setHeaders = (headers, _rewrite) => utils$1.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));
    if (utils$1.isPlainObject(header) || header instanceof this.constructor) {
      setHeaders(header, valueOrRewrite);
    } else if (utils$1.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {
      setHeaders(parseHeaders(header), valueOrRewrite);
    } else if (utils$1.isHeaders(header)) {
      for (const [key, value2] of header.entries()) {
        setHeader(value2, key, rewrite);
      }
    } else {
      header != null && setHeader(valueOrRewrite, header, rewrite);
    }
    return this;
  }
  get(header, parser) {
    header = normalizeHeader(header);
    if (header) {
      const key = utils$1.findKey(this, header);
      if (key) {
        const value2 = this[key];
        if (!parser) {
          return value2;
        }
        if (parser === true) {
          return parseTokens(value2);
        }
        if (utils$1.isFunction(parser)) {
          return parser.call(this, value2, key);
        }
        if (utils$1.isRegExp(parser)) {
          return parser.exec(value2);
        }
        throw new TypeError("parser must be boolean|regexp|function");
      }
    }
  }
  has(header, matcher) {
    header = normalizeHeader(header);
    if (header) {
      const key = utils$1.findKey(this, header);
      return !!(key && this[key] !== void 0 && (!matcher || matchHeaderValue(this, this[key], key, matcher)));
    }
    return false;
  }
  delete(header, matcher) {
    const self2 = this;
    let deleted = false;
    function deleteHeader(_header) {
      _header = normalizeHeader(_header);
      if (_header) {
        const key = utils$1.findKey(self2, _header);
        if (key && (!matcher || matchHeaderValue(self2, self2[key], key, matcher))) {
          delete self2[key];
          deleted = true;
        }
      }
    }
    if (utils$1.isArray(header)) {
      header.forEach(deleteHeader);
    } else {
      deleteHeader(header);
    }
    return deleted;
  }
  clear(matcher) {
    const keys = Object.keys(this);
    let i = keys.length;
    let deleted = false;
    while (i--) {
      const key = keys[i];
      if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {
        delete this[key];
        deleted = true;
      }
    }
    return deleted;
  }
  normalize(format2) {
    const self2 = this;
    const headers = {};
    utils$1.forEach(this, (value2, header) => {
      const key = utils$1.findKey(headers, header);
      if (key) {
        self2[key] = normalizeValue(value2);
        delete self2[header];
        return;
      }
      const normalized = format2 ? formatHeader(header) : String(header).trim();
      if (normalized !== header) {
        delete self2[header];
      }
      self2[normalized] = normalizeValue(value2);
      headers[normalized] = true;
    });
    return this;
  }
  concat(...targets) {
    return this.constructor.concat(this, ...targets);
  }
  toJSON(asStrings) {
    const obj = /* @__PURE__ */ Object.create(null);
    utils$1.forEach(this, (value2, header) => {
      value2 != null && value2 !== false && (obj[header] = asStrings && utils$1.isArray(value2) ? value2.join(", ") : value2);
    });
    return obj;
  }
  [Symbol.iterator]() {
    return Object.entries(this.toJSON())[Symbol.iterator]();
  }
  toString() {
    return Object.entries(this.toJSON()).map(([header, value2]) => header + ": " + value2).join("\n");
  }
  get [Symbol.toStringTag]() {
    return "AxiosHeaders";
  }
  static from(thing) {
    return thing instanceof this ? thing : new this(thing);
  }
  static concat(first, ...targets) {
    const computed2 = new this(first);
    targets.forEach((target) => computed2.set(target));
    return computed2;
  }
  static accessor(header) {
    const internals = this[$internals] = this[$internals] = {
      accessors: {}
    };
    const accessors = internals.accessors;
    const prototype2 = this.prototype;
    function defineAccessor(_header) {
      const lHeader = normalizeHeader(_header);
      if (!accessors[lHeader]) {
        buildAccessors(prototype2, _header);
        accessors[lHeader] = true;
      }
    }
    utils$1.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);
    return this;
  }
}
AxiosHeaders.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]);
utils$1.reduceDescriptors(AxiosHeaders.prototype, ({ value: value2 }, key) => {
  let mapped = key[0].toUpperCase() + key.slice(1);
  return {
    get: () => value2,
    set(headerValue) {
      this[mapped] = headerValue;
    }
  };
});
utils$1.freezeMethods(AxiosHeaders);
function transformData(fns, response) {
  const config2 = this || defaults;
  const context = response || config2;
  const headers = AxiosHeaders.from(context.headers);
  let data6 = context.data;
  utils$1.forEach(fns, function transform(fn) {
    data6 = fn.call(config2, data6, headers.normalize(), response ? response.status : void 0);
  });
  headers.normalize();
  return data6;
}
function isCancel(value2) {
  return !!(value2 && value2.__CANCEL__);
}
function CanceledError(message2, config2, request) {
  AxiosError.call(this, message2 == null ? "canceled" : message2, AxiosError.ERR_CANCELED, config2, request);
  this.name = "CanceledError";
}
utils$1.inherits(CanceledError, AxiosError, {
  __CANCEL__: true
});
function settle(resolve2, reject, response) {
  const validateStatus2 = response.config.validateStatus;
  if (!response.status || !validateStatus2 || validateStatus2(response.status)) {
    resolve2(response);
  } else {
    reject(new AxiosError(
      "Request failed with status code " + response.status,
      [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],
      response.config,
      response.request,
      response
    ));
  }
}
function parseProtocol(url) {
  const match2 = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url);
  return match2 && match2[1] || "";
}
function speedometer(samplesCount, min) {
  samplesCount = samplesCount || 10;
  const bytes = new Array(samplesCount);
  const timestamps = new Array(samplesCount);
  let head = 0;
  let tail = 0;
  let firstSampleTS;
  min = min !== void 0 ? min : 1e3;
  return function push(chunkLength) {
    const now = Date.now();
    const startedAt = timestamps[tail];
    if (!firstSampleTS) {
      firstSampleTS = now;
    }
    bytes[head] = chunkLength;
    timestamps[head] = now;
    let i = tail;
    let bytesCount = 0;
    while (i !== head) {
      bytesCount += bytes[i++];
      i = i % samplesCount;
    }
    head = (head + 1) % samplesCount;
    if (head === tail) {
      tail = (tail + 1) % samplesCount;
    }
    if (now - firstSampleTS < min) {
      return;
    }
    const passed = startedAt && now - startedAt;
    return passed ? Math.round(bytesCount * 1e3 / passed) : void 0;
  };
}
function throttle(fn, freq) {
  let timestamp = 0;
  let threshold = 1e3 / freq;
  let lastArgs;
  let timer;
  const invoke = (args, now = Date.now()) => {
    timestamp = now;
    lastArgs = null;
    if (timer) {
      clearTimeout(timer);
      timer = null;
    }
    fn.apply(null, args);
  };
  const throttled = (...args) => {
    const now = Date.now();
    const passed = now - timestamp;
    if (passed >= threshold) {
      invoke(args, now);
    } else {
      lastArgs = args;
      if (!timer) {
        timer = setTimeout(() => {
          timer = null;
          invoke(lastArgs);
        }, threshold - passed);
      }
    }
  };
  const flush = () => lastArgs && invoke(lastArgs);
  return [throttled, flush];
}
const progressEventReducer = (listener2, isDownloadStream, freq = 3) => {
  let bytesNotified = 0;
  const _speedometer = speedometer(50, 250);
  return throttle((e) => {
    const loaded2 = e.loaded;
    const total = e.lengthComputable ? e.total : void 0;
    const progressBytes = loaded2 - bytesNotified;
    const rate = _speedometer(progressBytes);
    const inRange = loaded2 <= total;
    bytesNotified = loaded2;
    const data6 = {
      loaded: loaded2,
      total,
      progress: total ? loaded2 / total : void 0,
      bytes: progressBytes,
      rate: rate ? rate : void 0,
      estimated: rate && total && inRange ? (total - loaded2) / rate : void 0,
      event: e,
      lengthComputable: total != null,
      [isDownloadStream ? "download" : "upload"]: true
    };
    listener2(data6);
  }, freq);
};
const progressEventDecorator = (total, throttled) => {
  const lengthComputable = total != null;
  return [(loaded2) => throttled[0]({
    lengthComputable,
    total,
    loaded: loaded2
  }), throttled[1]];
};
const asyncDecorator = (fn) => (...args) => utils$1.asap(() => fn(...args));
const isURLSameOrigin = platform.hasStandardBrowserEnv ? /* @__PURE__ */ ((origin2, isMSIE) => (url) => {
  url = new URL(url, platform.origin);
  return origin2.protocol === url.protocol && origin2.host === url.host && (isMSIE || origin2.port === url.port);
})(
  new URL(platform.origin),
  platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)
) : () => true;
const cookies = platform.hasStandardBrowserEnv ? (
  // Standard browser envs support document.cookie
  {
    write(name, value2, expires, path, domain, secure) {
      const cookie = [name + "=" + encodeURIComponent(value2)];
      utils$1.isNumber(expires) && cookie.push("expires=" + new Date(expires).toGMTString());
      utils$1.isString(path) && cookie.push("path=" + path);
      utils$1.isString(domain) && cookie.push("domain=" + domain);
      secure === true && cookie.push("secure");
      document.cookie = cookie.join("; ");
    },
    read(name) {
      const match2 = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)"));
      return match2 ? decodeURIComponent(match2[3]) : null;
    },
    remove(name) {
      this.write(name, "", Date.now() - 864e5);
    }
  }
) : (
  // Non-standard browser env (web workers, react-native) lack needed support.
  {
    write() {
    },
    read() {
      return null;
    },
    remove() {
    }
  }
);
function isAbsoluteURL(url) {
  return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
}
function combineURLs(baseURL, relativeURL) {
  return relativeURL ? baseURL.replace(/\/?\/$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL;
}
function buildFullPath(baseURL, requestedURL) {
  if (baseURL && !isAbsoluteURL(requestedURL)) {
    return combineURLs(baseURL, requestedURL);
  }
  return requestedURL;
}
const headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;
function mergeConfig(config1, config2) {
  config2 = config2 || {};
  const config3 = {};
  function getMergedValue(target, source, prop, caseless) {
    if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) {
      return utils$1.merge.call({ caseless }, target, source);
    } else if (utils$1.isPlainObject(source)) {
      return utils$1.merge({}, source);
    } else if (utils$1.isArray(source)) {
      return source.slice();
    }
    return source;
  }
  function mergeDeepProperties(a, b, prop, caseless) {
    if (!utils$1.isUndefined(b)) {
      return getMergedValue(a, b, prop, caseless);
    } else if (!utils$1.isUndefined(a)) {
      return getMergedValue(void 0, a, prop, caseless);
    }
  }
  function valueFromConfig2(a, b) {
    if (!utils$1.isUndefined(b)) {
      return getMergedValue(void 0, b);
    }
  }
  function defaultToConfig2(a, b) {
    if (!utils$1.isUndefined(b)) {
      return getMergedValue(void 0, b);
    } else if (!utils$1.isUndefined(a)) {
      return getMergedValue(void 0, a);
    }
  }
  function mergeDirectKeys(a, b, prop) {
    if (prop in config2) {
      return getMergedValue(a, b);
    } else if (prop in config1) {
      return getMergedValue(void 0, a);
    }
  }
  const mergeMap = {
    url: valueFromConfig2,
    method: valueFromConfig2,
    data: valueFromConfig2,
    baseURL: defaultToConfig2,
    transformRequest: defaultToConfig2,
    transformResponse: defaultToConfig2,
    paramsSerializer: defaultToConfig2,
    timeout: defaultToConfig2,
    timeoutMessage: defaultToConfig2,
    withCredentials: defaultToConfig2,
    withXSRFToken: defaultToConfig2,
    adapter: defaultToConfig2,
    responseType: defaultToConfig2,
    xsrfCookieName: defaultToConfig2,
    xsrfHeaderName: defaultToConfig2,
    onUploadProgress: defaultToConfig2,
    onDownloadProgress: defaultToConfig2,
    decompress: defaultToConfig2,
    maxContentLength: defaultToConfig2,
    maxBodyLength: defaultToConfig2,
    beforeRedirect: defaultToConfig2,
    transport: defaultToConfig2,
    httpAgent: defaultToConfig2,
    httpsAgent: defaultToConfig2,
    cancelToken: defaultToConfig2,
    socketPath: defaultToConfig2,
    responseEncoding: defaultToConfig2,
    validateStatus: mergeDirectKeys,
    headers: (a, b, prop) => mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true)
  };
  utils$1.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {
    const merge2 = mergeMap[prop] || mergeDeepProperties;
    const configValue = merge2(config1[prop], config2[prop], prop);
    utils$1.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config3[prop] = configValue);
  });
  return config3;
}
const resolveConfig = (config2) => {
  const newConfig = mergeConfig({}, config2);
  let { data: data6, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;
  newConfig.headers = headers = AxiosHeaders.from(headers);
  newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config2.params, config2.paramsSerializer);
  if (auth) {
    headers.set(
      "Authorization",
      "Basic " + btoa((auth.username || "") + ":" + (auth.password ? unescape(encodeURIComponent(auth.password)) : ""))
    );
  }
  let contentType;
  if (utils$1.isFormData(data6)) {
    if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {
      headers.setContentType(void 0);
    } else if ((contentType = headers.getContentType()) !== false) {
      const [type, ...tokens] = contentType ? contentType.split(";").map((token) => token.trim()).filter(Boolean) : [];
      headers.setContentType([type || "multipart/form-data", ...tokens].join("; "));
    }
  }
  if (platform.hasStandardBrowserEnv) {
    withXSRFToken && utils$1.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));
    if (withXSRFToken || withXSRFToken !== false && isURLSameOrigin(newConfig.url)) {
      const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);
      if (xsrfValue) {
        headers.set(xsrfHeaderName, xsrfValue);
      }
    }
  }
  return newConfig;
};
const isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined";
const xhrAdapter = isXHRAdapterSupported && function(config2) {
  return new Promise(function dispatchXhrRequest(resolve2, reject) {
    const _config2 = resolveConfig(config2);
    let requestData = _config2.data;
    const requestHeaders = AxiosHeaders.from(_config2.headers).normalize();
    let { responseType, onUploadProgress, onDownloadProgress } = _config2;
    let onCanceled;
    let uploadThrottled, downloadThrottled;
    let flushUpload, flushDownload;
    function done() {
      flushUpload && flushUpload();
      flushDownload && flushDownload();
      _config2.cancelToken && _config2.cancelToken.unsubscribe(onCanceled);
      _config2.signal && _config2.signal.removeEventListener("abort", onCanceled);
    }
    let request = new XMLHttpRequest();
    request.open(_config2.method.toUpperCase(), _config2.url, true);
    request.timeout = _config2.timeout;
    function onloadend() {
      if (!request) {
        return;
      }
      const responseHeaders = AxiosHeaders.from(
        "getAllResponseHeaders" in request && request.getAllResponseHeaders()
      );
      const responseData = !responseType || responseType === "text" || responseType === "json" ? request.responseText : request.response;
      const response = {
        data: responseData,
        status: request.status,
        statusText: request.statusText,
        headers: responseHeaders,
        config: config2,
        request
      };
      settle(function _resolve(value2) {
        resolve2(value2);
        done();
      }, function _reject(err) {
        reject(err);
        done();
      }, response);
      request = null;
    }
    if ("onloadend" in request) {
      request.onloadend = onloadend;
    } else {
      request.onreadystatechange = function handleLoad() {
        if (!request || request.readyState !== 4) {
          return;
        }
        if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf("file:") === 0)) {
          return;
        }
        setTimeout(onloadend);
      };
    }
    request.onabort = function handleAbort() {
      if (!request) {
        return;
      }
      reject(new AxiosError("Request aborted", AxiosError.ECONNABORTED, config2, request));
      request = null;
    };
    request.onerror = function handleError2() {
      reject(new AxiosError("Network Error", AxiosError.ERR_NETWORK, config2, request));
      request = null;
    };
    request.ontimeout = function handleTimeout() {
      let timeoutErrorMessage = _config2.timeout ? "timeout of " + _config2.timeout + "ms exceeded" : "timeout exceeded";
      const transitional2 = _config2.transitional || transitionalDefaults;
      if (_config2.timeoutErrorMessage) {
        timeoutErrorMessage = _config2.timeoutErrorMessage;
      }
      reject(new AxiosError(
        timeoutErrorMessage,
        transitional2.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,
        config2,
        request
      ));
      request = null;
    };
    requestData === void 0 && requestHeaders.setContentType(null);
    if ("setRequestHeader" in request) {
      utils$1.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {
        request.setRequestHeader(key, val);
      });
    }
    if (!utils$1.isUndefined(_config2.withCredentials)) {
      request.withCredentials = !!_config2.withCredentials;
    }
    if (responseType && responseType !== "json") {
      request.responseType = _config2.responseType;
    }
    if (onDownloadProgress) {
      [downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true);
      request.addEventListener("progress", downloadThrottled);
    }
    if (onUploadProgress && request.upload) {
      [uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress);
      request.upload.addEventListener("progress", uploadThrottled);
      request.upload.addEventListener("loadend", flushUpload);
    }
    if (_config2.cancelToken || _config2.signal) {
      onCanceled = (cancel) => {
        if (!request) {
          return;
        }
        reject(!cancel || cancel.type ? new CanceledError(null, config2, request) : cancel);
        request.abort();
        request = null;
      };
      _config2.cancelToken && _config2.cancelToken.subscribe(onCanceled);
      if (_config2.signal) {
        _config2.signal.aborted ? onCanceled() : _config2.signal.addEventListener("abort", onCanceled);
      }
    }
    const protocol = parseProtocol(_config2.url);
    if (protocol && platform.protocols.indexOf(protocol) === -1) {
      reject(new AxiosError("Unsupported protocol " + protocol + ":", AxiosError.ERR_BAD_REQUEST, config2));
      return;
    }
    request.send(requestData || null);
  });
};
const composeSignals = (signals, timeout) => {
  const { length } = signals = signals ? signals.filter(Boolean) : [];
  if (timeout || length) {
    let controller = new AbortController();
    let aborted;
    const onabort = function(reason) {
      if (!aborted) {
        aborted = true;
        unsubscribe();
        const err = reason instanceof Error ? reason : this.reason;
        controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));
      }
    };
    let timer = timeout && setTimeout(() => {
      timer = null;
      onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT));
    }, timeout);
    const unsubscribe = () => {
      if (signals) {
        timer && clearTimeout(timer);
        timer = null;
        signals.forEach((signal2) => {
          signal2.unsubscribe ? signal2.unsubscribe(onabort) : signal2.removeEventListener("abort", onabort);
        });
        signals = null;
      }
    };
    signals.forEach((signal2) => signal2.addEventListener("abort", onabort));
    const { signal } = controller;
    signal.unsubscribe = () => utils$1.asap(unsubscribe);
    return signal;
  }
};
const streamChunk = function* (chunk, chunkSize) {
  let len = chunk.byteLength;
  if (len < chunkSize) {
    yield chunk;
    return;
  }
  let pos = 0;
  let end2;
  while (pos < len) {
    end2 = pos + chunkSize;
    yield chunk.slice(pos, end2);
    pos = end2;
  }
};
const readBytes = async function* (iterable, chunkSize) {
  for await (const chunk of readStream(iterable)) {
    yield* streamChunk(chunk, chunkSize);
  }
};
const readStream = async function* (stream) {
  if (stream[Symbol.asyncIterator]) {
    yield* stream;
    return;
  }
  const reader = stream.getReader();
  try {
    for (; ; ) {
      const { done, value: value2 } = await reader.read();
      if (done) {
        break;
      }
      yield value2;
    }
  } finally {
    await reader.cancel();
  }
};
const trackStream = (stream, chunkSize, onProgress, onFinish) => {
  const iterator2 = readBytes(stream, chunkSize);
  let bytes = 0;
  let done;
  let _onFinish = (e) => {
    if (!done) {
      done = true;
      onFinish && onFinish(e);
    }
  };
  return new ReadableStream({
    async pull(controller) {
      try {
        const { done: done2, value: value2 } = await iterator2.next();
        if (done2) {
          _onFinish();
          controller.close();
          return;
        }
        let len = value2.byteLength;
        if (onProgress) {
          let loadedBytes = bytes += len;
          onProgress(loadedBytes);
        }
        controller.enqueue(new Uint8Array(value2));
      } catch (err) {
        _onFinish(err);
        throw err;
      }
    },
    cancel(reason) {
      _onFinish(reason);
      return iterator2.return();
    }
  }, {
    highWaterMark: 2
  });
};
const isFetchSupported = typeof fetch === "function" && typeof Request === "function" && typeof Response === "function";
const isReadableStreamSupported = isFetchSupported && typeof ReadableStream === "function";
const encodeText = isFetchSupported && (typeof TextEncoder === "function" ? /* @__PURE__ */ ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) : async (str) => new Uint8Array(await new Response(str).arrayBuffer()));
const test = (fn, ...args) => {
  try {
    return !!fn(...args);
  } catch (e) {
    return false;
  }
};
const supportsRequestStream = isReadableStreamSupported && test(() => {
  let duplexAccessed = false;
  const hasContentType = new Request(platform.origin, {
    body: new ReadableStream(),
    method: "POST",
    get duplex() {
      duplexAccessed = true;
      return "half";
    }
  }).headers.has("Content-Type");
  return duplexAccessed && !hasContentType;
});
const DEFAULT_CHUNK_SIZE = 64 * 1024;
const supportsResponseStream = isReadableStreamSupported && test(() => utils$1.isReadableStream(new Response("").body));
const resolvers = {
  stream: supportsResponseStream && ((res) => res.body)
};
isFetchSupported && ((res) => {
  ["text", "arrayBuffer", "blob", "formData", "stream"].forEach((type) => {
    !resolvers[type] && (resolvers[type] = utils$1.isFunction(res[type]) ? (res2) => res2[type]() : (_, config2) => {
      throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config2);
    });
  });
})(new Response());
const getBodyLength = async (body) => {
  if (body == null) {
    return 0;
  }
  if (utils$1.isBlob(body)) {
    return body.size;
  }
  if (utils$1.isSpecCompliantForm(body)) {
    const _request = new Request(platform.origin, {
      method: "POST",
      body
    });
    return (await _request.arrayBuffer()).byteLength;
  }
  if (utils$1.isArrayBufferView(body) || utils$1.isArrayBuffer(body)) {
    return body.byteLength;
  }
  if (utils$1.isURLSearchParams(body)) {
    body = body + "";
  }
  if (utils$1.isString(body)) {
    return (await encodeText(body)).byteLength;
  }
};
const resolveBodyLength = async (headers, body) => {
  const length = utils$1.toFiniteNumber(headers.getContentLength());
  return length == null ? getBodyLength(body) : length;
};
const fetchAdapter = isFetchSupported && (async (config2) => {
  let {
    url,
    method,
    data: data6,
    signal,
    cancelToken,
    timeout,
    onDownloadProgress,
    onUploadProgress,
    responseType,
    headers,
    withCredentials = "same-origin",
    fetchOptions
  } = resolveConfig(config2);
  responseType = responseType ? (responseType + "").toLowerCase() : "text";
  let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);
  let request;
  const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {
    composedSignal.unsubscribe();
  });
  let requestContentLength;
  try {
    if (onUploadProgress && supportsRequestStream && method !== "get" && method !== "head" && (requestContentLength = await resolveBodyLength(headers, data6)) !== 0) {
      let _request = new Request(url, {
        method: "POST",
        body: data6,
        duplex: "half"
      });
      let contentTypeHeader;
      if (utils$1.isFormData(data6) && (contentTypeHeader = _request.headers.get("content-type"))) {
        headers.setContentType(contentTypeHeader);
      }
      if (_request.body) {
        const [onProgress, flush] = progressEventDecorator(
          requestContentLength,
          progressEventReducer(asyncDecorator(onUploadProgress))
        );
        data6 = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);
      }
    }
    if (!utils$1.isString(withCredentials)) {
      withCredentials = withCredentials ? "include" : "omit";
    }
    const isCredentialsSupported = "credentials" in Request.prototype;
    request = new Request(url, {
      ...fetchOptions,
      signal: composedSignal,
      method: method.toUpperCase(),
      headers: headers.normalize().toJSON(),
      body: data6,
      duplex: "half",
      credentials: isCredentialsSupported ? withCredentials : void 0
    });
    let response = await fetch(request);
    const isStreamResponse = supportsResponseStream && (responseType === "stream" || responseType === "response");
    if (supportsResponseStream && (onDownloadProgress || isStreamResponse && unsubscribe)) {
      const options = {};
      ["status", "statusText", "headers"].forEach((prop) => {
        options[prop] = response[prop];
      });
      const responseContentLength = utils$1.toFiniteNumber(response.headers.get("content-length"));
      const [onProgress, flush] = onDownloadProgress && progressEventDecorator(
        responseContentLength,
        progressEventReducer(asyncDecorator(onDownloadProgress), true)
      ) || [];
      response = new Response(
        trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {
          flush && flush();
          unsubscribe && unsubscribe();
        }),
        options
      );
    }
    responseType = responseType || "text";
    let responseData = await resolvers[utils$1.findKey(resolvers, responseType) || "text"](response, config2);
    !isStreamResponse && unsubscribe && unsubscribe();
    return await new Promise((resolve2, reject) => {
      settle(resolve2, reject, {
        data: responseData,
        headers: AxiosHeaders.from(response.headers),
        status: response.status,
        statusText: response.statusText,
        config: config2,
        request
      });
    });
  } catch (err) {
    unsubscribe && unsubscribe();
    if (err && err.name === "TypeError" && /fetch/i.test(err.message)) {
      throw Object.assign(
        new AxiosError("Network Error", AxiosError.ERR_NETWORK, config2, request),
        {
          cause: err.cause || err
        }
      );
    }
    throw AxiosError.from(err, err && err.code, config2, request);
  }
});
const knownAdapters = {
  http: httpAdapter,
  xhr: xhrAdapter,
  fetch: fetchAdapter
};
utils$1.forEach(knownAdapters, (fn, value2) => {
  if (fn) {
    try {
      Object.defineProperty(fn, "name", { value: value2 });
    } catch (e) {
    }
    Object.defineProperty(fn, "adapterName", { value: value2 });
  }
});
const renderReason = (reason) => `- ${reason}`;
const isResolvedHandle = (adapter) => utils$1.isFunction(adapter) || adapter === null || adapter === false;
const adapters = {
  getAdapter: (adapters2) => {
    adapters2 = utils$1.isArray(adapters2) ? adapters2 : [adapters2];
    const { length } = adapters2;
    let nameOrAdapter;
    let adapter;
    const rejectedReasons = {};
    for (let i = 0; i < length; i++) {
      nameOrAdapter = adapters2[i];
      let id3;
      adapter = nameOrAdapter;
      if (!isResolvedHandle(nameOrAdapter)) {
        adapter = knownAdapters[(id3 = String(nameOrAdapter)).toLowerCase()];
        if (adapter === void 0) {
          throw new AxiosError(`Unknown adapter '${id3}'`);
        }
      }
      if (adapter) {
        break;
      }
      rejectedReasons[id3 || "#" + i] = adapter;
    }
    if (!adapter) {
      const reasons = Object.entries(rejectedReasons).map(
        ([id3, state]) => `adapter ${id3} ` + (state === false ? "is not supported by the environment" : "is not available in the build")
      );
      let s2 = length ? reasons.length > 1 ? "since :\n" + reasons.map(renderReason).join("\n") : " " + renderReason(reasons[0]) : "as no adapter specified";
      throw new AxiosError(
        `There is no suitable adapter to dispatch the request ` + s2,
        "ERR_NOT_SUPPORT"
      );
    }
    return adapter;
  },
  adapters: knownAdapters
};
function throwIfCancellationRequested(config2) {
  if (config2.cancelToken) {
    config2.cancelToken.throwIfRequested();
  }
  if (config2.signal && config2.signal.aborted) {
    throw new CanceledError(null, config2);
  }
}
function dispatchRequest(config2) {
  throwIfCancellationRequested(config2);
  config2.headers = AxiosHeaders.from(config2.headers);
  config2.data = transformData.call(
    config2,
    config2.transformRequest
  );
  if (["post", "put", "patch"].indexOf(config2.method) !== -1) {
    config2.headers.setContentType("application/x-www-form-urlencoded", false);
  }
  const adapter = adapters.getAdapter(config2.adapter || defaults.adapter);
  return adapter(config2).then(function onAdapterResolution(response) {
    throwIfCancellationRequested(config2);
    response.data = transformData.call(
      config2,
      config2.transformResponse,
      response
    );
    response.headers = AxiosHeaders.from(response.headers);
    return response;
  }, function onAdapterRejection(reason) {
    if (!isCancel(reason)) {
      throwIfCancellationRequested(config2);
      if (reason && reason.response) {
        reason.response.data = transformData.call(
          config2,
          config2.transformResponse,
          reason.response
        );
        reason.response.headers = AxiosHeaders.from(reason.response.headers);
      }
    }
    return Promise.reject(reason);
  });
}
const VERSION = "1.7.9";
const validators$1 = {};
["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i) => {
  validators$1[type] = function validator5(thing) {
    return typeof thing === type || "a" + (i < 1 ? "n " : " ") + type;
  };
});
const deprecatedWarnings = {};
validators$1.transitional = function transitional(validator5, version2, message2) {
  function formatMessage(opt, desc) {
    return "[Axios v" + VERSION + "] Transitional option '" + opt + "'" + desc + (message2 ? ". " + message2 : "");
  }
  return (value2, opt, opts) => {
    if (validator5 === false) {
      throw new AxiosError(
        formatMessage(opt, " has been removed" + (version2 ? " in " + version2 : "")),
        AxiosError.ERR_DEPRECATED
      );
    }
    if (version2 && !deprecatedWarnings[opt]) {
      deprecatedWarnings[opt] = true;
      console.warn(
        formatMessage(
          opt,
          " has been deprecated since v" + version2 + " and will be removed in the near future"
        )
      );
    }
    return validator5 ? validator5(value2, opt, opts) : true;
  };
};
validators$1.spelling = function spelling(correctSpelling) {
  return (value2, opt) => {
    console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);
    return true;
  };
};
function assertOptions(options, schema, allowUnknown) {
  if (typeof options !== "object") {
    throw new AxiosError("options must be an object", AxiosError.ERR_BAD_OPTION_VALUE);
  }
  const keys = Object.keys(options);
  let i = keys.length;
  while (i-- > 0) {
    const opt = keys[i];
    const validator5 = schema[opt];
    if (validator5) {
      const value2 = options[opt];
      const result = value2 === void 0 || validator5(value2, opt, options);
      if (result !== true) {
        throw new AxiosError("option " + opt + " must be " + result, AxiosError.ERR_BAD_OPTION_VALUE);
      }
      continue;
    }
    if (allowUnknown !== true) {
      throw new AxiosError("Unknown option " + opt, AxiosError.ERR_BAD_OPTION);
    }
  }
}
const validator = {
  assertOptions,
  validators: validators$1
};
const validators = validator.validators;
class Axios {
  constructor(instanceConfig) {
    this.defaults = instanceConfig;
    this.interceptors = {
      request: new InterceptorManager(),
      response: new InterceptorManager()
    };
  }
  /**
   * Dispatch a request
   *
   * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
   * @param {?Object} config
   *
   * @returns {Promise} The Promise to be fulfilled
   */
  async request(configOrUrl, config2) {
    try {
      return await this._request(configOrUrl, config2);
    } catch (err) {
      if (err instanceof Error) {
        let dummy = {};
        Error.captureStackTrace ? Error.captureStackTrace(dummy) : dummy = new Error();
        const stack2 = dummy.stack ? dummy.stack.replace(/^.+\n/, "") : "";
        try {
          if (!err.stack) {
            err.stack = stack2;
          } else if (stack2 && !String(err.stack).endsWith(stack2.replace(/^.+\n.+\n/, ""))) {
            err.stack += "\n" + stack2;
          }
        } catch (e) {
        }
      }
      throw err;
    }
  }
  _request(configOrUrl, config2) {
    if (typeof configOrUrl === "string") {
      config2 = config2 || {};
      config2.url = configOrUrl;
    } else {
      config2 = configOrUrl || {};
    }
    config2 = mergeConfig(this.defaults, config2);
    const { transitional: transitional2, paramsSerializer, headers } = config2;
    if (transitional2 !== void 0) {
      validator.assertOptions(transitional2, {
        silentJSONParsing: validators.transitional(validators.boolean),
        forcedJSONParsing: validators.transitional(validators.boolean),
        clarifyTimeoutError: validators.transitional(validators.boolean)
      }, false);
    }
    if (paramsSerializer != null) {
      if (utils$1.isFunction(paramsSerializer)) {
        config2.paramsSerializer = {
          serialize: paramsSerializer
        };
      } else {
        validator.assertOptions(paramsSerializer, {
          encode: validators.function,
          serialize: validators.function
        }, true);
      }
    }
    validator.assertOptions(config2, {
      baseUrl: validators.spelling("baseURL"),
      withXsrfToken: validators.spelling("withXSRFToken")
    }, true);
    config2.method = (config2.method || this.defaults.method || "get").toLowerCase();
    let contextHeaders = headers && utils$1.merge(
      headers.common,
      headers[config2.method]
    );
    headers && utils$1.forEach(
      ["delete", "get", "head", "post", "put", "patch", "common"],
      (method) => {
        delete headers[method];
      }
    );
    config2.headers = AxiosHeaders.concat(contextHeaders, headers);
    const requestInterceptorChain = [];
    let synchronousRequestInterceptors = true;
    this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
      if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config2) === false) {
        return;
      }
      synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
      requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
    });
    const responseInterceptorChain = [];
    this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
      responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
    });
    let promise;
    let i = 0;
    let len;
    if (!synchronousRequestInterceptors) {
      const chain = [dispatchRequest.bind(this), void 0];
      chain.unshift.apply(chain, requestInterceptorChain);
      chain.push.apply(chain, responseInterceptorChain);
      len = chain.length;
      promise = Promise.resolve(config2);
      while (i < len) {
        promise = promise.then(chain[i++], chain[i++]);
      }
      return promise;
    }
    len = requestInterceptorChain.length;
    let newConfig = config2;
    i = 0;
    while (i < len) {
      const onFulfilled = requestInterceptorChain[i++];
      const onRejected = requestInterceptorChain[i++];
      try {
        newConfig = onFulfilled(newConfig);
      } catch (error) {
        onRejected.call(this, error);
        break;
      }
    }
    try {
      promise = dispatchRequest.call(this, newConfig);
    } catch (error) {
      return Promise.reject(error);
    }
    i = 0;
    len = responseInterceptorChain.length;
    while (i < len) {
      promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);
    }
    return promise;
  }
  getUri(config2) {
    config2 = mergeConfig(this.defaults, config2);
    const fullPath = buildFullPath(config2.baseURL, config2.url);
    return buildURL(fullPath, config2.params, config2.paramsSerializer);
  }
}
utils$1.forEach(["delete", "get", "head", "options"], function forEachMethodNoData(method) {
  Axios.prototype[method] = function(url, config2) {
    return this.request(mergeConfig(config2 || {}, {
      method,
      url,
      data: (config2 || {}).data
    }));
  };
});
utils$1.forEach(["post", "put", "patch"], function forEachMethodWithData(method) {
  function generateHTTPMethod(isForm) {
    return function httpMethod(url, data6, config2) {
      return this.request(mergeConfig(config2 || {}, {
        method,
        headers: isForm ? {
          "Content-Type": "multipart/form-data"
        } : {},
        url,
        data: data6
      }));
    };
  }
  Axios.prototype[method] = generateHTTPMethod();
  Axios.prototype[method + "Form"] = generateHTTPMethod(true);
});
class CancelToken {
  constructor(executor) {
    if (typeof executor !== "function") {
      throw new TypeError("executor must be a function.");
    }
    let resolvePromise;
    this.promise = new Promise(function promiseExecutor(resolve2) {
      resolvePromise = resolve2;
    });
    const token = this;
    this.promise.then((cancel) => {
      if (!token._listeners) return;
      let i = token._listeners.length;
      while (i-- > 0) {
        token._listeners[i](cancel);
      }
      token._listeners = null;
    });
    this.promise.then = (onfulfilled) => {
      let _resolve;
      const promise = new Promise((resolve2) => {
        token.subscribe(resolve2);
        _resolve = resolve2;
      }).then(onfulfilled);
      promise.cancel = function reject() {
        token.unsubscribe(_resolve);
      };
      return promise;
    };
    executor(function cancel(message2, config2, request) {
      if (token.reason) {
        return;
      }
      token.reason = new CanceledError(message2, config2, request);
      resolvePromise(token.reason);
    });
  }
  /**
   * Throws a `CanceledError` if cancellation has been requested.
   */
  throwIfRequested() {
    if (this.reason) {
      throw this.reason;
    }
  }
  /**
   * Subscribe to the cancel signal
   */
  subscribe(listener2) {
    if (this.reason) {
      listener2(this.reason);
      return;
    }
    if (this._listeners) {
      this._listeners.push(listener2);
    } else {
      this._listeners = [listener2];
    }
  }
  /**
   * Unsubscribe from the cancel signal
   */
  unsubscribe(listener2) {
    if (!this._listeners) {
      return;
    }
    const index2 = this._listeners.indexOf(listener2);
    if (index2 !== -1) {
      this._listeners.splice(index2, 1);
    }
  }
  toAbortSignal() {
    const controller = new AbortController();
    const abort = (err) => {
      controller.abort(err);
    };
    this.subscribe(abort);
    controller.signal.unsubscribe = () => this.unsubscribe(abort);
    return controller.signal;
  }
  /**
   * Returns an object that contains a new `CancelToken` and a function that, when called,
   * cancels the `CancelToken`.
   */
  static source() {
    let cancel;
    const token = new CancelToken(function executor(c) {
      cancel = c;
    });
    return {
      token,
      cancel
    };
  }
}
function spread(callback) {
  return function wrap(arr) {
    return callback.apply(null, arr);
  };
}
function isAxiosError(payload) {
  return utils$1.isObject(payload) && payload.isAxiosError === true;
}
const HttpStatusCode = {
  Continue: 100,
  SwitchingProtocols: 101,
  Processing: 102,
  EarlyHints: 103,
  Ok: 200,
  Created: 201,
  Accepted: 202,
  NonAuthoritativeInformation: 203,
  NoContent: 204,
  ResetContent: 205,
  PartialContent: 206,
  MultiStatus: 207,
  AlreadyReported: 208,
  ImUsed: 226,
  MultipleChoices: 300,
  MovedPermanently: 301,
  Found: 302,
  SeeOther: 303,
  NotModified: 304,
  UseProxy: 305,
  Unused: 306,
  TemporaryRedirect: 307,
  PermanentRedirect: 308,
  BadRequest: 400,
  Unauthorized: 401,
  PaymentRequired: 402,
  Forbidden: 403,
  NotFound: 404,
  MethodNotAllowed: 405,
  NotAcceptable: 406,
  ProxyAuthenticationRequired: 407,
  RequestTimeout: 408,
  Conflict: 409,
  Gone: 410,
  LengthRequired: 411,
  PreconditionFailed: 412,
  PayloadTooLarge: 413,
  UriTooLong: 414,
  UnsupportedMediaType: 415,
  RangeNotSatisfiable: 416,
  ExpectationFailed: 417,
  ImATeapot: 418,
  MisdirectedRequest: 421,
  UnprocessableEntity: 422,
  Locked: 423,
  FailedDependency: 424,
  TooEarly: 425,
  UpgradeRequired: 426,
  PreconditionRequired: 428,
  TooManyRequests: 429,
  RequestHeaderFieldsTooLarge: 431,
  UnavailableForLegalReasons: 451,
  InternalServerError: 500,
  NotImplemented: 501,
  BadGateway: 502,
  ServiceUnavailable: 503,
  GatewayTimeout: 504,
  HttpVersionNotSupported: 505,
  VariantAlsoNegotiates: 506,
  InsufficientStorage: 507,
  LoopDetected: 508,
  NotExtended: 510,
  NetworkAuthenticationRequired: 511
};
Object.entries(HttpStatusCode).forEach(([key, value2]) => {
  HttpStatusCode[value2] = key;
});
function createInstance(defaultConfig) {
  const context = new Axios(defaultConfig);
  const instance2 = bind2(Axios.prototype.request, context);
  utils$1.extend(instance2, Axios.prototype, context, { allOwnKeys: true });
  utils$1.extend(instance2, context, null, { allOwnKeys: true });
  instance2.create = function create2(instanceConfig) {
    return createInstance(mergeConfig(defaultConfig, instanceConfig));
  };
  return instance2;
}
const axios = createInstance(defaults);
axios.Axios = Axios;
axios.CanceledError = CanceledError;
axios.CancelToken = CancelToken;
axios.isCancel = isCancel;
axios.VERSION = VERSION;
axios.toFormData = toFormData;
axios.AxiosError = AxiosError;
axios.Cancel = axios.CanceledError;
axios.all = function all(promises) {
  return Promise.all(promises);
};
axios.spread = spread;
axios.isAxiosError = isAxiosError;
axios.mergeConfig = mergeConfig;
axios.AxiosHeaders = AxiosHeaders;
axios.formToJSON = (thing) => formDataToJSON(utils$1.isHTMLForm(thing) ? new FormData(thing) : thing);
axios.getAdapter = adapters.getAdapter;
axios.HttpStatusCode = HttpStatusCode;
axios.default = axios;
const instance = axios.create({
  baseURL: "https://api.wanikani.com/v2/"
});
instance.interceptors.request.use((config2) => {
  var _a;
  const userStore = useUserStore();
  config2.headers["Authorization"] = "Bearer " + ((_a = userStore.userData) == null ? void 0 : _a.apikey);
  return config2;
});
instance.interceptors.response.use((response) => {
  const data6 = response.data.data;
  if (response.data.pages !== void 0) {
    if (response.data.pages.next_url !== null) {
      response.config.url = response.data.pages.next_url;
      return instance.request(response.config).then((ret) => {
        return data6.concat(ret);
      });
    } else {
      return data6;
    }
  } else {
    return data6;
  }
});
const useLevelProgressionsStore = /* @__PURE__ */ defineStore("levelProgressions", () => {
  const loadingCount = ref(0);
  const levelProgressions = ref([]);
  async function reset() {
    levelProgressions.value = [];
  }
  async function fetchLevelProgressions() {
    return new Promise((resolve2, reject) => {
      loadingCount.value += 1;
      instance.get("level_progressions").then((ret) => {
        levelProgressions.value = ret.map((o2) => o2.data.abandoned_at != null);
        levelProgressions.value.forEach((l) => {
          l.data.timeToPass = differenceInDays(
            l.data.passed_at == null ? /* @__PURE__ */ new Date() : new Date(l.data.passed_at),
            new Date(l.data.started_at)
          );
          l.data.timeToComplete = differenceInDays(
            l.data.completed_at == null ? /* @__PURE__ */ new Date() : new Date(l.data.completed_at),
            new Date(l.data.started_at)
          );
        });
        loadingCount.value -= 1;
      }).catch((error) => {
        console.log(error.message);
      }).then(
        (response) => {
          loadingCount.value -= 1;
          resolve2(response);
        },
        (error) => {
          loadingCount.value -= 1;
          reject(error);
        }
      );
    });
  }
  const loading = computed(() => loadingCount.value > 0);
  return { fetchLevelProgressions, levelProgressions, loading, reset };
});
/*!
 * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2024 Fonticons, Inc.
 */
const faTriangleExclamation = {
  prefix: "fas",
  iconName: "triangle-exclamation",
  icon: [512, 512, [9888, "exclamation-triangle", "warning"], "f071", "M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]
};
/*!
 * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2024 Fonticons, Inc.
 */
function _defineProperty$1(e, r2, t2) {
  return (r2 = _toPropertyKey$1(r2)) in e ? Object.defineProperty(e, r2, {
    value: t2,
    enumerable: true,
    configurable: true,
    writable: true
  }) : e[r2] = t2, e;
}
function ownKeys$1(e, r2) {
  var t2 = Object.keys(e);
  if (Object.getOwnPropertySymbols) {
    var o2 = Object.getOwnPropertySymbols(e);
    r2 && (o2 = o2.filter(function(r3) {
      return Object.getOwnPropertyDescriptor(e, r3).enumerable;
    })), t2.push.apply(t2, o2);
  }
  return t2;
}
function _objectSpread2$1(e) {
  for (var r2 = 1; r2 < arguments.length; r2++) {
    var t2 = null != arguments[r2] ? arguments[r2] : {};
    r2 % 2 ? ownKeys$1(Object(t2), true).forEach(function(r3) {
      _defineProperty$1(e, r3, t2[r3]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$1(Object(t2)).forEach(function(r3) {
      Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));
    });
  }
  return e;
}
function _toPrimitive$1(t2, r2) {
  if ("object" != typeof t2 || !t2) return t2;
  var e = t2[Symbol.toPrimitive];
  if (void 0 !== e) {
    var i = e.call(t2, r2 || "default");
    if ("object" != typeof i) return i;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return ("string" === r2 ? String : Number)(t2);
}
function _toPropertyKey$1(t2) {
  var i = _toPrimitive$1(t2, "string");
  return "symbol" == typeof i ? i : i + "";
}
const noop = () => {
};
let _WINDOW = {};
let _DOCUMENT = {};
let _MUTATION_OBSERVER = null;
let _PERFORMANCE = {
  mark: noop,
  measure: noop
};
try {
  if (typeof window !== "undefined") _WINDOW = window;
  if (typeof document !== "undefined") _DOCUMENT = document;
  if (typeof MutationObserver !== "undefined") _MUTATION_OBSERVER = MutationObserver;
  if (typeof performance !== "undefined") _PERFORMANCE = performance;
} catch (e) {
}
const {
  userAgent = ""
} = _WINDOW.navigator || {};
const WINDOW = _WINDOW;
const DOCUMENT = _DOCUMENT;
const MUTATION_OBSERVER = _MUTATION_OBSERVER;
const PERFORMANCE = _PERFORMANCE;
!!WINDOW.document;
const IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === "function" && typeof DOCUMENT.createElement === "function";
const IS_IE = ~userAgent.indexOf("MSIE") || ~userAgent.indexOf("Trident/");
var p = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, g = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i;
var S = {
  classic: {
    fa: "solid",
    fas: "solid",
    "fa-solid": "solid",
    far: "regular",
    "fa-regular": "regular",
    fal: "light",
    "fa-light": "light",
    fat: "thin",
    "fa-thin": "thin",
    fab: "brands",
    "fa-brands": "brands"
  },
  duotone: {
    fa: "solid",
    fad: "solid",
    "fa-solid": "solid",
    "fa-duotone": "solid",
    fadr: "regular",
    "fa-regular": "regular",
    fadl: "light",
    "fa-light": "light",
    fadt: "thin",
    "fa-thin": "thin"
  },
  sharp: {
    fa: "solid",
    fass: "solid",
    "fa-solid": "solid",
    fasr: "regular",
    "fa-regular": "regular",
    fasl: "light",
    "fa-light": "light",
    fast: "thin",
    "fa-thin": "thin"
  },
  "sharp-duotone": {
    fa: "solid",
    fasds: "solid",
    "fa-solid": "solid",
    fasdr: "regular",
    "fa-regular": "regular",
    fasdl: "light",
    "fa-light": "light",
    fasdt: "thin",
    "fa-thin": "thin"
  }
}, A = {
  GROUP: "duotone-group",
  SWAP_OPACITY: "swap-opacity",
  PRIMARY: "primary",
  SECONDARY: "secondary"
}, P = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"];
var s = "classic", t = "duotone", r = "sharp", o = "sharp-duotone", L = [s, t, r, o];
var G = {
  classic: {
    900: "fas",
    400: "far",
    normal: "far",
    300: "fal",
    100: "fat"
  },
  duotone: {
    900: "fad",
    400: "fadr",
    300: "fadl",
    100: "fadt"
  },
  sharp: {
    900: "fass",
    400: "fasr",
    300: "fasl",
    100: "fast"
  },
  "sharp-duotone": {
    900: "fasds",
    400: "fasdr",
    300: "fasdl",
    100: "fasdt"
  }
};
var lt = {
  "Font Awesome 6 Free": {
    900: "fas",
    400: "far"
  },
  "Font Awesome 6 Pro": {
    900: "fas",
    400: "far",
    normal: "far",
    300: "fal",
    100: "fat"
  },
  "Font Awesome 6 Brands": {
    400: "fab",
    normal: "fab"
  },
  "Font Awesome 6 Duotone": {
    900: "fad",
    400: "fadr",
    normal: "fadr",
    300: "fadl",
    100: "fadt"
  },
  "Font Awesome 6 Sharp": {
    900: "fass",
    400: "fasr",
    normal: "fasr",
    300: "fasl",
    100: "fast"
  },
  "Font Awesome 6 Sharp Duotone": {
    900: "fasds",
    400: "fasdr",
    normal: "fasdr",
    300: "fasdl",
    100: "fasdt"
  }
};
var pt = /* @__PURE__ */ new Map([["classic", {
  defaultShortPrefixId: "fas",
  defaultStyleId: "solid",
  styleIds: ["solid", "regular", "light", "thin", "brands"],
  futureStyleIds: [],
  defaultFontWeight: 900
}], ["sharp", {
  defaultShortPrefixId: "fass",
  defaultStyleId: "solid",
  styleIds: ["solid", "regular", "light", "thin"],
  futureStyleIds: [],
  defaultFontWeight: 900
}], ["duotone", {
  defaultShortPrefixId: "fad",
  defaultStyleId: "solid",
  styleIds: ["solid", "regular", "light", "thin"],
  futureStyleIds: [],
  defaultFontWeight: 900
}], ["sharp-duotone", {
  defaultShortPrefixId: "fasds",
  defaultStyleId: "solid",
  styleIds: ["solid", "regular", "light", "thin"],
  futureStyleIds: [],
  defaultFontWeight: 900
}]]), xt = {
  classic: {
    solid: "fas",
    regular: "far",
    light: "fal",
    thin: "fat",
    brands: "fab"
  },
  duotone: {
    solid: "fad",
    regular: "fadr",
    light: "fadl",
    thin: "fadt"
  },
  sharp: {
    solid: "fass",
    regular: "fasr",
    light: "fasl",
    thin: "fast"
  },
  "sharp-duotone": {
    solid: "fasds",
    regular: "fasdr",
    light: "fasdl",
    thin: "fasdt"
  }
};
var Ft = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], St = {
  kit: {
    fak: "kit",
    "fa-kit": "kit"
  },
  "kit-duotone": {
    fakd: "kit-duotone",
    "fa-kit-duotone": "kit-duotone"
  }
}, At = ["kit"];
var Ct = {
  kit: {
    "fa-kit": "fak"
  },
  "kit-duotone": {
    "fa-kit-duotone": "fakd"
  }
};
var Lt = ["fak", "fakd"], Wt = {
  kit: {
    fak: "fa-kit"
  },
  "kit-duotone": {
    fakd: "fa-kit-duotone"
  }
};
var Et = {
  kit: {
    kit: "fak"
  },
  "kit-duotone": {
    "kit-duotone": "fakd"
  }
};
var t$1 = {
  GROUP: "duotone-group",
  SWAP_OPACITY: "swap-opacity",
  PRIMARY: "primary",
  SECONDARY: "secondary"
}, r$1 = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"];
var bt$1 = ["fak", "fa-kit", "fakd", "fa-kit-duotone"];
var Yt = {
  "Font Awesome Kit": {
    400: "fak",
    normal: "fak"
  },
  "Font Awesome Kit Duotone": {
    400: "fakd",
    normal: "fakd"
  }
};
var ua = {
  classic: {
    "fa-brands": "fab",
    "fa-duotone": "fad",
    "fa-light": "fal",
    "fa-regular": "far",
    "fa-solid": "fas",
    "fa-thin": "fat"
  },
  duotone: {
    "fa-regular": "fadr",
    "fa-light": "fadl",
    "fa-thin": "fadt"
  },
  sharp: {
    "fa-solid": "fass",
    "fa-regular": "fasr",
    "fa-light": "fasl",
    "fa-thin": "fast"
  },
  "sharp-duotone": {
    "fa-solid": "fasds",
    "fa-regular": "fasdr",
    "fa-light": "fasdl",
    "fa-thin": "fasdt"
  }
}, I$1 = {
  classic: ["fas", "far", "fal", "fat", "fad"],
  duotone: ["fadr", "fadl", "fadt"],
  sharp: ["fass", "fasr", "fasl", "fast"],
  "sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
}, ga = {
  classic: {
    fab: "fa-brands",
    fad: "fa-duotone",
    fal: "fa-light",
    far: "fa-regular",
    fas: "fa-solid",
    fat: "fa-thin"
  },
  duotone: {
    fadr: "fa-regular",
    fadl: "fa-light",
    fadt: "fa-thin"
  },
  sharp: {
    fass: "fa-solid",
    fasr: "fa-regular",
    fasl: "fa-light",
    fast: "fa-thin"
  },
  "sharp-duotone": {
    fasds: "fa-solid",
    fasdr: "fa-regular",
    fasdl: "fa-light",
    fasdt: "fa-thin"
  }
}, x = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], Ia = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...r$1, ...x], m$1 = ["solid", "regular", "light", "thin", "duotone", "brands"], c$1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], F$1 = c$1.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), ma = [...Object.keys(I$1), ...m$1, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", t$1.GROUP, t$1.SWAP_OPACITY, t$1.PRIMARY, t$1.SECONDARY].concat(c$1.map((a) => "".concat(a, "x"))).concat(F$1.map((a) => "w-".concat(a)));
var wa = {
  "Font Awesome 5 Free": {
    900: "fas",
    400: "far"
  },
  "Font Awesome 5 Pro": {
    900: "fas",
    400: "far",
    normal: "far",
    300: "fal"
  },
  "Font Awesome 5 Brands": {
    400: "fab",
    normal: "fab"
  },
  "Font Awesome 5 Duotone": {
    900: "fad"
  }
};
const NAMESPACE_IDENTIFIER = "___FONT_AWESOME___";
const UNITS_IN_GRID = 16;
const DEFAULT_CSS_PREFIX = "fa";
const DEFAULT_REPLACEMENT_CLASS = "svg-inline--fa";
const DATA_FA_I2SVG = "data-fa-i2svg";
const DATA_FA_PSEUDO_ELEMENT = "data-fa-pseudo-element";
const DATA_FA_PSEUDO_ELEMENT_PENDING = "data-fa-pseudo-element-pending";
const DATA_PREFIX = "data-prefix";
const DATA_ICON = "data-icon";
const HTML_CLASS_I2SVG_BASE_CLASS = "fontawesome-i2svg";
const MUTATION_APPROACH_ASYNC = "async";
const TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ["HTML", "HEAD", "STYLE", "SCRIPT"];
const PRODUCTION$1 = (() => {
  try {
    return true;
  } catch (e$$1) {
    return false;
  }
})();
function familyProxy(obj) {
  return new Proxy(obj, {
    get(target, prop) {
      return prop in target ? target[prop] : target[s];
    }
  });
}
const _PREFIX_TO_STYLE = _objectSpread2$1({}, S);
_PREFIX_TO_STYLE[s] = _objectSpread2$1(_objectSpread2$1(_objectSpread2$1(_objectSpread2$1({}, {
  "fa-duotone": "duotone"
}), S[s]), St["kit"]), St["kit-duotone"]);
const PREFIX_TO_STYLE = familyProxy(_PREFIX_TO_STYLE);
const _STYLE_TO_PREFIX = _objectSpread2$1({}, xt);
_STYLE_TO_PREFIX[s] = _objectSpread2$1(_objectSpread2$1(_objectSpread2$1(_objectSpread2$1({}, {
  duotone: "fad"
}), _STYLE_TO_PREFIX[s]), Et["kit"]), Et["kit-duotone"]);
const STYLE_TO_PREFIX = familyProxy(_STYLE_TO_PREFIX);
const _PREFIX_TO_LONG_STYLE = _objectSpread2$1({}, ga);
_PREFIX_TO_LONG_STYLE[s] = _objectSpread2$1(_objectSpread2$1({}, _PREFIX_TO_LONG_STYLE[s]), Wt["kit"]);
const PREFIX_TO_LONG_STYLE = familyProxy(_PREFIX_TO_LONG_STYLE);
const _LONG_STYLE_TO_PREFIX = _objectSpread2$1({}, ua);
_LONG_STYLE_TO_PREFIX[s] = _objectSpread2$1(_objectSpread2$1({}, _LONG_STYLE_TO_PREFIX[s]), Ct["kit"]);
familyProxy(_LONG_STYLE_TO_PREFIX);
const ICON_SELECTION_SYNTAX_PATTERN = p;
const LAYERS_TEXT_CLASSNAME = "fa-layers-text";
const FONT_FAMILY_PATTERN = g;
const _FONT_WEIGHT_TO_PREFIX = _objectSpread2$1({}, G);
familyProxy(_FONT_WEIGHT_TO_PREFIX);
const ATTRIBUTES_WATCHED_FOR_MUTATION = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"];
const DUOTONE_CLASSES = A;
const RESERVED_CLASSES = [...At, ...ma];
const initial = WINDOW.FontAwesomeConfig || {};
function getAttrConfig(attr) {
  var element = DOCUMENT.querySelector("script[" + attr + "]");
  if (element) {
    return element.getAttribute(attr);
  }
}
function coerce(val) {
  if (val === "") return true;
  if (val === "false") return false;
  if (val === "true") return true;
  return val;
}
if (DOCUMENT && typeof DOCUMENT.querySelector === "function") {
  const attrs4 = [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]];
  attrs4.forEach((_ref) => {
    let [attr, key] = _ref;
    const val = coerce(getAttrConfig(attr));
    if (val !== void 0 && val !== null) {
      initial[key] = val;
    }
  });
}
const _default = {
  styleDefault: "solid",
  familyDefault: s,
  cssPrefix: DEFAULT_CSS_PREFIX,
  replacementClass: DEFAULT_REPLACEMENT_CLASS,
  autoReplaceSvg: true,
  autoAddCss: true,
  autoA11y: true,
  searchPseudoElements: false,
  observeMutations: true,
  mutateApproach: "async",
  keepOriginalSource: true,
  measurePerformance: false,
  showMissingIcons: true
};
if (initial.familyPrefix) {
  initial.cssPrefix = initial.familyPrefix;
}
const _config = _objectSpread2$1(_objectSpread2$1({}, _default), initial);
if (!_config.autoReplaceSvg) _config.observeMutations = false;
const config = {};
Object.keys(_default).forEach((key) => {
  Object.defineProperty(config, key, {
    enumerable: true,
    set: function(val) {
      _config[key] = val;
      _onChangeCb.forEach((cb) => cb(config));
    },
    get: function() {
      return _config[key];
    }
  });
});
Object.defineProperty(config, "familyPrefix", {
  enumerable: true,
  set: function(val) {
    _config.cssPrefix = val;
    _onChangeCb.forEach((cb) => cb(config));
  },
  get: function() {
    return _config.cssPrefix;
  }
});
WINDOW.FontAwesomeConfig = config;
const _onChangeCb = [];
function onChange(cb) {
  _onChangeCb.push(cb);
  return () => {
    _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);
  };
}
const d$2 = UNITS_IN_GRID;
const meaninglessTransform = {
  size: 16,
  x: 0,
  y: 0,
  rotate: 0,
  flipX: false,
  flipY: false
};
function insertCss(css22) {
  if (!css22 || !IS_DOM) {
    return;
  }
  const style = DOCUMENT.createElement("style");
  style.setAttribute("type", "text/css");
  style.innerHTML = css22;
  const headChildren = DOCUMENT.head.childNodes;
  let beforeChild = null;
  for (let i = headChildren.length - 1; i > -1; i--) {
    const child = headChildren[i];
    const tagName = (child.tagName || "").toUpperCase();
    if (["STYLE", "LINK"].indexOf(tagName) > -1) {
      beforeChild = child;
    }
  }
  DOCUMENT.head.insertBefore(style, beforeChild);
  return css22;
}
const idPool = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
function nextUniqueId() {
  let size = 12;
  let id3 = "";
  while (size-- > 0) {
    id3 += idPool[Math.random() * 62 | 0];
  }
  return id3;
}
function toArray(obj) {
  const array = [];
  for (let i = (obj || []).length >>> 0; i--; ) {
    array[i] = obj[i];
  }
  return array;
}
function classArray(node) {
  if (node.classList) {
    return toArray(node.classList);
  } else {
    return (node.getAttribute("class") || "").split(" ").filter((i) => i);
  }
}
function htmlEscape(str) {
  return "".concat(str).replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&#39;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
}
function joinAttributes(attributes) {
  return Object.keys(attributes || {}).reduce((acc, attributeName) => {
    return acc + "".concat(attributeName, '="').concat(htmlEscape(attributes[attributeName]), '" ');
  }, "").trim();
}
function joinStyles(styles2) {
  return Object.keys(styles2 || {}).reduce((acc, styleName) => {
    return acc + "".concat(styleName, ": ").concat(styles2[styleName].trim(), ";");
  }, "");
}
function transformIsMeaningful(transform) {
  return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;
}
function transformForSvg(_ref) {
  let {
    transform,
    containerWidth,
    iconWidth
  } = _ref;
  const outer = {
    transform: "translate(".concat(containerWidth / 2, " 256)")
  };
  const innerTranslate = "translate(".concat(transform.x * 32, ", ").concat(transform.y * 32, ") ");
  const innerScale = "scale(".concat(transform.size / 16 * (transform.flipX ? -1 : 1), ", ").concat(transform.size / 16 * (transform.flipY ? -1 : 1), ") ");
  const innerRotate = "rotate(".concat(transform.rotate, " 0 0)");
  const inner = {
    transform: "".concat(innerTranslate, " ").concat(innerScale, " ").concat(innerRotate)
  };
  const path = {
    transform: "translate(".concat(iconWidth / 2 * -1, " -256)")
  };
  return {
    outer,
    inner,
    path
  };
}
function transformForCss(_ref2) {
  let {
    transform,
    width = UNITS_IN_GRID,
    height = UNITS_IN_GRID,
    startCentered = false
  } = _ref2;
  let val = "";
  if (startCentered && IS_IE) {
    val += "translate(".concat(transform.x / d$2 - width / 2, "em, ").concat(transform.y / d$2 - height / 2, "em) ");
  } else if (startCentered) {
    val += "translate(calc(-50% + ".concat(transform.x / d$2, "em), calc(-50% + ").concat(transform.y / d$2, "em)) ");
  } else {
    val += "translate(".concat(transform.x / d$2, "em, ").concat(transform.y / d$2, "em) ");
  }
  val += "scale(".concat(transform.size / d$2 * (transform.flipX ? -1 : 1), ", ").concat(transform.size / d$2 * (transform.flipY ? -1 : 1), ") ");
  val += "rotate(".concat(transform.rotate, "deg) ");
  return val;
}
var baseStyles = ':root, :host {\n  --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";\n  --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";\n  --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";\n  --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro";\n  --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";\n  --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone";\n  --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone";\n  --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone";\n  --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";\n  --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";\n  --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";\n  --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";\n  --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";\n  --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone";\n  --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone";\n  --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone";\n  --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone";\n}\n\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\n  overflow: visible;\n  box-sizing: content-box;\n}\n\n.svg-inline--fa {\n  display: var(--fa-display, inline-block);\n  height: 1em;\n  overflow: visible;\n  vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-2xs {\n  vertical-align: 0.1em;\n}\n.svg-inline--fa.fa-xs {\n  vertical-align: 0em;\n}\n.svg-inline--fa.fa-sm {\n  vertical-align: -0.0714285705em;\n}\n.svg-inline--fa.fa-lg {\n  vertical-align: -0.2em;\n}\n.svg-inline--fa.fa-xl {\n  vertical-align: -0.25em;\n}\n.svg-inline--fa.fa-2xl {\n  vertical-align: -0.3125em;\n}\n.svg-inline--fa.fa-pull-left {\n  margin-right: var(--fa-pull-margin, 0.3em);\n  width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n  margin-left: var(--fa-pull-margin, 0.3em);\n  width: auto;\n}\n.svg-inline--fa.fa-li {\n  width: var(--fa-li-width, 2em);\n  top: 0.25em;\n}\n.svg-inline--fa.fa-fw {\n  width: var(--fa-fw-width, 1.25em);\n}\n\n.fa-layers svg.svg-inline--fa {\n  bottom: 0;\n  left: 0;\n  margin: auto;\n  position: absolute;\n  right: 0;\n  top: 0;\n}\n\n.fa-layers-counter, .fa-layers-text {\n  display: inline-block;\n  position: absolute;\n  text-align: center;\n}\n\n.fa-layers {\n  display: inline-block;\n  height: 1em;\n  position: relative;\n  text-align: center;\n  vertical-align: -0.125em;\n  width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n  transform-origin: center center;\n}\n\n.fa-layers-text {\n  left: 50%;\n  top: 50%;\n  transform: translate(-50%, -50%);\n  transform-origin: center center;\n}\n\n.fa-layers-counter {\n  background-color: var(--fa-counter-background-color, #ff253a);\n  border-radius: var(--fa-counter-border-radius, 1em);\n  box-sizing: border-box;\n  color: var(--fa-inverse, #fff);\n  line-height: var(--fa-counter-line-height, 1);\n  max-width: var(--fa-counter-max-width, 5em);\n  min-width: var(--fa-counter-min-width, 1.5em);\n  overflow: hidden;\n  padding: var(--fa-counter-padding, 0.25em 0.5em);\n  right: var(--fa-right, 0);\n  text-overflow: ellipsis;\n  top: var(--fa-top, 0);\n  transform: scale(var(--fa-counter-scale, 0.25));\n  transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n  bottom: var(--fa-bottom, 0);\n  right: var(--fa-right, 0);\n  top: auto;\n  transform: scale(var(--fa-layers-scale, 0.25));\n  transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n  bottom: var(--fa-bottom, 0);\n  left: var(--fa-left, 0);\n  right: auto;\n  top: auto;\n  transform: scale(var(--fa-layers-scale, 0.25));\n  transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n  top: var(--fa-top, 0);\n  right: var(--fa-right, 0);\n  transform: scale(var(--fa-layers-scale, 0.25));\n  transform-origin: top right;\n}\n\n.fa-layers-top-left {\n  left: var(--fa-left, 0);\n  right: auto;\n  top: var(--fa-top, 0);\n  transform: scale(var(--fa-layers-scale, 0.25));\n  transform-origin: top left;\n}\n\n.fa-1x {\n  font-size: 1em;\n}\n\n.fa-2x {\n  font-size: 2em;\n}\n\n.fa-3x {\n  font-size: 3em;\n}\n\n.fa-4x {\n  font-size: 4em;\n}\n\n.fa-5x {\n  font-size: 5em;\n}\n\n.fa-6x {\n  font-size: 6em;\n}\n\n.fa-7x {\n  font-size: 7em;\n}\n\n.fa-8x {\n  font-size: 8em;\n}\n\n.fa-9x {\n  font-size: 9em;\n}\n\n.fa-10x {\n  font-size: 10em;\n}\n\n.fa-2xs {\n  font-size: 0.625em;\n  line-height: 0.1em;\n  vertical-align: 0.225em;\n}\n\n.fa-xs {\n  font-size: 0.75em;\n  line-height: 0.0833333337em;\n  vertical-align: 0.125em;\n}\n\n.fa-sm {\n  font-size: 0.875em;\n  line-height: 0.0714285718em;\n  vertical-align: 0.0535714295em;\n}\n\n.fa-lg {\n  font-size: 1.25em;\n  line-height: 0.05em;\n  vertical-align: -0.075em;\n}\n\n.fa-xl {\n  font-size: 1.5em;\n  line-height: 0.0416666682em;\n  vertical-align: -0.125em;\n}\n\n.fa-2xl {\n  font-size: 2em;\n  line-height: 0.03125em;\n  vertical-align: -0.1875em;\n}\n\n.fa-fw {\n  text-align: center;\n  width: 1.25em;\n}\n\n.fa-ul {\n  list-style-type: none;\n  margin-left: var(--fa-li-margin, 2.5em);\n  padding-left: 0;\n}\n.fa-ul > li {\n  position: relative;\n}\n\n.fa-li {\n  left: calc(-1 * var(--fa-li-width, 2em));\n  position: absolute;\n  text-align: center;\n  width: var(--fa-li-width, 2em);\n  line-height: inherit;\n}\n\n.fa-border {\n  border-color: var(--fa-border-color, #eee);\n  border-radius: var(--fa-border-radius, 0.1em);\n  border-style: var(--fa-border-style, solid);\n  border-width: var(--fa-border-width, 0.08em);\n  padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\n}\n\n.fa-pull-left {\n  float: left;\n  margin-right: var(--fa-pull-margin, 0.3em);\n}\n\n.fa-pull-right {\n  float: right;\n  margin-left: var(--fa-pull-margin, 0.3em);\n}\n\n.fa-beat {\n  animation-name: fa-beat;\n  animation-delay: var(--fa-animation-delay, 0s);\n  animation-direction: var(--fa-animation-direction, normal);\n  animation-duration: var(--fa-animation-duration, 1s);\n  animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n  animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-bounce {\n  animation-name: fa-bounce;\n  animation-delay: var(--fa-animation-delay, 0s);\n  animation-direction: var(--fa-animation-direction, normal);\n  animation-duration: var(--fa-animation-duration, 1s);\n  animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n  animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\n}\n\n.fa-fade {\n  animation-name: fa-fade;\n  animation-delay: var(--fa-animation-delay, 0s);\n  animation-direction: var(--fa-animation-direction, normal);\n  animation-duration: var(--fa-animation-duration, 1s);\n  animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n  animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-beat-fade {\n  animation-name: fa-beat-fade;\n  animation-delay: var(--fa-animation-delay, 0s);\n  animation-direction: var(--fa-animation-direction, normal);\n  animation-duration: var(--fa-animation-duration, 1s);\n  animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n  animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-flip {\n  animation-name: fa-flip;\n  animation-delay: var(--fa-animation-delay, 0s);\n  animation-direction: var(--fa-animation-direction, normal);\n  animation-duration: var(--fa-animation-duration, 1s);\n  animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n  animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-shake {\n  animation-name: fa-shake;\n  animation-delay: var(--fa-animation-delay, 0s);\n  animation-direction: var(--fa-animation-direction, normal);\n  animation-duration: var(--fa-animation-duration, 1s);\n  animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n  animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin {\n  animation-name: fa-spin;\n  animation-delay: var(--fa-animation-delay, 0s);\n  animation-direction: var(--fa-animation-direction, normal);\n  animation-duration: var(--fa-animation-duration, 2s);\n  animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n  animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin-reverse {\n  --fa-animation-direction: reverse;\n}\n\n.fa-pulse,\n.fa-spin-pulse {\n  animation-name: fa-spin;\n  animation-direction: var(--fa-animation-direction, normal);\n  animation-duration: var(--fa-animation-duration, 1s);\n  animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n  animation-timing-function: var(--fa-animation-timing, steps(8));\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .fa-beat,\n.fa-bounce,\n.fa-fade,\n.fa-beat-fade,\n.fa-flip,\n.fa-pulse,\n.fa-shake,\n.fa-spin,\n.fa-spin-pulse {\n    animation-delay: -1ms;\n    animation-duration: 1ms;\n    animation-iteration-count: 1;\n    transition-delay: 0s;\n    transition-duration: 0s;\n  }\n}\n@keyframes fa-beat {\n  0%, 90% {\n    transform: scale(1);\n  }\n  45% {\n    transform: scale(var(--fa-beat-scale, 1.25));\n  }\n}\n@keyframes fa-bounce {\n  0% {\n    transform: scale(1, 1) translateY(0);\n  }\n  10% {\n    transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n  }\n  30% {\n    transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\n  }\n  50% {\n    transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n  }\n  57% {\n    transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n  }\n  64% {\n    transform: scale(1, 1) translateY(0);\n  }\n  100% {\n    transform: scale(1, 1) translateY(0);\n  }\n}\n@keyframes fa-fade {\n  50% {\n    opacity: var(--fa-fade-opacity, 0.4);\n  }\n}\n@keyframes fa-beat-fade {\n  0%, 100% {\n    opacity: var(--fa-beat-fade-opacity, 0.4);\n    transform: scale(1);\n  }\n  50% {\n    opacity: 1;\n    transform: scale(var(--fa-beat-fade-scale, 1.125));\n  }\n}\n@keyframes fa-flip {\n  50% {\n    transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n  }\n}\n@keyframes fa-shake {\n  0% {\n    transform: rotate(-15deg);\n  }\n  4% {\n    transform: rotate(15deg);\n  }\n  8%, 24% {\n    transform: rotate(-18deg);\n  }\n  12%, 28% {\n    transform: rotate(18deg);\n  }\n  16% {\n    transform: rotate(-22deg);\n  }\n  20% {\n    transform: rotate(22deg);\n  }\n  32% {\n    transform: rotate(-12deg);\n  }\n  36% {\n    transform: rotate(12deg);\n  }\n  40%, 100% {\n    transform: rotate(0deg);\n  }\n}\n@keyframes fa-spin {\n  0% {\n    transform: rotate(0deg);\n  }\n  100% {\n    transform: rotate(360deg);\n  }\n}\n.fa-rotate-90 {\n  transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n  transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n  transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n  transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n  transform: scale(1, -1);\n}\n\n.fa-flip-both,\n.fa-flip-horizontal.fa-flip-vertical {\n  transform: scale(-1, -1);\n}\n\n.fa-rotate-by {\n  transform: rotate(var(--fa-rotate-angle, 0));\n}\n\n.fa-stack {\n  display: inline-block;\n  vertical-align: middle;\n  height: 2em;\n  position: relative;\n  width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n  bottom: 0;\n  left: 0;\n  margin: auto;\n  position: absolute;\n  right: 0;\n  top: 0;\n  z-index: var(--fa-stack-z-index, auto);\n}\n\n.svg-inline--fa.fa-stack-1x {\n  height: 1em;\n  width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n  height: 2em;\n  width: 2.5em;\n}\n\n.fa-inverse {\n  color: var(--fa-inverse, #fff);\n}\n\n.sr-only,\n.fa-sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border-width: 0;\n}\n\n.sr-only-focusable:not(:focus),\n.fa-sr-only-focusable:not(:focus) {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border-width: 0;\n}\n\n.svg-inline--fa .fa-primary {\n  fill: var(--fa-primary-color, currentColor);\n  opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n  fill: var(--fa-secondary-color, currentColor);\n  opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n  opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n  opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n  fill: black;\n}';
function css2() {
  const dcp = DEFAULT_CSS_PREFIX;
  const drc = DEFAULT_REPLACEMENT_CLASS;
  const fp = config.cssPrefix;
  const rc = config.replacementClass;
  let s2 = baseStyles;
  if (fp !== dcp || rc !== drc) {
    const dPatt = new RegExp("\\.".concat(dcp, "\\-"), "g");
    const customPropPatt = new RegExp("\\--".concat(dcp, "\\-"), "g");
    const rPatt = new RegExp("\\.".concat(drc), "g");
    s2 = s2.replace(dPatt, ".".concat(fp, "-")).replace(customPropPatt, "--".concat(fp, "-")).replace(rPatt, ".".concat(rc));
  }
  return s2;
}
let _cssInserted = false;
function ensureCss() {
  if (config.autoAddCss && !_cssInserted) {
    insertCss(css2());
    _cssInserted = true;
  }
}
var InjectCSS = {
  mixout() {
    return {
      dom: {
        css: css2,
        insertCss: ensureCss
      }
    };
  },
  hooks() {
    return {
      beforeDOMElementCreation() {
        ensureCss();
      },
      beforeI2svg() {
        ensureCss();
      }
    };
  }
};
const w = WINDOW || {};
if (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};
if (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};
if (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};
if (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];
var namespace = w[NAMESPACE_IDENTIFIER];
const functions = [];
const listener = function() {
  DOCUMENT.removeEventListener("DOMContentLoaded", listener);
  loaded = 1;
  functions.map((fn) => fn());
};
let loaded = false;
if (IS_DOM) {
  loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);
  if (!loaded) DOCUMENT.addEventListener("DOMContentLoaded", listener);
}
function domready(fn) {
  if (!IS_DOM) return;
  loaded ? setTimeout(fn, 0) : functions.push(fn);
}
function toHtml(abstractNodes) {
  const {
    tag,
    attributes = {},
    children = []
  } = abstractNodes;
  if (typeof abstractNodes === "string") {
    return htmlEscape(abstractNodes);
  } else {
    return "<".concat(tag, " ").concat(joinAttributes(attributes), ">").concat(children.map(toHtml).join(""), "</").concat(tag, ">");
  }
}
function iconFromMapping(mapping, prefix, iconName) {
  if (mapping && mapping[prefix] && mapping[prefix][iconName]) {
    return {
      prefix,
      iconName,
      icon: mapping[prefix][iconName]
    };
  }
}
var reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {
  var keys = Object.keys(subject), length = keys.length, iterator2 = fn, i, key, result;
  if (initialValue === void 0) {
    i = 1;
    result = subject[keys[0]];
  } else {
    i = 0;
    result = initialValue;
  }
  for (; i < length; i++) {
    key = keys[i];
    result = iterator2(result, subject[key], key, subject);
  }
  return result;
};
function ucs2decode(string) {
  const output = [];
  let counter2 = 0;
  const length = string.length;
  while (counter2 < length) {
    const value2 = string.charCodeAt(counter2++);
    if (value2 >= 55296 && value2 <= 56319 && counter2 < length) {
      const extra = string.charCodeAt(counter2++);
      if ((extra & 64512) == 56320) {
        output.push(((value2 & 1023) << 10) + (extra & 1023) + 65536);
      } else {
        output.push(value2);
        counter2--;
      }
    } else {
      output.push(value2);
    }
  }
  return output;
}
function toHex(unicode) {
  const decoded = ucs2decode(unicode);
  return decoded.length === 1 ? decoded[0].toString(16) : null;
}
function codePointAt(string, index2) {
  const size = string.length;
  let first = string.charCodeAt(index2);
  let second;
  if (first >= 55296 && first <= 56319 && size > index2 + 1) {
    second = string.charCodeAt(index2 + 1);
    if (second >= 56320 && second <= 57343) {
      return (first - 55296) * 1024 + second - 56320 + 65536;
    }
  }
  return first;
}
function normalizeIcons(icons) {
  return Object.keys(icons).reduce((acc, iconName) => {
    const icon22 = icons[iconName];
    const expanded = !!icon22.icon;
    if (expanded) {
      acc[icon22.iconName] = icon22.icon;
    } else {
      acc[iconName] = icon22;
    }
    return acc;
  }, {});
}
function defineIcons(prefix, icons) {
  let params = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
  const {
    skipHooks = false
  } = params;
  const normalized = normalizeIcons(icons);
  if (typeof namespace.hooks.addPack === "function" && !skipHooks) {
    namespace.hooks.addPack(prefix, normalizeIcons(icons));
  } else {
    namespace.styles[prefix] = _objectSpread2$1(_objectSpread2$1({}, namespace.styles[prefix] || {}), normalized);
  }
  if (prefix === "fas") {
    defineIcons("fa", icons);
  }
}
const {
  styles,
  shims
} = namespace;
const FAMILY_NAMES = Object.keys(PREFIX_TO_LONG_STYLE);
const PREFIXES_FOR_FAMILY = FAMILY_NAMES.reduce((acc, familyId) => {
  acc[familyId] = Object.keys(PREFIX_TO_LONG_STYLE[familyId]);
  return acc;
}, {});
let _defaultUsablePrefix = null;
let _byUnicode = {};
let _byLigature = {};
let _byOldName = {};
let _byOldUnicode = {};
let _byAlias = {};
function isReserved(name) {
  return ~RESERVED_CLASSES.indexOf(name);
}
function getIconName(cssPrefix, cls) {
  const parts = cls.split("-");
  const prefix = parts[0];
  const iconName = parts.slice(1).join("-");
  if (prefix === cssPrefix && iconName !== "" && !isReserved(iconName)) {
    return iconName;
  } else {
    return null;
  }
}
const build = () => {
  const lookup = (reducer) => {
    return reduce(styles, (o$$1, style, prefix) => {
      o$$1[prefix] = reduce(style, reducer, {});
      return o$$1;
    }, {});
  };
  _byUnicode = lookup((acc, icon22, iconName) => {
    if (icon22[3]) {
      acc[icon22[3]] = iconName;
    }
    if (icon22[2]) {
      const aliases = icon22[2].filter((a$$1) => {
        return typeof a$$1 === "number";
      });
      aliases.forEach((alias) => {
        acc[alias.toString(16)] = iconName;
      });
    }
    return acc;
  });
  _byLigature = lookup((acc, icon22, iconName) => {
    acc[iconName] = iconName;
    if (icon22[2]) {
      const aliases = icon22[2].filter((a$$1) => {
        return typeof a$$1 === "string";
      });
      aliases.forEach((alias) => {
        acc[alias] = iconName;
      });
    }
    return acc;
  });
  _byAlias = lookup((acc, icon22, iconName) => {
    const aliases = icon22[2];
    acc[iconName] = iconName;
    aliases.forEach((alias) => {
      acc[alias] = iconName;
    });
    return acc;
  });
  const hasRegular = "far" in styles || config.autoFetchSvg;
  const shimLookups = reduce(shims, (acc, shim) => {
    const maybeNameMaybeUnicode = shim[0];
    let prefix = shim[1];
    const iconName = shim[2];
    if (prefix === "far" && !hasRegular) {
      prefix = "fas";
    }
    if (typeof maybeNameMaybeUnicode === "string") {
      acc.names[maybeNameMaybeUnicode] = {
        prefix,
        iconName
      };
    }
    if (typeof maybeNameMaybeUnicode === "number") {
      acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {
        prefix,
        iconName
      };
    }
    return acc;
  }, {
    names: {},
    unicodes: {}
  });
  _byOldName = shimLookups.names;
  _byOldUnicode = shimLookups.unicodes;
  _defaultUsablePrefix = getCanonicalPrefix(config.styleDefault, {
    family: config.familyDefault
  });
};
onChange((c$$1) => {
  _defaultUsablePrefix = getCanonicalPrefix(c$$1.styleDefault, {
    family: config.familyDefault
  });
});
build();
function byUnicode(prefix, unicode) {
  return (_byUnicode[prefix] || {})[unicode];
}
function byLigature(prefix, ligature) {
  return (_byLigature[prefix] || {})[ligature];
}
function byAlias(prefix, alias) {
  return (_byAlias[prefix] || {})[alias];
}
function byOldName(name) {
  return _byOldName[name] || {
    prefix: null,
    iconName: null
  };
}
function byOldUnicode(unicode) {
  const oldUnicode = _byOldUnicode[unicode];
  const newUnicode = byUnicode("fas", unicode);
  return oldUnicode || (newUnicode ? {
    prefix: "fas",
    iconName: newUnicode
  } : null) || {
    prefix: null,
    iconName: null
  };
}
function getDefaultUsablePrefix() {
  return _defaultUsablePrefix;
}
const emptyCanonicalIcon = () => {
  return {
    prefix: null,
    iconName: null,
    rest: []
  };
};
function getFamilyId(values) {
  let family = s;
  const famProps = FAMILY_NAMES.reduce((acc, familyId) => {
    acc[familyId] = "".concat(config.cssPrefix, "-").concat(familyId);
    return acc;
  }, {});
  L.forEach((familyId) => {
    if (values.includes(famProps[familyId]) || values.some((v$$1) => PREFIXES_FOR_FAMILY[familyId].includes(v$$1))) {
      family = familyId;
    }
  });
  return family;
}
function getCanonicalPrefix(styleOrPrefix) {
  let params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
  const {
    family = s
  } = params;
  const style = PREFIX_TO_STYLE[family][styleOrPrefix];
  if (family === t && !styleOrPrefix) {
    return "fad";
  }
  const prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];
  const defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;
  const result = prefix || defined || null;
  return result;
}
function moveNonFaClassesToRest(classNames) {
  let rest = [];
  let iconName = null;
  classNames.forEach((cls) => {
    const result = getIconName(config.cssPrefix, cls);
    if (result) {
      iconName = result;
    } else if (cls) {
      rest.push(cls);
    }
  });
  return {
    iconName,
    rest
  };
}
function sortedUniqueValues(arr) {
  return arr.sort().filter((value2, index2, arr2) => {
    return arr2.indexOf(value2) === index2;
  });
}
function getCanonicalIcon(values) {
  let params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
  const {
    skipLookups = false
  } = params;
  let givenPrefix = null;
  const faCombinedClasses = Ia.concat(bt$1);
  const faStyleOrFamilyClasses = sortedUniqueValues(values.filter((cls) => faCombinedClasses.includes(cls)));
  const nonStyleOrFamilyClasses = sortedUniqueValues(values.filter((cls) => !Ia.includes(cls)));
  const faStyles = faStyleOrFamilyClasses.filter((cls) => {
    givenPrefix = cls;
    return !P.includes(cls);
  });
  const [styleFromValues = null] = faStyles;
  const family = getFamilyId(faStyleOrFamilyClasses);
  const canonical = _objectSpread2$1(_objectSpread2$1({}, moveNonFaClassesToRest(nonStyleOrFamilyClasses)), {}, {
    prefix: getCanonicalPrefix(styleFromValues, {
      family
    })
  });
  return _objectSpread2$1(_objectSpread2$1(_objectSpread2$1({}, canonical), getDefaultCanonicalPrefix({
    values,
    family,
    styles,
    config,
    canonical,
    givenPrefix
  })), applyShimAndAlias(skipLookups, givenPrefix, canonical));
}
function applyShimAndAlias(skipLookups, givenPrefix, canonical) {
  let {
    prefix,
    iconName
  } = canonical;
  if (skipLookups || !prefix || !iconName) {
    return {
      prefix,
      iconName
    };
  }
  const shim = givenPrefix === "fa" ? byOldName(iconName) : {};
  const aliasIconName = byAlias(prefix, iconName);
  iconName = shim.iconName || aliasIconName || iconName;
  prefix = shim.prefix || prefix;
  if (prefix === "far" && !styles["far"] && styles["fas"] && !config.autoFetchSvg) {
    prefix = "fas";
  }
  return {
    prefix,
    iconName
  };
}
const newCanonicalFamilies = L.filter((familyId) => {
  return familyId !== s || familyId !== t;
});
const newCanonicalStyles = Object.keys(ga).filter((key) => key !== s).map((key) => Object.keys(ga[key])).flat();
function getDefaultCanonicalPrefix(prefixOptions) {
  const {
    values,
    family,
    canonical,
    givenPrefix = "",
    styles: styles2 = {},
    config: config$$1 = {}
  } = prefixOptions;
  const isDuotoneFamily = family === t;
  const valuesHasDuotone = values.includes("fa-duotone") || values.includes("fad");
  const defaultFamilyIsDuotone = config$$1.familyDefault === "duotone";
  const canonicalPrefixIsDuotone = canonical.prefix === "fad" || canonical.prefix === "fa-duotone";
  if (!isDuotoneFamily && (valuesHasDuotone || defaultFamilyIsDuotone || canonicalPrefixIsDuotone)) {
    canonical.prefix = "fad";
  }
  if (values.includes("fa-brands") || values.includes("fab")) {
    canonical.prefix = "fab";
  }
  if (!canonical.prefix && newCanonicalFamilies.includes(family)) {
    const validPrefix = Object.keys(styles2).find((key) => newCanonicalStyles.includes(key));
    if (validPrefix || config$$1.autoFetchSvg) {
      const defaultPrefix = pt.get(family).defaultShortPrefixId;
      canonical.prefix = defaultPrefix;
      canonical.iconName = byAlias(canonical.prefix, canonical.iconName) || canonical.iconName;
    }
  }
  if (canonical.prefix === "fa" || givenPrefix === "fa") {
    canonical.prefix = getDefaultUsablePrefix() || "fas";
  }
  return canonical;
}
class Library {
  constructor() {
    this.definitions = {};
  }
  add() {
    for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {
      definitions[_key] = arguments[_key];
    }
    const additions = definitions.reduce(this._pullDefinitions, {});
    Object.keys(additions).forEach((key) => {
      this.definitions[key] = _objectSpread2$1(_objectSpread2$1({}, this.definitions[key] || {}), additions[key]);
      defineIcons(key, additions[key]);
      const longPrefix = PREFIX_TO_LONG_STYLE[s][key];
      if (longPrefix) defineIcons(longPrefix, additions[key]);
      build();
    });
  }
  reset() {
    this.definitions = {};
  }
  _pullDefinitions(additions, definition) {
    const normalized = definition.prefix && definition.iconName && definition.icon ? {
      0: definition
    } : definition;
    Object.keys(normalized).map((key) => {
      const {
        prefix,
        iconName,
        icon: icon22
      } = normalized[key];
      const aliases = icon22[2];
      if (!additions[prefix]) additions[prefix] = {};
      if (aliases.length > 0) {
        aliases.forEach((alias) => {
          if (typeof alias === "string") {
            additions[prefix][alias] = icon22;
          }
        });
      }
      additions[prefix][iconName] = icon22;
    });
    return additions;
  }
}
let _plugins = [];
let _hooks = {};
const providers = {};
const defaultProviderKeys = Object.keys(providers);
function registerPlugins(nextPlugins, _ref) {
  let {
    mixoutsTo: obj
  } = _ref;
  _plugins = nextPlugins;
  _hooks = {};
  Object.keys(providers).forEach((k) => {
    if (defaultProviderKeys.indexOf(k) === -1) {
      delete providers[k];
    }
  });
  _plugins.forEach((plugin) => {
    const mixout = plugin.mixout ? plugin.mixout() : {};
    Object.keys(mixout).forEach((tk) => {
      if (typeof mixout[tk] === "function") {
        obj[tk] = mixout[tk];
      }
      if (typeof mixout[tk] === "object") {
        Object.keys(mixout[tk]).forEach((sk) => {
          if (!obj[tk]) {
            obj[tk] = {};
          }
          obj[tk][sk] = mixout[tk][sk];
        });
      }
    });
    if (plugin.hooks) {
      const hooks = plugin.hooks();
      Object.keys(hooks).forEach((hook) => {
        if (!_hooks[hook]) {
          _hooks[hook] = [];
        }
        _hooks[hook].push(hooks[hook]);
      });
    }
    if (plugin.provides) {
      plugin.provides(providers);
    }
  });
  return obj;
}
function chainHooks(hook, accumulator) {
  for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
    args[_key - 2] = arguments[_key];
  }
  const hookFns = _hooks[hook] || [];
  hookFns.forEach((hookFn) => {
    accumulator = hookFn.apply(null, [accumulator, ...args]);
  });
  return accumulator;
}
function callHooks(hook) {
  for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
    args[_key2 - 1] = arguments[_key2];
  }
  const hookFns = _hooks[hook] || [];
  hookFns.forEach((hookFn) => {
    hookFn.apply(null, args);
  });
  return void 0;
}
function callProvided() {
  const hook = arguments[0];
  const args = Array.prototype.slice.call(arguments, 1);
  return providers[hook] ? providers[hook].apply(null, args) : void 0;
}
function findIconDefinition(iconLookup) {
  if (iconLookup.prefix === "fa") {
    iconLookup.prefix = "fas";
  }
  let {
    iconName
  } = iconLookup;
  const prefix = iconLookup.prefix || getDefaultUsablePrefix();
  if (!iconName) return;
  iconName = byAlias(prefix, iconName) || iconName;
  return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);
}
const library = new Library();
const noAuto = () => {
  config.autoReplaceSvg = false;
  config.observeMutations = false;
  callHooks("noAuto");
};
const dom = {
  i2svg: function() {
    let params = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    if (IS_DOM) {
      callHooks("beforeI2svg", params);
      callProvided("pseudoElements2svg", params);
      return callProvided("i2svg", params);
    } else {
      return Promise.reject(new Error("Operation requires a DOM of some kind."));
    }
  },
  watch: function() {
    let params = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const {
      autoReplaceSvgRoot
    } = params;
    if (config.autoReplaceSvg === false) {
      config.autoReplaceSvg = true;
    }
    config.observeMutations = true;
    domready(() => {
      autoReplace({
        autoReplaceSvgRoot
      });
      callHooks("watch", params);
    });
  }
};
const parse = {
  icon: (icon22) => {
    if (icon22 === null) {
      return null;
    }
    if (typeof icon22 === "object" && icon22.prefix && icon22.iconName) {
      return {
        prefix: icon22.prefix,
        iconName: byAlias(icon22.prefix, icon22.iconName) || icon22.iconName
      };
    }
    if (Array.isArray(icon22) && icon22.length === 2) {
      const iconName = icon22[1].indexOf("fa-") === 0 ? icon22[1].slice(3) : icon22[1];
      const prefix = getCanonicalPrefix(icon22[0]);
      return {
        prefix,
        iconName: byAlias(prefix, iconName) || iconName
      };
    }
    if (typeof icon22 === "string" && (icon22.indexOf("".concat(config.cssPrefix, "-")) > -1 || icon22.match(ICON_SELECTION_SYNTAX_PATTERN))) {
      const canonicalIcon = getCanonicalIcon(icon22.split(" "), {
        skipLookups: true
      });
      return {
        prefix: canonicalIcon.prefix || getDefaultUsablePrefix(),
        iconName: byAlias(canonicalIcon.prefix, canonicalIcon.iconName) || canonicalIcon.iconName
      };
    }
    if (typeof icon22 === "string") {
      const prefix = getDefaultUsablePrefix();
      return {
        prefix,
        iconName: byAlias(prefix, icon22) || icon22
      };
    }
  }
};
const api = {
  noAuto,
  config,
  dom,
  parse,
  library,
  findIconDefinition,
  toHtml
};
const autoReplace = function() {
  let params = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
  const {
    autoReplaceSvgRoot = DOCUMENT
  } = params;
  if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({
    node: autoReplaceSvgRoot
  });
};
function domVariants(val, abstractCreator) {
  Object.defineProperty(val, "abstract", {
    get: abstractCreator
  });
  Object.defineProperty(val, "html", {
    get: function() {
      return val.abstract.map((a) => toHtml(a));
    }
  });
  Object.defineProperty(val, "node", {
    get: function() {
      if (!IS_DOM) return;
      const container = DOCUMENT.createElement("div");
      container.innerHTML = val.html;
      return container.children;
    }
  });
  return val;
}
function asIcon(_ref) {
  let {
    children,
    main,
    mask,
    attributes,
    styles: styles2,
    transform
  } = _ref;
  if (transformIsMeaningful(transform) && main.found && !mask.found) {
    const {
      width,
      height
    } = main;
    const offset = {
      x: width / height / 2,
      y: 0.5
    };
    attributes["style"] = joinStyles(_objectSpread2$1(_objectSpread2$1({}, styles2), {}, {
      "transform-origin": "".concat(offset.x + transform.x / 16, "em ").concat(offset.y + transform.y / 16, "em")
    }));
  }
  return [{
    tag: "svg",
    attributes,
    children
  }];
}
function asSymbol(_ref) {
  let {
    prefix,
    iconName,
    children,
    attributes,
    symbol
  } = _ref;
  const id3 = symbol === true ? "".concat(prefix, "-").concat(config.cssPrefix, "-").concat(iconName) : symbol;
  return [{
    tag: "svg",
    attributes: {
      style: "display: none;"
    },
    children: [{
      tag: "symbol",
      attributes: _objectSpread2$1(_objectSpread2$1({}, attributes), {}, {
        id: id3
      }),
      children
    }]
  }];
}
function makeInlineSvgAbstract(params) {
  const {
    icons: {
      main,
      mask
    },
    prefix,
    iconName,
    transform,
    symbol,
    title,
    maskId,
    titleId,
    extra,
    watchable = false
  } = params;
  const {
    width,
    height
  } = mask.found ? mask : main;
  const isUploadedIcon = Lt.includes(prefix);
  const attrClass = [config.replacementClass, iconName ? "".concat(config.cssPrefix, "-").concat(iconName) : ""].filter((c$$1) => extra.classes.indexOf(c$$1) === -1).filter((c$$1) => c$$1 !== "" || !!c$$1).concat(extra.classes).join(" ");
  let content2 = {
    children: [],
    attributes: _objectSpread2$1(_objectSpread2$1({}, extra.attributes), {}, {
      "data-prefix": prefix,
      "data-icon": iconName,
      "class": attrClass,
      "role": extra.attributes.role || "img",
      "xmlns": "http://www.w3.org/2000/svg",
      "viewBox": "0 0 ".concat(width, " ").concat(height)
    })
  };
  const uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf("fa-fw") ? {
    width: "".concat(width / height * 16 * 0.0625, "em")
  } : {};
  if (watchable) {
    content2.attributes[DATA_FA_I2SVG] = "";
  }
  if (title) {
    content2.children.push({
      tag: "title",
      attributes: {
        id: content2.attributes["aria-labelledby"] || "title-".concat(titleId || nextUniqueId())
      },
      children: [title]
    });
    delete content2.attributes.title;
  }
  const args = _objectSpread2$1(_objectSpread2$1({}, content2), {}, {
    prefix,
    iconName,
    main,
    mask,
    maskId,
    transform,
    symbol,
    styles: _objectSpread2$1(_objectSpread2$1({}, uploadedIconWidthStyle), extra.styles)
  });
  const {
    children,
    attributes
  } = mask.found && main.found ? callProvided("generateAbstractMask", args) || {
    children: [],
    attributes: {}
  } : callProvided("generateAbstractIcon", args) || {
    children: [],
    attributes: {}
  };
  args.children = children;
  args.attributes = attributes;
  if (symbol) {
    return asSymbol(args);
  } else {
    return asIcon(args);
  }
}
function makeLayersTextAbstract(params) {
  const {
    content: content2,
    width,
    height,
    transform,
    title,
    extra,
    watchable = false
  } = params;
  const attributes = _objectSpread2$1(_objectSpread2$1(_objectSpread2$1({}, extra.attributes), title ? {
    "title": title
  } : {}), {}, {
    "class": extra.classes.join(" ")
  });
  if (watchable) {
    attributes[DATA_FA_I2SVG] = "";
  }
  const styles2 = _objectSpread2$1({}, extra.styles);
  if (transformIsMeaningful(transform)) {
    styles2["transform"] = transformForCss({
      transform,
      startCentered: true,
      width,
      height
    });
    styles2["-webkit-transform"] = styles2["transform"];
  }
  const styleString = joinStyles(styles2);
  if (styleString.length > 0) {
    attributes["style"] = styleString;
  }
  const val = [];
  val.push({
    tag: "span",
    attributes,
    children: [content2]
  });
  if (title) {
    val.push({
      tag: "span",
      attributes: {
        class: "sr-only"
      },
      children: [title]
    });
  }
  return val;
}
function makeLayersCounterAbstract(params) {
  const {
    content: content2,
    title,
    extra
  } = params;
  const attributes = _objectSpread2$1(_objectSpread2$1(_objectSpread2$1({}, extra.attributes), title ? {
    "title": title
  } : {}), {}, {
    "class": extra.classes.join(" ")
  });
  const styleString = joinStyles(extra.styles);
  if (styleString.length > 0) {
    attributes["style"] = styleString;
  }
  const val = [];
  val.push({
    tag: "span",
    attributes,
    children: [content2]
  });
  if (title) {
    val.push({
      tag: "span",
      attributes: {
        class: "sr-only"
      },
      children: [title]
    });
  }
  return val;
}
const {
  styles: styles$1
} = namespace;
function asFoundIcon(icon22) {
  const width = icon22[0];
  const height = icon22[1];
  const [vectorData] = icon22.slice(4);
  let element = null;
  if (Array.isArray(vectorData)) {
    element = {
      tag: "g",
      attributes: {
        class: "".concat(config.cssPrefix, "-").concat(DUOTONE_CLASSES.GROUP)
      },
      children: [{
        tag: "path",
        attributes: {
          class: "".concat(config.cssPrefix, "-").concat(DUOTONE_CLASSES.SECONDARY),
          fill: "currentColor",
          d: vectorData[0]
        }
      }, {
        tag: "path",
        attributes: {
          class: "".concat(config.cssPrefix, "-").concat(DUOTONE_CLASSES.PRIMARY),
          fill: "currentColor",
          d: vectorData[1]
        }
      }]
    };
  } else {
    element = {
      tag: "path",
      attributes: {
        fill: "currentColor",
        d: vectorData
      }
    };
  }
  return {
    found: true,
    width,
    height,
    icon: element
  };
}
const missingIconResolutionMixin = {
  found: false,
  width: 512,
  height: 512
};
function maybeNotifyMissing(iconName, prefix) {
  if (!PRODUCTION$1 && !config.showMissingIcons && iconName) {
    console.error('Icon with name "'.concat(iconName, '" and prefix "').concat(prefix, '" is missing.'));
  }
}
function findIcon(iconName, prefix) {
  let givenPrefix = prefix;
  if (prefix === "fa" && config.styleDefault !== null) {
    prefix = getDefaultUsablePrefix();
  }
  return new Promise((resolve2, reject) => {
    if (givenPrefix === "fa") {
      const shim = byOldName(iconName);
      iconName = shim.iconName || iconName;
      prefix = shim.prefix || prefix;
    }
    if (iconName && prefix && styles$1[prefix] && styles$1[prefix][iconName]) {
      const icon22 = styles$1[prefix][iconName];
      return resolve2(asFoundIcon(icon22));
    }
    maybeNotifyMissing(iconName, prefix);
    resolve2(_objectSpread2$1(_objectSpread2$1({}, missingIconResolutionMixin), {}, {
      icon: config.showMissingIcons && iconName ? callProvided("missingIconAbstract") || {} : {}
    }));
  });
}
const noop$1 = () => {
};
const p$2 = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {
  mark: noop$1,
  measure: noop$1
};
const preamble = 'FA "6.7.2"';
const begin = (name) => {
  p$2.mark("".concat(preamble, " ").concat(name, " begins"));
  return () => end(name);
};
const end = (name) => {
  p$2.mark("".concat(preamble, " ").concat(name, " ends"));
  p$2.measure("".concat(preamble, " ").concat(name), "".concat(preamble, " ").concat(name, " begins"), "".concat(preamble, " ").concat(name, " ends"));
};
var perf = {
  begin,
  end
};
const noop$2 = () => {
};
function isWatched(node) {
  const i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;
  return typeof i2svg === "string";
}
function hasPrefixAndIcon(node) {
  const prefix = node.getAttribute ? node.getAttribute(DATA_PREFIX) : null;
  const icon22 = node.getAttribute ? node.getAttribute(DATA_ICON) : null;
  return prefix && icon22;
}
function hasBeenReplaced(node) {
  return node && node.classList && node.classList.contains && node.classList.contains(config.replacementClass);
}
function getMutator() {
  if (config.autoReplaceSvg === true) {
    return mutators.replace;
  }
  const mutator = mutators[config.autoReplaceSvg];
  return mutator || mutators.replace;
}
function createElementNS(tag) {
  return DOCUMENT.createElementNS("http://www.w3.org/2000/svg", tag);
}
function createElement(tag) {
  return DOCUMENT.createElement(tag);
}
function convertSVG(abstractObj) {
  let params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
  const {
    ceFn = abstractObj.tag === "svg" ? createElementNS : createElement
  } = params;
  if (typeof abstractObj === "string") {
    return DOCUMENT.createTextNode(abstractObj);
  }
  const tag = ceFn(abstractObj.tag);
  Object.keys(abstractObj.attributes || []).forEach(function(key) {
    tag.setAttribute(key, abstractObj.attributes[key]);
  });
  const children = abstractObj.children || [];
  children.forEach(function(child) {
    tag.appendChild(convertSVG(child, {
      ceFn
    }));
  });
  return tag;
}
function nodeAsComment(node) {
  let comment = " ".concat(node.outerHTML, " ");
  comment = "".concat(comment, "Font Awesome fontawesome.com ");
  return comment;
}
const mutators = {
  replace: function(mutation) {
    const node = mutation[0];
    if (node.parentNode) {
      mutation[1].forEach((abstract) => {
        node.parentNode.insertBefore(convertSVG(abstract), node);
      });
      if (node.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) {
        let comment = DOCUMENT.createComment(nodeAsComment(node));
        node.parentNode.replaceChild(comment, node);
      } else {
        node.remove();
      }
    }
  },
  nest: function(mutation) {
    const node = mutation[0];
    const abstract = mutation[1];
    if (~classArray(node).indexOf(config.replacementClass)) {
      return mutators.replace(mutation);
    }
    const forSvg = new RegExp("".concat(config.cssPrefix, "-.*"));
    delete abstract[0].attributes.id;
    if (abstract[0].attributes.class) {
      const splitClasses = abstract[0].attributes.class.split(" ").reduce((acc, cls) => {
        if (cls === config.replacementClass || cls.match(forSvg)) {
          acc.toSvg.push(cls);
        } else {
          acc.toNode.push(cls);
        }
        return acc;
      }, {
        toNode: [],
        toSvg: []
      });
      abstract[0].attributes.class = splitClasses.toSvg.join(" ");
      if (splitClasses.toNode.length === 0) {
        node.removeAttribute("class");
      } else {
        node.setAttribute("class", splitClasses.toNode.join(" "));
      }
    }
    const newInnerHTML = abstract.map((a) => toHtml(a)).join("\n");
    node.setAttribute(DATA_FA_I2SVG, "");
    node.innerHTML = newInnerHTML;
  }
};
function performOperationSync(op) {
  op();
}
function perform(mutations, callback) {
  const callbackFunction = typeof callback === "function" ? callback : noop$2;
  if (mutations.length === 0) {
    callbackFunction();
  } else {
    let frame = performOperationSync;
    if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {
      frame = WINDOW.requestAnimationFrame || performOperationSync;
    }
    frame(() => {
      const mutator = getMutator();
      const mark = perf.begin("mutate");
      mutations.map(mutator);
      mark();
      callbackFunction();
    });
  }
}
let disabled2 = false;
function disableObservation() {
  disabled2 = true;
}
function enableObservation() {
  disabled2 = false;
}
let mo = null;
function observe(options) {
  if (!MUTATION_OBSERVER) {
    return;
  }
  if (!config.observeMutations) {
    return;
  }
  const {
    treeCallback = noop$2,
    nodeCallback = noop$2,
    pseudoElementsCallback = noop$2,
    observeMutationsRoot = DOCUMENT
  } = options;
  mo = new MUTATION_OBSERVER((objects) => {
    if (disabled2) return;
    const defaultPrefix = getDefaultUsablePrefix();
    toArray(objects).forEach((mutationRecord) => {
      if (mutationRecord.type === "childList" && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {
        if (config.searchPseudoElements) {
          pseudoElementsCallback(mutationRecord.target);
        }
        treeCallback(mutationRecord.target);
      }
      if (mutationRecord.type === "attributes" && mutationRecord.target.parentNode && config.searchPseudoElements) {
        pseudoElementsCallback(mutationRecord.target.parentNode);
      }
      if (mutationRecord.type === "attributes" && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {
        if (mutationRecord.attributeName === "class" && hasPrefixAndIcon(mutationRecord.target)) {
          const {
            prefix,
            iconName
          } = getCanonicalIcon(classArray(mutationRecord.target));
          mutationRecord.target.setAttribute(DATA_PREFIX, prefix || defaultPrefix);
          if (iconName) mutationRecord.target.setAttribute(DATA_ICON, iconName);
        } else if (hasBeenReplaced(mutationRecord.target)) {
          nodeCallback(mutationRecord.target);
        }
      }
    });
  });
  if (!IS_DOM) return;
  mo.observe(observeMutationsRoot, {
    childList: true,
    attributes: true,
    characterData: true,
    subtree: true
  });
}
function disconnect() {
  if (!mo) return;
  mo.disconnect();
}
function styleParser(node) {
  const style = node.getAttribute("style");
  let val = [];
  if (style) {
    val = style.split(";").reduce((acc, style2) => {
      const styles2 = style2.split(":");
      const prop = styles2[0];
      const value2 = styles2.slice(1);
      if (prop && value2.length > 0) {
        acc[prop] = value2.join(":").trim();
      }
      return acc;
    }, {});
  }
  return val;
}
function classParser(node) {
  const existingPrefix = node.getAttribute("data-prefix");
  const existingIconName = node.getAttribute("data-icon");
  const innerText = node.innerText !== void 0 ? node.innerText.trim() : "";
  let val = getCanonicalIcon(classArray(node));
  if (!val.prefix) {
    val.prefix = getDefaultUsablePrefix();
  }
  if (existingPrefix && existingIconName) {
    val.prefix = existingPrefix;
    val.iconName = existingIconName;
  }
  if (val.iconName && val.prefix) {
    return val;
  }
  if (val.prefix && innerText.length > 0) {
    val.iconName = byLigature(val.prefix, node.innerText) || byUnicode(val.prefix, toHex(node.innerText));
  }
  if (!val.iconName && config.autoFetchSvg && node.firstChild && node.firstChild.nodeType === Node.TEXT_NODE) {
    val.iconName = node.firstChild.data;
  }
  return val;
}
function attributesParser(node) {
  const extraAttributes = toArray(node.attributes).reduce((acc, attr) => {
    if (acc.name !== "class" && acc.name !== "style") {
      acc[attr.name] = attr.value;
    }
    return acc;
  }, {});
  const title = node.getAttribute("title");
  const titleId = node.getAttribute("data-fa-title-id");
  if (config.autoA11y) {
    if (title) {
      extraAttributes["aria-labelledby"] = "".concat(config.replacementClass, "-title-").concat(titleId || nextUniqueId());
    } else {
      extraAttributes["aria-hidden"] = "true";
      extraAttributes["focusable"] = "false";
    }
  }
  return extraAttributes;
}
function blankMeta() {
  return {
    iconName: null,
    title: null,
    titleId: null,
    prefix: null,
    transform: meaninglessTransform,
    symbol: false,
    mask: {
      iconName: null,
      prefix: null,
      rest: []
    },
    maskId: null,
    extra: {
      classes: [],
      styles: {},
      attributes: {}
    }
  };
}
function parseMeta(node) {
  let parser = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
    styleParser: true
  };
  const {
    iconName,
    prefix,
    rest: extraClasses
  } = classParser(node);
  const extraAttributes = attributesParser(node);
  const pluginMeta = chainHooks("parseNodeAttributes", {}, node);
  let extraStyles = parser.styleParser ? styleParser(node) : [];
  return _objectSpread2$1({
    iconName,
    title: node.getAttribute("title"),
    titleId: node.getAttribute("data-fa-title-id"),
    prefix,
    transform: meaninglessTransform,
    mask: {
      iconName: null,
      prefix: null,
      rest: []
    },
    maskId: null,
    symbol: false,
    extra: {
      classes: extraClasses,
      styles: extraStyles,
      attributes: extraAttributes
    }
  }, pluginMeta);
}
const {
  styles: styles$2
} = namespace;
function generateMutation(node) {
  const nodeMeta = config.autoReplaceSvg === "nest" ? parseMeta(node, {
    styleParser: false
  }) : parseMeta(node);
  if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {
    return callProvided("generateLayersText", node, nodeMeta);
  } else {
    return callProvided("generateSvgReplacementMutation", node, nodeMeta);
  }
}
function getKnownPrefixes() {
  return [...Ft, ...Ia];
}
function onTree(root7) {
  let callback = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
  if (!IS_DOM) return Promise.resolve();
  const htmlClassList = DOCUMENT.documentElement.classList;
  const hclAdd = (suffix) => htmlClassList.add("".concat(HTML_CLASS_I2SVG_BASE_CLASS, "-").concat(suffix));
  const hclRemove = (suffix) => htmlClassList.remove("".concat(HTML_CLASS_I2SVG_BASE_CLASS, "-").concat(suffix));
  const prefixes2 = config.autoFetchSvg ? getKnownPrefixes() : P.concat(Object.keys(styles$2));
  if (!prefixes2.includes("fa")) {
    prefixes2.push("fa");
  }
  const prefixesDomQuery = [".".concat(LAYERS_TEXT_CLASSNAME, ":not([").concat(DATA_FA_I2SVG, "])")].concat(prefixes2.map((p$$1) => ".".concat(p$$1, ":not([").concat(DATA_FA_I2SVG, "])"))).join(", ");
  if (prefixesDomQuery.length === 0) {
    return Promise.resolve();
  }
  let candidates = [];
  try {
    candidates = toArray(root7.querySelectorAll(prefixesDomQuery));
  } catch (e$$1) {
  }
  if (candidates.length > 0) {
    hclAdd("pending");
    hclRemove("complete");
  } else {
    return Promise.resolve();
  }
  const mark = perf.begin("onTree");
  const mutations = candidates.reduce((acc, node) => {
    try {
      const mutation = generateMutation(node);
      if (mutation) {
        acc.push(mutation);
      }
    } catch (e$$1) {
      if (!PRODUCTION$1) {
        if (e$$1.name === "MissingIcon") {
          console.error(e$$1);
        }
      }
    }
    return acc;
  }, []);
  return new Promise((resolve2, reject) => {
    Promise.all(mutations).then((resolvedMutations) => {
      perform(resolvedMutations, () => {
        hclAdd("active");
        hclAdd("complete");
        hclRemove("pending");
        if (typeof callback === "function") callback();
        mark();
        resolve2();
      });
    }).catch((e$$1) => {
      mark();
      reject(e$$1);
    });
  });
}
function onNode(node) {
  let callback = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
  generateMutation(node).then((mutation) => {
    if (mutation) {
      perform([mutation], callback);
    }
  });
}
function resolveIcons(next) {
  return function(maybeIconDefinition) {
    let params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    const iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});
    let {
      mask
    } = params;
    if (mask) {
      mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});
    }
    return next(iconDefinition, _objectSpread2$1(_objectSpread2$1({}, params), {}, {
      mask
    }));
  };
}
const render = function(iconDefinition) {
  let params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
  const {
    transform = meaninglessTransform,
    symbol = false,
    mask = null,
    maskId = null,
    title = null,
    titleId = null,
    classes: classes2 = [],
    attributes = {},
    styles: styles2 = {}
  } = params;
  if (!iconDefinition) return;
  const {
    prefix,
    iconName,
    icon: icon22
  } = iconDefinition;
  return domVariants(_objectSpread2$1({
    type: "icon"
  }, iconDefinition), () => {
    callHooks("beforeDOMElementCreation", {
      iconDefinition,
      params
    });
    if (config.autoA11y) {
      if (title) {
        attributes["aria-labelledby"] = "".concat(config.replacementClass, "-title-").concat(titleId || nextUniqueId());
      } else {
        attributes["aria-hidden"] = "true";
        attributes["focusable"] = "false";
      }
    }
    return makeInlineSvgAbstract({
      icons: {
        main: asFoundIcon(icon22),
        mask: mask ? asFoundIcon(mask.icon) : {
          found: false,
          width: null,
          height: null,
          icon: {}
        }
      },
      prefix,
      iconName,
      transform: _objectSpread2$1(_objectSpread2$1({}, meaninglessTransform), transform),
      symbol,
      title,
      maskId,
      titleId,
      extra: {
        attributes,
        styles: styles2,
        classes: classes2
      }
    });
  });
};
var ReplaceElements = {
  mixout() {
    return {
      icon: resolveIcons(render)
    };
  },
  hooks() {
    return {
      mutationObserverCallbacks(accumulator) {
        accumulator.treeCallback = onTree;
        accumulator.nodeCallback = onNode;
        return accumulator;
      }
    };
  },
  provides(providers$$1) {
    providers$$1.i2svg = function(params) {
      const {
        node = DOCUMENT,
        callback = () => {
        }
      } = params;
      return onTree(node, callback);
    };
    providers$$1.generateSvgReplacementMutation = function(node, nodeMeta) {
      const {
        iconName,
        title,
        titleId,
        prefix,
        transform,
        symbol,
        mask,
        maskId,
        extra
      } = nodeMeta;
      return new Promise((resolve2, reject) => {
        Promise.all([findIcon(iconName, prefix), mask.iconName ? findIcon(mask.iconName, mask.prefix) : Promise.resolve({
          found: false,
          width: 512,
          height: 512,
          icon: {}
        })]).then((_ref) => {
          let [main, mask2] = _ref;
          resolve2([node, makeInlineSvgAbstract({
            icons: {
              main,
              mask: mask2
            },
            prefix,
            iconName,
            transform,
            symbol,
            maskId,
            title,
            titleId,
            extra,
            watchable: true
          })]);
        }).catch(reject);
      });
    };
    providers$$1.generateAbstractIcon = function(_ref2) {
      let {
        children,
        attributes,
        main,
        transform,
        styles: styles2
      } = _ref2;
      const styleString = joinStyles(styles2);
      if (styleString.length > 0) {
        attributes["style"] = styleString;
      }
      let nextChild;
      if (transformIsMeaningful(transform)) {
        nextChild = callProvided("generateAbstractTransformGrouping", {
          main,
          transform,
          containerWidth: main.width,
          iconWidth: main.width
        });
      }
      children.push(nextChild || main.icon);
      return {
        children,
        attributes
      };
    };
  }
};
var Layers = {
  mixout() {
    return {
      layer(assembler) {
        let params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
        const {
          classes: classes2 = []
        } = params;
        return domVariants({
          type: "layer"
        }, () => {
          callHooks("beforeDOMElementCreation", {
            assembler,
            params
          });
          let children = [];
          assembler((args) => {
            Array.isArray(args) ? args.map((a) => {
              children = children.concat(a.abstract);
            }) : children = children.concat(args.abstract);
          });
          return [{
            tag: "span",
            attributes: {
              class: ["".concat(config.cssPrefix, "-layers"), ...classes2].join(" ")
            },
            children
          }];
        });
      }
    };
  }
};
var LayersCounter = {
  mixout() {
    return {
      counter(content2) {
        let params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
        const {
          title = null,
          classes: classes2 = [],
          attributes = {},
          styles: styles2 = {}
        } = params;
        return domVariants({
          type: "counter",
          content: content2
        }, () => {
          callHooks("beforeDOMElementCreation", {
            content: content2,
            params
          });
          return makeLayersCounterAbstract({
            content: content2.toString(),
            title,
            extra: {
              attributes,
              styles: styles2,
              classes: ["".concat(config.cssPrefix, "-layers-counter"), ...classes2]
            }
          });
        });
      }
    };
  }
};
var LayersText = {
  mixout() {
    return {
      text(content2) {
        let params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
        const {
          transform = meaninglessTransform,
          title = null,
          classes: classes2 = [],
          attributes = {},
          styles: styles2 = {}
        } = params;
        return domVariants({
          type: "text",
          content: content2
        }, () => {
          callHooks("beforeDOMElementCreation", {
            content: content2,
            params
          });
          return makeLayersTextAbstract({
            content: content2,
            transform: _objectSpread2$1(_objectSpread2$1({}, meaninglessTransform), transform),
            title,
            extra: {
              attributes,
              styles: styles2,
              classes: ["".concat(config.cssPrefix, "-layers-text"), ...classes2]
            }
          });
        });
      }
    };
  },
  provides(providers$$1) {
    providers$$1.generateLayersText = function(node, nodeMeta) {
      const {
        title,
        transform,
        extra
      } = nodeMeta;
      let width = null;
      let height = null;
      if (IS_IE) {
        const computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);
        const boundingClientRect = node.getBoundingClientRect();
        width = boundingClientRect.width / computedFontSize;
        height = boundingClientRect.height / computedFontSize;
      }
      if (config.autoA11y && !title) {
        extra.attributes["aria-hidden"] = "true";
      }
      return Promise.resolve([node, makeLayersTextAbstract({
        content: node.innerHTML,
        width,
        height,
        transform,
        title,
        extra,
        watchable: true
      })]);
    };
  }
};
const CLEAN_CONTENT_PATTERN = new RegExp('"', "ug");
const SECONDARY_UNICODE_RANGE = [1105920, 1112319];
const _FONT_FAMILY_WEIGHT_TO_PREFIX = _objectSpread2$1(_objectSpread2$1(_objectSpread2$1(_objectSpread2$1({}, {
  FontAwesome: {
    normal: "fas",
    400: "fas"
  }
}), lt), wa), Yt);
const FONT_FAMILY_WEIGHT_TO_PREFIX = Object.keys(_FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, key) => {
  acc[key.toLowerCase()] = _FONT_FAMILY_WEIGHT_TO_PREFIX[key];
  return acc;
}, {});
const FONT_FAMILY_WEIGHT_FALLBACK = Object.keys(FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, fontFamily) => {
  const weights = FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamily];
  acc[fontFamily] = weights[900] || [...Object.entries(weights)][0][1];
  return acc;
}, {});
function hexValueFromContent(content2) {
  const cleaned = content2.replace(CLEAN_CONTENT_PATTERN, "");
  const codePoint = codePointAt(cleaned, 0);
  const isPrependTen = codePoint >= SECONDARY_UNICODE_RANGE[0] && codePoint <= SECONDARY_UNICODE_RANGE[1];
  const isDoubled = cleaned.length === 2 ? cleaned[0] === cleaned[1] : false;
  return {
    value: isDoubled ? toHex(cleaned[0]) : toHex(cleaned),
    isSecondary: isPrependTen || isDoubled
  };
}
function getPrefix(fontFamily, fontWeight) {
  const fontFamilySanitized = fontFamily.replace(/^['"]|['"]$/g, "").toLowerCase();
  const fontWeightInteger = parseInt(fontWeight);
  const fontWeightSanitized = isNaN(fontWeightInteger) ? "normal" : fontWeightInteger;
  return (FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamilySanitized] || {})[fontWeightSanitized] || FONT_FAMILY_WEIGHT_FALLBACK[fontFamilySanitized];
}
function replaceForPosition(node, position) {
  const pendingAttribute = "".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(":", "-"));
  return new Promise((resolve2, reject) => {
    if (node.getAttribute(pendingAttribute) !== null) {
      return resolve2();
    }
    const children = toArray(node.children);
    const alreadyProcessedPseudoElement = children.filter((c$$1) => c$$1.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position)[0];
    const styles2 = WINDOW.getComputedStyle(node, position);
    const fontFamily = styles2.getPropertyValue("font-family");
    const fontFamilyMatch = fontFamily.match(FONT_FAMILY_PATTERN);
    const fontWeight = styles2.getPropertyValue("font-weight");
    const content2 = styles2.getPropertyValue("content");
    if (alreadyProcessedPseudoElement && !fontFamilyMatch) {
      node.removeChild(alreadyProcessedPseudoElement);
      return resolve2();
    } else if (fontFamilyMatch && content2 !== "none" && content2 !== "") {
      const content22 = styles2.getPropertyValue("content");
      let prefix = getPrefix(fontFamily, fontWeight);
      const {
        value: hexValue,
        isSecondary
      } = hexValueFromContent(content22);
      const isV4 = fontFamilyMatch[0].startsWith("FontAwesome");
      let iconName = byUnicode(prefix, hexValue);
      let iconIdentifier = iconName;
      if (isV4) {
        const iconName4 = byOldUnicode(hexValue);
        if (iconName4.iconName && iconName4.prefix) {
          iconName = iconName4.iconName;
          prefix = iconName4.prefix;
        }
      }
      if (iconName && !isSecondary && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {
        node.setAttribute(pendingAttribute, iconIdentifier);
        if (alreadyProcessedPseudoElement) {
          node.removeChild(alreadyProcessedPseudoElement);
        }
        const meta = blankMeta();
        const {
          extra
        } = meta;
        extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;
        findIcon(iconName, prefix).then((main) => {
          const abstract = makeInlineSvgAbstract(_objectSpread2$1(_objectSpread2$1({}, meta), {}, {
            icons: {
              main,
              mask: emptyCanonicalIcon()
            },
            prefix,
            iconName: iconIdentifier,
            extra,
            watchable: true
          }));
          const element = DOCUMENT.createElementNS("http://www.w3.org/2000/svg", "svg");
          if (position === "::before") {
            node.insertBefore(element, node.firstChild);
          } else {
            node.appendChild(element);
          }
          element.outerHTML = abstract.map((a$$1) => toHtml(a$$1)).join("\n");
          node.removeAttribute(pendingAttribute);
          resolve2();
        }).catch(reject);
      } else {
        resolve2();
      }
    } else {
      resolve2();
    }
  });
}
function replace(node) {
  return Promise.all([replaceForPosition(node, "::before"), replaceForPosition(node, "::after")]);
}
function processable(node) {
  return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== "svg");
}
function searchPseudoElements(root7) {
  if (!IS_DOM) return;
  return new Promise((resolve2, reject) => {
    const operations = toArray(root7.querySelectorAll("*")).filter(processable).map(replace);
    const end2 = perf.begin("searchPseudoElements");
    disableObservation();
    Promise.all(operations).then(() => {
      end2();
      enableObservation();
      resolve2();
    }).catch(() => {
      end2();
      enableObservation();
      reject();
    });
  });
}
var PseudoElements = {
  hooks() {
    return {
      mutationObserverCallbacks(accumulator) {
        accumulator.pseudoElementsCallback = searchPseudoElements;
        return accumulator;
      }
    };
  },
  provides(providers2) {
    providers2.pseudoElements2svg = function(params) {
      const {
        node = DOCUMENT
      } = params;
      if (config.searchPseudoElements) {
        searchPseudoElements(node);
      }
    };
  }
};
let _unwatched = false;
var MutationObserver$1 = {
  mixout() {
    return {
      dom: {
        unwatch() {
          disableObservation();
          _unwatched = true;
        }
      }
    };
  },
  hooks() {
    return {
      bootstrap() {
        observe(chainHooks("mutationObserverCallbacks", {}));
      },
      noAuto() {
        disconnect();
      },
      watch(params) {
        const {
          observeMutationsRoot
        } = params;
        if (_unwatched) {
          enableObservation();
        } else {
          observe(chainHooks("mutationObserverCallbacks", {
            observeMutationsRoot
          }));
        }
      }
    };
  }
};
const parseTransformString = (transformString) => {
  let transform = {
    size: 16,
    x: 0,
    y: 0,
    flipX: false,
    flipY: false,
    rotate: 0
  };
  return transformString.toLowerCase().split(" ").reduce((acc, n) => {
    const parts = n.toLowerCase().split("-");
    const first = parts[0];
    let rest = parts.slice(1).join("-");
    if (first && rest === "h") {
      acc.flipX = true;
      return acc;
    }
    if (first && rest === "v") {
      acc.flipY = true;
      return acc;
    }
    rest = parseFloat(rest);
    if (isNaN(rest)) {
      return acc;
    }
    switch (first) {
      case "grow":
        acc.size = acc.size + rest;
        break;
      case "shrink":
        acc.size = acc.size - rest;
        break;
      case "left":
        acc.x = acc.x - rest;
        break;
      case "right":
        acc.x = acc.x + rest;
        break;
      case "up":
        acc.y = acc.y - rest;
        break;
      case "down":
        acc.y = acc.y + rest;
        break;
      case "rotate":
        acc.rotate = acc.rotate + rest;
        break;
    }
    return acc;
  }, transform);
};
var PowerTransforms = {
  mixout() {
    return {
      parse: {
        transform: (transformString) => {
          return parseTransformString(transformString);
        }
      }
    };
  },
  hooks() {
    return {
      parseNodeAttributes(accumulator, node) {
        const transformString = node.getAttribute("data-fa-transform");
        if (transformString) {
          accumulator.transform = parseTransformString(transformString);
        }
        return accumulator;
      }
    };
  },
  provides(providers2) {
    providers2.generateAbstractTransformGrouping = function(_ref) {
      let {
        main,
        transform,
        containerWidth,
        iconWidth
      } = _ref;
      const outer = {
        transform: "translate(".concat(containerWidth / 2, " 256)")
      };
      const innerTranslate = "translate(".concat(transform.x * 32, ", ").concat(transform.y * 32, ") ");
      const innerScale = "scale(".concat(transform.size / 16 * (transform.flipX ? -1 : 1), ", ").concat(transform.size / 16 * (transform.flipY ? -1 : 1), ") ");
      const innerRotate = "rotate(".concat(transform.rotate, " 0 0)");
      const inner = {
        transform: "".concat(innerTranslate, " ").concat(innerScale, " ").concat(innerRotate)
      };
      const path = {
        transform: "translate(".concat(iconWidth / 2 * -1, " -256)")
      };
      const operations = {
        outer,
        inner,
        path
      };
      return {
        tag: "g",
        attributes: _objectSpread2$1({}, operations.outer),
        children: [{
          tag: "g",
          attributes: _objectSpread2$1({}, operations.inner),
          children: [{
            tag: main.icon.tag,
            children: main.icon.children,
            attributes: _objectSpread2$1(_objectSpread2$1({}, main.icon.attributes), operations.path)
          }]
        }]
      };
    };
  }
};
const ALL_SPACE = {
  x: 0,
  y: 0,
  width: "100%",
  height: "100%"
};
function fillBlack(abstract) {
  let force = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
  if (abstract.attributes && (abstract.attributes.fill || force)) {
    abstract.attributes.fill = "black";
  }
  return abstract;
}
function deGroup(abstract) {
  if (abstract.tag === "g") {
    return abstract.children;
  } else {
    return [abstract];
  }
}
var Masks = {
  hooks() {
    return {
      parseNodeAttributes(accumulator, node) {
        const maskData = node.getAttribute("data-fa-mask");
        const mask = !maskData ? emptyCanonicalIcon() : getCanonicalIcon(maskData.split(" ").map((i) => i.trim()));
        if (!mask.prefix) {
          mask.prefix = getDefaultUsablePrefix();
        }
        accumulator.mask = mask;
        accumulator.maskId = node.getAttribute("data-fa-mask-id");
        return accumulator;
      }
    };
  },
  provides(providers2) {
    providers2.generateAbstractMask = function(_ref) {
      let {
        children,
        attributes,
        main,
        mask,
        maskId: explicitMaskId,
        transform
      } = _ref;
      const {
        width: mainWidth,
        icon: mainPath
      } = main;
      const {
        width: maskWidth,
        icon: maskPath
      } = mask;
      const trans = transformForSvg({
        transform,
        containerWidth: maskWidth,
        iconWidth: mainWidth
      });
      const maskRect = {
        tag: "rect",
        attributes: _objectSpread2$1(_objectSpread2$1({}, ALL_SPACE), {}, {
          fill: "white"
        })
      };
      const maskInnerGroupChildrenMixin = mainPath.children ? {
        children: mainPath.children.map(fillBlack)
      } : {};
      const maskInnerGroup = {
        tag: "g",
        attributes: _objectSpread2$1({}, trans.inner),
        children: [fillBlack(_objectSpread2$1({
          tag: mainPath.tag,
          attributes: _objectSpread2$1(_objectSpread2$1({}, mainPath.attributes), trans.path)
        }, maskInnerGroupChildrenMixin))]
      };
      const maskOuterGroup = {
        tag: "g",
        attributes: _objectSpread2$1({}, trans.outer),
        children: [maskInnerGroup]
      };
      const maskId = "mask-".concat(explicitMaskId || nextUniqueId());
      const clipId = "clip-".concat(explicitMaskId || nextUniqueId());
      const maskTag = {
        tag: "mask",
        attributes: _objectSpread2$1(_objectSpread2$1({}, ALL_SPACE), {}, {
          id: maskId,
          maskUnits: "userSpaceOnUse",
          maskContentUnits: "userSpaceOnUse"
        }),
        children: [maskRect, maskOuterGroup]
      };
      const defs = {
        tag: "defs",
        children: [{
          tag: "clipPath",
          attributes: {
            id: clipId
          },
          children: deGroup(maskPath)
        }, maskTag]
      };
      children.push(defs, {
        tag: "rect",
        attributes: _objectSpread2$1({
          fill: "currentColor",
          "clip-path": "url(#".concat(clipId, ")"),
          mask: "url(#".concat(maskId, ")")
        }, ALL_SPACE)
      });
      return {
        children,
        attributes
      };
    };
  }
};
var MissingIconIndicator = {
  provides(providers2) {
    let reduceMotion = false;
    if (WINDOW.matchMedia) {
      reduceMotion = WINDOW.matchMedia("(prefers-reduced-motion: reduce)").matches;
    }
    providers2.missingIconAbstract = function() {
      const gChildren = [];
      const FILL = {
        fill: "currentColor"
      };
      const ANIMATION_BASE = {
        attributeType: "XML",
        repeatCount: "indefinite",
        dur: "2s"
      };
      gChildren.push({
        tag: "path",
        attributes: _objectSpread2$1(_objectSpread2$1({}, FILL), {}, {
          d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
        })
      });
      const OPACITY_ANIMATE = _objectSpread2$1(_objectSpread2$1({}, ANIMATION_BASE), {}, {
        attributeName: "opacity"
      });
      const dot = {
        tag: "circle",
        attributes: _objectSpread2$1(_objectSpread2$1({}, FILL), {}, {
          cx: "256",
          cy: "364",
          r: "28"
        }),
        children: []
      };
      if (!reduceMotion) {
        dot.children.push({
          tag: "animate",
          attributes: _objectSpread2$1(_objectSpread2$1({}, ANIMATION_BASE), {}, {
            attributeName: "r",
            values: "28;14;28;28;14;28;"
          })
        }, {
          tag: "animate",
          attributes: _objectSpread2$1(_objectSpread2$1({}, OPACITY_ANIMATE), {}, {
            values: "1;0;1;1;0;1;"
          })
        });
      }
      gChildren.push(dot);
      gChildren.push({
        tag: "path",
        attributes: _objectSpread2$1(_objectSpread2$1({}, FILL), {}, {
          opacity: "1",
          d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"
        }),
        children: reduceMotion ? [] : [{
          tag: "animate",
          attributes: _objectSpread2$1(_objectSpread2$1({}, OPACITY_ANIMATE), {}, {
            values: "1;0;0;0;0;1;"
          })
        }]
      });
      if (!reduceMotion) {
        gChildren.push({
          tag: "path",
          attributes: _objectSpread2$1(_objectSpread2$1({}, FILL), {}, {
            opacity: "0",
            d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"
          }),
          children: [{
            tag: "animate",
            attributes: _objectSpread2$1(_objectSpread2$1({}, OPACITY_ANIMATE), {}, {
              values: "0;0;1;1;0;0;"
            })
          }]
        });
      }
      return {
        tag: "g",
        attributes: {
          "class": "missing"
        },
        children: gChildren
      };
    };
  }
};
var SvgSymbols = {
  hooks() {
    return {
      parseNodeAttributes(accumulator, node) {
        const symbolData = node.getAttribute("data-fa-symbol");
        const symbol = symbolData === null ? false : symbolData === "" ? true : symbolData;
        accumulator["symbol"] = symbol;
        return accumulator;
      }
    };
  }
};
var plugins = [InjectCSS, ReplaceElements, Layers, LayersCounter, LayersText, PseudoElements, MutationObserver$1, PowerTransforms, Masks, MissingIconIndicator, SvgSymbols];
registerPlugins(plugins, {
  mixoutsTo: api
});
api.noAuto;
api.config;
api.library;
api.dom;
const parse$1 = api.parse;
api.findIconDefinition;
api.toHtml;
const icon2 = api.icon;
api.layer;
api.text;
api.counter;
function ownKeys(e, r2) {
  var t2 = Object.keys(e);
  if (Object.getOwnPropertySymbols) {
    var o2 = Object.getOwnPropertySymbols(e);
    r2 && (o2 = o2.filter(function(r22) {
      return Object.getOwnPropertyDescriptor(e, r22).enumerable;
    })), t2.push.apply(t2, o2);
  }
  return t2;
}
function _objectSpread2(e) {
  for (var r2 = 1; r2 < arguments.length; r2++) {
    var t2 = null != arguments[r2] ? arguments[r2] : {};
    r2 % 2 ? ownKeys(Object(t2), true).forEach(function(r22) {
      _defineProperty(e, r22, t2[r22]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys(Object(t2)).forEach(function(r22) {
      Object.defineProperty(e, r22, Object.getOwnPropertyDescriptor(t2, r22));
    });
  }
  return e;
}
function _toPrimitive(t2, r2) {
  if ("object" != typeof t2 || !t2) return t2;
  var e = t2[Symbol.toPrimitive];
  if (void 0 !== e) {
    var i = e.call(t2, r2 || "default");
    if ("object" != typeof i) return i;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return ("string" === r2 ? String : Number)(t2);
}
function _toPropertyKey(t2) {
  var i = _toPrimitive(t2, "string");
  return "symbol" == typeof i ? i : i + "";
}
function _typeof(o2) {
  "@babel/helpers - typeof";
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o22) {
    return typeof o22;
  } : function(o22) {
    return o22 && "function" == typeof Symbol && o22.constructor === Symbol && o22 !== Symbol.prototype ? "symbol" : typeof o22;
  }, _typeof(o2);
}
function _defineProperty(obj, key, value2) {
  key = _toPropertyKey(key);
  if (key in obj) {
    Object.defineProperty(obj, key, {
      value: value2,
      enumerable: true,
      configurable: true,
      writable: true
    });
  } else {
    obj[key] = value2;
  }
  return obj;
}
function _objectWithoutPropertiesLoose(source, excluded) {
  if (source == null) return {};
  var target = {};
  for (var key in source) {
    if (Object.prototype.hasOwnProperty.call(source, key)) {
      if (excluded.indexOf(key) >= 0) continue;
      target[key] = source[key];
    }
  }
  return target;
}
function _objectWithoutProperties(source, excluded) {
  if (source == null) return {};
  var target = _objectWithoutPropertiesLoose(source, excluded);
  var key, i;
  if (Object.getOwnPropertySymbols) {
    var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
    for (i = 0; i < sourceSymbolKeys.length; i++) {
      key = sourceSymbolKeys[i];
      if (excluded.indexOf(key) >= 0) continue;
      if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
      target[key] = source[key];
    }
  }
  return target;
}
var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
var humps$1 = { exports: {} };
(function(module) {
  (function(global2) {
    var _processKeys = function(convert2, obj, options) {
      if (!_isObject(obj) || _isDate(obj) || _isRegExp(obj) || _isBoolean(obj) || _isFunction(obj)) {
        return obj;
      }
      var output, i = 0, l = 0;
      if (_isArray(obj)) {
        output = [];
        for (l = obj.length; i < l; i++) {
          output.push(_processKeys(convert2, obj[i], options));
        }
      } else {
        output = {};
        for (var key in obj) {
          if (Object.prototype.hasOwnProperty.call(obj, key)) {
            output[convert2(key, options)] = _processKeys(convert2, obj[key], options);
          }
        }
      }
      return output;
    };
    var separateWords = function(string, options) {
      options = options || {};
      var separator = options.separator || "_";
      var split = options.split || /(?=[A-Z])/;
      return string.split(split).join(separator);
    };
    var camelize2 = function(string) {
      if (_isNumerical(string)) {
        return string;
      }
      string = string.replace(/[\-_\s]+(.)?/g, function(match2, chr) {
        return chr ? chr.toUpperCase() : "";
      });
      return string.substr(0, 1).toLowerCase() + string.substr(1);
    };
    var pascalize = function(string) {
      var camelized = camelize2(string);
      return camelized.substr(0, 1).toUpperCase() + camelized.substr(1);
    };
    var decamelize = function(string, options) {
      return separateWords(string, options).toLowerCase();
    };
    var toString3 = Object.prototype.toString;
    var _isFunction = function(obj) {
      return typeof obj === "function";
    };
    var _isObject = function(obj) {
      return obj === Object(obj);
    };
    var _isArray = function(obj) {
      return toString3.call(obj) == "[object Array]";
    };
    var _isDate = function(obj) {
      return toString3.call(obj) == "[object Date]";
    };
    var _isRegExp = function(obj) {
      return toString3.call(obj) == "[object RegExp]";
    };
    var _isBoolean = function(obj) {
      return toString3.call(obj) == "[object Boolean]";
    };
    var _isNumerical = function(obj) {
      obj = obj - 0;
      return obj === obj;
    };
    var _processor = function(convert2, options) {
      var callback = options && "process" in options ? options.process : options;
      if (typeof callback !== "function") {
        return convert2;
      }
      return function(string, options2) {
        return callback(string, convert2, options2);
      };
    };
    var humps2 = {
      camelize: camelize2,
      decamelize,
      pascalize,
      depascalize: decamelize,
      camelizeKeys: function(object, options) {
        return _processKeys(_processor(camelize2, options), object);
      },
      decamelizeKeys: function(object, options) {
        return _processKeys(_processor(decamelize, options), object, options);
      },
      pascalizeKeys: function(object, options) {
        return _processKeys(_processor(pascalize, options), object);
      },
      depascalizeKeys: function() {
        return this.decamelizeKeys.apply(this, arguments);
      }
    };
    if (module.exports) {
      module.exports = humps2;
    } else {
      global2.humps = humps2;
    }
  })(commonjsGlobal);
})(humps$1);
var humps = humps$1.exports;
var _excluded = ["class", "style"];
function styleToObject(style) {
  return style.split(";").map(function(s2) {
    return s2.trim();
  }).filter(function(s2) {
    return s2;
  }).reduce(function(output, pair) {
    var idx = pair.indexOf(":");
    var prop = humps.camelize(pair.slice(0, idx));
    var value2 = pair.slice(idx + 1).trim();
    output[prop] = value2;
    return output;
  }, {});
}
function classToObject(classes2) {
  return classes2.split(/\s+/).reduce(function(output, className) {
    output[className] = true;
    return output;
  }, {});
}
function convert(abstractElement) {
  var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
  var attrs4 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
  if (typeof abstractElement === "string") {
    return abstractElement;
  }
  var children = (abstractElement.children || []).map(function(child) {
    return convert(child);
  });
  var mixins = Object.keys(abstractElement.attributes || {}).reduce(function(mixins2, key) {
    var value2 = abstractElement.attributes[key];
    switch (key) {
      case "class":
        mixins2.class = classToObject(value2);
        break;
      case "style":
        mixins2.style = styleToObject(value2);
        break;
      default:
        mixins2.attrs[key] = value2;
    }
    return mixins2;
  }, {
    attrs: {},
    class: {},
    style: {}
  });
  attrs4.class;
  var _attrs$style = attrs4.style, aStyle = _attrs$style === void 0 ? {} : _attrs$style, otherAttrs = _objectWithoutProperties(attrs4, _excluded);
  return h(abstractElement.tag, _objectSpread2(_objectSpread2(_objectSpread2({}, props), {}, {
    class: mixins.class,
    style: _objectSpread2(_objectSpread2({}, mixins.style), aStyle)
  }, mixins.attrs), otherAttrs), children);
}
var PRODUCTION = false;
try {
  PRODUCTION = true;
} catch (e) {
}
function log() {
  if (!PRODUCTION && console && typeof console.error === "function") {
    var _console;
    (_console = console).error.apply(_console, arguments);
  }
}
function objectWithKey(key, value2) {
  return Array.isArray(value2) && value2.length > 0 || !Array.isArray(value2) && value2 ? _defineProperty({}, key, value2) : {};
}
function classList(props) {
  var _classes;
  var classes2 = (_classes = {
    "fa-spin": props.spin,
    "fa-pulse": props.pulse,
    "fa-fw": props.fixedWidth,
    "fa-border": props.border,
    "fa-li": props.listItem,
    "fa-inverse": props.inverse,
    "fa-flip": props.flip === true,
    "fa-flip-horizontal": props.flip === "horizontal" || props.flip === "both",
    "fa-flip-vertical": props.flip === "vertical" || props.flip === "both"
  }, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_classes, "fa-".concat(props.size), props.size !== null), "fa-rotate-".concat(props.rotation), props.rotation !== null), "fa-pull-".concat(props.pull), props.pull !== null), "fa-swap-opacity", props.swapOpacity), "fa-bounce", props.bounce), "fa-shake", props.shake), "fa-beat", props.beat), "fa-fade", props.fade), "fa-beat-fade", props.beatFade), "fa-flash", props.flash), _defineProperty(_defineProperty(_classes, "fa-spin-pulse", props.spinPulse), "fa-spin-reverse", props.spinReverse));
  return Object.keys(classes2).map(function(key) {
    return classes2[key] ? key : null;
  }).filter(function(key) {
    return key;
  });
}
function normalizeIconArgs(icon22) {
  if (icon22 && _typeof(icon22) === "object" && icon22.prefix && icon22.iconName && icon22.icon) {
    return icon22;
  }
  if (parse$1.icon) {
    return parse$1.icon(icon22);
  }
  if (icon22 === null) {
    return null;
  }
  if (_typeof(icon22) === "object" && icon22.prefix && icon22.iconName) {
    return icon22;
  }
  if (Array.isArray(icon22) && icon22.length === 2) {
    return {
      prefix: icon22[0],
      iconName: icon22[1]
    };
  }
  if (typeof icon22 === "string") {
    return {
      prefix: "fas",
      iconName: icon22
    };
  }
}
var FontAwesomeIcon = /* @__PURE__ */ defineComponent({
  name: "FontAwesomeIcon",
  props: {
    border: {
      type: Boolean,
      default: false
    },
    fixedWidth: {
      type: Boolean,
      default: false
    },
    flip: {
      type: [Boolean, String],
      default: false,
      validator: function validator2(value2) {
        return [true, false, "horizontal", "vertical", "both"].indexOf(value2) > -1;
      }
    },
    icon: {
      type: [Object, Array, String],
      required: true
    },
    mask: {
      type: [Object, Array, String],
      default: null
    },
    maskId: {
      type: String,
      default: null
    },
    listItem: {
      type: Boolean,
      default: false
    },
    pull: {
      type: String,
      default: null,
      validator: function validator22(value2) {
        return ["right", "left"].indexOf(value2) > -1;
      }
    },
    pulse: {
      type: Boolean,
      default: false
    },
    rotation: {
      type: [String, Number],
      default: null,
      validator: function validator3(value2) {
        return [90, 180, 270].indexOf(Number.parseInt(value2, 10)) > -1;
      }
    },
    swapOpacity: {
      type: Boolean,
      default: false
    },
    size: {
      type: String,
      default: null,
      validator: function validator4(value2) {
        return ["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"].indexOf(value2) > -1;
      }
    },
    spin: {
      type: Boolean,
      default: false
    },
    transform: {
      type: [String, Object],
      default: null
    },
    symbol: {
      type: [Boolean, String],
      default: false
    },
    title: {
      type: String,
      default: null
    },
    titleId: {
      type: String,
      default: null
    },
    inverse: {
      type: Boolean,
      default: false
    },
    bounce: {
      type: Boolean,
      default: false
    },
    shake: {
      type: Boolean,
      default: false
    },
    beat: {
      type: Boolean,
      default: false
    },
    fade: {
      type: Boolean,
      default: false
    },
    beatFade: {
      type: Boolean,
      default: false
    },
    flash: {
      type: Boolean,
      default: false
    },
    spinPulse: {
      type: Boolean,
      default: false
    },
    spinReverse: {
      type: Boolean,
      default: false
    }
  },
  setup: function setup2(props, _ref) {
    var attrs4 = _ref.attrs;
    var icon$1 = computed(function() {
      return normalizeIconArgs(props.icon);
    });
    var classes2 = computed(function() {
      return objectWithKey("classes", classList(props));
    });
    var transform = computed(function() {
      return objectWithKey("transform", typeof props.transform === "string" ? parse$1.transform(props.transform) : props.transform);
    });
    var mask = computed(function() {
      return objectWithKey("mask", normalizeIconArgs(props.mask));
    });
    var renderedIcon = computed(function() {
      return icon2(icon$1.value, _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, classes2.value), transform.value), mask.value), {}, {
        symbol: props.symbol,
        title: props.title,
        titleId: props.titleId,
        maskId: props.maskId
      }));
    });
    watch(renderedIcon, function(value2) {
      if (!value2) {
        return log("Could not find one or more icon(s)", icon$1.value, mask.value);
      }
    }, {
      immediate: true
    });
    var vnode = computed(function() {
      return renderedIcon.value ? convert(renderedIcon.value.abstract[0], {}, attrs4) : null;
    });
    return function() {
      return vnode.value;
    };
  }
});
const _hoisted_1$1 = { class: "container" };
const _hoisted_2$1 = { class: "row" };
const _hoisted_3$1 = { class: "col" };
const _hoisted_4$1 = { id: "note" };
const _hoisted_5$1 = { class: "row" };
const _hoisted_6$1 = { class: "col" };
const _hoisted_7$1 = { class: "row" };
const _hoisted_8$1 = { class: "col" };
const _hoisted_9$1 = { class: "row" };
const _hoisted_10 = { class: "col" };
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
  __name: "TimeOnLevelChart",
  setup(__props) {
    const levelProgressionsStore = useLevelProgressionsStore();
    const ignoreLevels = ref([]);
    const levelsToCalcAgainst = computed(() => {
      const cl = lodashExports.cloneDeep(levelProgressionsStore.levelProgressions);
      lodashExports.pullAt(cl, ignoreLevels.value);
      return cl;
    });
    const average = computed(() => {
      return lodashExports.meanBy(levelsToCalcAgainst.value, (o2) => o2.data.timeToPass);
    });
    const median = computed(() => {
      const d = lodashExports.orderBy(levelsToCalcAgainst.value, (o2) => o2.data.level);
      if (d.length == 0) {
        return 0;
      }
      return d.length % 2 == 0 ? d[d.length / 2].data.timeToPass : lodashExports.mean([d[d.length / 2 - 0.5].data.timeToPass, d[d.length / 2 + 0.5].data.timeToPass]);
    });
    const expectedLevelUp = computed(() => {
      if (levelProgressionsStore.levelProgressions.length == 0) {
        return 0;
      } else {
        const currentLevel = levelsToCalcAgainst.value[levelsToCalcAgainst.value.length - 1];
        const daysSoFar = differenceInCalendarDays(/* @__PURE__ */ new Date(), new Date(currentLevel.data.started_at));
        return average.value - daysSoFar;
      }
    });
    const options = computed(() => {
      return {
        chart: {
          events: {
            dataPointSelection: (event, chartContext, opts) => {
              ignoreLevels.value = lodashExports.flatten(opts.selectedDataPoints);
            }
          },
          selection: {
            enabled: true
          }
        },
        states: {
          active: {
            allowMultipleDataPointsSelection: true,
            filter: {
              type: "lighten",
              value: 0.35
            }
          }
        },
        subtitle: {
          text: "Click levels to exclude from calculation"
        },
        title: {
          text: "Level Progression"
        },
        tooltip: {
          //@ts-expect-error has any
          // eslint-disable-next-line @typescript-eslint/no-unused-vars
          custom: function({ dataPointIndex, series: series2, seriesIndex, w: w2 }) {
            if (levelProgressionsStore.levelProgressions == null) {
              return "";
            }
            return '<div class="container tooltip"><div class="row header"><div class="col"><span> Level ' + levelProgressionsStore.levelProgressions[dataPointIndex].data.level + '</span></div></div><div class="row"><div class="col"><span> Started At: ' + format(
              levelProgressionsStore.levelProgressions[dataPointIndex].data.started_at,
              "MM/dd/yyyy"
            ) + '</span></div></div><div class="row"><div class="col"><span> Passed At: ' + format(
              levelProgressionsStore.levelProgressions[dataPointIndex].data.passed_at,
              "MM/dd/yyyy"
            ) + '</span></div></div><div class="row"><div class="col"><span> Days On Level: ' + levelProgressionsStore.levelProgressions[dataPointIndex].data.timeToPass + "</span></div></div></div>";
          }
        },
        xaxis: {
          tickAmount: levelProgressionsStore.levelProgressions == null ? 1 : levelProgressionsStore.levelProgressions.length,
          // type: 'category',
          // categories:
          //   indexStore .levelProgressions == null
          //     ? []
          //     : //@ts-ignore
          //       indexStore .levelProgressions.map((l: any) => l.data.level)
          title: {
            text: "Level"
          }
        },
        yaxis: {
          //   min: 0,
          //   max: maxBy(indexStore .levelProgressions, (o) =>
          //     differenceInDays(new Date(o.data.passed_at), new Date(o.data.started_at))
          //   )
          title: {
            text: "Days"
          }
        }
      };
    });
    const series = computed(() => {
      const t2 = [
        {
          // data: [
          //   { x: 1, y: 5 },
          //   { x: 5, y: 25 }
          // ]
          data: levelProgressionsStore.levelProgressions == null ? [] : levelProgressionsStore.levelProgressions.map((l) => {
            return {
              x: l.data.level.toString(),
              y: l.data.timeToPass
            };
          }),
          name: "Level Progression"
        }
      ];
      return t2;
    });
    onMounted(() => {
      levelProgressionsStore.fetchLevelProgressions();
    });
    return (_ctx, _cache) => {
      const _directive_tooltip = resolveDirective("tooltip");
      return openBlock(), createElementBlock("div", _hoisted_1$1, [
        createBaseVNode("div", _hoisted_2$1, [
          createBaseVNode("div", _hoisted_3$1, [
            withDirectives((openBlock(), createElementBlock("span", _hoisted_4$1, [
              createVNode(unref(FontAwesomeIcon), { icon: unref(faTriangleExclamation) }, null, 8, ["icon"])
            ])), [
              [
                _directive_tooltip,
                "Due to WaniKani adding the necessary endpoint later on, not all users will have a full history.",
                void 0,
                { top: true }
              ]
            ]),
            createVNode(unref(m), {
              type: "bar",
              height: "350",
              options: options.value,
              series: series.value
            }, null, 8, ["options", "series"])
          ])
        ]),
        createBaseVNode("div", _hoisted_5$1, [
          _cache[0] || (_cache[0] = createBaseVNode("div", { class: "col-4" }, null, -1)),
          _cache[1] || (_cache[1] = createBaseVNode("div", { class: "col" }, [
            createBaseVNode("span", { class: "header" }, "Average Level Up Time")
          ], -1)),
          createBaseVNode("div", _hoisted_6$1, [
            createBaseVNode("span", null, toDisplayString(average.value.toFixed(2)), 1)
          ]),
          _cache[2] || (_cache[2] = createBaseVNode("div", { class: "col-3" }, null, -1))
        ]),
        createBaseVNode("div", _hoisted_7$1, [
          _cache[3] || (_cache[3] = createBaseVNode("div", { class: "col-4" }, null, -1)),
          _cache[4] || (_cache[4] = createBaseVNode("div", { class: "col" }, [
            createBaseVNode("span", { class: "header" }, "Median Level Up Time")
          ], -1)),
          createBaseVNode("div", _hoisted_8$1, [
            createBaseVNode("span", null, toDisplayString(median.value.toFixed(2)), 1)
          ]),
          _cache[5] || (_cache[5] = createBaseVNode("div", { class: "col-3" }, null, -1))
        ]),
        createBaseVNode("div", _hoisted_9$1, [
          _cache[6] || (_cache[6] = createBaseVNode("div", { class: "col-4" }, null, -1)),
          _cache[7] || (_cache[7] = createBaseVNode("div", { class: "col" }, [
            createBaseVNode("span", { class: "header" }, "Expected Level Up Time")
          ], -1)),
          createBaseVNode("div", _hoisted_10, [
            createBaseVNode("span", null, toDisplayString(expectedLevelUp.value.toFixed(2)), 1)
          ]),
          _cache[8] || (_cache[8] = createBaseVNode("div", { class: "col-3" }, null, -1))
        ])
      ]);
    };
  }
});
const TimeOnLevelChart = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-8582c967"]]);
const _hoisted_1 = {
  key: 0,
  id: "divUser",
  class: "container"
};
const _hoisted_2 = { class: "row main" };
const _hoisted_3 = { class: "col" };
const _hoisted_4 = { class: "row" };
const _hoisted_5 = { class: "col" };
const _hoisted_6 = { class: "row" };
const _hoisted_7 = { class: "col" };
const _hoisted_8 = { class: "row" };
const _hoisted_9 = { class: "col" };
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
  __name: "User",
  setup(__props) {
    const userStore = useUserStore();
    onMounted(() => {
    });
    const timeSinceStart = computed(() => {
      var _a;
      if (userStore.userData == null) {
        return 0;
      }
      const today = /* @__PURE__ */ new Date();
      let start = new Date((_a = userStore.userData) == null ? void 0 : _a.started_at);
      const y = differenceInYears(today, start);
      start = addYears(start, y);
      const m2 = differenceInMonths(today, start);
      start = addMonths(start, m2);
      const d = differenceInCalendarDays(today, start);
      return `${y} years ${m2} months and ${d} days`;
    });
    return (_ctx, _cache) => {
      var _a, _b, _c;
      return unref(userStore).userData != null ? (openBlock(), createElementBlock("div", _hoisted_1, [
        createBaseVNode("div", _hoisted_2, [
          _cache[0] || (_cache[0] = createBaseVNode("div", { class: "col-2" }, [
            createBaseVNode("span", { class: "header" }, "Username")
          ], -1)),
          createBaseVNode("div", _hoisted_3, [
            createBaseVNode("span", null, toDisplayString((_a = unref(userStore).userData) == null ? void 0 : _a.username), 1)
          ])
        ]),
        createBaseVNode("div", _hoisted_4, [
          _cache[1] || (_cache[1] = createBaseVNode("div", { class: "col-2" }, [
            createBaseVNode("span", { class: "header" }, "Level")
          ], -1)),
          createBaseVNode("div", _hoisted_5, [
            createBaseVNode("span", null, toDisplayString((_b = unref(userStore).userData) == null ? void 0 : _b.level), 1)
          ])
        ]),
        createBaseVNode("div", _hoisted_6, [
          _cache[2] || (_cache[2] = createBaseVNode("div", { class: "col-2" }, [
            createBaseVNode("span", { class: "header" }, "Start Date")
          ], -1)),
          createBaseVNode("div", _hoisted_7, [
            createBaseVNode("span", null, toDisplayString(unref(format)((_c = unref(userStore).userData) == null ? void 0 : _c.started_at, "MMMM do y")), 1)
          ])
        ]),
        createBaseVNode("div", _hoisted_8, [
          _cache[3] || (_cache[3] = createBaseVNode("div", { class: "col-2" }, [
            createBaseVNode("span", { class: "header" }, "Time Since Start")
          ], -1)),
          createBaseVNode("div", _hoisted_9, [
            createBaseVNode("span", null, toDisplayString(timeSinceStart.value), 1)
          ])
        ])
      ])) : createCommentVNode("", true);
    };
  }
});
const addMenuItem = () => {
  const li = document.createElement("li");
  li.classList.add("sitemap__section");
  li.id = "sitemapStats";
  document.querySelectorAll("#sitemap .sitemap__section.sitemap--divider")[0].before(li);
};
const scriptUrl = "https://update.greasyfork.org/scripts/501980/1426289/Wanikani%20Open%20Framework%20Turbo%20Events.user.js", setUpListeners = (callback) => {
  wkof.load_script(
    scriptUrl,
    /* use_cache */
    true
  );
  wkof.ready("TurboEvents").then(() => {
    console.log("turbo events ready");
    const urls = [
      //@ts-expect-error cannot find name wkof
      wkof.turbo.common.locations.reviews,
      //@ts-expect-error cannot find name wkof
      wkof.turbo.common.locations.lessons_quiz,
      /^https:\/\/www\.wanikani\.com\/recent-mistakes\/[\d-]+\/quiz.*\/?$/,
      /^https:\/\/www\.wanikani\.com\/subjects\/extra_study.*$/
    ];
    wkof.turbo.add_typical_page_listener(callback, urls);
    wkof.turbo.on.common.dashboard(() => {
      const indexStore = useIndexStore();
      indexStore.dashboardLoaded = false;
      addMenuItem();
      indexStore.dashboardLoaded = true;
    });
  });
};
const loadTurbo = () => {
  wkof.load_script(
    turboUrl,
    /* use_cache */
    true
  );
}, turboUrl = "https://update.greasyfork.org/scripts/501980/1426289/Wanikani%20Open%20Framework%20Turbo%20Events.user.js", wkofCheck = () => {
  const indexStore = useIndexStore();
  console.log("Checking for WaniKani Open Framework");
  if (!window.wkof) {
    if (confirm(
      indexStore.scriptName + " requires Wanikani Open Framework.\nDo you want to be forwarded to the installation instructions?"
    )) {
      window.location.href = "https://community.wanikani.com/t/instructions-installing-wanikani-open-framework/28549";
    }
  }
}, wkofLoad = () => {
  const itemDataStore = useItemDataStore(), levelProgressionsStore = useLevelProgressionsStore(), modules = "Apiv2, ItemData", userStore = useUserStore();
  wkof.include(modules);
  wkof.ready(modules).then(() => {
    debugger;
    userStore.userData = wkof.user;
    itemDataStore.fetchItemData();
    levelProgressionsStore.fetchLevelProgressions();
  });
};
const _sfc_main = /* @__PURE__ */ defineComponent({
  __name: "App",
  setup(__props) {
    const indexStore = useIndexStore(), makeStatsDiv = () => {
      const spotBefore = document.getElementsByClassName("character-header__characters")[0];
      if (spotBefore == null) return;
      const newSpot = document.createElement("div");
      newSpot.id = "statsDiv";
      if (spotBefore == null) {
        console.log("#user-response not found");
      } else {
        spotBefore.after(newSpot);
      }
      indexStore.dashboardLoaded = false;
    };
    onMounted(() => {
      debugger;
      nextTick(() => {
        setUpListeners(() => {
          nextTick(() => {
            console.log("start");
            loadTurbo();
            makeStatsDiv();
          });
        });
        wkofCheck();
        wkofLoad();
      });
    });
    return (_ctx, _cache) => {
      return openBlock(), createElementBlock(Fragment, null, [
        unref(indexStore).dashboardLoaded ? (openBlock(), createBlock(Teleport, {
          key: 0,
          to: "#sitemapStats"
        }, [
          createVNode(_sfc_main$6)
        ])) : createCommentVNode("", true),
        createVNode(unref(script$5), { value: "0" }, {
          default: withCtx(() => [
            createVNode(unref(script$8), null, {
              default: withCtx(() => [
                createVNode(unref(script$b), { value: "0" }, {
                  default: withCtx(() => _cache[0] || (_cache[0] = [
                    createTextVNode("User Info")
                  ])),
                  _: 1
                }),
                createVNode(unref(script$b), { value: "1" }, {
                  default: withCtx(() => _cache[1] || (_cache[1] = [
                    createTextVNode("Level Progression")
                  ])),
                  _: 1
                }),
                createVNode(unref(script$b), { value: "3" }, {
                  default: withCtx(() => _cache[2] || (_cache[2] = [
                    createTextVNode("Items At Level")
                  ])),
                  _: 1
                }),
                createVNode(unref(script$b), { value: "4" }, {
                  default: withCtx(() => _cache[3] || (_cache[3] = [
                    createTextVNode("Item Details")
                  ])),
                  _: 1
                })
              ]),
              _: 1
            }),
            createVNode(unref(script$6), null, {
              default: withCtx(() => [
                createVNode(unref(script$7), { value: "0" }, {
                  default: withCtx(() => [
                    createVNode(_sfc_main$1)
                  ]),
                  _: 1
                }),
                createVNode(unref(script$7), { value: "1" }, {
                  default: withCtx(() => [
                    createVNode(TimeOnLevelChart)
                  ]),
                  _: 1
                }),
                createVNode(unref(script$7), { value: "2" }),
                createVNode(unref(script$7), { value: "3" }, {
                  default: withCtx(() => [
                    createVNode(_sfc_main$3)
                  ]),
                  _: 1
                }),
                createVNode(unref(script$7), { value: "4" }, {
                  default: withCtx(() => [
                    createVNode(ItemDetails)
                  ]),
                  _: 1
                })
              ]),
              _: 1
            })
          ]),
          _: 1
        })
      ], 64);
    };
  }
});
const App = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8f757491"]]);
const MyPreset = definePreset(index, {
  //Your customizations, see the following sections for examples
  primitive: {
    warning: "{yellow.500}"
  },
  semantic: {
    primary: {
      100: "{indigo.100}",
      200: "{indigo.200}",
      300: "{indigo.300}",
      400: "{indigo.400}",
      50: "{indigo.50}",
      500: "{indigo.500}",
      600: "{indigo.600}",
      700: "{indigo.700}",
      800: "{indigo.800}",
      900: "{indigo.900}",
      950: "{indigo.950}"
    }
  }
}), pinia = createPinia();
const app = createApp(App);
const addStatsDiv = () => {
  const newSpot = document.createElement("div");
  const spotBefore = document.getElementsByClassName("dashboard__content")[0];
  newSpot.id = "divStats";
  newSpot.classList.add("hidden");
  if (spotBefore == null) {
    console.log("Could not find dashboard__content");
  } else {
    spotBefore.before(newSpot);
  }
};
pinia.use(src_default);
app.use(pinia);
app.directive("tooltip", Tooltip);
app.use(PrimeVue, {
  theme: {
    options: {
      darkModeSelector: ".dark"
    },
    preset: MyPreset
  }
});
{
  addStatsDiv();
  app.mount("#divStats");
}



    // Create our shared stylesheet:
const sheet = new CSSStyleSheet();
sheet.replaceSync(`
#divUser {
  display: grid;
}

[id^=kofi-widget-overlay] .floatingchat-container-wrap {
  left: 25px;
  bottom: 25px;
}
[id^=kofi-widget-overlay] .floatingchat-container-wrap .kofiimg {
  width: 16px;
}

.v-center {
  display: flex;
  align-items: center;
  height: 100%;
}

body {
  margin: 0;
  padding: 0 !important;
  background-color: #eee;
  color: #212529;
}

.container,
.contianer-sm,
.caontiner-md,
.container-lg,
.container-xl,
.container-full {
  margin-right: auto;
  margin-left: auto;
}

.container-full {
  width: 95vw;
}

@media (min-width: 576px) {
  .container,
  .container-sm {
    width: 540px;
  }
}
@media (min-width: 768px) {
  .container,
  .container-sm,
  .container-md {
    width: 720px;
  }
}
@media (min-width: 992px) {
  .container,
  .container-sm,
  .container-md,
  .container-lg {
    width: 960px;
  }
}
@media (min-width: 1200px) {
  .container,
  .conatiner-sm,
  .container-md,
  .container-lg,
  .container-xl {
    width: 1140px;
  }
}
.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
  margin-top: -0.5rem;
}

.col {
  flex-grow: 1;
  flex-basis: 0;
  padding: 15px;
  max-width: 95vw;
}

.col-fixed {
  flex: 0 0 auto;
  padding: 15px;
}

@media screen and (min-wdith: 0) {
  .col-xs-1 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 1) !important;
  }
  .col-offset-xs-1 {
    margin-left: calc(8.3333333333% * 1) !important;
  }
  .col-xs-2 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 2) !important;
  }
  .col-offset-xs-2 {
    margin-left: calc(8.3333333333% * 2) !important;
  }
  .col-xs-3 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 3) !important;
  }
  .col-offset-xs-3 {
    margin-left: calc(8.3333333333% * 3) !important;
  }
  .col-xs-4 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 4) !important;
  }
  .col-offset-xs-4 {
    margin-left: calc(8.3333333333% * 4) !important;
  }
  .col-xs-5 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 5) !important;
  }
  .col-offset-xs-5 {
    margin-left: calc(8.3333333333% * 5) !important;
  }
  .col-xs-6 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 6) !important;
  }
  .col-offset-xs-6 {
    margin-left: calc(8.3333333333% * 6) !important;
  }
  .col-xs-7 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 7) !important;
  }
  .col-offset-xs-7 {
    margin-left: calc(8.3333333333% * 7) !important;
  }
  .col-xs-8 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 8) !important;
  }
  .col-offset-xs-8 {
    margin-left: calc(8.3333333333% * 8) !important;
  }
  .col-xs-9 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 9) !important;
  }
  .col-offset-xs-9 {
    margin-left: calc(8.3333333333% * 9) !important;
  }
  .col-xs-10 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 10) !important;
  }
  .col-offset-xs-10 {
    margin-left: calc(8.3333333333% * 10) !important;
  }
  .col-xs-11 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 11) !important;
  }
  .col-offset-xs-11 {
    margin-left: calc(8.3333333333% * 11) !important;
  }
  .col-xs-12 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 12) !important;
  }
  .col-offset-xs-12 {
    margin-left: calc(8.3333333333% * 12) !important;
  }
}
@media screen and (min-wdith: 576px) {
  .col-sm-1 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 1) !important;
  }
  .col-offset-sm-1 {
    margin-left: calc(8.3333333333% * 1) !important;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 2) !important;
  }
  .col-offset-sm-2 {
    margin-left: calc(8.3333333333% * 2) !important;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 3) !important;
  }
  .col-offset-sm-3 {
    margin-left: calc(8.3333333333% * 3) !important;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 4) !important;
  }
  .col-offset-sm-4 {
    margin-left: calc(8.3333333333% * 4) !important;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 5) !important;
  }
  .col-offset-sm-5 {
    margin-left: calc(8.3333333333% * 5) !important;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 6) !important;
  }
  .col-offset-sm-6 {
    margin-left: calc(8.3333333333% * 6) !important;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 7) !important;
  }
  .col-offset-sm-7 {
    margin-left: calc(8.3333333333% * 7) !important;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 8) !important;
  }
  .col-offset-sm-8 {
    margin-left: calc(8.3333333333% * 8) !important;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 9) !important;
  }
  .col-offset-sm-9 {
    margin-left: calc(8.3333333333% * 9) !important;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 10) !important;
  }
  .col-offset-sm-10 {
    margin-left: calc(8.3333333333% * 10) !important;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 11) !important;
  }
  .col-offset-sm-11 {
    margin-left: calc(8.3333333333% * 11) !important;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 12) !important;
  }
  .col-offset-sm-12 {
    margin-left: calc(8.3333333333% * 12) !important;
  }
}
@media screen and (min-wdith: 768px) {
  .col-md-1 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 1) !important;
  }
  .col-offset-md-1 {
    margin-left: calc(8.3333333333% * 1) !important;
  }
  .col-md-2 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 2) !important;
  }
  .col-offset-md-2 {
    margin-left: calc(8.3333333333% * 2) !important;
  }
  .col-md-3 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 3) !important;
  }
  .col-offset-md-3 {
    margin-left: calc(8.3333333333% * 3) !important;
  }
  .col-md-4 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 4) !important;
  }
  .col-offset-md-4 {
    margin-left: calc(8.3333333333% * 4) !important;
  }
  .col-md-5 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 5) !important;
  }
  .col-offset-md-5 {
    margin-left: calc(8.3333333333% * 5) !important;
  }
  .col-md-6 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 6) !important;
  }
  .col-offset-md-6 {
    margin-left: calc(8.3333333333% * 6) !important;
  }
  .col-md-7 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 7) !important;
  }
  .col-offset-md-7 {
    margin-left: calc(8.3333333333% * 7) !important;
  }
  .col-md-8 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 8) !important;
  }
  .col-offset-md-8 {
    margin-left: calc(8.3333333333% * 8) !important;
  }
  .col-md-9 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 9) !important;
  }
  .col-offset-md-9 {
    margin-left: calc(8.3333333333% * 9) !important;
  }
  .col-md-10 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 10) !important;
  }
  .col-offset-md-10 {
    margin-left: calc(8.3333333333% * 10) !important;
  }
  .col-md-11 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 11) !important;
  }
  .col-offset-md-11 {
    margin-left: calc(8.3333333333% * 11) !important;
  }
  .col-md-12 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 12) !important;
  }
  .col-offset-md-12 {
    margin-left: calc(8.3333333333% * 12) !important;
  }
}
@media screen and (min-wdith: 992px) {
  .col-lg-1 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 1) !important;
  }
  .col-offset-lg-1 {
    margin-left: calc(8.3333333333% * 1) !important;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 2) !important;
  }
  .col-offset-lg-2 {
    margin-left: calc(8.3333333333% * 2) !important;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 3) !important;
  }
  .col-offset-lg-3 {
    margin-left: calc(8.3333333333% * 3) !important;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 4) !important;
  }
  .col-offset-lg-4 {
    margin-left: calc(8.3333333333% * 4) !important;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 5) !important;
  }
  .col-offset-lg-5 {
    margin-left: calc(8.3333333333% * 5) !important;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 6) !important;
  }
  .col-offset-lg-6 {
    margin-left: calc(8.3333333333% * 6) !important;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 7) !important;
  }
  .col-offset-lg-7 {
    margin-left: calc(8.3333333333% * 7) !important;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 8) !important;
  }
  .col-offset-lg-8 {
    margin-left: calc(8.3333333333% * 8) !important;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 9) !important;
  }
  .col-offset-lg-9 {
    margin-left: calc(8.3333333333% * 9) !important;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 10) !important;
  }
  .col-offset-lg-10 {
    margin-left: calc(8.3333333333% * 10) !important;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 11) !important;
  }
  .col-offset-lg-11 {
    margin-left: calc(8.3333333333% * 11) !important;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 12) !important;
  }
  .col-offset-lg-12 {
    margin-left: calc(8.3333333333% * 12) !important;
  }
}
@media screen and (min-wdith: 1200px) {
  .col-xl-1 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 1) !important;
  }
  .col-offset-xl-1 {
    margin-left: calc(8.3333333333% * 1) !important;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 2) !important;
  }
  .col-offset-xl-2 {
    margin-left: calc(8.3333333333% * 2) !important;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 3) !important;
  }
  .col-offset-xl-3 {
    margin-left: calc(8.3333333333% * 3) !important;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 4) !important;
  }
  .col-offset-xl-4 {
    margin-left: calc(8.3333333333% * 4) !important;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 5) !important;
  }
  .col-offset-xl-5 {
    margin-left: calc(8.3333333333% * 5) !important;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 6) !important;
  }
  .col-offset-xl-6 {
    margin-left: calc(8.3333333333% * 6) !important;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 7) !important;
  }
  .col-offset-xl-7 {
    margin-left: calc(8.3333333333% * 7) !important;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 8) !important;
  }
  .col-offset-xl-8 {
    margin-left: calc(8.3333333333% * 8) !important;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 9) !important;
  }
  .col-offset-xl-9 {
    margin-left: calc(8.3333333333% * 9) !important;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 10) !important;
  }
  .col-offset-xl-10 {
    margin-left: calc(8.3333333333% * 10) !important;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 11) !important;
  }
  .col-offset-xl-11 {
    margin-left: calc(8.3333333333% * 11) !important;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    padding: 15px;
    width: calc(8.3333333333% * 12) !important;
  }
  .col-offset-xl-12 {
    margin-left: calc(8.3333333333% * 12) !important;
  }
}
.col-1 {
  flex: 0 0 auto;
  padding: 15px;
  width: calc(8.3333333333% * 1);
}

.col-offset-1 {
  margin-left: calc(8.3333333333% * 1);
}

.col-2 {
  flex: 0 0 auto;
  padding: 15px;
  width: calc(8.3333333333% * 2);
}

.col-offset-2 {
  margin-left: calc(8.3333333333% * 2);
}

.col-3 {
  flex: 0 0 auto;
  padding: 15px;
  width: calc(8.3333333333% * 3);
}

.col-offset-3 {
  margin-left: calc(8.3333333333% * 3);
}

.col-4 {
  flex: 0 0 auto;
  padding: 15px;
  width: calc(8.3333333333% * 4);
}

.col-offset-4 {
  margin-left: calc(8.3333333333% * 4);
}

.col-5 {
  flex: 0 0 auto;
  padding: 15px;
  width: calc(8.3333333333% * 5);
}

.col-offset-5 {
  margin-left: calc(8.3333333333% * 5);
}

.col-6 {
  flex: 0 0 auto;
  padding: 15px;
  width: calc(8.3333333333% * 6);
}

.col-offset-6 {
  margin-left: calc(8.3333333333% * 6);
}

.col-7 {
  flex: 0 0 auto;
  padding: 15px;
  width: calc(8.3333333333% * 7);
}

.col-offset-7 {
  margin-left: calc(8.3333333333% * 7);
}

.col-8 {
  flex: 0 0 auto;
  padding: 15px;
  width: calc(8.3333333333% * 8);
}

.col-offset-8 {
  margin-left: calc(8.3333333333% * 8);
}

.col-9 {
  flex: 0 0 auto;
  padding: 15px;
  width: calc(8.3333333333% * 9);
}

.col-offset-9 {
  margin-left: calc(8.3333333333% * 9);
}

.col-10 {
  flex: 0 0 auto;
  padding: 15px;
  width: calc(8.3333333333% * 10);
}

.col-offset-10 {
  margin-left: calc(8.3333333333% * 10);
}

.col-11 {
  flex: 0 0 auto;
  padding: 15px;
  width: calc(8.3333333333% * 11);
}

.col-offset-11 {
  margin-left: calc(8.3333333333% * 11);
}

.col-12 {
  flex: 0 0 auto;
  padding: 15px;
  width: calc(8.3333333333% * 12);
}

.col-offset-12 {
  margin-left: calc(8.3333333333% * 12);
}

label.v.center {
  display: flex;
  align-items: center;
  height: 100%;
}

.app {
  z-index: 9999999;
}.container[data-v-34dfa321] {
  width: 75vw;
}
.item[data-v-34dfa321] {
  border: 1px solid gray;
  border-radius: 5px;
  min-width: 35px;
  margin: 2px;
  padding: 5px;
}
.item .slug[data-v-34dfa321] {
  margin: 5px;
  font-size: 1rem;
  margin: 0;
}
.item.apprentice[data-v-34dfa321], .item.guru[data-v-34dfa321], .item.master[data-v-34dfa321], .item.enlightened[data-v-34dfa321], .item.burned[data-v-34dfa321], .item.locked[data-v-34dfa321], .item.initiate[data-v-34dfa321] {
  color: white;
}
.item.apprentice[data-v-34dfa321] {
  background-color: var(--color-srs-progress-apprentice);
}
.item.apprentice[data-v-34dfa321]:hover {
  background-color: var(--color-srs-progress-apprentice);
}
.item.guru[data-v-34dfa321] {
  background-color: var(--color-srs-progress-guru);
}
.item.guru[data-v-34dfa321]:hover {
  background-color: var(--color-srs-progress-guru);
}
.item.master[data-v-34dfa321] {
  background-color: var(--color-srs-progress-master);
}
.item.master[data-v-34dfa321]:hover {
  background-color: var(--color-srs-progress-master);
}
.item.enlightened[data-v-34dfa321] {
  background-color: var(--color-srs-progress-enlightened);
}
.item.enlightened[data-v-34dfa321]:hover {
  background-color: var(--color-srs-progress-enlightened);
}
.item.burned[data-v-34dfa321] {
  background-color: #fbc042;
}
.item.burned[data-v-34dfa321]:hover {
  background-color: #fbc042;
}
.item.locked[data-v-34dfa321] {
  background-color: black;
}
.item.locked[data-v-34dfa321]:hover {
  background-color: black;
}
.item.initiate[data-v-34dfa321] {
  background-color: gray;
}
.item.initiate[data-v-34dfa321]:hover {
  background-color: gray;
}
.poItem .slug[data-v-34dfa321] {
  font-size: 3rem;
}
.poItem .slug[data-v-34dfa321] img {
  width: 35px;
}
.itemDetails .item[data-v-34dfa321] img {
  width: 15px;
  filter: invert(100%);
}.level[data-v-0ec29284],
.type[data-v-0ec29284] {
  font-weight: bold;
}
.col[data-v-0ec29284]:has(.level) {
  padding: 1px;
}
.row[data-v-0ec29284]:has(.level) {
  background-color: var(--p-gray-200);
}
.itemDetails[data-v-0ec29284] {
  display: flex;
  flex-wrap: wrap;
}[data-v-8582c967] .tooltip {
  max-width: 200px;
}
[data-v-8582c967] .vue-apexcharts .header {
  background-color: lightblue;
  font-weight: bold;
}
.fa-triangle-exclamation[data-v-8582c967] {
  color: var(--p-warning);
}
.header[data-v-8582c967] {
  font-weight: bold;
}
`)

// Apply the stylesheet to a document:
document.adoptedStyleSheets = [...document.adoptedStyleSheets, sheet];