{"version":3,"file":"drop_account-personal-settings.mjs","sources":["../node_modules/@nextcloud/router/dist/index.mjs","../node_modules/@nextcloud/vue/dist/Functions/dialog.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcDialog-Bg0hY6TP.mjs","../node_modules/@nextcloud/vue/dist/Components/NcNoteCard.mjs","../node_modules/@nextcloud/dialogs/dist/index.mjs","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/adapters/fetch.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/index.js","../node_modules/@nextcloud/axios/dist/index.mjs","../node_modules/debounce/index.js","../node_modules/@nextcloud/vue/dist/chunks/AlertCircleOutline-DBxbepLy.mjs","../node_modules/@nextcloud/vue/dist/chunks/Check-BkThHPH7.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputField-DUtDY_1I.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcPasswordField-CujpFQHq.mjs","../node_modules/@nextcloud/password-confirmation/dist/index.mjs","../node_modules/@nextcloud/vue/dist/chunks/createElementId-DhjFt1I9.mjs","../node_modules/@nextcloud/vue/dist/Components/NcEmptyContent.mjs","../node_modules/vue-material-design-icons/Delete.vue","../node_modules/vue-material-design-icons/Email.vue","../src/PersonalSettings.vue","../src/personal.js"],"sourcesContent":["const R = (n, e) => d(n, \"\", e), g = (n) => \"/remote.php/\" + n, U = (n, e) => {\n  var o;\n  return ((o = e == null ? void 0 : e.baseURL) != null ? o : w()) + g(n);\n}, v = (n, e, o) => {\n  var c;\n  const i = Object.assign({\n    ocsVersion: 2\n  }, o || {}).ocsVersion === 1 ? 1 : 2;\n  return ((c = o == null ? void 0 : o.baseURL) != null ? c : w()) + \"/ocs/v\" + i + \".php\" + u(n, e, o);\n}, u = (n, e, o) => {\n  const c = Object.assign({\n    escape: !0\n  }, o || {}), r = function(i, s) {\n    return s = s || {}, i.replace(\n      /{([^{}]*)}/g,\n      function(l, t) {\n        const a = s[t];\n        return c.escape ? encodeURIComponent(typeof a == \"string\" || typeof a == \"number\" ? a.toString() : l) : typeof a == \"string\" || typeof a == \"number\" ? a.toString() : l;\n      }\n    );\n  };\n  return n.charAt(0) !== \"/\" && (n = \"/\" + n), r(n, e || {});\n}, _ = (n, e, o) => {\n  var c, r, i;\n  const s = Object.assign({\n    noRewrite: !1\n  }, o || {}), l = (c = o == null ? void 0 : o.baseURL) != null ? c : f();\n  return ((i = (r = window == null ? void 0 : window.OC) == null ? void 0 : r.config) == null ? void 0 : i.modRewriteWorking) === !0 && !s.noRewrite ? l + u(n, e, o) : l + \"/index.php\" + u(n, e, o);\n}, h = (n, e) => e.includes(\".\") ? d(n, \"img\", e) : d(n, \"img\", \"\".concat(e, \".svg\")), d = (n, e, o) => {\n  var c, r, i;\n  const s = (i = (r = (c = window == null ? void 0 : window.OC) == null ? void 0 : c.coreApps) == null ? void 0 : r.includes(n)) != null ? i : !1, l = o.slice(-3) === \"php\";\n  let t = f();\n  return l && !s ? (t += \"/index.php/apps/\".concat(n), e && (t += \"/\".concat(encodeURI(e))), o !== \"index.php\" && (t += \"/\".concat(o))) : !l && !s ? (t = b(n), e && (t += \"/\".concat(e, \"/\")), t.at(-1) !== \"/\" && (t += \"/\"), t += o) : ((n === \"settings\" || n === \"core\" || n === \"search\") && e === \"ajax\" && (t += \"/index.php\"), n && (t += \"/\".concat(n)), e && (t += \"/\".concat(e)), t += \"/\".concat(o)), t;\n}, w = () => window.location.protocol + \"//\" + window.location.host + f();\nfunction f() {\n  let n = window._oc_webroot;\n  if (typeof n > \"u\") {\n    n = location.pathname;\n    const e = n.indexOf(\"/index.php/\");\n    if (e !== -1)\n      n = n.slice(0, e);\n    else {\n      const o = n.indexOf(\"/\", 1);\n      n = n.slice(0, o > 0 ? o : void 0);\n    }\n  }\n  return n;\n}\nfunction b(n) {\n  var e, o;\n  return (o = ((e = window._oc_appswebroots) != null ? e : {})[n]) != null ? o : \"\";\n}\nexport {\n  d as generateFilePath,\n  v as generateOcsUrl,\n  U as generateRemoteUrl,\n  _ as generateUrl,\n  b as getAppRootUrl,\n  w as getBaseUrl,\n  f as getRootUrl,\n  h as imagePath,\n  R as linkTo\n};\n","import Vue, { toRaw } from \"vue\";\nfunction spawnDialog(dialog, props = {}, optionsOrOnClose = {}, onClose = () => {\n}) {\n  if (typeof optionsOrOnClose === \"function\") {\n    onClose = optionsOrOnClose;\n    optionsOrOnClose = {};\n  }\n  let { container } = optionsOrOnClose;\n  if (\"container\" in props && typeof props.container === \"string\") {\n    container ??= props.container;\n  }\n  const resolvedContainer = typeof container === \"string\" && document.querySelector(container) || document.body;\n  const element = resolvedContainer.appendChild(document.createElement(\"div\"));\n  const vm = new Vue({\n    el: element,\n    name: \"VueDialogHelper\",\n    render: (h) => h(dialog, {\n      props: {\n        // If dialog has no `container` prop passing a falsy value does nothing\n        // Otherwise it is expected that `null` disables teleport and mounts dialog in place like NcDialog/NcModal\n        container: null,\n        ...props\n      },\n      on: {\n        close: (...rest) => {\n          onClose(...rest.map((v) => toRaw(v)));\n          vm.$destroy();\n          element.remove();\n        }\n      }\n    })\n  });\n  return vm;\n}\nexport {\n  spawnDialog\n};\n//# sourceMappingURL=dialog.mjs.map\n","import '../assets/NcDialog-COuFb47k.css';\nimport { useElementSize } from \"@vueuse/core\";\nimport { defineComponent, ref, computed } from \"vue\";\nimport { G as GenRandomId } from \"./GenRandomId-F5ebeBB_.mjs\";\nimport { N as NcDialogButton } from \"./NcDialogButton-DSrC6lFd.mjs\";\nimport NcModal from \"../Components/NcModal.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = defineComponent({\n  name: \"NcDialog\",\n  components: {\n    NcDialogButton,\n    NcModal\n  },\n  props: {\n    /** Name of the dialog (the heading) */\n    name: {\n      type: String,\n      required: true\n    },\n    /** Text of the dialog */\n    message: {\n      type: String,\n      default: \"\"\n    },\n    /** Additional elements to add to the focus trap */\n    additionalTrapElements: {\n      type: Array,\n      validator: (arr) => {\n        return Array.isArray(arr) && arr.every((element) => typeof element === \"string\" || element instanceof HTMLElement);\n      },\n      default: () => []\n    },\n    /**\n     * The element where to mount the dialog, if `null` is passed the dialog is mounted in place\n     *\n     * @default 'body'\n     */\n    container: {\n      type: String,\n      required: false,\n      default: \"body\"\n    },\n    /**\n     * Whether the dialog should be shown\n     *\n     * @default true\n     */\n    open: {\n      type: Boolean,\n      // eslint-disable-next-line vue/no-boolean-default\n      default: true\n    },\n    /**\n     * Size of the underlying NcModal\n     *\n     * @default 'small'\n     * @type {'small'|'normal'|'large'|'full'}\n     */\n    size: {\n      type: String,\n      required: false,\n      default: \"small\",\n      validator: (value) => typeof value === \"string\" && [\"small\", \"normal\", \"large\", \"full\"].includes(value)\n    },\n    /**\n     * Buttons to display\n     *\n     * @default []\n     */\n    buttons: {\n      type: Array,\n      required: false,\n      default: () => [],\n      validator: (value) => Array.isArray(value) && value.every((element) => typeof element === \"object\")\n    },\n    /**\n     * Do not show the close button for the dialog.\n     *\n     * @default false\n     */\n    noClose: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Set to false to no show a close button on the dialog\n     *\n     * @deprecated - Use `noClose` instead. Will be removed in v9.\n     * @default true\n     */\n    canClose: {\n      type: Boolean,\n      // eslint-disable-next-line vue/no-boolean-default\n      default: true\n    },\n    /**\n     * Close the dialog if the user clicked outside of the dialog\n     * Only relevant if `canClose` is set to true.\n     */\n    closeOnClickOutside: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Make the dialog wrapper a HTML form element.\n     * The buttons will be wrapped within the form so they can be used as submit / reset buttons.\n     * Please note that when using the property the `navigation` should not be used.\n     */\n    isForm: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Declare if hiding the modal should be animated\n     *\n     * @default false\n     */\n    outTransition: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Optionally pass additional classes which will be set on the navigation for custom styling\n     *\n     * @default ''\n     * @example\n     * ```html\n     * <DialogBase :navigation-classes=\"['mydialog-navigation']\"><!-- --></DialogBase>\n     * <!-- ... -->\n     * <style lang=\"scss\">\n     * :deep(.mydialog-navigation) {\n     *     flex-direction: row-reverse;\n     * }\n     * </style>\n     * ```\n     */\n    navigationClasses: {\n      type: [String, Array, Object],\n      required: false,\n      default: \"\"\n    },\n    /**\n     * aria-label for the dialog navigation.\n     * Use it when you want to provide a more meaningful label than the dialog name.\n     *\n     * By default, navigation is labeled by the dialog name.\n     */\n    navigationAriaLabel: {\n      type: String,\n      required: false,\n      default: \"\"\n    },\n    /**\n     * aria-labelledby for the dialog navigation.\n     * Use it when you have an implicit navigation label (e.g. a heading).\n     *\n     * By default, navigation is labeled by the dialog name.\n     */\n    navigationAriaLabelledby: {\n      type: String,\n      required: false,\n      default: \"\"\n    },\n    /**\n     * Optionally pass additional classes which will be set on the content wrapper for custom styling\n     *\n     * @default ''\n     */\n    contentClasses: {\n      type: [String, Array, Object],\n      required: false,\n      default: \"\"\n    },\n    /**\n     * Optionally pass additional classes which will be set on the dialog itself\n     * (the default `class` attribute will be set on the modal wrapper)\n     *\n     * @default ''\n     */\n    dialogClasses: {\n      type: [String, Array, Object],\n      required: false,\n      default: \"\"\n    }\n  },\n  emits: [\"closing\", \"update:open\", \"submit\"],\n  setup(props, { emit, slots }) {\n    const wrapper = ref();\n    const { width: dialogWidth } = useElementSize(wrapper, { width: 900 });\n    const isNavigationCollapsed = computed(() => dialogWidth.value < 876);\n    const hasNavigation = computed(() => slots?.navigation !== void 0);\n    const navigationId = GenRandomId();\n    const navigationAriaLabelAttr = computed(() => props.navigationAriaLabel || void 0);\n    const navigationAriaLabelledbyAttr = computed(() => {\n      if (props.navigationAriaLabel) {\n        return void 0;\n      }\n      return props.navigationAriaLabelledby || navigationId;\n    });\n    const dialogElement = ref();\n    const dialogTagName = computed(() => props.isForm && !hasNavigation.value ? \"form\" : \"div\");\n    const dialogListeners = computed(() => dialogTagName.value === \"form\" ? {\n      /**\n       * @param {SubmitEvent} event Form submit event\n       */\n      submit(event) {\n        event.preventDefault();\n        emit(\"submit\", event);\n      },\n      /**\n       * @param {Event} event Form submit event\n       */\n      reset(event) {\n        event.preventDefault();\n        emit(\"reset\", event);\n      }\n    } : {});\n    const showModal = ref(true);\n    function handleButtonClose(button, result) {\n      if ((button.type === \"submit\" || button.nativeType === \"submit\") && dialogTagName.value === \"form\" && !dialogElement.value.reportValidity()) {\n        return;\n      }\n      handleClosing(result);\n      window.setTimeout(() => handleClosed(), 300);\n    }\n    function handleClosing(result) {\n      showModal.value = false;\n      emit(\"closing\", result);\n    }\n    function handleClosed() {\n      showModal.value = true;\n      emit(\"update:open\", false);\n    }\n    const modalProps = computed(() => ({\n      noClose: props.noClose || !props.canClose,\n      container: props.container === void 0 ? \"body\" : props.container,\n      // we do not pass the name as we already have the name as the headline\n      // name: props.name,\n      // But we need to set the correct label id so the dialog is labelled\n      labelId: navigationId,\n      size: props.size,\n      show: props.open && showModal.value,\n      outTransition: props.outTransition,\n      closeOnClickOutside: props.closeOnClickOutside,\n      additionalTrapElements: props.additionalTrapElements\n    }));\n    return {\n      dialogElement,\n      dialogListeners,\n      dialogTagName,\n      handleButtonClose,\n      handleClosing,\n      handleClosed,\n      hasNavigation,\n      navigationId,\n      navigationAriaLabelAttr,\n      navigationAriaLabelledbyAttr,\n      isNavigationCollapsed,\n      modalProps,\n      wrapper\n    };\n  }\n});\nvar _sfc_render = function render() {\n  var _vm = this, _c = _vm._self._c;\n  _vm._self._setupProxy;\n  return _vm.open ? _c(\"NcModal\", _vm._b({ staticClass: \"dialog__modal\", attrs: { \"enable-slideshow\": false, \"enable-swipe\": false }, on: { \"close\": _vm.handleClosed, \"update:show\": function($event) {\n    return _vm.handleClosing();\n  } } }, \"NcModal\", _vm.modalProps, false), [_c(\"h2\", { staticClass: \"dialog__name\", attrs: { \"id\": _vm.navigationId }, domProps: { \"textContent\": _vm._s(_vm.name) } }), _c(_vm.dialogTagName, _vm._g({ ref: \"dialogElement\", tag: \"component\", staticClass: \"dialog\", class: _vm.dialogClasses }, _vm.dialogListeners), [_c(\"div\", { ref: \"wrapper\", staticClass: \"dialog__wrapper\", class: { \"dialog__wrapper--collapsed\": _vm.isNavigationCollapsed } }, [_vm.hasNavigation ? _c(\"nav\", { staticClass: \"dialog__navigation\", class: _vm.navigationClasses, attrs: { \"aria-label\": _vm.navigationAriaLabelAttr, \"aria-labelledby\": _vm.navigationAriaLabelledbyAttr } }, [_vm._t(\"navigation\", null, { \"isCollapsed\": _vm.isNavigationCollapsed })], 2) : _vm._e(), _c(\"div\", { staticClass: \"dialog__content\", class: _vm.contentClasses }, [_vm._t(\"default\", function() {\n    return [_c(\"p\", { staticClass: \"dialog__text\" }, [_vm._v(\" \" + _vm._s(_vm.message) + \" \")])];\n  })], 2)]), _c(\"div\", { staticClass: \"dialog__actions\" }, [_vm._t(\"actions\", function() {\n    return _vm._l(_vm.buttons, function(button, idx) {\n      return _c(\"NcDialogButton\", _vm._b({ key: idx, on: { \"click\": (_, result) => _vm.handleButtonClose(button, result) } }, \"NcDialogButton\", button, false));\n    });\n  })], 2)])], 1) : _vm._e();\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  \"66c29e13\"\n);\nconst NcDialog = __component__.exports;\nexport {\n  NcDialog as N\n};\n//# sourceMappingURL=NcDialog-Bg0hY6TP.mjs.map\n","import '../assets/NcNoteCard-Dz5-u2BY.css';\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { i as isLegacy32 } from \"../chunks/legacy-MK4GvP26.mjs\";\nconst _sfc_main$4 = {\n  name: \"AlertIcon\",\n  emits: [\"click\"],\n  props: {\n    title: {\n      type: String\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n};\nvar _sfc_render$4 = function render() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"span\", _vm._b({ staticClass: \"material-design-icon alert-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n    return _vm.$emit(\"click\", $event);\n  } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$4 = [];\nvar __component__$4 = /* @__PURE__ */ normalizeComponent(\n  _sfc_main$4,\n  _sfc_render$4,\n  _sfc_staticRenderFns$4,\n  false,\n  null,\n  null\n);\nconst Alert = __component__$4.exports;\nconst _sfc_main$3 = {\n  name: \"AlertDecagramIcon\",\n  emits: [\"click\"],\n  props: {\n    title: {\n      type: String\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n};\nvar _sfc_render$3 = function render2() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"span\", _vm._b({ staticClass: \"material-design-icon alert-decagram-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n    return _vm.$emit(\"click\", $event);\n  } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M23,12L20.56,9.22L20.9,5.54L17.29,4.72L15.4,1.54L12,3L8.6,1.54L6.71,4.72L3.1,5.53L3.44,9.21L1,12L3.44,14.78L3.1,18.47L6.71,19.29L8.6,22.47L12,21L15.4,22.46L17.29,19.28L20.9,18.46L20.56,14.78L23,12M13,17H11V15H13V17M13,13H11V7H13V13Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$3 = [];\nvar __component__$3 = /* @__PURE__ */ normalizeComponent(\n  _sfc_main$3,\n  _sfc_render$3,\n  _sfc_staticRenderFns$3,\n  false,\n  null,\n  null\n);\nconst AlertDecagram = __component__$3.exports;\nconst _sfc_main$2 = {\n  name: \"CheckboxMarkedCircleIcon\",\n  emits: [\"click\"],\n  props: {\n    title: {\n      type: String\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n};\nvar _sfc_render$2 = function render3() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"span\", _vm._b({ staticClass: \"material-design-icon checkbox-marked-circle-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n    return _vm.$emit(\"click\", $event);\n  } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n  _sfc_main$2,\n  _sfc_render$2,\n  _sfc_staticRenderFns$2,\n  false,\n  null,\n  null\n);\nconst CheckboxMarkedCircle = __component__$2.exports;\nconst _sfc_main$1 = {\n  name: \"InformationIcon\",\n  emits: [\"click\"],\n  props: {\n    title: {\n      type: String\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n};\nvar _sfc_render$1 = function render4() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"span\", _vm._b({ staticClass: \"material-design-icon information-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n    return _vm.$emit(\"click\", $event);\n  } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n  _sfc_main$1,\n  _sfc_render$1,\n  _sfc_staticRenderFns$1,\n  false,\n  null,\n  null\n);\nconst Information = __component__$1.exports;\nconst _sfc_main = {\n  name: \"NcNoteCard\",\n  props: {\n    /**\n     * Type or severity of the message\n     */\n    type: {\n      type: String,\n      default: \"warning\",\n      validator: (type) => [\"success\", \"info\", \"warning\", \"error\"].includes(type)\n    },\n    /**\n     * Enforce the `alert` role on the note card.\n     *\n     * The [`alert` role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/alert_role)\n     * should only be used for information that requires the user's immediate attention.\n     */\n    showAlert: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Optional text to show as a heading of the note card\n     */\n    heading: {\n      type: String,\n      default: \"\"\n    },\n    /**\n     * The message text of the note card\n     */\n    text: {\n      type: String,\n      default: \"\"\n    }\n  },\n  setup() {\n    return {\n      isLegacy32\n    };\n  },\n  computed: {\n    shouldShowAlert() {\n      return this.showAlert || this.type === \"error\";\n    },\n    icon() {\n      switch (this.type) {\n        case \"error\":\n          return AlertDecagram;\n        case \"success\":\n          return CheckboxMarkedCircle;\n        case \"info\":\n          return Information;\n        case \"warning\":\n          return Alert;\n        default:\n          return Alert;\n      }\n    }\n  }\n};\nvar _sfc_render = function render5() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"div\", { staticClass: \"notecard\", class: {\n    [`notecard--${_vm.type}`]: _vm.type,\n    \"notecard--legacy\": _vm.isLegacy32\n  }, attrs: { \"role\": _vm.shouldShowAlert ? \"alert\" : \"note\" } }, [_vm._t(\"icon\", function() {\n    return [_c(_vm.icon, { tag: \"component\", staticClass: \"notecard__icon\", class: { \"notecard__icon--heading\": _vm.heading }, attrs: { \"fill-color\": \"var(--note-theme)\", \"size\": 20 } })];\n  }), _c(\"div\", [_vm.heading ? _c(\"p\", { staticClass: \"notecard__heading\" }, [_vm._v(\" \" + _vm._s(_vm.heading) + \" \")]) : _vm._e(), _vm._t(\"default\", function() {\n    return [_c(\"p\", { staticClass: \"notecard__text\" }, [_vm._v(\" \" + _vm._s(_vm.text) + \" \")])];\n  })], 2)], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  \"1362be5a\"\n);\nconst NcNoteCard = __component__.exports;\nexport {\n  NcNoteCard as default\n};\n//# sourceMappingURL=NcNoteCard.mjs.map\n","import { basename } from \"path\";\nimport { spawnDialog as spawnDialog$1 } from \"@nextcloud/vue/functions/dialog\";\nimport { t, a as n, n as normalizeComponent } from \"./chunks/_plugin-vue2_normalizer-jrlE7CJU.mjs\";\nimport { h, f, g, d, e, c, T, b, l, k, o, s, i, m, j } from \"./chunks/_plugin-vue2_normalizer-jrlE7CJU.mjs\";\nimport { defineComponent, onMounted, onUnmounted, defineAsyncComponent } from \"vue\";\nimport NcDialog from \"@nextcloud/vue/components/NcDialog\";\nimport NcNoteCard from \"@nextcloud/vue/components/NcNoteCard\";\nconst IconMove = '<svg xmlns=\"http://www.w3.org/2000/svg\" id=\"mdi-folder-move\" viewBox=\"0 0 24 24\"><path d=\"M14,18V15H10V11H14V8L19,13M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6Z\" /></svg>';\nconst IconCopy = '<svg xmlns=\"http://www.w3.org/2000/svg\" id=\"mdi-folder-multiple\" viewBox=\"0 0 24 24\"><path d=\"M22,4H14L12,2H6A2,2 0 0,0 4,4V16A2,2 0 0,0 6,18H22A2,2 0 0,0 24,16V6A2,2 0 0,0 22,4M2,6H0V11H0V20A2,2 0 0,0 2,22H20V20H2V6Z\" /></svg>';\nvar FilePickerType = /* @__PURE__ */ ((FilePickerType2) => {\n  FilePickerType2[FilePickerType2[\"Choose\"] = 1] = \"Choose\";\n  FilePickerType2[FilePickerType2[\"Move\"] = 2] = \"Move\";\n  FilePickerType2[FilePickerType2[\"Copy\"] = 3] = \"Copy\";\n  FilePickerType2[FilePickerType2[\"CopyMove\"] = 4] = \"CopyMove\";\n  FilePickerType2[FilePickerType2[\"Custom\"] = 5] = \"Custom\";\n  return FilePickerType2;\n})(FilePickerType || {});\nclass FilePickerClosed extends Error {\n}\nclass FilePicker {\n  title;\n  multiSelect;\n  mimeTypeFilter;\n  directoriesAllowed;\n  buttons;\n  path;\n  filter;\n  canPick;\n  container;\n  disabledNavigation;\n  constructor(title, multiSelect, mimeTypeFilter, directoriesAllowed, buttons, path, filter, canPick, container, disabledNavigation = false) {\n    this.title = title;\n    this.multiSelect = multiSelect;\n    this.mimeTypeFilter = mimeTypeFilter;\n    this.directoriesAllowed = directoriesAllowed;\n    this.path = path;\n    this.filter = filter;\n    this.canPick = canPick;\n    this.buttons = buttons;\n    this.container = container;\n    this.disabledNavigation = disabledNavigation;\n  }\n  /**\n   * Pick files using the FilePicker.\n   *\n   * @return Promise with array of picked files or rejected promise on close without picking\n   */\n  async pickNodes() {\n    const { FilePickerVue } = await import(\"./chunks/index-hTwX2gcC.mjs\");\n    return new Promise((resolve, reject) => {\n      spawnDialog$1(FilePickerVue, {\n        allowPickDirectory: this.directoriesAllowed,\n        buttons: this.buttons,\n        container: this.container,\n        name: this.title,\n        path: this.path,\n        mimetypeFilter: this.mimeTypeFilter,\n        multiselect: this.multiSelect,\n        filterFn: this.filter,\n        canPickFn: this.canPick,\n        disabledNavigation: this.disabledNavigation\n      }, (...rest) => {\n        const [nodes] = rest;\n        if (!Array.isArray(nodes) || nodes.length === 0) {\n          reject(new FilePickerClosed(\"FilePicker: No nodes selected\"));\n        } else {\n          resolve(nodes);\n        }\n      });\n    });\n  }\n  /**\n   * Pick files using the FilePicker\n   *\n   * @return Promise with array of paths of picked files or rejected promise on close without picking\n   */\n  async pick() {\n    const nodes = await this.pickNodes();\n    if (this.multiSelect) {\n      return nodes.map((node) => node.path);\n    }\n    const path = nodes[0]?.path ?? \"/\";\n    return path;\n  }\n}\nclass FilePickerBuilder {\n  title;\n  multiSelect = false;\n  mimeTypeFilter = [];\n  directoriesAllowed = false;\n  path;\n  filter;\n  canPick;\n  buttons = [];\n  container;\n  disabledNavigation = false;\n  /**\n   * Construct a new FilePicker\n   *\n   * @param title Title of the FilePicker\n   */\n  constructor(title) {\n    this.title = title;\n  }\n  /**\n   * Set the container where the FilePicker will be mounted\n   * By default 'body' is used\n   *\n   * @param container The dialog container\n   */\n  setContainer(container) {\n    this.container = container;\n    return this;\n  }\n  /**\n   * Enable or disable picking multiple files\n   *\n   * @param ms True to enable picking multiple files, false otherwise\n   */\n  setMultiSelect(ms) {\n    this.multiSelect = ms;\n    return this;\n  }\n  /**\n   * Add allowed MIME type\n   *\n   * @param filter MIME type to allow\n   */\n  addMimeTypeFilter(filter) {\n    this.mimeTypeFilter.push(filter);\n    return this;\n  }\n  /**\n   * Set allowed MIME types\n   *\n   * @param filter Array of allowed MIME types\n   */\n  setMimeTypeFilter(filter) {\n    this.mimeTypeFilter = filter;\n    return this;\n  }\n  /**\n   * Add a button to the FilePicker\n   * Note: This overrides any previous `setButtonFactory` call\n   *\n   * @param button The button\n   */\n  addButton(button) {\n    if (typeof this.buttons === \"function\") {\n      console.warn(\"FilePicker buttons were set to factory, now overwritten with button object.\");\n      this.buttons = [];\n    }\n    this.buttons.push(button);\n    return this;\n  }\n  /**\n   * Set the button factory which is used to generate buttons from current view, path and selected nodes\n   * Note: This overrides any previous `addButton` call\n   *\n   * @param factory The button factory\n   */\n  setButtonFactory(factory) {\n    this.buttons = factory;\n    return this;\n  }\n  /**\n   * Set FilePicker type based on legacy file picker types\n   * @param type The legacy filepicker type to emulate\n   * @deprecated Use `addButton` or `setButtonFactory` instead as with setType you do not know which button was pressed\n   */\n  setType(type) {\n    this.buttons = (nodes, path) => {\n      const buttons = [];\n      const node = nodes?.[0]?.attributes?.displayName || nodes?.[0]?.basename;\n      const target = node || basename(path);\n      if (type === 1) {\n        let label = t(\"Choose\");\n        if (nodes.length === 1) {\n          label = t(\"Choose {file}\", { file: node });\n        } else if (this.multiSelect) {\n          label = n(\"Choose %n file\", \"Choose %n files\", nodes.length);\n        }\n        buttons.push({\n          callback: () => {\n          },\n          type: \"primary\",\n          label\n        });\n      }\n      if (type === 4 || type === 3) {\n        buttons.push({\n          callback: () => {\n          },\n          label: target ? t(\"Copy to {target}\", { target }) : t(\"Copy\"),\n          icon: IconCopy,\n          variant: type === 3 ? \"primary\" : \"secondary\"\n        });\n      }\n      if (type === 4 || type === 2) {\n        buttons.push({\n          callback: () => {\n          },\n          label: target ? t(\"Move to {target}\", { target }) : t(\"Move\"),\n          icon: IconMove,\n          variant: \"primary\"\n          // move is always primary - also on copy-move\n        });\n      }\n      return buttons;\n    };\n    return this;\n  }\n  /**\n   * Allow to pick directories besides files\n   *\n   * @param allow True to allow picking directories\n   */\n  allowDirectories(allow = true) {\n    this.directoriesAllowed = allow;\n    return this;\n  }\n  /**\n   * Set starting path of the FilePicker\n   *\n   * @param path Path to start from picking\n   */\n  startAt(path) {\n    this.path = path;\n    return this;\n  }\n  /**\n   * Add filter function to filter file list of FilePicker\n   *\n   * @param filter Filter function to apply\n   */\n  setFilter(filter) {\n    this.filter = filter;\n    return this;\n  }\n  /**\n   * Add function to allow or not picking a node\n   *\n   * @param canPick Function to decide if a node can be picked\n   */\n  setCanPick(canPick) {\n    this.canPick = canPick;\n    return this;\n  }\n  /**\n   * Disable navigation (view selection)\n   */\n  disableNavigation() {\n    this.disabledNavigation = true;\n    return this;\n  }\n  /**\n   * Construct the configured FilePicker\n   */\n  build() {\n    return new FilePicker(\n      this.title,\n      this.multiSelect,\n      this.mimeTypeFilter,\n      this.directoriesAllowed,\n      this.buttons,\n      this.path,\n      this.filter,\n      this.canPick,\n      this.container,\n      this.disabledNavigation\n    );\n  }\n}\nfunction getFilePickerBuilder(title) {\n  return new FilePickerBuilder(title);\n}\nconst spawnDialog = spawnDialog$1;\nvar DialogSeverity = /* @__PURE__ */ ((DialogSeverity2) => {\n  DialogSeverity2[\"Info\"] = \"info\";\n  DialogSeverity2[\"Warning\"] = \"warning\";\n  DialogSeverity2[\"Error\"] = \"error\";\n  return DialogSeverity2;\n})(DialogSeverity || {});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n  __name: \"GenericDialog\",\n  props: {\n    name: null,\n    text: null,\n    html: null,\n    buttons: null,\n    severity: null\n  },\n  setup(__props) {\n    const props = __props;\n    const handleUnload = () => `${props.name}: ${props.text}`;\n    onMounted(() => window.addEventListener(\"unload\", handleUnload));\n    onUnmounted(() => window.removeEventListener(\"unload\", handleUnload));\n    return { __sfc: true, props, handleUnload, NcDialog, NcNoteCard };\n  }\n});\nvar _sfc_render = function render() {\n  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;\n  return _c(_setup.NcDialog, { attrs: { \"dialog-classes\": \"nc-generic-dialog\", \"buttons\": _vm.buttons, \"name\": _vm.name, \"message\": _vm.text }, on: { \"update:open\": function($event) {\n    return _vm.$emit(\"close\");\n  } } }, [_vm.severity ? _c(_setup.NcNoteCard, { attrs: { \"type\": _vm.severity } }, [_c(\"p\", { domProps: { \"textContent\": _vm._s(_vm.text) } })]) : _vm._e(), _vm.html ? _c(\"div\", { domProps: { \"innerHTML\": _vm._s(_vm.html) } }) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  null\n);\nconst GenericDialog = __component__.exports;\nclass Dialog {\n  #name;\n  #text;\n  #buttons;\n  #severity;\n  #dialog;\n  /** @deprecated */\n  #html;\n  constructor(name, text, buttons = [], severity) {\n    this.#name = name;\n    this.#text = text;\n    this.#buttons = buttons;\n    this.#severity = severity;\n    this.#dialog = void 0;\n    this.#html = void 0;\n  }\n  /**\n   * @deprecated DO NOT USE! It will be removed in the near future!\n   * @param html HTML content\n   */\n  setHTML(html) {\n    this.#html = html;\n    return this;\n  }\n  /**\n   * Spawn and show the dialog - if already open the previous instance will be destroyed\n   * @return Promise that resolves when the dialog is answered successfully and rejects on close\n   */\n  async show() {\n    if (this.#dialog) {\n      this.#dialog.$destroy();\n    }\n    return new Promise((resolve) => {\n      this.#dialog = spawnDialog$1(\n        GenericDialog,\n        {\n          buttons: this.#buttons,\n          name: this.#name,\n          text: this.#text,\n          severity: this.#severity,\n          html: this.#html\n        },\n        resolve\n      );\n    });\n  }\n  /**\n   * Hide and destroy the current dialog instance\n   *\n   * @deprecated use the promise of the `show` methods for the user interaction.\n   */\n  hide() {\n    this.#dialog?.$destroy();\n  }\n}\nclass DialogBuilder {\n  #severity;\n  #text;\n  #name;\n  #buttons;\n  constructor(name) {\n    this.#severity = void 0;\n    this.#text = \"\";\n    this.#name = name ?? \"\";\n    this.#buttons = [];\n  }\n  /**\n   * Set dialog name\n   * @param name The name or headline of the dialog\n   */\n  setName(name) {\n    this.#name = name;\n    return this;\n  }\n  /**\n   * Set the dialog text\n   * @param text Main text of the dialog\n   */\n  setText(text) {\n    this.#text = text;\n    return this;\n  }\n  /**\n   * Set the severity of the dialog\n   * @param severity Severity of the dialog\n   */\n  setSeverity(severity) {\n    this.#severity = severity;\n    return this;\n  }\n  /**\n   * Set buttons from array\n   * @param buttons Either an array of dialog buttons\n   */\n  setButtons(buttons) {\n    if (this.#buttons.length > 0) {\n      console.warn(\"[@nextcloud/dialogs] Dialog buttons are already set - this overrides previous buttons.\");\n    }\n    this.#buttons = buttons;\n    return this;\n  }\n  /**\n   * Add a single button\n   * @param button Button to add\n   */\n  addButton(button) {\n    this.#buttons.push(button);\n    return this;\n  }\n  build() {\n    return new Dialog(this.#name, this.#text, this.#buttons, this.#severity);\n  }\n}\nfunction getDialogBuilder(name) {\n  return new DialogBuilder(name);\n}\nfunction showGuestUserPrompt(props) {\n  return new Promise((resolve) => {\n    spawnDialog$1(\n      defineAsyncComponent(() => import(\"./chunks/PublicAuthPrompt-ecDAsnUN.mjs\")),\n      props,\n      resolve\n    );\n  });\n}\nexport {\n  Dialog,\n  DialogBuilder,\n  DialogSeverity,\n  FilePicker,\n  FilePickerBuilder,\n  FilePickerClosed,\n  FilePickerType,\n  h as TOAST_ARIA_LIVE_ASSERTIVE,\n  f as TOAST_ARIA_LIVE_OFF,\n  g as TOAST_ARIA_LIVE_POLITE,\n  d as TOAST_DEFAULT_TIMEOUT,\n  e as TOAST_PERMANENT_TIMEOUT,\n  c as TOAST_UNDO_TIMEOUT,\n  T as ToastAriaLive,\n  b as ToastType,\n  getDialogBuilder,\n  getFilePickerBuilder,\n  l as showError,\n  showGuestUserPrompt,\n  k as showInfo,\n  o as showLoading,\n  s as showMessage,\n  i as showSuccess,\n  m as showUndo,\n  j as showWarning,\n  spawnDialog\n};\n//# sourceMappingURL=index.mjs.map\n","'use strict';\n\n/**\n * Create a bound version of a function with a specified `this` context\n *\n * @param {Function} fn - The function to bind\n * @param {*} thisArg - The value to be passed as the `this` parameter\n * @returns {Function} A new function that will call the original function with the specified `this` context\n */\nexport default function bind(fn, thisArg) {\n  return function wrap() {\n    return fn.apply(thisArg, arguments);\n  };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\nconst {iterator, toStringTag} = Symbol;\n\nconst kindOf = (cache => thing => {\n    const str = toString.call(thing);\n    return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n  type = type.toLowerCase();\n  return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n  return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n    && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n  let result;\n  if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n    result = ArrayBuffer.isView(val);\n  } else {\n    result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n  }\n  return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n  if (kindOf(val) !== 'object') {\n    return false;\n  }\n\n  const prototype = getPrototypeOf(val);\n  return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);\n}\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n  // Early return for non-objects or Buffers to prevent RangeError\n  if (!isObject(val) || isBuffer(val)) {\n    return false;\n  }\n\n  try {\n    return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n  } catch (e) {\n    // Fallback for any other objects that might cause RangeError with Object.keys()\n    return false;\n  }\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n  let kind;\n  return thing && (\n    (typeof FormData === 'function' && thing instanceof FormData) || (\n      isFunction(thing.append) && (\n        (kind = kindOf(thing)) === 'formdata' ||\n        // detect form-data instance\n        (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n      )\n    )\n  )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n  str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n  // Don't bother if no value provided\n  if (obj === null || typeof obj === 'undefined') {\n    return;\n  }\n\n  let i;\n  let l;\n\n  // Force an array if not already something iterable\n  if (typeof obj !== 'object') {\n    /*eslint no-param-reassign:0*/\n    obj = [obj];\n  }\n\n  if (isArray(obj)) {\n    // Iterate over array values\n    for (i = 0, l = obj.length; i < l; i++) {\n      fn.call(null, obj[i], i, obj);\n    }\n  } else {\n    // Buffer check\n    if (isBuffer(obj)) {\n      return;\n    }\n\n    // Iterate over object keys\n    const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n    const len = keys.length;\n    let key;\n\n    for (i = 0; i < len; i++) {\n      key = keys[i];\n      fn.call(null, obj[key], key, obj);\n    }\n  }\n}\n\nfunction findKey(obj, key) {\n  if (isBuffer(obj)){\n    return null;\n  }\n\n  key = key.toLowerCase();\n  const keys = Object.keys(obj);\n  let i = keys.length;\n  let _key;\n  while (i-- > 0) {\n    _key = keys[i];\n    if (key === _key.toLowerCase()) {\n      return _key;\n    }\n  }\n  return null;\n}\n\nconst _global = (() => {\n  /*eslint no-undef:0*/\n  if (typeof globalThis !== \"undefined\") return globalThis;\n  return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n  const {caseless, skipUndefined} = isContextDefined(this) && this || {};\n  const result = {};\n  const assignValue = (val, key) => {\n    const targetKey = caseless && findKey(result, key) || key;\n    if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n      result[targetKey] = merge(result[targetKey], val);\n    } else if (isPlainObject(val)) {\n      result[targetKey] = merge({}, val);\n    } else if (isArray(val)) {\n      result[targetKey] = val.slice();\n    } else if (!skipUndefined || !isUndefined(val)) {\n      result[targetKey] = val;\n    }\n  }\n\n  for (let i = 0, l = arguments.length; i < l; i++) {\n    arguments[i] && forEach(arguments[i], assignValue);\n  }\n  return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n  forEach(b, (val, key) => {\n    if (thisArg && isFunction(val)) {\n      a[key] = bind(val, thisArg);\n    } else {\n      a[key] = val;\n    }\n  }, {allOwnKeys});\n  return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n  if (content.charCodeAt(0) === 0xFEFF) {\n    content = content.slice(1);\n  }\n  return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n  constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n  constructor.prototype.constructor = constructor;\n  Object.defineProperty(constructor, 'super', {\n    value: superConstructor.prototype\n  });\n  props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n  let props;\n  let i;\n  let prop;\n  const merged = {};\n\n  destObj = destObj || {};\n  // eslint-disable-next-line no-eq-null,eqeqeq\n  if (sourceObj == null) return destObj;\n\n  do {\n    props = Object.getOwnPropertyNames(sourceObj);\n    i = props.length;\n    while (i-- > 0) {\n      prop = props[i];\n      if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n        destObj[prop] = sourceObj[prop];\n        merged[prop] = true;\n      }\n    }\n    sourceObj = filter !== false && getPrototypeOf(sourceObj);\n  } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n  return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n  str = String(str);\n  if (position === undefined || position > str.length) {\n    position = str.length;\n  }\n  position -= searchString.length;\n  const lastIndex = str.indexOf(searchString, position);\n  return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n  if (!thing) return null;\n  if (isArray(thing)) return thing;\n  let i = thing.length;\n  if (!isNumber(i)) return null;\n  const arr = new Array(i);\n  while (i-- > 0) {\n    arr[i] = thing[i];\n  }\n  return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n  // eslint-disable-next-line func-names\n  return thing => {\n    return TypedArray && thing instanceof TypedArray;\n  };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n  const generator = obj && obj[iterator];\n\n  const _iterator = generator.call(obj);\n\n  let result;\n\n  while ((result = _iterator.next()) && !result.done) {\n    const pair = result.value;\n    fn.call(obj, pair[0], pair[1]);\n  }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n  let matches;\n  const arr = [];\n\n  while ((matches = regExp.exec(str)) !== null) {\n    arr.push(matches);\n  }\n\n  return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n  return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n    function replacer(m, p1, p2) {\n      return p1.toUpperCase() + p2;\n    }\n  );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n  const descriptors = Object.getOwnPropertyDescriptors(obj);\n  const reducedDescriptors = {};\n\n  forEach(descriptors, (descriptor, name) => {\n    let ret;\n    if ((ret = reducer(descriptor, name, obj)) !== false) {\n      reducedDescriptors[name] = ret || descriptor;\n    }\n  });\n\n  Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n  reduceDescriptors(obj, (descriptor, name) => {\n    // skip restricted props in strict mode\n    if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n      return false;\n    }\n\n    const value = obj[name];\n\n    if (!isFunction(value)) return;\n\n    descriptor.enumerable = false;\n\n    if ('writable' in descriptor) {\n      descriptor.writable = false;\n      return;\n    }\n\n    if (!descriptor.set) {\n      descriptor.set = () => {\n        throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n      };\n    }\n  });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n  const obj = {};\n\n  const define = (arr) => {\n    arr.forEach(value => {\n      obj[value] = true;\n    });\n  }\n\n  isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n  return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n  return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\n\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n  return !!(thing && isFunction(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);\n}\n\nconst toJSONObject = (obj) => {\n  const stack = new Array(10);\n\n  const visit = (source, i) => {\n\n    if (isObject(source)) {\n      if (stack.indexOf(source) >= 0) {\n        return;\n      }\n\n      //Buffer check\n      if (isBuffer(source)) {\n        return source;\n      }\n\n      if(!('toJSON' in source)) {\n        stack[i] = source;\n        const target = isArray(source) ? [] : {};\n\n        forEach(source, (value, key) => {\n          const reducedValue = visit(value, i + 1);\n          !isUndefined(reducedValue) && (target[key] = reducedValue);\n        });\n\n        stack[i] = undefined;\n\n        return target;\n      }\n    }\n\n    return source;\n  }\n\n  return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n  thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n  if (setImmediateSupported) {\n    return setImmediate;\n  }\n\n  return postMessageSupported ? ((token, callbacks) => {\n    _global.addEventListener(\"message\", ({source, data}) => {\n      if (source === _global && data === token) {\n        callbacks.length && callbacks.shift()();\n      }\n    }, false);\n\n    return (cb) => {\n      callbacks.push(cb);\n      _global.postMessage(token, \"*\");\n    }\n  })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n  typeof setImmediate === 'function',\n  isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n  queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\n\nexport default {\n  isArray,\n  isArrayBuffer,\n  isBuffer,\n  isFormData,\n  isArrayBufferView,\n  isString,\n  isNumber,\n  isBoolean,\n  isObject,\n  isPlainObject,\n  isEmptyObject,\n  isReadableStream,\n  isRequest,\n  isResponse,\n  isHeaders,\n  isUndefined,\n  isDate,\n  isFile,\n  isBlob,\n  isRegExp,\n  isFunction,\n  isStream,\n  isURLSearchParams,\n  isTypedArray,\n  isFileList,\n  forEach,\n  merge,\n  extend,\n  trim,\n  stripBOM,\n  inherits,\n  toFlatObject,\n  kindOf,\n  kindOfTest,\n  endsWith,\n  toArray,\n  forEachEntry,\n  matchAll,\n  isHTMLForm,\n  hasOwnProperty,\n  hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n  reduceDescriptors,\n  freezeMethods,\n  toObjectSet,\n  toCamelCase,\n  noop,\n  toFiniteNumber,\n  findKey,\n  global: _global,\n  isContextDefined,\n  isSpecCompliantForm,\n  toJSONObject,\n  isAsyncFn,\n  isThenable,\n  setImmediate: _setImmediate,\n  asap,\n  isIterable\n};\n","var buffer = {};\n\nvar base64Js = {};\n\nbase64Js.byteLength = byteLength;\nbase64Js.toByteArray = toByteArray;\nbase64Js.fromByteArray = fromByteArray;\n\nvar lookup = [];\nvar revLookup = [];\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nfor (var i = 0, len = code.length; i < len; ++i) {\n  lookup[i] = code[i];\n  revLookup[code.charCodeAt(i)] = i;\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62;\nrevLookup['_'.charCodeAt(0)] = 63;\n\nfunction getLens (b64) {\n  var len = b64.length;\n\n  if (len % 4 > 0) {\n    throw new Error('Invalid string. Length must be a multiple of 4')\n  }\n\n  // Trim off extra bytes after placeholder bytes are found\n  // See: https://github.com/beatgammit/base64-js/issues/42\n  var validLen = b64.indexOf('=');\n  if (validLen === -1) validLen = len;\n\n  var placeHoldersLen = validLen === len\n    ? 0\n    : 4 - (validLen % 4);\n\n  return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n  var lens = getLens(b64);\n  var validLen = lens[0];\n  var placeHoldersLen = lens[1];\n  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n  var tmp;\n  var lens = getLens(b64);\n  var validLen = lens[0];\n  var placeHoldersLen = lens[1];\n\n  var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n\n  var curByte = 0;\n\n  // if there are placeholders, only get up to the last complete 4 chars\n  var len = placeHoldersLen > 0\n    ? validLen - 4\n    : validLen;\n\n  var i;\n  for (i = 0; i < len; i += 4) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 18) |\n      (revLookup[b64.charCodeAt(i + 1)] << 12) |\n      (revLookup[b64.charCodeAt(i + 2)] << 6) |\n      revLookup[b64.charCodeAt(i + 3)];\n    arr[curByte++] = (tmp >> 16) & 0xFF;\n    arr[curByte++] = (tmp >> 8) & 0xFF;\n    arr[curByte++] = tmp & 0xFF;\n  }\n\n  if (placeHoldersLen === 2) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 2) |\n      (revLookup[b64.charCodeAt(i + 1)] >> 4);\n    arr[curByte++] = tmp & 0xFF;\n  }\n\n  if (placeHoldersLen === 1) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 10) |\n      (revLookup[b64.charCodeAt(i + 1)] << 4) |\n      (revLookup[b64.charCodeAt(i + 2)] >> 2);\n    arr[curByte++] = (tmp >> 8) & 0xFF;\n    arr[curByte++] = tmp & 0xFF;\n  }\n\n  return arr\n}\n\nfunction tripletToBase64 (num) {\n  return lookup[num >> 18 & 0x3F] +\n    lookup[num >> 12 & 0x3F] +\n    lookup[num >> 6 & 0x3F] +\n    lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n  var tmp;\n  var output = [];\n  for (var i = start; i < end; i += 3) {\n    tmp =\n      ((uint8[i] << 16) & 0xFF0000) +\n      ((uint8[i + 1] << 8) & 0xFF00) +\n      (uint8[i + 2] & 0xFF);\n    output.push(tripletToBase64(tmp));\n  }\n  return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n  var tmp;\n  var len = uint8.length;\n  var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n  var parts = [];\n  var maxChunkLength = 16383; // must be multiple of 3\n\n  // go through the array every three bytes, we'll deal with trailing stuff later\n  for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n    parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)));\n  }\n\n  // pad the end with zeros, but make sure to not forget the extra bytes\n  if (extraBytes === 1) {\n    tmp = uint8[len - 1];\n    parts.push(\n      lookup[tmp >> 2] +\n      lookup[(tmp << 4) & 0x3F] +\n      '=='\n    );\n  } else if (extraBytes === 2) {\n    tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n    parts.push(\n      lookup[tmp >> 10] +\n      lookup[(tmp >> 4) & 0x3F] +\n      lookup[(tmp << 2) & 0x3F] +\n      '='\n    );\n  }\n\n  return parts.join('')\n}\n\nvar ieee754 = {};\n\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\n\nieee754.read = function (buffer, offset, isLE, mLen, nBytes) {\n  var e, m;\n  var eLen = (nBytes * 8) - mLen - 1;\n  var eMax = (1 << eLen) - 1;\n  var eBias = eMax >> 1;\n  var nBits = -7;\n  var i = isLE ? (nBytes - 1) : 0;\n  var d = isLE ? -1 : 1;\n  var s = buffer[offset + i];\n\n  i += d;\n\n  e = s & ((1 << (-nBits)) - 1);\n  s >>= (-nBits);\n  nBits += eLen;\n  for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  m = e & ((1 << (-nBits)) - 1);\n  e >>= (-nBits);\n  nBits += mLen;\n  for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  if (e === 0) {\n    e = 1 - eBias;\n  } else if (e === eMax) {\n    return m ? NaN : ((s ? -1 : 1) * Infinity)\n  } else {\n    m = m + Math.pow(2, mLen);\n    e = e - eBias;\n  }\n  return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n};\n\nieee754.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n  var e, m, c;\n  var eLen = (nBytes * 8) - mLen - 1;\n  var eMax = (1 << eLen) - 1;\n  var eBias = eMax >> 1;\n  var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0);\n  var i = isLE ? 0 : (nBytes - 1);\n  var d = isLE ? 1 : -1;\n  var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;\n\n  value = Math.abs(value);\n\n  if (isNaN(value) || value === Infinity) {\n    m = isNaN(value) ? 1 : 0;\n    e = eMax;\n  } else {\n    e = Math.floor(Math.log(value) / Math.LN2);\n    if (value * (c = Math.pow(2, -e)) < 1) {\n      e--;\n      c *= 2;\n    }\n    if (e + eBias >= 1) {\n      value += rt / c;\n    } else {\n      value += rt * Math.pow(2, 1 - eBias);\n    }\n    if (value * c >= 2) {\n      e++;\n      c /= 2;\n    }\n\n    if (e + eBias >= eMax) {\n      m = 0;\n      e = eMax;\n    } else if (e + eBias >= 1) {\n      m = ((value * c) - 1) * Math.pow(2, mLen);\n      e = e + eBias;\n    } else {\n      m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n      e = 0;\n    }\n  }\n\n  for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n  e = (e << mLen) | m;\n  eLen += mLen;\n  for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n  buffer[offset + i - d] |= s * 128;\n};\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author   Feross Aboukhadijeh <https://feross.org>\n * @license  MIT\n */\n\n(function (exports) {\n\n\tconst base64 = base64Js;\n\tconst ieee754$1 = ieee754;\n\tconst customInspectSymbol =\n\t  (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n\t    ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n\t    : null;\n\n\texports.Buffer = Buffer;\n\texports.SlowBuffer = SlowBuffer;\n\texports.INSPECT_MAX_BYTES = 50;\n\n\tconst K_MAX_LENGTH = 0x7fffffff;\n\texports.kMaxLength = K_MAX_LENGTH;\n\tconst { Uint8Array: GlobalUint8Array, ArrayBuffer: GlobalArrayBuffer, SharedArrayBuffer: GlobalSharedArrayBuffer } = globalThis;\n\n\t/**\n\t * If `Buffer.TYPED_ARRAY_SUPPORT`:\n\t *   === true    Use Uint8Array implementation (fastest)\n\t *   === false   Print warning and recommend using `buffer` v4.x which has an Object\n\t *               implementation (most compatible, even IE6)\n\t *\n\t * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n\t * Opera 11.6+, iOS 4.2+.\n\t *\n\t * We report that the browser does not support typed arrays if the are not subclassable\n\t * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n\t * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n\t * for __proto__ and has a buggy typed array implementation.\n\t */\n\tBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n\tif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n\t    typeof console.error === 'function') {\n\t  console.error(\n\t    'This browser lacks typed array (Uint8Array) support which is required by ' +\n\t    '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n\t  );\n\t}\n\n\tfunction typedArraySupport () {\n\t  // Can typed array instances can be augmented?\n\t  try {\n\t    const arr = new GlobalUint8Array(1);\n\t    const proto = { foo: function () { return 42 } };\n\t    Object.setPrototypeOf(proto, GlobalUint8Array.prototype);\n\t    Object.setPrototypeOf(arr, proto);\n\t    return arr.foo() === 42\n\t  } catch (e) {\n\t    return false\n\t  }\n\t}\n\n\tObject.defineProperty(Buffer.prototype, 'parent', {\n\t  enumerable: true,\n\t  get: function () {\n\t    if (!Buffer.isBuffer(this)) return undefined\n\t    return this.buffer\n\t  }\n\t});\n\n\tObject.defineProperty(Buffer.prototype, 'offset', {\n\t  enumerable: true,\n\t  get: function () {\n\t    if (!Buffer.isBuffer(this)) return undefined\n\t    return this.byteOffset\n\t  }\n\t});\n\n\tfunction createBuffer (length) {\n\t  if (length > K_MAX_LENGTH) {\n\t    throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n\t  }\n\t  // Return an augmented `Uint8Array` instance\n\t  const buf = new GlobalUint8Array(length);\n\t  Object.setPrototypeOf(buf, Buffer.prototype);\n\t  return buf\n\t}\n\n\t/**\n\t * The Buffer constructor returns instances of `Uint8Array` that have their\n\t * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n\t * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n\t * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n\t * returns a single octet.\n\t *\n\t * The `Uint8Array` prototype remains unmodified.\n\t */\n\n\tfunction Buffer (arg, encodingOrOffset, length) {\n\t  // Common case.\n\t  if (typeof arg === 'number') {\n\t    if (typeof encodingOrOffset === 'string') {\n\t      throw new TypeError(\n\t        'The \"string\" argument must be of type string. Received type number'\n\t      )\n\t    }\n\t    return allocUnsafe(arg)\n\t  }\n\t  return from(arg, encodingOrOffset, length)\n\t}\n\n\tBuffer.poolSize = 8192; // not used by this implementation\n\n\tfunction from (value, encodingOrOffset, length) {\n\t  if (typeof value === 'string') {\n\t    return fromString(value, encodingOrOffset)\n\t  }\n\n\t  if (GlobalArrayBuffer.isView(value)) {\n\t    return fromArrayView(value)\n\t  }\n\n\t  if (value == null) {\n\t    throw new TypeError(\n\t      'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t      'or Array-like Object. Received type ' + (typeof value)\n\t    )\n\t  }\n\n\t  if (isInstance(value, GlobalArrayBuffer) ||\n\t      (value && isInstance(value.buffer, GlobalArrayBuffer))) {\n\t    return fromArrayBuffer(value, encodingOrOffset, length)\n\t  }\n\n\t  if (typeof GlobalSharedArrayBuffer !== 'undefined' &&\n\t      (isInstance(value, GlobalSharedArrayBuffer) ||\n\t      (value && isInstance(value.buffer, GlobalSharedArrayBuffer)))) {\n\t    return fromArrayBuffer(value, encodingOrOffset, length)\n\t  }\n\n\t  if (typeof value === 'number') {\n\t    throw new TypeError(\n\t      'The \"value\" argument must not be of type number. Received type number'\n\t    )\n\t  }\n\n\t  const valueOf = value.valueOf && value.valueOf();\n\t  if (valueOf != null && valueOf !== value) {\n\t    return Buffer.from(valueOf, encodingOrOffset, length)\n\t  }\n\n\t  const b = fromObject(value);\n\t  if (b) return b\n\n\t  if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n\t      typeof value[Symbol.toPrimitive] === 'function') {\n\t    return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n\t  }\n\n\t  throw new TypeError(\n\t    'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t    'or Array-like Object. Received type ' + (typeof value)\n\t  )\n\t}\n\n\t/**\n\t * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n\t * if value is a number.\n\t * Buffer.from(str[, encoding])\n\t * Buffer.from(array)\n\t * Buffer.from(buffer)\n\t * Buffer.from(arrayBuffer[, byteOffset[, length]])\n\t **/\n\tBuffer.from = function (value, encodingOrOffset, length) {\n\t  return from(value, encodingOrOffset, length)\n\t};\n\n\t// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n\t// https://github.com/feross/buffer/pull/148\n\tObject.setPrototypeOf(Buffer.prototype, GlobalUint8Array.prototype);\n\tObject.setPrototypeOf(Buffer, GlobalUint8Array);\n\n\tfunction assertSize (size) {\n\t  if (typeof size !== 'number') {\n\t    throw new TypeError('\"size\" argument must be of type number')\n\t  } else if (size < 0) {\n\t    throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n\t  }\n\t}\n\n\tfunction alloc (size, fill, encoding) {\n\t  assertSize(size);\n\t  if (size <= 0) {\n\t    return createBuffer(size)\n\t  }\n\t  if (fill !== undefined) {\n\t    // Only pay attention to encoding if it's a string. This\n\t    // prevents accidentally sending in a number that would\n\t    // be interpreted as a start offset.\n\t    return typeof encoding === 'string'\n\t      ? createBuffer(size).fill(fill, encoding)\n\t      : createBuffer(size).fill(fill)\n\t  }\n\t  return createBuffer(size)\n\t}\n\n\t/**\n\t * Creates a new filled Buffer instance.\n\t * alloc(size[, fill[, encoding]])\n\t **/\n\tBuffer.alloc = function (size, fill, encoding) {\n\t  return alloc(size, fill, encoding)\n\t};\n\n\tfunction allocUnsafe (size) {\n\t  assertSize(size);\n\t  return createBuffer(size < 0 ? 0 : checked(size) | 0)\n\t}\n\n\t/**\n\t * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n\t * */\n\tBuffer.allocUnsafe = function (size) {\n\t  return allocUnsafe(size)\n\t};\n\t/**\n\t * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n\t */\n\tBuffer.allocUnsafeSlow = function (size) {\n\t  return allocUnsafe(size)\n\t};\n\n\tfunction fromString (string, encoding) {\n\t  if (typeof encoding !== 'string' || encoding === '') {\n\t    encoding = 'utf8';\n\t  }\n\n\t  if (!Buffer.isEncoding(encoding)) {\n\t    throw new TypeError('Unknown encoding: ' + encoding)\n\t  }\n\n\t  const length = byteLength(string, encoding) | 0;\n\t  let buf = createBuffer(length);\n\n\t  const actual = buf.write(string, encoding);\n\n\t  if (actual !== length) {\n\t    // Writing a hex string, for example, that contains invalid characters will\n\t    // cause everything after the first invalid character to be ignored. (e.g.\n\t    // 'abxxcd' will be treated as 'ab')\n\t    buf = buf.slice(0, actual);\n\t  }\n\n\t  return buf\n\t}\n\n\tfunction fromArrayLike (array) {\n\t  const length = array.length < 0 ? 0 : checked(array.length) | 0;\n\t  const buf = createBuffer(length);\n\t  for (let i = 0; i < length; i += 1) {\n\t    buf[i] = array[i] & 255;\n\t  }\n\t  return buf\n\t}\n\n\tfunction fromArrayView (arrayView) {\n\t  if (isInstance(arrayView, GlobalUint8Array)) {\n\t    const copy = new GlobalUint8Array(arrayView);\n\t    return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n\t  }\n\t  return fromArrayLike(arrayView)\n\t}\n\n\tfunction fromArrayBuffer (array, byteOffset, length) {\n\t  if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t    throw new RangeError('\"offset\" is outside of buffer bounds')\n\t  }\n\n\t  if (array.byteLength < byteOffset + (length || 0)) {\n\t    throw new RangeError('\"length\" is outside of buffer bounds')\n\t  }\n\n\t  let buf;\n\t  if (byteOffset === undefined && length === undefined) {\n\t    buf = new GlobalUint8Array(array);\n\t  } else if (length === undefined) {\n\t    buf = new GlobalUint8Array(array, byteOffset);\n\t  } else {\n\t    buf = new GlobalUint8Array(array, byteOffset, length);\n\t  }\n\n\t  // Return an augmented `Uint8Array` instance\n\t  Object.setPrototypeOf(buf, Buffer.prototype);\n\n\t  return buf\n\t}\n\n\tfunction fromObject (obj) {\n\t  if (Buffer.isBuffer(obj)) {\n\t    const len = checked(obj.length) | 0;\n\t    const buf = createBuffer(len);\n\n\t    if (buf.length === 0) {\n\t      return buf\n\t    }\n\n\t    obj.copy(buf, 0, 0, len);\n\t    return buf\n\t  }\n\n\t  if (obj.length !== undefined) {\n\t    if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n\t      return createBuffer(0)\n\t    }\n\t    return fromArrayLike(obj)\n\t  }\n\n\t  if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n\t    return fromArrayLike(obj.data)\n\t  }\n\t}\n\n\tfunction checked (length) {\n\t  // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n\t  // length is NaN (which is otherwise coerced to zero.)\n\t  if (length >= K_MAX_LENGTH) {\n\t    throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n\t                         'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n\t  }\n\t  return length | 0\n\t}\n\n\tfunction SlowBuffer (length) {\n\t  if (+length != length) { // eslint-disable-line eqeqeq\n\t    length = 0;\n\t  }\n\t  return Buffer.alloc(+length)\n\t}\n\n\tBuffer.isBuffer = function isBuffer (b) {\n\t  return b != null && b._isBuffer === true &&\n\t    b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n\t};\n\n\tBuffer.compare = function compare (a, b) {\n\t  if (isInstance(a, GlobalUint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n\t  if (isInstance(b, GlobalUint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n\t  if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n\t    throw new TypeError(\n\t      'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n\t    )\n\t  }\n\n\t  if (a === b) return 0\n\n\t  let x = a.length;\n\t  let y = b.length;\n\n\t  for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n\t    if (a[i] !== b[i]) {\n\t      x = a[i];\n\t      y = b[i];\n\t      break\n\t    }\n\t  }\n\n\t  if (x < y) return -1\n\t  if (y < x) return 1\n\t  return 0\n\t};\n\n\tBuffer.isEncoding = function isEncoding (encoding) {\n\t  switch (String(encoding).toLowerCase()) {\n\t    case 'hex':\n\t    case 'utf8':\n\t    case 'utf-8':\n\t    case 'ascii':\n\t    case 'latin1':\n\t    case 'binary':\n\t    case 'base64':\n\t    case 'ucs2':\n\t    case 'ucs-2':\n\t    case 'utf16le':\n\t    case 'utf-16le':\n\t      return true\n\t    default:\n\t      return false\n\t  }\n\t};\n\n\tBuffer.concat = function concat (list, length) {\n\t  if (!Array.isArray(list)) {\n\t    throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t  }\n\n\t  if (list.length === 0) {\n\t    return Buffer.alloc(0)\n\t  }\n\n\t  let i;\n\t  if (length === undefined) {\n\t    length = 0;\n\t    for (i = 0; i < list.length; ++i) {\n\t      length += list[i].length;\n\t    }\n\t  }\n\n\t  const buffer = Buffer.allocUnsafe(length);\n\t  let pos = 0;\n\t  for (i = 0; i < list.length; ++i) {\n\t    let buf = list[i];\n\t    if (isInstance(buf, GlobalUint8Array)) {\n\t      if (pos + buf.length > buffer.length) {\n\t        if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf);\n\t        buf.copy(buffer, pos);\n\t      } else {\n\t        GlobalUint8Array.prototype.set.call(\n\t          buffer,\n\t          buf,\n\t          pos\n\t        );\n\t      }\n\t    } else if (!Buffer.isBuffer(buf)) {\n\t      throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t    } else {\n\t      buf.copy(buffer, pos);\n\t    }\n\t    pos += buf.length;\n\t  }\n\t  return buffer\n\t};\n\n\tfunction byteLength (string, encoding) {\n\t  if (Buffer.isBuffer(string)) {\n\t    return string.length\n\t  }\n\t  if (GlobalArrayBuffer.isView(string) || isInstance(string, GlobalArrayBuffer)) {\n\t    return string.byteLength\n\t  }\n\t  if (typeof string !== 'string') {\n\t    throw new TypeError(\n\t      'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n\t      'Received type ' + typeof string\n\t    )\n\t  }\n\n\t  const len = string.length;\n\t  const mustMatch = (arguments.length > 2 && arguments[2] === true);\n\t  if (!mustMatch && len === 0) return 0\n\n\t  // Use a for loop to avoid recursion\n\t  let loweredCase = false;\n\t  for (;;) {\n\t    switch (encoding) {\n\t      case 'ascii':\n\t      case 'latin1':\n\t      case 'binary':\n\t        return len\n\t      case 'utf8':\n\t      case 'utf-8':\n\t        return utf8ToBytes(string).length\n\t      case 'ucs2':\n\t      case 'ucs-2':\n\t      case 'utf16le':\n\t      case 'utf-16le':\n\t        return len * 2\n\t      case 'hex':\n\t        return len >>> 1\n\t      case 'base64':\n\t        return base64ToBytes(string).length\n\t      default:\n\t        if (loweredCase) {\n\t          return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n\t        }\n\t        encoding = ('' + encoding).toLowerCase();\n\t        loweredCase = true;\n\t    }\n\t  }\n\t}\n\tBuffer.byteLength = byteLength;\n\n\tfunction slowToString (encoding, start, end) {\n\t  let loweredCase = false;\n\n\t  // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n\t  // property of a typed array.\n\n\t  // This behaves neither like String nor Uint8Array in that we set start/end\n\t  // to their upper/lower bounds if the value passed is out of range.\n\t  // undefined is handled specially as per ECMA-262 6th Edition,\n\t  // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\t  if (start === undefined || start < 0) {\n\t    start = 0;\n\t  }\n\t  // Return early if start > this.length. Done here to prevent potential uint32\n\t  // coercion fail below.\n\t  if (start > this.length) {\n\t    return ''\n\t  }\n\n\t  if (end === undefined || end > this.length) {\n\t    end = this.length;\n\t  }\n\n\t  if (end <= 0) {\n\t    return ''\n\t  }\n\n\t  // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n\t  end >>>= 0;\n\t  start >>>= 0;\n\n\t  if (end <= start) {\n\t    return ''\n\t  }\n\n\t  if (!encoding) encoding = 'utf8';\n\n\t  while (true) {\n\t    switch (encoding) {\n\t      case 'hex':\n\t        return hexSlice(this, start, end)\n\n\t      case 'utf8':\n\t      case 'utf-8':\n\t        return utf8Slice(this, start, end)\n\n\t      case 'ascii':\n\t        return asciiSlice(this, start, end)\n\n\t      case 'latin1':\n\t      case 'binary':\n\t        return latin1Slice(this, start, end)\n\n\t      case 'base64':\n\t        return base64Slice(this, start, end)\n\n\t      case 'ucs2':\n\t      case 'ucs-2':\n\t      case 'utf16le':\n\t      case 'utf-16le':\n\t        return utf16leSlice(this, start, end)\n\n\t      default:\n\t        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t        encoding = (encoding + '').toLowerCase();\n\t        loweredCase = true;\n\t    }\n\t  }\n\t}\n\n\t// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n\t// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n\t// reliably in a browserify context because there could be multiple different\n\t// copies of the 'buffer' package in use. This method works even for Buffer\n\t// instances that were created from another copy of the `buffer` package.\n\t// See: https://github.com/feross/buffer/issues/154\n\tBuffer.prototype._isBuffer = true;\n\n\tfunction swap (b, n, m) {\n\t  const i = b[n];\n\t  b[n] = b[m];\n\t  b[m] = i;\n\t}\n\n\tBuffer.prototype.swap16 = function swap16 () {\n\t  const len = this.length;\n\t  if (len % 2 !== 0) {\n\t    throw new RangeError('Buffer size must be a multiple of 16-bits')\n\t  }\n\t  for (let i = 0; i < len; i += 2) {\n\t    swap(this, i, i + 1);\n\t  }\n\t  return this\n\t};\n\n\tBuffer.prototype.swap32 = function swap32 () {\n\t  const len = this.length;\n\t  if (len % 4 !== 0) {\n\t    throw new RangeError('Buffer size must be a multiple of 32-bits')\n\t  }\n\t  for (let i = 0; i < len; i += 4) {\n\t    swap(this, i, i + 3);\n\t    swap(this, i + 1, i + 2);\n\t  }\n\t  return this\n\t};\n\n\tBuffer.prototype.swap64 = function swap64 () {\n\t  const len = this.length;\n\t  if (len % 8 !== 0) {\n\t    throw new RangeError('Buffer size must be a multiple of 64-bits')\n\t  }\n\t  for (let i = 0; i < len; i += 8) {\n\t    swap(this, i, i + 7);\n\t    swap(this, i + 1, i + 6);\n\t    swap(this, i + 2, i + 5);\n\t    swap(this, i + 3, i + 4);\n\t  }\n\t  return this\n\t};\n\n\tBuffer.prototype.toString = function toString () {\n\t  const length = this.length;\n\t  if (length === 0) return ''\n\t  if (arguments.length === 0) return utf8Slice(this, 0, length)\n\t  return slowToString.apply(this, arguments)\n\t};\n\n\tBuffer.prototype.toLocaleString = Buffer.prototype.toString;\n\n\tBuffer.prototype.equals = function equals (b) {\n\t  if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n\t  if (this === b) return true\n\t  return Buffer.compare(this, b) === 0\n\t};\n\n\tBuffer.prototype.inspect = function inspect () {\n\t  let str = '';\n\t  const max = exports.INSPECT_MAX_BYTES;\n\t  str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();\n\t  if (this.length > max) str += ' ... ';\n\t  return '<Buffer ' + str + '>'\n\t};\n\tif (customInspectSymbol) {\n\t  Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n\t}\n\n\tBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n\t  if (isInstance(target, GlobalUint8Array)) {\n\t    target = Buffer.from(target, target.offset, target.byteLength);\n\t  }\n\t  if (!Buffer.isBuffer(target)) {\n\t    throw new TypeError(\n\t      'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n\t      'Received type ' + (typeof target)\n\t    )\n\t  }\n\n\t  if (start === undefined) {\n\t    start = 0;\n\t  }\n\t  if (end === undefined) {\n\t    end = target ? target.length : 0;\n\t  }\n\t  if (thisStart === undefined) {\n\t    thisStart = 0;\n\t  }\n\t  if (thisEnd === undefined) {\n\t    thisEnd = this.length;\n\t  }\n\n\t  if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n\t    throw new RangeError('out of range index')\n\t  }\n\n\t  if (thisStart >= thisEnd && start >= end) {\n\t    return 0\n\t  }\n\t  if (thisStart >= thisEnd) {\n\t    return -1\n\t  }\n\t  if (start >= end) {\n\t    return 1\n\t  }\n\n\t  start >>>= 0;\n\t  end >>>= 0;\n\t  thisStart >>>= 0;\n\t  thisEnd >>>= 0;\n\n\t  if (this === target) return 0\n\n\t  let x = thisEnd - thisStart;\n\t  let y = end - start;\n\t  const len = Math.min(x, y);\n\n\t  const thisCopy = this.slice(thisStart, thisEnd);\n\t  const targetCopy = target.slice(start, end);\n\n\t  for (let i = 0; i < len; ++i) {\n\t    if (thisCopy[i] !== targetCopy[i]) {\n\t      x = thisCopy[i];\n\t      y = targetCopy[i];\n\t      break\n\t    }\n\t  }\n\n\t  if (x < y) return -1\n\t  if (y < x) return 1\n\t  return 0\n\t};\n\n\t// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n\t// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n\t//\n\t// Arguments:\n\t// - buffer - a Buffer to search\n\t// - val - a string, Buffer, or number\n\t// - byteOffset - an index into `buffer`; will be clamped to an int32\n\t// - encoding - an optional encoding, relevant is val is a string\n\t// - dir - true for indexOf, false for lastIndexOf\n\tfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n\t  // Empty buffer means no match\n\t  if (buffer.length === 0) return -1\n\n\t  // Normalize byteOffset\n\t  if (typeof byteOffset === 'string') {\n\t    encoding = byteOffset;\n\t    byteOffset = 0;\n\t  } else if (byteOffset > 0x7fffffff) {\n\t    byteOffset = 0x7fffffff;\n\t  } else if (byteOffset < -0x80000000) {\n\t    byteOffset = -0x80000000;\n\t  }\n\t  byteOffset = +byteOffset; // Coerce to Number.\n\t  if (numberIsNaN(byteOffset)) {\n\t    // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n\t    byteOffset = dir ? 0 : (buffer.length - 1);\n\t  }\n\n\t  // Normalize byteOffset: negative offsets start from the end of the buffer\n\t  if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\t  if (byteOffset >= buffer.length) {\n\t    if (dir) return -1\n\t    else byteOffset = buffer.length - 1;\n\t  } else if (byteOffset < 0) {\n\t    if (dir) byteOffset = 0;\n\t    else return -1\n\t  }\n\n\t  // Normalize val\n\t  if (typeof val === 'string') {\n\t    val = Buffer.from(val, encoding);\n\t  }\n\n\t  // Finally, search either indexOf (if dir is true) or lastIndexOf\n\t  if (Buffer.isBuffer(val)) {\n\t    // Special case: looking for empty string/buffer always fails\n\t    if (val.length === 0) {\n\t      return -1\n\t    }\n\t    return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n\t  } else if (typeof val === 'number') {\n\t    val = val & 0xFF; // Search for a byte value [0-255]\n\t    if (typeof GlobalUint8Array.prototype.indexOf === 'function') {\n\t      if (dir) {\n\t        return GlobalUint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n\t      } else {\n\t        return GlobalUint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n\t      }\n\t    }\n\t    return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n\t  }\n\n\t  throw new TypeError('val must be string, number or Buffer')\n\t}\n\n\tfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n\t  let indexSize = 1;\n\t  let arrLength = arr.length;\n\t  let valLength = val.length;\n\n\t  if (encoding !== undefined) {\n\t    encoding = String(encoding).toLowerCase();\n\t    if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n\t        encoding === 'utf16le' || encoding === 'utf-16le') {\n\t      if (arr.length < 2 || val.length < 2) {\n\t        return -1\n\t      }\n\t      indexSize = 2;\n\t      arrLength /= 2;\n\t      valLength /= 2;\n\t      byteOffset /= 2;\n\t    }\n\t  }\n\n\t  function read (buf, i) {\n\t    if (indexSize === 1) {\n\t      return buf[i]\n\t    } else {\n\t      return buf.readUInt16BE(i * indexSize)\n\t    }\n\t  }\n\n\t  let i;\n\t  if (dir) {\n\t    let foundIndex = -1;\n\t    for (i = byteOffset; i < arrLength; i++) {\n\t      if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n\t        if (foundIndex === -1) foundIndex = i;\n\t        if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n\t      } else {\n\t        if (foundIndex !== -1) i -= i - foundIndex;\n\t        foundIndex = -1;\n\t      }\n\t    }\n\t  } else {\n\t    if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\t    for (i = byteOffset; i >= 0; i--) {\n\t      let found = true;\n\t      for (let j = 0; j < valLength; j++) {\n\t        if (read(arr, i + j) !== read(val, j)) {\n\t          found = false;\n\t          break\n\t        }\n\t      }\n\t      if (found) return i\n\t    }\n\t  }\n\n\t  return -1\n\t}\n\n\tBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n\t  return this.indexOf(val, byteOffset, encoding) !== -1\n\t};\n\n\tBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n\t  return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n\t};\n\n\tBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n\t  return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n\t};\n\n\tfunction hexWrite (buf, string, offset, length) {\n\t  offset = Number(offset) || 0;\n\t  const remaining = buf.length - offset;\n\t  if (!length) {\n\t    length = remaining;\n\t  } else {\n\t    length = Number(length);\n\t    if (length > remaining) {\n\t      length = remaining;\n\t    }\n\t  }\n\n\t  const strLen = string.length;\n\n\t  if (length > strLen / 2) {\n\t    length = strLen / 2;\n\t  }\n\t  let i;\n\t  for (i = 0; i < length; ++i) {\n\t    const parsed = parseInt(string.substr(i * 2, 2), 16);\n\t    if (numberIsNaN(parsed)) return i\n\t    buf[offset + i] = parsed;\n\t  }\n\t  return i\n\t}\n\n\tfunction utf8Write (buf, string, offset, length) {\n\t  return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tfunction asciiWrite (buf, string, offset, length) {\n\t  return blitBuffer(asciiToBytes(string), buf, offset, length)\n\t}\n\n\tfunction base64Write (buf, string, offset, length) {\n\t  return blitBuffer(base64ToBytes(string), buf, offset, length)\n\t}\n\n\tfunction ucs2Write (buf, string, offset, length) {\n\t  return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tBuffer.prototype.write = function write (string, offset, length, encoding) {\n\t  // Buffer#write(string)\n\t  if (offset === undefined) {\n\t    encoding = 'utf8';\n\t    length = this.length;\n\t    offset = 0;\n\t  // Buffer#write(string, encoding)\n\t  } else if (length === undefined && typeof offset === 'string') {\n\t    encoding = offset;\n\t    length = this.length;\n\t    offset = 0;\n\t  // Buffer#write(string, offset[, length][, encoding])\n\t  } else if (isFinite(offset)) {\n\t    offset = offset >>> 0;\n\t    if (isFinite(length)) {\n\t      length = length >>> 0;\n\t      if (encoding === undefined) encoding = 'utf8';\n\t    } else {\n\t      encoding = length;\n\t      length = undefined;\n\t    }\n\t  } else {\n\t    throw new Error(\n\t      'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n\t    )\n\t  }\n\n\t  const remaining = this.length - offset;\n\t  if (length === undefined || length > remaining) length = remaining;\n\n\t  if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n\t    throw new RangeError('Attempt to write outside buffer bounds')\n\t  }\n\n\t  if (!encoding) encoding = 'utf8';\n\n\t  let loweredCase = false;\n\t  for (;;) {\n\t    switch (encoding) {\n\t      case 'hex':\n\t        return hexWrite(this, string, offset, length)\n\n\t      case 'utf8':\n\t      case 'utf-8':\n\t        return utf8Write(this, string, offset, length)\n\n\t      case 'ascii':\n\t      case 'latin1':\n\t      case 'binary':\n\t        return asciiWrite(this, string, offset, length)\n\n\t      case 'base64':\n\t        // Warning: maxLength not taken into account in base64Write\n\t        return base64Write(this, string, offset, length)\n\n\t      case 'ucs2':\n\t      case 'ucs-2':\n\t      case 'utf16le':\n\t      case 'utf-16le':\n\t        return ucs2Write(this, string, offset, length)\n\n\t      default:\n\t        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t        encoding = ('' + encoding).toLowerCase();\n\t        loweredCase = true;\n\t    }\n\t  }\n\t};\n\n\tBuffer.prototype.toJSON = function toJSON () {\n\t  return {\n\t    type: 'Buffer',\n\t    data: Array.prototype.slice.call(this._arr || this, 0)\n\t  }\n\t};\n\n\tfunction base64Slice (buf, start, end) {\n\t  if (start === 0 && end === buf.length) {\n\t    return base64.fromByteArray(buf)\n\t  } else {\n\t    return base64.fromByteArray(buf.slice(start, end))\n\t  }\n\t}\n\n\tfunction utf8Slice (buf, start, end) {\n\t  end = Math.min(buf.length, end);\n\t  const res = [];\n\n\t  let i = start;\n\t  while (i < end) {\n\t    const firstByte = buf[i];\n\t    let codePoint = null;\n\t    let bytesPerSequence = (firstByte > 0xEF)\n\t      ? 4\n\t      : (firstByte > 0xDF)\n\t          ? 3\n\t          : (firstByte > 0xBF)\n\t              ? 2\n\t              : 1;\n\n\t    if (i + bytesPerSequence <= end) {\n\t      let secondByte, thirdByte, fourthByte, tempCodePoint;\n\n\t      switch (bytesPerSequence) {\n\t        case 1:\n\t          if (firstByte < 0x80) {\n\t            codePoint = firstByte;\n\t          }\n\t          break\n\t        case 2:\n\t          secondByte = buf[i + 1];\n\t          if ((secondByte & 0xC0) === 0x80) {\n\t            tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F);\n\t            if (tempCodePoint > 0x7F) {\n\t              codePoint = tempCodePoint;\n\t            }\n\t          }\n\t          break\n\t        case 3:\n\t          secondByte = buf[i + 1];\n\t          thirdByte = buf[i + 2];\n\t          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n\t            tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F);\n\t            if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n\t              codePoint = tempCodePoint;\n\t            }\n\t          }\n\t          break\n\t        case 4:\n\t          secondByte = buf[i + 1];\n\t          thirdByte = buf[i + 2];\n\t          fourthByte = buf[i + 3];\n\t          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n\t            tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F);\n\t            if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n\t              codePoint = tempCodePoint;\n\t            }\n\t          }\n\t      }\n\t    }\n\n\t    if (codePoint === null) {\n\t      // we did not generate a valid codePoint so insert a\n\t      // replacement char (U+FFFD) and advance only 1 byte\n\t      codePoint = 0xFFFD;\n\t      bytesPerSequence = 1;\n\t    } else if (codePoint > 0xFFFF) {\n\t      // encode to utf16 (surrogate pair dance)\n\t      codePoint -= 0x10000;\n\t      res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n\t      codePoint = 0xDC00 | codePoint & 0x3FF;\n\t    }\n\n\t    res.push(codePoint);\n\t    i += bytesPerSequence;\n\t  }\n\n\t  return decodeCodePointsArray(res)\n\t}\n\n\t// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n\t// the lowest limit is Chrome, with 0x10000 args.\n\t// We go 1 magnitude less, for safety\n\tconst MAX_ARGUMENTS_LENGTH = 0x1000;\n\n\tfunction decodeCodePointsArray (codePoints) {\n\t  const len = codePoints.length;\n\t  if (len <= MAX_ARGUMENTS_LENGTH) {\n\t    return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n\t  }\n\n\t  // Decode in chunks to avoid \"call stack size exceeded\".\n\t  let res = '';\n\t  let i = 0;\n\t  while (i < len) {\n\t    res += String.fromCharCode.apply(\n\t      String,\n\t      codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n\t    );\n\t  }\n\t  return res\n\t}\n\n\tfunction asciiSlice (buf, start, end) {\n\t  let ret = '';\n\t  end = Math.min(buf.length, end);\n\n\t  for (let i = start; i < end; ++i) {\n\t    ret += String.fromCharCode(buf[i] & 0x7F);\n\t  }\n\t  return ret\n\t}\n\n\tfunction latin1Slice (buf, start, end) {\n\t  let ret = '';\n\t  end = Math.min(buf.length, end);\n\n\t  for (let i = start; i < end; ++i) {\n\t    ret += String.fromCharCode(buf[i]);\n\t  }\n\t  return ret\n\t}\n\n\tfunction hexSlice (buf, start, end) {\n\t  const len = buf.length;\n\n\t  if (!start || start < 0) start = 0;\n\t  if (!end || end < 0 || end > len) end = len;\n\n\t  let out = '';\n\t  for (let i = start; i < end; ++i) {\n\t    out += hexSliceLookupTable[buf[i]];\n\t  }\n\t  return out\n\t}\n\n\tfunction utf16leSlice (buf, start, end) {\n\t  const bytes = buf.slice(start, end);\n\t  let res = '';\n\t  // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n\t  for (let i = 0; i < bytes.length - 1; i += 2) {\n\t    res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256));\n\t  }\n\t  return res\n\t}\n\n\tBuffer.prototype.slice = function slice (start, end) {\n\t  const len = this.length;\n\t  start = ~~start;\n\t  end = end === undefined ? len : ~~end;\n\n\t  if (start < 0) {\n\t    start += len;\n\t    if (start < 0) start = 0;\n\t  } else if (start > len) {\n\t    start = len;\n\t  }\n\n\t  if (end < 0) {\n\t    end += len;\n\t    if (end < 0) end = 0;\n\t  } else if (end > len) {\n\t    end = len;\n\t  }\n\n\t  if (end < start) end = start;\n\n\t  const newBuf = this.subarray(start, end);\n\t  // Return an augmented `Uint8Array` instance\n\t  Object.setPrototypeOf(newBuf, Buffer.prototype);\n\n\t  return newBuf\n\t};\n\n\t/*\n\t * Need to make sure that buffer isn't trying to write out of bounds.\n\t */\n\tfunction checkOffset (offset, ext, length) {\n\t  if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n\t  if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n\t}\n\n\tBuffer.prototype.readUintLE =\n\tBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n\t  offset = offset >>> 0;\n\t  byteLength = byteLength >>> 0;\n\t  if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t  let val = this[offset];\n\t  let mul = 1;\n\t  let i = 0;\n\t  while (++i < byteLength && (mul *= 0x100)) {\n\t    val += this[offset + i] * mul;\n\t  }\n\n\t  return val\n\t};\n\n\tBuffer.prototype.readUintBE =\n\tBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n\t  offset = offset >>> 0;\n\t  byteLength = byteLength >>> 0;\n\t  if (!noAssert) {\n\t    checkOffset(offset, byteLength, this.length);\n\t  }\n\n\t  let val = this[offset + --byteLength];\n\t  let mul = 1;\n\t  while (byteLength > 0 && (mul *= 0x100)) {\n\t    val += this[offset + --byteLength] * mul;\n\t  }\n\n\t  return val\n\t};\n\n\tBuffer.prototype.readUint8 =\n\tBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 1, this.length);\n\t  return this[offset]\n\t};\n\n\tBuffer.prototype.readUint16LE =\n\tBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 2, this.length);\n\t  return this[offset] | (this[offset + 1] << 8)\n\t};\n\n\tBuffer.prototype.readUint16BE =\n\tBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 2, this.length);\n\t  return (this[offset] << 8) | this[offset + 1]\n\t};\n\n\tBuffer.prototype.readUint32LE =\n\tBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t  return ((this[offset]) |\n\t      (this[offset + 1] << 8) |\n\t      (this[offset + 2] << 16)) +\n\t      (this[offset + 3] * 0x1000000)\n\t};\n\n\tBuffer.prototype.readUint32BE =\n\tBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t  return (this[offset] * 0x1000000) +\n\t    ((this[offset + 1] << 16) |\n\t    (this[offset + 2] << 8) |\n\t    this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n\t  offset = offset >>> 0;\n\t  validateNumber(offset, 'offset');\n\t  const first = this[offset];\n\t  const last = this[offset + 7];\n\t  if (first === undefined || last === undefined) {\n\t    boundsError(offset, this.length - 8);\n\t  }\n\n\t  const lo = first +\n\t    this[++offset] * 2 ** 8 +\n\t    this[++offset] * 2 ** 16 +\n\t    this[++offset] * 2 ** 24;\n\n\t  const hi = this[++offset] +\n\t    this[++offset] * 2 ** 8 +\n\t    this[++offset] * 2 ** 16 +\n\t    last * 2 ** 24;\n\n\t  return BigInt(lo) + (BigInt(hi) << BigInt(32))\n\t});\n\n\tBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n\t  offset = offset >>> 0;\n\t  validateNumber(offset, 'offset');\n\t  const first = this[offset];\n\t  const last = this[offset + 7];\n\t  if (first === undefined || last === undefined) {\n\t    boundsError(offset, this.length - 8);\n\t  }\n\n\t  const hi = first * 2 ** 24 +\n\t    this[++offset] * 2 ** 16 +\n\t    this[++offset] * 2 ** 8 +\n\t    this[++offset];\n\n\t  const lo = this[++offset] * 2 ** 24 +\n\t    this[++offset] * 2 ** 16 +\n\t    this[++offset] * 2 ** 8 +\n\t    last;\n\n\t  return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n\t});\n\n\tBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n\t  offset = offset >>> 0;\n\t  byteLength = byteLength >>> 0;\n\t  if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t  let val = this[offset];\n\t  let mul = 1;\n\t  let i = 0;\n\t  while (++i < byteLength && (mul *= 0x100)) {\n\t    val += this[offset + i] * mul;\n\t  }\n\t  mul *= 0x80;\n\n\t  if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t  return val\n\t};\n\n\tBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n\t  offset = offset >>> 0;\n\t  byteLength = byteLength >>> 0;\n\t  if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t  let i = byteLength;\n\t  let mul = 1;\n\t  let val = this[offset + --i];\n\t  while (i > 0 && (mul *= 0x100)) {\n\t    val += this[offset + --i] * mul;\n\t  }\n\t  mul *= 0x80;\n\n\t  if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t  return val\n\t};\n\n\tBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 1, this.length);\n\t  if (!(this[offset] & 0x80)) return (this[offset])\n\t  return ((0xff - this[offset] + 1) * -1)\n\t};\n\n\tBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 2, this.length);\n\t  const val = this[offset] | (this[offset + 1] << 8);\n\t  return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 2, this.length);\n\t  const val = this[offset + 1] | (this[offset] << 8);\n\t  return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t  return (this[offset]) |\n\t    (this[offset + 1] << 8) |\n\t    (this[offset + 2] << 16) |\n\t    (this[offset + 3] << 24)\n\t};\n\n\tBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t  return (this[offset] << 24) |\n\t    (this[offset + 1] << 16) |\n\t    (this[offset + 2] << 8) |\n\t    (this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n\t  offset = offset >>> 0;\n\t  validateNumber(offset, 'offset');\n\t  const first = this[offset];\n\t  const last = this[offset + 7];\n\t  if (first === undefined || last === undefined) {\n\t    boundsError(offset, this.length - 8);\n\t  }\n\n\t  const val = this[offset + 4] +\n\t    this[offset + 5] * 2 ** 8 +\n\t    this[offset + 6] * 2 ** 16 +\n\t    (last << 24); // Overflow\n\n\t  return (BigInt(val) << BigInt(32)) +\n\t    BigInt(first +\n\t    this[++offset] * 2 ** 8 +\n\t    this[++offset] * 2 ** 16 +\n\t    this[++offset] * 2 ** 24)\n\t});\n\n\tBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n\t  offset = offset >>> 0;\n\t  validateNumber(offset, 'offset');\n\t  const first = this[offset];\n\t  const last = this[offset + 7];\n\t  if (first === undefined || last === undefined) {\n\t    boundsError(offset, this.length - 8);\n\t  }\n\n\t  const val = (first << 24) + // Overflow\n\t    this[++offset] * 2 ** 16 +\n\t    this[++offset] * 2 ** 8 +\n\t    this[++offset];\n\n\t  return (BigInt(val) << BigInt(32)) +\n\t    BigInt(this[++offset] * 2 ** 24 +\n\t    this[++offset] * 2 ** 16 +\n\t    this[++offset] * 2 ** 8 +\n\t    last)\n\t});\n\n\tBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 4, this.length);\n\t  return ieee754$1.read(this, offset, true, 23, 4)\n\t};\n\n\tBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 4, this.length);\n\t  return ieee754$1.read(this, offset, false, 23, 4)\n\t};\n\n\tBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 8, this.length);\n\t  return ieee754$1.read(this, offset, true, 52, 8)\n\t};\n\n\tBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 8, this.length);\n\t  return ieee754$1.read(this, offset, false, 52, 8)\n\t};\n\n\tfunction checkInt (buf, value, offset, ext, max, min) {\n\t  if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n\t  if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n\t  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t}\n\n\tBuffer.prototype.writeUintLE =\n\tBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  byteLength = byteLength >>> 0;\n\t  if (!noAssert) {\n\t    const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t    checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t  }\n\n\t  let mul = 1;\n\t  let i = 0;\n\t  this[offset] = value & 0xFF;\n\t  while (++i < byteLength && (mul *= 0x100)) {\n\t    this[offset + i] = (value / mul) & 0xFF;\n\t  }\n\n\t  return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUintBE =\n\tBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  byteLength = byteLength >>> 0;\n\t  if (!noAssert) {\n\t    const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t    checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t  }\n\n\t  let i = byteLength - 1;\n\t  let mul = 1;\n\t  this[offset + i] = value & 0xFF;\n\t  while (--i >= 0 && (mul *= 0x100)) {\n\t    this[offset + i] = (value / mul) & 0xFF;\n\t  }\n\n\t  return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUint8 =\n\tBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n\t  this[offset] = (value & 0xff);\n\t  return offset + 1\n\t};\n\n\tBuffer.prototype.writeUint16LE =\n\tBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t  this[offset] = (value & 0xff);\n\t  this[offset + 1] = (value >>> 8);\n\t  return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint16BE =\n\tBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t  this[offset] = (value >>> 8);\n\t  this[offset + 1] = (value & 0xff);\n\t  return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint32LE =\n\tBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t  this[offset + 3] = (value >>> 24);\n\t  this[offset + 2] = (value >>> 16);\n\t  this[offset + 1] = (value >>> 8);\n\t  this[offset] = (value & 0xff);\n\t  return offset + 4\n\t};\n\n\tBuffer.prototype.writeUint32BE =\n\tBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t  this[offset] = (value >>> 24);\n\t  this[offset + 1] = (value >>> 16);\n\t  this[offset + 2] = (value >>> 8);\n\t  this[offset + 3] = (value & 0xff);\n\t  return offset + 4\n\t};\n\n\tfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n\t  checkIntBI(value, min, max, buf, offset, 7);\n\n\t  let lo = Number(value & BigInt(0xffffffff));\n\t  buf[offset++] = lo;\n\t  lo = lo >> 8;\n\t  buf[offset++] = lo;\n\t  lo = lo >> 8;\n\t  buf[offset++] = lo;\n\t  lo = lo >> 8;\n\t  buf[offset++] = lo;\n\t  let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t  buf[offset++] = hi;\n\t  hi = hi >> 8;\n\t  buf[offset++] = hi;\n\t  hi = hi >> 8;\n\t  buf[offset++] = hi;\n\t  hi = hi >> 8;\n\t  buf[offset++] = hi;\n\t  return offset\n\t}\n\n\tfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n\t  checkIntBI(value, min, max, buf, offset, 7);\n\n\t  let lo = Number(value & BigInt(0xffffffff));\n\t  buf[offset + 7] = lo;\n\t  lo = lo >> 8;\n\t  buf[offset + 6] = lo;\n\t  lo = lo >> 8;\n\t  buf[offset + 5] = lo;\n\t  lo = lo >> 8;\n\t  buf[offset + 4] = lo;\n\t  let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t  buf[offset + 3] = hi;\n\t  hi = hi >> 8;\n\t  buf[offset + 2] = hi;\n\t  hi = hi >> 8;\n\t  buf[offset + 1] = hi;\n\t  hi = hi >> 8;\n\t  buf[offset] = hi;\n\t  return offset + 8\n\t}\n\n\tBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n\t  return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n\t  return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) {\n\t    const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t    checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t  }\n\n\t  let i = 0;\n\t  let mul = 1;\n\t  let sub = 0;\n\t  this[offset] = value & 0xFF;\n\t  while (++i < byteLength && (mul *= 0x100)) {\n\t    if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n\t      sub = 1;\n\t    }\n\t    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t  }\n\n\t  return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) {\n\t    const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t    checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t  }\n\n\t  let i = byteLength - 1;\n\t  let mul = 1;\n\t  let sub = 0;\n\t  this[offset + i] = value & 0xFF;\n\t  while (--i >= 0 && (mul *= 0x100)) {\n\t    if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n\t      sub = 1;\n\t    }\n\t    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t  }\n\n\t  return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n\t  if (value < 0) value = 0xff + value + 1;\n\t  this[offset] = (value & 0xff);\n\t  return offset + 1\n\t};\n\n\tBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t  this[offset] = (value & 0xff);\n\t  this[offset + 1] = (value >>> 8);\n\t  return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t  this[offset] = (value >>> 8);\n\t  this[offset + 1] = (value & 0xff);\n\t  return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t  this[offset] = (value & 0xff);\n\t  this[offset + 1] = (value >>> 8);\n\t  this[offset + 2] = (value >>> 16);\n\t  this[offset + 3] = (value >>> 24);\n\t  return offset + 4\n\t};\n\n\tBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t  if (value < 0) value = 0xffffffff + value + 1;\n\t  this[offset] = (value >>> 24);\n\t  this[offset + 1] = (value >>> 16);\n\t  this[offset + 2] = (value >>> 8);\n\t  this[offset + 3] = (value & 0xff);\n\t  return offset + 4\n\t};\n\n\tBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n\t  return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n\t  return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n\t  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t  if (offset < 0) throw new RangeError('Index out of range')\n\t}\n\n\tfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) {\n\t    checkIEEE754(buf, value, offset, 4);\n\t  }\n\t  ieee754$1.write(buf, value, offset, littleEndian, 23, 4);\n\t  return offset + 4\n\t}\n\n\tBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n\t  return writeFloat(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n\t  return writeFloat(this, value, offset, false, noAssert)\n\t};\n\n\tfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) {\n\t    checkIEEE754(buf, value, offset, 8);\n\t  }\n\t  ieee754$1.write(buf, value, offset, littleEndian, 52, 8);\n\t  return offset + 8\n\t}\n\n\tBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n\t  return writeDouble(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n\t  return writeDouble(this, value, offset, false, noAssert)\n\t};\n\n\t// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\tBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n\t  if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n\t  if (!start) start = 0;\n\t  if (!end && end !== 0) end = this.length;\n\t  if (targetStart >= target.length) targetStart = target.length;\n\t  if (!targetStart) targetStart = 0;\n\t  if (end > 0 && end < start) end = start;\n\n\t  // Copy 0 bytes; we're done\n\t  if (end === start) return 0\n\t  if (target.length === 0 || this.length === 0) return 0\n\n\t  // Fatal error conditions\n\t  if (targetStart < 0) {\n\t    throw new RangeError('targetStart out of bounds')\n\t  }\n\t  if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n\t  if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n\t  // Are we oob?\n\t  if (end > this.length) end = this.length;\n\t  if (target.length - targetStart < end - start) {\n\t    end = target.length - targetStart + start;\n\t  }\n\n\t  const len = end - start;\n\n\t  if (this === target && typeof GlobalUint8Array.prototype.copyWithin === 'function') {\n\t    // Use built-in when available, missing from IE11\n\t    this.copyWithin(targetStart, start, end);\n\t  } else {\n\t    GlobalUint8Array.prototype.set.call(\n\t      target,\n\t      this.subarray(start, end),\n\t      targetStart\n\t    );\n\t  }\n\n\t  return len\n\t};\n\n\t// Usage:\n\t//    buffer.fill(number[, offset[, end]])\n\t//    buffer.fill(buffer[, offset[, end]])\n\t//    buffer.fill(string[, offset[, end]][, encoding])\n\tBuffer.prototype.fill = function fill (val, start, end, encoding) {\n\t  // Handle string cases:\n\t  if (typeof val === 'string') {\n\t    if (typeof start === 'string') {\n\t      encoding = start;\n\t      start = 0;\n\t      end = this.length;\n\t    } else if (typeof end === 'string') {\n\t      encoding = end;\n\t      end = this.length;\n\t    }\n\t    if (encoding !== undefined && typeof encoding !== 'string') {\n\t      throw new TypeError('encoding must be a string')\n\t    }\n\t    if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n\t      throw new TypeError('Unknown encoding: ' + encoding)\n\t    }\n\t    if (val.length === 1) {\n\t      const code = val.charCodeAt(0);\n\t      if ((encoding === 'utf8' && code < 128) ||\n\t          encoding === 'latin1') {\n\t        // Fast path: If `val` fits into a single byte, use that numeric value.\n\t        val = code;\n\t      }\n\t    }\n\t  } else if (typeof val === 'number') {\n\t    val = val & 255;\n\t  } else if (typeof val === 'boolean') {\n\t    val = Number(val);\n\t  }\n\n\t  // Invalid ranges are not set to a default, so can range check early.\n\t  if (start < 0 || this.length < start || this.length < end) {\n\t    throw new RangeError('Out of range index')\n\t  }\n\n\t  if (end <= start) {\n\t    return this\n\t  }\n\n\t  start = start >>> 0;\n\t  end = end === undefined ? this.length : end >>> 0;\n\n\t  if (!val) val = 0;\n\n\t  let i;\n\t  if (typeof val === 'number') {\n\t    for (i = start; i < end; ++i) {\n\t      this[i] = val;\n\t    }\n\t  } else {\n\t    const bytes = Buffer.isBuffer(val)\n\t      ? val\n\t      : Buffer.from(val, encoding);\n\t    const len = bytes.length;\n\t    if (len === 0) {\n\t      throw new TypeError('The value \"' + val +\n\t        '\" is invalid for argument \"value\"')\n\t    }\n\t    for (i = 0; i < end - start; ++i) {\n\t      this[i + start] = bytes[i % len];\n\t    }\n\t  }\n\n\t  return this\n\t};\n\n\t// CUSTOM ERRORS\n\t// =============\n\n\t// Simplified versions from Node, changed for Buffer-only usage\n\tconst errors = {};\n\tfunction E (sym, getMessage, Base) {\n\t  errors[sym] = class NodeError extends Base {\n\t    constructor () {\n\t      super();\n\n\t      Object.defineProperty(this, 'message', {\n\t        value: getMessage.apply(this, arguments),\n\t        writable: true,\n\t        configurable: true\n\t      });\n\n\t      // Add the error code to the name to include it in the stack trace.\n\t      this.name = `${this.name} [${sym}]`;\n\t      // Access the stack to generate the error message including the error code\n\t      // from the name.\n\t      this.stack; // eslint-disable-line no-unused-expressions\n\t      // Reset the name to the actual name.\n\t      delete this.name;\n\t    }\n\n\t    get code () {\n\t      return sym\n\t    }\n\n\t    set code (value) {\n\t      Object.defineProperty(this, 'code', {\n\t        configurable: true,\n\t        enumerable: true,\n\t        value,\n\t        writable: true\n\t      });\n\t    }\n\n\t    toString () {\n\t      return `${this.name} [${sym}]: ${this.message}`\n\t    }\n\t  };\n\t}\n\n\tE('ERR_BUFFER_OUT_OF_BOUNDS',\n\t  function (name) {\n\t    if (name) {\n\t      return `${name} is outside of buffer bounds`\n\t    }\n\n\t    return 'Attempt to access memory outside buffer bounds'\n\t  }, RangeError);\n\tE('ERR_INVALID_ARG_TYPE',\n\t  function (name, actual) {\n\t    return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n\t  }, TypeError);\n\tE('ERR_OUT_OF_RANGE',\n\t  function (str, range, input) {\n\t    let msg = `The value of \"${str}\" is out of range.`;\n\t    let received = input;\n\t    if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n\t      received = addNumericalSeparator(String(input));\n\t    } else if (typeof input === 'bigint') {\n\t      received = String(input);\n\t      if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n\t        received = addNumericalSeparator(received);\n\t      }\n\t      received += 'n';\n\t    }\n\t    msg += ` It must be ${range}. Received ${received}`;\n\t    return msg\n\t  }, RangeError);\n\n\tfunction addNumericalSeparator (val) {\n\t  let res = '';\n\t  let i = val.length;\n\t  const start = val[0] === '-' ? 1 : 0;\n\t  for (; i >= start + 4; i -= 3) {\n\t    res = `_${val.slice(i - 3, i)}${res}`;\n\t  }\n\t  return `${val.slice(0, i)}${res}`\n\t}\n\n\t// CHECK FUNCTIONS\n\t// ===============\n\n\tfunction checkBounds (buf, offset, byteLength) {\n\t  validateNumber(offset, 'offset');\n\t  if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n\t    boundsError(offset, buf.length - (byteLength + 1));\n\t  }\n\t}\n\n\tfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n\t  if (value > max || value < min) {\n\t    const n = typeof min === 'bigint' ? 'n' : '';\n\t    let range;\n\t    if (byteLength > 3) {\n\t      if (min === 0 || min === BigInt(0)) {\n\t        range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\n\t      } else {\n\t        range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n\t                `${(byteLength + 1) * 8 - 1}${n}`;\n\t      }\n\t    } else {\n\t      range = `>= ${min}${n} and <= ${max}${n}`;\n\t    }\n\t    throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n\t  }\n\t  checkBounds(buf, offset, byteLength);\n\t}\n\n\tfunction validateNumber (value, name) {\n\t  if (typeof value !== 'number') {\n\t    throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n\t  }\n\t}\n\n\tfunction boundsError (value, length, type) {\n\t  if (Math.floor(value) !== value) {\n\t    validateNumber(value, type);\n\t    throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n\t  }\n\n\t  if (length < 0) {\n\t    throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n\t  }\n\n\t  throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n\t                                    `>= ${type ? 1 : 0} and <= ${length}`,\n\t                                    value)\n\t}\n\n\t// HELPER FUNCTIONS\n\t// ================\n\n\tconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\n\tfunction base64clean (str) {\n\t  // Node takes equal signs as end of the Base64 encoding\n\t  str = str.split('=')[0];\n\t  // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\t  str = str.trim().replace(INVALID_BASE64_RE, '');\n\t  // Node converts strings with length < 2 to ''\n\t  if (str.length < 2) return ''\n\t  // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\t  while (str.length % 4 !== 0) {\n\t    str = str + '=';\n\t  }\n\t  return str\n\t}\n\n\tfunction utf8ToBytes (string, units) {\n\t  units = units || Infinity;\n\t  let codePoint;\n\t  const length = string.length;\n\t  let leadSurrogate = null;\n\t  const bytes = [];\n\n\t  for (let i = 0; i < length; ++i) {\n\t    codePoint = string.charCodeAt(i);\n\n\t    // is surrogate component\n\t    if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t      // last char was a lead\n\t      if (!leadSurrogate) {\n\t        // no lead yet\n\t        if (codePoint > 0xDBFF) {\n\t          // unexpected trail\n\t          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t          continue\n\t        } else if (i + 1 === length) {\n\t          // unpaired lead\n\t          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t          continue\n\t        }\n\n\t        // valid lead\n\t        leadSurrogate = codePoint;\n\n\t        continue\n\t      }\n\n\t      // 2 leads in a row\n\t      if (codePoint < 0xDC00) {\n\t        if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t        leadSurrogate = codePoint;\n\t        continue\n\t      }\n\n\t      // valid surrogate pair\n\t      codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n\t    } else if (leadSurrogate) {\n\t      // valid bmp char, but last char was a lead\n\t      if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t    }\n\n\t    leadSurrogate = null;\n\n\t    // encode utf8\n\t    if (codePoint < 0x80) {\n\t      if ((units -= 1) < 0) break\n\t      bytes.push(codePoint);\n\t    } else if (codePoint < 0x800) {\n\t      if ((units -= 2) < 0) break\n\t      bytes.push(\n\t        codePoint >> 0x6 | 0xC0,\n\t        codePoint & 0x3F | 0x80\n\t      );\n\t    } else if (codePoint < 0x10000) {\n\t      if ((units -= 3) < 0) break\n\t      bytes.push(\n\t        codePoint >> 0xC | 0xE0,\n\t        codePoint >> 0x6 & 0x3F | 0x80,\n\t        codePoint & 0x3F | 0x80\n\t      );\n\t    } else if (codePoint < 0x110000) {\n\t      if ((units -= 4) < 0) break\n\t      bytes.push(\n\t        codePoint >> 0x12 | 0xF0,\n\t        codePoint >> 0xC & 0x3F | 0x80,\n\t        codePoint >> 0x6 & 0x3F | 0x80,\n\t        codePoint & 0x3F | 0x80\n\t      );\n\t    } else {\n\t      throw new Error('Invalid code point')\n\t    }\n\t  }\n\n\t  return bytes\n\t}\n\n\tfunction asciiToBytes (str) {\n\t  const byteArray = [];\n\t  for (let i = 0; i < str.length; ++i) {\n\t    // Node's code seems to be doing this and not & 0x7F..\n\t    byteArray.push(str.charCodeAt(i) & 0xFF);\n\t  }\n\t  return byteArray\n\t}\n\n\tfunction utf16leToBytes (str, units) {\n\t  let c, hi, lo;\n\t  const byteArray = [];\n\t  for (let i = 0; i < str.length; ++i) {\n\t    if ((units -= 2) < 0) break\n\n\t    c = str.charCodeAt(i);\n\t    hi = c >> 8;\n\t    lo = c % 256;\n\t    byteArray.push(lo);\n\t    byteArray.push(hi);\n\t  }\n\n\t  return byteArray\n\t}\n\n\tfunction base64ToBytes (str) {\n\t  return base64.toByteArray(base64clean(str))\n\t}\n\n\tfunction blitBuffer (src, dst, offset, length) {\n\t  let i;\n\t  for (i = 0; i < length; ++i) {\n\t    if ((i + offset >= dst.length) || (i >= src.length)) break\n\t    dst[i + offset] = src[i];\n\t  }\n\t  return i\n\t}\n\n\t// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n\t// the `instanceof` check but they should be treated as of that type.\n\t// See: https://github.com/feross/buffer/issues/166\n\tfunction isInstance (obj, type) {\n\t  return obj instanceof type ||\n\t    (obj != null && obj.constructor != null && obj.constructor.name != null &&\n\t      obj.constructor.name === type.name)\n\t}\n\tfunction numberIsNaN (obj) {\n\t  // For IE11 support\n\t  return obj !== obj // eslint-disable-line no-self-compare\n\t}\n\n\t// Create lookup table for `toString('hex')`\n\t// See: https://github.com/feross/buffer/issues/219\n\tconst hexSliceLookupTable = (function () {\n\t  const alphabet = '0123456789abcdef';\n\t  const table = new Array(256);\n\t  for (let i = 0; i < 16; ++i) {\n\t    const i16 = i * 16;\n\t    for (let j = 0; j < 16; ++j) {\n\t      table[i16 + j] = alphabet[i] + alphabet[j];\n\t    }\n\t  }\n\t  return table\n\t})();\n\n\t// Return not function with Error if BigInt not supported\n\tfunction defineBigIntMethod (fn) {\n\t  return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n\t}\n\n\tfunction BufferBigIntNotDefined () {\n\t  throw new Error('BigInt not supported')\n\t} \n} (buffer));\n\nconst Buffer = buffer.Buffer;\n\nconst Blob = buffer.Blob;\nconst BlobOptions = buffer.BlobOptions;\nconst Buffer$1 = buffer.Buffer;\nconst File = buffer.File;\nconst FileOptions = buffer.FileOptions;\nconst INSPECT_MAX_BYTES = buffer.INSPECT_MAX_BYTES;\nconst SlowBuffer = buffer.SlowBuffer;\nconst TranscodeEncoding = buffer.TranscodeEncoding;\nconst atob = buffer.atob;\nconst btoa = buffer.btoa;\nconst constants = buffer.constants;\nconst isAscii = buffer.isAscii;\nconst isUtf8 = buffer.isUtf8;\nconst kMaxLength = buffer.kMaxLength;\nconst kStringMaxLength = buffer.kStringMaxLength;\nconst resolveObjectURL = buffer.resolveObjectURL;\nconst transcode = buffer.transcode;\nexport { Blob, BlobOptions, Buffer$1 as Buffer, File, FileOptions, INSPECT_MAX_BYTES, SlowBuffer, TranscodeEncoding, atob, btoa, constants, Buffer as default, isAscii, isUtf8, kMaxLength, kStringMaxLength, resolveObjectURL, transcode };\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n  Error.call(this);\n\n  if (Error.captureStackTrace) {\n    Error.captureStackTrace(this, this.constructor);\n  } else {\n    this.stack = (new Error()).stack;\n  }\n\n  this.message = message;\n  this.name = 'AxiosError';\n  code && (this.code = code);\n  config && (this.config = config);\n  request && (this.request = request);\n  if (response) {\n    this.response = response;\n    this.status = response.status ? response.status : null;\n  }\n}\n\nutils.inherits(AxiosError, Error, {\n  toJSON: function toJSON() {\n    return {\n      // Standard\n      message: this.message,\n      name: this.name,\n      // Microsoft\n      description: this.description,\n      number: this.number,\n      // Mozilla\n      fileName: this.fileName,\n      lineNumber: this.lineNumber,\n      columnNumber: this.columnNumber,\n      stack: this.stack,\n      // Axios\n      config: utils.toJSONObject(this.config),\n      code: this.code,\n      status: this.status\n    };\n  }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n  'ERR_BAD_OPTION_VALUE',\n  'ERR_BAD_OPTION',\n  'ECONNABORTED',\n  'ETIMEDOUT',\n  'ERR_NETWORK',\n  'ERR_FR_TOO_MANY_REDIRECTS',\n  'ERR_DEPRECATED',\n  'ERR_BAD_RESPONSE',\n  'ERR_BAD_REQUEST',\n  'ERR_CANCELED',\n  'ERR_NOT_SUPPORT',\n  'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n  descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n  const axiosError = Object.create(prototype);\n\n  utils.toFlatObject(error, axiosError, function filter(obj) {\n    return obj !== Error.prototype;\n  }, prop => {\n    return prop !== 'isAxiosError';\n  });\n\n  const msg = error && error.message ? error.message : 'Error';\n\n  // Prefer explicit code; otherwise copy the low-level error's code (e.g. ECONNREFUSED)\n  const errCode = code == null && error ? error.code : code;\n  AxiosError.call(axiosError, msg, errCode, config, request, response);\n\n  // Chain the original error on the standard field; non-enumerable to avoid JSON noise\n  if (error && axiosError.cause == null) {\n    Object.defineProperty(axiosError, 'cause', { value: error, configurable: true });\n  }\n\n  axiosError.name = (error && error.name) || 'Error';\n\n  customProps && Object.assign(axiosError, customProps);\n\n  return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n  return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n  return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n  if (!path) return key;\n  return path.concat(key).map(function each(token, i) {\n    // eslint-disable-next-line no-param-reassign\n    token = removeBrackets(token);\n    return !dots && i ? '[' + token + ']' : token;\n  }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n  return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n  return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n  if (!utils.isObject(obj)) {\n    throw new TypeError('target must be an object');\n  }\n\n  // eslint-disable-next-line no-param-reassign\n  formData = formData || new (PlatformFormData || FormData)();\n\n  // eslint-disable-next-line no-param-reassign\n  options = utils.toFlatObject(options, {\n    metaTokens: true,\n    dots: false,\n    indexes: false\n  }, false, function defined(option, source) {\n    // eslint-disable-next-line no-eq-null,eqeqeq\n    return !utils.isUndefined(source[option]);\n  });\n\n  const metaTokens = options.metaTokens;\n  // eslint-disable-next-line no-use-before-define\n  const visitor = options.visitor || defaultVisitor;\n  const dots = options.dots;\n  const indexes = options.indexes;\n  const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n  const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n  if (!utils.isFunction(visitor)) {\n    throw new TypeError('visitor must be a function');\n  }\n\n  function convertValue(value) {\n    if (value === null) return '';\n\n    if (utils.isDate(value)) {\n      return value.toISOString();\n    }\n\n    if (utils.isBoolean(value)) {\n      return value.toString();\n    }\n\n    if (!useBlob && utils.isBlob(value)) {\n      throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n    }\n\n    if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n      return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n    }\n\n    return value;\n  }\n\n  /**\n   * Default visitor.\n   *\n   * @param {*} value\n   * @param {String|Number} key\n   * @param {Array<String|Number>} path\n   * @this {FormData}\n   *\n   * @returns {boolean} return true to visit the each prop of the value recursively\n   */\n  function defaultVisitor(value, key, path) {\n    let arr = value;\n\n    if (value && !path && typeof value === 'object') {\n      if (utils.endsWith(key, '{}')) {\n        // eslint-disable-next-line no-param-reassign\n        key = metaTokens ? key : key.slice(0, -2);\n        // eslint-disable-next-line no-param-reassign\n        value = JSON.stringify(value);\n      } else if (\n        (utils.isArray(value) && isFlatArray(value)) ||\n        ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n        )) {\n        // eslint-disable-next-line no-param-reassign\n        key = removeBrackets(key);\n\n        arr.forEach(function each(el, index) {\n          !(utils.isUndefined(el) || el === null) && formData.append(\n            // eslint-disable-next-line no-nested-ternary\n            indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n            convertValue(el)\n          );\n        });\n        return false;\n      }\n    }\n\n    if (isVisitable(value)) {\n      return true;\n    }\n\n    formData.append(renderKey(path, key, dots), convertValue(value));\n\n    return false;\n  }\n\n  const stack = [];\n\n  const exposedHelpers = Object.assign(predicates, {\n    defaultVisitor,\n    convertValue,\n    isVisitable\n  });\n\n  function build(value, path) {\n    if (utils.isUndefined(value)) return;\n\n    if (stack.indexOf(value) !== -1) {\n      throw Error('Circular reference detected in ' + path.join('.'));\n    }\n\n    stack.push(value);\n\n    utils.forEach(value, function each(el, key) {\n      const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n        formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n      );\n\n      if (result === true) {\n        build(el, path ? path.concat(key) : [key]);\n      }\n    });\n\n    stack.pop();\n  }\n\n  if (!utils.isObject(obj)) {\n    throw new TypeError('data must be an object');\n  }\n\n  build(obj);\n\n  return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n  const charMap = {\n    '!': '%21',\n    \"'\": '%27',\n    '(': '%28',\n    ')': '%29',\n    '~': '%7E',\n    '%20': '+',\n    '%00': '\\x00'\n  };\n  return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n    return charMap[match];\n  });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n  this._pairs = [];\n\n  params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n  this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n  const _encode = encoder ? function(value) {\n    return encoder.call(this, value, encode);\n  } : encode;\n\n  return this._pairs.map(function each(pair) {\n    return _encode(pair[0]) + '=' + _encode(pair[1]);\n  }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n  return encodeURIComponent(val).\n    replace(/%3A/gi, ':').\n    replace(/%24/g, '$').\n    replace(/%2C/gi, ',').\n    replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n  /*eslint no-param-reassign:0*/\n  if (!params) {\n    return url;\n  }\n  \n  const _encode = options && options.encode || encode;\n\n  if (utils.isFunction(options)) {\n    options = {\n      serialize: options\n    };\n  } \n\n  const serializeFn = options && options.serialize;\n\n  let serializedParams;\n\n  if (serializeFn) {\n    serializedParams = serializeFn(params, options);\n  } else {\n    serializedParams = utils.isURLSearchParams(params) ?\n      params.toString() :\n      new AxiosURLSearchParams(params, options).toString(_encode);\n  }\n\n  if (serializedParams) {\n    const hashmarkIndex = url.indexOf(\"#\");\n\n    if (hashmarkIndex !== -1) {\n      url = url.slice(0, hashmarkIndex);\n    }\n    url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n  }\n\n  return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n  constructor() {\n    this.handlers = [];\n  }\n\n  /**\n   * Add a new interceptor to the stack\n   *\n   * @param {Function} fulfilled The function to handle `then` for a `Promise`\n   * @param {Function} rejected The function to handle `reject` for a `Promise`\n   *\n   * @return {Number} An ID used to remove interceptor later\n   */\n  use(fulfilled, rejected, options) {\n    this.handlers.push({\n      fulfilled,\n      rejected,\n      synchronous: options ? options.synchronous : false,\n      runWhen: options ? options.runWhen : null\n    });\n    return this.handlers.length - 1;\n  }\n\n  /**\n   * Remove an interceptor from the stack\n   *\n   * @param {Number} id The ID that was returned by `use`\n   *\n   * @returns {void}\n   */\n  eject(id) {\n    if (this.handlers[id]) {\n      this.handlers[id] = null;\n    }\n  }\n\n  /**\n   * Clear all interceptors from the stack\n   *\n   * @returns {void}\n   */\n  clear() {\n    if (this.handlers) {\n      this.handlers = [];\n    }\n  }\n\n  /**\n   * Iterate over all the registered interceptors\n   *\n   * This method is particularly useful for skipping over any\n   * interceptors that may have become `null` calling `eject`.\n   *\n   * @param {Function} fn The function to call for each interceptor\n   *\n   * @returns {void}\n   */\n  forEach(fn) {\n    utils.forEach(this.handlers, function forEachHandler(h) {\n      if (h !== null) {\n        fn(h);\n      }\n    });\n  }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n  silentJSONParsing: true,\n  forcedJSONParsing: true,\n  clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n  isBrowser: true,\n  classes: {\n    URLSearchParams,\n    FormData,\n    Blob\n  },\n  protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n *  typeof window -> undefined\n *  typeof document -> undefined\n *\n * react-native:\n *  navigator.product -> 'ReactNative'\n * nativescript\n *  navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n  (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n  return (\n    typeof WorkerGlobalScope !== 'undefined' &&\n    // eslint-disable-next-line no-undef\n    self instanceof WorkerGlobalScope &&\n    typeof self.importScripts === 'function'\n  );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n  hasBrowserEnv,\n  hasStandardBrowserWebWorkerEnv,\n  hasStandardBrowserEnv,\n  _navigator as navigator,\n  origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n  ...utils,\n  ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n  return toFormData(data, new platform.classes.URLSearchParams(), {\n    visitor: function(value, key, path, helpers) {\n      if (platform.isNode && utils.isBuffer(value)) {\n        this.append(key, value.toString('base64'));\n        return false;\n      }\n\n      return helpers.defaultVisitor.apply(this, arguments);\n    },\n    ...options\n  });\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n  // foo[x][y][z]\n  // foo.x.y.z\n  // foo-x-y-z\n  // foo x y z\n  return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n    return match[0] === '[]' ? '' : match[1] || match[0];\n  });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n  const obj = {};\n  const keys = Object.keys(arr);\n  let i;\n  const len = keys.length;\n  let key;\n  for (i = 0; i < len; i++) {\n    key = keys[i];\n    obj[key] = arr[key];\n  }\n  return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n  function buildPath(path, value, target, index) {\n    let name = path[index++];\n\n    if (name === '__proto__') return true;\n\n    const isNumericKey = Number.isFinite(+name);\n    const isLast = index >= path.length;\n    name = !name && utils.isArray(target) ? target.length : name;\n\n    if (isLast) {\n      if (utils.hasOwnProp(target, name)) {\n        target[name] = [target[name], value];\n      } else {\n        target[name] = value;\n      }\n\n      return !isNumericKey;\n    }\n\n    if (!target[name] || !utils.isObject(target[name])) {\n      target[name] = [];\n    }\n\n    const result = buildPath(path, value, target[name], index);\n\n    if (result && utils.isArray(target[name])) {\n      target[name] = arrayToObject(target[name]);\n    }\n\n    return !isNumericKey;\n  }\n\n  if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n    const obj = {};\n\n    utils.forEachEntry(formData, (name, value) => {\n      buildPath(parsePropPath(name), value, obj, 0);\n    });\n\n    return obj;\n  }\n\n  return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n  if (utils.isString(rawValue)) {\n    try {\n      (parser || JSON.parse)(rawValue);\n      return utils.trim(rawValue);\n    } catch (e) {\n      if (e.name !== 'SyntaxError') {\n        throw e;\n      }\n    }\n  }\n\n  return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n  transitional: transitionalDefaults,\n\n  adapter: ['xhr', 'http', 'fetch'],\n\n  transformRequest: [function transformRequest(data, headers) {\n    const contentType = headers.getContentType() || '';\n    const hasJSONContentType = contentType.indexOf('application/json') > -1;\n    const isObjectPayload = utils.isObject(data);\n\n    if (isObjectPayload && utils.isHTMLForm(data)) {\n      data = new FormData(data);\n    }\n\n    const isFormData = utils.isFormData(data);\n\n    if (isFormData) {\n      return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n    }\n\n    if (utils.isArrayBuffer(data) ||\n      utils.isBuffer(data) ||\n      utils.isStream(data) ||\n      utils.isFile(data) ||\n      utils.isBlob(data) ||\n      utils.isReadableStream(data)\n    ) {\n      return data;\n    }\n    if (utils.isArrayBufferView(data)) {\n      return data.buffer;\n    }\n    if (utils.isURLSearchParams(data)) {\n      headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n      return data.toString();\n    }\n\n    let isFileList;\n\n    if (isObjectPayload) {\n      if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n        return toURLEncodedForm(data, this.formSerializer).toString();\n      }\n\n      if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n        const _FormData = this.env && this.env.FormData;\n\n        return toFormData(\n          isFileList ? {'files[]': data} : data,\n          _FormData && new _FormData(),\n          this.formSerializer\n        );\n      }\n    }\n\n    if (isObjectPayload || hasJSONContentType ) {\n      headers.setContentType('application/json', false);\n      return stringifySafely(data);\n    }\n\n    return data;\n  }],\n\n  transformResponse: [function transformResponse(data) {\n    const transitional = this.transitional || defaults.transitional;\n    const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n    const JSONRequested = this.responseType === 'json';\n\n    if (utils.isResponse(data) || utils.isReadableStream(data)) {\n      return data;\n    }\n\n    if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n      const silentJSONParsing = transitional && transitional.silentJSONParsing;\n      const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n      try {\n        return JSON.parse(data, this.parseReviver);\n      } catch (e) {\n        if (strictJSONParsing) {\n          if (e.name === 'SyntaxError') {\n            throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n          }\n          throw e;\n        }\n      }\n    }\n\n    return data;\n  }],\n\n  /**\n   * A timeout in milliseconds to abort a request. If set to 0 (default) a\n   * timeout is not created.\n   */\n  timeout: 0,\n\n  xsrfCookieName: 'XSRF-TOKEN',\n  xsrfHeaderName: 'X-XSRF-TOKEN',\n\n  maxContentLength: -1,\n  maxBodyLength: -1,\n\n  env: {\n    FormData: platform.classes.FormData,\n    Blob: platform.classes.Blob\n  },\n\n  validateStatus: function validateStatus(status) {\n    return status >= 200 && status < 300;\n  },\n\n  headers: {\n    common: {\n      'Accept': 'application/json, text/plain, */*',\n      'Content-Type': undefined\n    }\n  }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n  defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n  'age', 'authorization', 'content-length', 'content-type', 'etag',\n  'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n  'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n  'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n  const parsed = {};\n  let key;\n  let val;\n  let i;\n\n  rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n    i = line.indexOf(':');\n    key = line.substring(0, i).trim().toLowerCase();\n    val = line.substring(i + 1).trim();\n\n    if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n      return;\n    }\n\n    if (key === 'set-cookie') {\n      if (parsed[key]) {\n        parsed[key].push(val);\n      } else {\n        parsed[key] = [val];\n      }\n    } else {\n      parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n    }\n  });\n\n  return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n  return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n  if (value === false || value == null) {\n    return value;\n  }\n\n  return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n  const tokens = Object.create(null);\n  const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n  let match;\n\n  while ((match = tokensRE.exec(str))) {\n    tokens[match[1]] = match[2];\n  }\n\n  return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n  if (utils.isFunction(filter)) {\n    return filter.call(this, value, header);\n  }\n\n  if (isHeaderNameFilter) {\n    value = header;\n  }\n\n  if (!utils.isString(value)) return;\n\n  if (utils.isString(filter)) {\n    return value.indexOf(filter) !== -1;\n  }\n\n  if (utils.isRegExp(filter)) {\n    return filter.test(value);\n  }\n}\n\nfunction formatHeader(header) {\n  return header.trim()\n    .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n      return char.toUpperCase() + str;\n    });\n}\n\nfunction buildAccessors(obj, header) {\n  const accessorName = utils.toCamelCase(' ' + header);\n\n  ['get', 'set', 'has'].forEach(methodName => {\n    Object.defineProperty(obj, methodName + accessorName, {\n      value: function(arg1, arg2, arg3) {\n        return this[methodName].call(this, header, arg1, arg2, arg3);\n      },\n      configurable: true\n    });\n  });\n}\n\nclass AxiosHeaders {\n  constructor(headers) {\n    headers && this.set(headers);\n  }\n\n  set(header, valueOrRewrite, rewrite) {\n    const self = this;\n\n    function setHeader(_value, _header, _rewrite) {\n      const lHeader = normalizeHeader(_header);\n\n      if (!lHeader) {\n        throw new Error('header name must be a non-empty string');\n      }\n\n      const key = utils.findKey(self, lHeader);\n\n      if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n        self[key || _header] = normalizeValue(_value);\n      }\n    }\n\n    const setHeaders = (headers, _rewrite) =>\n      utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n    if (utils.isPlainObject(header) || header instanceof this.constructor) {\n      setHeaders(header, valueOrRewrite)\n    } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n      setHeaders(parseHeaders(header), valueOrRewrite);\n    } else if (utils.isObject(header) && utils.isIterable(header)) {\n      let obj = {}, dest, key;\n      for (const entry of header) {\n        if (!utils.isArray(entry)) {\n          throw TypeError('Object iterator must return a key-value pair');\n        }\n\n        obj[key = entry[0]] = (dest = obj[key]) ?\n          (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];\n      }\n\n      setHeaders(obj, valueOrRewrite)\n    } else {\n      header != null && setHeader(valueOrRewrite, header, rewrite);\n    }\n\n    return this;\n  }\n\n  get(header, parser) {\n    header = normalizeHeader(header);\n\n    if (header) {\n      const key = utils.findKey(this, header);\n\n      if (key) {\n        const value = this[key];\n\n        if (!parser) {\n          return value;\n        }\n\n        if (parser === true) {\n          return parseTokens(value);\n        }\n\n        if (utils.isFunction(parser)) {\n          return parser.call(this, value, key);\n        }\n\n        if (utils.isRegExp(parser)) {\n          return parser.exec(value);\n        }\n\n        throw new TypeError('parser must be boolean|regexp|function');\n      }\n    }\n  }\n\n  has(header, matcher) {\n    header = normalizeHeader(header);\n\n    if (header) {\n      const key = utils.findKey(this, header);\n\n      return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n    }\n\n    return false;\n  }\n\n  delete(header, matcher) {\n    const self = this;\n    let deleted = false;\n\n    function deleteHeader(_header) {\n      _header = normalizeHeader(_header);\n\n      if (_header) {\n        const key = utils.findKey(self, _header);\n\n        if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n          delete self[key];\n\n          deleted = true;\n        }\n      }\n    }\n\n    if (utils.isArray(header)) {\n      header.forEach(deleteHeader);\n    } else {\n      deleteHeader(header);\n    }\n\n    return deleted;\n  }\n\n  clear(matcher) {\n    const keys = Object.keys(this);\n    let i = keys.length;\n    let deleted = false;\n\n    while (i--) {\n      const key = keys[i];\n      if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n        delete this[key];\n        deleted = true;\n      }\n    }\n\n    return deleted;\n  }\n\n  normalize(format) {\n    const self = this;\n    const headers = {};\n\n    utils.forEach(this, (value, header) => {\n      const key = utils.findKey(headers, header);\n\n      if (key) {\n        self[key] = normalizeValue(value);\n        delete self[header];\n        return;\n      }\n\n      const normalized = format ? formatHeader(header) : String(header).trim();\n\n      if (normalized !== header) {\n        delete self[header];\n      }\n\n      self[normalized] = normalizeValue(value);\n\n      headers[normalized] = true;\n    });\n\n    return this;\n  }\n\n  concat(...targets) {\n    return this.constructor.concat(this, ...targets);\n  }\n\n  toJSON(asStrings) {\n    const obj = Object.create(null);\n\n    utils.forEach(this, (value, header) => {\n      value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n    });\n\n    return obj;\n  }\n\n  [Symbol.iterator]() {\n    return Object.entries(this.toJSON())[Symbol.iterator]();\n  }\n\n  toString() {\n    return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n  }\n\n  getSetCookie() {\n    return this.get(\"set-cookie\") || [];\n  }\n\n  get [Symbol.toStringTag]() {\n    return 'AxiosHeaders';\n  }\n\n  static from(thing) {\n    return thing instanceof this ? thing : new this(thing);\n  }\n\n  static concat(first, ...targets) {\n    const computed = new this(first);\n\n    targets.forEach((target) => computed.set(target));\n\n    return computed;\n  }\n\n  static accessor(header) {\n    const internals = this[$internals] = (this[$internals] = {\n      accessors: {}\n    });\n\n    const accessors = internals.accessors;\n    const prototype = this.prototype;\n\n    function defineAccessor(_header) {\n      const lHeader = normalizeHeader(_header);\n\n      if (!accessors[lHeader]) {\n        buildAccessors(prototype, _header);\n        accessors[lHeader] = true;\n      }\n    }\n\n    utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n    return this;\n  }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n  let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n  return {\n    get: () => value,\n    set(headerValue) {\n      this[mapped] = headerValue;\n    }\n  }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n  const config = this || defaults;\n  const context = response || config;\n  const headers = AxiosHeaders.from(context.headers);\n  let data = context.data;\n\n  utils.forEach(fns, function transform(fn) {\n    data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n  });\n\n  headers.normalize();\n\n  return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n  return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n  // eslint-disable-next-line no-eq-null,eqeqeq\n  AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n  this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n  __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n  const validateStatus = response.config.validateStatus;\n  if (!response.status || !validateStatus || validateStatus(response.status)) {\n    resolve(response);\n  } else {\n    reject(new AxiosError(\n      'Request failed with status code ' + response.status,\n      [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n      response.config,\n      response.request,\n      response\n    ));\n  }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n  const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n  return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n  samplesCount = samplesCount || 10;\n  const bytes = new Array(samplesCount);\n  const timestamps = new Array(samplesCount);\n  let head = 0;\n  let tail = 0;\n  let firstSampleTS;\n\n  min = min !== undefined ? min : 1000;\n\n  return function push(chunkLength) {\n    const now = Date.now();\n\n    const startedAt = timestamps[tail];\n\n    if (!firstSampleTS) {\n      firstSampleTS = now;\n    }\n\n    bytes[head] = chunkLength;\n    timestamps[head] = now;\n\n    let i = tail;\n    let bytesCount = 0;\n\n    while (i !== head) {\n      bytesCount += bytes[i++];\n      i = i % samplesCount;\n    }\n\n    head = (head + 1) % samplesCount;\n\n    if (head === tail) {\n      tail = (tail + 1) % samplesCount;\n    }\n\n    if (now - firstSampleTS < min) {\n      return;\n    }\n\n    const passed = startedAt && now - startedAt;\n\n    return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n  };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n  let timestamp = 0;\n  let threshold = 1000 / freq;\n  let lastArgs;\n  let timer;\n\n  const invoke = (args, now = Date.now()) => {\n    timestamp = now;\n    lastArgs = null;\n    if (timer) {\n      clearTimeout(timer);\n      timer = null;\n    }\n    fn(...args);\n  }\n\n  const throttled = (...args) => {\n    const now = Date.now();\n    const passed = now - timestamp;\n    if ( passed >= threshold) {\n      invoke(args, now);\n    } else {\n      lastArgs = args;\n      if (!timer) {\n        timer = setTimeout(() => {\n          timer = null;\n          invoke(lastArgs)\n        }, threshold - passed);\n      }\n    }\n  }\n\n  const flush = () => lastArgs && invoke(lastArgs);\n\n  return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n  let bytesNotified = 0;\n  const _speedometer = speedometer(50, 250);\n\n  return throttle(e => {\n    const loaded = e.loaded;\n    const total = e.lengthComputable ? e.total : undefined;\n    const progressBytes = loaded - bytesNotified;\n    const rate = _speedometer(progressBytes);\n    const inRange = loaded <= total;\n\n    bytesNotified = loaded;\n\n    const data = {\n      loaded,\n      total,\n      progress: total ? (loaded / total) : undefined,\n      bytes: progressBytes,\n      rate: rate ? rate : undefined,\n      estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n      event: e,\n      lengthComputable: total != null,\n      [isDownloadStream ? 'download' : 'upload']: true\n    };\n\n    listener(data);\n  }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n  const lengthComputable = total != null;\n\n  return [(loaded) => throttled[0]({\n    lengthComputable,\n    total,\n    loaded\n  }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n  url = new URL(url, platform.origin);\n\n  return (\n    origin.protocol === url.protocol &&\n    origin.host === url.host &&\n    (isMSIE || origin.port === url.port)\n  );\n})(\n  new URL(platform.origin),\n  platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n  // Standard browser envs support document.cookie\n  {\n    write(name, value, expires, path, domain, secure, sameSite) {\n      if (typeof document === 'undefined') return;\n\n      const cookie = [`${name}=${encodeURIComponent(value)}`];\n\n      if (utils.isNumber(expires)) {\n        cookie.push(`expires=${new Date(expires).toUTCString()}`);\n      }\n      if (utils.isString(path)) {\n        cookie.push(`path=${path}`);\n      }\n      if (utils.isString(domain)) {\n        cookie.push(`domain=${domain}`);\n      }\n      if (secure === true) {\n        cookie.push('secure');\n      }\n      if (utils.isString(sameSite)) {\n        cookie.push(`SameSite=${sameSite}`);\n      }\n\n      document.cookie = cookie.join('; ');\n    },\n\n    read(name) {\n      if (typeof document === 'undefined') return null;\n      const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));\n      return match ? decodeURIComponent(match[1]) : null;\n    },\n\n    remove(name) {\n      this.write(name, '', Date.now() - 86400000, '/');\n    }\n  }\n\n  :\n\n  // Non-standard browser env (web workers, react-native) lack needed support.\n  {\n    write() {},\n    read() {\n      return null;\n    },\n    remove() {}\n  };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n  // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n  // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n  // by any combination of letters, digits, plus, period, or hyphen.\n  return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n  return relativeURL\n    ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n    : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n  let isRelativeUrl = !isAbsoluteURL(requestedURL);\n  if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n    return combineURLs(baseURL, requestedURL);\n  }\n  return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n  // eslint-disable-next-line no-param-reassign\n  config2 = config2 || {};\n  const config = {};\n\n  function getMergedValue(target, source, prop, caseless) {\n    if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n      return utils.merge.call({caseless}, target, source);\n    } else if (utils.isPlainObject(source)) {\n      return utils.merge({}, source);\n    } else if (utils.isArray(source)) {\n      return source.slice();\n    }\n    return source;\n  }\n\n  // eslint-disable-next-line consistent-return\n  function mergeDeepProperties(a, b, prop, caseless) {\n    if (!utils.isUndefined(b)) {\n      return getMergedValue(a, b, prop, caseless);\n    } else if (!utils.isUndefined(a)) {\n      return getMergedValue(undefined, a, prop, caseless);\n    }\n  }\n\n  // eslint-disable-next-line consistent-return\n  function valueFromConfig2(a, b) {\n    if (!utils.isUndefined(b)) {\n      return getMergedValue(undefined, b);\n    }\n  }\n\n  // eslint-disable-next-line consistent-return\n  function defaultToConfig2(a, b) {\n    if (!utils.isUndefined(b)) {\n      return getMergedValue(undefined, b);\n    } else if (!utils.isUndefined(a)) {\n      return getMergedValue(undefined, a);\n    }\n  }\n\n  // eslint-disable-next-line consistent-return\n  function mergeDirectKeys(a, b, prop) {\n    if (prop in config2) {\n      return getMergedValue(a, b);\n    } else if (prop in config1) {\n      return getMergedValue(undefined, a);\n    }\n  }\n\n  const mergeMap = {\n    url: valueFromConfig2,\n    method: valueFromConfig2,\n    data: valueFromConfig2,\n    baseURL: defaultToConfig2,\n    transformRequest: defaultToConfig2,\n    transformResponse: defaultToConfig2,\n    paramsSerializer: defaultToConfig2,\n    timeout: defaultToConfig2,\n    timeoutMessage: defaultToConfig2,\n    withCredentials: defaultToConfig2,\n    withXSRFToken: defaultToConfig2,\n    adapter: defaultToConfig2,\n    responseType: defaultToConfig2,\n    xsrfCookieName: defaultToConfig2,\n    xsrfHeaderName: defaultToConfig2,\n    onUploadProgress: defaultToConfig2,\n    onDownloadProgress: defaultToConfig2,\n    decompress: defaultToConfig2,\n    maxContentLength: defaultToConfig2,\n    maxBodyLength: defaultToConfig2,\n    beforeRedirect: defaultToConfig2,\n    transport: defaultToConfig2,\n    httpAgent: defaultToConfig2,\n    httpsAgent: defaultToConfig2,\n    cancelToken: defaultToConfig2,\n    socketPath: defaultToConfig2,\n    responseEncoding: defaultToConfig2,\n    validateStatus: mergeDirectKeys,\n    headers: (a, b, prop) => mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true)\n  };\n\n  utils.forEach(Object.keys({...config1, ...config2}), function computeConfigValue(prop) {\n    const merge = mergeMap[prop] || mergeDeepProperties;\n    const configValue = merge(config1[prop], config2[prop], prop);\n    (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n  });\n\n  return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n  const newConfig = mergeConfig({}, config);\n\n  let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n  newConfig.headers = headers = AxiosHeaders.from(headers);\n\n  newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n  // HTTP basic authentication\n  if (auth) {\n    headers.set('Authorization', 'Basic ' +\n      btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n    );\n  }\n\n  if (utils.isFormData(data)) {\n    if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n      headers.setContentType(undefined); // browser handles it\n    } else if (utils.isFunction(data.getHeaders)) {\n      // Node.js FormData (like form-data package)\n      const formHeaders = data.getHeaders();\n      // Only set safe headers to avoid overwriting security headers\n      const allowedHeaders = ['content-type', 'content-length'];\n      Object.entries(formHeaders).forEach(([key, val]) => {\n        if (allowedHeaders.includes(key.toLowerCase())) {\n          headers.set(key, val);\n        }\n      });\n    }\n  }  \n\n  // Add xsrf header\n  // This is only done if running in a standard browser environment.\n  // Specifically not if we're in a web worker, or react-native.\n\n  if (platform.hasStandardBrowserEnv) {\n    withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n    if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n      // Add xsrf header\n      const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n      if (xsrfValue) {\n        headers.set(xsrfHeaderName, xsrfValue);\n      }\n    }\n  }\n\n  return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n  return new Promise(function dispatchXhrRequest(resolve, reject) {\n    const _config = resolveConfig(config);\n    let requestData = _config.data;\n    const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n    let {responseType, onUploadProgress, onDownloadProgress} = _config;\n    let onCanceled;\n    let uploadThrottled, downloadThrottled;\n    let flushUpload, flushDownload;\n\n    function done() {\n      flushUpload && flushUpload(); // flush events\n      flushDownload && flushDownload(); // flush events\n\n      _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n      _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n    }\n\n    let request = new XMLHttpRequest();\n\n    request.open(_config.method.toUpperCase(), _config.url, true);\n\n    // Set the request timeout in MS\n    request.timeout = _config.timeout;\n\n    function onloadend() {\n      if (!request) {\n        return;\n      }\n      // Prepare the response\n      const responseHeaders = AxiosHeaders.from(\n        'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n      );\n      const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n        request.responseText : request.response;\n      const response = {\n        data: responseData,\n        status: request.status,\n        statusText: request.statusText,\n        headers: responseHeaders,\n        config,\n        request\n      };\n\n      settle(function _resolve(value) {\n        resolve(value);\n        done();\n      }, function _reject(err) {\n        reject(err);\n        done();\n      }, response);\n\n      // Clean up request\n      request = null;\n    }\n\n    if ('onloadend' in request) {\n      // Use onloadend if available\n      request.onloadend = onloadend;\n    } else {\n      // Listen for ready state to emulate onloadend\n      request.onreadystatechange = function handleLoad() {\n        if (!request || request.readyState !== 4) {\n          return;\n        }\n\n        // The request errored out and we didn't get a response, this will be\n        // handled by onerror instead\n        // With one exception: request that using file: protocol, most browsers\n        // will return status as 0 even though it's a successful request\n        if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n          return;\n        }\n        // readystate handler is calling before onerror or ontimeout handlers,\n        // so we should call onloadend on the next 'tick'\n        setTimeout(onloadend);\n      };\n    }\n\n    // Handle browser request cancellation (as opposed to a manual cancellation)\n    request.onabort = function handleAbort() {\n      if (!request) {\n        return;\n      }\n\n      reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle low level network errors\n  request.onerror = function handleError(event) {\n       // Browsers deliver a ProgressEvent in XHR onerror\n       // (message may be empty; when present, surface it)\n       // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n       const msg = event && event.message ? event.message : 'Network Error';\n       const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n       // attach the underlying event for consumers who want details\n       err.event = event || null;\n       reject(err);\n       request = null;\n    };\n    \n    // Handle timeout\n    request.ontimeout = function handleTimeout() {\n      let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n      const transitional = _config.transitional || transitionalDefaults;\n      if (_config.timeoutErrorMessage) {\n        timeoutErrorMessage = _config.timeoutErrorMessage;\n      }\n      reject(new AxiosError(\n        timeoutErrorMessage,\n        transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n        config,\n        request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Remove Content-Type if data is undefined\n    requestData === undefined && requestHeaders.setContentType(null);\n\n    // Add headers to the request\n    if ('setRequestHeader' in request) {\n      utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n        request.setRequestHeader(key, val);\n      });\n    }\n\n    // Add withCredentials to request if needed\n    if (!utils.isUndefined(_config.withCredentials)) {\n      request.withCredentials = !!_config.withCredentials;\n    }\n\n    // Add responseType to request if needed\n    if (responseType && responseType !== 'json') {\n      request.responseType = _config.responseType;\n    }\n\n    // Handle progress if needed\n    if (onDownloadProgress) {\n      ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n      request.addEventListener('progress', downloadThrottled);\n    }\n\n    // Not all browsers support upload events\n    if (onUploadProgress && request.upload) {\n      ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n      request.upload.addEventListener('progress', uploadThrottled);\n\n      request.upload.addEventListener('loadend', flushUpload);\n    }\n\n    if (_config.cancelToken || _config.signal) {\n      // Handle cancellation\n      // eslint-disable-next-line func-names\n      onCanceled = cancel => {\n        if (!request) {\n          return;\n        }\n        reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n        request.abort();\n        request = null;\n      };\n\n      _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n      if (_config.signal) {\n        _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n      }\n    }\n\n    const protocol = parseProtocol(_config.url);\n\n    if (protocol && platform.protocols.indexOf(protocol) === -1) {\n      reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n      return;\n    }\n\n\n    // Send the request\n    request.send(requestData || null);\n  });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n  const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n  if (timeout || length) {\n    let controller = new AbortController();\n\n    let aborted;\n\n    const onabort = function (reason) {\n      if (!aborted) {\n        aborted = true;\n        unsubscribe();\n        const err = reason instanceof Error ? reason : this.reason;\n        controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n      }\n    }\n\n    let timer = timeout && setTimeout(() => {\n      timer = null;\n      onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n    }, timeout)\n\n    const unsubscribe = () => {\n      if (signals) {\n        timer && clearTimeout(timer);\n        timer = null;\n        signals.forEach(signal => {\n          signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n        });\n        signals = null;\n      }\n    }\n\n    signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n    const {signal} = controller;\n\n    signal.unsubscribe = () => utils.asap(unsubscribe);\n\n    return signal;\n  }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n  let len = chunk.byteLength;\n\n  if (!chunkSize || len < chunkSize) {\n    yield chunk;\n    return;\n  }\n\n  let pos = 0;\n  let end;\n\n  while (pos < len) {\n    end = pos + chunkSize;\n    yield chunk.slice(pos, end);\n    pos = end;\n  }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n  for await (const chunk of readStream(iterable)) {\n    yield* streamChunk(chunk, chunkSize);\n  }\n}\n\nconst readStream = async function* (stream) {\n  if (stream[Symbol.asyncIterator]) {\n    yield* stream;\n    return;\n  }\n\n  const reader = stream.getReader();\n  try {\n    for (;;) {\n      const {done, value} = await reader.read();\n      if (done) {\n        break;\n      }\n      yield value;\n    }\n  } finally {\n    await reader.cancel();\n  }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n  const iterator = readBytes(stream, chunkSize);\n\n  let bytes = 0;\n  let done;\n  let _onFinish = (e) => {\n    if (!done) {\n      done = true;\n      onFinish && onFinish(e);\n    }\n  }\n\n  return new ReadableStream({\n    async pull(controller) {\n      try {\n        const {done, value} = await iterator.next();\n\n        if (done) {\n         _onFinish();\n          controller.close();\n          return;\n        }\n\n        let len = value.byteLength;\n        if (onProgress) {\n          let loadedBytes = bytes += len;\n          onProgress(loadedBytes);\n        }\n        controller.enqueue(new Uint8Array(value));\n      } catch (err) {\n        _onFinish(err);\n        throw err;\n      }\n    },\n    cancel(reason) {\n      _onFinish(reason);\n      return iterator.return();\n    }\n  }, {\n    highWaterMark: 2\n  })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst {isFunction} = utils;\n\nconst globalFetchAPI = (({Request, Response}) => ({\n  Request, Response\n}))(utils.global);\n\nconst {\n  ReadableStream, TextEncoder\n} = utils.global;\n\n\nconst test = (fn, ...args) => {\n  try {\n    return !!fn(...args);\n  } catch (e) {\n    return false\n  }\n}\n\nconst factory = (env) => {\n  env = utils.merge.call({\n    skipUndefined: true\n  }, globalFetchAPI, env);\n\n  const {fetch: envFetch, Request, Response} = env;\n  const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n  const isRequestSupported = isFunction(Request);\n  const isResponseSupported = isFunction(Response);\n\n  if (!isFetchSupported) {\n    return false;\n  }\n\n  const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n  const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n      ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n      async (str) => new Uint8Array(await new Request(str).arrayBuffer())\n  );\n\n  const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => {\n    let duplexAccessed = false;\n\n    const hasContentType = new Request(platform.origin, {\n      body: new ReadableStream(),\n      method: 'POST',\n      get duplex() {\n        duplexAccessed = true;\n        return 'half';\n      },\n    }).headers.has('Content-Type');\n\n    return duplexAccessed && !hasContentType;\n  });\n\n  const supportsResponseStream = isResponseSupported && isReadableStreamSupported &&\n    test(() => utils.isReadableStream(new Response('').body));\n\n  const resolvers = {\n    stream: supportsResponseStream && ((res) => res.body)\n  };\n\n  isFetchSupported && ((() => {\n    ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n      !resolvers[type] && (resolvers[type] = (res, config) => {\n        let method = res && res[type];\n\n        if (method) {\n          return method.call(res);\n        }\n\n        throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n      })\n    });\n  })());\n\n  const getBodyLength = async (body) => {\n    if (body == null) {\n      return 0;\n    }\n\n    if (utils.isBlob(body)) {\n      return body.size;\n    }\n\n    if (utils.isSpecCompliantForm(body)) {\n      const _request = new Request(platform.origin, {\n        method: 'POST',\n        body,\n      });\n      return (await _request.arrayBuffer()).byteLength;\n    }\n\n    if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n      return body.byteLength;\n    }\n\n    if (utils.isURLSearchParams(body)) {\n      body = body + '';\n    }\n\n    if (utils.isString(body)) {\n      return (await encodeText(body)).byteLength;\n    }\n  }\n\n  const resolveBodyLength = async (headers, body) => {\n    const length = utils.toFiniteNumber(headers.getContentLength());\n\n    return length == null ? getBodyLength(body) : length;\n  }\n\n  return async (config) => {\n    let {\n      url,\n      method,\n      data,\n      signal,\n      cancelToken,\n      timeout,\n      onDownloadProgress,\n      onUploadProgress,\n      responseType,\n      headers,\n      withCredentials = 'same-origin',\n      fetchOptions\n    } = resolveConfig(config);\n\n    let _fetch = envFetch || fetch;\n\n    responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n    let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n    let request = null;\n\n    const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n      composedSignal.unsubscribe();\n    });\n\n    let requestContentLength;\n\n    try {\n      if (\n        onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n        (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n      ) {\n        let _request = new Request(url, {\n          method: 'POST',\n          body: data,\n          duplex: \"half\"\n        });\n\n        let contentTypeHeader;\n\n        if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n          headers.setContentType(contentTypeHeader)\n        }\n\n        if (_request.body) {\n          const [onProgress, flush] = progressEventDecorator(\n            requestContentLength,\n            progressEventReducer(asyncDecorator(onUploadProgress))\n          );\n\n          data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n        }\n      }\n\n      if (!utils.isString(withCredentials)) {\n        withCredentials = withCredentials ? 'include' : 'omit';\n      }\n\n      // Cloudflare Workers throws when credentials are defined\n      // see https://github.com/cloudflare/workerd/issues/902\n      const isCredentialsSupported = isRequestSupported && \"credentials\" in Request.prototype;\n\n      const resolvedOptions = {\n        ...fetchOptions,\n        signal: composedSignal,\n        method: method.toUpperCase(),\n        headers: headers.normalize().toJSON(),\n        body: data,\n        duplex: \"half\",\n        credentials: isCredentialsSupported ? withCredentials : undefined\n      };\n\n      request = isRequestSupported && new Request(url, resolvedOptions);\n\n      let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions));\n\n      const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n      if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n        const options = {};\n\n        ['status', 'statusText', 'headers'].forEach(prop => {\n          options[prop] = response[prop];\n        });\n\n        const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n        const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n          responseContentLength,\n          progressEventReducer(asyncDecorator(onDownloadProgress), true)\n        ) || [];\n\n        response = new Response(\n          trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n            flush && flush();\n            unsubscribe && unsubscribe();\n          }),\n          options\n        );\n      }\n\n      responseType = responseType || 'text';\n\n      let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n      !isStreamResponse && unsubscribe && unsubscribe();\n\n      return await new Promise((resolve, reject) => {\n        settle(resolve, reject, {\n          data: responseData,\n          headers: AxiosHeaders.from(response.headers),\n          status: response.status,\n          statusText: response.statusText,\n          config,\n          request\n        })\n      })\n    } catch (err) {\n      unsubscribe && unsubscribe();\n\n      if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n        throw Object.assign(\n          new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n          {\n            cause: err.cause || err\n          }\n        )\n      }\n\n      throw AxiosError.from(err, err && err.code, config, request);\n    }\n  }\n}\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n  let env = (config && config.env) || {};\n  const {fetch, Request, Response} = env;\n  const seeds = [\n    Request, Response, fetch\n  ];\n\n  let len = seeds.length, i = len,\n    seed, target, map = seedCache;\n\n  while (i--) {\n    seed = seeds[i];\n    target = map.get(seed);\n\n    target === undefined && map.set(seed, target = (i ? new Map() : factory(env)))\n\n    map = target;\n  }\n\n  return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\n/**\n * Known adapters mapping.\n * Provides environment-specific adapters for Axios:\n * - `http` for Node.js\n * - `xhr` for browsers\n * - `fetch` for fetch API-based requests\n * \n * @type {Object<string, Function|Object>}\n */\nconst knownAdapters = {\n  http: httpAdapter,\n  xhr: xhrAdapter,\n  fetch: {\n    get: fetchAdapter.getFetch,\n  }\n};\n\n// Assign adapter names for easier debugging and identification\nutils.forEach(knownAdapters, (fn, value) => {\n  if (fn) {\n    try {\n      Object.defineProperty(fn, 'name', { value });\n    } catch (e) {\n      // eslint-disable-next-line no-empty\n    }\n    Object.defineProperty(fn, 'adapterName', { value });\n  }\n});\n\n/**\n * Render a rejection reason string for unknown or unsupported adapters\n * \n * @param {string} reason\n * @returns {string}\n */\nconst renderReason = (reason) => `- ${reason}`;\n\n/**\n * Check if the adapter is resolved (function, null, or false)\n * \n * @param {Function|null|false} adapter\n * @returns {boolean}\n */\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\n/**\n * Get the first suitable adapter from the provided list.\n * Tries each adapter in order until a supported one is found.\n * Throws an AxiosError if no adapter is suitable.\n * \n * @param {Array<string|Function>|string|Function} adapters - Adapter(s) by name or function.\n * @param {Object} config - Axios request configuration\n * @throws {AxiosError} If no suitable adapter is available\n * @returns {Function} The resolved adapter function\n */\nfunction getAdapter(adapters, config) {\n  adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n  const { length } = adapters;\n  let nameOrAdapter;\n  let adapter;\n\n  const rejectedReasons = {};\n\n  for (let i = 0; i < length; i++) {\n    nameOrAdapter = adapters[i];\n    let id;\n\n    adapter = nameOrAdapter;\n\n    if (!isResolvedHandle(nameOrAdapter)) {\n      adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n      if (adapter === undefined) {\n        throw new AxiosError(`Unknown adapter '${id}'`);\n      }\n    }\n\n    if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n      break;\n    }\n\n    rejectedReasons[id || '#' + i] = adapter;\n  }\n\n  if (!adapter) {\n    const reasons = Object.entries(rejectedReasons)\n      .map(([id, state]) => `adapter ${id} ` +\n        (state === false ? 'is not supported by the environment' : 'is not available in the build')\n      );\n\n    let s = length ?\n      (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n      'as no adapter specified';\n\n    throw new AxiosError(\n      `There is no suitable adapter to dispatch the request ` + s,\n      'ERR_NOT_SUPPORT'\n    );\n  }\n\n  return adapter;\n}\n\n/**\n * Exports Axios adapters and utility to resolve an adapter\n */\nexport default {\n  /**\n   * Resolve an adapter from a list of adapter names or functions.\n   * @type {Function}\n   */\n  getAdapter,\n\n  /**\n   * Exposes all known adapters\n   * @type {Object<string, Function|Object>}\n   */\n  adapters: knownAdapters\n};\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n  if (config.cancelToken) {\n    config.cancelToken.throwIfRequested();\n  }\n\n  if (config.signal && config.signal.aborted) {\n    throw new CanceledError(null, config);\n  }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n  throwIfCancellationRequested(config);\n\n  config.headers = AxiosHeaders.from(config.headers);\n\n  // Transform request data\n  config.data = transformData.call(\n    config,\n    config.transformRequest\n  );\n\n  if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n    config.headers.setContentType('application/x-www-form-urlencoded', false);\n  }\n\n  const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n  return adapter(config).then(function onAdapterResolution(response) {\n    throwIfCancellationRequested(config);\n\n    // Transform response data\n    response.data = transformData.call(\n      config,\n      config.transformResponse,\n      response\n    );\n\n    response.headers = AxiosHeaders.from(response.headers);\n\n    return response;\n  }, function onAdapterRejection(reason) {\n    if (!isCancel(reason)) {\n      throwIfCancellationRequested(config);\n\n      // Transform response data\n      if (reason && reason.response) {\n        reason.response.data = transformData.call(\n          config,\n          config.transformResponse,\n          reason.response\n        );\n        reason.response.headers = AxiosHeaders.from(reason.response.headers);\n      }\n    }\n\n    return Promise.reject(reason);\n  });\n}\n","export const VERSION = \"1.13.1\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n  validators[type] = function validator(thing) {\n    return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n  };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n  function formatMessage(opt, desc) {\n    return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n  }\n\n  // eslint-disable-next-line func-names\n  return (value, opt, opts) => {\n    if (validator === false) {\n      throw new AxiosError(\n        formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n        AxiosError.ERR_DEPRECATED\n      );\n    }\n\n    if (version && !deprecatedWarnings[opt]) {\n      deprecatedWarnings[opt] = true;\n      // eslint-disable-next-line no-console\n      console.warn(\n        formatMessage(\n          opt,\n          ' has been deprecated since v' + version + ' and will be removed in the near future'\n        )\n      );\n    }\n\n    return validator ? validator(value, opt, opts) : true;\n  };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n  return (value, opt) => {\n    // eslint-disable-next-line no-console\n    console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n    return true;\n  }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n  if (typeof options !== 'object') {\n    throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n  }\n  const keys = Object.keys(options);\n  let i = keys.length;\n  while (i-- > 0) {\n    const opt = keys[i];\n    const validator = schema[opt];\n    if (validator) {\n      const value = options[opt];\n      const result = value === undefined || validator(value, opt, options);\n      if (result !== true) {\n        throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n      }\n      continue;\n    }\n    if (allowUnknown !== true) {\n      throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n    }\n  }\n}\n\nexport default {\n  assertOptions,\n  validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n  constructor(instanceConfig) {\n    this.defaults = instanceConfig || {};\n    this.interceptors = {\n      request: new InterceptorManager(),\n      response: new InterceptorManager()\n    };\n  }\n\n  /**\n   * Dispatch a request\n   *\n   * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n   * @param {?Object} config\n   *\n   * @returns {Promise} The Promise to be fulfilled\n   */\n  async request(configOrUrl, config) {\n    try {\n      return await this._request(configOrUrl, config);\n    } catch (err) {\n      if (err instanceof Error) {\n        let dummy = {};\n\n        Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n        // slice off the Error: ... line\n        const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n        try {\n          if (!err.stack) {\n            err.stack = stack;\n            // match without the 2 top stack lines\n          } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n            err.stack += '\\n' + stack\n          }\n        } catch (e) {\n          // ignore the case where \"stack\" is an un-writable property\n        }\n      }\n\n      throw err;\n    }\n  }\n\n  _request(configOrUrl, config) {\n    /*eslint no-param-reassign:0*/\n    // Allow for axios('example/url'[, config]) a la fetch API\n    if (typeof configOrUrl === 'string') {\n      config = config || {};\n      config.url = configOrUrl;\n    } else {\n      config = configOrUrl || {};\n    }\n\n    config = mergeConfig(this.defaults, config);\n\n    const {transitional, paramsSerializer, headers} = config;\n\n    if (transitional !== undefined) {\n      validator.assertOptions(transitional, {\n        silentJSONParsing: validators.transitional(validators.boolean),\n        forcedJSONParsing: validators.transitional(validators.boolean),\n        clarifyTimeoutError: validators.transitional(validators.boolean)\n      }, false);\n    }\n\n    if (paramsSerializer != null) {\n      if (utils.isFunction(paramsSerializer)) {\n        config.paramsSerializer = {\n          serialize: paramsSerializer\n        }\n      } else {\n        validator.assertOptions(paramsSerializer, {\n          encode: validators.function,\n          serialize: validators.function\n        }, true);\n      }\n    }\n\n    // Set config.allowAbsoluteUrls\n    if (config.allowAbsoluteUrls !== undefined) {\n      // do nothing\n    } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n      config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n    } else {\n      config.allowAbsoluteUrls = true;\n    }\n\n    validator.assertOptions(config, {\n      baseUrl: validators.spelling('baseURL'),\n      withXsrfToken: validators.spelling('withXSRFToken')\n    }, true);\n\n    // Set config.method\n    config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n    // Flatten headers\n    let contextHeaders = headers && utils.merge(\n      headers.common,\n      headers[config.method]\n    );\n\n    headers && utils.forEach(\n      ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n      (method) => {\n        delete headers[method];\n      }\n    );\n\n    config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n    // filter out skipped interceptors\n    const requestInterceptorChain = [];\n    let synchronousRequestInterceptors = true;\n    this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n      if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n        return;\n      }\n\n      synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n      requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n    });\n\n    const responseInterceptorChain = [];\n    this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n      responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n    });\n\n    let promise;\n    let i = 0;\n    let len;\n\n    if (!synchronousRequestInterceptors) {\n      const chain = [dispatchRequest.bind(this), undefined];\n      chain.unshift(...requestInterceptorChain);\n      chain.push(...responseInterceptorChain);\n      len = chain.length;\n\n      promise = Promise.resolve(config);\n\n      while (i < len) {\n        promise = promise.then(chain[i++], chain[i++]);\n      }\n\n      return promise;\n    }\n\n    len = requestInterceptorChain.length;\n\n    let newConfig = config;\n\n    while (i < len) {\n      const onFulfilled = requestInterceptorChain[i++];\n      const onRejected = requestInterceptorChain[i++];\n      try {\n        newConfig = onFulfilled(newConfig);\n      } catch (error) {\n        onRejected.call(this, error);\n        break;\n      }\n    }\n\n    try {\n      promise = dispatchRequest.call(this, newConfig);\n    } catch (error) {\n      return Promise.reject(error);\n    }\n\n    i = 0;\n    len = responseInterceptorChain.length;\n\n    while (i < len) {\n      promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n    }\n\n    return promise;\n  }\n\n  getUri(config) {\n    config = mergeConfig(this.defaults, config);\n    const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n    return buildURL(fullPath, config.params, config.paramsSerializer);\n  }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n  /*eslint func-names:0*/\n  Axios.prototype[method] = function(url, config) {\n    return this.request(mergeConfig(config || {}, {\n      method,\n      url,\n      data: (config || {}).data\n    }));\n  };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n  /*eslint func-names:0*/\n\n  function generateHTTPMethod(isForm) {\n    return function httpMethod(url, data, config) {\n      return this.request(mergeConfig(config || {}, {\n        method,\n        headers: isForm ? {\n          'Content-Type': 'multipart/form-data'\n        } : {},\n        url,\n        data\n      }));\n    };\n  }\n\n  Axios.prototype[method] = generateHTTPMethod();\n\n  Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n  constructor(executor) {\n    if (typeof executor !== 'function') {\n      throw new TypeError('executor must be a function.');\n    }\n\n    let resolvePromise;\n\n    this.promise = new Promise(function promiseExecutor(resolve) {\n      resolvePromise = resolve;\n    });\n\n    const token = this;\n\n    // eslint-disable-next-line func-names\n    this.promise.then(cancel => {\n      if (!token._listeners) return;\n\n      let i = token._listeners.length;\n\n      while (i-- > 0) {\n        token._listeners[i](cancel);\n      }\n      token._listeners = null;\n    });\n\n    // eslint-disable-next-line func-names\n    this.promise.then = onfulfilled => {\n      let _resolve;\n      // eslint-disable-next-line func-names\n      const promise = new Promise(resolve => {\n        token.subscribe(resolve);\n        _resolve = resolve;\n      }).then(onfulfilled);\n\n      promise.cancel = function reject() {\n        token.unsubscribe(_resolve);\n      };\n\n      return promise;\n    };\n\n    executor(function cancel(message, config, request) {\n      if (token.reason) {\n        // Cancellation has already been requested\n        return;\n      }\n\n      token.reason = new CanceledError(message, config, request);\n      resolvePromise(token.reason);\n    });\n  }\n\n  /**\n   * Throws a `CanceledError` if cancellation has been requested.\n   */\n  throwIfRequested() {\n    if (this.reason) {\n      throw this.reason;\n    }\n  }\n\n  /**\n   * Subscribe to the cancel signal\n   */\n\n  subscribe(listener) {\n    if (this.reason) {\n      listener(this.reason);\n      return;\n    }\n\n    if (this._listeners) {\n      this._listeners.push(listener);\n    } else {\n      this._listeners = [listener];\n    }\n  }\n\n  /**\n   * Unsubscribe from the cancel signal\n   */\n\n  unsubscribe(listener) {\n    if (!this._listeners) {\n      return;\n    }\n    const index = this._listeners.indexOf(listener);\n    if (index !== -1) {\n      this._listeners.splice(index, 1);\n    }\n  }\n\n  toAbortSignal() {\n    const controller = new AbortController();\n\n    const abort = (err) => {\n      controller.abort(err);\n    };\n\n    this.subscribe(abort);\n\n    controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n    return controller.signal;\n  }\n\n  /**\n   * Returns an object that contains a new `CancelToken` and a function that, when called,\n   * cancels the `CancelToken`.\n   */\n  static source() {\n    let cancel;\n    const token = new CancelToken(function executor(c) {\n      cancel = c;\n    });\n    return {\n      token,\n      cancel\n    };\n  }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n *  ```js\n *  function f(x, y, z) {}\n *  var args = [1, 2, 3];\n *  f.apply(null, args);\n *  ```\n *\n * With `spread` this example can be re-written.\n *\n *  ```js\n *  spread(function(x, y, z) {})([1, 2, 3]);\n *  ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n  return function wrap(arr) {\n    return callback.apply(null, arr);\n  };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n  return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n  Continue: 100,\n  SwitchingProtocols: 101,\n  Processing: 102,\n  EarlyHints: 103,\n  Ok: 200,\n  Created: 201,\n  Accepted: 202,\n  NonAuthoritativeInformation: 203,\n  NoContent: 204,\n  ResetContent: 205,\n  PartialContent: 206,\n  MultiStatus: 207,\n  AlreadyReported: 208,\n  ImUsed: 226,\n  MultipleChoices: 300,\n  MovedPermanently: 301,\n  Found: 302,\n  SeeOther: 303,\n  NotModified: 304,\n  UseProxy: 305,\n  Unused: 306,\n  TemporaryRedirect: 307,\n  PermanentRedirect: 308,\n  BadRequest: 400,\n  Unauthorized: 401,\n  PaymentRequired: 402,\n  Forbidden: 403,\n  NotFound: 404,\n  MethodNotAllowed: 405,\n  NotAcceptable: 406,\n  ProxyAuthenticationRequired: 407,\n  RequestTimeout: 408,\n  Conflict: 409,\n  Gone: 410,\n  LengthRequired: 411,\n  PreconditionFailed: 412,\n  PayloadTooLarge: 413,\n  UriTooLong: 414,\n  UnsupportedMediaType: 415,\n  RangeNotSatisfiable: 416,\n  ExpectationFailed: 417,\n  ImATeapot: 418,\n  MisdirectedRequest: 421,\n  UnprocessableEntity: 422,\n  Locked: 423,\n  FailedDependency: 424,\n  TooEarly: 425,\n  UpgradeRequired: 426,\n  PreconditionRequired: 428,\n  TooManyRequests: 429,\n  RequestHeaderFieldsTooLarge: 431,\n  UnavailableForLegalReasons: 451,\n  InternalServerError: 500,\n  NotImplemented: 501,\n  BadGateway: 502,\n  ServiceUnavailable: 503,\n  GatewayTimeout: 504,\n  HttpVersionNotSupported: 505,\n  VariantAlsoNegotiates: 506,\n  InsufficientStorage: 507,\n  LoopDetected: 508,\n  NotExtended: 510,\n  NetworkAuthenticationRequired: 511,\n  WebServerIsDown: 521,\n  ConnectionTimedOut: 522,\n  OriginIsUnreachable: 523,\n  TimeoutOccurred: 524,\n  SslHandshakeFailed: 525,\n  InvalidSslCertificate: 526,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n  HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n  const context = new Axios(defaultConfig);\n  const instance = bind(Axios.prototype.request, context);\n\n  // Copy axios.prototype to instance\n  utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n  // Copy context to instance\n  utils.extend(instance, context, null, {allOwnKeys: true});\n\n  // Factory for creating new instances\n  instance.create = function create(instanceConfig) {\n    return createInstance(mergeConfig(defaultConfig, instanceConfig));\n  };\n\n  return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n  return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n  Axios,\n  AxiosError,\n  CanceledError,\n  isCancel,\n  CancelToken,\n  VERSION,\n  all,\n  Cancel,\n  isAxiosError,\n  spread,\n  toFormData,\n  AxiosHeaders,\n  HttpStatusCode,\n  formToJSON,\n  getAdapter,\n  mergeConfig\n} = axios;\n\nexport {\n  axios as default,\n  Axios,\n  AxiosError,\n  CanceledError,\n  isCancel,\n  CancelToken,\n  VERSION,\n  all,\n  Cancel,\n  isAxiosError,\n  spread,\n  toFormData,\n  AxiosHeaders,\n  HttpStatusCode,\n  formToJSON,\n  getAdapter,\n  mergeConfig\n}\n","import { getRequestToken, onRequestTokenUpdate } from \"@nextcloud/auth\";\nimport Axios, { isAxiosError } from \"axios\";\nimport { isAxiosError as isAxiosError2, isCancel } from \"axios\";\nimport { generateUrl } from \"@nextcloud/router\";\n/*!\n * SPDX-License-Identifier: GPL-3.0-or-later\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n */\nconst client = Axios.create({\n  headers: {\n    requesttoken: getRequestToken() ?? \"\",\n    \"X-Requested-With\": \"XMLHttpRequest\"\n  }\n});\nonRequestTokenUpdate((token) => {\n  client.defaults.headers.requesttoken = token;\n});\nconst cancelableClient = Object.assign(client, {\n  CancelToken: Axios.CancelToken,\n  isCancel: Axios.isCancel\n});\nconst RETRY_KEY = Symbol(\"csrf-retry\");\nfunction onCsrfTokenError(axios) {\n  return async (error) => {\n    if (!isAxiosError(error)) {\n      throw error;\n    }\n    const { config, response, request } = error;\n    const responseURL = request?.responseURL;\n    if (config && !config[RETRY_KEY] && response?.status === 412 && response?.data?.message === \"CSRF check failed\") {\n      console.warn(`Request to ${responseURL} failed because of a CSRF mismatch. Fetching a new token`);\n      const { data: { token } } = await axios.get(generateUrl(\"/csrftoken\"));\n      console.debug(`New request token ${token} fetched`);\n      axios.defaults.headers.requesttoken = token;\n      return axios({\n        ...config,\n        headers: {\n          ...config.headers,\n          requesttoken: token\n        },\n        [RETRY_KEY]: true\n      });\n    }\n    throw error;\n  };\n}\nconst RETRY_DELAY_KEY = Symbol(\"retryDelay\");\nfunction onMaintenanceModeError(axios) {\n  return async (error) => {\n    if (!isAxiosError(error)) {\n      throw error;\n    }\n    const { config, response, request } = error;\n    const responseURL = request?.responseURL;\n    const status = response?.status;\n    const headers = response?.headers;\n    let retryDelay = typeof config?.[RETRY_DELAY_KEY] === \"number\" ? config?.[RETRY_DELAY_KEY] : 1;\n    if (status === 503 && headers?.[\"x-nextcloud-maintenance-mode\"] === \"1\" && config?.retryIfMaintenanceMode) {\n      retryDelay *= 2;\n      if (retryDelay > 32) {\n        console.error(\"Retry delay exceeded one minute, giving up.\", { responseURL });\n        throw error;\n      }\n      console.warn(`Request to ${responseURL} failed because of maintenance mode. Retrying in ${retryDelay}s`);\n      await new Promise((resolve) => {\n        setTimeout(resolve, retryDelay * 1e3);\n      });\n      return axios({\n        ...config,\n        [RETRY_DELAY_KEY]: retryDelay\n      });\n    }\n    throw error;\n  };\n}\nasync function onNotLoggedInError(error) {\n  if (isAxiosError(error)) {\n    const { config, response, request } = error;\n    const responseURL = request?.responseURL;\n    const status = response?.status;\n    if (status === 401 && response?.data?.message === \"Current user is not logged in\" && config?.reloadExpiredSession && window?.location) {\n      console.error(`Request to ${responseURL} failed because the user session expired. Reloading the page …`);\n      window.location.reload();\n    }\n  }\n  throw error;\n}\ncancelableClient.interceptors.response.use((r) => r, onCsrfTokenError(cancelableClient));\ncancelableClient.interceptors.response.use((r) => r, onMaintenanceModeError(cancelableClient));\ncancelableClient.interceptors.response.use((r) => r, onNotLoggedInError);\nexport {\n  cancelableClient as default,\n  isAxiosError2 as isAxiosError,\n  isCancel\n};\n//# sourceMappingURL=index.mjs.map\n","function debounce(function_, wait = 100, options = {}) {\n\tif (typeof function_ !== 'function') {\n\t\tthrow new TypeError(`Expected the first parameter to be a function, got \\`${typeof function_}\\`.`);\n\t}\n\n\tif (wait < 0) {\n\t\tthrow new RangeError('`wait` must not be negative.');\n\t}\n\n\t// TODO: Deprecate the boolean parameter at some point.\n\tconst {immediate} = typeof options === 'boolean' ? {immediate: options} : options;\n\n\tlet storedContext;\n\tlet storedArguments;\n\tlet timeoutId;\n\tlet timestamp;\n\tlet result;\n\n\tfunction run() {\n\t\tconst callContext = storedContext;\n\t\tconst callArguments = storedArguments;\n\t\tstoredContext = undefined;\n\t\tstoredArguments = undefined;\n\t\tresult = function_.apply(callContext, callArguments);\n\t\treturn result;\n\t}\n\n\tfunction later() {\n\t\tconst last = Date.now() - timestamp;\n\n\t\tif (last < wait && last >= 0) {\n\t\t\ttimeoutId = setTimeout(later, wait - last);\n\t\t} else {\n\t\t\ttimeoutId = undefined;\n\n\t\t\tif (!immediate) {\n\t\t\t\tresult = run();\n\t\t\t}\n\t\t}\n\t}\n\n\tconst debounced = function (...arguments_) {\n\t\tif (\n\t\t\tstoredContext\n\t\t\t&& this !== storedContext\n\t\t\t&& Object.getPrototypeOf(this) === Object.getPrototypeOf(storedContext)\n\t\t) {\n\t\t\tthrow new Error('Debounced method called with different contexts of the same prototype.');\n\t\t}\n\n\t\tstoredContext = this; // eslint-disable-line unicorn/no-this-assignment\n\t\tstoredArguments = arguments_;\n\t\ttimestamp = Date.now();\n\n\t\tconst callNow = immediate && !timeoutId;\n\n\t\tif (!timeoutId) {\n\t\t\ttimeoutId = setTimeout(later, wait);\n\t\t}\n\n\t\tif (callNow) {\n\t\t\tresult = run();\n\t\t}\n\n\t\treturn result;\n\t};\n\n\tObject.defineProperty(debounced, 'isPending', {\n\t\tget() {\n\t\t\treturn timeoutId !== undefined;\n\t\t},\n\t});\n\n\tdebounced.clear = () => {\n\t\tif (!timeoutId) {\n\t\t\treturn;\n\t\t}\n\n\t\tclearTimeout(timeoutId);\n\t\ttimeoutId = undefined;\n\t};\n\n\tdebounced.flush = () => {\n\t\tif (!timeoutId) {\n\t\t\treturn;\n\t\t}\n\n\t\tdebounced.trigger();\n\t};\n\n\tdebounced.trigger = () => {\n\t\tresult = run();\n\n\t\tdebounced.clear();\n\t};\n\n\treturn debounced;\n}\n\n// Adds compatibility for ES modules\nmodule.exports.debounce = debounce;\n\nmodule.exports = debounce;\n","import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n  name: \"AlertCircleOutlineIcon\",\n  emits: [\"click\"],\n  props: {\n    title: {\n      type: String\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n};\nvar _sfc_render = function render() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"span\", _vm._b({ staticClass: \"material-design-icon alert-circle-outline-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n    return _vm.$emit(\"click\", $event);\n  } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  null\n);\nconst AlertCircle = __component__.exports;\nexport {\n  AlertCircle as A\n};\n//# sourceMappingURL=AlertCircleOutline-DBxbepLy.mjs.map\n","import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n  name: \"CheckIcon\",\n  emits: [\"click\"],\n  props: {\n    title: {\n      type: String\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n};\nvar _sfc_render = function render() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"span\", _vm._b({ staticClass: \"material-design-icon check-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n    return _vm.$emit(\"click\", $event);\n  } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  null\n);\nconst Check = __component__.exports;\nexport {\n  Check as C\n};\n//# sourceMappingURL=Check-BkThHPH7.mjs.map\n","import '../assets/NcInputField-CtUAgq1i.css';\nimport { A as AlertCircle } from \"./AlertCircleOutline-DBxbepLy.mjs\";\nimport { C as Check } from \"./Check-BkThHPH7.mjs\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-F5ebeBB_.mjs\";\nimport { i as isLegacy32 } from \"./legacy-MK4GvP26.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { N as NcButton } from \"./NcButton-DUZTtFhr.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n  name: \"NcInputField\",\n  components: {\n    NcButton,\n    AlertCircle,\n    Check\n  },\n  inheritAttrs: false,\n  model: {\n    prop: \"modelValue\",\n    event: \"update:modelValue\"\n  },\n  props: {\n    /**\n     * Removed in v9 - use `modelValue` (`v-model`) instead\n     *\n     * @deprecated\n     */\n    value: {\n      type: [String, Number],\n      default: void 0\n    },\n    /**\n     * The value of the input field\n     * If type is 'number' and a number is passed as value than the type of `update:modelValue` will also be 'number'\n     */\n    modelValue: {\n      type: [String, Number],\n      default: void 0\n    },\n    /**\n     * The type of the input element\n     */\n    type: {\n      type: String,\n      default: \"text\",\n      validator: (value) => [\n        \"text\",\n        \"password\",\n        \"email\",\n        \"tel\",\n        \"url\",\n        \"search\",\n        \"number\"\n      ].includes(value)\n    },\n    /**\n     * The input label, always provide one for accessibility purposes.\n     * This will also be used as a placeholder unless the placeholder\n     * prop is populated with a different string.\n     *\n     * Note: If the background color is not `--color-main-background` consider using an external label instead (see `labelOutside`).\n     */\n    label: {\n      type: String,\n      default: void 0\n    },\n    /**\n     * Pass in true if you want to use an external label. This is useful\n     * if you need a label that looks different from the one provided by\n     * this component\n     */\n    labelOutside: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * The placeholder of the input. This defaults as the string that's\n     * passed into the label prop. In order to remove the placeholder,\n     * pass in an empty string.\n     */\n    placeholder: {\n      type: String,\n      default: void 0\n    },\n    /**\n     * Controls whether to display the trailing button.\n     */\n    showTrailingButton: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Label of the trailing button\n     *\n     * Required when showTrailingButton is set\n     */\n    trailingButtonLabel: {\n      type: String,\n      default: \"\"\n    },\n    /**\n     * Toggles the success state of the component. Adds a checkmark icon.\n     * this cannot be used together with canClear.\n     */\n    success: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Toggles the error state of the component. Adds an error icon.\n     * this cannot be used together with canClear.\n     */\n    error: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Additional helper text message\n     *\n     * This will be displayed beneath the input field. In case the field is\n     * also marked as having an error, the text will be displayed in red.\n     */\n    helperText: {\n      type: String,\n      default: \"\"\n    },\n    /**\n     * Disable the input field\n     */\n    disabled: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Specifies whether the input should have a pill form.\n     * By default, input has rounded corners.\n     */\n    pill: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Class to add to the input field.\n     * Necessary to use NcInputField in the NcActionInput component.\n     */\n    inputClass: {\n      type: [Object, String],\n      default: \"\"\n    }\n  },\n  emits: [\n    /**\n     * Removed in v9 - use `update:modelValue` (`v-model`) instead\n     *\n     * @deprecated\n     */\n    \"update:value\",\n    \"update:modelValue\",\n    /** Same as update:modelValue for Vue 2 compatibility */\n    \"update:model-value\",\n    \"trailing-button-click\"\n  ],\n  setup() {\n    const model = useModelMigration(\"value\", \"update:value\", true);\n    return {\n      isLegacy32,\n      model\n    };\n  },\n  computed: {\n    computedId() {\n      return this.$attrs.id && this.$attrs.id !== \"\" ? this.$attrs.id : this.inputName;\n    },\n    inputName() {\n      return \"input\" + GenRandomId();\n    },\n    hasTrailingIcon() {\n      return this.success;\n    },\n    computedPlaceholder() {\n      if (this.placeholder) {\n        return this.placeholder;\n      }\n      if (this.label) {\n        return isLegacy32 ? this.label : \"\";\n      }\n      return void 0;\n    },\n    isValidLabel() {\n      const isValidLabel = this.label || this.labelOutside;\n      if (!isValidLabel) {\n        logger.warn(\"You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.\");\n      }\n      return isValidLabel;\n    },\n    ariaDescribedby() {\n      const ariaDescribedby = [];\n      if (this.helperText.length > 0) {\n        ariaDescribedby.push(`${this.inputName}-helper-text`);\n      }\n      if (this.$attrs[\"aria-describedby\"]) {\n        ariaDescribedby.push(this.$attrs[\"aria-describedby\"]);\n      }\n      return ariaDescribedby.join(\" \") || null;\n    }\n  },\n  methods: {\n    /**\n     * Focus the input element\n     *\n     * @public\n     */\n    focus() {\n      this.$refs.input.focus();\n    },\n    /**\n     * Select all the text in the input\n     *\n     * @public\n     */\n    select() {\n      this.$refs.input.select();\n    },\n    handleInput(event) {\n      const newValue = this.type === \"number\" && typeof this.model === \"number\" ? parseFloat(event.target.value, 10) : event.target.value;\n      this.model = newValue;\n    },\n    handleTrailingButtonClick(event) {\n      this.$emit(\"trailing-button-click\", event);\n    }\n  }\n};\nvar _sfc_render = function render() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"div\", { staticClass: \"input-field\", class: {\n    \"input-field--disabled\": _vm.disabled,\n    \"input-field--error\": _vm.error,\n    \"input-field--label-outside\": _vm.labelOutside || !_vm.isValidLabel,\n    \"input-field--leading-icon\": !!_vm.$scopedSlots.icon || !!_vm.$scopedSlots.default || !!_vm.$slots.default,\n    \"input-field--success\": _vm.success,\n    \"input-field--trailing-icon\": _vm.showTrailingButton || _vm.hasTrailingIcon,\n    \"input-field--pill\": _vm.pill,\n    \"input-field--legacy\": _vm.isLegacy32\n  } }, [_c(\"div\", { staticClass: \"input-field__main-wrapper\" }, [_c(\"input\", _vm._g(_vm._b({ ref: \"input\", staticClass: \"input-field__input\", class: [\n    _vm.inputClass,\n    {\n      \"input-field__input--success\": _vm.success,\n      \"input-field__input--error\": _vm.error\n    }\n  ], attrs: { \"id\": _vm.computedId, \"type\": _vm.type, \"disabled\": _vm.disabled, \"placeholder\": _vm.computedPlaceholder, \"aria-describedby\": _vm.ariaDescribedby, \"aria-live\": \"polite\" }, domProps: { \"value\": _vm.model?.toString() }, on: { \"input\": _vm.handleInput } }, \"input\", _vm.$attrs, false), _vm.$listeners)), !_vm.labelOutside && _vm.isValidLabel ? _c(\"label\", { staticClass: \"input-field__label\", attrs: { \"for\": _vm.computedId } }, [_vm._v(\" \" + _vm._s(_vm.label) + \" \")]) : _vm._e(), _c(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: !!_vm.$scopedSlots.icon || !!_vm.$scopedSlots.default || !!_vm.$slots.default, expression: \"!!$scopedSlots.icon || !!$scopedSlots.default || !!$slots.default\" }], staticClass: \"input-field__icon input-field__icon--leading\" }, [_vm._t(\"icon\", function() {\n    return [_vm._t(\"default\")];\n  })], 2), _vm.showTrailingButton ? _c(\"NcButton\", { staticClass: \"input-field__trailing-button\", attrs: { \"aria-label\": _vm.trailingButtonLabel, \"disabled\": _vm.disabled, \"variant\": \"tertiary-no-background\" }, on: { \"click\": _vm.handleTrailingButtonClick }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n    return [_vm._t(\"trailing-button-icon\")];\n  }, proxy: true }], null, true) }) : _vm.success || _vm.error ? _c(\"div\", { staticClass: \"input-field__icon input-field__icon--trailing\" }, [_vm.success ? _c(\"Check\", { staticStyle: { \"color\": \"var(--color-success-text)\" }, attrs: { \"size\": 20 } }) : _vm.error ? _c(\"AlertCircle\", { staticStyle: { \"color\": \"var(--color-error-text)\" }, attrs: { \"size\": 20 } }) : _vm._e()], 1) : _vm._e()], 1), _vm.helperText.length > 0 ? _c(\"p\", { staticClass: \"input-field__helper-text-message\", class: {\n    \"input-field__helper-text-message--error\": _vm.error,\n    \"input-field__helper-text-message--success\": _vm.success\n  }, attrs: { \"id\": `${_vm.inputName}-helper-text` } }, [_vm.success ? _c(\"Check\", { staticClass: \"input-field__helper-text-message__icon\", attrs: { \"size\": 18 } }) : _vm.error ? _c(\"AlertCircle\", { staticClass: \"input-field__helper-text-message__icon\", attrs: { \"size\": 18 } }) : _vm._e(), _vm._v(\" \" + _vm._s(_vm.helperText) + \" \")], 1) : _vm._e()]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  \"5c7bbaef\"\n);\nconst NcInputField = __component__.exports;\nexport {\n  NcInputField as N\n};\n//# sourceMappingURL=NcInputField-DUtDY_1I.mjs.map\n","import '../assets/NcPasswordField-mhXQk8aT.css';\nimport axios from \"@nextcloud/axios\";\nimport { loadState } from \"@nextcloud/initial-state\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nimport { useVModel } from \"@vueuse/core\";\nimport debounce from \"debounce\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { N as NcInputField } from \"./NcInputField-DUtDY_1I.mjs\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { r as register, B as t28, a as t } from \"./_l10n-BWisB7-O.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nconst _sfc_main$2 = {\n  name: \"EyeIcon\",\n  emits: [\"click\"],\n  props: {\n    title: {\n      type: String\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n};\nvar _sfc_render$2 = function render() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"span\", _vm._b({ staticClass: \"material-design-icon eye-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n    return _vm.$emit(\"click\", $event);\n  } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n  _sfc_main$2,\n  _sfc_render$2,\n  _sfc_staticRenderFns$2,\n  false,\n  null,\n  null\n);\nconst IconEye = __component__$2.exports;\nconst _sfc_main$1 = {\n  name: \"EyeOffIcon\",\n  emits: [\"click\"],\n  props: {\n    title: {\n      type: String\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n};\nvar _sfc_render$1 = function render2() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"span\", _vm._b({ staticClass: \"material-design-icon eye-off-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n    return _vm.$emit(\"click\", $event);\n  } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M11.83,9L15,12.16C15,12.11 15,12.05 15,12A3,3 0 0,0 12,9C11.94,9 11.89,9 11.83,9M7.53,9.8L9.08,11.35C9.03,11.56 9,11.77 9,12A3,3 0 0,0 12,15C12.22,15 12.44,14.97 12.65,14.92L14.2,16.47C13.53,16.8 12.79,17 12,17A5,5 0 0,1 7,12C7,11.21 7.2,10.47 7.53,9.8M2,4.27L4.28,6.55L4.73,7C3.08,8.3 1.78,10 1,12C2.73,16.39 7,19.5 12,19.5C13.55,19.5 15.03,19.2 16.38,18.66L16.81,19.08L19.73,22L21,20.73L3.27,3M12,7A5,5 0 0,1 17,12C17,12.64 16.87,13.26 16.64,13.82L19.57,16.75C21.07,15.5 22.27,13.86 23,12C21.27,7.61 17,4.5 12,4.5C10.6,4.5 9.26,4.75 8,5.2L10.17,7.35C10.74,7.13 11.35,7 12,7Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n  _sfc_main$1,\n  _sfc_render$1,\n  _sfc_staticRenderFns$1,\n  false,\n  null,\n  null\n);\nconst IconEyeOff = __component__$1.exports;\nregister(t28);\nconst passwordPolicy = loadState(\"core\", \"capabilities\", {}).password_policy || null;\nconst NcInputFieldProps = new Set(Object.keys(NcInputField.props));\nconst _sfc_main = {\n  name: \"NcPasswordField\",\n  components: {\n    NcInputField,\n    IconEye,\n    IconEyeOff\n  },\n  // Allow forwarding all attributes\n  inheritAttrs: false,\n  model: {\n    prop: \"modelValue\",\n    event: \"update:modelValue\"\n  },\n  props: {\n    /**\n     * Any [NcInputField](#/Components/NcFields?id=ncinputfield) props\n     */\n    // Not an actual prop but needed to show in vue-styleguidist docs\n    // eslint-disable-next-line\n    \" \": {},\n    // Reuse all the props from NcInputField for better typing and documentation\n    ...NcInputField.props,\n    // Redefined props\n    /**\n     * Controls whether to display the trailing button.\n     */\n    showTrailingButton: {\n      type: Boolean,\n      // eslint-disable-next-line vue/no-boolean-default\n      default: true\n    },\n    /**\n     * Removed NcInputField props, defined only by this component\n     */\n    trailingButtonLabel: void 0,\n    // Custom props\n    /**\n     * Check if the user entered a valid password using the password_policy\n     * app if available.\n     *\n     * Warning: this doesn't replace server side checking and will do nothing\n     * if the password_policy app is disabled.\n     */\n    checkPasswordStrength: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * The minlength property defines the minimum number of characters\n     * (as UTF-16 code units) the user can enter\n     */\n    minlength: {\n      type: Number,\n      default: 0\n    },\n    /**\n     * The maxlength property defines the maximum number of characters\n     * (as UTF-16 code units) the user can enter\n     */\n    maxlength: {\n      type: Number,\n      default: null\n    },\n    /**\n     * Render as input[type=text] that looks like password field.\n     * Allows to avoid unwanted password-specific browser behavior,\n     * such as save or generate password prompt.\n     * Useful for secret token fields.\n     * Note: autocomplete=\"off\" is ignored by browsers.\n     */\n    asText: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Visibility of the password.\n     * If this is set to `true` then the password will be shown to the user (input type will be set to `text`).\n     */\n    visible: {\n      type: Boolean,\n      default: false\n    }\n  },\n  emits: [\n    \"valid\",\n    \"invalid\",\n    /**\n     * Removed in v9 - use `update:modelValue` (`v-model`) instead\n     *\n     * @deprecated\n     */\n    \"update:value\",\n    /**\n     * Triggers when the value inside the password field is\n     * updated.\n     *\n     * @property {string} The new value\n     */\n    \"update:modelValue\",\n    /** Same as update:modelValue for Vue 2 compatibility */\n    \"update:model-value\",\n    /**\n     * Updated visibility of the password\n     *\n     * @property {boolean} visible the new visibility state\n     */\n    \"update:visible\"\n  ],\n  setup(props, { emit }) {\n    const model = useModelMigration(\"value\", \"update:value\");\n    const visibility = useVModel(props, \"visible\", emit, { passive: true });\n    return {\n      t,\n      model,\n      visibility\n    };\n  },\n  data() {\n    return {\n      internalHelpMessage: \"\",\n      isValid: null\n    };\n  },\n  computed: {\n    computedError() {\n      return this.error || this.isValid === false;\n    },\n    computedSuccess() {\n      return this.success || this.isValid === true;\n    },\n    computedHelperText() {\n      if (this.helperText.length > 0) {\n        return this.helperText;\n      }\n      return this.internalHelpMessage;\n    },\n    rules() {\n      const { minlength } = this;\n      return {\n        minlength: minlength ?? passwordPolicy?.minLength\n      };\n    },\n    trailingButtonLabelPassword() {\n      return this.visibility ? t(\"Hide password\") : t(\"Show password\");\n    },\n    propsAndAttrsToForward() {\n      return {\n        // Proxy all the HTML attributes\n        ...this.$attrs,\n        // Proxy original NcInputField's props\n        ...Object.fromEntries(Object.entries(this.$props).filter(([key]) => NcInputFieldProps.has(key)))\n      };\n    }\n  },\n  watch: {\n    model(newValue) {\n      if (this.checkPasswordStrength) {\n        if (passwordPolicy === null) {\n          return;\n        }\n        this.checkPassword(newValue);\n      }\n    }\n  },\n  methods: {\n    /**\n     * Focus the input element\n     *\n     * @public\n     */\n    focus() {\n      this.$refs.inputField.focus();\n    },\n    /**\n     * Select all the text in the input\n     *\n     * @public\n     */\n    select() {\n      this.$refs.inputField.select();\n    },\n    handleInput(event) {\n      this.model = event.target.value;\n    },\n    toggleVisibility() {\n      this.visibility = !this.visibility;\n    },\n    checkPassword: debounce(async function(password) {\n      try {\n        const { data } = await axios.post(generateOcsUrl(\"apps/password_policy/api/v1/validate\"), { password });\n        this.isValid = data.ocs.data.passed;\n        if (data.ocs.data.passed) {\n          this.internalHelpMessage = t(\"Password is secure\");\n          this.$emit(\"valid\");\n          return;\n        }\n        this.internalHelpMessage = data.ocs.data.reason;\n        this.$emit(\"invalid\");\n      } catch (e) {\n        logger.error(\"Password policy returned an error\", e);\n      }\n    }, 500)\n  }\n};\nvar _sfc_render = function render3() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"NcInputField\", _vm._g(_vm._b({ ref: \"inputField\", attrs: { \"type\": _vm.visibility || _vm.asText ? \"text\" : \"password\", \"trailing-button-label\": _vm.trailingButtonLabelPassword, \"helper-text\": _vm.computedHelperText, \"error\": _vm.computedError, \"success\": _vm.computedSuccess, \"minlength\": _vm.rules.minlength, \"input-class\": { \"password-field__input--secure-text\": !_vm.visibility && _vm.asText } }, on: { \"trailing-button-click\": _vm.toggleVisibility, \"input\": _vm.handleInput }, scopedSlots: _vm._u([!!_vm.$scopedSlots.icon || !!_vm.$slots.default || !!_vm.$scopedSlots.default ? { key: \"icon\", fn: function() {\n    return [_vm._t(\"icon\", function() {\n      return [_vm._t(\"default\")];\n    })];\n  }, proxy: true } : null, { key: \"trailing-button-icon\", fn: function() {\n    return [_vm.visibility ? _c(\"IconEyeOff\", { attrs: { \"size\": 18 } }) : _c(\"IconEye\", { attrs: { \"size\": 18 } })];\n  }, proxy: true }], null, true) }, \"NcInputField\", _vm.propsAndAttrsToForward, false), _vm.$listeners));\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  \"822eec9d\"\n);\nconst NcPasswordField = __component__.exports;\nexport {\n  NcPasswordField as N\n};\n//# sourceMappingURL=NcPasswordField-CujpFQHq.mjs.map\n","import { defineComponent } from \"vue\";\nimport axios from \"@nextcloud/axios\";\nimport { getCurrentUser } from \"@nextcloud/auth\";\nimport { generateUrl } from \"@nextcloud/router\";\nimport { spawnDialog } from \"@nextcloud/dialogs\";\nimport NcButton from \"@nextcloud/vue/dist/Components/NcButton.js\";\nimport NcDialog from \"@nextcloud/vue/dist/Components/NcDialog.js\";\nimport NcLoadingIcon from \"@nextcloud/vue/dist/Components/NcLoadingIcon.js\";\nimport NcPasswordField from \"@nextcloud/vue/dist/Components/NcPasswordField.js\";\nimport { getGettextBuilder } from \"@nextcloud/l10n/gettext\";\n/*!\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: MIT\n */\nconst gtBuilder = getGettextBuilder().detectLocale();\n[{ \"locale\": \"ar\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"يتم التحقق من كلمة المرور...\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"تأكيد\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"تأكيد كلمة المرور\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"كلمة المرور\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"يرجى إدخال كلمة المرور الخاصة بك\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"هذا الإجراء يتطلب التحقق من الهوية\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"كلمة المرور غير صحيحة\"] }] }, { \"locale\": \"ast\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Comprobando la contraseña…\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirmación\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Confirma la contraseña\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Contraseña\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Introduz la contraseña\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Esta aición precisa l'autenticación\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"La contraseña ye incorreuta\"] }] }, { \"locale\": \"az\", \"translations\": [{ \"msgid\": \"Confirm\", \"msgstr\": [\"Təsdiq edin\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Parolunuzu təsdiq edin\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Parol\"] }, { \"msgid\": \"Password confirmation dialog already mounted\", \"msgstr\": [\"Parolun təsdiqi dialoqu artıq quraşdırılıb\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Bu əməliyyat autentifikasiya tələb edir\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Səhv parol\"] }] }, { \"locale\": \"be\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Праверка пароля…\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Пацвердзіць\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Пацвердзіць пароль\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Пароль\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Калі ласка, увядзіце ваш пароль\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Гэта дзеянне патрабуе аўтэнтыфікацыі\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Памылковы пароль\"] }] }, { \"locale\": \"ca\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"S'està comprovant la contrasenya …\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirma\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Confirmeu la vostra contrasenya\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Contrasenya\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Introduïu la vostra contrasenya\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Aquesta acció necessita autenticació\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Contrasenya incorrecta\"] }] }, { \"locale\": \"cs_CZ\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Ověřování hesla…\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Potvrdit\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Zopakujte zadání hesla\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Heslo\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Zadejte heslo\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Tato akce vyžaduje ověření se\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Nesprávné heslo\"] }] }, { \"locale\": \"da\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Kontrollerer adgangskoden...\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Bekræft\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Bekræft din adgangskode\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Adgangskode\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Indtast venligst dit kodeord\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Denne handling kræver godkendelse\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"forkert Adgangskode\"] }] }, { \"locale\": \"de\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Prüfe Passwort …\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Bestätigen\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Bestätige dein Passwort\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Passwort\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Bitte geben Sie Ihr Passwort ein\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Diese Aktion benötigt eine Passwortbestätigung\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Falsches Passwort\"] }] }, { \"locale\": \"de_DE\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Passwort prüfen …\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Bestätigen\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Bestätigen Sie Ihr Passwort\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Passwort\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Bitte geben Sie Ihr Passwort ein\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Diese Aktion erfordert eine Authentifizierung\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Falsches Passwort\"] }] }, { \"locale\": \"en_GB\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Checking password …\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirm\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Confirm your password\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Password\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Please enter your password\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"This action needs authentication\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Wrong password\"] }] }, { \"locale\": \"es\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Verificando contraseña …\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirmar\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Confirme su contraseña\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Contraseña\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Por favor, Introduzca su contraseña\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Esta acción necesita autenticación\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Contraseña errónea\"] }] }, { \"locale\": \"es_AR\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Verificando contraseña …\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirmar\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Confirme su contraseña\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Contraseña\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Por favor, introduzca su contraseña\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Esta acción necesita autenticación\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Contraseña incorrecta\"] }] }, { \"locale\": \"es_MX\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Verificando contraseña …\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirmar\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Confirme su contraseña\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Contraseña\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Por favor introduzca su contraseña\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Esta acción necesita autenticación\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Contraseña incorrecta\"] }] }, { \"locale\": \"fa\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"در حال بررسی رمز عبور …\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"تأیید\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"رمز عبور خود را تأیید کنید\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"رمز عبور\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"لطفاً رمز عبور خود را وارد کنید\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"این عمل نیاز به احراز هویت دارد\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"رمز عبور اشتباه است\"] }] }, { \"locale\": \"fi_FI\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Tarkistetaan salasanaa…\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Vahvista\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Vahvista salasanasi\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Salasana\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Kirjoita salasanasi\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Tämä toiminto vaatii tunnistautumisen\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Väärä salasana\"] }] }, { \"locale\": \"fr\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Vérification du mot de passe\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirmer\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Confirmez votre mot de passe\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Mot de passe\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Veuillez saisir votre mot de passe\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Cette action nécessite une authentication\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Mot de passe incorrect\"] }] }, { \"locale\": \"ga\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Pasfhocal á sheiceáil …\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Deimhnigh\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Deimhnigh do phasfhocal\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Pasfhocal\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Cuir isteach do phasfhocal\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Teastaíonn fíordheimhniú ón ngníomh seo\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Pasfhocal mícheart\"] }] }, { \"locale\": \"gl\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Comprobando o contrasinal…\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirmar\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Confirmar o seu contrasinal\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Contrasinal\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Introduza o seu contrasinal\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Esta acción necesita autenticación\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Contrasinal incorrecto\"] }] }, { \"locale\": \"hu_HU\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Jelszó ellenőrzése…\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Jóváhagyás\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Hagyja jóvá a jelszavát\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Jelszó\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Adja meg a jelszavát\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"A művelethez bejelentkezés szükséges\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Hibás jelszó\"] }] }, { \"locale\": \"id\", \"translations\": [{ \"msgid\": \"Confirm\", \"msgstr\": [\"Konfirmasi\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Konfirmasi kata sandi Anda\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Kata sandi\"] }, { \"msgid\": \"Password confirmation dialog already mounted\", \"msgstr\": [\"Dialog konfirmasi kata sandi sudah dipasang\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Tindakan ini memerlukan autentikasi\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Kata sandi salah\"] }] }, { \"locale\": \"is\", \"translations\": [{ \"msgid\": \"Confirm\", \"msgstr\": [\"Staðfesta\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Staðfestu lykilorðið þitt\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Lykilorð\"] }, { \"msgid\": \"Password confirmation dialog already mounted\", \"msgstr\": [\"Gluggi fyrir staðfestingu á lykilorði er þegar tengdur\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Þessi aðgerð krefst auðkenningar\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Rangt lykilorð\"] }] }, { \"locale\": \"it\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Controllo della password…\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Conferma\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Conferma la tua password\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Password\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Inserisci la tua password\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Questa azione richiede l'autenticazione\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Password errata\"] }] }, { \"locale\": \"ja_JP\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"パスワードのチェック ...\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"確認\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"パスワードの確認\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"パスワード\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"パスワードを入力してください\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"この操作には認証が必要です\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"間違ったパスワード\"] }] }, { \"locale\": \"lv\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Pārbauda paroli ...\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Apstiprināt\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Apstiprināt savu paroli\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Parole\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Lūgums ievadīt savu paroli\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Šai darbībai ir nepieciešama autentificēšanās\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Nepareiza parole\"] }] }, { \"locale\": \"ms_MY\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Memeriksa kata laluan ...\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Mengesahkan\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Mengesahkan kata laluan\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Kata laluan\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Sila masukkan kata laluan anda\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Perbuatan ini memerlukan pengesahan\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Kata laluan salah\"] }] }, { \"locale\": \"nb_NO\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Sjekker passord...\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Bekreft\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Bekreft passordet ditt\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Passord\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Vennligst skriv inn passordet ditt\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Denne handlingen krever autentisering\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Feil passord\"] }] }, { \"locale\": \"nl\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Wachtwoord controleren ...\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Bevestig\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Bevestig met je wachtwoord\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Wachtwoord\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Voer je wachtwoord in\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Voor deze actie is authenticatie vereist\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Wachtwoord verkeerd\"] }] }, { \"locale\": \"pl\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Sprawdzanie hasła…\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Potwierdź\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Potwierdź swoje hasło\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Hasło\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Wprowadź swoje hasło\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Wykonanie tej czynności wymaga autoryzacji\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Nieprawidłowe hasło\"] }] }, { \"locale\": \"pt_BR\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Verificando senha ...\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirmar\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Confirme sua senha\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Senha\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Por favor insira sua senha\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Essa ação precisa ser autenticada\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Senha incorreta\"] }] }, { \"locale\": \"ro\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Se verifică parola ...\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirmare\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Confirmare parolă\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Parolă\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Vă rugăm să introduceți parola\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Această acțiune necesită autentificare\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Parolă incorectă\"] }] }, { \"locale\": \"ru\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Проверка пароля …\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Подтвердить\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Подтвердите пароль\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Пароль\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Пожалуйста, введите свой пароль\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Для этого действия требуется аутентификация\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Неправильный пароль\"] }] }, { \"locale\": \"sk_SK\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Kontrola hesla...\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Potvrdiť\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Potvrďte svoje heslo\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Heslo\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Zadajte prosím svoje heslo\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Táto akcia vyžaduje overenie\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Nesprávne heslo\"] }] }, { \"locale\": \"sl\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Poteka preverjanje gesla ...\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Potrdi\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Potrdi geslo\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Geslo\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Vpisati je treba geslo\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"To dejanje zahteva overitev\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Napačno geslo\"] }] }, { \"locale\": \"sr\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Лозинка се проверава…\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Потврда\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Потврдите своју лозинку\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Лозинка\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Молимо вас да унесете своју лозинку\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"За ову акцију је неопходна пријава\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Погрешна лозинка\"] }] }, { \"locale\": \"sv\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Kontrollerar lösenord ...\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Bekräfta\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Bekräfta ditt lösenord\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Lösenord\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Ange ditt lösenord\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Den här åtgärden behöver autentisering\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Fel lösenord\"] }] }, { \"locale\": \"tr\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Parola dorulanıyor…\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Parola onayı\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Parola onayı\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Parola\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Lütfen parolanızı yazın\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Bu işlem için kimliğin doğrulanması gereklidir\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Parola geçersiz\"] }] }, { \"locale\": \"uk\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"Перевірка паролю ...\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Підтвердити\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"Підтвердіть ваш пароль\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"Пароль\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"Зазначте ваш пароль\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"Ця дія вимагає авторизації\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"Помилковий пароль\"] }] }, { \"locale\": \"zh_CN\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"检查密码 ...\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"确认\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"确认你的密码\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"密码\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"请输入您的密码\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"此操作需要身份验证\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"密码错误\"] }] }, { \"locale\": \"zh_HK\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"正在檢查密碼 …\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"確認\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"確認您的密碼\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"密碼\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"請輸入您的密碼\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"此操作需要進行身份驗證\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"密碼錯誤\"] }] }, { \"locale\": \"zh_TW\", \"translations\": [{ \"msgid\": \"Checking password …\", \"msgstr\": [\"正在檢查密碼……\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"確認\"] }, { \"msgid\": \"Confirm your password\", \"msgstr\": [\"確認您的密碼\"] }, { \"msgid\": \"Password\", \"msgstr\": [\"密碼\"] }, { \"msgid\": \"Please enter your password\", \"msgstr\": [\"請輸入您的密碼\"] }, { \"msgid\": \"This action needs authentication\", \"msgstr\": [\"此動作需要驗證\"] }, { \"msgid\": \"Wrong password\", \"msgstr\": [\"密碼錯誤\"] }] }].map(({ locale, translations }) => gtBuilder.addTranslation(locale, {\n  translations: {\n    \"\": Object.fromEntries(translations.map((t2) => [t2.msgid, t2]))\n  }\n}));\nconst gt = gtBuilder.build();\ngt.ngettext.bind(gt);\nconst t = gt.gettext.bind(gt);\nconst _sfc_main = defineComponent({\n  name: \"PasswordDialog\",\n  components: {\n    NcButton,\n    NcDialog,\n    NcLoadingIcon,\n    NcPasswordField\n  },\n  props: {\n    validate: {\n      type: Function,\n      default: () => {\n      }\n    }\n  },\n  data() {\n    return {\n      password: \"\",\n      loading: false,\n      showError: false\n    };\n  },\n  computed: {\n    helperText() {\n      if (this.showError) {\n        return this.password === \"\" ? t(\"Please enter your password\") : t(\"Wrong password\");\n      }\n      if (this.loading) {\n        return t(\"Checking password …\");\n      }\n      return \"\";\n    }\n  },\n  mounted() {\n    this.focusPasswordField();\n  },\n  methods: {\n    t,\n    async confirm() {\n      this.showError = false;\n      this.loading = true;\n      if (this.password === \"\") {\n        this.showError = true;\n        return;\n      }\n      try {\n        await this.validate(this.password);\n        this.$emit(\"confirmed\");\n      } catch (e) {\n        this.showError = true;\n        this.selectPasswordField();\n      } finally {\n        this.loading = false;\n      }\n    },\n    close(open) {\n      if (!open) {\n        this.$emit(\"close\");\n      }\n    },\n    focusPasswordField() {\n      this.$nextTick(() => {\n        this.$refs.field.focus();\n      });\n    },\n    selectPasswordField() {\n      this.$nextTick(() => {\n        this.$refs.field.select();\n      });\n    }\n  }\n});\nfunction normalizeComponent(scriptExports, render2, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {\n  var options = typeof scriptExports === \"function\" ? scriptExports.options : scriptExports;\n  if (render2) {\n    options.render = render2;\n    options.staticRenderFns = staticRenderFns;\n    options._compiled = true;\n  }\n  return {\n    exports: scriptExports,\n    options\n  };\n}\nvar _sfc_render = function render() {\n  var _vm = this, _c = _vm._self._c;\n  _vm._self._setupProxy;\n  return _c(\"NcDialog\", { attrs: { \"name\": _vm.t(\"Confirm your password\"), \"container\": null, \"content-classes\": \"vue-password-confirmation\" }, on: { \"update:open\": _vm.close } }, [_c(\"p\", [_vm._v(_vm._s(_vm.t(\"This action needs authentication\")))]), _c(\"form\", { staticClass: \"vue-password-confirmation__form\", on: { \"submit\": function($event) {\n    $event.preventDefault();\n    return _vm.confirm.apply(null, arguments);\n  } } }, [_c(\"NcPasswordField\", { ref: \"field\", attrs: { \"value\": _vm.password, \"label\": _vm.t(\"Password\"), \"helper-text\": _vm.helperText, \"error\": _vm.showError, \"required\": \"\" }, on: { \"update:value\": function($event) {\n    _vm.password = $event;\n  } } }), _c(\"NcButton\", { staticClass: \"vue-password-confirmation__submit\", attrs: { \"type\": \"primary\", \"native-type\": \"submit\", \"disabled\": !_vm.password || _vm.loading }, scopedSlots: _vm._u([_vm.loading ? { key: \"icon\", fn: function() {\n    return [_c(\"NcLoadingIcon\", { attrs: { \"size\": 20 } })];\n  }, proxy: true } : null], null, true) }, [_vm._v(\" \" + _vm._s(_vm.t(\"Confirm\")) + \" \")])], 1)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns\n);\nconst PasswordDialogVue = __component__.exports;\n/*!\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: MIT\n */\nvar PwdConfirmationMode = /* @__PURE__ */ ((PwdConfirmationMode2) => {\n  PwdConfirmationMode2[\"Lax\"] = \"lax\";\n  PwdConfirmationMode2[\"Strict\"] = \"strict\";\n  return PwdConfirmationMode2;\n})(PwdConfirmationMode || {});\n/*!\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: MIT\n */\nconst PAGE_LOAD_TIME = Date.now();\nlet INTERCEPTOR_INITIALIZED = false;\nconst isPasswordConfirmationRequired = (mode) => {\n  if (!window.backendAllowsPasswordConfirmation) {\n    return false;\n  }\n  if (mode === PwdConfirmationMode.Strict) {\n    return true;\n  }\n  const serverTimeDiff = PAGE_LOAD_TIME - window.nc_pageLoad * 1e3;\n  const timeSinceLogin = Date.now() - (serverTimeDiff + window.nc_lastLogin * 1e3);\n  return timeSinceLogin > 30 * 60 * 1e3;\n};\nconst confirmPassword = () => {\n  if (!isPasswordConfirmationRequired(PwdConfirmationMode.Lax)) {\n    return Promise.resolve();\n  }\n  return new Promise((resolve, reject) => {\n    promptPassword(\n      async (password) => {\n        await _confirmPassword(password);\n        resolve();\n      },\n      () => reject(new Error(\"Dialog closed\"))\n    );\n  });\n};\nasync function _confirmPassword(password) {\n  console.debug(\"Confirming password\");\n  const url = generateUrl(\"/login/confirm\");\n  const { data } = await axios.post(url, { password });\n  window.nc_lastLogin = data.lastLogin;\n  console.debug(\"Password confirmed\");\n}\nfunction getDialog() {\n  var _a;\n  if (window._nc_password_confirmation_dialog === void 0) {\n    console.debug(\"Prompting password form\");\n    const dialog = spawnDialog(PasswordDialogVue, {}, () => {\n    });\n    window._nc_password_confirmation_dialog = dialog;\n  }\n  return (_a = window._nc_password_confirmation_dialog) == null ? void 0 : _a.$children[0];\n}\nfunction promptPassword(validate, close) {\n  const dialog = getDialog();\n  dialog.$props.validate = validate;\n  dialog.$on(\"confirmed\", () => {\n    dialog.$destroy();\n    delete window._nc_password_confirmation_dialog;\n  });\n  dialog.$on(\"close\", () => {\n    dialog.$destroy();\n    close();\n    delete window._nc_password_confirmation_dialog;\n  });\n}\nfunction addPasswordConfirmationInterceptors(axios2) {\n  if (INTERCEPTOR_INITIALIZED) {\n    return;\n  }\n  INTERCEPTOR_INITIALIZED = true;\n  let validatePromise;\n  axios2.interceptors.request.use(\n    async (config) => {\n      if (config.confirmPassword === void 0) {\n        return config;\n      }\n      if (!isPasswordConfirmationRequired(config.confirmPassword)) {\n        return config;\n      }\n      return new Promise((resolve, reject) => {\n        promptPassword(\n          async (password) => {\n            var _a, _b;\n            switch (config.confirmPassword) {\n              case PwdConfirmationMode.Lax: {\n                await _confirmPassword(password);\n                resolve(config);\n                return Promise.resolve();\n              }\n              case PwdConfirmationMode.Strict:\n                console.debug(\"Adding auth info to the request\", { config });\n                config.auth = {\n                  username: (_b = (_a = getCurrentUser()) == null ? void 0 : _a.uid) != null ? _b : \"\",\n                  password\n                };\n                resolve(config);\n                validatePromise = Promise.withResolvers();\n                return validatePromise.promise;\n            }\n          },\n          () => {\n            reject(new Error(\"Dialog closed\"));\n          }\n        );\n      });\n    }\n  );\n  axios2.interceptors.response.use(\n    (response) => {\n      if (response.config.confirmPassword !== PwdConfirmationMode.Strict) {\n        return response;\n      }\n      console.debug(\"Password confirmation succeeded\", { response });\n      window.nc_lastLogin = Date.now() / 1e3;\n      validatePromise.resolve();\n      return response;\n    },\n    (error) => {\n      var _a, _b;\n      if (((_a = error.config) == null ? void 0 : _a.confirmPassword) !== PwdConfirmationMode.Strict) {\n        throw error;\n      }\n      console.debug(\"Password confirmation failed\", { error });\n      validatePromise.reject(error);\n      if (!(((_b = error.response) == null ? void 0 : _b.status) === 403 && error.response.data.message === \"Password confirmation is required\")) {\n        throw error;\n      }\n      console.debug(\"Triggering new request\", { error });\n      return axios2.request(error.config);\n    }\n  );\n}\nexport {\n  PwdConfirmationMode,\n  addPasswordConfirmationInterceptors,\n  confirmPassword,\n  isPasswordConfirmationRequired\n};\n","window._nc_vue_element_id = window._nc_vue_element_id ?? 0;\nfunction createElementId() {\n  return `nc-vue-${window._nc_vue_element_id++}`;\n}\nexport {\n  createElementId as c\n};\n//# sourceMappingURL=createElementId-DhjFt1I9.mjs.map\n","import '../assets/NcEmptyContent-CUFc_Dds.css';\nimport { c as createElementId } from \"../chunks/createElementId-DhjFt1I9.mjs\";\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n  name: \"NcEmptyContent\",\n  props: {\n    /**\n     * A header message about an empty content shown\n     *\n     * @example 'No comments'\n     */\n    name: {\n      type: String,\n      default: \"\"\n    },\n    /**\n     * Desription of the empty content\n     *\n     * @example 'No comments yet, start the conversation!'\n     */\n    description: {\n      type: String,\n      default: \"\"\n    }\n  },\n  setup() {\n    return {\n      nameId: createElementId()\n    };\n  },\n  computed: {\n    hasName() {\n      return this.name !== \"\" || this.$slots.name;\n    },\n    /**\n     * Check if a description is given as either property or slot\n     */\n    hasDescription() {\n      return this.description !== \"\" || this.$slots.description?.[0];\n    }\n  }\n};\nvar _sfc_render = function render() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"div\", { staticClass: \"empty-content\", attrs: { \"aria-labelledby\": _vm.nameId, \"role\": \"note\" } }, [_vm.$slots.icon ? _c(\"div\", { staticClass: \"empty-content__icon\", attrs: { \"aria-hidden\": \"true\" } }, [_vm._t(\"icon\")], 2) : _vm._e(), _vm.hasName ? _c(\"div\", { staticClass: \"empty-content__name\", attrs: { \"id\": _vm.nameId } }, [_vm._t(\"name\", function() {\n    return [_vm._v(\" \" + _vm._s(_vm.name) + \" \")];\n  })], 2) : _vm._e(), _vm.hasDescription ? _c(\"p\", { staticClass: \"empty-content__description\" }, [_vm._t(\"description\", function() {\n    return [_vm._v(\" \" + _vm._s(_vm.description) + \" \")];\n  })], 2) : _vm._e(), _vm.$slots.action ? _c(\"div\", { staticClass: \"empty-content__action\" }, [_vm._t(\"action\")], 2) : _vm._e()]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  \"c3123941\"\n);\nconst NcEmptyContent = __component__.exports;\nexport {\n  NcEmptyContent as default\n};\n//# sourceMappingURL=NcEmptyContent.mjs.map\n","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : 'true'\"\n        :aria-label=\"title\"\n        class=\"material-design-icon delete-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"DeleteIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : 'true'\"\n        :aria-label=\"title\"\n        class=\"material-design-icon email-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"EmailIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","<!--\nSPDX-FileCopyrightText: 2021 Framasoft <https://framasoft.org>\nSPDX-FileContributor: Thomas Citharel <thomas.citharel@framasoft.org>\n\nSPDX-License-Identifier: AGPL-3.0-only\n-->\n\n<template>\n\t<NcSettingsSection\n\t\t:name=\"t('drop_account', 'Delete my account')\"\n\t\t:description=\"\n\t\t\tt(\n\t\t\t\t'drop_account',\n\t\t\t\t'Deleting your account will delete all your files and data from the apps you use, such as calendar and contacts.',\n\t\t\t)\n\t\t\">\n\t\t<NcEmptyContent\n\t\t\tv-if=\"deleted\"\n\t\t\t:name=\"t('drop_account', 'Account marked for deletion')\">\n\t\t\t<template #icon>\n\t\t\t\t<DeleteIcon :size=\"20\" />\n\t\t\t</template>\n\t\t\t<template #action>\n\t\t\t\t<p>\n\t\t\t\t\t{{\n\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t'drop_account',\n\t\t\t\t\t\t\t'Your account has been disabled and the data will be removed shortly.',\n\t\t\t\t\t\t)\n\t\t\t\t\t}}\n\t\t\t\t</p>\n\t\t\t\t<p>\n\t\t\t\t\t{{\n\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t'drop_account',\n\t\t\t\t\t\t\t'You are going to be redirected to the login page in a few seconds…',\n\t\t\t\t\t\t)\n\t\t\t\t\t}}\n\t\t\t\t</p>\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\t\t<NcEmptyContent\n\t\t\tv-else-if=\"confirmationSent\"\n\t\t\t:name=\"t('drop_account', 'Email confirmation required')\">\n\t\t\t<template #icon>\n\t\t\t\t<EMailIcon :size=\"20\" />\n\t\t\t</template>\n\t\t\t<template #action>\n\t\t\t\t<p>\n\t\t\t\t\t{{\n\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t'drop_account',\n\t\t\t\t\t\t\t\"Please click the link into the email we've just sent you to finish deleting your account.\",\n\t\t\t\t\t\t)\n\t\t\t\t\t}}\n\t\t\t\t</p>\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\t\t<div v-else id=\"delete-account-settings\">\n\t\t\t<NcNoteCard v-if=\"willDelayPurge\" type=\"info\">\n\t\t\t\t{{\n\t\t\t\t\tn(\n\t\t\t\t\t\t'drop_account',\n\t\t\t\t\t\t'This action will be reversible by an administrator for {nbDays} day after you request deletion.',\n\t\t\t\t\t\t'This action will be reversible by an administrator for {nbDays} days after you request deletion.',\n\t\t\t\t\t\tnbDaysForPurge,\n\t\t\t\t\t\t{ nbDays: nbDaysForPurge },\n\t\t\t\t\t)\n\t\t\t\t}}\n\t\t\t</NcNoteCard>\n\t\t\t<NcNoteCard v-else type=\"error\">\n\t\t\t\t<b>{{ t('drop_account', 'This action is irreversible!') }}</b>\n\t\t\t</NcNoteCard>\n\t\t\t<p v-if=\"!requireConfirmation\" class=\"settings-hint\">\n\t\t\t\t{{\n\t\t\t\t\tt(\n\t\t\t\t\t\t'drop_account',\n\t\t\t\t\t\t'After confirming the deletion of your account, you will be redirected to the login page.',\n\t\t\t\t\t)\n\t\t\t\t}}\n\t\t\t</p>\n\t\t\t<NcNoteCard\n\t\t\t\tv-if=\"!canDeleteAccount && deletionImpossibleReason\"\n\t\t\t\ttype=\"warning\">\n\t\t\t\t{{ deletionImpossibleReason }}\n\t\t\t</NcNoteCard>\n\t\t\t<NcNoteCard v-else-if=\"!canDeleteAccount\" type=\"warning\">\n\t\t\t\t{{\n\t\t\t\t\tt(\n\t\t\t\t\t\t'drop_account',\n\t\t\t\t\t\t\"You can't delete your account for an unknown reason.\",\n\t\t\t\t\t)\n\t\t\t\t}}\n\t\t\t</NcNoteCard>\n\t\t\t<NcNoteCard v-if=\"!emailIfConfirmation\" type=\"warning\">\n\t\t\t\t{{\n\t\t\t\t\tt(\n\t\t\t\t\t\t'drop_account',\n\t\t\t\t\t\t'An email confirmation is required by your admin to delete your account. Please fill your email in your personal settings first.',\n\t\t\t\t\t)\n\t\t\t\t}}\n\t\t\t</NcNoteCard>\n\t\t\t<div v-if=\"canDeleteAccount && emailIfConfirmation\">\n\t\t\t\t<h3>\n\t\t\t\t\t{{\n\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t'drop_account',\n\t\t\t\t\t\t\t'Do you really wish to delete your account?',\n\t\t\t\t\t\t)\n\t\t\t\t\t}}\n\t\t\t\t</h3>\n\t\t\t\t<p v-if=\"requireConfirmation\">\n\t\t\t\t\t{{\n\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t'drop_account',\n\t\t\t\t\t\t\t'We will send you an email to confirm this action.',\n\t\t\t\t\t\t)\n\t\t\t\t\t}}\n\t\t\t\t</p>\n\t\t\t\t<NcCheckboxRadioSwitch :checked.sync=\"checked\">\n\t\t\t\t\t{{\n\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t'drop_account',\n\t\t\t\t\t\t\t'Check this to confirm the deletion request',\n\t\t\t\t\t\t)\n\t\t\t\t\t}}\n\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t<br />\n\t\t\t\t<p class=\"delete-button-wrapper\">\n\t\t\t\t\t<NcButton\n\t\t\t\t\t\t:disabled=\"!checked\"\n\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\t@click=\"deleteAccount\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<span class=\"icon icon-delete\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t{{ t('drop_account', 'Delete my account') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</div>\n\t</NcSettingsSection>\n</template>\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { showError } from '@nextcloud/dialogs'\nimport { addPasswordConfirmationInterceptors, PwdConfirmationMode } from '@nextcloud/password-confirmation'\nimport NcSettingsSection from '@nextcloud/vue/dist/Components/NcSettingsSection.js'\nimport NcEmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js'\nimport NcNoteCard from '@nextcloud/vue/dist/Components/NcNoteCard.js'\nimport '@nextcloud/password-confirmation/dist/style.css'\nimport '@nextcloud/dialogs/style.css'\nimport DeleteIcon from 'vue-material-design-icons/Delete.vue'\nimport EMailIcon from 'vue-material-design-icons/Email.vue'\n\nexport default {\n\tname: 'PersonalSettings',\n\tcomponents: {\n\t\tNcSettingsSection,\n\t\tNcEmptyContent,\n\t\tNcButton,\n\t\tNcCheckboxRadioSwitch,\n\t\tNcNoteCard,\n\t\tDeleteIcon,\n\t\tEMailIcon,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tcanDeleteAccount: true,\n\t\t\tdeletionImpossibleReason: false,\n\t\t\trequireConfirmation: false,\n\t\t\thasEmailForConfirmation: false,\n\t\t\tappName: 'drop_account',\n\t\t\tchecked: false,\n\t\t\tdeleted: false,\n\t\t\tconfirmationSent: false,\n\t\t\twillDelayPurge: false,\n\t\t\tdelayPurgeHours: 24,\n\t\t}\n\t},\n\tcomputed: {\n\t\temailIfConfirmation() {\n\t\t\tif (this.requireConfirmation) {\n\t\t\t\treturn this.hasEmailForConfirmation\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t\tnbDaysForPurge() {\n\t\t\tif (this.willDelayPurge && this.delayPurgeHours) {\n\t\t\t\treturn ~~(this.delayPurgeHours / 24)\n\t\t\t}\n\t\t\treturn 0\n\t\t},\n\t},\n\tcreated() {\n\t\ttry {\n\t\t\tthis.canDeleteAccount = loadState(this.appName, 'can_delete_account')\n\t\t\tthis.deletionImpossibleReason = loadState(\n\t\t\t\tthis.appName,\n\t\t\t\t'deletion_impossible_reason',\n\t\t\t)\n\t\t\tthis.requireConfirmation = loadState(\n\t\t\t\tthis.appName,\n\t\t\t\t'require_confirmation',\n\t\t\t)\n\t\t\tthis.hasEmailForConfirmation = loadState(\n\t\t\t\tthis.appName,\n\t\t\t\t'has_email_for_confirmation',\n\t\t\t)\n\t\t\tthis.willDelayPurge = loadState(this.appName, 'will_delay_purge')\n\t\t\tthis.delayPurgeHours = loadState(this.appName, 'delay_purge_hours')\n\t\t} catch (e) {\n\t\t\tconsole.error('Error fetching initial state', e)\n\t\t}\n\t},\n\tmethods: {\n\t\tasync deleteAccount() {\n\t\t\taddPasswordConfirmationInterceptors(axios)\n\n\t\t\ttry {\n\t\t\t\tconst url = generateOcsUrl(`apps/${this.appName}/api/v1/account`)\n\t\t\t\tconst { status } = await axios.delete(url, {\n\t\t\t\t\tconfirmPassword: PwdConfirmationMode.Strict,\n\t\t\t\t})\n\t\t\t\tif (status === 202) {\n\t\t\t\t\tthis.deleted = true\n\t\t\t\t\tsetTimeout(() => window.location.reload(), 10000)\n\t\t\t\t} else if (status === 201) {\n\t\t\t\t\tthis.confirmationSent = true\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error(e)\n\t\t\t\tshowError(t('drop_account', 'Error while deleting the account'))\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n<style scoped>\n.delete-button-wrapper {\n\tmargin-top: 1rem;\n}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2021 Framasoft <https://framasoft.org>\n * SPDX-FileContributor: Thomas Citharel <thomas.citharel@framasoft.org>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport Vue from 'vue'\nimport './common.js'\nimport PersonalSettings from './PersonalSettings.vue'\n\nexport default new Vue({\n\tel: '#drop-account-settings',\n\trender: (h) => h(PersonalSettings),\n})\n"],"names":["v","n","e","o","c","i","w","u","r","s","l","t","a","_","f","spawnDialog","dialog","props","optionsOrOnClose","onClose","container","element","vm","Vue","h","rest","toRaw","_sfc_main","defineComponent","NcDialogButton","NcModal","arr","value","emit","slots","wrapper","ref","dialogWidth","useElementSize","isNavigationCollapsed","computed","hasNavigation","navigationId","GenRandomId","navigationAriaLabelAttr","navigationAriaLabelledbyAttr","dialogElement","dialogTagName","dialogListeners","event","showModal","handleButtonClose","button","result","handleClosing","handleClosed","modalProps","_sfc_render","_vm","_c","$event","idx","_sfc_staticRenderFns","__component__","normalizeComponent","NcDialog","_sfc_main$4","_sfc_render$4","_sfc_staticRenderFns$4","__component__$4","Alert","_sfc_main$3","_sfc_render$3","_sfc_staticRenderFns$3","__component__$3","AlertDecagram","_sfc_main$2","_sfc_render$2","_sfc_staticRenderFns$2","__component__$2","CheckboxMarkedCircle","_sfc_main$1","_sfc_render$1","_sfc_staticRenderFns$1","__component__$1","Information","type","isLegacy32","NcNoteCard","spawnDialog$1","bind","fn","thisArg","toString","getPrototypeOf","iterator","toStringTag","kindOf","cache","thing","str","kindOfTest","typeOfTest","isArray","isUndefined","isBuffer","val","isFunction","isArrayBuffer","isArrayBufferView","isString","isNumber","isObject","isBoolean","isPlainObject","prototype","isEmptyObject","isDate","isFile","isBlob","isFileList","isStream","isFormData","kind","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","trim","forEach","obj","allOwnKeys","keys","len","key","findKey","_key","_global","global","isContextDefined","context","merge","caseless","skipUndefined","assignValue","targetKey","extend","b","stripBOM","content","inherits","constructor","superConstructor","descriptors","toFlatObject","sourceObj","destObj","filter","propFilter","prop","merged","endsWith","searchString","position","lastIndex","toArray","isTypedArray","TypedArray","forEachEntry","_iterator","pair","matchAll","regExp","matches","isHTMLForm","toCamelCase","m","p1","p2","hasOwnProperty","isRegExp","reduceDescriptors","reducer","reducedDescriptors","descriptor","name","ret","freezeMethods","toObjectSet","arrayOrString","delimiter","define","noop","toFiniteNumber","defaultValue","isSpecCompliantForm","toJSONObject","stack","visit","source","target","reducedValue","isAsyncFn","isThenable","_setImmediate","setImmediateSupported","postMessageSupported","token","callbacks","data","cb","asap","process","isIterable","utils$1","buffer","base64Js","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","code","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","tmp","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","extraBytes","parts","maxChunkLength","len2","ieee754","offset","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","rt","exports","base64","ieee754$1","customInspectSymbol","Buffer","SlowBuffer","K_MAX_LENGTH","GlobalUint8Array","GlobalArrayBuffer","GlobalSharedArrayBuffer","typedArraySupport","proto","createBuffer","length","buf","arg","encodingOrOffset","allocUnsafe","from","fromString","fromArrayView","isInstance","fromArrayBuffer","valueOf","fromObject","assertSize","size","alloc","fill","encoding","checked","string","actual","fromArrayLike","array","arrayView","copy","byteOffset","numberIsNaN","x","y","list","pos","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","max","thisStart","thisEnd","thisCopy","targetCopy","bidirectionalIndexOf","dir","arrayIndexOf","indexSize","arrLength","valLength","read","foundIndex","found","j","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","base64Write","ucs2Write","utf16leToBytes","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","MAX_ARGUMENTS_LENGTH","codePoints","out","hexSliceLookupTable","bytes","newBuf","checkOffset","ext","noAssert","mul","defineBigIntMethod","validateNumber","first","last","boundsError","lo","hi","checkInt","min","maxBytes","wrtBigUInt64LE","checkIntBI","wrtBigUInt64BE","limit","sub","checkIEEE754","writeFloat","littleEndian","writeDouble","targetStart","errors","E","sym","getMessage","Base","range","input","msg","received","addNumericalSeparator","checkBounds","INVALID_BASE64_RE","base64clean","units","leadSurrogate","byteArray","src","dst","alphabet","table","i16","BufferBigIntNotDefined","AxiosError","message","config","request","response","utils","error","customProps","axiosError","errCode","httpAdapter","isVisitable","removeBrackets","renderKey","path","dots","isFlatArray","predicates","toFormData","formData","options","option","metaTokens","visitor","defaultVisitor","indexes","useBlob","convertValue","el","index","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","encoder","_encode","buildURL","url","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","fulfilled","rejected","id","transitionalDefaults","URLSearchParams$1","FormData$1","Blob$1","platform$1","URLSearchParams","FormData","Blob","hasBrowserEnv","_navigator","hasStandardBrowserEnv","hasStandardBrowserWebWorkerEnv","origin","platform","toURLEncodedForm","helpers","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","stringifySafely","rawValue","parser","defaults","headers","contentType","hasJSONContentType","isObjectPayload","_FormData","transitional","forcedJSONParsing","JSONRequested","strictJSONParsing","status","method","ignoreDuplicateOf","parseHeaders","rawHeaders","line","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders$1","valueOrRewrite","rewrite","self","setHeader","_value","_header","_rewrite","lHeader","setHeaders","dest","entry","matcher","deleted","deleteHeader","format","normalized","targets","asStrings","accessors","defineAccessor","AxiosHeaders","mapped","headerValue","transformData","fns","isCancel","CanceledError","settle","resolve","reject","validateStatus","parseProtocol","speedometer","samplesCount","timestamps","head","tail","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","throttle","freq","timestamp","threshold","lastArgs","timer","invoke","args","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","progressBytes","rate","inRange","progressEventDecorator","throttled","lengthComputable","asyncDecorator","isURLSameOrigin","isMSIE","cookies","expires","domain","secure","sameSite","cookie","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","allowAbsoluteUrls","isRelativeUrl","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","resolveConfig","newConfig","withXSRFToken","xsrfHeaderName","xsrfCookieName","auth","formHeaders","allowedHeaders","xsrfValue","isXHRAdapterSupported","xhrAdapter","_config","requestData","requestHeaders","responseType","onUploadProgress","onDownloadProgress","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","done","onloadend","responseHeaders","err","timeoutErrorMessage","cancel","protocol","composeSignals","signals","timeout","controller","aborted","onabort","reason","unsubscribe","signal","streamChunk","chunk","chunkSize","readBytes","iterable","readStream","stream","reader","trackStream","onProgress","onFinish","_onFinish","loadedBytes","DEFAULT_CHUNK_SIZE","globalFetchAPI","Request","Response","ReadableStream","TextEncoder","test","factory","env","envFetch","isFetchSupported","isRequestSupported","isResponseSupported","isReadableStreamSupported","encodeText","supportsRequestStream","duplexAccessed","hasContentType","supportsResponseStream","resolvers","getBodyLength","body","resolveBodyLength","cancelToken","withCredentials","fetchOptions","_fetch","composedSignal","requestContentLength","_request","contentTypeHeader","flush","isCredentialsSupported","resolvedOptions","isStreamResponse","responseContentLength","responseData","seedCache","getFetch","fetch","seeds","seed","map","knownAdapters","fetchAdapter.getFetch","renderReason","isResolvedHandle","adapter","getAdapter","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","correctSpelling","assertOptions","schema","allowUnknown","Axios$1","instanceConfig","configOrUrl","dummy","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","onFulfilled","onRejected","fullPath","Axios","generateHTTPMethod","isForm","CancelToken$1","CancelToken","executor","resolvePromise","onfulfilled","_resolve","abort","spread","callback","isAxiosError","payload","HttpStatusCode","createInstance","defaultConfig","instance","axios","promises","all","Cancel","formToJSON","client","getRequestToken","onRequestTokenUpdate","cancelableClient","RETRY_KEY","onCsrfTokenError","responseURL","generateUrl","RETRY_DELAY_KEY","onMaintenanceModeError","retryDelay","onNotLoggedInError","debounce","function_","wait","immediate","storedContext","storedArguments","timeoutId","run","callContext","callArguments","later","debounced","arguments_","callNow","debounceModule","AlertCircle","Check","NcButton","model","useModelMigration","isValidLabel","logger","ariaDescribedby","newValue","NcInputField","IconEye","IconEyeOff","register","t28","passwordPolicy","loadState","NcInputFieldProps","visibility","useVModel","minlength","password","generateOcsUrl","NcPasswordField","gtBuilder","getGettextBuilder","locale","translations","t2","gt","NcLoadingIcon","open","scriptExports","render2","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","PasswordDialogVue","PwdConfirmationMode","PwdConfirmationMode2","PAGE_LOAD_TIME","INTERCEPTOR_INITIALIZED","isPasswordConfirmationRequired","mode","serverTimeDiff","_confirmPassword","getDialog","_a","promptPassword","validate","close","addPasswordConfirmationInterceptors","axios2","validatePromise","_b","getCurrentUser","createElementId","NcEmptyContent","NcSettingsSection","NcCheckboxRadioSwitch","DeleteIcon","EMailIcon","showError","PersonalSettings"],"mappings":";yTAAK,MAGFA,GAAI,CAACC,EAAGC,EAAGC,IAAM,CAClB,IAAIC,EACJ,MAAMC,EAAI,OAAO,OAAO,CACtB,WAAY,CAChB,EAAU,CAAA,CAAE,EAAE,aAAe,EAAI,EAAI,EACnC,QAASD,EAAgB,SAAuB,KAAOA,EAAIE,GAAC,GAAM,SAAWD,EAAI,OAASE,GAAEN,CAAO,CACrG,EAAGM,GAAI,CAACN,EAAGC,EAAGC,IAAM,CAClB,MAAMC,EAAI,OAAO,OAAO,CACtB,OAAQ,EACZ,EAAU,CAAA,CAAE,EAAGI,EAAI,SAASH,EAAGI,EAAG,CAC9B,OAAOA,EAAIA,GAAK,CAAA,EAAIJ,EAAE,QACpB,cACA,SAASK,EAAGC,EAAG,CACb,MAAMC,EAAIH,EAAEE,CAAC,EACb,OAAOP,EAAE,OAAS,mBAAmB,OAAOQ,GAAK,UAAY,OAAOA,GAAK,SAAWA,EAAE,SAAQ,EAAKF,CAAC,EAAI,OAAOE,GAAK,UAAY,OAAOA,GAAK,SAAWA,EAAE,SAAQ,EAAKF,CACxK,CACN,CACE,EACA,OAAOT,EAAE,OAAO,CAAC,IAAM,MAAQA,EAAI,IAAMA,GAAIO,EAAEP,EAAQ,CAAA,CAAE,CAC3D,EAAGY,GAAI,CAACZ,EAAGC,EAAGC,IAAM,CAClB,IAAIC,EAAGI,EAAGH,EACV,MAAMI,EAAI,OAAO,OAAO,CACtB,UAAW,EACf,EAAU,CAAA,CAAE,EAAGC,GAAKN,EAAgB,SAAuB,KAAOA,EAAIU,GAAC,EACrE,QAAST,GAAKG,EAA8B,QAAO,KAAO,KAAO,OAASA,EAAE,SAAW,KAAO,OAASH,EAAE,qBAAuB,IAAM,CAACI,EAAE,UAAYC,EAAIH,GAAEN,CAAO,EAAIS,EAAI,aAAeH,GAAEN,CAAO,CACpM,EAKGK,GAAI,IAAM,OAAO,SAAS,SAAW,KAAO,OAAO,SAAS,KAAOQ,GAAC,EACvE,SAASA,IAAI,CACX,IAAIb,EAAI,OAAO,YACf,GAAI,OAAOA,EAAI,IAAK,CAClBA,EAAI,SAAS,SACb,MAAMC,EAAID,EAAE,QAAQ,aAAa,EACjC,GAAIC,IAAM,GACRD,EAAIA,EAAE,MAAM,EAAGC,CAAC,MACb,CACH,MAAMC,EAAIF,EAAE,QAAQ,IAAK,CAAC,EAC1BA,EAAIA,EAAE,MAAM,EAAGE,EAAI,EAAIA,EAAI,MAAM,CACnC,CACF,CACA,OAAOF,CACT,CC9CA,SAASc,GAAYC,EAAQC,EAAQ,CAAA,EAAIC,EAAmB,CAAA,EAAIC,EAAU,IAAM,CAChF,EAAG,CACG,OAAOD,GAAqB,aAC9BC,EAAUD,EACVA,EAAmB,CAAA,GAErB,GAAI,CAAE,UAAAE,CAAS,EAAKF,EAChB,cAAeD,GAAS,OAAOA,EAAM,WAAc,WACrDG,IAAcH,EAAM,WAGtB,MAAMI,GADoB,OAAOD,GAAc,UAAY,SAAS,cAAcA,CAAS,GAAK,SAAS,MACvE,YAAY,SAAS,cAAc,KAAK,CAAC,EACrEE,EAAK,IAAIC,GAAI,CACjB,GAAIF,EACJ,KAAM,kBACN,OAASG,GAAMA,EAAER,EAAQ,CACvB,MAAO,CAGL,UAAW,KACX,GAAGC,CACX,EACM,GAAI,CACF,MAAO,IAAIQ,IAAS,CAClBN,EAAQ,GAAGM,EAAK,IAAKzB,GAAM0B,GAAM1B,CAAC,CAAC,CAAC,EACpCsB,EAAG,SAAQ,EACXD,EAAQ,OAAM,CAChB,CACR,CACA,CAAK,CACL,CAAG,EACD,OAAOC,CACT,CC1BA,MAAMK,GAAYC,GAAgB,CAChC,KAAM,WACN,WAAY,CACV,eAAAC,GACA,QAAAC,EACJ,EACE,MAAO,CAEL,KAAM,CACJ,KAAM,OACN,SAAU,EAChB,EAEI,QAAS,CACP,KAAM,OACN,QAAS,EACf,EAEI,uBAAwB,CACtB,KAAM,MACN,UAAYC,GACH,MAAM,QAAQA,CAAG,GAAKA,EAAI,MAAOV,GAAY,OAAOA,GAAY,UAAYA,aAAmB,WAAW,EAEnH,QAAS,IAAM,CAAA,CACrB,EAMI,UAAW,CACT,KAAM,OACN,SAAU,GACV,QAAS,MACf,EAMI,KAAM,CACJ,KAAM,QAEN,QAAS,EACf,EAOI,KAAM,CACJ,KAAM,OACN,SAAU,GACV,QAAS,QACT,UAAYW,GAAU,OAAOA,GAAU,UAAY,CAAC,QAAS,SAAU,QAAS,MAAM,EAAE,SAASA,CAAK,CAC5G,EAMI,QAAS,CACP,KAAM,MACN,SAAU,GACV,QAAS,IAAM,CAAA,EACf,UAAYA,GAAU,MAAM,QAAQA,CAAK,GAAKA,EAAM,MAAOX,GAAY,OAAOA,GAAY,QAAQ,CACxG,EAMI,QAAS,CACP,KAAM,QACN,QAAS,EACf,EAOI,SAAU,CACR,KAAM,QAEN,QAAS,EACf,EAKI,oBAAqB,CACnB,KAAM,QACN,QAAS,EACf,EAMI,OAAQ,CACN,KAAM,QACN,QAAS,EACf,EAMI,cAAe,CACb,KAAM,QACN,QAAS,EACf,EAgBI,kBAAmB,CACjB,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,SAAU,GACV,QAAS,EACf,EAOI,oBAAqB,CACnB,KAAM,OACN,SAAU,GACV,QAAS,EACf,EAOI,yBAA0B,CACxB,KAAM,OACN,SAAU,GACV,QAAS,EACf,EAMI,eAAgB,CACd,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,SAAU,GACV,QAAS,EACf,EAOI,cAAe,CACb,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,SAAU,GACV,QAAS,EACf,CACA,EACE,MAAO,CAAC,UAAW,cAAe,QAAQ,EAC1C,MAAMJ,EAAO,CAAE,KAAAgB,EAAM,MAAAC,CAAK,EAAI,CAC5B,MAAMC,EAAUC,GAAG,EACb,CAAE,MAAOC,GAAgBC,GAAeH,EAAS,CAAE,MAAO,IAAK,EAC/DI,EAAwBC,GAAS,IAAMH,EAAY,MAAQ,GAAG,EAC9DI,EAAgBD,GAAS,IAAMN,GAAO,aAAe,MAAM,EAC3DQ,EAAeC,GAAW,EAC1BC,EAA0BJ,GAAS,IAAMvB,EAAM,qBAAuB,MAAM,EAC5E4B,EAA+BL,GAAS,IAAM,CAClD,GAAI,CAAAvB,EAAM,oBAGV,OAAOA,EAAM,0BAA4ByB,CAC3C,CAAC,EACKI,EAAgBV,GAAG,EACnBW,EAAgBP,GAAS,IAAMvB,EAAM,QAAU,CAACwB,EAAc,MAAQ,OAAS,KAAK,EACpFO,EAAkBR,GAAS,IAAMO,EAAc,QAAU,OAAS,CAItE,OAAOE,EAAO,CACZA,EAAM,eAAc,EACpBhB,EAAK,SAAUgB,CAAK,CACtB,EAIA,MAAMA,EAAO,CACXA,EAAM,eAAc,EACpBhB,EAAK,QAASgB,CAAK,CACrB,CACN,EAAQ,EAAE,EACAC,EAAYd,GAAI,EAAI,EAC1B,SAASe,EAAkBC,EAAQC,EAAQ,EACpCD,EAAO,OAAS,UAAYA,EAAO,aAAe,WAAaL,EAAc,QAAU,QAAU,CAACD,EAAc,MAAM,eAAc,IAGzIQ,EAAcD,CAAM,EACpB,OAAO,WAAW,IAAME,EAAY,EAAI,GAAG,EAC7C,CACA,SAASD,EAAcD,EAAQ,CAC7BH,EAAU,MAAQ,GAClBjB,EAAK,UAAWoB,CAAM,CACxB,CACA,SAASE,GAAe,CACtBL,EAAU,MAAQ,GAClBjB,EAAK,cAAe,EAAK,CAC3B,CACA,MAAMuB,EAAahB,GAAS,KAAO,CACjC,QAASvB,EAAM,SAAW,CAACA,EAAM,SACjC,UAAWA,EAAM,YAAc,OAAS,OAASA,EAAM,UAIvD,QAASyB,EACT,KAAMzB,EAAM,KACZ,KAAMA,EAAM,MAAQiC,EAAU,MAC9B,cAAejC,EAAM,cACrB,oBAAqBA,EAAM,oBAC3B,uBAAwBA,EAAM,sBACpC,EAAM,EACF,MAAO,CACL,cAAA6B,EACA,gBAAAE,EACA,cAAAD,EACA,kBAAAI,EACA,cAAAG,EACA,aAAAC,EACA,cAAAd,EACA,aAAAC,EACA,wBAAAE,EACA,6BAAAC,EACA,sBAAAN,EACA,WAAAiB,EACA,QAAArB,CACN,CACE,CACF,CAAC,EACD,IAAIsB,GAAc,UAAkB,CAClC,IAAIC,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAAA,EAAI,MAAM,YACHA,EAAI,KAAOC,EAAG,UAAWD,EAAI,GAAG,CAAE,YAAa,gBAAiB,MAAO,CAAE,mBAAoB,GAAO,eAAgB,EAAK,EAAI,GAAI,CAAE,MAASA,EAAI,aAAc,cAAe,SAASE,EAAQ,CACnM,OAAOF,EAAI,cAAa,CAC1B,EAAG,EAAI,UAAWA,EAAI,WAAY,EAAK,EAAG,CAACC,EAAG,KAAM,CAAE,YAAa,eAAgB,MAAO,CAAE,GAAMD,EAAI,YAAY,EAAI,SAAU,CAAE,YAAeA,EAAI,GAAGA,EAAI,IAAI,CAAC,CAAE,CAAE,EAAGC,EAAGD,EAAI,cAAeA,EAAI,GAAG,CAAE,IAAK,gBAAiB,IAAK,YAAa,YAAa,SAAU,MAAOA,EAAI,aAAa,EAAIA,EAAI,eAAe,EAAG,CAACC,EAAG,MAAO,CAAE,IAAK,UAAW,YAAa,kBAAmB,MAAO,CAAE,6BAA8BD,EAAI,sBAAuB,EAAI,CAACA,EAAI,cAAgBC,EAAG,MAAO,CAAE,YAAa,qBAAsB,MAAOD,EAAI,kBAAmB,MAAO,CAAE,aAAcA,EAAI,wBAAyB,kBAAmBA,EAAI,4BAA4B,CAAE,EAAI,CAACA,EAAI,GAAG,aAAc,KAAM,CAAE,YAAeA,EAAI,qBAAqB,CAAE,CAAC,EAAG,CAAC,EAAIA,EAAI,GAAE,EAAIC,EAAG,MAAO,CAAE,YAAa,kBAAmB,MAAOD,EAAI,cAAc,EAAI,CAACA,EAAI,GAAG,UAAW,UAAW,CAC10B,MAAO,CAACC,EAAG,IAAK,CAAE,YAAa,cAAc,EAAI,CAACD,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,OAAO,EAAI,GAAG,CAAC,CAAC,CAAC,CAC7F,CAAC,CAAC,EAAG,CAAC,CAAC,CAAC,EAAGC,EAAG,MAAO,CAAE,YAAa,iBAAiB,EAAI,CAACD,EAAI,GAAG,UAAW,UAAW,CACrF,OAAOA,EAAI,GAAGA,EAAI,QAAS,SAASN,EAAQS,EAAK,CAC/C,OAAOF,EAAG,iBAAkBD,EAAI,GAAG,CAAE,IAAKG,EAAK,GAAI,CAAE,MAAS,CAAChD,EAAGwC,IAAWK,EAAI,kBAAkBN,EAAQC,CAAM,CAAC,CAAE,EAAI,iBAAkBD,EAAQ,EAAK,CAAC,CAC1J,CAAC,CACH,CAAC,CAAC,EAAG,CAAC,CAAC,CAAC,CAAC,EAAG,CAAC,EAAIM,EAAI,GAAE,CACzB,EACII,GAAuB,CAAA,EACvBC,GAAgCC,EAClCrC,GACA8B,GACAK,GACA,GACA,KACA,UACF,EACA,MAAMG,GAAWF,GAAc,QC1RzBG,GAAc,CAClB,KAAM,YACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACA,IAAIC,GAAgB,UAAkB,CACpC,IAAIT,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,OAAQD,EAAI,GAAG,CAAE,YAAa,kCAAmC,MAAO,CAAE,cAAeA,EAAI,MAAQ,KAAO,OAAQ,aAAcA,EAAI,MAAO,KAAQ,KAAK,EAAI,GAAI,CAAE,MAAS,SAASE,EAAQ,CACtM,OAAOF,EAAI,MAAM,QAASE,CAAM,CAClC,EAAG,EAAI,OAAQF,EAAI,OAAQ,EAAK,EAAG,CAACC,EAAG,MAAO,CAAE,YAAa,4BAA6B,MAAO,CAAE,KAAQD,EAAI,UAAW,MAASA,EAAI,KAAM,OAAUA,EAAI,KAAM,QAAW,WAAW,CAAE,EAAI,CAACC,EAAG,OAAQ,CAAE,MAAO,CAAE,EAAK,kDAAkD,GAAM,CAACD,EAAI,MAAQC,EAAG,QAAS,CAACD,EAAI,GAAGA,EAAI,GAAGA,EAAI,KAAK,CAAC,CAAC,CAAC,EAAIA,EAAI,GAAE,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACxV,EACIU,GAAyB,CAAA,EACzBC,GAAkCL,EACpCE,GACAC,GACAC,GACA,GACA,KACA,IACF,EACA,MAAME,GAAQD,GAAgB,QACxBE,GAAc,CAClB,KAAM,oBACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACA,IAAIC,GAAgB,UAAmB,CACrC,IAAId,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,OAAQD,EAAI,GAAG,CAAE,YAAa,2CAA4C,MAAO,CAAE,cAAeA,EAAI,MAAQ,KAAO,OAAQ,aAAcA,EAAI,MAAO,KAAQ,KAAK,EAAI,GAAI,CAAE,MAAS,SAASE,EAAQ,CAC/M,OAAOF,EAAI,MAAM,QAASE,CAAM,CAClC,EAAG,EAAI,OAAQF,EAAI,OAAQ,EAAK,EAAG,CAACC,EAAG,MAAO,CAAE,YAAa,4BAA6B,MAAO,CAAE,KAAQD,EAAI,UAAW,MAASA,EAAI,KAAM,OAAUA,EAAI,KAAM,QAAW,WAAW,CAAE,EAAI,CAACC,EAAG,OAAQ,CAAE,MAAO,CAAE,EAAK,0OAA0O,GAAM,CAACD,EAAI,MAAQC,EAAG,QAAS,CAACD,EAAI,GAAGA,EAAI,GAAGA,EAAI,KAAK,CAAC,CAAC,CAAC,EAAIA,EAAI,GAAE,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAChhB,EACIe,GAAyB,CAAA,EACzBC,GAAkCV,EACpCO,GACAC,GACAC,GACA,GACA,KACA,IACF,EACA,MAAME,GAAgBD,GAAgB,QAChCE,GAAc,CAClB,KAAM,2BACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACA,IAAIC,GAAgB,UAAmB,CACrC,IAAInB,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,OAAQD,EAAI,GAAG,CAAE,YAAa,mDAAoD,MAAO,CAAE,cAAeA,EAAI,MAAQ,KAAO,OAAQ,aAAcA,EAAI,MAAO,KAAQ,KAAK,EAAI,GAAI,CAAE,MAAS,SAASE,EAAQ,CACvN,OAAOF,EAAI,MAAM,QAASE,CAAM,CAClC,EAAG,EAAI,OAAQF,EAAI,OAAQ,EAAK,EAAG,CAACC,EAAG,MAAO,CAAE,YAAa,4BAA6B,MAAO,CAAE,KAAQD,EAAI,UAAW,MAASA,EAAI,KAAM,OAAUA,EAAI,KAAM,QAAW,WAAW,CAAE,EAAI,CAACC,EAAG,OAAQ,CAAE,MAAO,CAAE,EAAK,6HAA6H,GAAM,CAACD,EAAI,MAAQC,EAAG,QAAS,CAACD,EAAI,GAAGA,EAAI,GAAGA,EAAI,KAAK,CAAC,CAAC,CAAC,EAAIA,EAAI,GAAE,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACna,EACIoB,GAAyB,CAAA,EACzBC,GAAkCf,EACpCY,GACAC,GACAC,GACA,GACA,KACA,IACF,EACA,MAAME,GAAuBD,GAAgB,QACvCE,GAAc,CAClB,KAAM,kBACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACA,IAAIC,GAAgB,UAAmB,CACrC,IAAIxB,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,OAAQD,EAAI,GAAG,CAAE,YAAa,wCAAyC,MAAO,CAAE,cAAeA,EAAI,MAAQ,KAAO,OAAQ,aAAcA,EAAI,MAAO,KAAQ,KAAK,EAAI,GAAI,CAAE,MAAS,SAASE,EAAQ,CAC5M,OAAOF,EAAI,MAAM,QAASE,CAAM,CAClC,EAAG,EAAI,OAAQF,EAAI,OAAQ,EAAK,EAAG,CAACC,EAAG,MAAO,CAAE,YAAa,4BAA6B,MAAO,CAAE,KAAQD,EAAI,UAAW,MAASA,EAAI,KAAM,OAAUA,EAAI,KAAM,QAAW,WAAW,CAAE,EAAI,CAACC,EAAG,OAAQ,CAAE,MAAO,CAAE,EAAK,0GAA0G,GAAM,CAACD,EAAI,MAAQC,EAAG,QAAS,CAACD,EAAI,GAAGA,EAAI,GAAGA,EAAI,KAAK,CAAC,CAAC,CAAC,EAAIA,EAAI,GAAE,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAChZ,EACIyB,GAAyB,CAAA,EACzBC,GAAkCpB,EACpCiB,GACAC,GACAC,GACA,GACA,KACA,IACF,EACA,MAAME,GAAcD,GAAgB,QAC9BzD,GAAY,CAChB,KAAM,aACN,MAAO,CAIL,KAAM,CACJ,KAAM,OACN,QAAS,UACT,UAAY2D,GAAS,CAAC,UAAW,OAAQ,UAAW,OAAO,EAAE,SAASA,CAAI,CAChF,EAOI,UAAW,CACT,KAAM,QACN,QAAS,EACf,EAII,QAAS,CACP,KAAM,OACN,QAAS,EACf,EAII,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,EACE,OAAQ,CACN,MAAO,CACL,WAAAC,EACN,CACE,EACA,SAAU,CACR,iBAAkB,CAChB,OAAO,KAAK,WAAa,KAAK,OAAS,OACzC,EACA,MAAO,CACL,OAAQ,KAAK,KAAI,CACf,IAAK,QACH,OAAOZ,GACT,IAAK,UACH,OAAOK,GACT,IAAK,OACH,OAAOK,GACT,IAAK,UACH,OAAOf,GACT,QACE,OAAOA,EACjB,CACI,CACJ,CACA,EACA,IAAIb,GAAc,UAAmB,CACnC,IAAIC,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,MAAO,CAAE,YAAa,WAAY,MAAO,CACjD,CAAC,aAAaD,EAAI,IAAI,EAAE,EAAGA,EAAI,KAC/B,mBAAoBA,EAAI,UAC5B,EAAK,MAAO,CAAE,KAAQA,EAAI,gBAAkB,QAAU,MAAM,CAAE,EAAI,CAACA,EAAI,GAAG,OAAQ,UAAW,CACzF,MAAO,CAACC,EAAGD,EAAI,KAAM,CAAE,IAAK,YAAa,YAAa,iBAAkB,MAAO,CAAE,0BAA2BA,EAAI,SAAW,MAAO,CAAE,aAAc,oBAAqB,KAAQ,EAAE,CAAE,CAAE,CAAC,CACxL,CAAC,EAAGC,EAAG,MAAO,CAACD,EAAI,QAAUC,EAAG,IAAK,CAAE,YAAa,mBAAmB,EAAI,CAACD,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,OAAO,EAAI,GAAG,CAAC,CAAC,EAAIA,EAAI,GAAE,EAAIA,EAAI,GAAG,UAAW,UAAW,CAC7J,MAAO,CAACC,EAAG,IAAK,CAAE,YAAa,gBAAgB,EAAI,CAACD,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,IAAI,EAAI,GAAG,CAAC,CAAC,CAAC,CAC5F,CAAC,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,CACb,EACII,GAAuB,CAAA,EACvBC,GAAgCC,EAClCrC,GACA8B,GACAK,GACA,GACA,KACA,UACF,EACA,MAAM0B,GAAazB,GAAc,QC4D3BhD,GAAc0E,GC3QL,SAASC,GAAKC,EAAIC,EAAS,CACxC,OAAO,UAAgB,CACrB,OAAOD,EAAG,MAAMC,EAAS,SAAS,CACpC,CACF,CCPA,KAAM,CAAC,SAAAC,EAAQ,EAAI,OAAO,UACpB,CAAC,eAAAC,EAAc,EAAI,OACnB,CAAC,SAAAC,GAAU,YAAAC,EAAW,EAAI,OAE1BC,IAAUC,GAASC,GAAS,CAC9B,MAAMC,EAAMP,GAAS,KAAKM,CAAK,EAC/B,OAAOD,EAAME,CAAG,IAAMF,EAAME,CAAG,EAAIA,EAAI,MAAM,EAAG,EAAE,EAAE,YAAW,EACnE,GAAG,OAAO,OAAO,IAAI,CAAC,EAEhBC,EAAcf,IAClBA,EAAOA,EAAK,YAAW,EACfa,GAAUF,GAAOE,CAAK,IAAMb,GAGhCgB,GAAahB,GAAQa,GAAS,OAAOA,IAAUb,EAS/C,CAAC,QAAAiB,EAAO,EAAI,MASZC,GAAcF,GAAW,WAAW,EAS1C,SAASG,GAASC,EAAK,CACrB,OAAOA,IAAQ,MAAQ,CAACF,GAAYE,CAAG,GAAKA,EAAI,cAAgB,MAAQ,CAACF,GAAYE,EAAI,WAAW,GAC/FC,EAAWD,EAAI,YAAY,QAAQ,GAAKA,EAAI,YAAY,SAASA,CAAG,CAC3E,CASA,MAAME,GAAgBP,EAAW,aAAa,EAU9C,SAASQ,GAAkBH,EAAK,CAC9B,IAAIrD,EACJ,OAAK,OAAO,YAAgB,KAAiB,YAAY,OACvDA,EAAS,YAAY,OAAOqD,CAAG,EAE/BrD,EAAUqD,GAASA,EAAI,QAAYE,GAAcF,EAAI,MAAM,EAEtDrD,CACT,CASA,MAAMyD,GAAWR,GAAW,QAAQ,EAQ9BK,EAAaL,GAAW,UAAU,EASlCS,GAAWT,GAAW,QAAQ,EAS9BU,GAAYb,GAAUA,IAAU,MAAQ,OAAOA,GAAU,SAQzDc,GAAYd,GAASA,IAAU,IAAQA,IAAU,GASjDe,GAAiBR,GAAQ,CAC7B,GAAIT,GAAOS,CAAG,IAAM,SAClB,MAAO,GAGT,MAAMS,EAAYrB,GAAeY,CAAG,EACpC,OAAQS,IAAc,MAAQA,IAAc,OAAO,WAAa,OAAO,eAAeA,CAAS,IAAM,OAAS,EAAEnB,MAAeU,IAAQ,EAAEX,MAAYW,EACvJ,EASMU,GAAiBV,GAAQ,CAE7B,GAAI,CAACM,GAASN,CAAG,GAAKD,GAASC,CAAG,EAChC,MAAO,GAGT,GAAI,CACF,OAAO,OAAO,KAAKA,CAAG,EAAE,SAAW,GAAK,OAAO,eAAeA,CAAG,IAAM,OAAO,SAChF,MAAY,CAEV,MAAO,EACT,CACF,EASMW,GAAShB,EAAW,MAAM,EAS1BiB,GAASjB,EAAW,MAAM,EAS1BkB,GAASlB,EAAW,MAAM,EAS1BmB,GAAanB,EAAW,UAAU,EASlCoB,GAAYf,GAAQM,GAASN,CAAG,GAAKC,EAAWD,EAAI,IAAI,EASxDgB,GAAcvB,GAAU,CAC5B,IAAIwB,EACJ,OAAOxB,IACJ,OAAO,UAAa,YAAcA,aAAiB,UAClDQ,EAAWR,EAAM,MAAM,KACpBwB,EAAO1B,GAAOE,CAAK,KAAO,YAE1BwB,IAAS,UAAYhB,EAAWR,EAAM,QAAQ,GAAKA,EAAM,SAAQ,IAAO,qBAIjF,EASMyB,GAAoBvB,EAAW,iBAAiB,EAEhD,CAACwB,GAAkBC,GAAWC,GAAYC,EAAS,EAAI,CAAC,iBAAkB,UAAW,WAAY,SAAS,EAAE,IAAI3B,CAAU,EAS1H4B,GAAQ7B,GAAQA,EAAI,KACxBA,EAAI,KAAI,EAAKA,EAAI,QAAQ,qCAAsC,EAAE,EAiBnE,SAAS8B,GAAQC,EAAKxC,EAAI,CAAC,WAAAyC,EAAa,EAAK,EAAI,GAAI,CAEnD,GAAID,IAAQ,MAAQ,OAAOA,EAAQ,IACjC,OAGF,IAAI9H,EACAK,EAQJ,GALI,OAAOyH,GAAQ,WAEjBA,EAAM,CAACA,CAAG,GAGR5B,GAAQ4B,CAAG,EAEb,IAAK9H,EAAI,EAAGK,EAAIyH,EAAI,OAAQ9H,EAAIK,EAAGL,IACjCsF,EAAG,KAAK,KAAMwC,EAAI9H,CAAC,EAAGA,EAAG8H,CAAG,MAEzB,CAEL,GAAI1B,GAAS0B,CAAG,EACd,OAIF,MAAME,EAAOD,EAAa,OAAO,oBAAoBD,CAAG,EAAI,OAAO,KAAKA,CAAG,EACrEG,EAAMD,EAAK,OACjB,IAAIE,EAEJ,IAAKlI,EAAI,EAAGA,EAAIiI,EAAKjI,IACnBkI,EAAMF,EAAKhI,CAAC,EACZsF,EAAG,KAAK,KAAMwC,EAAII,CAAG,EAAGA,EAAKJ,CAAG,CAEpC,CACF,CAEA,SAASK,GAAQL,EAAKI,EAAK,CACzB,GAAI9B,GAAS0B,CAAG,EACd,OAAO,KAGTI,EAAMA,EAAI,YAAW,EACrB,MAAMF,EAAO,OAAO,KAAKF,CAAG,EAC5B,IAAI9H,EAAIgI,EAAK,OACTI,EACJ,KAAOpI,KAAM,GAEX,GADAoI,EAAOJ,EAAKhI,CAAC,EACTkI,IAAQE,EAAK,cACf,OAAOA,EAGX,OAAO,IACT,CAEA,MAAMC,GAEA,OAAO,WAAe,IAAoB,WACvC,OAAO,KAAS,IAAc,KAAQ,OAAO,OAAW,IAAc,OAASC,GAGlFC,GAAoBC,GAAY,CAACrC,GAAYqC,CAAO,GAAKA,IAAYH,GAoB3E,SAASI,IAAmC,CAC1C,KAAM,CAAC,SAAAC,EAAU,cAAAC,CAAa,EAAIJ,GAAiB,IAAI,GAAK,MAAQ,CAAA,EAC9DvF,EAAS,CAAA,EACT4F,EAAc,CAACvC,EAAK6B,IAAQ,CAChC,MAAMW,EAAYH,GAAYP,GAAQnF,EAAQkF,CAAG,GAAKA,EAClDrB,GAAc7D,EAAO6F,CAAS,CAAC,GAAKhC,GAAcR,CAAG,EACvDrD,EAAO6F,CAAS,EAAIJ,GAAMzF,EAAO6F,CAAS,EAAGxC,CAAG,EACvCQ,GAAcR,CAAG,EAC1BrD,EAAO6F,CAAS,EAAIJ,GAAM,CAAA,EAAIpC,CAAG,EACxBH,GAAQG,CAAG,EACpBrD,EAAO6F,CAAS,EAAIxC,EAAI,MAAK,GACpB,CAACsC,GAAiB,CAACxC,GAAYE,CAAG,KAC3CrD,EAAO6F,CAAS,EAAIxC,EAExB,EAEA,QAASrG,EAAI,EAAGK,EAAI,UAAU,OAAQL,EAAIK,EAAGL,IAC3C,UAAUA,CAAC,GAAK6H,GAAQ,UAAU7H,CAAC,EAAG4I,CAAW,EAEnD,OAAO5F,CACT,CAYA,MAAM8F,GAAS,CAACvI,EAAGwI,EAAGxD,EAAS,CAAC,WAAAwC,CAAU,EAAG,MAC3CF,GAAQkB,EAAG,CAAC1C,EAAK6B,IAAQ,CACnB3C,GAAWe,EAAWD,CAAG,EAC3B9F,EAAE2H,CAAG,EAAI7C,GAAKgB,EAAKd,CAAO,EAE1BhF,EAAE2H,CAAG,EAAI7B,CAEb,EAAG,CAAC,WAAA0B,CAAU,CAAC,EACRxH,GAUHyI,GAAYC,IACZA,EAAQ,WAAW,CAAC,IAAM,QAC5BA,EAAUA,EAAQ,MAAM,CAAC,GAEpBA,GAYHC,GAAW,CAACC,EAAaC,EAAkBxI,EAAOyI,IAAgB,CACtEF,EAAY,UAAY,OAAO,OAAOC,EAAiB,UAAWC,CAAW,EAC7EF,EAAY,UAAU,YAAcA,EACpC,OAAO,eAAeA,EAAa,QAAS,CAC1C,MAAOC,EAAiB,SAC5B,CAAG,EACDxI,GAAS,OAAO,OAAOuI,EAAY,UAAWvI,CAAK,CACrD,EAWM0I,GAAe,CAACC,EAAWC,EAASC,EAAQC,IAAe,CAC/D,IAAI9I,EACAZ,EACA2J,EACJ,MAAMC,EAAS,CAAA,EAIf,GAFAJ,EAAUA,GAAW,CAAA,EAEjBD,GAAa,KAAM,OAAOC,EAE9B,EAAG,CAGD,IAFA5I,EAAQ,OAAO,oBAAoB2I,CAAS,EAC5CvJ,EAAIY,EAAM,OACHZ,KAAM,GACX2J,EAAO/I,EAAMZ,CAAC,GACT,CAAC0J,GAAcA,EAAWC,EAAMJ,EAAWC,CAAO,IAAM,CAACI,EAAOD,CAAI,IACvEH,EAAQG,CAAI,EAAIJ,EAAUI,CAAI,EAC9BC,EAAOD,CAAI,EAAI,IAGnBJ,EAAYE,IAAW,IAAShE,GAAe8D,CAAS,CAC1D,OAASA,IAAc,CAACE,GAAUA,EAAOF,EAAWC,CAAO,IAAMD,IAAc,OAAO,WAEtF,OAAOC,CACT,EAWMK,GAAW,CAAC9D,EAAK+D,EAAcC,IAAa,CAChDhE,EAAM,OAAOA,CAAG,GACZgE,IAAa,QAAaA,EAAWhE,EAAI,UAC3CgE,EAAWhE,EAAI,QAEjBgE,GAAYD,EAAa,OACzB,MAAME,EAAYjE,EAAI,QAAQ+D,EAAcC,CAAQ,EACpD,OAAOC,IAAc,IAAMA,IAAcD,CAC3C,EAUME,GAAWnE,GAAU,CACzB,GAAI,CAACA,EAAO,OAAO,KACnB,GAAII,GAAQJ,CAAK,EAAG,OAAOA,EAC3B,IAAI9F,EAAI8F,EAAM,OACd,GAAI,CAACY,GAAS1G,CAAC,EAAG,OAAO,KACzB,MAAM0B,EAAM,IAAI,MAAM1B,CAAC,EACvB,KAAOA,KAAM,GACX0B,EAAI1B,CAAC,EAAI8F,EAAM9F,CAAC,EAElB,OAAO0B,CACT,EAWMwI,IAAgBC,GAEbrE,GACEqE,GAAcrE,aAAiBqE,GAEvC,OAAO,WAAe,KAAe1E,GAAe,UAAU,CAAC,EAU5D2E,GAAe,CAACtC,EAAKxC,IAAO,CAGhC,MAAM+E,GAFYvC,GAAOA,EAAIpC,EAAQ,GAET,KAAKoC,CAAG,EAEpC,IAAI9E,EAEJ,MAAQA,EAASqH,EAAU,KAAI,IAAO,CAACrH,EAAO,MAAM,CAClD,MAAMsH,EAAOtH,EAAO,MACpBsC,EAAG,KAAKwC,EAAKwC,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,CAC/B,CACF,EAUMC,GAAW,CAACC,EAAQzE,IAAQ,CAChC,IAAI0E,EACJ,MAAM/I,EAAM,CAAA,EAEZ,MAAQ+I,EAAUD,EAAO,KAAKzE,CAAG,KAAO,MACtCrE,EAAI,KAAK+I,CAAO,EAGlB,OAAO/I,CACT,EAGMgJ,GAAa1E,EAAW,iBAAiB,EAEzC2E,GAAc5E,GACXA,EAAI,cAAc,QAAQ,wBAC/B,SAAkB6E,EAAGC,EAAIC,EAAI,CAC3B,OAAOD,EAAG,YAAW,EAAKC,CAC5B,CACJ,EAIMC,IAAkB,CAAC,CAAC,eAAAA,CAAc,IAAM,CAACjD,EAAK6B,IAASoB,EAAe,KAAKjD,EAAK6B,CAAI,GAAG,OAAO,SAAS,EASvGqB,GAAWhF,EAAW,QAAQ,EAE9BiF,GAAoB,CAACnD,EAAKoD,IAAY,CAC1C,MAAM7B,EAAc,OAAO,0BAA0BvB,CAAG,EAClDqD,EAAqB,CAAA,EAE3BtD,GAAQwB,EAAa,CAAC+B,EAAYC,IAAS,CACzC,IAAIC,GACCA,EAAMJ,EAAQE,EAAYC,EAAMvD,CAAG,KAAO,KAC7CqD,EAAmBE,CAAI,EAAIC,GAAOF,EAEtC,CAAC,EAED,OAAO,iBAAiBtD,EAAKqD,CAAkB,CACjD,EAOMI,GAAiBzD,GAAQ,CAC7BmD,GAAkBnD,EAAK,CAACsD,EAAYC,IAAS,CAE3C,GAAI/E,EAAWwB,CAAG,GAAK,CAAC,YAAa,SAAU,QAAQ,EAAE,QAAQuD,CAAI,IAAM,GACzE,MAAO,GAGT,MAAM1J,EAAQmG,EAAIuD,CAAI,EAEtB,GAAK/E,EAAW3E,CAAK,EAIrB,IAFAyJ,EAAW,WAAa,GAEpB,aAAcA,EAAY,CAC5BA,EAAW,SAAW,GACtB,MACF,CAEKA,EAAW,MACdA,EAAW,IAAM,IAAM,CACrB,MAAM,MAAM,qCAAwCC,EAAO,GAAI,CACjE,GAEJ,CAAC,CACH,EAEMG,GAAc,CAACC,EAAeC,IAAc,CAChD,MAAM5D,EAAM,CAAA,EAEN6D,EAAUjK,GAAQ,CACtBA,EAAI,QAAQC,GAAS,CACnBmG,EAAInG,CAAK,EAAI,EACf,CAAC,CACH,EAEA,OAAAuE,GAAQuF,CAAa,EAAIE,EAAOF,CAAa,EAAIE,EAAO,OAAOF,CAAa,EAAE,MAAMC,CAAS,CAAC,EAEvF5D,CACT,EAEM8D,GAAO,IAAM,CAAC,EAEdC,GAAiB,CAAClK,EAAOmK,IACtBnK,GAAS,MAAQ,OAAO,SAASA,EAAQ,CAACA,CAAK,EAAIA,EAAQmK,EAYpE,SAASC,GAAoBjG,EAAO,CAClC,MAAO,CAAC,EAAEA,GAASQ,EAAWR,EAAM,MAAM,GAAKA,EAAMH,EAAW,IAAM,YAAcG,EAAMJ,EAAQ,EACpG,CAEA,MAAMsG,GAAgBlE,GAAQ,CAC5B,MAAMmE,EAAQ,IAAI,MAAM,EAAE,EAEpBC,EAAQ,CAACC,EAAQnM,IAAM,CAE3B,GAAI2G,GAASwF,CAAM,EAAG,CACpB,GAAIF,EAAM,QAAQE,CAAM,GAAK,EAC3B,OAIF,GAAI/F,GAAS+F,CAAM,EACjB,OAAOA,EAGT,GAAG,EAAE,WAAYA,GAAS,CACxBF,EAAMjM,CAAC,EAAImM,EACX,MAAMC,EAASlG,GAAQiG,CAAM,EAAI,CAAA,EAAK,CAAA,EAEtC,OAAAtE,GAAQsE,EAAQ,CAACxK,EAAOuG,IAAQ,CAC9B,MAAMmE,EAAeH,EAAMvK,EAAO3B,EAAI,CAAC,EACvC,CAACmG,GAAYkG,CAAY,IAAMD,EAAOlE,CAAG,EAAImE,EAC/C,CAAC,EAEDJ,EAAMjM,CAAC,EAAI,OAEJoM,CACT,CACF,CAEA,OAAOD,CACT,EAEA,OAAOD,EAAMpE,EAAK,CAAC,CACrB,EAEMwE,GAAYtG,EAAW,eAAe,EAEtCuG,GAAczG,GAClBA,IAAUa,GAASb,CAAK,GAAKQ,EAAWR,CAAK,IAAMQ,EAAWR,EAAM,IAAI,GAAKQ,EAAWR,EAAM,KAAK,EAK/F0G,IAAiB,CAACC,EAAuBC,IACzCD,EACK,aAGFC,GAAwB,CAACC,EAAOC,KACrCvE,GAAQ,iBAAiB,UAAW,CAAC,CAAC,OAAA8D,EAAQ,KAAAU,CAAI,IAAM,CAClDV,IAAW9D,IAAWwE,IAASF,GACjCC,EAAU,QAAUA,EAAU,QAAO,CAEzC,EAAG,EAAK,EAEAE,GAAO,CACbF,EAAU,KAAKE,CAAE,EACjBzE,GAAQ,YAAYsE,EAAO,GAAG,CAChC,IACC,SAAS,KAAK,OAAM,CAAE,GAAI,CAAA,CAAE,EAAKG,GAAO,WAAWA,CAAE,GAExD,OAAO,cAAiB,WACxBxG,EAAW+B,GAAQ,WAAW,CAChC,EAEM0E,GAAO,OAAO,eAAmB,IACrC,eAAe,KAAK1E,EAAO,EAAM,OAAO2E,GAAY,KAAeA,GAAQ,UAAYR,GAKnFS,GAAcnH,GAAUA,GAAS,MAAQQ,EAAWR,EAAMJ,EAAQ,CAAC,EAGzEwH,EAAe,CACb,QAAAhH,GACA,cAAAK,GACA,SAAAH,GACA,WAAAiB,GACA,kBAAAb,GACA,SAAAC,GACA,SAAAC,GACA,UAAAE,GACA,SAAAD,GACA,cAAAE,GACA,cAAAE,GACA,iBAAAS,GACA,UAAAC,GACA,WAAAC,GACA,UAAAC,GACA,YAAAxB,GACA,OAAAa,GACA,OAAAC,GACA,OAAAC,GACA,SAAA8D,GACF,WAAE1E,EACA,SAAAc,GACA,kBAAAG,GACA,aAAA2C,GACA,WAAA/C,GACA,QAAAU,GACA,MAAAY,GACA,OAAAK,GACA,KAAAlB,GACA,SAAAoB,GACA,SAAAE,GACA,aAAAI,GACA,OAAA1D,GACA,WAAAI,EACA,SAAA6D,GACA,QAAAI,GACA,aAAAG,GACA,SAAAG,GACA,WAAAG,GACA,eAAAK,GACA,WAAYA,GACZ,kBAAAE,GACA,cAAAM,GACA,YAAAC,GACA,YAAAb,GACA,KAAAiB,GACA,eAAAC,GACA,QAAA1D,GACA,OAAQE,GACR,iBAAAE,GACA,oBAAAwD,GACA,aAAAC,GACA,UAAAM,GACA,WAAAC,GACA,aAAcC,GACd,KAAAO,GACA,WAAAE,EACF,EC7wBA,IAAIE,GAAS,CAAA,EAETC,GAAW,CAAA,EAEfA,GAAS,WAAaC,GACtBD,GAAS,YAAcE,GACvBF,GAAS,cAAgBG,GAOzB,QALIC,EAAS,CAAA,EACTC,EAAY,CAAA,EACZC,GAAM,OAAO,WAAe,IAAc,WAAa,MAEvDC,GAAO,mEACF3N,GAAI,EAAGiI,GAAM0F,GAAK,OAAQ3N,GAAIiI,GAAK,EAAEjI,GAC5CwN,EAAOxN,EAAC,EAAI2N,GAAK3N,EAAC,EAClByN,EAAUE,GAAK,WAAW3N,EAAC,CAAC,EAAIA,GAKlCyN,EAAU,EAAiB,EAAI,GAC/BA,EAAU,EAAiB,EAAI,GAE/B,SAASG,GAASC,EAAK,CACrB,IAAI5F,EAAM4F,EAAI,OAEd,GAAI5F,EAAM,EAAI,EACZ,MAAM,IAAI,MAAM,gDAAgD,EAKlE,IAAI6F,EAAWD,EAAI,QAAQ,GAAG,EAC1BC,IAAa,KAAIA,EAAW7F,GAEhC,IAAI8F,EAAkBD,IAAa7F,EAC/B,EACA,EAAK6F,EAAW,EAEpB,MAAO,CAACA,EAAUC,CAAe,CACnC,CAGA,SAASV,GAAYQ,EAAK,CACxB,IAAIG,EAAOJ,GAAQC,CAAG,EAClBC,EAAWE,EAAK,CAAC,EACjBD,EAAkBC,EAAK,CAAC,EAC5B,OAASF,EAAWC,GAAmB,EAAI,EAAKA,CAClD,CAEA,SAASE,GAAaJ,EAAKC,EAAUC,EAAiB,CACpD,OAASD,EAAWC,GAAmB,EAAI,EAAKA,CAClD,CAEA,SAAST,GAAaO,EAAK,CACzB,IAAIK,EACAF,EAAOJ,GAAQC,CAAG,EAClBC,EAAWE,EAAK,CAAC,EACjBD,EAAkBC,EAAK,CAAC,EAExBtM,EAAM,IAAIgM,GAAIO,GAAYJ,EAAKC,EAAUC,CAAe,CAAC,EAEzDI,EAAU,EAGVlG,EAAM8F,EAAkB,EACxBD,EAAW,EACXA,EAEA9N,EACJ,IAAKA,EAAI,EAAGA,EAAIiI,EAAKjI,GAAK,EACxBkO,EACGT,EAAUI,EAAI,WAAW7N,CAAC,CAAC,GAAK,GAChCyN,EAAUI,EAAI,WAAW7N,EAAI,CAAC,CAAC,GAAK,GACpCyN,EAAUI,EAAI,WAAW7N,EAAI,CAAC,CAAC,GAAK,EACrCyN,EAAUI,EAAI,WAAW7N,EAAI,CAAC,CAAC,EACjC0B,EAAIyM,GAAS,EAAKD,GAAO,GAAM,IAC/BxM,EAAIyM,GAAS,EAAKD,GAAO,EAAK,IAC9BxM,EAAIyM,GAAS,EAAID,EAAM,IAGzB,OAAIH,IAAoB,IACtBG,EACGT,EAAUI,EAAI,WAAW7N,CAAC,CAAC,GAAK,EAChCyN,EAAUI,EAAI,WAAW7N,EAAI,CAAC,CAAC,GAAK,EACvC0B,EAAIyM,GAAS,EAAID,EAAM,KAGrBH,IAAoB,IACtBG,EACGT,EAAUI,EAAI,WAAW7N,CAAC,CAAC,GAAK,GAChCyN,EAAUI,EAAI,WAAW7N,EAAI,CAAC,CAAC,GAAK,EACpCyN,EAAUI,EAAI,WAAW7N,EAAI,CAAC,CAAC,GAAK,EACvC0B,EAAIyM,GAAS,EAAKD,GAAO,EAAK,IAC9BxM,EAAIyM,GAAS,EAAID,EAAM,KAGlBxM,CACT,CAEA,SAAS0M,GAAiBC,EAAK,CAC7B,OAAOb,EAAOa,GAAO,GAAK,EAAI,EAC5Bb,EAAOa,GAAO,GAAK,EAAI,EACvBb,EAAOa,GAAO,EAAI,EAAI,EACtBb,EAAOa,EAAM,EAAI,CACrB,CAEA,SAASC,GAAaC,EAAOC,EAAOC,EAAK,CAGvC,QAFIP,EACAQ,EAAS,CAAA,EACJ1O,EAAIwO,EAAOxO,EAAIyO,EAAKzO,GAAK,EAChCkO,GACIK,EAAMvO,CAAC,GAAK,GAAM,WAClBuO,EAAMvO,EAAI,CAAC,GAAK,EAAK,QACtBuO,EAAMvO,EAAI,CAAC,EAAI,KAClB0O,EAAO,KAAKN,GAAgBF,CAAG,CAAC,EAElC,OAAOQ,EAAO,KAAK,EAAE,CACvB,CAEA,SAASnB,GAAegB,EAAO,CAQ7B,QAPIL,EACAjG,EAAMsG,EAAM,OACZI,EAAa1G,EAAM,EACnB2G,EAAQ,CAAA,EACRC,EAAiB,MAGZ7O,EAAI,EAAG8O,EAAO7G,EAAM0G,EAAY3O,EAAI8O,EAAM9O,GAAK6O,EACtDD,EAAM,KAAKN,GAAYC,EAAOvO,EAAIA,EAAI6O,EAAkBC,EAAOA,EAAQ9O,EAAI6O,CAAe,CAAC,EAI7F,OAAIF,IAAe,GACjBT,EAAMK,EAAMtG,EAAM,CAAC,EACnB2G,EAAM,KACJpB,EAAOU,GAAO,CAAC,EACfV,EAAQU,GAAO,EAAK,EAAI,EACxB,IACN,GACaS,IAAe,IACxBT,GAAOK,EAAMtG,EAAM,CAAC,GAAK,GAAKsG,EAAMtG,EAAM,CAAC,EAC3C2G,EAAM,KACJpB,EAAOU,GAAO,EAAE,EAChBV,EAAQU,GAAO,EAAK,EAAI,EACxBV,EAAQU,GAAO,EAAK,EAAI,EACxB,GACN,GAGSU,EAAM,KAAK,EAAE,CACtB,CAEA,IAAIG,GAAU,CAAA,EAIdA,GAAQ,KAAO,SAAU5B,EAAQ6B,EAAQC,EAAMC,EAAMC,EAAQ,CAC3D,IAAItP,EAAG+K,EACHwE,EAAQD,EAAS,EAAKD,EAAO,EAC7BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBE,EAAQ,GACRvP,EAAIiP,EAAQE,EAAS,EAAK,EAC1BK,EAAIP,EAAO,GAAK,EAChB7O,EAAI+M,EAAO6B,EAAShP,CAAC,EAOzB,IALAA,GAAKwP,EAEL3P,EAAIO,GAAM,GAAM,CAACmP,GAAU,EAC3BnP,IAAO,CAACmP,EACRA,GAASH,EACFG,EAAQ,EAAG1P,EAAKA,EAAI,IAAOsN,EAAO6B,EAAShP,CAAC,EAAGA,GAAKwP,EAAGD,GAAS,EAAG,CAK1E,IAHA3E,EAAI/K,GAAM,GAAM,CAAC0P,GAAU,EAC3B1P,IAAO,CAAC0P,EACRA,GAASL,EACFK,EAAQ,EAAG3E,EAAKA,EAAI,IAAOuC,EAAO6B,EAAShP,CAAC,EAAGA,GAAKwP,EAAGD,GAAS,EAAG,CAE1E,GAAI1P,IAAM,EACRA,EAAI,EAAIyP,MACH,CAAA,GAAIzP,IAAMwP,EACf,OAAOzE,EAAI,KAAQxK,EAAI,GAAK,GAAK,MAEjCwK,EAAIA,EAAI,KAAK,IAAI,EAAGsE,CAAI,EACxBrP,EAAIA,EAAIyP,EAEV,OAAQlP,EAAI,GAAK,GAAKwK,EAAI,KAAK,IAAI,EAAG/K,EAAIqP,CAAI,CAChD,EAEAH,GAAQ,MAAQ,SAAU5B,EAAQxL,EAAOqN,EAAQC,EAAMC,EAAMC,EAAQ,CACnE,IAAItP,EAAG+K,EAAG7K,EACNqP,EAAQD,EAAS,EAAKD,EAAO,EAC7BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBI,EAAMP,IAAS,GAAK,KAAK,IAAI,EAAG,GAAG,EAAI,KAAK,IAAI,EAAG,GAAG,EAAI,EAC1DlP,EAAIiP,EAAO,EAAKE,EAAS,EACzBK,EAAIP,EAAO,EAAI,GACf7O,EAAIuB,EAAQ,GAAMA,IAAU,GAAK,EAAIA,EAAQ,EAAK,EAAI,EAmC1D,IAjCAA,EAAQ,KAAK,IAAIA,CAAK,EAElB,MAAMA,CAAK,GAAKA,IAAU,KAC5BiJ,EAAI,MAAMjJ,CAAK,EAAI,EAAI,EACvB9B,EAAIwP,IAEJxP,EAAI,KAAK,MAAM,KAAK,IAAI8B,CAAK,EAAI,KAAK,GAAG,EACrCA,GAAS5B,EAAI,KAAK,IAAI,EAAG,CAACF,CAAC,GAAK,IAClCA,IACAE,GAAK,GAEHF,EAAIyP,GAAS,EACf3N,GAAS8N,EAAK1P,EAEd4B,GAAS8N,EAAK,KAAK,IAAI,EAAG,EAAIH,CAAK,EAEjC3N,EAAQ5B,GAAK,IACfF,IACAE,GAAK,GAGHF,EAAIyP,GAASD,GACfzE,EAAI,EACJ/K,EAAIwP,GACKxP,EAAIyP,GAAS,GACtB1E,GAAMjJ,EAAQ5B,EAAK,GAAK,KAAK,IAAI,EAAGmP,CAAI,EACxCrP,EAAIA,EAAIyP,IAER1E,EAAIjJ,EAAQ,KAAK,IAAI,EAAG2N,EAAQ,CAAC,EAAI,KAAK,IAAI,EAAGJ,CAAI,EACrDrP,EAAI,IAIDqP,GAAQ,EAAG/B,EAAO6B,EAAShP,CAAC,EAAI4K,EAAI,IAAM5K,GAAKwP,EAAG5E,GAAK,IAAKsE,GAAQ,EAAG,CAI9E,IAFArP,EAAKA,GAAKqP,EAAQtE,EAClBwE,GAAQF,EACDE,EAAO,EAAGjC,EAAO6B,EAAShP,CAAC,EAAIH,EAAI,IAAMG,GAAKwP,EAAG3P,GAAK,IAAKuP,GAAQ,EAAG,CAE7EjC,EAAO6B,EAAShP,EAAIwP,CAAC,GAAKpP,EAAI,GAChC,GASC,SAAUsP,EAAS,CAEnB,MAAMC,EAASvC,GACTwC,EAAYb,GACZc,EACH,OAAO,QAAW,YAAc,OAAO,OAAO,KAAW,WACtD,OAAO,IAAO,4BAA4B,EAC1C,KAENH,EAAQ,OAASI,EACjBJ,EAAQ,WAAaK,GACrBL,EAAQ,kBAAoB,GAE5B,MAAMM,EAAe,WACrBN,EAAQ,WAAaM,EACrB,KAAM,CAAE,WAAYC,EAAkB,YAAaC,EAAmB,kBAAmBC,CAAuB,EAAK,WAgBrHL,EAAO,oBAAsBM,EAAiB,EAE1C,CAACN,EAAO,qBAAuB,OAAO,QAAY,KAClD,OAAO,QAAQ,OAAU,YAC3B,QAAQ,MACN,+IAEL,EAGC,SAASM,GAAqB,CAE5B,GAAI,CACF,MAAM1O,EAAM,IAAIuO,EAAiB,CAAC,EAC5BI,EAAQ,CAAE,IAAK,UAAY,CAAE,MAAO,GAAG,CAAC,EAC9C,OAAA,OAAO,eAAeA,EAAOJ,EAAiB,SAAS,EACvD,OAAO,eAAevO,EAAK2O,CAAK,EACzB3O,EAAI,QAAU,EACvB,MAAY,CACV,MAAO,EACT,CACF,CAEA,OAAO,eAAeoO,EAAO,UAAW,SAAU,CAChD,WAAY,GACZ,IAAK,UAAY,CACf,GAAKA,EAAO,SAAS,IAAI,EACzB,OAAO,KAAK,MACd,CACH,CAAE,EAED,OAAO,eAAeA,EAAO,UAAW,SAAU,CAChD,WAAY,GACZ,IAAK,UAAY,CACf,GAAKA,EAAO,SAAS,IAAI,EACzB,OAAO,KAAK,UACd,CACH,CAAE,EAED,SAASQ,EAAcC,EAAQ,CAC7B,GAAIA,EAASP,EACX,MAAM,IAAI,WAAW,cAAgBO,EAAS,gCAAgC,EAGhF,MAAMC,EAAM,IAAIP,EAAiBM,CAAM,EACvC,OAAA,OAAO,eAAeC,EAAKV,EAAO,SAAS,EACpCU,CACT,CAYA,SAASV,EAAQW,EAAKC,EAAkBH,EAAQ,CAE9C,GAAI,OAAOE,GAAQ,SAAU,CAC3B,GAAI,OAAOC,GAAqB,SAC9B,MAAM,IAAI,UACR,oEACT,EAEK,OAAOC,EAAYF,CAAG,CACxB,CACA,OAAOG,EAAKH,EAAKC,EAAkBH,CAAM,CAC3C,CAEAT,EAAO,SAAW,KAElB,SAASc,EAAMjP,EAAO+O,EAAkBH,EAAQ,CAC9C,GAAI,OAAO5O,GAAU,SACnB,OAAOkP,EAAWlP,EAAO+O,CAAgB,EAG3C,GAAIR,EAAkB,OAAOvO,CAAK,EAChC,OAAOmP,EAAcnP,CAAK,EAG5B,GAAIA,GAAS,KACX,MAAM,IAAI,UACR,kHAC0C,OAAOA,CACxD,EAQG,GALIoP,EAAWpP,EAAOuO,CAAiB,GAClCvO,GAASoP,EAAWpP,EAAM,OAAQuO,CAAiB,GAIpD,OAAOC,EAA4B,MAClCY,EAAWpP,EAAOwO,CAAuB,GACzCxO,GAASoP,EAAWpP,EAAM,OAAQwO,CAAuB,GAC5D,OAAOa,EAAgBrP,EAAO+O,EAAkBH,CAAM,EAGxD,GAAI,OAAO5O,GAAU,SACnB,MAAM,IAAI,UACR,uEACP,EAGG,MAAMsP,EAAUtP,EAAM,SAAWA,EAAM,QAAO,EAC9C,GAAIsP,GAAW,MAAQA,IAAYtP,EACjC,OAAOmO,EAAO,KAAKmB,EAASP,EAAkBH,CAAM,EAGtD,MAAMxH,EAAImI,EAAWvP,CAAK,EAC1B,GAAIoH,EAAG,OAAOA,EAEd,GAAI,OAAO,OAAW,KAAe,OAAO,aAAe,MACvD,OAAOpH,EAAM,OAAO,WAAW,GAAM,WACvC,OAAOmO,EAAO,KAAKnO,EAAM,OAAO,WAAW,EAAE,QAAQ,EAAG+O,EAAkBH,CAAM,EAGlF,MAAM,IAAI,UACR,kHAC0C,OAAO5O,CACtD,CACC,CAUAmO,EAAO,KAAO,SAAUnO,EAAO+O,EAAkBH,EAAQ,CACvD,OAAOK,EAAKjP,EAAO+O,EAAkBH,CAAM,CAC7C,EAIA,OAAO,eAAeT,EAAO,UAAWG,EAAiB,SAAS,EAClE,OAAO,eAAeH,EAAQG,CAAgB,EAE9C,SAASkB,EAAYC,EAAM,CACzB,GAAI,OAAOA,GAAS,SAClB,MAAM,IAAI,UAAU,wCAAwC,EACvD,GAAIA,EAAO,EAChB,MAAM,IAAI,WAAW,cAAgBA,EAAO,gCAAgC,CAEhF,CAEA,SAASC,EAAOD,EAAME,EAAMC,EAAU,CAEpC,OADAJ,EAAWC,CAAI,EACXA,GAAQ,EACHd,EAAac,CAAI,EAEtBE,IAAS,OAIJ,OAAOC,GAAa,SACvBjB,EAAac,CAAI,EAAE,KAAKE,EAAMC,CAAQ,EACtCjB,EAAac,CAAI,EAAE,KAAKE,CAAI,EAE3BhB,EAAac,CAAI,CAC1B,CAMAtB,EAAO,MAAQ,SAAUsB,EAAME,EAAMC,EAAU,CAC7C,OAAOF,EAAMD,EAAME,EAAMC,CAAQ,CACnC,EAEA,SAASZ,EAAaS,EAAM,CAC1B,OAAAD,EAAWC,CAAI,EACRd,EAAac,EAAO,EAAI,EAAII,EAAQJ,CAAI,EAAI,CAAC,CACtD,CAKAtB,EAAO,YAAc,SAAUsB,EAAM,CACnC,OAAOT,EAAYS,CAAI,CACzB,EAIAtB,EAAO,gBAAkB,SAAUsB,EAAM,CACvC,OAAOT,EAAYS,CAAI,CACzB,EAEA,SAASP,EAAYY,EAAQF,EAAU,CAKrC,IAJI,OAAOA,GAAa,UAAYA,IAAa,MAC/CA,EAAW,QAGT,CAACzB,EAAO,WAAWyB,CAAQ,EAC7B,MAAM,IAAI,UAAU,qBAAuBA,CAAQ,EAGrD,MAAMhB,EAASlD,GAAWoE,EAAQF,CAAQ,EAAI,EAC9C,IAAIf,EAAMF,EAAaC,CAAM,EAE7B,MAAMmB,EAASlB,EAAI,MAAMiB,EAAQF,CAAQ,EAEzC,OAAIG,IAAWnB,IAIbC,EAAMA,EAAI,MAAM,EAAGkB,CAAM,GAGpBlB,CACT,CAEA,SAASmB,EAAeC,EAAO,CAC7B,MAAMrB,EAASqB,EAAM,OAAS,EAAI,EAAIJ,EAAQI,EAAM,MAAM,EAAI,EACxDpB,EAAMF,EAAaC,CAAM,EAC/B,QAASvQ,EAAI,EAAGA,EAAIuQ,EAAQvQ,GAAK,EAC/BwQ,EAAIxQ,CAAC,EAAI4R,EAAM5R,CAAC,EAAI,IAEtB,OAAOwQ,CACT,CAEA,SAASM,EAAee,EAAW,CACjC,GAAId,EAAWc,EAAW5B,CAAgB,EAAG,CAC3C,MAAM6B,EAAO,IAAI7B,EAAiB4B,CAAS,EAC3C,OAAOb,EAAgBc,EAAK,OAAQA,EAAK,WAAYA,EAAK,UAAU,CACtE,CACA,OAAOH,EAAcE,CAAS,CAChC,CAEA,SAASb,EAAiBY,EAAOG,EAAYxB,EAAQ,CACnD,GAAIwB,EAAa,GAAKH,EAAM,WAAaG,EACvC,MAAM,IAAI,WAAW,sCAAsC,EAG7D,GAAIH,EAAM,WAAaG,GAAcxB,GAAU,GAC7C,MAAM,IAAI,WAAW,sCAAsC,EAG7D,IAAIC,EACJ,OAAIuB,IAAe,QAAaxB,IAAW,OACzCC,EAAM,IAAIP,EAAiB2B,CAAK,EACvBrB,IAAW,OACpBC,EAAM,IAAIP,EAAiB2B,EAAOG,CAAU,EAE5CvB,EAAM,IAAIP,EAAiB2B,EAAOG,EAAYxB,CAAM,EAItD,OAAO,eAAeC,EAAKV,EAAO,SAAS,EAEpCU,CACT,CAEA,SAASU,EAAYpJ,EAAK,CACxB,GAAIgI,EAAO,SAAShI,CAAG,EAAG,CACxB,MAAMG,EAAMuJ,EAAQ1J,EAAI,MAAM,EAAI,EAC5B0I,EAAMF,EAAarI,CAAG,EAE5B,OAAIuI,EAAI,SAAW,GAInB1I,EAAI,KAAK0I,EAAK,EAAG,EAAGvI,CAAG,EAChBuI,CACT,CAEA,GAAI1I,EAAI,SAAW,OACjB,OAAI,OAAOA,EAAI,QAAW,UAAYkK,GAAYlK,EAAI,MAAM,EACnDwI,EAAa,CAAC,EAEhBqB,EAAc7J,CAAG,EAG1B,GAAIA,EAAI,OAAS,UAAY,MAAM,QAAQA,EAAI,IAAI,EACjD,OAAO6J,EAAc7J,EAAI,IAAI,CAEjC,CAEA,SAAS0J,EAASjB,EAAQ,CAGxB,GAAIA,GAAUP,EACZ,MAAM,IAAI,WAAW,0DACaA,EAAa,SAAS,EAAE,EAAI,QAAQ,EAExE,OAAOO,EAAS,CAClB,CAEA,SAASR,GAAYQ,EAAQ,CAC3B,MAAI,CAACA,GAAUA,IACbA,EAAS,GAEJT,EAAO,MAAM,CAACS,CAAM,CAC7B,CAEAT,EAAO,SAAW,SAAmB/G,EAAG,CACtC,OAAOA,GAAK,MAAQA,EAAE,YAAc,IAClCA,IAAM+G,EAAO,SACjB,EAEAA,EAAO,QAAU,SAAkBvP,EAAGwI,EAAG,CAGvC,GAFIgI,EAAWxQ,EAAG0P,CAAgB,IAAG1P,EAAIuP,EAAO,KAAKvP,EAAGA,EAAE,OAAQA,EAAE,UAAU,GAC1EwQ,EAAWhI,EAAGkH,CAAgB,IAAGlH,EAAI+G,EAAO,KAAK/G,EAAGA,EAAE,OAAQA,EAAE,UAAU,GAC1E,CAAC+G,EAAO,SAASvP,CAAC,GAAK,CAACuP,EAAO,SAAS/G,CAAC,EAC3C,MAAM,IAAI,UACR,uEACP,EAGG,GAAIxI,IAAMwI,EAAG,MAAO,GAEpB,IAAIkJ,EAAI1R,EAAE,OACN2R,EAAInJ,EAAE,OAEV,QAAS/I,EAAI,EAAGiI,EAAM,KAAK,IAAIgK,EAAGC,CAAC,EAAGlS,EAAIiI,EAAK,EAAEjI,EAC/C,GAAIO,EAAEP,CAAC,IAAM+I,EAAE/I,CAAC,EAAG,CACjBiS,EAAI1R,EAAEP,CAAC,EACPkS,EAAInJ,EAAE/I,CAAC,EACP,KACF,CAGF,OAAIiS,EAAIC,EAAU,GACdA,EAAID,EAAU,EACX,CACT,EAEAnC,EAAO,WAAa,SAAqByB,EAAU,CACjD,OAAQ,OAAOA,CAAQ,EAAE,YAAW,EAAE,CACpC,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAO,GACT,QACE,MAAO,EACd,CACC,EAEAzB,EAAO,OAAS,SAAiBqC,EAAM5B,EAAQ,CAC7C,GAAI,CAAC,MAAM,QAAQ4B,CAAI,EACrB,MAAM,IAAI,UAAU,6CAA6C,EAGnE,GAAIA,EAAK,SAAW,EAClB,OAAOrC,EAAO,MAAM,CAAC,EAGvB,IAAI9P,EACJ,GAAIuQ,IAAW,OAEb,IADAA,EAAS,EACJvQ,EAAI,EAAGA,EAAImS,EAAK,OAAQ,EAAEnS,EAC7BuQ,GAAU4B,EAAKnS,CAAC,EAAE,OAItB,MAAMmN,EAAS2C,EAAO,YAAYS,CAAM,EACxC,IAAI6B,EAAM,EACV,IAAKpS,EAAI,EAAGA,EAAImS,EAAK,OAAQ,EAAEnS,EAAG,CAChC,IAAIwQ,EAAM2B,EAAKnS,CAAC,EAChB,GAAI+Q,EAAWP,EAAKP,CAAgB,EAC9BmC,EAAM5B,EAAI,OAASrD,EAAO,QACvB2C,EAAO,SAASU,CAAG,IAAGA,EAAMV,EAAO,KAAKU,CAAG,GAChDA,EAAI,KAAKrD,EAAQiF,CAAG,GAEpBnC,EAAiB,UAAU,IAAI,KAC7B9C,EACAqD,EACA4B,CACX,UAEiBtC,EAAO,SAASU,CAAG,EAG7BA,EAAI,KAAKrD,EAAQiF,CAAG,aAFd,IAAI,UAAU,6CAA6C,EAInEA,GAAO5B,EAAI,MACb,CACA,OAAOrD,CACT,EAEA,SAASE,GAAYoE,EAAQF,EAAU,CACrC,GAAIzB,EAAO,SAAS2B,CAAM,EACxB,OAAOA,EAAO,OAEhB,GAAIvB,EAAkB,OAAOuB,CAAM,GAAKV,EAAWU,EAAQvB,CAAiB,EAC1E,OAAOuB,EAAO,WAEhB,GAAI,OAAOA,GAAW,SACpB,MAAM,IAAI,UACR,2FACmB,OAAOA,CACjC,EAGG,MAAMxJ,EAAMwJ,EAAO,OACbY,EAAa,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,GAC5D,GAAI,CAACA,GAAapK,IAAQ,EAAG,MAAO,GAGpC,IAAIqK,EAAc,GAClB,OACE,OAAQf,EAAQ,CACd,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAOtJ,EACT,IAAK,OACL,IAAK,QACH,OAAOsK,GAAYd,CAAM,EAAE,OAC7B,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOxJ,EAAM,EACf,IAAK,MACH,OAAOA,IAAQ,EACjB,IAAK,SACH,OAAOuK,GAAcf,CAAM,EAAE,OAC/B,QACE,GAAIa,EACF,OAAOD,EAAY,GAAKE,GAAYd,CAAM,EAAE,OAE9CF,GAAY,GAAKA,GAAU,YAAW,EACtCe,EAAc,EACvB,CAEC,CACAxC,EAAO,WAAazC,GAEpB,SAASoF,EAAclB,EAAU/C,EAAOC,EAAK,CAC3C,IAAI6D,EAAc,GA8BlB,IArBI9D,IAAU,QAAaA,EAAQ,KACjCA,EAAQ,GAINA,EAAQ,KAAK,UAIbC,IAAQ,QAAaA,EAAM,KAAK,UAClCA,EAAM,KAAK,QAGTA,GAAO,KAKXA,KAAS,EACTD,KAAW,EAEPC,GAAOD,GACT,MAAO,GAKT,IAFK+C,IAAUA,EAAW,UAGxB,OAAQA,EAAQ,CACd,IAAK,MACH,OAAOmB,GAAS,KAAMlE,EAAOC,CAAG,EAElC,IAAK,OACL,IAAK,QACH,OAAOkE,GAAU,KAAMnE,EAAOC,CAAG,EAEnC,IAAK,QACH,OAAOmE,GAAW,KAAMpE,EAAOC,CAAG,EAEpC,IAAK,SACL,IAAK,SACH,OAAOoE,EAAY,KAAMrE,EAAOC,CAAG,EAErC,IAAK,SACH,OAAOqE,EAAY,KAAMtE,EAAOC,CAAG,EAErC,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOsE,GAAa,KAAMvE,EAAOC,CAAG,EAEtC,QACE,GAAI6D,EAAa,MAAM,IAAI,UAAU,qBAAuBf,CAAQ,EACpEA,GAAYA,EAAW,IAAI,YAAW,EACtCe,EAAc,EACvB,CAEC,CAQAxC,EAAO,UAAU,UAAY,GAE7B,SAASkD,EAAMjK,EAAG,EAAG6B,EAAG,CACtB,MAAM5K,EAAI+I,EAAE,CAAC,EACbA,EAAE,CAAC,EAAIA,EAAE6B,CAAC,EACV7B,EAAE6B,CAAC,EAAI5K,CACT,CAEA8P,EAAO,UAAU,OAAS,UAAmB,CAC3C,MAAM7H,EAAM,KAAK,OACjB,GAAIA,EAAM,IAAM,EACd,MAAM,IAAI,WAAW,2CAA2C,EAElE,QAASjI,EAAI,EAAGA,EAAIiI,EAAKjI,GAAK,EAC5BgT,EAAK,KAAMhT,EAAGA,EAAI,CAAC,EAErB,OAAO,IACT,EAEA8P,EAAO,UAAU,OAAS,UAAmB,CAC3C,MAAM7H,EAAM,KAAK,OACjB,GAAIA,EAAM,IAAM,EACd,MAAM,IAAI,WAAW,2CAA2C,EAElE,QAASjI,EAAI,EAAGA,EAAIiI,EAAKjI,GAAK,EAC5BgT,EAAK,KAAMhT,EAAGA,EAAI,CAAC,EACnBgT,EAAK,KAAMhT,EAAI,EAAGA,EAAI,CAAC,EAEzB,OAAO,IACT,EAEA8P,EAAO,UAAU,OAAS,UAAmB,CAC3C,MAAM7H,EAAM,KAAK,OACjB,GAAIA,EAAM,IAAM,EACd,MAAM,IAAI,WAAW,2CAA2C,EAElE,QAASjI,EAAI,EAAGA,EAAIiI,EAAKjI,GAAK,EAC5BgT,EAAK,KAAMhT,EAAGA,EAAI,CAAC,EACnBgT,EAAK,KAAMhT,EAAI,EAAGA,EAAI,CAAC,EACvBgT,EAAK,KAAMhT,EAAI,EAAGA,EAAI,CAAC,EACvBgT,EAAK,KAAMhT,EAAI,EAAGA,EAAI,CAAC,EAEzB,OAAO,IACT,EAEA8P,EAAO,UAAU,SAAW,UAAqB,CAC/C,MAAMS,EAAS,KAAK,OACpB,OAAIA,IAAW,EAAU,GACrB,UAAU,SAAW,EAAUoC,GAAU,KAAM,EAAGpC,CAAM,EACrDkC,EAAa,MAAM,KAAM,SAAS,CAC3C,EAEA3C,EAAO,UAAU,eAAiBA,EAAO,UAAU,SAEnDA,EAAO,UAAU,OAAS,SAAiB/G,EAAG,CAC5C,GAAI,CAAC+G,EAAO,SAAS/G,CAAC,EAAG,MAAM,IAAI,UAAU,2BAA2B,EACxE,OAAI,OAASA,EAAU,GAChB+G,EAAO,QAAQ,KAAM/G,CAAC,IAAM,CACrC,EAEA+G,EAAO,UAAU,QAAU,UAAoB,CAC7C,IAAI/J,EAAM,GACV,MAAMkN,EAAMvD,EAAQ,kBACpB,OAAA3J,EAAM,KAAK,SAAS,MAAO,EAAGkN,CAAG,EAAE,QAAQ,UAAW,KAAK,EAAE,KAAI,EAC7D,KAAK,OAASA,IAAKlN,GAAO,SACvB,WAAaA,EAAM,GAC5B,EACI8J,IACFC,EAAO,UAAUD,CAAmB,EAAIC,EAAO,UAAU,SAG3DA,EAAO,UAAU,QAAU,SAAkB1D,EAAQoC,EAAOC,EAAKyE,EAAWC,EAAS,CAInF,GAHIpC,EAAW3E,EAAQ6D,CAAgB,IACrC7D,EAAS0D,EAAO,KAAK1D,EAAQA,EAAO,OAAQA,EAAO,UAAU,GAE3D,CAAC0D,EAAO,SAAS1D,CAAM,EACzB,MAAM,IAAI,UACR,iFACoB,OAAOA,CAClC,EAgBG,GAbIoC,IAAU,SACZA,EAAQ,GAENC,IAAQ,SACVA,EAAMrC,EAASA,EAAO,OAAS,GAE7B8G,IAAc,SAChBA,EAAY,GAEVC,IAAY,SACdA,EAAU,KAAK,QAGb3E,EAAQ,GAAKC,EAAMrC,EAAO,QAAU8G,EAAY,GAAKC,EAAU,KAAK,OACtE,MAAM,IAAI,WAAW,oBAAoB,EAG3C,GAAID,GAAaC,GAAW3E,GAASC,EACnC,SAEF,GAAIyE,GAAaC,EACf,MAAO,GAET,GAAI3E,GAASC,EACX,SAQF,GALAD,KAAW,EACXC,KAAS,EACTyE,KAAe,EACfC,KAAa,EAET,OAAS/G,EAAQ,MAAO,GAE5B,IAAI6F,EAAIkB,EAAUD,EACdhB,EAAIzD,EAAMD,EACd,MAAMvG,EAAM,KAAK,IAAIgK,EAAGC,CAAC,EAEnBkB,EAAW,KAAK,MAAMF,EAAWC,CAAO,EACxCE,EAAajH,EAAO,MAAMoC,EAAOC,CAAG,EAE1C,QAASzO,EAAI,EAAGA,EAAIiI,EAAK,EAAEjI,EACzB,GAAIoT,EAASpT,CAAC,IAAMqT,EAAWrT,CAAC,EAAG,CACjCiS,EAAImB,EAASpT,CAAC,EACdkS,EAAImB,EAAWrT,CAAC,EAChB,KACF,CAGF,OAAIiS,EAAIC,EAAU,GACdA,EAAID,EAAU,EACX,CACT,EAWA,SAASqB,GAAsBnG,EAAQ9G,EAAK0L,EAAYR,EAAUgC,EAAK,CAErE,GAAIpG,EAAO,SAAW,EAAG,MAAO,GAmBhC,GAhBI,OAAO4E,GAAe,UACxBR,EAAWQ,EACXA,EAAa,GACJA,EAAa,WACtBA,EAAa,WACJA,EAAa,cACtBA,EAAa,aAEfA,EAAa,CAACA,EACVC,GAAYD,CAAU,IAExBA,EAAawB,EAAM,EAAKpG,EAAO,OAAS,GAItC4E,EAAa,IAAGA,EAAa5E,EAAO,OAAS4E,GAC7CA,GAAc5E,EAAO,OAAQ,CAC/B,GAAIoG,EAAK,MAAO,GACXxB,EAAa5E,EAAO,OAAS,CACpC,SAAW4E,EAAa,EACtB,GAAIwB,EAAKxB,EAAa,MACjB,OAAO,GASd,GALI,OAAO1L,GAAQ,WACjBA,EAAMyJ,EAAO,KAAKzJ,EAAKkL,CAAQ,GAI7BzB,EAAO,SAASzJ,CAAG,EAErB,OAAIA,EAAI,SAAW,EACV,GAEFmN,GAAarG,EAAQ9G,EAAK0L,EAAYR,EAAUgC,CAAG,EACrD,GAAI,OAAOlN,GAAQ,SAExB,OADAA,EAAMA,EAAM,IACR,OAAO4J,EAAiB,UAAU,SAAY,WAC5CsD,EACKtD,EAAiB,UAAU,QAAQ,KAAK9C,EAAQ9G,EAAK0L,CAAU,EAE/D9B,EAAiB,UAAU,YAAY,KAAK9C,EAAQ9G,EAAK0L,CAAU,EAGvEyB,GAAarG,EAAQ,CAAC9G,CAAG,EAAG0L,EAAYR,EAAUgC,CAAG,EAG9D,MAAM,IAAI,UAAU,sCAAsC,CAC5D,CAEA,SAASC,GAAc9R,EAAK2E,EAAK0L,EAAYR,EAAUgC,EAAK,CAC1D,IAAIE,EAAY,EACZC,EAAYhS,EAAI,OAChBiS,EAAYtN,EAAI,OAEpB,GAAIkL,IAAa,SACfA,EAAW,OAAOA,CAAQ,EAAE,YAAW,EACnCA,IAAa,QAAUA,IAAa,SACpCA,IAAa,WAAaA,IAAa,YAAY,CACrD,GAAI7P,EAAI,OAAS,GAAK2E,EAAI,OAAS,EACjC,MAAO,GAEToN,EAAY,EACZC,GAAa,EACbC,GAAa,EACb5B,GAAc,CAChB,CAGF,SAAS6B,EAAMpD,EAAKxQ,EAAG,CACrB,OAAIyT,IAAc,EACTjD,EAAIxQ,CAAC,EAELwQ,EAAI,aAAaxQ,EAAIyT,CAAS,CAEzC,CAEA,IAAIzT,EACJ,GAAIuT,EAAK,CACP,IAAIM,EAAa,GACjB,IAAK7T,EAAI+R,EAAY/R,EAAI0T,EAAW1T,IAClC,GAAI4T,EAAKlS,EAAK1B,CAAC,IAAM4T,EAAKvN,EAAKwN,IAAe,GAAK,EAAI7T,EAAI6T,CAAU,GAEnE,GADIA,IAAe,KAAIA,EAAa7T,GAChCA,EAAI6T,EAAa,IAAMF,EAAW,OAAOE,EAAaJ,OAEtDI,IAAe,KAAI7T,GAAKA,EAAI6T,GAChCA,EAAa,EAGnB,KAEE,KADI9B,EAAa4B,EAAYD,IAAW3B,EAAa2B,EAAYC,GAC5D3T,EAAI+R,EAAY/R,GAAK,EAAGA,IAAK,CAChC,IAAI8T,EAAQ,GACZ,QAASC,EAAI,EAAGA,EAAIJ,EAAWI,IAC7B,GAAIH,EAAKlS,EAAK1B,EAAI+T,CAAC,IAAMH,EAAKvN,EAAK0N,CAAC,EAAG,CACrCD,EAAQ,GACR,KACF,CAEF,GAAIA,EAAO,OAAO9T,CACpB,CAGF,MAAO,EACT,CAEA8P,EAAO,UAAU,SAAW,SAAmBzJ,EAAK0L,EAAYR,EAAU,CACxE,OAAO,KAAK,QAAQlL,EAAK0L,EAAYR,CAAQ,IAAM,EACrD,EAEAzB,EAAO,UAAU,QAAU,SAAkBzJ,EAAK0L,EAAYR,EAAU,CACtE,OAAO+B,GAAqB,KAAMjN,EAAK0L,EAAYR,EAAU,EAAI,CACnE,EAEAzB,EAAO,UAAU,YAAc,SAAsBzJ,EAAK0L,EAAYR,EAAU,CAC9E,OAAO+B,GAAqB,KAAMjN,EAAK0L,EAAYR,EAAU,EAAK,CACpE,EAEA,SAASyC,GAAUxD,EAAKiB,EAAQzC,EAAQuB,EAAQ,CAC9CvB,EAAS,OAAOA,CAAM,GAAK,EAC3B,MAAMiF,EAAYzD,EAAI,OAASxB,EAC1BuB,GAGHA,EAAS,OAAOA,CAAM,EAClBA,EAAS0D,IACX1D,EAAS0D,IAJX1D,EAAS0D,EAQX,MAAMC,EAASzC,EAAO,OAElBlB,EAAS2D,EAAS,IACpB3D,EAAS2D,EAAS,GAEpB,IAAIlU,EACJ,IAAKA,EAAI,EAAGA,EAAIuQ,EAAQ,EAAEvQ,EAAG,CAC3B,MAAMmU,EAAS,SAAS1C,EAAO,OAAOzR,EAAI,EAAG,CAAC,EAAG,EAAE,EACnD,GAAIgS,GAAYmC,CAAM,EAAG,OAAOnU,EAChCwQ,EAAIxB,EAAShP,CAAC,EAAImU,CACpB,CACA,OAAOnU,CACT,CAEA,SAASoU,GAAW5D,EAAKiB,EAAQzC,EAAQuB,EAAQ,CAC/C,OAAO8D,GAAW9B,GAAYd,EAAQjB,EAAI,OAASxB,CAAM,EAAGwB,EAAKxB,EAAQuB,CAAM,CACjF,CAEA,SAAS+D,GAAY9D,EAAKiB,EAAQzC,EAAQuB,EAAQ,CAChD,OAAO8D,GAAWE,GAAa9C,CAAM,EAAGjB,EAAKxB,EAAQuB,CAAM,CAC7D,CAEA,SAASiE,EAAahE,EAAKiB,EAAQzC,EAAQuB,EAAQ,CACjD,OAAO8D,GAAW7B,GAAcf,CAAM,EAAGjB,EAAKxB,EAAQuB,CAAM,CAC9D,CAEA,SAASkE,GAAWjE,EAAKiB,EAAQzC,EAAQuB,EAAQ,CAC/C,OAAO8D,GAAWK,GAAejD,EAAQjB,EAAI,OAASxB,CAAM,EAAGwB,EAAKxB,EAAQuB,CAAM,CACpF,CAEAT,EAAO,UAAU,MAAQ,SAAgB2B,EAAQzC,EAAQuB,EAAQgB,EAAU,CAEzE,GAAIvC,IAAW,OACbuC,EAAW,OACXhB,EAAS,KAAK,OACdvB,EAAS,UAEAuB,IAAW,QAAa,OAAOvB,GAAW,SACnDuC,EAAWvC,EACXuB,EAAS,KAAK,OACdvB,EAAS,UAEA,SAASA,CAAM,EACxBA,EAASA,IAAW,EAChB,SAASuB,CAAM,GACjBA,EAASA,IAAW,EAChBgB,IAAa,SAAWA,EAAW,UAEvCA,EAAWhB,EACXA,EAAS,YAGX,OAAM,IAAI,MACR,yEACP,EAGG,MAAM0D,EAAY,KAAK,OAASjF,EAGhC,IAFIuB,IAAW,QAAaA,EAAS0D,KAAW1D,EAAS0D,GAEpDxC,EAAO,OAAS,IAAMlB,EAAS,GAAKvB,EAAS,IAAOA,EAAS,KAAK,OACrE,MAAM,IAAI,WAAW,wCAAwC,EAG1DuC,IAAUA,EAAW,QAE1B,IAAIe,EAAc,GAClB,OACE,OAAQf,EAAQ,CACd,IAAK,MACH,OAAOyC,GAAS,KAAMvC,EAAQzC,EAAQuB,CAAM,EAE9C,IAAK,OACL,IAAK,QACH,OAAO6D,GAAU,KAAM3C,EAAQzC,EAAQuB,CAAM,EAE/C,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAO+D,GAAW,KAAM7C,EAAQzC,EAAQuB,CAAM,EAEhD,IAAK,SAEH,OAAOiE,EAAY,KAAM/C,EAAQzC,EAAQuB,CAAM,EAEjD,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOkE,GAAU,KAAMhD,EAAQzC,EAAQuB,CAAM,EAE/C,QACE,GAAI+B,EAAa,MAAM,IAAI,UAAU,qBAAuBf,CAAQ,EACpEA,GAAY,GAAKA,GAAU,YAAW,EACtCe,EAAc,EACvB,CAEC,EAEAxC,EAAO,UAAU,OAAS,UAAmB,CAC3C,MAAO,CACL,KAAM,SACN,KAAM,MAAM,UAAU,MAAM,KAAK,KAAK,MAAQ,KAAM,CAAC,CAC1D,CACC,EAEA,SAASgD,EAAatC,EAAKhC,EAAOC,EAAK,CACrC,OAAID,IAAU,GAAKC,IAAQ+B,EAAI,OACtBb,EAAO,cAAca,CAAG,EAExBb,EAAO,cAAca,EAAI,MAAMhC,EAAOC,CAAG,CAAC,CAErD,CAEA,SAASkE,GAAWnC,EAAKhC,EAAOC,EAAK,CACnCA,EAAM,KAAK,IAAI+B,EAAI,OAAQ/B,CAAG,EAC9B,MAAMkG,EAAM,CAAA,EAEZ,IAAI3U,EAAIwO,EACR,KAAOxO,EAAIyO,GAAK,CACd,MAAMmG,EAAYpE,EAAIxQ,CAAC,EACvB,IAAI6U,EAAY,KACZC,EAAoBF,EAAY,IAChC,EACCA,EAAY,IACT,EACCA,EAAY,IACT,EACA,EAEZ,GAAI5U,EAAI8U,GAAoBrG,EAAK,CAC/B,IAAIsG,EAAYC,EAAWC,EAAYC,EAEvC,OAAQJ,EAAgB,CACtB,IAAK,GACCF,EAAY,MACdC,EAAYD,GAEd,MACF,IAAK,GACHG,EAAavE,EAAIxQ,EAAI,CAAC,GACjB+U,EAAa,OAAU,MAC1BG,GAAiBN,EAAY,KAAS,EAAOG,EAAa,GACtDG,EAAgB,MAClBL,EAAYK,IAGhB,MACF,IAAK,GACHH,EAAavE,EAAIxQ,EAAI,CAAC,EACtBgV,EAAYxE,EAAIxQ,EAAI,CAAC,GAChB+U,EAAa,OAAU,MAASC,EAAY,OAAU,MACzDE,GAAiBN,EAAY,KAAQ,IAAOG,EAAa,KAAS,EAAOC,EAAY,GACjFE,EAAgB,OAAUA,EAAgB,OAAUA,EAAgB,SACtEL,EAAYK,IAGhB,MACF,IAAK,GACHH,EAAavE,EAAIxQ,EAAI,CAAC,EACtBgV,EAAYxE,EAAIxQ,EAAI,CAAC,EACrBiV,EAAazE,EAAIxQ,EAAI,CAAC,GACjB+U,EAAa,OAAU,MAASC,EAAY,OAAU,MAASC,EAAa,OAAU,MACzFC,GAAiBN,EAAY,KAAQ,IAAQG,EAAa,KAAS,IAAOC,EAAY,KAAS,EAAOC,EAAa,GAC/GC,EAAgB,OAAUA,EAAgB,UAC5CL,EAAYK,GAG3B,CACK,CAEIL,IAAc,MAGhBA,EAAY,MACZC,EAAmB,GACVD,EAAY,QAErBA,GAAa,MACbF,EAAI,KAAKE,IAAc,GAAK,KAAQ,KAAM,EAC1CA,EAAY,MAASA,EAAY,MAGnCF,EAAI,KAAKE,CAAS,EAClB7U,GAAK8U,CACP,CAEA,OAAOK,GAAsBR,CAAG,CAClC,CAKA,MAAMS,EAAuB,KAE7B,SAASD,GAAuBE,EAAY,CAC1C,MAAMpN,EAAMoN,EAAW,OACvB,GAAIpN,GAAOmN,EACT,OAAO,OAAO,aAAa,MAAM,OAAQC,CAAU,EAIrD,IAAIV,EAAM,GACN3U,EAAI,EACR,KAAOA,EAAIiI,GACT0M,GAAO,OAAO,aAAa,MACzB,OACAU,EAAW,MAAMrV,EAAGA,GAAKoV,CAAoB,CACpD,EAEG,OAAOT,CACT,CAEA,SAAS/B,GAAYpC,EAAKhC,EAAOC,EAAK,CACpC,IAAInD,EAAM,GACVmD,EAAM,KAAK,IAAI+B,EAAI,OAAQ/B,CAAG,EAE9B,QAASzO,EAAIwO,EAAOxO,EAAIyO,EAAK,EAAEzO,EAC7BsL,GAAO,OAAO,aAAakF,EAAIxQ,CAAC,EAAI,GAAI,EAE1C,OAAOsL,CACT,CAEA,SAASuH,EAAarC,EAAKhC,EAAOC,EAAK,CACrC,IAAInD,EAAM,GACVmD,EAAM,KAAK,IAAI+B,EAAI,OAAQ/B,CAAG,EAE9B,QAASzO,EAAIwO,EAAOxO,EAAIyO,EAAK,EAAEzO,EAC7BsL,GAAO,OAAO,aAAakF,EAAIxQ,CAAC,CAAC,EAEnC,OAAOsL,CACT,CAEA,SAASoH,GAAUlC,EAAKhC,EAAOC,EAAK,CAClC,MAAMxG,EAAMuI,EAAI,QAEZ,CAAChC,GAASA,EAAQ,KAAGA,EAAQ,IAC7B,CAACC,GAAOA,EAAM,GAAKA,EAAMxG,KAAKwG,EAAMxG,GAExC,IAAIqN,EAAM,GACV,QAAStV,EAAIwO,EAAOxO,EAAIyO,EAAK,EAAEzO,EAC7BsV,GAAOC,GAAoB/E,EAAIxQ,CAAC,CAAC,EAEnC,OAAOsV,CACT,CAEA,SAASvC,GAAcvC,EAAKhC,EAAOC,EAAK,CACtC,MAAM+G,EAAQhF,EAAI,MAAMhC,EAAOC,CAAG,EAClC,IAAIkG,EAAM,GAEV,QAAS3U,EAAI,EAAGA,EAAIwV,EAAM,OAAS,EAAGxV,GAAK,EACzC2U,GAAO,OAAO,aAAaa,EAAMxV,CAAC,EAAKwV,EAAMxV,EAAI,CAAC,EAAI,GAAI,EAE5D,OAAO2U,CACT,CAEA7E,EAAO,UAAU,MAAQ,SAAgBtB,EAAOC,EAAK,CACnD,MAAMxG,EAAM,KAAK,OACjBuG,EAAQ,CAAC,CAACA,EACVC,EAAMA,IAAQ,OAAYxG,EAAM,CAAC,CAACwG,EAE9BD,EAAQ,GACVA,GAASvG,EACLuG,EAAQ,IAAGA,EAAQ,IACdA,EAAQvG,IACjBuG,EAAQvG,GAGNwG,EAAM,GACRA,GAAOxG,EACHwG,EAAM,IAAGA,EAAM,IACVA,EAAMxG,IACfwG,EAAMxG,GAGJwG,EAAMD,IAAOC,EAAMD,GAEvB,MAAMiH,EAAS,KAAK,SAASjH,EAAOC,CAAG,EAEvC,cAAO,eAAegH,EAAQ3F,EAAO,SAAS,EAEvC2F,CACT,EAKA,SAASC,EAAa1G,EAAQ2G,EAAKpF,EAAQ,CACzC,GAAKvB,EAAS,IAAO,GAAKA,EAAS,EAAG,MAAM,IAAI,WAAW,oBAAoB,EAC/E,GAAIA,EAAS2G,EAAMpF,EAAQ,MAAM,IAAI,WAAW,uCAAuC,CACzF,CAEAT,EAAO,UAAU,WACjBA,EAAO,UAAU,WAAa,SAAqBd,EAAQ3B,EAAYuI,EAAU,CAC/E5G,EAASA,IAAW,EACpB3B,EAAaA,IAAe,EACvBuI,GAAUF,EAAY1G,EAAQ3B,EAAY,KAAK,MAAM,EAE1D,IAAIhH,EAAM,KAAK2I,CAAM,EACjB6G,EAAM,EACN7V,EAAI,EACR,KAAO,EAAEA,EAAIqN,IAAewI,GAAO,MACjCxP,GAAO,KAAK2I,EAAShP,CAAC,EAAI6V,EAG5B,OAAOxP,CACT,EAEAyJ,EAAO,UAAU,WACjBA,EAAO,UAAU,WAAa,SAAqBd,EAAQ3B,EAAYuI,EAAU,CAC/E5G,EAASA,IAAW,EACpB3B,EAAaA,IAAe,EACvBuI,GACHF,EAAY1G,EAAQ3B,EAAY,KAAK,MAAM,EAG7C,IAAIhH,EAAM,KAAK2I,EAAS,EAAE3B,CAAU,EAChCwI,EAAM,EACV,KAAOxI,EAAa,IAAMwI,GAAO,MAC/BxP,GAAO,KAAK2I,EAAS,EAAE3B,CAAU,EAAIwI,EAGvC,OAAOxP,CACT,EAEAyJ,EAAO,UAAU,UACjBA,EAAO,UAAU,UAAY,SAAoBd,EAAQ4G,EAAU,CACjE,OAAA5G,EAASA,IAAW,EACf4G,GAAUF,EAAY1G,EAAQ,EAAG,KAAK,MAAM,EAC1C,KAAKA,CAAM,CACpB,EAEAc,EAAO,UAAU,aACjBA,EAAO,UAAU,aAAe,SAAuBd,EAAQ4G,EAAU,CACvE,OAAA5G,EAASA,IAAW,EACf4G,GAAUF,EAAY1G,EAAQ,EAAG,KAAK,MAAM,EAC1C,KAAKA,CAAM,EAAK,KAAKA,EAAS,CAAC,GAAK,CAC7C,EAEAc,EAAO,UAAU,aACjBA,EAAO,UAAU,aAAe,SAAuBd,EAAQ4G,EAAU,CACvE,OAAA5G,EAASA,IAAW,EACf4G,GAAUF,EAAY1G,EAAQ,EAAG,KAAK,MAAM,EACzC,KAAKA,CAAM,GAAK,EAAK,KAAKA,EAAS,CAAC,CAC9C,EAEAc,EAAO,UAAU,aACjBA,EAAO,UAAU,aAAe,SAAuBd,EAAQ4G,EAAU,CACvE,OAAA5G,EAASA,IAAW,EACf4G,GAAUF,EAAY1G,EAAQ,EAAG,KAAK,MAAM,GAExC,KAAKA,CAAM,EACf,KAAKA,EAAS,CAAC,GAAK,EACpB,KAAKA,EAAS,CAAC,GAAK,IACpB,KAAKA,EAAS,CAAC,EAAI,QAC1B,EAEAc,EAAO,UAAU,aACjBA,EAAO,UAAU,aAAe,SAAuBd,EAAQ4G,EAAU,CACvE,OAAA5G,EAASA,IAAW,EACf4G,GAAUF,EAAY1G,EAAQ,EAAG,KAAK,MAAM,EAEzC,KAAKA,CAAM,EAAI,UACnB,KAAKA,EAAS,CAAC,GAAK,GACrB,KAAKA,EAAS,CAAC,GAAK,EACrB,KAAKA,EAAS,CAAC,EACnB,EAEAc,EAAO,UAAU,gBAAkBgG,GAAmB,SAA0B9G,EAAQ,CACtFA,EAASA,IAAW,EACpB+G,GAAe/G,EAAQ,QAAQ,EAC/B,MAAMgH,EAAQ,KAAKhH,CAAM,EACnBiH,EAAO,KAAKjH,EAAS,CAAC,GACxBgH,IAAU,QAAaC,IAAS,SAClCC,GAAYlH,EAAQ,KAAK,OAAS,CAAC,EAGrC,MAAMmH,EAAKH,EACT,KAAK,EAAEhH,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,GAElBoH,EAAK,KAAK,EAAEpH,CAAM,EACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtBiH,EAAO,GAAK,GAEd,OAAO,OAAOE,CAAE,GAAK,OAAOC,CAAE,GAAK,OAAO,EAAE,EAC9C,CAAC,EAEDtG,EAAO,UAAU,gBAAkBgG,GAAmB,SAA0B9G,EAAQ,CACtFA,EAASA,IAAW,EACpB+G,GAAe/G,EAAQ,QAAQ,EAC/B,MAAMgH,EAAQ,KAAKhH,CAAM,EACnBiH,EAAO,KAAKjH,EAAS,CAAC,GACxBgH,IAAU,QAAaC,IAAS,SAClCC,GAAYlH,EAAQ,KAAK,OAAS,CAAC,EAGrC,MAAMoH,EAAKJ,EAAQ,GAAK,GACtB,KAAK,EAAEhH,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAETmH,EAAK,KAAK,EAAEnH,CAAM,EAAI,GAAK,GAC/B,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtBiH,EAEF,OAAQ,OAAOG,CAAE,GAAK,OAAO,EAAE,GAAK,OAAOD,CAAE,CAC/C,CAAC,EAEDrG,EAAO,UAAU,UAAY,SAAoBd,EAAQ3B,EAAYuI,EAAU,CAC7E5G,EAASA,IAAW,EACpB3B,EAAaA,IAAe,EACvBuI,GAAUF,EAAY1G,EAAQ3B,EAAY,KAAK,MAAM,EAE1D,IAAIhH,EAAM,KAAK2I,CAAM,EACjB6G,EAAM,EACN7V,EAAI,EACR,KAAO,EAAEA,EAAIqN,IAAewI,GAAO,MACjCxP,GAAO,KAAK2I,EAAShP,CAAC,EAAI6V,EAE5B,OAAAA,GAAO,IAEHxP,GAAOwP,IAAKxP,GAAO,KAAK,IAAI,EAAG,EAAIgH,CAAU,GAE1ChH,CACT,EAEAyJ,EAAO,UAAU,UAAY,SAAoBd,EAAQ3B,EAAYuI,EAAU,CAC7E5G,EAASA,IAAW,EACpB3B,EAAaA,IAAe,EACvBuI,GAAUF,EAAY1G,EAAQ3B,EAAY,KAAK,MAAM,EAE1D,IAAIrN,EAAIqN,EACJwI,EAAM,EACNxP,EAAM,KAAK2I,EAAS,EAAEhP,CAAC,EAC3B,KAAOA,EAAI,IAAM6V,GAAO,MACtBxP,GAAO,KAAK2I,EAAS,EAAEhP,CAAC,EAAI6V,EAE9B,OAAAA,GAAO,IAEHxP,GAAOwP,IAAKxP,GAAO,KAAK,IAAI,EAAG,EAAIgH,CAAU,GAE1ChH,CACT,EAEAyJ,EAAO,UAAU,SAAW,SAAmBd,EAAQ4G,EAAU,CAG/D,OAFA5G,EAASA,IAAW,EACf4G,GAAUF,EAAY1G,EAAQ,EAAG,KAAK,MAAM,EAC3C,KAAKA,CAAM,EAAI,KACZ,IAAO,KAAKA,CAAM,EAAI,GAAK,GADA,KAAKA,CAAM,CAEjD,EAEAc,EAAO,UAAU,YAAc,SAAsBd,EAAQ4G,EAAU,CACrE5G,EAASA,IAAW,EACf4G,GAAUF,EAAY1G,EAAQ,EAAG,KAAK,MAAM,EACjD,MAAM3I,EAAM,KAAK2I,CAAM,EAAK,KAAKA,EAAS,CAAC,GAAK,EAChD,OAAQ3I,EAAM,MAAUA,EAAM,WAAaA,CAC7C,EAEAyJ,EAAO,UAAU,YAAc,SAAsBd,EAAQ4G,EAAU,CACrE5G,EAASA,IAAW,EACf4G,GAAUF,EAAY1G,EAAQ,EAAG,KAAK,MAAM,EACjD,MAAM3I,EAAM,KAAK2I,EAAS,CAAC,EAAK,KAAKA,CAAM,GAAK,EAChD,OAAQ3I,EAAM,MAAUA,EAAM,WAAaA,CAC7C,EAEAyJ,EAAO,UAAU,YAAc,SAAsBd,EAAQ4G,EAAU,CACrE,OAAA5G,EAASA,IAAW,EACf4G,GAAUF,EAAY1G,EAAQ,EAAG,KAAK,MAAM,EAEzC,KAAKA,CAAM,EAChB,KAAKA,EAAS,CAAC,GAAK,EACpB,KAAKA,EAAS,CAAC,GAAK,GACpB,KAAKA,EAAS,CAAC,GAAK,EACzB,EAEAc,EAAO,UAAU,YAAc,SAAsBd,EAAQ4G,EAAU,CACrE,OAAA5G,EAASA,IAAW,EACf4G,GAAUF,EAAY1G,EAAQ,EAAG,KAAK,MAAM,EAEzC,KAAKA,CAAM,GAAK,GACrB,KAAKA,EAAS,CAAC,GAAK,GACpB,KAAKA,EAAS,CAAC,GAAK,EACpB,KAAKA,EAAS,CAAC,CACpB,EAEAc,EAAO,UAAU,eAAiBgG,GAAmB,SAAyB9G,EAAQ,CACpFA,EAASA,IAAW,EACpB+G,GAAe/G,EAAQ,QAAQ,EAC/B,MAAMgH,EAAQ,KAAKhH,CAAM,EACnBiH,EAAO,KAAKjH,EAAS,CAAC,GACxBgH,IAAU,QAAaC,IAAS,SAClCC,GAAYlH,EAAQ,KAAK,OAAS,CAAC,EAGrC,MAAM3I,EAAM,KAAK2I,EAAS,CAAC,EACzB,KAAKA,EAAS,CAAC,EAAI,GAAK,EACxB,KAAKA,EAAS,CAAC,EAAI,GAAK,IACvBiH,GAAQ,IAEX,OAAQ,OAAO5P,CAAG,GAAK,OAAO,EAAE,GAC9B,OAAO2P,EACP,KAAK,EAAEhH,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EAAE,CAC5B,CAAC,EAEDc,EAAO,UAAU,eAAiBgG,GAAmB,SAAyB9G,EAAQ,CACpFA,EAASA,IAAW,EACpB+G,GAAe/G,EAAQ,QAAQ,EAC/B,MAAMgH,EAAQ,KAAKhH,CAAM,EACnBiH,EAAO,KAAKjH,EAAS,CAAC,GACxBgH,IAAU,QAAaC,IAAS,SAClCC,GAAYlH,EAAQ,KAAK,OAAS,CAAC,EAGrC,MAAM3I,GAAO2P,GAAS,IACpB,KAAK,EAAEhH,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAEf,OAAQ,OAAO3I,CAAG,GAAK,OAAO,EAAE,GAC9B,OAAO,KAAK,EAAE2I,CAAM,EAAI,GAAK,GAC7B,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtBiH,CAAI,CACR,CAAC,EAEDnG,EAAO,UAAU,YAAc,SAAsBd,EAAQ4G,EAAU,CACrE,OAAA5G,EAASA,IAAW,EACf4G,GAAUF,EAAY1G,EAAQ,EAAG,KAAK,MAAM,EAC1CY,EAAU,KAAK,KAAMZ,EAAQ,GAAM,GAAI,CAAC,CACjD,EAEAc,EAAO,UAAU,YAAc,SAAsBd,EAAQ4G,EAAU,CACrE,OAAA5G,EAASA,IAAW,EACf4G,GAAUF,EAAY1G,EAAQ,EAAG,KAAK,MAAM,EAC1CY,EAAU,KAAK,KAAMZ,EAAQ,GAAO,GAAI,CAAC,CAClD,EAEAc,EAAO,UAAU,aAAe,SAAuBd,EAAQ4G,EAAU,CACvE,OAAA5G,EAASA,IAAW,EACf4G,GAAUF,EAAY1G,EAAQ,EAAG,KAAK,MAAM,EAC1CY,EAAU,KAAK,KAAMZ,EAAQ,GAAM,GAAI,CAAC,CACjD,EAEAc,EAAO,UAAU,aAAe,SAAuBd,EAAQ4G,EAAU,CACvE,OAAA5G,EAASA,IAAW,EACf4G,GAAUF,EAAY1G,EAAQ,EAAG,KAAK,MAAM,EAC1CY,EAAU,KAAK,KAAMZ,EAAQ,GAAO,GAAI,CAAC,CAClD,EAEA,SAASqH,EAAU7F,EAAK7O,EAAOqN,EAAQ2G,EAAK1C,EAAKqD,EAAK,CACpD,GAAI,CAACxG,EAAO,SAASU,CAAG,EAAG,MAAM,IAAI,UAAU,6CAA6C,EAC5F,GAAI7O,EAAQsR,GAAOtR,EAAQ2U,EAAK,MAAM,IAAI,WAAW,mCAAmC,EACxF,GAAItH,EAAS2G,EAAMnF,EAAI,OAAQ,MAAM,IAAI,WAAW,oBAAoB,CAC1E,CAEAV,EAAO,UAAU,YACjBA,EAAO,UAAU,YAAc,SAAsBnO,EAAOqN,EAAQ3B,EAAYuI,EAAU,CAIxF,GAHAjU,EAAQ,CAACA,EACTqN,EAASA,IAAW,EACpB3B,EAAaA,IAAe,EACxB,CAACuI,EAAU,CACb,MAAMW,EAAW,KAAK,IAAI,EAAG,EAAIlJ,CAAU,EAAI,EAC/CgJ,EAAS,KAAM1U,EAAOqN,EAAQ3B,EAAYkJ,EAAU,CAAC,CACvD,CAEA,IAAIV,EAAM,EACN7V,EAAI,EAER,IADA,KAAKgP,CAAM,EAAIrN,EAAQ,IAChB,EAAE3B,EAAIqN,IAAewI,GAAO,MACjC,KAAK7G,EAAShP,CAAC,EAAK2B,EAAQkU,EAAO,IAGrC,OAAO7G,EAAS3B,CAClB,EAEAyC,EAAO,UAAU,YACjBA,EAAO,UAAU,YAAc,SAAsBnO,EAAOqN,EAAQ3B,EAAYuI,EAAU,CAIxF,GAHAjU,EAAQ,CAACA,EACTqN,EAASA,IAAW,EACpB3B,EAAaA,IAAe,EACxB,CAACuI,EAAU,CACb,MAAMW,EAAW,KAAK,IAAI,EAAG,EAAIlJ,CAAU,EAAI,EAC/CgJ,EAAS,KAAM1U,EAAOqN,EAAQ3B,EAAYkJ,EAAU,CAAC,CACvD,CAEA,IAAIvW,EAAIqN,EAAa,EACjBwI,EAAM,EAEV,IADA,KAAK7G,EAAShP,CAAC,EAAI2B,EAAQ,IACpB,EAAE3B,GAAK,IAAM6V,GAAO,MACzB,KAAK7G,EAAShP,CAAC,EAAK2B,EAAQkU,EAAO,IAGrC,OAAO7G,EAAS3B,CAClB,EAEAyC,EAAO,UAAU,WACjBA,EAAO,UAAU,WAAa,SAAqBnO,EAAOqN,EAAQ4G,EAAU,CAC1E,OAAAjU,EAAQ,CAACA,EACTqN,EAASA,IAAW,EACf4G,GAAUS,EAAS,KAAM1U,EAAOqN,EAAQ,EAAG,IAAM,CAAC,EACvD,KAAKA,CAAM,EAAKrN,EAAQ,IACjBqN,EAAS,CAClB,EAEAc,EAAO,UAAU,cACjBA,EAAO,UAAU,cAAgB,SAAwBnO,EAAOqN,EAAQ4G,EAAU,CAChF,OAAAjU,EAAQ,CAACA,EACTqN,EAASA,IAAW,EACf4G,GAAUS,EAAS,KAAM1U,EAAOqN,EAAQ,EAAG,MAAQ,CAAC,EACzD,KAAKA,CAAM,EAAKrN,EAAQ,IACxB,KAAKqN,EAAS,CAAC,EAAKrN,IAAU,EACvBqN,EAAS,CAClB,EAEAc,EAAO,UAAU,cACjBA,EAAO,UAAU,cAAgB,SAAwBnO,EAAOqN,EAAQ4G,EAAU,CAChF,OAAAjU,EAAQ,CAACA,EACTqN,EAASA,IAAW,EACf4G,GAAUS,EAAS,KAAM1U,EAAOqN,EAAQ,EAAG,MAAQ,CAAC,EACzD,KAAKA,CAAM,EAAKrN,IAAU,EAC1B,KAAKqN,EAAS,CAAC,EAAKrN,EAAQ,IACrBqN,EAAS,CAClB,EAEAc,EAAO,UAAU,cACjBA,EAAO,UAAU,cAAgB,SAAwBnO,EAAOqN,EAAQ4G,EAAU,CAChF,OAAAjU,EAAQ,CAACA,EACTqN,EAASA,IAAW,EACf4G,GAAUS,EAAS,KAAM1U,EAAOqN,EAAQ,EAAG,WAAY,CAAC,EAC7D,KAAKA,EAAS,CAAC,EAAKrN,IAAU,GAC9B,KAAKqN,EAAS,CAAC,EAAKrN,IAAU,GAC9B,KAAKqN,EAAS,CAAC,EAAKrN,IAAU,EAC9B,KAAKqN,CAAM,EAAKrN,EAAQ,IACjBqN,EAAS,CAClB,EAEAc,EAAO,UAAU,cACjBA,EAAO,UAAU,cAAgB,SAAwBnO,EAAOqN,EAAQ4G,EAAU,CAChF,OAAAjU,EAAQ,CAACA,EACTqN,EAASA,IAAW,EACf4G,GAAUS,EAAS,KAAM1U,EAAOqN,EAAQ,EAAG,WAAY,CAAC,EAC7D,KAAKA,CAAM,EAAKrN,IAAU,GAC1B,KAAKqN,EAAS,CAAC,EAAKrN,IAAU,GAC9B,KAAKqN,EAAS,CAAC,EAAKrN,IAAU,EAC9B,KAAKqN,EAAS,CAAC,EAAKrN,EAAQ,IACrBqN,EAAS,CAClB,EAEA,SAASwH,GAAgBhG,EAAK7O,EAAOqN,EAAQsH,EAAKrD,EAAK,CACrDwD,GAAW9U,EAAO2U,EAAKrD,EAAKzC,EAAKxB,EAAQ,CAAC,EAE1C,IAAImH,EAAK,OAAOxU,EAAQ,OAAO,UAAU,CAAC,EAC1C6O,EAAIxB,GAAQ,EAAImH,EAChBA,EAAKA,GAAM,EACX3F,EAAIxB,GAAQ,EAAImH,EAChBA,EAAKA,GAAM,EACX3F,EAAIxB,GAAQ,EAAImH,EAChBA,EAAKA,GAAM,EACX3F,EAAIxB,GAAQ,EAAImH,EAChB,IAAIC,EAAK,OAAOzU,GAAS,OAAO,EAAE,EAAI,OAAO,UAAU,CAAC,EACxD,OAAA6O,EAAIxB,GAAQ,EAAIoH,EAChBA,EAAKA,GAAM,EACX5F,EAAIxB,GAAQ,EAAIoH,EAChBA,EAAKA,GAAM,EACX5F,EAAIxB,GAAQ,EAAIoH,EAChBA,EAAKA,GAAM,EACX5F,EAAIxB,GAAQ,EAAIoH,EACTpH,CACT,CAEA,SAAS0H,GAAgBlG,EAAK7O,EAAOqN,EAAQsH,EAAKrD,EAAK,CACrDwD,GAAW9U,EAAO2U,EAAKrD,EAAKzC,EAAKxB,EAAQ,CAAC,EAE1C,IAAImH,EAAK,OAAOxU,EAAQ,OAAO,UAAU,CAAC,EAC1C6O,EAAIxB,EAAS,CAAC,EAAImH,EAClBA,EAAKA,GAAM,EACX3F,EAAIxB,EAAS,CAAC,EAAImH,EAClBA,EAAKA,GAAM,EACX3F,EAAIxB,EAAS,CAAC,EAAImH,EAClBA,EAAKA,GAAM,EACX3F,EAAIxB,EAAS,CAAC,EAAImH,EAClB,IAAIC,EAAK,OAAOzU,GAAS,OAAO,EAAE,EAAI,OAAO,UAAU,CAAC,EACxD,OAAA6O,EAAIxB,EAAS,CAAC,EAAIoH,EAClBA,EAAKA,GAAM,EACX5F,EAAIxB,EAAS,CAAC,EAAIoH,EAClBA,EAAKA,GAAM,EACX5F,EAAIxB,EAAS,CAAC,EAAIoH,EAClBA,EAAKA,GAAM,EACX5F,EAAIxB,CAAM,EAAIoH,EACPpH,EAAS,CAClB,CAEAc,EAAO,UAAU,iBAAmBgG,GAAmB,SAA2BnU,EAAOqN,EAAS,EAAG,CACnG,OAAOwH,GAAe,KAAM7U,EAAOqN,EAAQ,OAAO,CAAC,EAAG,OAAO,oBAAoB,CAAC,CACpF,CAAC,EAEDc,EAAO,UAAU,iBAAmBgG,GAAmB,SAA2BnU,EAAOqN,EAAS,EAAG,CACnG,OAAO0H,GAAe,KAAM/U,EAAOqN,EAAQ,OAAO,CAAC,EAAG,OAAO,oBAAoB,CAAC,CACpF,CAAC,EAEDc,EAAO,UAAU,WAAa,SAAqBnO,EAAOqN,EAAQ3B,EAAYuI,EAAU,CAGtF,GAFAjU,EAAQ,CAACA,EACTqN,EAASA,IAAW,EAChB,CAAC4G,EAAU,CACb,MAAMe,EAAQ,KAAK,IAAI,EAAI,EAAItJ,EAAc,CAAC,EAE9CgJ,EAAS,KAAM1U,EAAOqN,EAAQ3B,EAAYsJ,EAAQ,EAAG,CAACA,CAAK,CAC7D,CAEA,IAAI3W,EAAI,EACJ6V,EAAM,EACNe,EAAM,EAEV,IADA,KAAK5H,CAAM,EAAIrN,EAAQ,IAChB,EAAE3B,EAAIqN,IAAewI,GAAO,MAC7BlU,EAAQ,GAAKiV,IAAQ,GAAK,KAAK5H,EAAShP,EAAI,CAAC,IAAM,IACrD4W,EAAM,GAER,KAAK5H,EAAShP,CAAC,GAAM2B,EAAQkU,GAAQ,GAAKe,EAAM,IAGlD,OAAO5H,EAAS3B,CAClB,EAEAyC,EAAO,UAAU,WAAa,SAAqBnO,EAAOqN,EAAQ3B,EAAYuI,EAAU,CAGtF,GAFAjU,EAAQ,CAACA,EACTqN,EAASA,IAAW,EAChB,CAAC4G,EAAU,CACb,MAAMe,EAAQ,KAAK,IAAI,EAAI,EAAItJ,EAAc,CAAC,EAE9CgJ,EAAS,KAAM1U,EAAOqN,EAAQ3B,EAAYsJ,EAAQ,EAAG,CAACA,CAAK,CAC7D,CAEA,IAAI3W,EAAIqN,EAAa,EACjBwI,EAAM,EACNe,EAAM,EAEV,IADA,KAAK5H,EAAShP,CAAC,EAAI2B,EAAQ,IACpB,EAAE3B,GAAK,IAAM6V,GAAO,MACrBlU,EAAQ,GAAKiV,IAAQ,GAAK,KAAK5H,EAAShP,EAAI,CAAC,IAAM,IACrD4W,EAAM,GAER,KAAK5H,EAAShP,CAAC,GAAM2B,EAAQkU,GAAQ,GAAKe,EAAM,IAGlD,OAAO5H,EAAS3B,CAClB,EAEAyC,EAAO,UAAU,UAAY,SAAoBnO,EAAOqN,EAAQ4G,EAAU,CACxE,OAAAjU,EAAQ,CAACA,EACTqN,EAASA,IAAW,EACf4G,GAAUS,EAAS,KAAM1U,EAAOqN,EAAQ,EAAG,IAAM,IAAK,EACvDrN,EAAQ,IAAGA,EAAQ,IAAOA,EAAQ,GACtC,KAAKqN,CAAM,EAAKrN,EAAQ,IACjBqN,EAAS,CAClB,EAEAc,EAAO,UAAU,aAAe,SAAuBnO,EAAOqN,EAAQ4G,EAAU,CAC9E,OAAAjU,EAAQ,CAACA,EACTqN,EAASA,IAAW,EACf4G,GAAUS,EAAS,KAAM1U,EAAOqN,EAAQ,EAAG,MAAQ,MAAO,EAC/D,KAAKA,CAAM,EAAKrN,EAAQ,IACxB,KAAKqN,EAAS,CAAC,EAAKrN,IAAU,EACvBqN,EAAS,CAClB,EAEAc,EAAO,UAAU,aAAe,SAAuBnO,EAAOqN,EAAQ4G,EAAU,CAC9E,OAAAjU,EAAQ,CAACA,EACTqN,EAASA,IAAW,EACf4G,GAAUS,EAAS,KAAM1U,EAAOqN,EAAQ,EAAG,MAAQ,MAAO,EAC/D,KAAKA,CAAM,EAAKrN,IAAU,EAC1B,KAAKqN,EAAS,CAAC,EAAKrN,EAAQ,IACrBqN,EAAS,CAClB,EAEAc,EAAO,UAAU,aAAe,SAAuBnO,EAAOqN,EAAQ4G,EAAU,CAC9E,OAAAjU,EAAQ,CAACA,EACTqN,EAASA,IAAW,EACf4G,GAAUS,EAAS,KAAM1U,EAAOqN,EAAQ,EAAG,WAAY,WAAW,EACvE,KAAKA,CAAM,EAAKrN,EAAQ,IACxB,KAAKqN,EAAS,CAAC,EAAKrN,IAAU,EAC9B,KAAKqN,EAAS,CAAC,EAAKrN,IAAU,GAC9B,KAAKqN,EAAS,CAAC,EAAKrN,IAAU,GACvBqN,EAAS,CAClB,EAEAc,EAAO,UAAU,aAAe,SAAuBnO,EAAOqN,EAAQ4G,EAAU,CAC9E,OAAAjU,EAAQ,CAACA,EACTqN,EAASA,IAAW,EACf4G,GAAUS,EAAS,KAAM1U,EAAOqN,EAAQ,EAAG,WAAY,WAAW,EACnErN,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GAC5C,KAAKqN,CAAM,EAAKrN,IAAU,GAC1B,KAAKqN,EAAS,CAAC,EAAKrN,IAAU,GAC9B,KAAKqN,EAAS,CAAC,EAAKrN,IAAU,EAC9B,KAAKqN,EAAS,CAAC,EAAKrN,EAAQ,IACrBqN,EAAS,CAClB,EAEAc,EAAO,UAAU,gBAAkBgG,GAAmB,SAA0BnU,EAAOqN,EAAS,EAAG,CACjG,OAAOwH,GAAe,KAAM7U,EAAOqN,EAAQ,CAAC,OAAO,oBAAoB,EAAG,OAAO,oBAAoB,CAAC,CACxG,CAAC,EAEDc,EAAO,UAAU,gBAAkBgG,GAAmB,SAA0BnU,EAAOqN,EAAS,EAAG,CACjG,OAAO0H,GAAe,KAAM/U,EAAOqN,EAAQ,CAAC,OAAO,oBAAoB,EAAG,OAAO,oBAAoB,CAAC,CACxG,CAAC,EAED,SAAS6H,GAAcrG,EAAK7O,EAAOqN,EAAQ2G,EAAK1C,EAAKqD,EAAK,CACxD,GAAItH,EAAS2G,EAAMnF,EAAI,OAAQ,MAAM,IAAI,WAAW,oBAAoB,EACxE,GAAIxB,EAAS,EAAG,MAAM,IAAI,WAAW,oBAAoB,CAC3D,CAEA,SAAS8H,GAAYtG,EAAK7O,EAAOqN,EAAQ+H,EAAcnB,EAAU,CAC/D,OAAAjU,EAAQ,CAACA,EACTqN,EAASA,IAAW,EACf4G,GACHiB,GAAarG,EAAK7O,EAAOqN,EAAQ,CAAC,EAEpCY,EAAU,MAAMY,EAAK7O,EAAOqN,EAAQ+H,EAAc,GAAI,CAAC,EAChD/H,EAAS,CAClB,CAEAc,EAAO,UAAU,aAAe,SAAuBnO,EAAOqN,EAAQ4G,EAAU,CAC9E,OAAOkB,GAAW,KAAMnV,EAAOqN,EAAQ,GAAM4G,CAAQ,CACvD,EAEA9F,EAAO,UAAU,aAAe,SAAuBnO,EAAOqN,EAAQ4G,EAAU,CAC9E,OAAOkB,GAAW,KAAMnV,EAAOqN,EAAQ,GAAO4G,CAAQ,CACxD,EAEA,SAASoB,GAAaxG,EAAK7O,EAAOqN,EAAQ+H,EAAcnB,EAAU,CAChE,OAAAjU,EAAQ,CAACA,EACTqN,EAASA,IAAW,EACf4G,GACHiB,GAAarG,EAAK7O,EAAOqN,EAAQ,CAAC,EAEpCY,EAAU,MAAMY,EAAK7O,EAAOqN,EAAQ+H,EAAc,GAAI,CAAC,EAChD/H,EAAS,CAClB,CAEAc,EAAO,UAAU,cAAgB,SAAwBnO,EAAOqN,EAAQ4G,EAAU,CAChF,OAAOoB,GAAY,KAAMrV,EAAOqN,EAAQ,GAAM4G,CAAQ,CACxD,EAEA9F,EAAO,UAAU,cAAgB,SAAwBnO,EAAOqN,EAAQ4G,EAAU,CAChF,OAAOoB,GAAY,KAAMrV,EAAOqN,EAAQ,GAAO4G,CAAQ,CACzD,EAGA9F,EAAO,UAAU,KAAO,SAAe1D,EAAQ6K,EAAazI,EAAOC,EAAK,CACtE,GAAI,CAACqB,EAAO,SAAS1D,CAAM,EAAG,MAAM,IAAI,UAAU,6BAA6B,EAS/E,GARKoC,IAAOA,EAAQ,GAChB,CAACC,GAAOA,IAAQ,IAAGA,EAAM,KAAK,QAC9BwI,GAAe7K,EAAO,SAAQ6K,EAAc7K,EAAO,QAClD6K,IAAaA,EAAc,GAC5BxI,EAAM,GAAKA,EAAMD,IAAOC,EAAMD,GAG9BC,IAAQD,GACRpC,EAAO,SAAW,GAAK,KAAK,SAAW,EAAG,MAAO,GAGrD,GAAI6K,EAAc,EAChB,MAAM,IAAI,WAAW,2BAA2B,EAElD,GAAIzI,EAAQ,GAAKA,GAAS,KAAK,OAAQ,MAAM,IAAI,WAAW,oBAAoB,EAChF,GAAIC,EAAM,EAAG,MAAM,IAAI,WAAW,yBAAyB,EAGvDA,EAAM,KAAK,SAAQA,EAAM,KAAK,QAC9BrC,EAAO,OAAS6K,EAAcxI,EAAMD,IACtCC,EAAMrC,EAAO,OAAS6K,EAAczI,GAGtC,MAAMvG,EAAMwG,EAAMD,EAElB,OAAI,OAASpC,GAAU,OAAO6D,EAAiB,UAAU,YAAe,WAEtE,KAAK,WAAWgH,EAAazI,EAAOC,CAAG,EAEvCwB,EAAiB,UAAU,IAAI,KAC7B7D,EACA,KAAK,SAASoC,EAAOC,CAAG,EACxBwI,CACP,EAGUhP,CACT,EAMA6H,EAAO,UAAU,KAAO,SAAezJ,EAAKmI,EAAOC,EAAK8C,EAAU,CAEhE,GAAI,OAAOlL,GAAQ,SAAU,CAS3B,GARI,OAAOmI,GAAU,UACnB+C,EAAW/C,EACXA,EAAQ,EACRC,EAAM,KAAK,QACF,OAAOA,GAAQ,WACxB8C,EAAW9C,EACXA,EAAM,KAAK,QAET8C,IAAa,QAAa,OAAOA,GAAa,SAChD,MAAM,IAAI,UAAU,2BAA2B,EAEjD,GAAI,OAAOA,GAAa,UAAY,CAACzB,EAAO,WAAWyB,CAAQ,EAC7D,MAAM,IAAI,UAAU,qBAAuBA,CAAQ,EAErD,GAAIlL,EAAI,SAAW,EAAG,CACpB,MAAMsH,EAAOtH,EAAI,WAAW,CAAC,GACxBkL,IAAa,QAAU5D,EAAO,KAC/B4D,IAAa,YAEflL,EAAMsH,EAEV,CACF,MAAW,OAAOtH,GAAQ,SACxBA,EAAMA,EAAM,IACH,OAAOA,GAAQ,YACxBA,EAAM,OAAOA,CAAG,GAIlB,GAAImI,EAAQ,GAAK,KAAK,OAASA,GAAS,KAAK,OAASC,EACpD,MAAM,IAAI,WAAW,oBAAoB,EAG3C,GAAIA,GAAOD,EACT,OAAO,KAGTA,EAAQA,IAAU,EAClBC,EAAMA,IAAQ,OAAY,KAAK,OAASA,IAAQ,EAE3CpI,IAAKA,EAAM,GAEhB,IAAIrG,EACJ,GAAI,OAAOqG,GAAQ,SACjB,IAAKrG,EAAIwO,EAAOxO,EAAIyO,EAAK,EAAEzO,EACzB,KAAKA,CAAC,EAAIqG,MAEP,CACL,MAAMmP,EAAQ1F,EAAO,SAASzJ,CAAG,EAC7BA,EACAyJ,EAAO,KAAKzJ,EAAKkL,CAAQ,EACvBtJ,EAAMuN,EAAM,OAClB,GAAIvN,IAAQ,EACV,MAAM,IAAI,UAAU,cAAgB5B,EAClC,mCAAmC,EAEvC,IAAKrG,EAAI,EAAGA,EAAIyO,EAAMD,EAAO,EAAExO,EAC7B,KAAKA,EAAIwO,CAAK,EAAIgH,EAAMxV,EAAIiI,CAAG,CAEnC,CAEA,OAAO,IACT,EAMA,MAAMiP,GAAS,CAAA,EACf,SAASC,GAAGC,EAAKC,EAAYC,EAAM,CACjCJ,GAAOE,CAAG,EAAI,cAAwBE,CAAK,CACzC,aAAe,CACb,MAAK,EAEL,OAAO,eAAe,KAAM,UAAW,CACrC,MAAOD,EAAW,MAAM,KAAM,SAAS,EACvC,SAAU,GACV,aAAc,EACvB,CAAQ,EAGD,KAAK,KAAO,GAAG,KAAK,IAAI,KAAKD,CAAG,IAGhC,KAAK,MAEL,OAAO,KAAK,IACd,CAEA,IAAI,MAAQ,CACV,OAAOA,CACT,CAEA,IAAI,KAAMzV,EAAO,CACf,OAAO,eAAe,KAAM,OAAQ,CAClC,aAAc,GACd,WAAY,GACZ,MAAAA,EACA,SAAU,EACnB,CAAQ,CACH,CAEA,UAAY,CACV,MAAO,GAAG,KAAK,IAAI,KAAKyV,CAAG,MAAM,KAAK,OAAO,EAC/C,CACL,CACC,CAEAD,GAAE,2BACA,SAAU9L,EAAM,CACd,OAAIA,EACK,GAAGA,CAAI,+BAGT,gDACT,EAAG,UAAU,EACf8L,GAAE,uBACA,SAAU9L,EAAMqG,EAAQ,CACtB,MAAO,QAAQrG,CAAI,oDAAoD,OAAOqG,CAAM,EACtF,EAAG,SAAS,EACdyF,GAAE,mBACA,SAAUpR,EAAKwR,EAAOC,EAAO,CAC3B,IAAIC,EAAM,iBAAiB1R,CAAG,qBAC1B2R,EAAWF,EACf,OAAI,OAAO,UAAUA,CAAK,GAAK,KAAK,IAAIA,CAAK,EAAI,GAAK,GACpDE,EAAWC,GAAsB,OAAOH,CAAK,CAAC,EACrC,OAAOA,GAAU,WAC1BE,EAAW,OAAOF,CAAK,GACnBA,EAAQ,OAAO,CAAC,GAAK,OAAO,EAAE,GAAKA,EAAQ,EAAE,OAAO,CAAC,GAAK,OAAO,EAAE,MACrEE,EAAWC,GAAsBD,CAAQ,GAE3CA,GAAY,KAEdD,GAAO,eAAeF,CAAK,cAAcG,CAAQ,GAC1CD,CACT,EAAG,UAAU,EAEf,SAASE,GAAuBtR,EAAK,CACnC,IAAIsO,EAAM,GACN,EAAItO,EAAI,OACZ,MAAMmI,EAAQnI,EAAI,CAAC,IAAM,IAAM,EAAI,EACnC,KAAO,GAAKmI,EAAQ,EAAG,GAAK,EAC1BmG,EAAM,IAAItO,EAAI,MAAM,EAAI,EAAG,CAAC,CAAC,GAAGsO,CAAG,GAErC,MAAO,GAAGtO,EAAI,MAAM,EAAG,CAAC,CAAC,GAAGsO,CAAG,EACjC,CAKA,SAASiD,GAAapH,EAAKxB,EAAQ3B,EAAY,CAC7C0I,GAAe/G,EAAQ,QAAQ,GAC3BwB,EAAIxB,CAAM,IAAM,QAAawB,EAAIxB,EAAS3B,CAAU,IAAM,SAC5D6I,GAAYlH,EAAQwB,EAAI,QAAUnD,EAAa,EAAE,CAErD,CAEA,SAASoJ,GAAY9U,EAAO2U,EAAKrD,EAAKzC,EAAKxB,EAAQ3B,EAAY,CAC7D,GAAI1L,EAAQsR,GAAOtR,EAAQ2U,EAAK,CAC9B,MAAM1W,EAAI,OAAO0W,GAAQ,SAAW,IAAM,GAC1C,IAAIiB,EAEF,MAAIjB,IAAQ,GAAKA,IAAQ,OAAO,CAAC,EAC/BiB,EAAQ,OAAO3X,CAAC,WAAWA,CAAC,QAAQyN,EAAa,GAAK,CAAC,GAAGzN,CAAC,GAE3D2X,EAAQ,SAAS3X,CAAC,QAAQyN,EAAa,GAAK,EAAI,CAAC,GAAGzN,CAAC,iBACzCyN,EAAa,GAAK,EAAI,CAAC,GAAGzN,CAAC,GAKrC,IAAIsX,GAAO,iBAAiB,QAASK,EAAO5V,CAAK,CACzD,CACAiW,GAAYpH,EAAKxB,EAAQ3B,CAAU,CACrC,CAEA,SAAS0I,GAAgBpU,EAAO0J,EAAM,CACpC,GAAI,OAAO1J,GAAU,SACnB,MAAM,IAAIuV,GAAO,qBAAqB7L,EAAM,SAAU1J,CAAK,CAE/D,CAEA,SAASuU,GAAavU,EAAO4O,EAAQtL,EAAM,CACzC,MAAI,KAAK,MAAMtD,CAAK,IAAMA,GACxBoU,GAAepU,EAAOsD,CAAI,EACpB,IAAIiS,GAAO,iBAAyB,SAAU,aAAcvV,CAAK,GAGrE4O,EAAS,EACL,IAAI2G,GAAO,yBAGb,IAAIA,GAAO,iBAAyB,SACR,eAA6B3G,CAAM,GACnC5O,CAAK,CACzC,CAKA,MAAMkW,GAAoB,oBAE1B,SAASC,GAAa/R,EAAK,CAMzB,GAJAA,EAAMA,EAAI,MAAM,GAAG,EAAE,CAAC,EAEtBA,EAAMA,EAAI,KAAI,EAAG,QAAQ8R,GAAmB,EAAE,EAE1C9R,EAAI,OAAS,EAAG,MAAO,GAE3B,KAAOA,EAAI,OAAS,IAAM,GACxBA,EAAMA,EAAM,IAEd,OAAOA,CACT,CAEA,SAASwM,GAAad,EAAQsG,EAAO,CACnCA,EAAQA,GAAS,IACjB,IAAIlD,EACJ,MAAMtE,EAASkB,EAAO,OACtB,IAAIuG,EAAgB,KACpB,MAAMxC,EAAQ,CAAA,EAEd,QAASxV,EAAI,EAAGA,EAAIuQ,EAAQ,EAAEvQ,EAAG,CAI/B,GAHA6U,EAAYpD,EAAO,WAAWzR,CAAC,EAG3B6U,EAAY,OAAUA,EAAY,MAAQ,CAE5C,GAAI,CAACmD,EAAe,CAElB,GAAInD,EAAY,MAAQ,EAEjBkD,GAAS,GAAK,IAAIvC,EAAM,KAAK,IAAM,IAAM,GAAI,EAClD,QACF,SAAWxV,EAAI,IAAMuQ,EAAQ,EAEtBwH,GAAS,GAAK,IAAIvC,EAAM,KAAK,IAAM,IAAM,GAAI,EAClD,QACF,CAGAwC,EAAgBnD,EAEhB,QACF,CAGA,GAAIA,EAAY,MAAQ,EACjBkD,GAAS,GAAK,IAAIvC,EAAM,KAAK,IAAM,IAAM,GAAI,EAClDwC,EAAgBnD,EAChB,QACF,CAGAA,GAAamD,EAAgB,OAAU,GAAKnD,EAAY,OAAU,KACpE,MAAWmD,IAEJD,GAAS,GAAK,IAAIvC,EAAM,KAAK,IAAM,IAAM,GAAI,EAMpD,GAHAwC,EAAgB,KAGZnD,EAAY,IAAM,CACpB,IAAKkD,GAAS,GAAK,EAAG,MACtBvC,EAAM,KAAKX,CAAS,CACtB,SAAWA,EAAY,KAAO,CAC5B,IAAKkD,GAAS,GAAK,EAAG,MACtBvC,EAAM,KACJX,GAAa,EAAM,IACnBA,EAAY,GAAO,GAC5B,CACK,SAAWA,EAAY,MAAS,CAC9B,IAAKkD,GAAS,GAAK,EAAG,MACtBvC,EAAM,KACJX,GAAa,GAAM,IACnBA,GAAa,EAAM,GAAO,IAC1BA,EAAY,GAAO,GAC5B,CACK,SAAWA,EAAY,QAAU,CAC/B,IAAKkD,GAAS,GAAK,EAAG,MACtBvC,EAAM,KACJX,GAAa,GAAO,IACpBA,GAAa,GAAM,GAAO,IAC1BA,GAAa,EAAM,GAAO,IAC1BA,EAAY,GAAO,GAC5B,CACK,KACE,OAAM,IAAI,MAAM,oBAAoB,CAExC,CAEA,OAAOW,CACT,CAEA,SAASjB,GAAcxO,EAAK,CAC1B,MAAMkS,EAAY,CAAA,EAClB,QAAS,EAAI,EAAG,EAAIlS,EAAI,OAAQ,EAAE,EAEhCkS,EAAU,KAAKlS,EAAI,WAAW,CAAC,EAAI,GAAI,EAEzC,OAAOkS,CACT,CAEA,SAASvD,GAAgB3O,EAAKgS,EAAO,CACnC,IAAIhY,EAAGqW,EAAID,EACX,MAAM8B,EAAY,CAAA,EAClB,QAASjY,EAAI,EAAGA,EAAI+F,EAAI,QACjB,GAAAgS,GAAS,GAAK,GADW,EAAE/X,EAGhCD,EAAIgG,EAAI,WAAW/F,CAAC,EACpBoW,EAAKrW,GAAK,EACVoW,EAAKpW,EAAI,IACTkY,EAAU,KAAK9B,CAAE,EACjB8B,EAAU,KAAK7B,CAAE,EAGnB,OAAO6B,CACT,CAEA,SAASzF,GAAezM,EAAK,CAC3B,OAAO4J,EAAO,YAAYmI,GAAY/R,CAAG,CAAC,CAC5C,CAEA,SAASsO,GAAY6D,EAAKC,EAAKnJ,EAAQuB,EAAQ,CAC7C,IAAIvQ,EACJ,IAAKA,EAAI,EAAGA,EAAIuQ,GACT,EAAAvQ,EAAIgP,GAAUmJ,EAAI,QAAYnY,GAAKkY,EAAI,QADtB,EAAElY,EAExBmY,EAAInY,EAAIgP,CAAM,EAAIkJ,EAAIlY,CAAC,EAEzB,OAAOA,CACT,CAKA,SAAS+Q,EAAYjJ,EAAK7C,EAAM,CAC9B,OAAO6C,aAAe7C,GACnB6C,GAAO,MAAQA,EAAI,aAAe,MAAQA,EAAI,YAAY,MAAQ,MACjEA,EAAI,YAAY,OAAS7C,EAAK,IACpC,CACA,SAAS+M,GAAalK,EAAK,CAEzB,OAAOA,IAAQA,CACjB,CAIA,MAAMyN,IAAuB,UAAY,CACvC,MAAM6C,EAAW,mBACXC,EAAQ,IAAI,MAAM,GAAG,EAC3B,QAAS,EAAI,EAAG,EAAI,GAAI,EAAE,EAAG,CAC3B,MAAMC,EAAM,EAAI,GAChB,QAASvE,EAAI,EAAGA,EAAI,GAAI,EAAEA,EACxBsE,EAAMC,EAAMvE,CAAC,EAAIqE,EAAS,CAAC,EAAIA,EAASrE,CAAC,CAE7C,CACA,OAAOsE,CACT,GAAC,EAGD,SAASvC,GAAoBxQ,EAAI,CAC/B,OAAO,OAAO,OAAW,IAAciT,GAAyBjT,CAClE,CAEA,SAASiT,IAA0B,CACjC,MAAM,IAAI,MAAM,sBAAsB,CACxC,CACD,GAAGpL,EAAM,EAET,MAAM2C,GAAS3C,GAAO,OC/xEtB,SAASqL,EAAWC,EAAS9K,EAAM+K,EAAQC,EAASC,EAAU,CAC5D,MAAM,KAAK,IAAI,EAEX,MAAM,kBACR,MAAM,kBAAkB,KAAM,KAAK,WAAW,EAE9C,KAAK,MAAS,IAAI,MAAK,EAAI,MAG7B,KAAK,QAAUH,EACf,KAAK,KAAO,aACZ9K,IAAS,KAAK,KAAOA,GACrB+K,IAAW,KAAK,OAASA,GACzBC,IAAY,KAAK,QAAUA,GACvBC,IACF,KAAK,SAAWA,EAChB,KAAK,OAASA,EAAS,OAASA,EAAS,OAAS,KAEtD,CAEAC,EAAM,SAASL,EAAY,MAAO,CAChC,OAAQ,UAAkB,CACxB,MAAO,CAEL,QAAS,KAAK,QACd,KAAM,KAAK,KAEX,YAAa,KAAK,YAClB,OAAQ,KAAK,OAEb,SAAU,KAAK,SACf,WAAY,KAAK,WACjB,aAAc,KAAK,aACnB,MAAO,KAAK,MAEZ,OAAQK,EAAM,aAAa,KAAK,MAAM,EACtC,KAAM,KAAK,KACX,OAAQ,KAAK,MACnB,CACE,CACF,CAAC,EAED,MAAM/R,GAAY0R,EAAW,UACvBnP,GAAc,CAAA,EAEpB,CACE,uBACA,iBACA,eACA,YACA,cACA,4BACA,iBACA,mBACA,kBACA,eACA,kBACA,iBAEF,EAAE,QAAQsE,GAAQ,CAChBtE,GAAYsE,CAAI,EAAI,CAAC,MAAOA,CAAI,CAClC,CAAC,EAED,OAAO,iBAAiB6K,EAAYnP,EAAW,EAC/C,OAAO,eAAevC,GAAW,eAAgB,CAAC,MAAO,EAAI,CAAC,EAG9D0R,EAAW,KAAO,CAACM,EAAOnL,EAAM+K,EAAQC,EAASC,EAAUG,IAAgB,CACzE,MAAMC,EAAa,OAAO,OAAOlS,EAAS,EAE1C+R,EAAM,aAAaC,EAAOE,EAAY,SAAgBlR,EAAK,CACzD,OAAOA,IAAQ,MAAM,SACvB,EAAG6B,GACMA,IAAS,cACjB,EAED,MAAM8N,EAAMqB,GAASA,EAAM,QAAUA,EAAM,QAAU,QAG/CG,EAAUtL,GAAQ,MAAQmL,EAAQA,EAAM,KAAOnL,EACrD6K,OAAAA,EAAW,KAAKQ,EAAYvB,EAAKwB,EAASP,EAAQC,EAASC,CAAQ,EAG/DE,GAASE,EAAW,OAAS,MAC/B,OAAO,eAAeA,EAAY,QAAS,CAAE,MAAOF,EAAO,aAAc,GAAM,EAGjFE,EAAW,KAAQF,GAASA,EAAM,MAAS,QAE3CC,GAAe,OAAO,OAAOC,EAAYD,CAAW,EAE7CC,CACT,EC1GA,MAAAE,GAAe,KCaf,SAASC,GAAYrT,EAAO,CAC1B,OAAO+S,EAAM,cAAc/S,CAAK,GAAK+S,EAAM,QAAQ/S,CAAK,CAC1D,CASA,SAASsT,GAAelR,EAAK,CAC3B,OAAO2Q,EAAM,SAAS3Q,EAAK,IAAI,EAAIA,EAAI,MAAM,EAAG,EAAE,EAAIA,CACxD,CAWA,SAASmR,GAAUC,EAAMpR,EAAKqR,EAAM,CAClC,OAAKD,EACEA,EAAK,OAAOpR,CAAG,EAAE,IAAI,SAAcyE,EAAO3M,EAAG,CAElD,OAAA2M,EAAQyM,GAAezM,CAAK,EACrB,CAAC4M,GAAQvZ,EAAI,IAAM2M,EAAQ,IAAMA,CAC1C,CAAC,EAAE,KAAK4M,EAAO,IAAM,EAAE,EALLrR,CAMpB,CASA,SAASsR,GAAY9X,EAAK,CACxB,OAAOmX,EAAM,QAAQnX,CAAG,GAAK,CAACA,EAAI,KAAKyX,EAAW,CACpD,CAEA,MAAMM,GAAaZ,EAAM,aAAaA,EAAO,CAAA,EAAI,KAAM,SAAgBlP,EAAM,CAC3E,MAAO,WAAW,KAAKA,CAAI,CAC7B,CAAC,EAyBD,SAAS+P,GAAW5R,EAAK6R,EAAUC,EAAS,CAC1C,GAAI,CAACf,EAAM,SAAS/Q,CAAG,EACrB,MAAM,IAAI,UAAU,0BAA0B,EAIhD6R,EAAWA,GAAY,IAAyB,SAGhDC,EAAUf,EAAM,aAAae,EAAS,CACpC,WAAY,GACZ,KAAM,GACN,QAAS,EACb,EAAK,GAAO,SAAiBC,EAAQ1N,EAAQ,CAEzC,MAAO,CAAC0M,EAAM,YAAY1M,EAAO0N,CAAM,CAAC,CAC1C,CAAC,EAED,MAAMC,EAAaF,EAAQ,WAErBG,EAAUH,EAAQ,SAAWI,EAC7BT,EAAOK,EAAQ,KACfK,EAAUL,EAAQ,QAElBM,GADQN,EAAQ,MAAQ,OAAO,KAAS,KAAe,OACpCf,EAAM,oBAAoBc,CAAQ,EAE3D,GAAI,CAACd,EAAM,WAAWkB,CAAO,EAC3B,MAAM,IAAI,UAAU,4BAA4B,EAGlD,SAASI,EAAaxY,EAAO,CAC3B,GAAIA,IAAU,KAAM,MAAO,GAE3B,GAAIkX,EAAM,OAAOlX,CAAK,EACpB,OAAOA,EAAM,YAAW,EAG1B,GAAIkX,EAAM,UAAUlX,CAAK,EACvB,OAAOA,EAAM,SAAQ,EAGvB,GAAI,CAACuY,GAAWrB,EAAM,OAAOlX,CAAK,EAChC,MAAM,IAAI6W,EAAW,8CAA8C,EAGrE,OAAIK,EAAM,cAAclX,CAAK,GAAKkX,EAAM,aAAalX,CAAK,EACjDuY,GAAW,OAAO,MAAS,WAAa,IAAI,KAAK,CAACvY,CAAK,CAAC,EAAImO,GAAO,KAAKnO,CAAK,EAG/EA,CACT,CAYA,SAASqY,EAAerY,EAAOuG,EAAKoR,EAAM,CACxC,IAAI5X,EAAMC,EAEV,GAAIA,GAAS,CAAC2X,GAAQ,OAAO3X,GAAU,UACrC,GAAIkX,EAAM,SAAS3Q,EAAK,IAAI,EAE1BA,EAAM4R,EAAa5R,EAAMA,EAAI,MAAM,EAAG,EAAE,EAExCvG,EAAQ,KAAK,UAAUA,CAAK,UAE3BkX,EAAM,QAAQlX,CAAK,GAAK6X,GAAY7X,CAAK,IACxCkX,EAAM,WAAWlX,CAAK,GAAKkX,EAAM,SAAS3Q,EAAK,IAAI,KAAOxG,EAAMmX,EAAM,QAAQlX,CAAK,GAGrF,OAAAuG,EAAMkR,GAAelR,CAAG,EAExBxG,EAAI,QAAQ,SAAc0Y,EAAIC,EAAO,CACnC,EAAExB,EAAM,YAAYuB,CAAE,GAAKA,IAAO,OAAST,EAAS,OAElDM,IAAY,GAAOZ,GAAU,CAACnR,CAAG,EAAGmS,EAAOd,CAAI,EAAKU,IAAY,KAAO/R,EAAMA,EAAM,KACnFiS,EAAaC,CAAE,CAC3B,CACQ,CAAC,EACM,GAIX,OAAIjB,GAAYxX,CAAK,EACZ,IAGTgY,EAAS,OAAON,GAAUC,EAAMpR,EAAKqR,CAAI,EAAGY,EAAaxY,CAAK,CAAC,EAExD,GACT,CAEA,MAAMsK,EAAQ,CAAA,EAERqO,EAAiB,OAAO,OAAOb,GAAY,CAC/C,eAAAO,EACA,aAAAG,EACA,YAAAhB,EACJ,CAAG,EAED,SAASoB,EAAM5Y,EAAO2X,EAAM,CAC1B,GAAIT,CAAAA,EAAM,YAAYlX,CAAK,EAE3B,IAAIsK,EAAM,QAAQtK,CAAK,IAAM,GAC3B,MAAM,MAAM,kCAAoC2X,EAAK,KAAK,GAAG,CAAC,EAGhErN,EAAM,KAAKtK,CAAK,EAEhBkX,EAAM,QAAQlX,EAAO,SAAcyY,EAAIlS,EAAK,EAC3B,EAAE2Q,EAAM,YAAYuB,CAAE,GAAKA,IAAO,OAASL,EAAQ,KAChEJ,EAAUS,EAAIvB,EAAM,SAAS3Q,CAAG,EAAIA,EAAI,KAAI,EAAKA,EAAKoR,EAAMgB,CACpE,KAEqB,IACbC,EAAMH,EAAId,EAAOA,EAAK,OAAOpR,CAAG,EAAI,CAACA,CAAG,CAAC,CAE7C,CAAC,EAED+D,EAAM,IAAG,CAAA,CACX,CAEA,GAAI,CAAC4M,EAAM,SAAS/Q,CAAG,EACrB,MAAM,IAAI,UAAU,wBAAwB,EAG9C,OAAAyS,EAAMzS,CAAG,EAEF6R,CACT,CChNA,SAASa,GAAOzU,EAAK,CACnB,MAAM0U,EAAU,CACd,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,MAAO,IACP,MAAO,IACX,EACE,OAAO,mBAAmB1U,CAAG,EAAE,QAAQ,mBAAoB,SAAkB2U,EAAO,CAClF,OAAOD,EAAQC,CAAK,CACtB,CAAC,CACH,CAUA,SAASC,GAAqBC,EAAQhB,EAAS,CAC7C,KAAK,OAAS,CAAA,EAEdgB,GAAUlB,GAAWkB,EAAQ,KAAMhB,CAAO,CAC5C,CAEA,MAAM9S,GAAY6T,GAAqB,UAEvC7T,GAAU,OAAS,SAAgBuE,EAAM1J,EAAO,CAC9C,KAAK,OAAO,KAAK,CAAC0J,EAAM1J,CAAK,CAAC,CAChC,EAEAmF,GAAU,SAAW,SAAkB+T,EAAS,CAC9C,MAAMC,EAAUD,EAAU,SAASlZ,EAAO,CACxC,OAAOkZ,EAAQ,KAAK,KAAMlZ,EAAO6Y,EAAM,CACzC,EAAIA,GAEJ,OAAO,KAAK,OAAO,IAAI,SAAclQ,EAAM,CACzC,OAAOwQ,EAAQxQ,EAAK,CAAC,CAAC,EAAI,IAAMwQ,EAAQxQ,EAAK,CAAC,CAAC,CACjD,EAAG,EAAE,EAAE,KAAK,GAAG,CACjB,EC1CA,SAASkQ,GAAOnU,EAAK,CACnB,OAAO,mBAAmBA,CAAG,EAC3B,QAAQ,QAAS,GAAG,EACpB,QAAQ,OAAQ,GAAG,EACnB,QAAQ,QAAS,GAAG,EACpB,QAAQ,OAAQ,GAAG,CACvB,CAWe,SAAS0U,GAASC,EAAKJ,EAAQhB,EAAS,CAErD,GAAI,CAACgB,EACH,OAAOI,EAGT,MAAMF,EAAUlB,GAAWA,EAAQ,QAAUY,GAEzC3B,EAAM,WAAWe,CAAO,IAC1BA,EAAU,CACR,UAAWA,CACjB,GAGE,MAAMqB,EAAcrB,GAAWA,EAAQ,UAEvC,IAAIsB,EAUJ,GARID,EACFC,EAAmBD,EAAYL,EAAQhB,CAAO,EAE9CsB,EAAmBrC,EAAM,kBAAkB+B,CAAM,EAC/CA,EAAO,SAAQ,EACf,IAAID,GAAqBC,EAAQhB,CAAO,EAAE,SAASkB,CAAO,EAG1DI,EAAkB,CACpB,MAAMC,EAAgBH,EAAI,QAAQ,GAAG,EAEjCG,IAAkB,KACpBH,EAAMA,EAAI,MAAM,EAAGG,CAAa,GAElCH,IAAQA,EAAI,QAAQ,GAAG,IAAM,GAAK,IAAM,KAAOE,CACjD,CAEA,OAAOF,CACT,CC9DA,MAAMI,EAAmB,CACvB,aAAc,CACZ,KAAK,SAAW,CAAA,CAClB,CAUA,IAAIC,EAAWC,EAAU1B,EAAS,CAChC,OAAA,KAAK,SAAS,KAAK,CACjB,UAAAyB,EACA,SAAAC,EACA,YAAa1B,EAAUA,EAAQ,YAAc,GAC7C,QAASA,EAAUA,EAAQ,QAAU,IAC3C,CAAK,EACM,KAAK,SAAS,OAAS,CAChC,CASA,MAAM2B,EAAI,CACJ,KAAK,SAASA,CAAE,IAClB,KAAK,SAASA,CAAE,EAAI,KAExB,CAOA,OAAQ,CACF,KAAK,WACP,KAAK,SAAW,CAAA,EAEpB,CAYA,QAAQjW,EAAI,CACVuT,EAAM,QAAQ,KAAK,SAAU,SAAwB1X,EAAG,CAClDA,IAAM,MACRmE,EAAGnE,CAAC,CAER,CAAC,CACH,CACF,CClEA,MAAAqa,GAAe,CACb,kBAAmB,GACnB,kBAAmB,GACnB,oBAAqB,EACvB,ECHAC,GAAe,OAAO,gBAAoB,IAAc,gBAAkBd,GCD1Ee,GAAe,OAAO,SAAa,IAAc,SAAW,KCA5DC,GAAe,OAAO,KAAS,IAAc,KAAO,KCEpDC,GAAe,CACb,UAAW,GACX,QAAS,CACX,gBAAIC,GACJ,SAAIC,GACJ,KAAIC,EACJ,EACE,UAAW,CAAC,OAAQ,QAAS,OAAQ,OAAQ,MAAO,MAAM,CAC5D,ECZMC,GAAgB,OAAO,OAAW,KAAe,OAAO,SAAa,IAErEC,GAAa,OAAO,WAAc,UAAY,WAAa,OAmB3DC,GAAwBF,KAC3B,CAACC,IAAc,CAAC,cAAe,eAAgB,IAAI,EAAE,QAAQA,GAAW,OAAO,EAAI,GAWhFE,GAEF,OAAO,kBAAsB,KAE7B,gBAAgB,mBAChB,OAAO,KAAK,eAAkB,WAI5BC,GAASJ,IAAiB,OAAO,SAAS,MAAQ,oNCvCxDK,EAAe,CACb,GAAGxD,GACH,GAAGwD,EACL,ECAe,SAASC,GAAiBzP,EAAM+M,EAAS,CACtD,OAAOF,GAAW7M,EAAM,IAAIwP,EAAS,QAAQ,gBAAmB,CAC9D,QAAS,SAAS1a,EAAOuG,EAAKoR,EAAMiD,EAAS,CAC3C,OAAIF,EAAS,QAAUxD,EAAM,SAASlX,CAAK,GACzC,KAAK,OAAOuG,EAAKvG,EAAM,SAAS,QAAQ,CAAC,EAClC,IAGF4a,EAAQ,eAAe,MAAM,KAAM,SAAS,CACrD,EACA,GAAG3C,CACP,CAAG,CACH,CCPA,SAAS4C,GAAcnR,EAAM,CAK3B,OAAOwN,EAAM,SAAS,gBAAiBxN,CAAI,EAAE,IAAIqP,GACxCA,EAAM,CAAC,IAAM,KAAO,GAAKA,EAAM,CAAC,GAAKA,EAAM,CAAC,CACpD,CACH,CASA,SAAS+B,GAAc/a,EAAK,CAC1B,MAAMoG,EAAM,CAAA,EACNE,EAAO,OAAO,KAAKtG,CAAG,EAC5B,IAAI1B,EACJ,MAAMiI,EAAMD,EAAK,OACjB,IAAIE,EACJ,IAAKlI,EAAI,EAAGA,EAAIiI,EAAKjI,IACnBkI,EAAMF,EAAKhI,CAAC,EACZ8H,EAAII,CAAG,EAAIxG,EAAIwG,CAAG,EAEpB,OAAOJ,CACT,CASA,SAAS4U,GAAe/C,EAAU,CAChC,SAASgD,EAAUrD,EAAM3X,EAAOyK,EAAQiO,EAAO,CAC7C,IAAIhP,EAAOiO,EAAKe,GAAO,EAEvB,GAAIhP,IAAS,YAAa,MAAO,GAEjC,MAAMuR,EAAe,OAAO,SAAS,CAACvR,CAAI,EACpCwR,EAASxC,GAASf,EAAK,OAG7B,OAFAjO,EAAO,CAACA,GAAQwN,EAAM,QAAQzM,CAAM,EAAIA,EAAO,OAASf,EAEpDwR,GACEhE,EAAM,WAAWzM,EAAQf,CAAI,EAC/Be,EAAOf,CAAI,EAAI,CAACe,EAAOf,CAAI,EAAG1J,CAAK,EAEnCyK,EAAOf,CAAI,EAAI1J,EAGV,CAACib,KAGN,CAACxQ,EAAOf,CAAI,GAAK,CAACwN,EAAM,SAASzM,EAAOf,CAAI,CAAC,KAC/Ce,EAAOf,CAAI,EAAI,CAAA,GAGFsR,EAAUrD,EAAM3X,EAAOyK,EAAOf,CAAI,EAAGgP,CAAK,GAE3CxB,EAAM,QAAQzM,EAAOf,CAAI,CAAC,IACtCe,EAAOf,CAAI,EAAIoR,GAAcrQ,EAAOf,CAAI,CAAC,GAGpC,CAACuR,EACV,CAEA,GAAI/D,EAAM,WAAWc,CAAQ,GAAKd,EAAM,WAAWc,EAAS,OAAO,EAAG,CACpE,MAAM7R,EAAM,CAAA,EAEZ+Q,OAAAA,EAAM,aAAac,EAAU,CAACtO,EAAM1J,IAAU,CAC5Cgb,EAAUH,GAAcnR,CAAI,EAAG1J,EAAOmG,EAAK,CAAC,CAC9C,CAAC,EAEMA,CACT,CAEA,OAAO,IACT,CCxEA,SAASgV,GAAgBC,EAAUC,EAAQnC,EAAS,CAClD,GAAIhC,EAAM,SAASkE,CAAQ,EACzB,GAAI,CACF,OAACC,GAAU,KAAK,OAAOD,CAAQ,EACxBlE,EAAM,KAAKkE,CAAQ,CAC5B,OAASld,EAAG,CACV,GAAIA,EAAE,OAAS,cACb,MAAMA,CAEV,CAGF,OAAQgb,GAAW,KAAK,WAAWkC,CAAQ,CAC7C,CAEA,MAAME,GAAW,CAEf,aAAczB,GAEd,QAAS,CAAC,MAAO,OAAQ,OAAO,EAEhC,iBAAkB,CAAC,SAA0B3O,EAAMqQ,EAAS,CAC1D,MAAMC,EAAcD,EAAQ,eAAc,GAAM,GAC1CE,EAAqBD,EAAY,QAAQ,kBAAkB,EAAI,GAC/DE,EAAkBxE,EAAM,SAAShM,CAAI,EAQ3C,GANIwQ,GAAmBxE,EAAM,WAAWhM,CAAI,IAC1CA,EAAO,IAAI,SAASA,CAAI,GAGPgM,EAAM,WAAWhM,CAAI,EAGtC,OAAOuQ,EAAqB,KAAK,UAAUV,GAAe7P,CAAI,CAAC,EAAIA,EAGrE,GAAIgM,EAAM,cAAchM,CAAI,GAC1BgM,EAAM,SAAShM,CAAI,GACnBgM,EAAM,SAAShM,CAAI,GACnBgM,EAAM,OAAOhM,CAAI,GACjBgM,EAAM,OAAOhM,CAAI,GACjBgM,EAAM,iBAAiBhM,CAAI,EAE3B,OAAOA,EAET,GAAIgM,EAAM,kBAAkBhM,CAAI,EAC9B,OAAOA,EAAK,OAEd,GAAIgM,EAAM,kBAAkBhM,CAAI,EAC9B,OAAAqQ,EAAQ,eAAe,kDAAmD,EAAK,EACxErQ,EAAK,SAAQ,EAGtB,IAAI1F,EAEJ,GAAIkW,EAAiB,CACnB,GAAIF,EAAY,QAAQ,mCAAmC,EAAI,GAC7D,OAAOb,GAAiBzP,EAAM,KAAK,cAAc,EAAE,SAAQ,EAG7D,IAAK1F,EAAa0R,EAAM,WAAWhM,CAAI,IAAMsQ,EAAY,QAAQ,qBAAqB,EAAI,GAAI,CAC5F,MAAMG,EAAY,KAAK,KAAO,KAAK,IAAI,SAEvC,OAAO5D,GACLvS,EAAa,CAAC,UAAW0F,CAAI,EAAIA,EACjCyQ,GAAa,IAAIA,EACjB,KAAK,cACf,CACM,CACF,CAEA,OAAID,GAAmBD,GACrBF,EAAQ,eAAe,mBAAoB,EAAK,EACzCJ,GAAgBjQ,CAAI,GAGtBA,CACT,CAAC,EAED,kBAAmB,CAAC,SAA2BA,EAAM,CACnD,MAAM0Q,EAAe,KAAK,cAAgBN,GAAS,aAC7CO,EAAoBD,GAAgBA,EAAa,kBACjDE,EAAgB,KAAK,eAAiB,OAE5C,GAAI5E,EAAM,WAAWhM,CAAI,GAAKgM,EAAM,iBAAiBhM,CAAI,EACvD,OAAOA,EAGT,GAAIA,GAAQgM,EAAM,SAAShM,CAAI,IAAO2Q,GAAqB,CAAC,KAAK,cAAiBC,GAAgB,CAEhG,MAAMC,EAAoB,EADAH,GAAgBA,EAAa,oBACPE,EAEhD,GAAI,CACF,OAAO,KAAK,MAAM5Q,EAAM,KAAK,YAAY,CAC3C,OAAShN,EAAG,CACV,GAAI6d,EACF,MAAI7d,EAAE,OAAS,cACP2Y,EAAW,KAAK3Y,EAAG2Y,EAAW,iBAAkB,KAAM,KAAM,KAAK,QAAQ,EAE3E3Y,CAEV,CACF,CAEA,OAAOgN,CACT,CAAC,EAMD,QAAS,EAET,eAAgB,aAChB,eAAgB,eAEhB,iBAAkB,GAClB,cAAe,GAEf,IAAK,CACH,SAAUwP,EAAS,QAAQ,SAC3B,KAAMA,EAAS,QAAQ,IAC3B,EAEE,eAAgB,SAAwBsB,EAAQ,CAC9C,OAAOA,GAAU,KAAOA,EAAS,GACnC,EAEA,QAAS,CACP,OAAQ,CACN,OAAU,oCACV,eAAgB,MACtB,CACA,CACA,EAEA9E,EAAM,QAAQ,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,OAAO,EAAI+E,GAAW,CAC3EX,GAAS,QAAQW,CAAM,EAAI,CAAA,CAC7B,CAAC,ECxJD,MAAMC,GAAoBhF,EAAM,YAAY,CAC1C,MAAO,gBAAiB,iBAAkB,eAAgB,OAC1D,UAAW,OAAQ,OAAQ,oBAAqB,sBAChD,gBAAiB,WAAY,eAAgB,sBAC7C,UAAW,cAAe,YAC5B,CAAC,EAgBDiF,GAAeC,GAAc,CAC3B,MAAM5J,EAAS,CAAA,EACf,IAAIjM,EACA7B,EACArG,EAEJ,OAAA+d,GAAcA,EAAW,MAAM;AAAA,CAAI,EAAE,QAAQ,SAAgBC,EAAM,CACjEhe,EAAIge,EAAK,QAAQ,GAAG,EACpB9V,EAAM8V,EAAK,UAAU,EAAGhe,CAAC,EAAE,KAAI,EAAG,YAAW,EAC7CqG,EAAM2X,EAAK,UAAUhe,EAAI,CAAC,EAAE,KAAI,EAE5B,EAAA,CAACkI,GAAQiM,EAAOjM,CAAG,GAAK2V,GAAkB3V,CAAG,KAI7CA,IAAQ,aACNiM,EAAOjM,CAAG,EACZiM,EAAOjM,CAAG,EAAE,KAAK7B,CAAG,EAEpB8N,EAAOjM,CAAG,EAAI,CAAC7B,CAAG,EAGpB8N,EAAOjM,CAAG,EAAIiM,EAAOjM,CAAG,EAAIiM,EAAOjM,CAAG,EAAI,KAAO7B,EAAMA,EAE3D,CAAC,EAEM8N,CACT,ECjDM8J,GAAa,OAAO,WAAW,EAErC,SAASC,GAAgBC,EAAQ,CAC/B,OAAOA,GAAU,OAAOA,CAAM,EAAE,KAAI,EAAG,YAAW,CACpD,CAEA,SAASC,GAAezc,EAAO,CAC7B,OAAIA,IAAU,IAASA,GAAS,KACvBA,EAGFkX,EAAM,QAAQlX,CAAK,EAAIA,EAAM,IAAIyc,EAAc,EAAI,OAAOzc,CAAK,CACxE,CAEA,SAAS0c,GAAYtY,EAAK,CACxB,MAAMuY,EAAS,OAAO,OAAO,IAAI,EAC3BC,EAAW,mCACjB,IAAI7D,EAEJ,KAAQA,EAAQ6D,EAAS,KAAKxY,CAAG,GAC/BuY,EAAO5D,EAAM,CAAC,CAAC,EAAIA,EAAM,CAAC,EAG5B,OAAO4D,CACT,CAEA,MAAME,GAAqBzY,GAAQ,iCAAiC,KAAKA,EAAI,MAAM,EAEnF,SAAS0Y,GAAiBjW,EAAS7G,EAAOwc,EAAQ1U,EAAQiV,EAAoB,CAC5E,GAAI7F,EAAM,WAAWpP,CAAM,EACzB,OAAOA,EAAO,KAAK,KAAM9H,EAAOwc,CAAM,EAOxC,GAJIO,IACF/c,EAAQwc,GAGN,EAACtF,EAAM,SAASlX,CAAK,EAEzB,CAAA,GAAIkX,EAAM,SAASpP,CAAM,EACvB,OAAO9H,EAAM,QAAQ8H,CAAM,IAAM,GAGnC,GAAIoP,EAAM,SAASpP,CAAM,EACvB,OAAOA,EAAO,KAAK9H,CAAK,CAAA,CAE5B,CAEA,SAASgd,GAAaR,EAAQ,CAC5B,OAAOA,EAAO,KAAI,EACf,YAAW,EAAG,QAAQ,kBAAmB,CAACle,EAAG2e,EAAM7Y,IAC3C6Y,EAAK,YAAW,EAAK7Y,CAC7B,CACL,CAEA,SAAS8Y,GAAe/W,EAAKqW,EAAQ,CACnC,MAAMW,EAAejG,EAAM,YAAY,IAAMsF,CAAM,EAEnD,CAAC,MAAO,MAAO,KAAK,EAAE,QAAQY,GAAc,CAC1C,OAAO,eAAejX,EAAKiX,EAAaD,EAAc,CACpD,MAAO,SAASE,EAAMC,EAAMC,EAAM,CAChC,OAAO,KAAKH,CAAU,EAAE,KAAK,KAAMZ,EAAQa,EAAMC,EAAMC,CAAI,CAC7D,EACA,aAAc,EACpB,CAAK,CACH,CAAC,CACH,CAEA,IAAAC,EAAA,KAAmB,CACjB,YAAYjC,EAAS,CACnBA,GAAW,KAAK,IAAIA,CAAO,CAC7B,CAEA,IAAIiB,EAAQiB,EAAgBC,EAAS,CACnC,MAAMC,EAAO,KAEb,SAASC,EAAUC,EAAQC,EAASC,EAAU,CAC5C,MAAMC,EAAUzB,GAAgBuB,CAAO,EAEvC,GAAI,CAACE,EACH,MAAM,IAAI,MAAM,wCAAwC,EAG1D,MAAMzX,EAAM2Q,EAAM,QAAQyG,EAAMK,CAAO,GAEpC,CAACzX,GAAOoX,EAAKpX,CAAG,IAAM,QAAawX,IAAa,IAASA,IAAa,QAAaJ,EAAKpX,CAAG,IAAM,MAClGoX,EAAKpX,GAAOuX,CAAO,EAAIrB,GAAeoB,CAAM,EAEhD,CAEA,MAAMI,EAAa,CAAC1C,EAASwC,IAC3B7G,EAAM,QAAQqE,EAAS,CAACsC,EAAQC,IAAYF,EAAUC,EAAQC,EAASC,CAAQ,CAAC,EAElF,GAAI7G,EAAM,cAAcsF,CAAM,GAAKA,aAAkB,KAAK,YACxDyB,EAAWzB,EAAQiB,CAAc,UACzBvG,EAAM,SAASsF,CAAM,IAAMA,EAASA,EAAO,KAAI,IAAO,CAACK,GAAkBL,CAAM,EACvFyB,EAAW9B,GAAaK,CAAM,EAAGiB,CAAc,UACtCvG,EAAM,SAASsF,CAAM,GAAKtF,EAAM,WAAWsF,CAAM,EAAG,CAC7D,IAAIrW,EAAM,GAAI+X,EAAM3X,EACpB,UAAW4X,KAAS3B,EAAQ,CAC1B,GAAI,CAACtF,EAAM,QAAQiH,CAAK,EACtB,MAAM,UAAU,8CAA8C,EAGhEhY,EAAII,EAAM4X,EAAM,CAAC,CAAC,GAAKD,EAAO/X,EAAII,CAAG,GAClC2Q,EAAM,QAAQgH,CAAI,EAAI,CAAC,GAAGA,EAAMC,EAAM,CAAC,CAAC,EAAI,CAACD,EAAMC,EAAM,CAAC,CAAC,EAAKA,EAAM,CAAC,CAC5E,CAEAF,EAAW9X,EAAKsX,CAAc,CAChC,MACEjB,GAAU,MAAQoB,EAAUH,EAAgBjB,EAAQkB,CAAO,EAG7D,OAAO,IACT,CAEA,IAAIlB,EAAQnB,EAAQ,CAGlB,GAFAmB,EAASD,GAAgBC,CAAM,EAE3BA,EAAQ,CACV,MAAMjW,EAAM2Q,EAAM,QAAQ,KAAMsF,CAAM,EAEtC,GAAIjW,EAAK,CACP,MAAMvG,EAAQ,KAAKuG,CAAG,EAEtB,GAAI,CAAC8U,EACH,OAAOrb,EAGT,GAAIqb,IAAW,GACb,OAAOqB,GAAY1c,CAAK,EAG1B,GAAIkX,EAAM,WAAWmE,CAAM,EACzB,OAAOA,EAAO,KAAK,KAAMrb,EAAOuG,CAAG,EAGrC,GAAI2Q,EAAM,SAASmE,CAAM,EACvB,OAAOA,EAAO,KAAKrb,CAAK,EAG1B,MAAM,IAAI,UAAU,wCAAwC,CAC9D,CACF,CACF,CAEA,IAAIwc,EAAQ4B,EAAS,CAGnB,GAFA5B,EAASD,GAAgBC,CAAM,EAE3BA,EAAQ,CACV,MAAMjW,EAAM2Q,EAAM,QAAQ,KAAMsF,CAAM,EAEtC,MAAO,CAAC,EAAEjW,GAAO,KAAKA,CAAG,IAAM,SAAc,CAAC6X,GAAWtB,GAAiB,KAAM,KAAKvW,CAAG,EAAGA,EAAK6X,CAAO,GACzG,CAEA,MAAO,EACT,CAEA,OAAO5B,EAAQ4B,EAAS,CACtB,MAAMT,EAAO,KACb,IAAIU,EAAU,GAEd,SAASC,EAAaR,EAAS,CAG7B,GAFAA,EAAUvB,GAAgBuB,CAAO,EAE7BA,EAAS,CACX,MAAMvX,EAAM2Q,EAAM,QAAQyG,EAAMG,CAAO,EAEnCvX,IAAQ,CAAC6X,GAAWtB,GAAiBa,EAAMA,EAAKpX,CAAG,EAAGA,EAAK6X,CAAO,KACpE,OAAOT,EAAKpX,CAAG,EAEf8X,EAAU,GAEd,CACF,CAEA,OAAInH,EAAM,QAAQsF,CAAM,EACtBA,EAAO,QAAQ8B,CAAY,EAE3BA,EAAa9B,CAAM,EAGd6B,CACT,CAEA,MAAMD,EAAS,CACb,MAAM/X,EAAO,OAAO,KAAK,IAAI,EAC7B,IAAIhI,EAAIgI,EAAK,OACTgY,EAAU,GAEd,KAAOhgB,KAAK,CACV,MAAMkI,EAAMF,EAAKhI,CAAC,GACf,CAAC+f,GAAWtB,GAAiB,KAAM,KAAKvW,CAAG,EAAGA,EAAK6X,EAAS,EAAI,KACjE,OAAO,KAAK7X,CAAG,EACf8X,EAAU,GAEd,CAEA,OAAOA,CACT,CAEA,UAAUE,EAAQ,CAChB,MAAMZ,EAAO,KACPpC,EAAU,CAAA,EAEhBrE,OAAAA,EAAM,QAAQ,KAAM,CAAClX,EAAOwc,IAAW,CACrC,MAAMjW,EAAM2Q,EAAM,QAAQqE,EAASiB,CAAM,EAEzC,GAAIjW,EAAK,CACPoX,EAAKpX,CAAG,EAAIkW,GAAezc,CAAK,EAChC,OAAO2d,EAAKnB,CAAM,EAClB,MACF,CAEA,MAAMgC,EAAaD,EAASvB,GAAaR,CAAM,EAAI,OAAOA,CAAM,EAAE,KAAI,EAElEgC,IAAehC,GACjB,OAAOmB,EAAKnB,CAAM,EAGpBmB,EAAKa,CAAU,EAAI/B,GAAezc,CAAK,EAEvCub,EAAQiD,CAAU,EAAI,EACxB,CAAC,EAEM,IACT,CAEA,UAAUC,EAAS,CACjB,OAAO,KAAK,YAAY,OAAO,KAAM,GAAGA,CAAO,CACjD,CAEA,OAAOC,EAAW,CAChB,MAAMvY,EAAM,OAAO,OAAO,IAAI,EAE9B+Q,OAAAA,EAAM,QAAQ,KAAM,CAAClX,EAAOwc,IAAW,CACrCxc,GAAS,MAAQA,IAAU,KAAUmG,EAAIqW,CAAM,EAAIkC,GAAaxH,EAAM,QAAQlX,CAAK,EAAIA,EAAM,KAAK,IAAI,EAAIA,EAC5G,CAAC,EAEMmG,CACT,CAEA,CAAC,OAAO,QAAQ,GAAI,CAClB,OAAO,OAAO,QAAQ,KAAK,OAAM,CAAE,EAAE,OAAO,QAAQ,EAAC,CACvD,CAEA,UAAW,CACT,OAAO,OAAO,QAAQ,KAAK,OAAM,CAAE,EAAE,IAAI,CAAC,CAACqW,EAAQxc,CAAK,IAAMwc,EAAS,KAAOxc,CAAK,EAAE,KAAK;AAAA,CAAI,CAChG,CAEA,cAAe,CACb,OAAO,KAAK,IAAI,YAAY,GAAK,CAAA,CACnC,CAEA,IAAK,OAAO,WAAW,GAAI,CACzB,MAAO,cACT,CAEA,OAAO,KAAKmE,EAAO,CACjB,OAAOA,aAAiB,KAAOA,EAAQ,IAAI,KAAKA,CAAK,CACvD,CAEA,OAAO,OAAOkQ,KAAUoK,EAAS,CAC/B,MAAMje,EAAW,IAAI,KAAK6T,CAAK,EAE/B,OAAAoK,EAAQ,QAAShU,GAAWjK,EAAS,IAAIiK,CAAM,CAAC,EAEzCjK,CACT,CAEA,OAAO,SAASgc,EAAQ,CAKtB,MAAMmC,GAJY,KAAKrC,EAAU,EAAK,KAAKA,EAAU,EAAI,CACvD,UAAW,CAAA,CACjB,GAEgC,UACtBnX,EAAY,KAAK,UAEvB,SAASyZ,EAAed,EAAS,CAC/B,MAAME,EAAUzB,GAAgBuB,CAAO,EAElCa,EAAUX,CAAO,IACpBd,GAAe/X,EAAW2Y,CAAO,EACjCa,EAAUX,CAAO,EAAI,GAEzB,CAEA9G,OAAAA,EAAM,QAAQsF,CAAM,EAAIA,EAAO,QAAQoC,CAAc,EAAIA,EAAepC,CAAM,EAEvE,IACT,CACF,EAEAqC,EAAa,SAAS,CAAC,eAAgB,iBAAkB,SAAU,kBAAmB,aAAc,eAAe,CAAC,EAGpH3H,EAAM,kBAAkB2H,EAAa,UAAW,CAAC,CAAC,MAAA7e,CAAK,EAAGuG,IAAQ,CAChE,IAAIuY,EAASvY,EAAI,CAAC,EAAE,YAAW,EAAKA,EAAI,MAAM,CAAC,EAC/C,MAAO,CACL,IAAK,IAAMvG,EACX,IAAI+e,EAAa,CACf,KAAKD,CAAM,EAAIC,CACjB,CACJ,CACA,CAAC,EAED7H,EAAM,cAAc2H,CAAY,ECzSjB,SAASG,GAAcC,EAAKhI,EAAU,CACnD,MAAMF,EAAS,MAAQuE,GACjBzU,EAAUoQ,GAAYF,EACtBwE,EAAUsD,EAAa,KAAKhY,EAAQ,OAAO,EACjD,IAAIqE,EAAOrE,EAAQ,KAEnBqQ,OAAAA,EAAM,QAAQ+H,EAAK,SAAmBtb,EAAI,CACxCuH,EAAOvH,EAAG,KAAKoT,EAAQ7L,EAAMqQ,EAAQ,UAAS,EAAItE,EAAWA,EAAS,OAAS,MAAS,CAC1F,CAAC,EAEDsE,EAAQ,UAAS,EAEVrQ,CACT,CCzBe,SAASgU,GAASlf,EAAO,CACtC,MAAO,CAAC,EAAEA,GAASA,EAAM,WAC3B,CCUA,SAASmf,GAAcrI,EAASC,EAAQC,EAAS,CAE/CH,EAAW,KAAK,KAAMC,GAAkB,WAAsBD,EAAW,aAAcE,EAAQC,CAAO,EACtG,KAAK,KAAO,eACd,CAEAE,EAAM,SAASiI,GAAetI,EAAY,CACxC,WAAY,EACd,CAAC,ECTc,SAASuI,GAAOC,EAASC,EAAQrI,EAAU,CACxD,MAAMsI,EAAiBtI,EAAS,OAAO,eACnC,CAACA,EAAS,QAAU,CAACsI,GAAkBA,EAAetI,EAAS,MAAM,EACvEoI,EAAQpI,CAAQ,EAEhBqI,EAAO,IAAIzI,EACT,mCAAqCI,EAAS,OAC9C,CAACJ,EAAW,gBAAiBA,EAAW,gBAAgB,EAAE,KAAK,MAAMI,EAAS,OAAS,GAAG,EAAI,CAAC,EAC/FA,EAAS,OACTA,EAAS,QACTA,CACN,CAAK,CAEL,CCxBe,SAASuI,GAAcnG,EAAK,CACzC,MAAMN,EAAQ,4BAA4B,KAAKM,CAAG,EAClD,OAAON,GAASA,EAAM,CAAC,GAAK,EAC9B,CCGA,SAAS0G,GAAYC,EAAc/K,EAAK,CACtC+K,EAAeA,GAAgB,GAC/B,MAAM7L,EAAQ,IAAI,MAAM6L,CAAY,EAC9BC,EAAa,IAAI,MAAMD,CAAY,EACzC,IAAIE,EAAO,EACPC,EAAO,EACPC,EAEJ,OAAAnL,EAAMA,IAAQ,OAAYA,EAAM,IAEzB,SAAcoL,EAAa,CAChC,MAAMC,EAAM,KAAK,IAAG,EAEdC,EAAYN,EAAWE,CAAI,EAE5BC,IACHA,EAAgBE,GAGlBnM,EAAM+L,CAAI,EAAIG,EACdJ,EAAWC,CAAI,EAAII,EAEnB,IAAI3hB,EAAIwhB,EACJK,EAAa,EAEjB,KAAO7hB,IAAMuhB,GACXM,GAAcrM,EAAMxV,GAAG,EACvBA,EAAIA,EAAIqhB,EASV,GANAE,GAAQA,EAAO,GAAKF,EAEhBE,IAASC,IACXA,GAAQA,EAAO,GAAKH,GAGlBM,EAAMF,EAAgBnL,EACxB,OAGF,MAAMwL,EAASF,GAAaD,EAAMC,EAElC,OAAOE,EAAS,KAAK,MAAMD,EAAa,IAAOC,CAAM,EAAI,MAC3D,CACF,CC9CA,SAASC,GAASzc,EAAI0c,EAAM,CAC1B,IAAIC,EAAY,EACZC,EAAY,IAAOF,EACnBG,EACAC,EAEJ,MAAMC,EAAS,CAACC,EAAMX,EAAM,KAAK,IAAG,IAAO,CACzCM,EAAYN,EACZQ,EAAW,KACPC,IACF,aAAaA,CAAK,EAClBA,EAAQ,MAEV9c,EAAG,GAAGgd,CAAI,CACZ,EAoBA,MAAO,CAlBW,IAAIA,IAAS,CAC7B,MAAMX,EAAM,KAAK,IAAG,EACdG,EAASH,EAAMM,EAChBH,GAAUI,EACbG,EAAOC,EAAMX,CAAG,GAEhBQ,EAAWG,EACNF,IACHA,EAAQ,WAAW,IAAM,CACvBA,EAAQ,KACRC,EAAOF,CAAQ,CACjB,EAAGD,EAAYJ,CAAM,GAG3B,EAEc,IAAMK,GAAYE,EAAOF,CAAQ,CAEvB,CAC1B,CCrCO,MAAMI,GAAuB,CAACC,EAAUC,EAAkBT,EAAO,IAAM,CAC5E,IAAIU,EAAgB,EACpB,MAAMC,EAAevB,GAAY,GAAI,GAAG,EAExC,OAAOW,GAASliB,GAAK,CACnB,MAAM+iB,EAAS/iB,EAAE,OACXgjB,EAAQhjB,EAAE,iBAAmBA,EAAE,MAAQ,OACvCijB,EAAgBF,EAASF,EACzBK,EAAOJ,EAAaG,CAAa,EACjCE,EAAUJ,GAAUC,EAE1BH,EAAgBE,EAEhB,MAAM/V,EAAO,CACX,OAAA+V,EACA,MAAAC,EACA,SAAUA,EAASD,EAASC,EAAS,OACrC,MAAOC,EACP,KAAMC,GAAc,OACpB,UAAWA,GAAQF,GAASG,GAAWH,EAAQD,GAAUG,EAAO,OAChE,MAAOljB,EACP,iBAAkBgjB,GAAS,KAC3B,CAACJ,EAAmB,WAAa,QAAQ,EAAG,EAClD,EAEID,EAAS3V,CAAI,CACf,EAAGmV,CAAI,CACT,EAEaiB,GAAyB,CAACJ,EAAOK,IAAc,CAC1D,MAAMC,EAAmBN,GAAS,KAElC,MAAO,CAAED,GAAWM,EAAU,CAAC,EAAE,CAC/B,iBAAAC,EACA,MAAAN,EACA,OAAAD,CACJ,CAAG,EAAGM,EAAU,CAAC,CAAC,CAClB,EAEaE,GAAkB9d,GAAO,IAAIgd,IAASzJ,EAAM,KAAK,IAAMvT,EAAG,GAAGgd,CAAI,CAAC,ECzC/Ee,GAAehH,EAAS,uBAAyB,CAACD,EAAQkH,IAAYtI,IACpEA,EAAM,IAAI,IAAIA,EAAKqB,EAAS,MAAM,EAGhCD,EAAO,WAAapB,EAAI,UACxBoB,EAAO,OAASpB,EAAI,OACnBsI,GAAUlH,EAAO,OAASpB,EAAI,QAGjC,IAAI,IAAIqB,EAAS,MAAM,EACvBA,EAAS,WAAa,kBAAkB,KAAKA,EAAS,UAAU,SAAS,CAC3E,EAAI,IAAM,GCVVkH,GAAelH,EAAS,sBAGtB,CACE,MAAMhR,EAAM1J,EAAO6hB,EAASlK,EAAMmK,EAAQC,EAAQC,EAAU,CAC1D,GAAI,OAAO,SAAa,IAAa,OAErC,MAAMC,EAAS,CAAC,GAAGvY,CAAI,IAAI,mBAAmB1J,CAAK,CAAC,EAAE,EAElDkX,EAAM,SAAS2K,CAAO,GACxBI,EAAO,KAAK,WAAW,IAAI,KAAKJ,CAAO,EAAE,YAAW,CAAE,EAAE,EAEtD3K,EAAM,SAASS,CAAI,GACrBsK,EAAO,KAAK,QAAQtK,CAAI,EAAE,EAExBT,EAAM,SAAS4K,CAAM,GACvBG,EAAO,KAAK,UAAUH,CAAM,EAAE,EAE5BC,IAAW,IACbE,EAAO,KAAK,QAAQ,EAElB/K,EAAM,SAAS8K,CAAQ,GACzBC,EAAO,KAAK,YAAYD,CAAQ,EAAE,EAGpC,SAAS,OAASC,EAAO,KAAK,IAAI,CACpC,EAEA,KAAKvY,EAAM,CACT,GAAI,OAAO,SAAa,IAAa,OAAO,KAC5C,MAAMqP,EAAQ,SAAS,OAAO,MAAM,IAAI,OAAO,WAAarP,EAAO,UAAU,CAAC,EAC9E,OAAOqP,EAAQ,mBAAmBA,EAAM,CAAC,CAAC,EAAI,IAChD,EAEA,OAAOrP,EAAM,CACX,KAAK,MAAMA,EAAM,GAAI,KAAK,IAAG,EAAK,MAAU,GAAG,CACjD,CACJ,EAKE,CACE,OAAQ,CAAC,EACT,MAAO,CACL,OAAO,IACT,EACA,QAAS,CAAC,CACd,EC1Ce,SAASwY,GAAc7I,EAAK,CAIzC,MAAO,8BAA8B,KAAKA,CAAG,CAC/C,CCJe,SAAS8I,GAAYC,EAASC,EAAa,CACxD,OAAOA,EACHD,EAAQ,QAAQ,SAAU,EAAE,EAAI,IAAMC,EAAY,QAAQ,OAAQ,EAAE,EACpED,CACN,CCCe,SAASE,GAAcF,EAASG,EAAcC,EAAmB,CAC9E,IAAIC,EAAgB,CAACP,GAAcK,CAAY,EAC/C,OAAIH,IAAYK,GAAiBD,GAAqB,IAC7CL,GAAYC,EAASG,CAAY,EAEnCA,CACT,CChBA,MAAMG,GAAmBve,GAAUA,aAAiB0a,EAAe,CAAE,GAAG1a,CAAK,EAAKA,EAWnE,SAASwe,GAAYC,EAASC,EAAS,CAEpDA,EAAUA,GAAW,CAAA,EACrB,MAAM9L,EAAS,CAAA,EAEf,SAAS+L,EAAerY,EAAQD,EAAQxC,EAAMjB,EAAU,CACtD,OAAImQ,EAAM,cAAczM,CAAM,GAAKyM,EAAM,cAAc1M,CAAM,EACpD0M,EAAM,MAAM,KAAK,CAAC,SAAAnQ,CAAQ,EAAG0D,EAAQD,CAAM,EACzC0M,EAAM,cAAc1M,CAAM,EAC5B0M,EAAM,MAAM,CAAA,EAAI1M,CAAM,EACpB0M,EAAM,QAAQ1M,CAAM,EACtBA,EAAO,MAAK,EAEdA,CACT,CAGA,SAASuY,EAAoBnkB,EAAGwI,EAAGY,EAAMjB,EAAU,CACjD,GAAKmQ,EAAM,YAAY9P,CAAC,GAEjB,GAAI,CAAC8P,EAAM,YAAYtY,CAAC,EAC7B,OAAOkkB,EAAe,OAAWlkB,EAAGoJ,EAAMjB,CAAQ,MAFlD,QAAO+b,EAAelkB,EAAGwI,EAAGY,EAAMjB,CAAQ,CAI9C,CAGA,SAASic,EAAiBpkB,EAAGwI,EAAG,CAC9B,GAAI,CAAC8P,EAAM,YAAY9P,CAAC,EACtB,OAAO0b,EAAe,OAAW1b,CAAC,CAEtC,CAGA,SAAS6b,EAAiBrkB,EAAGwI,EAAG,CAC9B,GAAK8P,EAAM,YAAY9P,CAAC,GAEjB,GAAI,CAAC8P,EAAM,YAAYtY,CAAC,EAC7B,OAAOkkB,EAAe,OAAWlkB,CAAC,cAF3BkkB,EAAe,OAAW1b,CAAC,CAItC,CAGA,SAAS8b,EAAgBtkB,EAAGwI,EAAGY,EAAM,CACnC,GAAIA,KAAQ6a,EACV,OAAOC,EAAelkB,EAAGwI,CAAC,EACrB,GAAIY,KAAQ4a,EACjB,OAAOE,EAAe,OAAWlkB,CAAC,CAEtC,CAEA,MAAMukB,EAAW,CACf,IAAKH,EACL,OAAQA,EACR,KAAMA,EACN,QAASC,EACT,iBAAkBA,EAClB,kBAAmBA,EACnB,iBAAkBA,EAClB,QAASA,EACT,eAAgBA,EAChB,gBAAiBA,EACjB,cAAeA,EACf,QAASA,EACT,aAAcA,EACd,eAAgBA,EAChB,eAAgBA,EAChB,iBAAkBA,EAClB,mBAAoBA,EACpB,WAAYA,EACZ,iBAAkBA,EAClB,cAAeA,EACf,eAAgBA,EAChB,UAAWA,EACX,UAAWA,EACX,WAAYA,EACZ,YAAaA,EACb,WAAYA,EACZ,iBAAkBA,EAClB,eAAgBC,EAChB,QAAS,CAACtkB,EAAGwI,EAAGY,IAAS+a,EAAoBL,GAAgB9jB,CAAC,EAAG8jB,GAAgBtb,CAAC,EAAGY,EAAM,EAAI,CACnG,EAEEkP,OAAAA,EAAM,QAAQ,OAAO,KAAK,CAAC,GAAG0L,EAAS,GAAGC,CAAO,CAAC,EAAG,SAA4B7a,EAAM,CACrF,MAAMlB,EAAQqc,EAASnb,CAAI,GAAK+a,EAC1BK,EAActc,EAAM8b,EAAQ5a,CAAI,EAAG6a,EAAQ7a,CAAI,EAAGA,CAAI,EAC3DkP,EAAM,YAAYkM,CAAW,GAAKtc,IAAUoc,IAAqBnM,EAAO/O,CAAI,EAAIob,EACnF,CAAC,EAEMrM,CACT,CChGA,MAAAsM,GAAgBtM,GAAW,CACzB,MAAMuM,EAAYX,GAAY,CAAA,EAAI5L,CAAM,EAExC,GAAI,CAAE,KAAA7L,EAAM,cAAAqY,EAAe,eAAAC,EAAgB,eAAAC,EAAgB,QAAAlI,EAAS,KAAAmI,CAAI,EAAKJ,EAa7E,GAXAA,EAAU,QAAU/H,EAAUsD,EAAa,KAAKtD,CAAO,EAEvD+H,EAAU,IAAMlK,GAASkJ,GAAcgB,EAAU,QAASA,EAAU,IAAKA,EAAU,iBAAiB,EAAGvM,EAAO,OAAQA,EAAO,gBAAgB,EAGzI2M,GACFnI,EAAQ,IAAI,gBAAiB,SAC3B,MAAMmI,EAAK,UAAY,IAAM,KAAOA,EAAK,SAAW,SAAS,mBAAmBA,EAAK,QAAQ,CAAC,EAAI,GAAG,CAC3G,EAGMxM,EAAM,WAAWhM,CAAI,GACvB,GAAIwP,EAAS,uBAAyBA,EAAS,+BAC7Ca,EAAQ,eAAe,MAAS,UACvBrE,EAAM,WAAWhM,EAAK,UAAU,EAAG,CAE5C,MAAMyY,EAAczY,EAAK,WAAU,EAE7B0Y,EAAiB,CAAC,eAAgB,gBAAgB,EACxD,OAAO,QAAQD,CAAW,EAAE,QAAQ,CAAC,CAACpd,EAAK7B,CAAG,IAAM,CAC9Ckf,EAAe,SAASrd,EAAI,YAAW,CAAE,GAC3CgV,EAAQ,IAAIhV,EAAK7B,CAAG,CAExB,CAAC,CACH,EAOF,GAAIgW,EAAS,wBACX6I,GAAiBrM,EAAM,WAAWqM,CAAa,IAAMA,EAAgBA,EAAcD,CAAS,GAExFC,GAAkBA,IAAkB,IAAS7B,GAAgB4B,EAAU,GAAG,GAAI,CAEhF,MAAMO,EAAYL,GAAkBC,GAAkB7B,GAAQ,KAAK6B,CAAc,EAE7EI,GACFtI,EAAQ,IAAIiI,EAAgBK,CAAS,CAEzC,CAGF,OAAOP,CACT,EChDMQ,GAAwB,OAAO,eAAmB,IAExDC,GAAeD,IAAyB,SAAU/M,EAAQ,CACxD,OAAO,IAAI,QAAQ,SAA4BsI,EAASC,EAAQ,CAC9D,MAAM0E,EAAUX,GAActM,CAAM,EACpC,IAAIkN,EAAcD,EAAQ,KAC1B,MAAME,EAAiBrF,EAAa,KAAKmF,EAAQ,OAAO,EAAE,UAAS,EACnE,GAAI,CAAC,aAAAG,EAAc,iBAAAC,EAAkB,mBAAAC,CAAkB,EAAIL,EACvDM,EACAC,EAAiBC,EACjBC,EAAaC,EAEjB,SAASC,GAAO,CACdF,GAAeA,EAAW,EAC1BC,GAAiBA,EAAa,EAE9BV,EAAQ,aAAeA,EAAQ,YAAY,YAAYM,CAAU,EAEjEN,EAAQ,QAAUA,EAAQ,OAAO,oBAAoB,QAASM,CAAU,CAC1E,CAEA,IAAItN,EAAU,IAAI,eAElBA,EAAQ,KAAKgN,EAAQ,OAAO,YAAW,EAAIA,EAAQ,IAAK,EAAI,EAG5DhN,EAAQ,QAAUgN,EAAQ,QAE1B,SAASY,GAAY,CACnB,GAAI,CAAC5N,EACH,OAGF,MAAM6N,EAAkBhG,EAAa,KACnC,0BAA2B7H,GAAWA,EAAQ,sBAAqB,CAC3E,EAGYC,EAAW,CACf,KAHmB,CAACkN,GAAgBA,IAAiB,QAAUA,IAAiB,OAChFnN,EAAQ,aAAeA,EAAQ,SAG/B,OAAQA,EAAQ,OAChB,WAAYA,EAAQ,WACpB,QAAS6N,EACT,OAAA9N,EACA,QAAAC,CACR,EAEMoI,GAAO,SAAkBpf,EAAO,CAC9Bqf,EAAQrf,CAAK,EACb2kB,EAAI,CACN,EAAG,SAAiBG,EAAK,CACvBxF,EAAOwF,CAAG,EACVH,EAAI,CACN,EAAG1N,CAAQ,EAGXD,EAAU,IACZ,CAEI,cAAeA,EAEjBA,EAAQ,UAAY4N,EAGpB5N,EAAQ,mBAAqB,UAAsB,CAC7C,CAACA,GAAWA,EAAQ,aAAe,GAQnCA,EAAQ,SAAW,GAAK,EAAEA,EAAQ,aAAeA,EAAQ,YAAY,QAAQ,OAAO,IAAM,IAK9F,WAAW4N,CAAS,CACtB,EAIF5N,EAAQ,QAAU,UAAuB,CAClCA,IAILsI,EAAO,IAAIzI,EAAW,kBAAmBA,EAAW,aAAcE,EAAQC,CAAO,CAAC,EAGlFA,EAAU,KACZ,EAGFA,EAAQ,QAAU,SAAqB/V,EAAO,CAIzC,MAAM6U,EAAM7U,GAASA,EAAM,QAAUA,EAAM,QAAU,gBAC/C6jB,EAAM,IAAIjO,EAAWf,EAAKe,EAAW,YAAaE,EAAQC,CAAO,EAEvE8N,EAAI,MAAQ7jB,GAAS,KACrBqe,EAAOwF,CAAG,EACV9N,EAAU,IACb,EAGAA,EAAQ,UAAY,UAAyB,CAC3C,IAAI+N,EAAsBf,EAAQ,QAAU,cAAgBA,EAAQ,QAAU,cAAgB,mBAC9F,MAAMpI,EAAeoI,EAAQ,cAAgBnK,GACzCmK,EAAQ,sBACVe,EAAsBf,EAAQ,qBAEhC1E,EAAO,IAAIzI,EACTkO,EACAnJ,EAAa,oBAAsB/E,EAAW,UAAYA,EAAW,aACrEE,EACAC,CAAO,CAAC,EAGVA,EAAU,IACZ,EAGAiN,IAAgB,QAAaC,EAAe,eAAe,IAAI,EAG3D,qBAAsBlN,GACxBE,EAAM,QAAQgN,EAAe,OAAM,EAAI,SAA0Bxf,EAAK6B,EAAK,CACzEyQ,EAAQ,iBAAiBzQ,EAAK7B,CAAG,CACnC,CAAC,EAIEwS,EAAM,YAAY8M,EAAQ,eAAe,IAC5ChN,EAAQ,gBAAkB,CAAC,CAACgN,EAAQ,iBAIlCG,GAAgBA,IAAiB,SACnCnN,EAAQ,aAAegN,EAAQ,cAI7BK,IACD,CAACG,EAAmBE,CAAa,EAAI9D,GAAqByD,EAAoB,EAAI,EACnFrN,EAAQ,iBAAiB,WAAYwN,CAAiB,GAIpDJ,GAAoBpN,EAAQ,SAC7B,CAACuN,EAAiBE,CAAW,EAAI7D,GAAqBwD,CAAgB,EAEvEpN,EAAQ,OAAO,iBAAiB,WAAYuN,CAAe,EAE3DvN,EAAQ,OAAO,iBAAiB,UAAWyN,CAAW,IAGpDT,EAAQ,aAAeA,EAAQ,UAGjCM,EAAaU,GAAU,CAChBhO,IAGLsI,EAAO,CAAC0F,GAAUA,EAAO,KAAO,IAAI7F,GAAc,KAAMpI,EAAQC,CAAO,EAAIgO,CAAM,EACjFhO,EAAQ,MAAK,EACbA,EAAU,KACZ,EAEAgN,EAAQ,aAAeA,EAAQ,YAAY,UAAUM,CAAU,EAC3DN,EAAQ,SACVA,EAAQ,OAAO,QAAUM,EAAU,EAAKN,EAAQ,OAAO,iBAAiB,QAASM,CAAU,IAI/F,MAAMW,EAAWzF,GAAcwE,EAAQ,GAAG,EAE1C,GAAIiB,GAAYvK,EAAS,UAAU,QAAQuK,CAAQ,IAAM,GAAI,CAC3D3F,EAAO,IAAIzI,EAAW,wBAA0BoO,EAAW,IAAKpO,EAAW,gBAAiBE,CAAM,CAAC,EACnG,MACF,CAIAC,EAAQ,KAAKiN,GAAe,IAAI,CAClC,CAAC,CACH,ECnMMiB,GAAiB,CAACC,EAASC,IAAY,CAC3C,KAAM,CAAC,OAAAxW,CAAM,EAAKuW,EAAUA,EAAUA,EAAQ,OAAO,OAAO,EAAI,GAEhE,GAAIC,GAAWxW,EAAQ,CACrB,IAAIyW,EAAa,IAAI,gBAEjBC,EAEJ,MAAMC,EAAU,SAAUC,EAAQ,CAChC,GAAI,CAACF,EAAS,CACZA,EAAU,GACVG,EAAW,EACX,MAAMX,EAAMU,aAAkB,MAAQA,EAAS,KAAK,OACpDH,EAAW,MAAMP,aAAejO,EAAaiO,EAAM,IAAI3F,GAAc2F,aAAe,MAAQA,EAAI,QAAUA,CAAG,CAAC,CAChH,CACF,EAEA,IAAIrE,EAAQ2E,GAAW,WAAW,IAAM,CACtC3E,EAAQ,KACR8E,EAAQ,IAAI1O,EAAW,WAAWuO,CAAO,kBAAmBvO,EAAW,SAAS,CAAC,CACnF,EAAGuO,CAAO,EAEV,MAAMK,EAAc,IAAM,CACpBN,IACF1E,GAAS,aAAaA,CAAK,EAC3BA,EAAQ,KACR0E,EAAQ,QAAQO,GAAU,CACxBA,EAAO,YAAcA,EAAO,YAAYH,CAAO,EAAIG,EAAO,oBAAoB,QAASH,CAAO,CAChG,CAAC,EACDJ,EAAU,KAEd,EAEAA,EAAQ,QAASO,GAAWA,EAAO,iBAAiB,QAASH,CAAO,CAAC,EAErE,KAAM,CAAC,OAAAG,CAAM,EAAIL,EAEjB,OAAAK,EAAO,YAAc,IAAMxO,EAAM,KAAKuO,CAAW,EAE1CC,CACT,CACF,EC5CaC,GAAc,UAAWC,EAAOC,EAAW,CACtD,IAAIvf,EAAMsf,EAAM,WAEhB,GAAkBtf,EAAMuf,EAAW,CACjC,MAAMD,EACN,MACF,CAEA,IAAInV,EAAM,EACN3D,EAEJ,KAAO2D,EAAMnK,GACXwG,EAAM2D,EAAMoV,EACZ,MAAMD,EAAM,MAAMnV,EAAK3D,CAAG,EAC1B2D,EAAM3D,CAEV,EAEagZ,GAAY,gBAAiBC,EAAUF,EAAW,CAC7D,gBAAiBD,KAASI,GAAWD,CAAQ,EAC3C,MAAOJ,GAAYC,EAAOC,CAAS,CAEvC,EAEMG,GAAa,gBAAiBC,EAAQ,CAC1C,GAAIA,EAAO,OAAO,aAAa,EAAG,CAChC,MAAOA,EACP,MACF,CAEA,MAAMC,EAASD,EAAO,UAAS,EAC/B,GAAI,CACF,OAAS,CACP,KAAM,CAAC,KAAAtB,EAAM,MAAA3kB,CAAK,EAAI,MAAMkmB,EAAO,KAAI,EACvC,GAAIvB,EACF,MAEF,MAAM3kB,CACR,CACF,SACE,MAAMkmB,EAAO,OAAM,CACrB,CACF,EAEaC,GAAc,CAACF,EAAQJ,EAAWO,EAAYC,IAAa,CACtE,MAAMtiB,EAAW+hB,GAAUG,EAAQJ,CAAS,EAE5C,IAAIhS,EAAQ,EACR8Q,EACA2B,EAAapoB,GAAM,CAChBymB,IACHA,EAAO,GACP0B,GAAYA,EAASnoB,CAAC,EAE1B,EAEA,OAAO,IAAI,eAAe,CACxB,MAAM,KAAKmnB,EAAY,CACrB,GAAI,CACF,KAAM,CAAC,KAAAV,EAAM,MAAA3kB,CAAK,EAAI,MAAM+D,EAAS,KAAI,EAEzC,GAAI4gB,EAAM,CACT2B,EAAS,EACRjB,EAAW,MAAK,EAChB,MACF,CAEA,IAAI/e,EAAMtG,EAAM,WAChB,GAAIomB,EAAY,CACd,IAAIG,EAAc1S,GAASvN,EAC3B8f,EAAWG,CAAW,CACxB,CACAlB,EAAW,QAAQ,IAAI,WAAWrlB,CAAK,CAAC,CAC1C,OAAS8kB,EAAK,CACZ,MAAAwB,EAAUxB,CAAG,EACPA,CACR,CACF,EACA,OAAOU,EAAQ,CACb,OAAAc,EAAUd,CAAM,EACTzhB,EAAS,OAAM,CACxB,CACJ,EAAK,CACD,cAAe,CACnB,CAAG,CACH,EC5EMyiB,GAAqB,GAAK,KAE1B,CAAC,WAAA7hB,EAAU,EAAIuS,EAEfuP,IAAkB,CAAC,CAAC,QAAAC,EAAS,SAAAC,CAAQ,KAAO,CAChD,QAAAD,EAAS,SAAAC,CACX,IAAIzP,EAAM,MAAM,EAEV,CACN,eAAE0P,GAAgB,YAAAC,EAClB,EAAI3P,EAAM,OAGJ4P,GAAO,CAACnjB,KAAOgd,IAAS,CAC5B,GAAI,CACF,MAAO,CAAC,CAAChd,EAAG,GAAGgd,CAAI,CACrB,MAAY,CACV,MAAO,EACT,CACF,EAEMoG,GAAWC,GAAQ,CACvBA,EAAM9P,EAAM,MAAM,KAAK,CACrB,cAAe,EACnB,EAAKuP,GAAgBO,CAAG,EAEtB,KAAM,CAAC,MAAOC,EAAU,QAAAP,EAAS,SAAAC,CAAQ,EAAIK,EACvCE,EAAmBD,EAAWtiB,GAAWsiB,CAAQ,EAAI,OAAO,OAAU,WACtEE,EAAqBxiB,GAAW+hB,CAAO,EACvCU,EAAsBziB,GAAWgiB,CAAQ,EAE/C,GAAI,CAACO,EACH,MAAO,GAGT,MAAMG,EAA4BH,GAAoBviB,GAAWiiB,EAAc,EAEzEU,EAAaJ,IAAqB,OAAOL,IAAgB,YACzD3N,GAAa9U,GAAQ8U,EAAQ,OAAO9U,CAAG,GAAG,IAAIyiB,EAAa,EAC7D,MAAOziB,GAAQ,IAAI,WAAW,MAAM,IAAIsiB,EAAQtiB,CAAG,EAAE,YAAW,CAAE,GAGhEmjB,EAAwBJ,GAAsBE,GAA6BP,GAAK,IAAM,CAC1F,IAAIU,EAAiB,GAErB,MAAMC,EAAiB,IAAIf,EAAQhM,EAAS,OAAQ,CAClD,KAAM,IAAIkM,GACV,OAAQ,OACR,IAAI,QAAS,CACX,OAAAY,EAAiB,GACV,MACT,CACN,CAAK,EAAE,QAAQ,IAAI,cAAc,EAE7B,OAAOA,GAAkB,CAACC,CAC5B,CAAC,EAEKC,EAAyBN,GAAuBC,GACpDP,GAAK,IAAM5P,EAAM,iBAAiB,IAAIyP,EAAS,EAAE,EAAE,IAAI,CAAC,EAEpDgB,EAAY,CAChB,OAAQD,IAA4B1U,GAAQA,EAAI,KACpD,EAEEkU,GACE,CAAC,OAAQ,cAAe,OAAQ,WAAY,QAAQ,EAAE,QAAQ5jB,GAAQ,CACpE,CAACqkB,EAAUrkB,CAAI,IAAMqkB,EAAUrkB,CAAI,EAAI,CAAC0P,EAAK+D,IAAW,CACtD,IAAIkF,EAASjJ,GAAOA,EAAI1P,CAAI,EAE5B,GAAI2Y,EACF,OAAOA,EAAO,KAAKjJ,CAAG,EAGxB,MAAM,IAAI6D,EAAW,kBAAkBvT,CAAI,qBAAsBuT,EAAW,gBAAiBE,CAAM,CACrG,EACF,CAAC,EAGH,MAAM6Q,EAAgB,MAAOC,GAAS,CACpC,GAAIA,GAAQ,KACV,SAGF,GAAI3Q,EAAM,OAAO2Q,CAAI,EACnB,OAAOA,EAAK,KAGd,GAAI3Q,EAAM,oBAAoB2Q,CAAI,EAKhC,OAAQ,MAJS,IAAInB,EAAQhM,EAAS,OAAQ,CAC5C,OAAQ,OACR,KAAAmN,CACR,CAAO,EACsB,YAAW,GAAI,WAGxC,GAAI3Q,EAAM,kBAAkB2Q,CAAI,GAAK3Q,EAAM,cAAc2Q,CAAI,EAC3D,OAAOA,EAAK,WAOd,GAJI3Q,EAAM,kBAAkB2Q,CAAI,IAC9BA,EAAOA,EAAO,IAGZ3Q,EAAM,SAAS2Q,CAAI,EACrB,OAAQ,MAAMP,EAAWO,CAAI,GAAG,UAEpC,EAEMC,EAAoB,MAAOvM,EAASsM,IACzB3Q,EAAM,eAAeqE,EAAQ,iBAAgB,CAAE,GAEtCqM,EAAcC,CAAI,EAG5C,aAAc9Q,GAAW,CACvB,GAAI,CACF,IAAAsC,EACA,OAAA4C,EACA,KAAA/Q,EACA,OAAAwa,EACA,YAAAqC,EACA,QAAA3C,EACA,mBAAAf,GACA,iBAAAD,GACA,aAAAD,EACA,QAAA5I,EACA,gBAAAyM,GAAkB,cAClB,aAAAC,EACN,EAAQ5E,GAActM,CAAM,EAEpBmR,GAASjB,GAAY,MAEzB9C,EAAeA,GAAgBA,EAAe,IAAI,YAAW,EAAK,OAElE,IAAIgE,GAAiBjD,GAAe,CAACQ,EAAQqC,GAAeA,EAAY,eAAe,EAAG3C,CAAO,EAE7FpO,GAAU,KAEd,MAAMyO,EAAc0C,IAAkBA,GAAe,cAAgB,IAAM,CACzEA,GAAe,YAAW,CAC5B,GAEA,IAAIC,GAEJ,GAAI,CACF,GACEhE,IAAoBmD,GAAyBtL,IAAW,OAASA,IAAW,SAC3EmM,GAAuB,MAAMN,EAAkBvM,EAASrQ,CAAI,KAAO,EACpE,CACA,IAAImd,EAAW,IAAI3B,EAAQrN,EAAK,CAC9B,OAAQ,OACR,KAAMnO,EACN,OAAQ,MAClB,CAAS,EAEGod,GAMJ,GAJIpR,EAAM,WAAWhM,CAAI,IAAMod,GAAoBD,EAAS,QAAQ,IAAI,cAAc,IACpF9M,EAAQ,eAAe+M,EAAiB,EAGtCD,EAAS,KAAM,CACjB,KAAM,CAACjC,GAAYmC,CAAK,EAAIjH,GAC1B8G,GACAxH,GAAqBa,GAAe2C,EAAgB,CAAC,CACjE,EAEUlZ,EAAOib,GAAYkC,EAAS,KAAM7B,GAAoBJ,GAAYmC,CAAK,CACzE,CACF,CAEKrR,EAAM,SAAS8Q,EAAe,IACjCA,GAAkBA,GAAkB,UAAY,QAKlD,MAAMQ,EAAyBrB,GAAsB,gBAAiBT,EAAQ,UAExE+B,GAAkB,CACtB,GAAGR,GACH,OAAQE,GACR,OAAQlM,EAAO,YAAW,EAC1B,QAASV,EAAQ,UAAS,EAAG,OAAM,EACnC,KAAMrQ,EACN,OAAQ,OACR,YAAasd,EAAyBR,GAAkB,MAChE,EAEMhR,GAAUmQ,GAAsB,IAAIT,EAAQrN,EAAKoP,EAAe,EAEhE,IAAIxR,EAAW,MAAOkQ,EAAqBe,GAAOlR,GAASiR,EAAY,EAAIC,GAAO7O,EAAKoP,EAAe,GAEtG,MAAMC,GAAmBhB,IAA2BvD,IAAiB,UAAYA,IAAiB,YAElG,GAAIuD,IAA2BrD,IAAuBqE,IAAoBjD,GAAe,CACvF,MAAMxN,EAAU,CAAA,EAEhB,CAAC,SAAU,aAAc,SAAS,EAAE,QAAQjQ,GAAQ,CAClDiQ,EAAQjQ,CAAI,EAAIiP,EAASjP,CAAI,CAC/B,CAAC,EAED,MAAM2gB,GAAwBzR,EAAM,eAAeD,EAAS,QAAQ,IAAI,gBAAgB,CAAC,EAEnF,CAACmP,GAAYmC,CAAK,EAAIlE,IAAsB/C,GAChDqH,GACA/H,GAAqBa,GAAe4C,EAAkB,EAAG,EAAI,CACvE,GAAa,CAAA,EAELpN,EAAW,IAAI0P,EACbR,GAAYlP,EAAS,KAAMuP,GAAoBJ,GAAY,IAAM,CAC/DmC,GAASA,EAAK,EACd9C,GAAeA,EAAW,CAC5B,CAAC,EACDxN,CACV,CACM,CAEAkM,EAAeA,GAAgB,OAE/B,IAAIyE,GAAe,MAAMjB,EAAUzQ,EAAM,QAAQyQ,EAAWxD,CAAY,GAAK,MAAM,EAAElN,EAAUF,CAAM,EAErG,MAAA,CAAC2R,IAAoBjD,GAAeA,EAAW,EAExC,MAAM,IAAI,QAAQ,CAACpG,EAASC,KAAW,CAC5CF,GAAOC,EAASC,GAAQ,CACtB,KAAMsJ,GACN,QAAS/J,EAAa,KAAK5H,EAAS,OAAO,EAC3C,OAAQA,EAAS,OACjB,WAAYA,EAAS,WACrB,OAAAF,EACA,QAAAC,EACV,CAAS,CACH,CAAC,CACH,OAAS8N,EAAK,CAGZ,MAFAW,GAAeA,EAAW,EAEtBX,GAAOA,EAAI,OAAS,aAAe,qBAAqB,KAAKA,EAAI,OAAO,EACpE,OAAO,OACX,IAAIjO,EAAW,gBAAiBA,EAAW,YAAaE,EAAQC,EAAO,EACvE,CACE,MAAO8N,EAAI,OAASA,CAChC,CACA,EAGYjO,EAAW,KAAKiO,EAAKA,GAAOA,EAAI,KAAM/N,EAAQC,EAAO,CAC7D,CACF,CACF,EAEM6R,GAAY,IAAI,IAETC,GAAY/R,GAAW,CAClC,IAAIiQ,EAAOjQ,GAAUA,EAAO,KAAQ,CAAA,EACpC,KAAM,CAAC,MAAAgS,EAAO,QAAArC,EAAS,SAAAC,CAAQ,EAAIK,EAC7BgC,EAAQ,CACZtC,EAASC,EAAUoC,CACvB,EAEE,IAAIziB,EAAM0iB,EAAM,OAAQ3qB,EAAIiI,EAC1B2iB,EAAMxe,EAAQye,EAAML,GAEtB,KAAOxqB,KACL4qB,EAAOD,EAAM3qB,CAAC,EACdoM,EAASye,EAAI,IAAID,CAAI,EAErBxe,IAAW,QAAaye,EAAI,IAAID,EAAMxe,EAAUpM,EAAI,IAAI,IAAQ0oB,GAAQC,CAAG,CAAE,EAE7EkC,EAAMze,EAGR,OAAOA,CACT,EAEgBqe,GAAQ,EC9QxB,MAAMK,GAAgB,CACpB,KAAM5R,GACN,IAAKwM,GACL,MAAO,CACL,IAAKqF,EACT,CACA,EAGAlS,EAAM,QAAQiS,GAAe,CAACxlB,EAAI3D,IAAU,CAC1C,GAAI2D,EAAI,CACN,GAAI,CACF,OAAO,eAAeA,EAAI,OAAQ,CAAE,MAAA3D,CAAK,CAAE,CAC7C,MAAY,CAEZ,CACA,OAAO,eAAe2D,EAAI,cAAe,CAAE,MAAA3D,CAAK,CAAE,CACpD,CACF,CAAC,EAQD,MAAMqpB,GAAgB7D,GAAW,KAAKA,CAAM,GAQtC8D,GAAoBC,GAAYrS,EAAM,WAAWqS,CAAO,GAAKA,IAAY,MAAQA,IAAY,GAYnG,SAASC,GAAWC,EAAU1S,EAAQ,CACpC0S,EAAWvS,EAAM,QAAQuS,CAAQ,EAAIA,EAAW,CAACA,CAAQ,EAEzD,KAAM,CAAE,OAAA7a,CAAM,EAAK6a,EACnB,IAAIC,EACAH,EAEJ,MAAMI,EAAkB,CAAA,EAExB,QAAStrB,EAAI,EAAGA,EAAIuQ,EAAQvQ,IAAK,CAC/BqrB,EAAgBD,EAASprB,CAAC,EAC1B,IAAIub,EAIJ,GAFA2P,EAAUG,EAEN,CAACJ,GAAiBI,CAAa,IACjCH,EAAUJ,IAAevP,EAAK,OAAO8P,CAAa,GAAG,aAAa,EAE9DH,IAAY,QACd,MAAM,IAAI1S,EAAW,oBAAoB+C,CAAE,GAAG,EAIlD,GAAI2P,IAAYrS,EAAM,WAAWqS,CAAO,IAAMA,EAAUA,EAAQ,IAAIxS,CAAM,IACxE,MAGF4S,EAAgB/P,GAAM,IAAMvb,CAAC,EAAIkrB,CACnC,CAEA,GAAI,CAACA,EAAS,CACZ,MAAMK,EAAU,OAAO,QAAQD,CAAe,EAC3C,IAAI,CAAC,CAAC/P,EAAIiQ,CAAK,IAAM,WAAWjQ,CAAE,KAChCiQ,IAAU,GAAQ,sCAAwC,gCACnE,EAEI,IAAIprB,EAAImQ,EACLgb,EAAQ,OAAS,EAAI;AAAA,EAAcA,EAAQ,IAAIP,EAAY,EAAE,KAAK;AAAA,CAAI,EAAI,IAAMA,GAAaO,EAAQ,CAAC,CAAC,EACxG,0BAEF,MAAM,IAAI/S,EACR,wDAA0DpY,EAC1D,iBACN,CACE,CAEA,OAAO8qB,CACT,CAKA,MAAAE,GAAe,CAKf,WAAED,GAMA,SAAUL,EACZ,EC7GA,SAASW,GAA6B/S,EAAQ,CAK5C,GAJIA,EAAO,aACTA,EAAO,YAAY,iBAAgB,EAGjCA,EAAO,QAAUA,EAAO,OAAO,QACjC,MAAM,IAAIoI,GAAc,KAAMpI,CAAM,CAExC,CASe,SAASgT,GAAgBhT,EAAQ,CAC9C,OAAA+S,GAA6B/S,CAAM,EAEnCA,EAAO,QAAU8H,EAAa,KAAK9H,EAAO,OAAO,EAGjDA,EAAO,KAAOiI,GAAc,KAC1BjI,EACAA,EAAO,gBACX,EAEM,CAAC,OAAQ,MAAO,OAAO,EAAE,QAAQA,EAAO,MAAM,IAAM,IACtDA,EAAO,QAAQ,eAAe,oCAAqC,EAAK,EAG1D0S,GAAS,WAAW1S,EAAO,SAAWuE,GAAS,QAASvE,CAAM,EAE/DA,CAAM,EAAE,KAAK,SAA6BE,EAAU,CACjE,OAAA6S,GAA6B/S,CAAM,EAGnCE,EAAS,KAAO+H,GAAc,KAC5BjI,EACAA,EAAO,kBACPE,CACN,EAEIA,EAAS,QAAU4H,EAAa,KAAK5H,EAAS,OAAO,EAE9CA,CACT,EAAG,SAA4BuO,EAAQ,CACrC,OAAKtG,GAASsG,CAAM,IAClBsE,GAA6B/S,CAAM,EAG/ByO,GAAUA,EAAO,WACnBA,EAAO,SAAS,KAAOxG,GAAc,KACnCjI,EACAA,EAAO,kBACPyO,EAAO,QACjB,EACQA,EAAO,SAAS,QAAU3G,EAAa,KAAK2G,EAAO,SAAS,OAAO,IAIhE,QAAQ,OAAOA,CAAM,CAC9B,CAAC,CACH,CChFO,MAAMwE,GAAU,SCKjBC,GAAa,CAAA,EAGnB,CAAC,SAAU,UAAW,SAAU,WAAY,SAAU,QAAQ,EAAE,QAAQ,CAAC3mB,EAAMjF,IAAM,CACnF4rB,GAAW3mB,CAAI,EAAI,SAAmBa,EAAO,CAC3C,OAAO,OAAOA,IAAUb,GAAQ,KAAOjF,EAAI,EAAI,KAAO,KAAOiF,CAC/D,CACF,CAAC,EAED,MAAM4mB,GAAqB,CAAA,EAW3BD,GAAW,aAAe,SAAsBE,EAAWC,EAAStT,EAAS,CAC3E,SAASuT,EAAcC,EAAKC,EAAM,CAChC,MAAO,WAAaP,GAAU,0BAA6BM,EAAM,IAAOC,GAAQzT,EAAU,KAAOA,EAAU,GAC7G,CAGA,MAAO,CAAC9W,EAAOsqB,EAAKE,IAAS,CAC3B,GAAIL,IAAc,GAChB,MAAM,IAAItT,EACRwT,EAAcC,EAAK,qBAAuBF,EAAU,OAASA,EAAU,GAAG,EAC1EvT,EAAW,cACnB,EAGI,OAAIuT,GAAW,CAACF,GAAmBI,CAAG,IACpCJ,GAAmBI,CAAG,EAAI,GAE1B,QAAQ,KACND,EACEC,EACA,+BAAiCF,EAAU,yCACrD,CACA,GAGWD,EAAYA,EAAUnqB,EAAOsqB,EAAKE,CAAI,EAAI,EACnD,CACF,EAEAP,GAAW,SAAW,SAAkBQ,EAAiB,CACvD,MAAO,CAACzqB,EAAOsqB,KAEb,QAAQ,KAAK,GAAGA,CAAG,+BAA+BG,CAAe,EAAE,EAC5D,GAEX,EAYA,SAASC,GAAczS,EAAS0S,EAAQC,EAAc,CACpD,GAAI,OAAO3S,GAAY,SACrB,MAAM,IAAIpB,EAAW,4BAA6BA,EAAW,oBAAoB,EAEnF,MAAMxQ,EAAO,OAAO,KAAK4R,CAAO,EAChC,IAAI5Z,EAAIgI,EAAK,OACb,KAAOhI,KAAM,GAAG,CACd,MAAMisB,EAAMjkB,EAAKhI,CAAC,EACZ8rB,EAAYQ,EAAOL,CAAG,EAC5B,GAAIH,EAAW,CACb,MAAMnqB,EAAQiY,EAAQqS,CAAG,EACnBjpB,EAASrB,IAAU,QAAamqB,EAAUnqB,EAAOsqB,EAAKrS,CAAO,EACnE,GAAI5W,IAAW,GACb,MAAM,IAAIwV,EAAW,UAAYyT,EAAM,YAAcjpB,EAAQwV,EAAW,oBAAoB,EAE9F,QACF,CACA,GAAI+T,IAAiB,GACnB,MAAM,IAAI/T,EAAW,kBAAoByT,EAAKzT,EAAW,cAAc,CAE3E,CACF,CAEA,MAAAsT,GAAe,CACb,cAAAO,GACF,WAAET,EACF,ECvFMA,EAAaE,GAAU,WAS7B,IAAAU,GAAA,KAAY,CACV,YAAYC,EAAgB,CAC1B,KAAK,SAAWA,GAAkB,CAAA,EAClC,KAAK,aAAe,CAClB,QAAS,IAAIrR,GACb,SAAU,IAAIA,EACpB,CACE,CAUA,MAAM,QAAQsR,EAAahU,EAAQ,CACjC,GAAI,CACF,OAAO,MAAM,KAAK,SAASgU,EAAahU,CAAM,CAChD,OAAS+N,EAAK,CACZ,GAAIA,aAAe,MAAO,CACxB,IAAIkG,EAAQ,CAAA,EAEZ,MAAM,kBAAoB,MAAM,kBAAkBA,CAAK,EAAKA,EAAQ,IAAI,MAGxE,MAAM1gB,EAAQ0gB,EAAM,MAAQA,EAAM,MAAM,QAAQ,QAAS,EAAE,EAAI,GAC/D,GAAI,CACGlG,EAAI,MAGExa,GAAS,CAAC,OAAOwa,EAAI,KAAK,EAAE,SAASxa,EAAM,QAAQ,YAAa,EAAE,CAAC,IAC5Ewa,EAAI,OAAS;AAAA,EAAOxa,GAHpBwa,EAAI,MAAQxa,CAKhB,MAAY,CAEZ,CACF,CAEA,MAAMwa,CACR,CACF,CAEA,SAASiG,EAAahU,EAAQ,CAGxB,OAAOgU,GAAgB,UACzBhU,EAASA,GAAU,CAAA,EACnBA,EAAO,IAAMgU,GAEbhU,EAASgU,GAAe,CAAA,EAG1BhU,EAAS4L,GAAY,KAAK,SAAU5L,CAAM,EAE1C,KAAM,CAAC,aAAA6E,EAAc,iBAAAqP,EAAkB,QAAA1P,CAAO,EAAIxE,EAE9C6E,IAAiB,QACnBuO,GAAU,cAAcvO,EAAc,CACpC,kBAAmBqO,EAAW,aAAaA,EAAW,OAAO,EAC7D,kBAAmBA,EAAW,aAAaA,EAAW,OAAO,EAC7D,oBAAqBA,EAAW,aAAaA,EAAW,OAAO,CACvE,EAAS,EAAK,EAGNgB,GAAoB,OAClB/T,EAAM,WAAW+T,CAAgB,EACnClU,EAAO,iBAAmB,CACxB,UAAWkU,CACrB,EAEQd,GAAU,cAAcc,EAAkB,CACxC,OAAQhB,EAAW,SACnB,UAAWA,EAAW,QAChC,EAAW,EAAI,GAKPlT,EAAO,oBAAsB,SAEtB,KAAK,SAAS,oBAAsB,OAC7CA,EAAO,kBAAoB,KAAK,SAAS,kBAEzCA,EAAO,kBAAoB,IAG7BoT,GAAU,cAAcpT,EAAQ,CAC9B,QAASkT,EAAW,SAAS,SAAS,EACtC,cAAeA,EAAW,SAAS,eAAe,CACxD,EAAO,EAAI,EAGPlT,EAAO,QAAUA,EAAO,QAAU,KAAK,SAAS,QAAU,OAAO,YAAW,EAG5E,IAAImU,EAAiB3P,GAAWrE,EAAM,MACpCqE,EAAQ,OACRA,EAAQxE,EAAO,MAAM,CAC3B,EAEIwE,GAAWrE,EAAM,QACf,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,QAAS,QAAQ,EACzD+E,GAAW,CACV,OAAOV,EAAQU,CAAM,CACvB,CACN,EAEIlF,EAAO,QAAU8H,EAAa,OAAOqM,EAAgB3P,CAAO,EAG5D,MAAM4P,EAA0B,CAAA,EAChC,IAAIC,EAAiC,GACrC,KAAK,aAAa,QAAQ,QAAQ,SAAoCC,EAAa,CAC7E,OAAOA,EAAY,SAAY,YAAcA,EAAY,QAAQtU,CAAM,IAAM,KAIjFqU,EAAiCA,GAAkCC,EAAY,YAE/EF,EAAwB,QAAQE,EAAY,UAAWA,EAAY,QAAQ,EAC7E,CAAC,EAED,MAAMC,EAA2B,CAAA,EACjC,KAAK,aAAa,SAAS,QAAQ,SAAkCD,EAAa,CAChFC,EAAyB,KAAKD,EAAY,UAAWA,EAAY,QAAQ,CAC3E,CAAC,EAED,IAAIE,EACAltB,EAAI,EACJiI,EAEJ,GAAI,CAAC8kB,EAAgC,CACnC,MAAMI,EAAQ,CAACzB,GAAgB,KAAK,IAAI,EAAG,MAAS,EAOpD,IANAyB,EAAM,QAAQ,GAAGL,CAAuB,EACxCK,EAAM,KAAK,GAAGF,CAAwB,EACtChlB,EAAMklB,EAAM,OAEZD,EAAU,QAAQ,QAAQxU,CAAM,EAEzB1Y,EAAIiI,GACTilB,EAAUA,EAAQ,KAAKC,EAAMntB,GAAG,EAAGmtB,EAAMntB,GAAG,CAAC,EAG/C,OAAOktB,CACT,CAEAjlB,EAAM6kB,EAAwB,OAE9B,IAAI7H,EAAYvM,EAEhB,KAAO1Y,EAAIiI,GAAK,CACd,MAAMmlB,EAAcN,EAAwB9sB,GAAG,EACzCqtB,EAAaP,EAAwB9sB,GAAG,EAC9C,GAAI,CACFilB,EAAYmI,EAAYnI,CAAS,CACnC,OAASnM,EAAO,CACduU,EAAW,KAAK,KAAMvU,CAAK,EAC3B,KACF,CACF,CAEA,GAAI,CACFoU,EAAUxB,GAAgB,KAAK,KAAMzG,CAAS,CAChD,OAASnM,EAAO,CACd,OAAO,QAAQ,OAAOA,CAAK,CAC7B,CAKA,IAHA9Y,EAAI,EACJiI,EAAMglB,EAAyB,OAExBjtB,EAAIiI,GACTilB,EAAUA,EAAQ,KAAKD,EAAyBjtB,GAAG,EAAGitB,EAAyBjtB,GAAG,CAAC,EAGrF,OAAOktB,CACT,CAEA,OAAOxU,EAAQ,CACbA,EAAS4L,GAAY,KAAK,SAAU5L,CAAM,EAC1C,MAAM4U,EAAWrJ,GAAcvL,EAAO,QAASA,EAAO,IAAKA,EAAO,iBAAiB,EACnF,OAAOqC,GAASuS,EAAU5U,EAAO,OAAQA,EAAO,gBAAgB,CAClE,CACF,EAGAG,EAAM,QAAQ,CAAC,SAAU,MAAO,OAAQ,SAAS,EAAG,SAA6B+E,EAAQ,CAEvF2P,GAAM,UAAU3P,CAAM,EAAI,SAAS5C,EAAKtC,EAAQ,CAC9C,OAAO,KAAK,QAAQ4L,GAAY5L,GAAU,CAAA,EAAI,CAC5C,OAAAkF,EACA,IAAA5C,EACA,MAAOtC,GAAU,IAAI,IAC3B,CAAK,CAAC,CACJ,CACF,CAAC,EAEDG,EAAM,QAAQ,CAAC,OAAQ,MAAO,OAAO,EAAG,SAA+B+E,EAAQ,CAG7E,SAAS4P,EAAmBC,EAAQ,CAClC,OAAO,SAAoBzS,EAAKnO,EAAM6L,EAAQ,CAC5C,OAAO,KAAK,QAAQ4L,GAAY5L,GAAU,CAAA,EAAI,CAC5C,OAAAkF,EACA,QAAS6P,EAAS,CAChB,eAAgB,qBAC1B,EAAY,CAAA,EACJ,IAAAzS,EACA,KAAAnO,CACR,CAAO,CAAC,CACJ,CACF,CAEA0gB,GAAM,UAAU3P,CAAM,EAAI4P,EAAkB,EAE5CD,GAAM,UAAU3P,EAAS,MAAM,EAAI4P,EAAmB,EAAI,CAC5D,CAAC,EClOD,IAAAE,GAAA,MAAMC,EAAY,CAChB,YAAYC,EAAU,CACpB,GAAI,OAAOA,GAAa,WACtB,MAAM,IAAI,UAAU,8BAA8B,EAGpD,IAAIC,EAEJ,KAAK,QAAU,IAAI,QAAQ,SAAyB7M,EAAS,CAC3D6M,EAAiB7M,CACnB,CAAC,EAED,MAAMrU,EAAQ,KAGd,KAAK,QAAQ,KAAKga,GAAU,CAC1B,GAAI,CAACha,EAAM,WAAY,OAEvB,IAAI3M,EAAI2M,EAAM,WAAW,OAEzB,KAAO3M,KAAM,GACX2M,EAAM,WAAW3M,CAAC,EAAE2mB,CAAM,EAE5Bha,EAAM,WAAa,IACrB,CAAC,EAGD,KAAK,QAAQ,KAAOmhB,GAAe,CACjC,IAAIC,EAEJ,MAAMb,EAAU,IAAI,QAAQlM,GAAW,CACrCrU,EAAM,UAAUqU,CAAO,EACvB+M,EAAW/M,CACb,CAAC,EAAE,KAAK8M,CAAW,EAEnB,OAAAZ,EAAQ,OAAS,UAAkB,CACjCvgB,EAAM,YAAYohB,CAAQ,CAC5B,EAEOb,CACT,EAEAU,EAAS,SAAgBnV,EAASC,EAAQC,EAAS,CAC7ChM,EAAM,SAKVA,EAAM,OAAS,IAAImU,GAAcrI,EAASC,EAAQC,CAAO,EACzDkV,EAAelhB,EAAM,MAAM,EAC7B,CAAC,CACH,CAKA,kBAAmB,CACjB,GAAI,KAAK,OACP,MAAM,KAAK,MAEf,CAMA,UAAU6V,EAAU,CAClB,GAAI,KAAK,OAAQ,CACfA,EAAS,KAAK,MAAM,EACpB,MACF,CAEI,KAAK,WACP,KAAK,WAAW,KAAKA,CAAQ,EAE7B,KAAK,WAAa,CAACA,CAAQ,CAE/B,CAMA,YAAYA,EAAU,CACpB,GAAI,CAAC,KAAK,WACR,OAEF,MAAMnI,EAAQ,KAAK,WAAW,QAAQmI,CAAQ,EAC1CnI,IAAU,IACZ,KAAK,WAAW,OAAOA,EAAO,CAAC,CAEnC,CAEA,eAAgB,CACd,MAAM2M,EAAa,IAAI,gBAEjBgH,EAASvH,GAAQ,CACrBO,EAAW,MAAMP,CAAG,CACtB,EAEA,OAAA,KAAK,UAAUuH,CAAK,EAEpBhH,EAAW,OAAO,YAAc,IAAM,KAAK,YAAYgH,CAAK,EAErDhH,EAAW,MACpB,CAMA,OAAO,QAAS,CACd,IAAIL,EAIJ,MAAO,CACL,MAJY,IAAIgH,GAAY,SAAkB5tB,EAAG,CACjD4mB,EAAS5mB,CACX,CAAC,EAGC,OAAA4mB,CACN,CACE,CACF,EC7Ge,SAASsH,GAAOC,EAAU,CACvC,OAAO,SAAcxsB,EAAK,CACxB,OAAOwsB,EAAS,MAAM,KAAMxsB,CAAG,CACjC,CACF,CChBe,SAASysB,GAAaC,EAAS,CAC5C,OAAOvV,EAAM,SAASuV,CAAO,GAAMA,EAAQ,eAAiB,EAC9D,CCbA,MAAMC,GAAiB,CACrB,SAAU,IACV,mBAAoB,IACpB,WAAY,IACZ,WAAY,IACZ,GAAI,IACJ,QAAS,IACT,SAAU,IACV,4BAA6B,IAC7B,UAAW,IACX,aAAc,IACd,eAAgB,IAChB,YAAa,IACb,gBAAiB,IACjB,OAAQ,IACR,gBAAiB,IACjB,iBAAkB,IAClB,MAAO,IACP,SAAU,IACV,YAAa,IACb,SAAU,IACV,OAAQ,IACR,kBAAmB,IACnB,kBAAmB,IACnB,WAAY,IACZ,aAAc,IACd,gBAAiB,IACjB,UAAW,IACX,SAAU,IACV,iBAAkB,IAClB,cAAe,IACf,4BAA6B,IAC7B,eAAgB,IAChB,SAAU,IACV,KAAM,IACN,eAAgB,IAChB,mBAAoB,IACpB,gBAAiB,IACjB,WAAY,IACZ,qBAAsB,IACtB,oBAAqB,IACrB,kBAAmB,IACnB,UAAW,IACX,mBAAoB,IACpB,oBAAqB,IACrB,OAAQ,IACR,iBAAkB,IAClB,SAAU,IACV,gBAAiB,IACjB,qBAAsB,IACtB,gBAAiB,IACjB,4BAA6B,IAC7B,2BAA4B,IAC5B,oBAAqB,IACrB,eAAgB,IAChB,WAAY,IACZ,mBAAoB,IACpB,eAAgB,IAChB,wBAAyB,IACzB,sBAAuB,IACvB,oBAAqB,IACrB,aAAc,IACd,YAAa,IACb,8BAA+B,IAC/B,gBAAiB,IACjB,mBAAoB,IACpB,oBAAqB,IACrB,gBAAiB,IACjB,mBAAoB,IACpB,sBAAuB,GACzB,EAEA,OAAO,QAAQA,EAAc,EAAE,QAAQ,CAAC,CAACnmB,EAAKvG,CAAK,IAAM,CACvD0sB,GAAe1sB,CAAK,EAAIuG,CAC1B,CAAC,EC/CD,SAASomB,GAAeC,EAAe,CACrC,MAAM/lB,EAAU,IAAI+kB,GAAMgB,CAAa,EACjCC,EAAWnpB,GAAKkoB,GAAM,UAAU,QAAS/kB,CAAO,EAGtDqQ,OAAAA,EAAM,OAAO2V,EAAUjB,GAAM,UAAW/kB,EAAS,CAAC,WAAY,EAAI,CAAC,EAGnEqQ,EAAM,OAAO2V,EAAUhmB,EAAS,KAAM,CAAC,WAAY,EAAI,CAAC,EAGxDgmB,EAAS,OAAS,SAAgB/B,EAAgB,CAChD,OAAO6B,GAAehK,GAAYiK,EAAe9B,CAAc,CAAC,CAClE,EAEO+B,CACT,CAGA,MAAMC,EAAQH,GAAerR,EAAQ,EAGrCwR,EAAM,MAAQlB,GAGdkB,EAAM,cAAgB3N,GACtB2N,EAAM,YAAcd,GACpBc,EAAM,SAAW5N,GACjB4N,EAAM,QAAU9C,GAChB8C,EAAM,WAAa/U,GAGnB+U,EAAM,WAAajW,EAGnBiW,EAAM,OAASA,EAAM,cAGrBA,EAAM,IAAM,SAAaC,EAAU,CACjC,OAAO,QAAQ,IAAIA,CAAQ,CAC7B,EAEAD,EAAM,OAASR,GAGfQ,EAAM,aAAeN,GAGrBM,EAAM,YAAcnK,GAEpBmK,EAAM,aAAejO,EAErBiO,EAAM,WAAa3oB,GAAS4W,GAAe7D,EAAM,WAAW/S,CAAK,EAAI,IAAI,SAASA,CAAK,EAAIA,CAAK,EAEhG2oB,EAAM,WAAarD,GAAS,WAE5BqD,EAAM,eAAiBJ,GAEvBI,EAAM,QAAUA,EChFhB,KAAM,CACJ,MAAAlB,GACA,WAAA/U,GACA,cAAAsI,GACA,SAAAD,GACA,YAAA8M,GACA,QAAAhC,GACA,IAAAgD,GACA,OAAAC,GACA,aAAAT,GACA,OAAAF,GACA,WAAAvU,GACA,aAAA8G,GACA,eAAA6N,GACA,WAAAQ,GACA,WAAA1D,GACA,YAAA7G,EACF,EAAImK,ECdEK,GAASvB,EAAM,OAAO,CAC1B,QAAS,CACP,aAAcwB,GAAe,GAAM,GACnC,mBAAoB,gBACxB,CACA,CAAC,EACDC,GAAsBriB,GAAU,CAC9BmiB,GAAO,SAAS,QAAQ,aAAeniB,CACzC,CAAC,EACD,MAAMsiB,GAAmB,OAAO,OAAOH,GAAQ,CAC7C,YAAavB,EAAM,YACnB,SAAUA,EAAM,QAClB,CAAC,EACK2B,GAAY,OAAO,YAAY,EACrC,SAASC,GAAiBV,EAAO,CAC/B,MAAO,OAAO3V,GAAU,CACtB,GAAI,CAACqV,GAAarV,CAAK,EACrB,MAAMA,EAER,KAAM,CAAE,OAAAJ,EAAQ,SAAAE,EAAU,QAAAD,CAAO,EAAKG,EAChCsW,EAAczW,GAAS,YAC7B,GAAID,GAAU,CAACA,EAAOwW,EAAS,GAAKtW,GAAU,SAAW,KAAOA,GAAU,MAAM,UAAY,oBAAqB,CAC/G,QAAQ,KAAK,cAAcwW,CAAW,0DAA0D,EAChG,KAAM,CAAE,KAAM,CAAE,MAAAziB,EAAO,EAAK,MAAM8hB,EAAM,IAAIY,GAAY,YAAY,CAAC,EACrE,OAAA,QAAQ,MAAM,qBAAqB1iB,CAAK,UAAU,EAClD8hB,EAAM,SAAS,QAAQ,aAAe9hB,EAC/B8hB,EAAM,CACX,GAAG/V,EACH,QAAS,CACP,GAAGA,EAAO,QACV,aAAc/L,CACxB,EACQ,CAACuiB,EAAS,EAAG,EACrB,CAAO,CACH,CACA,MAAMpW,CACR,CACF,CACA,MAAMwW,GAAkB,OAAO,YAAY,EAC3C,SAASC,GAAuBd,EAAO,CACrC,MAAO,OAAO3V,GAAU,CACtB,GAAI,CAACqV,GAAarV,CAAK,EACrB,MAAMA,EAER,KAAM,CAAE,OAAAJ,EAAQ,SAAAE,EAAU,QAAAD,CAAO,EAAKG,EAChCsW,EAAczW,GAAS,YACvBgF,EAAS/E,GAAU,OACnBsE,EAAUtE,GAAU,QAC1B,IAAI4W,EAAa,OAAO9W,IAAS4W,EAAe,GAAM,SAAW5W,IAAS4W,EAAe,EAAI,EAC7F,GAAI3R,IAAW,KAAOT,IAAU,8BAA8B,IAAM,KAAOxE,GAAQ,uBAAwB,CAEzG,GADA8W,GAAc,EACVA,EAAa,GACf,MAAA,QAAQ,MAAM,8CAA+C,CAAE,YAAAJ,CAAW,CAAE,EACtEtW,EAER,OAAA,QAAQ,KAAK,cAAcsW,CAAW,oDAAoDI,CAAU,GAAG,EACvG,MAAM,IAAI,QAASxO,GAAY,CAC7B,WAAWA,EAASwO,EAAa,GAAG,CACtC,CAAC,EACMf,EAAM,CACX,GAAG/V,EACH,CAAC4W,EAAe,EAAGE,CAC3B,CAAO,CACH,CACA,MAAM1W,CACR,CACF,CACA,eAAe2W,GAAmB3W,EAAO,CACvC,GAAIqV,GAAarV,CAAK,EAAG,CACvB,KAAM,CAAE,OAAAJ,EAAQ,SAAAE,EAAU,QAAAD,CAAO,EAAKG,EAChCsW,EAAczW,GAAS,YACdC,GAAU,SACV,KAAOA,GAAU,MAAM,UAAY,iCAAmCF,GAAQ,sBAAwB,QAAQ,WAC3H,QAAQ,MAAM,cAAc0W,CAAW,gEAAgE,EACvG,OAAO,SAAS,OAAM,EAE1B,CACA,MAAMtW,CACR,CACAmW,GAAiB,aAAa,SAAS,IAAK9uB,GAAMA,EAAGgvB,GAAiBF,EAAgB,CAAC,EACvFA,GAAiB,aAAa,SAAS,IAAK9uB,GAAMA,EAAGovB,GAAuBN,EAAgB,CAAC,EAC7FA,GAAiB,aAAa,SAAS,IAAK9uB,GAAMA,EAAGsvB,EAAkB,oECzFvE,SAASC,EAASC,EAAWC,EAAO,IAAKhW,EAAU,CAAA,EAAI,CACtD,GAAI,OAAO+V,GAAc,WACxB,MAAM,IAAI,UAAU,wDAAwD,OAAOA,CAAS,KAAK,EAGlG,GAAIC,EAAO,EACV,MAAM,IAAI,WAAW,8BAA8B,EAIpD,KAAM,CAAC,UAAAC,CAAS,EAAI,OAAOjW,GAAY,UAAY,CAAC,UAAWA,CAAO,EAAIA,EAE1E,IAAIkW,EACAC,EACAC,EACA/N,EACAjf,EAEJ,SAASitB,GAAM,CACd,MAAMC,EAAcJ,EACdK,EAAgBJ,EACtB,OAAAD,EAAgB,OAChBC,EAAkB,OAClB/sB,EAAS2sB,EAAU,MAAMO,EAAaC,CAAa,EAC5CntB,CACT,CAEC,SAASotB,GAAQ,CAChB,MAAMna,EAAO,KAAK,IAAG,EAAKgM,EAEtBhM,EAAO2Z,GAAQ3Z,GAAQ,EAC1B+Z,EAAY,WAAWI,EAAOR,EAAO3Z,CAAI,GAEzC+Z,EAAY,OAEPH,IACJ7sB,EAASitB,EAAG,GAGhB,CAEC,MAAMI,EAAY,YAAaC,EAAY,CAC1C,GACCR,GACG,OAASA,GACT,OAAO,eAAe,IAAI,IAAM,OAAO,eAAeA,CAAa,EAEtE,MAAM,IAAI,MAAM,wEAAwE,EAGzFA,EAAgB,KAChBC,EAAkBO,EAClBrO,EAAY,KAAK,IAAG,EAEpB,MAAMsO,EAAUV,GAAa,CAACG,EAE9B,OAAKA,IACJA,EAAY,WAAWI,EAAOR,CAAI,GAG/BW,IACHvtB,EAASitB,EAAG,GAGNjtB,CACT,EAEC,OAAA,OAAO,eAAeqtB,EAAW,YAAa,CAC7C,KAAM,CACL,OAAOL,IAAc,MACxB,CACA,CAAE,EAEDK,EAAU,MAAQ,IAAM,CAClBL,IAIL,aAAaA,CAAS,EACtBA,EAAY,OACd,EAECK,EAAU,MAAQ,IAAM,CAClBL,GAILK,EAAU,QAAO,CACnB,EAECA,EAAU,QAAU,IAAM,CACzBrtB,EAASitB,EAAG,EAEZI,EAAU,MAAK,CACjB,EAEQA,CACR,CAGAG,OAAAA,GAAA,QAAA,SAA0Bd,EAE1Bc,GAAA,QAAiBd,yCCrGXpuB,GAAY,CAChB,KAAM,yBACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACA,IAAI8B,GAAc,UAAkB,CAClC,IAAIC,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,OAAQD,EAAI,GAAG,CAAE,YAAa,iDAAkD,MAAO,CAAE,cAAeA,EAAI,MAAQ,KAAO,OAAQ,aAAcA,EAAI,MAAO,KAAQ,KAAK,EAAI,GAAI,CAAE,MAAS,SAASE,EAAQ,CACrN,OAAOF,EAAI,MAAM,QAASE,CAAM,CAClC,EAAG,EAAI,OAAQF,EAAI,OAAQ,EAAK,EAAG,CAACC,EAAG,MAAO,CAAE,YAAa,4BAA6B,MAAO,CAAE,KAAQD,EAAI,UAAW,MAASA,EAAI,KAAM,OAAUA,EAAI,KAAM,QAAW,WAAW,CAAE,EAAI,CAACC,EAAG,OAAQ,CAAE,MAAO,CAAE,EAAK,qLAAqL,GAAM,CAACD,EAAI,MAAQC,EAAG,QAAS,CAACD,EAAI,GAAGA,EAAI,GAAGA,EAAI,KAAK,CAAC,CAAC,CAAC,EAAIA,EAAI,GAAE,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3d,EACII,GAAuB,CAAA,EACvBC,GAAgCC,EAClCrC,GACA8B,GACAK,GACA,GACA,KACA,IACF,EACA,MAAMgtB,GAAc/sB,GAAc,QChC5BpC,GAAY,CAChB,KAAM,YACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACA,IAAI8B,GAAc,UAAkB,CAClC,IAAIC,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,OAAQD,EAAI,GAAG,CAAE,YAAa,kCAAmC,MAAO,CAAE,cAAeA,EAAI,MAAQ,KAAO,OAAQ,aAAcA,EAAI,MAAO,KAAQ,KAAK,EAAI,GAAI,CAAE,MAAS,SAASE,EAAQ,CACtM,OAAOF,EAAI,MAAM,QAASE,CAAM,CAClC,EAAG,EAAI,OAAQF,EAAI,OAAQ,EAAK,EAAG,CAACC,EAAG,MAAO,CAAE,YAAa,4BAA6B,MAAO,CAAE,KAAQD,EAAI,UAAW,MAASA,EAAI,KAAM,OAAUA,EAAI,KAAM,QAAW,WAAW,CAAE,EAAI,CAACC,EAAG,OAAQ,CAAE,MAAO,CAAE,EAAK,yDAAyD,GAAM,CAACD,EAAI,MAAQC,EAAG,QAAS,CAACD,EAAI,GAAGA,EAAI,GAAGA,EAAI,KAAK,CAAC,CAAC,CAAC,EAAIA,EAAI,GAAE,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/V,EACII,GAAuB,CAAA,EACvBC,GAAgCC,EAClCrC,GACA8B,GACAK,GACA,GACA,KACA,IACF,EACA,MAAMitB,GAAQhtB,GAAc,QCxBtBpC,GAAY,CAChB,KAAM,eACN,WAAY,CACV,SAAAqvB,GACA,YAAAF,GACA,MAAAC,EACJ,EACE,aAAc,GACd,MAAO,CACL,KAAM,aACN,MAAO,mBACX,EACE,MAAO,CAML,MAAO,CACL,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,MACf,EAKI,WAAY,CACV,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,MACf,EAII,KAAM,CACJ,KAAM,OACN,QAAS,OACT,UAAY/uB,GAAU,CACpB,OACA,WACA,QACA,MACA,MACA,SACA,QACR,EAAQ,SAASA,CAAK,CACtB,EAQI,MAAO,CACL,KAAM,OACN,QAAS,MACf,EAMI,aAAc,CACZ,KAAM,QACN,QAAS,EACf,EAMI,YAAa,CACX,KAAM,OACN,QAAS,MACf,EAII,mBAAoB,CAClB,KAAM,QACN,QAAS,EACf,EAMI,oBAAqB,CACnB,KAAM,OACN,QAAS,EACf,EAKI,QAAS,CACP,KAAM,QACN,QAAS,EACf,EAKI,MAAO,CACL,KAAM,QACN,QAAS,EACf,EAOI,WAAY,CACV,KAAM,OACN,QAAS,EACf,EAII,SAAU,CACR,KAAM,QACN,QAAS,EACf,EAKI,KAAM,CACJ,KAAM,QACN,QAAS,EACf,EAKI,WAAY,CACV,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,EACf,CACA,EACE,MAAO,CAML,eACA,oBAEA,qBACA,uBACJ,EACE,OAAQ,CACN,MAAMivB,EAAQC,GAAkB,QAAS,eAAgB,EAAI,EAC7D,MAAO,CACL,WAAA3rB,GACA,MAAA0rB,CACN,CACE,EACA,SAAU,CACR,YAAa,CACX,OAAO,KAAK,OAAO,IAAM,KAAK,OAAO,KAAO,GAAK,KAAK,OAAO,GAAK,KAAK,SACzE,EACA,WAAY,CACV,MAAO,QAAUtuB,GAAW,CAC9B,EACA,iBAAkB,CAChB,OAAO,KAAK,OACd,EACA,qBAAsB,CACpB,GAAI,KAAK,YACP,OAAO,KAAK,YAEd,GAAI,KAAK,MACP,OAAO4C,GAAa,KAAK,MAAQ,EAGrC,EACA,cAAe,CACb,MAAM4rB,EAAe,KAAK,OAAS,KAAK,aACxC,OAAKA,GACHC,GAAO,KAAK,mJAAmJ,EAE1JD,CACT,EACA,iBAAkB,CAChB,MAAME,EAAkB,CAAA,EACxB,OAAI,KAAK,WAAW,OAAS,GAC3BA,EAAgB,KAAK,GAAG,KAAK,SAAS,cAAc,EAElD,KAAK,OAAO,kBAAkB,GAChCA,EAAgB,KAAK,KAAK,OAAO,kBAAkB,CAAC,EAE/CA,EAAgB,KAAK,GAAG,GAAK,IACtC,CACJ,EACE,QAAS,CAMP,OAAQ,CACN,KAAK,MAAM,MAAM,MAAK,CACxB,EAMA,QAAS,CACP,KAAK,MAAM,MAAM,OAAM,CACzB,EACA,YAAYpuB,EAAO,CACjB,MAAMquB,EAAW,KAAK,OAAS,UAAY,OAAO,KAAK,OAAU,SAAW,WAAWruB,EAAM,OAAO,MAAO,EAAE,EAAIA,EAAM,OAAO,MAC9H,KAAK,MAAQquB,CACf,EACA,0BAA0BruB,EAAO,CAC/B,KAAK,MAAM,wBAAyBA,CAAK,CAC3C,CACJ,CACA,EACA,IAAIQ,GAAc,UAAkB,CAClC,IAAIC,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,MAAO,CAAE,YAAa,cAAe,MAAO,CACpD,wBAAyBD,EAAI,SAC7B,qBAAsBA,EAAI,MAC1B,6BAA8BA,EAAI,cAAgB,CAACA,EAAI,aACvD,4BAA6B,CAAC,CAACA,EAAI,aAAa,MAAQ,CAAC,CAACA,EAAI,aAAa,SAAW,CAAC,CAACA,EAAI,OAAO,QACnG,uBAAwBA,EAAI,QAC5B,6BAA8BA,EAAI,oBAAsBA,EAAI,gBAC5D,oBAAqBA,EAAI,KACzB,sBAAuBA,EAAI,UAC/B,GAAO,CAACC,EAAG,MAAO,CAAE,YAAa,2BAA2B,EAAI,CAACA,EAAG,QAASD,EAAI,GAAGA,EAAI,GAAG,CAAE,IAAK,QAAS,YAAa,qBAAsB,MAAO,CACjJA,EAAI,WACJ,CACE,8BAA+BA,EAAI,QACnC,4BAA6BA,EAAI,KACvC,CACA,EAAK,MAAO,CAAE,GAAMA,EAAI,WAAY,KAAQA,EAAI,KAAM,SAAYA,EAAI,SAAU,YAAeA,EAAI,oBAAqB,mBAAoBA,EAAI,gBAAiB,YAAa,UAAY,SAAU,CAAE,MAASA,EAAI,OAAO,SAAQ,GAAM,GAAI,CAAE,MAASA,EAAI,WAAW,CAAE,EAAI,QAASA,EAAI,OAAQ,EAAK,EAAGA,EAAI,UAAU,CAAC,EAAG,CAACA,EAAI,cAAgBA,EAAI,aAAeC,EAAG,QAAS,CAAE,YAAa,qBAAsB,MAAO,CAAE,IAAOD,EAAI,UAAU,CAAE,EAAI,CAACA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,KAAK,EAAI,GAAG,CAAC,CAAC,EAAIA,EAAI,GAAE,EAAIC,EAAG,MAAO,CAAE,WAAY,CAAC,CAAE,KAAM,OAAQ,QAAS,SAAU,MAAO,CAAC,CAACD,EAAI,aAAa,MAAQ,CAAC,CAACA,EAAI,aAAa,SAAW,CAAC,CAACA,EAAI,OAAO,QAAS,WAAY,mEAAmE,CAAE,EAAG,YAAa,8CAA8C,EAAI,CAACA,EAAI,GAAG,OAAQ,UAAW,CACzyB,MAAO,CAACA,EAAI,GAAG,SAAS,CAAC,CAC3B,CAAC,CAAC,EAAG,CAAC,EAAGA,EAAI,mBAAqBC,EAAG,WAAY,CAAE,YAAa,+BAAgC,MAAO,CAAE,aAAcD,EAAI,oBAAqB,SAAYA,EAAI,SAAU,QAAW,wBAAwB,EAAI,GAAI,CAAE,MAASA,EAAI,yBAAyB,EAAI,YAAaA,EAAI,GAAG,CAAC,CAAE,IAAK,OAAQ,GAAI,UAAW,CAClT,MAAO,CAACA,EAAI,GAAG,sBAAsB,CAAC,CACxC,EAAG,MAAO,EAAI,CAAE,EAAG,KAAM,EAAI,CAAC,CAAE,EAAIA,EAAI,SAAWA,EAAI,MAAQC,EAAG,MAAO,CAAE,YAAa,+CAA+C,EAAI,CAACD,EAAI,QAAUC,EAAG,QAAS,CAAE,YAAa,CAAE,MAAS,2BAA2B,EAAI,MAAO,CAAE,KAAQ,EAAE,CAAE,CAAE,EAAID,EAAI,MAAQC,EAAG,cAAe,CAAE,YAAa,CAAE,MAAS,yBAAyB,EAAI,MAAO,CAAE,KAAQ,EAAE,CAAE,CAAE,EAAID,EAAI,GAAE,CAAE,EAAG,CAAC,EAAIA,EAAI,GAAE,CAAE,EAAG,CAAC,EAAGA,EAAI,WAAW,OAAS,EAAIC,EAAG,IAAK,CAAE,YAAa,mCAAoC,MAAO,CACre,0CAA2CD,EAAI,MAC/C,4CAA6CA,EAAI,OACrD,EAAK,MAAO,CAAE,GAAM,GAAGA,EAAI,SAAS,cAAc,CAAE,EAAI,CAACA,EAAI,QAAUC,EAAG,QAAS,CAAE,YAAa,yCAA0C,MAAO,CAAE,KAAQ,EAAE,EAAI,EAAID,EAAI,MAAQC,EAAG,cAAe,CAAE,YAAa,yCAA0C,MAAO,CAAE,KAAQ,GAAI,CAAE,EAAID,EAAI,GAAE,EAAIA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,UAAU,EAAI,GAAG,CAAC,EAAG,CAAC,EAAIA,EAAI,GAAE,CAAE,CAAC,CAC9V,EACII,GAAuB,CAAA,EACvBC,GAAgCC,EAClCrC,GACA8B,GACAK,GACA,GACA,KACA,UACF,EACA,MAAMytB,GAAextB,GAAc,QChQ7Ba,GAAc,CAClB,KAAM,UACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACA,IAAIC,GAAgB,UAAkB,CACpC,IAAInB,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,OAAQD,EAAI,GAAG,CAAE,YAAa,gCAAiC,MAAO,CAAE,cAAeA,EAAI,MAAQ,KAAO,OAAQ,aAAcA,EAAI,MAAO,KAAQ,KAAK,EAAI,GAAI,CAAE,MAAS,SAASE,EAAQ,CACpM,OAAOF,EAAI,MAAM,QAASE,CAAM,CAClC,EAAG,EAAI,OAAQF,EAAI,OAAQ,EAAK,EAAG,CAACC,EAAG,MAAO,CAAE,YAAa,4BAA6B,MAAO,CAAE,KAAQD,EAAI,UAAW,MAASA,EAAI,KAAM,OAAUA,EAAI,KAAM,QAAW,WAAW,CAAE,EAAI,CAACC,EAAG,OAAQ,CAAE,MAAO,CAAE,EAAK,mPAAmP,GAAM,CAACD,EAAI,MAAQC,EAAG,QAAS,CAACD,EAAI,GAAGA,EAAI,GAAGA,EAAI,KAAK,CAAC,CAAC,CAAC,EAAIA,EAAI,GAAE,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACzhB,EACIoB,GAAyB,CAAA,EACzBC,GAAkCf,EACpCY,GACAC,GACAC,GACA,GACA,KACA,IACF,EACA,MAAM0sB,GAAUzsB,GAAgB,QAC1BE,GAAc,CAClB,KAAM,aACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACA,IAAIC,GAAgB,UAAmB,CACrC,IAAIxB,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,OAAQD,EAAI,GAAG,CAAE,YAAa,oCAAqC,MAAO,CAAE,cAAeA,EAAI,MAAQ,KAAO,OAAQ,aAAcA,EAAI,MAAO,KAAQ,KAAK,EAAI,GAAI,CAAE,MAAS,SAASE,EAAQ,CACxM,OAAOF,EAAI,MAAM,QAASE,CAAM,CAClC,EAAG,EAAI,OAAQF,EAAI,OAAQ,EAAK,EAAG,CAACC,EAAG,MAAO,CAAE,YAAa,4BAA6B,MAAO,CAAE,KAAQD,EAAI,UAAW,MAASA,EAAI,KAAM,OAAUA,EAAI,KAAM,QAAW,WAAW,CAAE,EAAI,CAACC,EAAG,OAAQ,CAAE,MAAO,CAAE,EAAK,kkBAAkkB,GAAM,CAACD,EAAI,MAAQC,EAAG,QAAS,CAACD,EAAI,GAAGA,EAAI,GAAGA,EAAI,KAAK,CAAC,CAAC,CAAC,EAAIA,EAAI,GAAE,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACx2B,EACIyB,GAAyB,CAAA,EACzBC,GAAkCpB,EACpCiB,GACAC,GACAC,GACA,GACA,KACA,IACF,EACA,MAAMssB,GAAarsB,GAAgB,QACnCssB,GAASC,EAAG,EACZ,MAAMC,GAAiBC,GAAU,OAAQ,eAAgB,CAAA,CAAE,EAAE,iBAAmB,KAC1EC,GAAoB,IAAI,IAAI,OAAO,KAAKP,GAAa,KAAK,CAAC,EAC3D5vB,GAAY,CAChB,KAAM,kBACN,WAAY,CACV,aAAA4vB,GACA,QAAAC,GACA,WAAAC,EACJ,EAEE,aAAc,GACd,MAAO,CACL,KAAM,aACN,MAAO,mBACX,EACE,MAAO,CAML,IAAK,CAAA,EAEL,GAAGF,GAAa,MAKhB,mBAAoB,CAClB,KAAM,QAEN,QAAS,EACf,EAII,oBAAqB,OASrB,sBAAuB,CACrB,KAAM,QACN,QAAS,EACf,EAKI,UAAW,CACT,KAAM,OACN,QAAS,CACf,EAKI,UAAW,CACT,KAAM,OACN,QAAS,IACf,EAQI,OAAQ,CACN,KAAM,QACN,QAAS,EACf,EAKI,QAAS,CACP,KAAM,QACN,QAAS,EACf,CACA,EACE,MAAO,CACL,QACA,UAMA,eAOA,oBAEA,qBAMA,gBACJ,EACE,MAAMtwB,EAAO,CAAE,KAAAgB,GAAQ,CACrB,MAAMgvB,EAAQC,GAAkB,QAAS,cAAc,EACjDa,EAAaC,GAAU/wB,EAAO,UAAWgB,EAAM,CAAE,QAAS,GAAM,EACtE,MAAO,CACX,EAAMtB,GACA,MAAAswB,EACA,WAAAc,CACN,CACE,EACA,MAAO,CACL,MAAO,CACL,oBAAqB,GACrB,QAAS,IACf,CACE,EACA,SAAU,CACR,eAAgB,CACd,OAAO,KAAK,OAAS,KAAK,UAAY,EACxC,EACA,iBAAkB,CAChB,OAAO,KAAK,SAAW,KAAK,UAAY,EAC1C,EACA,oBAAqB,CACnB,OAAI,KAAK,WAAW,OAAS,EACpB,KAAK,WAEP,KAAK,mBACd,EACA,OAAQ,CACN,KAAM,CAAE,UAAAE,CAAS,EAAK,KACtB,MAAO,CACL,UAAWA,GAAaL,IAAgB,SAChD,CACI,EACA,6BAA8B,CAC5B,OAAO,KAAK,WAAajxB,GAAE,eAAe,EAAIA,GAAE,eAAe,CACjE,EACA,wBAAyB,CACvB,MAAO,CAEL,GAAG,KAAK,OAER,GAAG,OAAO,YAAY,OAAO,QAAQ,KAAK,MAAM,EAAE,OAAO,CAAC,CAAC4H,CAAG,IAAMupB,GAAkB,IAAIvpB,CAAG,CAAC,CAAC,CACvG,CACI,CACJ,EACE,MAAO,CACL,MAAM+oB,EAAU,CACd,GAAI,KAAK,sBAAuB,CAC9B,GAAIM,KAAmB,KACrB,OAEF,KAAK,cAAcN,CAAQ,CAC7B,CACF,CACJ,EACE,QAAS,CAMP,OAAQ,CACN,KAAK,MAAM,WAAW,MAAK,CAC7B,EAMA,QAAS,CACP,KAAK,MAAM,WAAW,OAAM,CAC9B,EACA,YAAYruB,EAAO,CACjB,KAAK,MAAQA,EAAM,OAAO,KAC5B,EACA,kBAAmB,CACjB,KAAK,WAAa,CAAC,KAAK,UAC1B,EACA,cAAe8sB,GAAS,eAAemC,EAAU,CAC/C,GAAI,CACF,KAAM,CAAE,KAAAhlB,GAAS,MAAM4hB,GAAM,KAAKqD,GAAe,sCAAsC,EAAG,CAAE,SAAAD,EAAU,EAEtG,GADA,KAAK,QAAUhlB,EAAK,IAAI,KAAK,OACzBA,EAAK,IAAI,KAAK,OAAQ,CACxB,KAAK,oBAAsBvM,GAAE,oBAAoB,EACjD,KAAK,MAAM,OAAO,EAClB,MACF,CACA,KAAK,oBAAsBuM,EAAK,IAAI,KAAK,OACzC,KAAK,MAAM,SAAS,CACtB,OAAShN,EAAG,CACVkxB,GAAO,MAAM,oCAAqClxB,CAAC,CACrD,CACF,EAAG,GAAG,CACV,CACA,EACA,IAAIuD,GAAc,UAAmB,CACnC,IAAIC,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,eAAgBD,EAAI,GAAGA,EAAI,GAAG,CAAE,IAAK,aAAc,MAAO,CAAE,KAAQA,EAAI,YAAcA,EAAI,OAAS,OAAS,WAAY,wBAAyBA,EAAI,4BAA6B,cAAeA,EAAI,mBAAoB,MAASA,EAAI,cAAe,QAAWA,EAAI,gBAAiB,UAAaA,EAAI,MAAM,UAAW,cAAe,CAAE,qCAAsC,CAACA,EAAI,YAAcA,EAAI,MAAM,CAAE,EAAI,GAAI,CAAE,wBAAyBA,EAAI,iBAAkB,MAASA,EAAI,WAAW,EAAI,YAAaA,EAAI,GAAG,CAAGA,EAAI,aAAa,MAAUA,EAAI,OAAO,SAAaA,EAAI,aAAa,QAAU,CAAE,IAAK,OAAQ,GAAI,UAAW,CAC7mB,MAAO,CAACA,EAAI,GAAG,OAAQ,UAAW,CAChC,MAAO,CAACA,EAAI,GAAG,SAAS,CAAC,CAC3B,CAAC,CAAC,CACJ,EAAG,MAAO,IAAS,KAAM,CAAE,IAAK,uBAAwB,GAAI,UAAW,CACrE,MAAO,CAACA,EAAI,WAAaC,EAAG,aAAc,CAAE,MAAO,CAAE,KAAQ,EAAE,CAAE,CAAE,EAAIA,EAAG,UAAW,CAAE,MAAO,CAAE,KAAQ,EAAE,CAAE,CAAE,CAAC,CACjH,EAAG,MAAO,EAAI,CAAE,EAAG,KAAM,EAAI,CAAC,EAAI,eAAgBD,EAAI,uBAAwB,EAAK,EAAGA,EAAI,UAAU,CAAC,CACvG,EACII,GAAuB,CAAA,EACvBC,GAAgCC,EAClCrC,GACA8B,GACAK,GACA,GACA,KACA,UACF,EACA,MAAMsuB,GAAkBruB,GAAc,QCjShCsuB,GAAYC,GAAiB,EAAG,aAAY,EAClD,CAAC,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,8BAA8B,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,OAAO,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,mBAAmB,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,aAAa,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,kCAAkC,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,oCAAoC,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,uBAAuB,CAAC,CAAE,GAAK,CAAE,OAAU,MAAO,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,4BAA4B,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,cAAc,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,wBAAwB,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,YAAY,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,wBAAwB,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,qCAAqC,GAAK,CAAE,MAAS,iBAAkB,OAAU,CAAC,6BAA6B,CAAC,CAAE,GAAK,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,UAAW,OAAU,CAAC,aAAa,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,wBAAwB,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,OAAO,CAAC,EAAI,CAAE,MAAS,+CAAgD,OAAU,CAAC,4CAA4C,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,yCAAyC,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,YAAY,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,kBAAkB,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,aAAa,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,oBAAoB,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,QAAQ,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,iCAAiC,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,sCAAsC,GAAK,CAAE,MAAS,iBAAkB,OAAU,CAAC,kBAAkB,CAAC,CAAE,GAAK,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,oCAAoC,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,UAAU,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,iCAAiC,GAAK,CAAE,MAAS,WAAY,OAAU,CAAC,aAAa,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,iCAAiC,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,sCAAsC,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,wBAAwB,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,QAAS,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,kBAAkB,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,UAAU,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,wBAAwB,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,OAAO,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,eAAe,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,+BAA+B,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,iBAAiB,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,8BAA8B,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,SAAS,GAAK,CAAE,MAAS,wBAAyB,OAAU,CAAC,yBAAyB,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,aAAa,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,8BAA8B,GAAK,CAAE,MAAS,mCAAoC,OAAU,CAAC,mCAAmC,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,qBAAqB,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,kBAAkB,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,YAAY,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,yBAAyB,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,UAAU,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,kCAAkC,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,gDAAgD,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,mBAAmB,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,QAAS,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,mBAAmB,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,YAAY,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,6BAA6B,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,UAAU,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,kCAAkC,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,+CAA+C,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,mBAAmB,EAAG,CAAC,EAAI,CAAE,OAAU,QAAS,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,qBAAqB,GAAK,CAAE,MAAS,UAAW,OAAU,CAAC,SAAS,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,uBAAuB,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,UAAU,GAAK,CAAE,MAAS,6BAA8B,OAAU,CAAC,4BAA4B,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,kCAAkC,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,gBAAgB,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,0BAA0B,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,WAAW,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,wBAAwB,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,YAAY,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,qCAAqC,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,oCAAoC,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,oBAAoB,CAAC,CAAE,GAAK,CAAE,OAAU,QAAS,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,0BAA0B,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,WAAW,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,wBAAwB,GAAK,CAAE,MAAS,WAAY,OAAU,CAAC,YAAY,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,qCAAqC,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,oCAAoC,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,uBAAuB,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,QAAS,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,0BAA0B,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,WAAW,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,wBAAwB,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,YAAY,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,oCAAoC,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,oCAAoC,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,uBAAuB,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,yBAAyB,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,OAAO,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,4BAA4B,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,UAAU,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,iCAAiC,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,iCAAiC,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,qBAAqB,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,QAAS,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,yBAAyB,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,UAAU,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,qBAAqB,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,UAAU,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,qBAAqB,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,uCAAuC,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,gBAAgB,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,8BAA8B,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,WAAW,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,8BAA8B,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,cAAc,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,oCAAoC,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,2CAA2C,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,wBAAwB,EAAG,CAAC,EAAI,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,yBAAyB,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,WAAW,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,yBAAyB,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,WAAW,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,4BAA4B,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,yCAAyC,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,oBAAoB,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,4BAA4B,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,WAAW,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,6BAA6B,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,aAAa,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,6BAA6B,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,oCAAoC,GAAK,CAAE,MAAS,iBAAkB,OAAU,CAAC,wBAAwB,CAAC,CAAE,GAAK,CAAE,OAAU,QAAS,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,qBAAqB,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,YAAY,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,yBAAyB,GAAK,CAAE,MAAS,WAAY,OAAU,CAAC,QAAQ,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,sBAAsB,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,sCAAsC,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,cAAc,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,UAAW,OAAU,CAAC,YAAY,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,4BAA4B,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,YAAY,CAAC,EAAI,CAAE,MAAS,+CAAgD,OAAU,CAAC,6CAA6C,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,qCAAqC,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,kBAAkB,CAAC,CAAE,GAAK,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,UAAW,OAAU,CAAC,WAAW,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,2BAA2B,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,UAAU,GAAK,CAAE,MAAS,+CAAgD,OAAU,CAAC,wDAAwD,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,kCAAkC,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,gBAAgB,EAAG,CAAC,EAAI,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,2BAA2B,GAAK,CAAE,MAAS,UAAW,OAAU,CAAC,UAAU,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,0BAA0B,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,UAAU,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,2BAA2B,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,yCAAyC,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,iBAAiB,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,QAAS,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,gBAAgB,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,IAAI,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,UAAU,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,OAAO,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,gBAAgB,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,eAAe,GAAK,CAAE,MAAS,iBAAkB,OAAU,CAAC,WAAW,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,qBAAqB,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,aAAa,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,yBAAyB,GAAK,CAAE,MAAS,WAAY,OAAU,CAAC,QAAQ,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,4BAA4B,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,+CAA+C,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,kBAAkB,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,QAAS,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,2BAA2B,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,aAAa,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,yBAAyB,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,aAAa,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,gCAAgC,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,qCAAqC,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,mBAAmB,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,QAAS,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,oBAAoB,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,SAAS,GAAK,CAAE,MAAS,wBAAyB,OAAU,CAAC,wBAAwB,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,SAAS,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,oCAAoC,GAAK,CAAE,MAAS,mCAAoC,OAAU,CAAC,uCAAuC,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,cAAc,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,4BAA4B,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,UAAU,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,4BAA4B,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,YAAY,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,uBAAuB,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,0CAA0C,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,qBAAqB,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,oBAAoB,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,WAAW,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,uBAAuB,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,OAAO,GAAK,CAAE,MAAS,6BAA8B,OAAU,CAAC,sBAAsB,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,4CAA4C,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,qBAAqB,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,QAAS,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,uBAAuB,GAAK,CAAE,MAAS,UAAW,OAAU,CAAC,WAAW,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,oBAAoB,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,OAAO,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,4BAA4B,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,mCAAmC,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,iBAAiB,CAAC,CAAE,GAAK,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,wBAAwB,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,YAAY,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,mBAAmB,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,QAAQ,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,gCAAgC,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,wCAAwC,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,kBAAkB,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,mBAAmB,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,aAAa,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,oBAAoB,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,QAAQ,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,iCAAiC,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,6CAA6C,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,qBAAqB,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,QAAS,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,mBAAmB,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,UAAU,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,sBAAsB,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,OAAO,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,4BAA4B,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,8BAA8B,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,iBAAiB,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,8BAA8B,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,QAAQ,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,cAAc,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,OAAO,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,wBAAwB,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,6BAA6B,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,eAAe,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,uBAAuB,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,SAAS,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,yBAAyB,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,SAAS,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,qCAAqC,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,oCAAoC,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,kBAAkB,EAAG,CAAC,EAAI,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,2BAA2B,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,UAAU,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,wBAAwB,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,UAAU,GAAK,CAAE,MAAS,6BAA8B,OAAU,CAAC,oBAAoB,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,wCAAwC,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,cAAc,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,qBAAqB,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,cAAc,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,cAAc,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,QAAQ,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,yBAAyB,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,gDAAgD,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,iBAAiB,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,KAAM,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,sBAAsB,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,aAAa,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,wBAAwB,GAAK,CAAE,MAAS,WAAY,OAAU,CAAC,QAAQ,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,qBAAqB,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,4BAA4B,GAAK,CAAE,MAAS,iBAAkB,OAAU,CAAC,mBAAmB,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,QAAS,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,UAAU,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,IAAI,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,QAAQ,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,IAAI,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,SAAS,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,WAAW,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,MAAM,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,QAAS,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,UAAU,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,IAAI,CAAC,EAAI,CAAE,MAAS,wBAAyB,OAAU,CAAC,QAAQ,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,IAAI,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,SAAS,CAAC,EAAI,CAAE,MAAS,mCAAoC,OAAU,CAAC,aAAa,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,MAAM,CAAC,CAAE,CAAC,EAAI,CAAE,OAAU,QAAS,aAAgB,CAAC,CAAE,MAAS,sBAAuB,OAAU,CAAC,UAAU,CAAC,EAAI,CAAE,MAAS,UAAW,OAAU,CAAC,IAAI,GAAK,CAAE,MAAS,wBAAyB,OAAU,CAAC,QAAQ,CAAC,EAAI,CAAE,MAAS,WAAY,OAAU,CAAC,IAAI,CAAC,EAAI,CAAE,MAAS,6BAA8B,OAAU,CAAC,SAAS,GAAK,CAAE,MAAS,mCAAoC,OAAU,CAAC,SAAS,CAAC,EAAI,CAAE,MAAS,iBAAkB,OAAU,CAAC,MAAM,CAAC,CAAE,CAAC,CAAE,EAAE,IAAI,CAAC,CAAE,OAAAC,EAAQ,aAAAC,CAAY,IAAOH,GAAU,eAAeE,EAAQ,CACtnpB,aAAc,CACZ,GAAI,OAAO,YAAYC,EAAa,IAAKC,GAAO,CAACA,EAAG,MAAOA,CAAE,CAAC,CAAC,CACnE,CACA,CAAC,CAAC,EACF,MAAMC,GAAKL,GAAU,MAAK,EAC1BK,GAAG,SAAS,KAAKA,EAAE,EACnB,MAAM/xB,GAAI+xB,GAAG,QAAQ,KAAKA,EAAE,EACtB/wB,GAAYC,GAAgB,CAChC,KAAM,iBACN,WAAY,CACV,SAAAovB,GACA,SAAA/sB,GACA,cAAA0uB,GACA,gBAAAP,EACJ,EACE,MAAO,CACL,SAAU,CACR,KAAM,SACN,QAAS,IAAM,CACf,CACN,CACA,EACE,MAAO,CACL,MAAO,CACL,SAAU,GACV,QAAS,GACT,UAAW,EACjB,CACE,EACA,SAAU,CACR,YAAa,CACX,OAAI,KAAK,UACA,KAAK,WAAa,GAAKzxB,GAAE,4BAA4B,EAAIA,GAAE,gBAAgB,EAEhF,KAAK,QACAA,GAAE,qBAAqB,EAEzB,EACT,CACJ,EACE,SAAU,CACR,KAAK,mBAAkB,CACzB,EACA,QAAS,CACX,EAAIA,GACA,MAAM,SAAU,CAGd,GAFA,KAAK,UAAY,GACjB,KAAK,QAAU,GACX,KAAK,WAAa,GAAI,CACxB,KAAK,UAAY,GACjB,MACF,CACA,GAAI,CACF,MAAM,KAAK,SAAS,KAAK,QAAQ,EACjC,KAAK,MAAM,WAAW,CACxB,MAAY,CACV,KAAK,UAAY,GACjB,KAAK,oBAAmB,CAC1B,QAAA,CACE,KAAK,QAAU,EACjB,CACF,EACA,MAAMiyB,EAAM,CACLA,GACH,KAAK,MAAM,OAAO,CAEtB,EACA,oBAAqB,CACnB,KAAK,UAAU,IAAM,CACnB,KAAK,MAAM,MAAM,MAAK,CACxB,CAAC,CACH,EACA,qBAAsB,CACpB,KAAK,UAAU,IAAM,CACnB,KAAK,MAAM,MAAM,OAAM,CACzB,CAAC,CACH,CACJ,CACA,CAAC,EACD,SAAS5uB,GAAmB6uB,EAAeC,EAASC,EAAiBC,EAAoBC,EAAcC,EAASC,EAAkBC,EAAY,CAC5I,IAAInZ,EAAU,OAAO4Y,GAAkB,WAAaA,EAAc,QAAUA,EAC5E,OAAIC,IACF7Y,EAAQ,OAAS6Y,EACjB7Y,EAAQ,gBAAkB8Y,EAC1B9Y,EAAQ,UAAY,IAEf,CACL,QAAS4Y,EACT,QAAA5Y,CACJ,CACA,CACA,IAAIxW,GAAc,UAAkB,CAClC,IAAIC,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAAA,EAAI,MAAM,YACHC,EAAG,WAAY,CAAE,MAAO,CAAE,KAAQD,EAAI,EAAE,uBAAuB,EAAG,UAAa,KAAM,kBAAmB,6BAA+B,GAAI,CAAE,cAAeA,EAAI,KAAK,GAAM,CAACC,EAAG,IAAK,CAACD,EAAI,GAAGA,EAAI,GAAGA,EAAI,EAAE,kCAAkC,CAAC,CAAC,CAAC,CAAC,EAAGC,EAAG,OAAQ,CAAE,YAAa,kCAAmC,GAAI,CAAE,OAAU,SAASC,EAAQ,CACrV,OAAAA,EAAO,eAAc,EACdF,EAAI,QAAQ,MAAM,KAAM,SAAS,CAC1C,CAAC,CAAE,EAAI,CAACC,EAAG,kBAAmB,CAAE,IAAK,QAAS,MAAO,CAAE,MAASD,EAAI,SAAU,MAASA,EAAI,EAAE,UAAU,EAAG,cAAeA,EAAI,WAAY,MAASA,EAAI,UAAW,SAAY,EAAE,EAAI,GAAI,CAAE,eAAgB,SAASE,EAAQ,CACxNF,EAAI,SAAWE,CACjB,CAAC,CAAE,CAAE,EAAGD,EAAG,WAAY,CAAE,YAAa,oCAAqC,MAAO,CAAE,KAAQ,UAAW,cAAe,SAAU,SAAY,CAACD,EAAI,UAAYA,EAAI,OAAO,EAAI,YAAaA,EAAI,GAAG,CAACA,EAAI,QAAU,CAAE,IAAK,OAAQ,GAAI,UAAW,CAC3O,MAAO,CAACC,EAAG,gBAAiB,CAAE,MAAO,CAAE,KAAQ,EAAE,CAAE,CAAE,CAAC,CACxD,EAAG,MAAO,EAAI,EAAK,IAAI,EAAG,KAAM,EAAI,CAAC,EAAI,CAACD,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,EAAE,SAAS,CAAC,EAAI,GAAG,CAAC,CAAC,CAAC,EAAG,CAAC,CAAC,CAAC,CAChG,EACII,GAAuB,CAAA,EACvBC,GAAgCC,GAClCrC,GACA8B,GACAK,EACF,EACA,MAAMuvB,GAAoBtvB,GAAc,QAKxC,IAAIuvB,IAAwCC,IAC1CA,EAAqB,IAAS,MAC9BA,EAAqB,OAAY,SAC1BA,IACND,IAAuB,CAAA,CAAE,EAK5B,MAAME,GAAiB,KAAK,IAAG,EAC/B,IAAIC,GAA0B,GAC9B,MAAMC,GAAkCC,GAAS,CAC/C,GAAI,CAAC,OAAO,kCACV,MAAO,GAET,GAAIA,IAASL,GAAoB,OAC/B,MAAO,GAET,MAAMM,EAAiBJ,GAAiB,OAAO,YAAc,IAE7D,OADuB,KAAK,IAAG,GAAMI,EAAiB,OAAO,aAAe,KACpD,KAAU,GACpC,EAeA,eAAeC,GAAiB3B,EAAU,CACxC,QAAQ,MAAM,qBAAqB,EACnC,MAAM7W,EAAMqU,GAAY,gBAAgB,EAClC,CAAE,KAAAxiB,CAAI,EAAK,MAAM4hB,GAAM,KAAKzT,EAAK,CAAE,SAAA6W,EAAU,EACnD,OAAO,aAAehlB,EAAK,UAC3B,QAAQ,MAAM,oBAAoB,CACpC,CACA,SAAS4mB,IAAY,CACnB,IAAIC,EACJ,GAAI,OAAO,mCAAqC,OAAQ,CACtD,QAAQ,MAAM,yBAAyB,EACvC,MAAM/yB,EAASD,GAAYsyB,GAAmB,CAAA,EAAI,IAAM,CACxD,CAAC,EACD,OAAO,iCAAmCryB,CAC5C,CACA,OAAQ+yB,EAAK,OAAO,mCAAqC,KAAO,OAASA,EAAG,UAAU,CAAC,CACzF,CACA,SAASC,GAAeC,EAAUC,EAAO,CACvC,MAAMlzB,EAAS8yB,GAAS,EACxB9yB,EAAO,OAAO,SAAWizB,EACzBjzB,EAAO,IAAI,YAAa,IAAM,CAC5BA,EAAO,SAAQ,EACf,OAAO,OAAO,gCAChB,CAAC,EACDA,EAAO,IAAI,QAAS,IAAM,CACxBA,EAAO,SAAQ,EACfkzB,EAAK,EACL,OAAO,OAAO,gCAChB,CAAC,CACH,CACA,SAASC,GAAoCC,EAAQ,CACnD,GAAIX,GACF,OAEFA,GAA0B,GAC1B,IAAIY,EACJD,EAAO,aAAa,QAAQ,IAC1B,MAAOrb,GACDA,EAAO,kBAAoB,QAG3B,CAAC2a,GAA+B3a,EAAO,eAAe,EACjDA,EAEF,IAAI,QAAQ,CAACsI,EAASC,IAAW,CACtC0S,GACE,MAAO9B,GAAa,CAClB,IAAI6B,EAAIO,EACR,OAAQvb,EAAO,gBAAe,CAC5B,KAAKua,GAAoB,IACvB,OAAA,MAAMO,GAAiB3B,CAAQ,EAC/B7Q,EAAQtI,CAAM,EACP,QAAQ,QAAO,EAExB,KAAKua,GAAoB,OACvB,OAAA,QAAQ,MAAM,kCAAmC,CAAE,OAAAva,CAAM,CAAE,EAC3DA,EAAO,KAAO,CACZ,UAAWub,GAAMP,EAAKQ,GAAc,IAAO,KAAO,OAASR,EAAG,MAAQ,KAAOO,EAAK,GAClF,SAAApC,CAClB,EACgB7Q,EAAQtI,CAAM,EACdsb,EAAkB,QAAQ,cAAa,EAChCA,EAAgB,OACvC,CACU,EACA,IAAM,CACJ/S,EAAO,IAAI,MAAM,eAAe,CAAC,CACnC,CACV,CACM,CAAC,CAEP,EACE8S,EAAO,aAAa,SAAS,IAC1Bnb,IACKA,EAAS,OAAO,kBAAoBqa,GAAoB,SAG5D,QAAQ,MAAM,kCAAmC,CAAE,SAAAra,CAAQ,CAAE,EAC7D,OAAO,aAAe,KAAK,IAAG,EAAK,IACnCob,EAAgB,QAAO,GAChBpb,GAERE,GAAU,CACT,IAAI4a,EAAIO,EAMR,KALMP,EAAK5a,EAAM,SAAW,KAAO,OAAS4a,EAAG,mBAAqBT,GAAoB,SAGxF,QAAQ,MAAM,+BAAgC,CAAE,MAAAna,CAAK,CAAE,EACvDkb,EAAgB,OAAOlb,CAAK,EACxB,IAAImb,EAAKnb,EAAM,WAAa,KAAO,OAASmb,EAAG,UAAY,KAAOnb,EAAM,SAAS,KAAK,UAAY,sCACpG,MAAMA,EAER,OAAA,QAAQ,MAAM,yBAA0B,CAAE,MAAAA,CAAK,CAAE,EAC1Cib,EAAO,QAAQjb,EAAM,MAAM,CACpC,CACJ,CACA,CCtQA,OAAO,mBAAqB,OAAO,oBAAsB,EACzD,SAASqb,IAAkB,CACzB,MAAO,UAAU,OAAO,oBAAoB,EAC9C,CCAA,MAAM7yB,GAAY,CAChB,KAAM,iBACN,MAAO,CAML,KAAM,CACJ,KAAM,OACN,QAAS,EACf,EAMI,YAAa,CACX,KAAM,OACN,QAAS,EACf,CACA,EACE,OAAQ,CACN,MAAO,CACL,OAAQ6yB,GAAe,CAC7B,CACE,EACA,SAAU,CACR,SAAU,CACR,OAAO,KAAK,OAAS,IAAM,KAAK,OAAO,IACzC,EAIA,gBAAiB,CACf,OAAO,KAAK,cAAgB,IAAM,KAAK,OAAO,cAAc,CAAC,CAC/D,CACJ,CACA,EACA,IAAI/wB,GAAc,UAAkB,CAClC,IAAIC,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,MAAO,CAAE,YAAa,gBAAiB,MAAO,CAAE,kBAAmBD,EAAI,OAAQ,KAAQ,MAAM,GAAM,CAACA,EAAI,OAAO,KAAOC,EAAG,MAAO,CAAE,YAAa,sBAAuB,MAAO,CAAE,cAAe,MAAM,CAAE,EAAI,CAACD,EAAI,GAAG,MAAM,CAAC,EAAG,CAAC,EAAIA,EAAI,GAAE,EAAIA,EAAI,QAAUC,EAAG,MAAO,CAAE,YAAa,sBAAuB,MAAO,CAAE,GAAMD,EAAI,MAAM,CAAE,EAAI,CAACA,EAAI,GAAG,OAAQ,UAAW,CAC3W,MAAO,CAACA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,IAAI,EAAI,GAAG,CAAC,CAC9C,CAAC,CAAC,EAAG,CAAC,EAAIA,EAAI,GAAE,EAAIA,EAAI,eAAiBC,EAAG,IAAK,CAAE,YAAa,4BAA4B,EAAI,CAACD,EAAI,GAAG,cAAe,UAAW,CAChI,MAAO,CAACA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,WAAW,EAAI,GAAG,CAAC,CACrD,CAAC,CAAC,EAAG,CAAC,EAAIA,EAAI,KAAMA,EAAI,OAAO,OAASC,EAAG,MAAO,CAAE,YAAa,uBAAuB,EAAI,CAACD,EAAI,GAAG,QAAQ,CAAC,EAAG,CAAC,EAAIA,EAAI,GAAE,CAAE,CAAC,CAChI,EACII,GAAuB,CAAA,EACvBC,GAAgCC,EAClCrC,GACA8B,GACAK,GACA,GACA,KACA,UACF,EACA,MAAM2wB,GAAiB1wB,GAAc,QCvCrCpC,GAAA,CACA,KAAA,aACA,MAAA,CAAA,OAAA,EACA,MAAA,CACA,MAAA,CACA,KAAA,MACA,EACA,UAAA,CACA,KAAA,OACA,QAAA,cACA,EACA,KAAA,CACA,KAAA,OACA,QAAA,EACA,CACA,CACA,slBChBAA,GAAA,CACA,KAAA,YACA,MAAA,CAAA,OAAA,EACA,MAAA,CACA,MAAA,CACA,KAAA,MACA,EACA,UAAA,CACA,KAAA,OACA,QAAA,cACA,EACA,KAAA,CACA,KAAA,OACA,QAAA,EACA,CACA,CACA,qnBC2HAA,GAAA,CACA,KAAA,mBACA,WAAA,CACA,kBAAA+yB,GACA,eAAAD,GACA,SAAAzD,GACA,sBAAA2D,GACA,WAAAnvB,GACA,WAAAovB,GACA,UAAAC,EACA,EACA,MAAA,CACA,MAAA,CACA,iBAAA,GACA,yBAAA,GACA,oBAAA,GACA,wBAAA,GACA,QAAA,eACA,QAAA,GACA,QAAA,GACA,iBAAA,GACA,eAAA,GACA,gBAAA,EACA,CACA,EACA,SAAA,CACA,qBAAA,CACA,OAAA,KAAA,oBACA,KAAA,wBAEA,EACA,EACA,gBAAA,CACA,OAAA,KAAA,gBAAA,KAAA,gBACA,CAAA,EAAA,KAAA,gBAAA,IAEA,CACA,CACA,EACA,SAAA,CACA,GAAA,CACA,KAAA,iBAAAhD,GAAA,KAAA,QAAA,oBAAA,EACA,KAAA,yBAAAA,GACA,KAAA,QACA,4BACA,EACA,KAAA,oBAAAA,GACA,KAAA,QACA,sBACA,EACA,KAAA,wBAAAA,GACA,KAAA,QACA,4BACA,EACA,KAAA,eAAAA,GAAA,KAAA,QAAA,kBAAA,EACA,KAAA,gBAAAA,GAAA,KAAA,QAAA,mBAAA,CACA,OAAA3xB,EAAA,CACA,QAAA,MAAA,+BAAAA,CAAA,CACA,CACA,EACA,QAAA,CACA,MAAA,eAAA,CACAi0B,GAAArF,EAAA,EAEA,GAAA,CACA,MAAAzT,EAAA8W,GAAA,QAAA,KAAA,OAAA,iBAAA,EACA,CAAA,OAAAnU,CAAA,EAAA,MAAA8Q,GAAA,OAAAzT,EAAA,CACA,gBAAAiY,GAAA,MACA,CAAA,EACAtV,IAAA,KACA,KAAA,QAAA,GACA,WAAA,IAAA,OAAA,SAAA,OAAA,EAAA,GAAA,GACAA,IAAA,MACA,KAAA,iBAAA,GAEA,OAAA9d,EAAA,CACA,QAAA,MAAAA,CAAA,EACA40B,GAAA,EAAA,eAAA,kCAAA,CAAA,CACA,CACA,CACA,CACA,itGCrOe,IAAIvzB,GAAI,CACtB,GAAI,yBACJ,OAASC,GAAMA,EAAEuzB,EAAgB,CAClC,CAAC","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66]}