diff --git a/.output/nitro.json b/.output/nitro.json new file mode 100644 index 0000000..1dcb6fb --- /dev/null +++ b/.output/nitro.json @@ -0,0 +1,14 @@ +{ + "date": "2024-01-03T10:31:15.209Z", + "preset": "node-server", + "framework": { + "name": "nuxt", + "version": "3.8.2" + }, + "versions": { + "nitro": "2.8.1" + }, + "commands": { + "preview": "node ./server/index.mjs" + } +} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/_id_-8ab4d5f6.mjs b/.output/server/chunks/app/_nuxt/_id_-8ab4d5f6.mjs new file mode 100644 index 0000000..03c72bf --- /dev/null +++ b/.output/server/chunks/app/_nuxt/_id_-8ab4d5f6.mjs @@ -0,0 +1,1427 @@ +import { b as buildAssetsURL } from '../../handlers/renderer.mjs'; +import { b as buildProps, d as definePropType, a as addUnit, w as withInstallDirective, c as withInstall, i as iconPropType, e as isBoolean, _ as _export_sfc$1, f as detailsHttp, r as relatedlistHttp, g as _imports_1$1, h as detailsCommentListHttp, H as Head, T as Title, M as Meta, j as getStyle, k as addClass, l as removeClass, u as useGlobalComponentSettings } from './cross-icon-c0ac5209.mjs'; +import { E as ElMessage, h as handleDate, _ as _imports_2$1, a as __nuxt_component_3, b as __nuxt_component_4 } from './eye-icon-a076085e.mjs'; +import { defineComponent, computed, ref, unref, openBlock, createBlock, mergeProps, withCtx, createElementBlock, normalizeClass, toDisplayString, createCommentVNode, renderSlot, createTextVNode, provide, inject, useSSRContext, onUnmounted, withAsyncContext, createVNode, withModifiers, isRef, nextTick, reactive, h, Transition, withDirectives, vShow, createApp, toRefs } from 'vue'; +import { u as useTooltipTriggerProps, a as useTooltipContentProps, E as ElTooltip } from './el-popper-6f31b937.mjs'; +import { d as useNamespace, e as useRoute, u as useRouter } from '../server.mjs'; +import { ssrRenderAttrs, ssrRenderStyle, ssrRenderList, ssrRenderClass, ssrInterpolate, ssrIncludeBooleanAttr, ssrRenderComponent, ssrRenderAttr, ssrGetDirectiveProps } from 'vue/server-renderer'; +import { _ as _export_sfc, u as useHead } from './_plugin-vue_export-helper-e3874580.mjs'; +import { isObject, isString, hyphenate } from '@vue/shared'; +import { isClient } from '@vueuse/core'; +import 'vue-bundle-renderer/runtime'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'devalue'; +import '@unhead/ssr'; +import 'unhead'; +import '@unhead/shared'; +import 'lodash-unified'; +import 'axios'; +import 'qs'; +import '@vue/reactivity'; +import 'vue-router'; +import '@popperjs/core'; + +const _sfc_main$4 = /* @__PURE__ */ defineComponent({ + inheritAttrs: false +}); +function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) { + return renderSlot(_ctx.$slots, "default"); +} +var Collection = /* @__PURE__ */ _export_sfc$1(_sfc_main$4, [["render", _sfc_render$1], ["__file", "/home/runner/work/element-plus/element-plus/packages/components/collection/src/collection.vue"]]); +const _sfc_main$3 = /* @__PURE__ */ defineComponent({ + name: "ElCollectionItem", + inheritAttrs: false +}); +function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { + return renderSlot(_ctx.$slots, "default"); +} +var CollectionItem = /* @__PURE__ */ _export_sfc$1(_sfc_main$3, [["render", _sfc_render], ["__file", "/home/runner/work/element-plus/element-plus/packages/components/collection/src/collection-item.vue"]]); +const COLLECTION_ITEM_SIGN = `data-el-collection-item`; +const createCollectionWithScope = (name) => { + const COLLECTION_NAME = `El${name}Collection`; + const COLLECTION_ITEM_NAME = `${COLLECTION_NAME}Item`; + const COLLECTION_INJECTION_KEY = Symbol(COLLECTION_NAME); + const COLLECTION_ITEM_INJECTION_KEY = Symbol(COLLECTION_ITEM_NAME); + const ElCollection = { + ...Collection, + name: COLLECTION_NAME, + setup() { + const collectionRef = ref(null); + const itemMap = /* @__PURE__ */ new Map(); + const getItems = () => { + const collectionEl = unref(collectionRef); + if (!collectionEl) + return []; + const orderedNodes = Array.from(collectionEl.querySelectorAll(`[${COLLECTION_ITEM_SIGN}]`)); + const items = [...itemMap.values()]; + return items.sort((a, b) => orderedNodes.indexOf(a.ref) - orderedNodes.indexOf(b.ref)); + }; + provide(COLLECTION_INJECTION_KEY, { + itemMap, + getItems, + collectionRef + }); + } + }; + const ElCollectionItem = { + ...CollectionItem, + name: COLLECTION_ITEM_NAME, + setup(_, { attrs }) { + const collectionItemRef = ref(null); + inject(COLLECTION_INJECTION_KEY, void 0); + provide(COLLECTION_ITEM_INJECTION_KEY, { + collectionItemRef + }); + } + }; + return { + COLLECTION_INJECTION_KEY, + COLLECTION_ITEM_INJECTION_KEY, + ElCollection, + ElCollectionItem + }; +}; +const dropdownProps = buildProps({ + trigger: useTooltipTriggerProps.trigger, + effect: { + ...useTooltipContentProps.effect, + default: "light" + }, + type: { + type: definePropType(String) + }, + placement: { + type: definePropType(String), + default: "bottom" + }, + popperOptions: { + type: definePropType(Object), + default: () => ({}) + }, + id: String, + size: { + type: String, + default: "" + }, + splitButton: Boolean, + hideOnClick: { + type: Boolean, + default: true + }, + loop: { + type: Boolean, + default: true + }, + showTimeout: { + type: Number, + default: 150 + }, + hideTimeout: { + type: Number, + default: 150 + }, + tabindex: { + type: definePropType([Number, String]), + default: 0 + }, + maxHeight: { + type: definePropType([Number, String]), + default: "" + }, + popperClass: { + type: String, + default: "" + }, + disabled: { + type: Boolean, + default: false + }, + role: { + type: String, + default: "menu" + }, + buttonProps: { + type: definePropType(Object) + }, + teleported: useTooltipContentProps.teleported +}); +buildProps({ + command: { + type: [Object, String, Number], + default: () => ({}) + }, + disabled: Boolean, + divided: Boolean, + textValue: String, + icon: { + type: iconPropType + } +}); +buildProps({ + onKeydown: { type: definePropType(Function) } +}); +createCollectionWithScope("Dropdown"); +const popoverProps = buildProps({ + trigger: useTooltipTriggerProps.trigger, + placement: dropdownProps.placement, + disabled: useTooltipTriggerProps.disabled, + visible: useTooltipContentProps.visible, + transition: useTooltipContentProps.transition, + popperOptions: dropdownProps.popperOptions, + tabindex: dropdownProps.tabindex, + content: useTooltipContentProps.content, + popperStyle: useTooltipContentProps.popperStyle, + popperClass: useTooltipContentProps.popperClass, + enterable: { + ...useTooltipContentProps.enterable, + default: true + }, + effect: { + ...useTooltipContentProps.effect, + default: "light" + }, + teleported: useTooltipContentProps.teleported, + title: String, + width: { + type: [String, Number], + default: 150 + }, + offset: { + type: Number, + default: void 0 + }, + showAfter: { + type: Number, + default: 0 + }, + hideAfter: { + type: Number, + default: 200 + }, + autoClose: { + type: Number, + default: 0 + }, + showArrow: { + type: Boolean, + default: true + }, + persistent: { + type: Boolean, + default: true + }, + "onUpdate:visible": { + type: Function + } +}); +const popoverEmits = { + "update:visible": (value) => isBoolean(value), + "before-enter": () => true, + "before-leave": () => true, + "after-enter": () => true, + "after-leave": () => true +}; +const updateEventKeyRaw = `onUpdate:visible`; +const __default__ = defineComponent({ + name: "ElPopover" +}); +const _sfc_main$2 = /* @__PURE__ */ defineComponent({ + ...__default__, + props: popoverProps, + emits: popoverEmits, + setup(__props, { expose, emit }) { + const props = __props; + const onUpdateVisible = computed(() => { + return props[updateEventKeyRaw]; + }); + const ns = useNamespace("popover"); + const tooltipRef = ref(); + const popperRef = computed(() => { + var _a; + return (_a = unref(tooltipRef)) == null ? void 0 : _a.popperRef; + }); + const style = computed(() => { + return [ + { + width: addUnit(props.width) + }, + props.popperStyle + ]; + }); + const kls = computed(() => { + return [ns.b(), props.popperClass, { [ns.m("plain")]: !!props.content }]; + }); + const gpuAcceleration = computed(() => { + return props.transition === `${ns.namespace.value}-fade-in-linear`; + }); + const hide = () => { + var _a; + (_a = tooltipRef.value) == null ? void 0 : _a.hide(); + }; + const beforeEnter = () => { + emit("before-enter"); + }; + const beforeLeave = () => { + emit("before-leave"); + }; + const afterEnter = () => { + emit("after-enter"); + }; + const afterLeave = () => { + emit("update:visible", false); + emit("after-leave"); + }; + expose({ + popperRef, + hide + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(ElTooltip), mergeProps({ + ref_key: "tooltipRef", + ref: tooltipRef + }, _ctx.$attrs, { + trigger: _ctx.trigger, + placement: _ctx.placement, + disabled: _ctx.disabled, + visible: _ctx.visible, + transition: _ctx.transition, + "popper-options": _ctx.popperOptions, + tabindex: _ctx.tabindex, + content: _ctx.content, + offset: _ctx.offset, + "show-after": _ctx.showAfter, + "hide-after": _ctx.hideAfter, + "auto-close": _ctx.autoClose, + "show-arrow": _ctx.showArrow, + "aria-label": _ctx.title, + effect: _ctx.effect, + enterable: _ctx.enterable, + "popper-class": unref(kls), + "popper-style": unref(style), + teleported: _ctx.teleported, + persistent: _ctx.persistent, + "gpu-acceleration": unref(gpuAcceleration), + "onUpdate:visible": unref(onUpdateVisible), + onBeforeShow: beforeEnter, + onBeforeHide: beforeLeave, + onShow: afterEnter, + onHide: afterLeave + }), { + content: withCtx(() => [ + _ctx.title ? (openBlock(), createElementBlock("div", { + key: 0, + class: normalizeClass(unref(ns).e("title")), + role: "title" + }, toDisplayString(_ctx.title), 3)) : createCommentVNode("v-if", true), + renderSlot(_ctx.$slots, "default", {}, () => [ + createTextVNode(toDisplayString(_ctx.content), 1) + ]) + ]), + default: withCtx(() => [ + _ctx.$slots.reference ? renderSlot(_ctx.$slots, "reference", { key: 0 }) : createCommentVNode("v-if", true) + ]), + _: 3 + }, 16, ["trigger", "placement", "disabled", "visible", "transition", "popper-options", "tabindex", "content", "offset", "show-after", "hide-after", "auto-close", "show-arrow", "aria-label", "effect", "enterable", "popper-class", "popper-style", "teleported", "persistent", "gpu-acceleration", "onUpdate:visible"]); + }; + } +}); +var Popover = /* @__PURE__ */ _export_sfc$1(_sfc_main$2, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/popover/src/popover.vue"]]); +const attachEvents = (el, binding) => { + const popperComponent = binding.arg || binding.value; + const popover = popperComponent == null ? void 0 : popperComponent.popperRef; + if (popover) { + popover.triggerRef = el; + } +}; +var PopoverDirective = { + mounted(el, binding) { + attachEvents(el, binding); + }, + updated(el, binding) { + attachEvents(el, binding); + } +}; +const VPopover = "popover"; +const ElPopoverDirective = withInstallDirective(PopoverDirective, VPopover); +const ElPopover = withInstall(Popover, { + directive: ElPopoverDirective +}); +function createLoadingComponent(options) { + let afterLeaveTimer; + const afterLeaveFlag = ref(false); + const data = reactive({ + ...options, + originalPosition: "", + originalOverflow: "", + visible: false + }); + function setText(text) { + data.text = text; + } + function destroySelf() { + const target = data.parent; + const ns = vm.ns; + if (!target.vLoadingAddClassList) { + let loadingNumber = target.getAttribute("loading-number"); + loadingNumber = Number.parseInt(loadingNumber) - 1; + if (!loadingNumber) { + removeClass(target, ns.bm("parent", "relative")); + target.removeAttribute("loading-number"); + } else { + target.setAttribute("loading-number", loadingNumber.toString()); + } + removeClass(target, ns.bm("parent", "hidden")); + } + removeElLoadingChild(); + loadingInstance.unmount(); + } + function removeElLoadingChild() { + var _a, _b; + (_b = (_a = vm.$el) == null ? void 0 : _a.parentNode) == null ? void 0 : _b.removeChild(vm.$el); + } + function close() { + var _a; + if (options.beforeClose && !options.beforeClose()) + return; + afterLeaveFlag.value = true; + clearTimeout(afterLeaveTimer); + afterLeaveTimer = window.setTimeout(handleAfterLeave, 400); + data.visible = false; + (_a = options.closed) == null ? void 0 : _a.call(options); + } + function handleAfterLeave() { + if (!afterLeaveFlag.value) + return; + const target = data.parent; + afterLeaveFlag.value = false; + target.vLoadingAddClassList = void 0; + destroySelf(); + } + const elLoadingComponent = defineComponent({ + name: "ElLoading", + setup(_, { expose }) { + const { ns, zIndex } = useGlobalComponentSettings("loading"); + expose({ + ns, + zIndex + }); + return () => { + const svg = data.spinner || data.svg; + const spinner = h("svg", { + class: "circular", + viewBox: data.svgViewBox ? data.svgViewBox : "0 0 50 50", + ...svg ? { innerHTML: svg } : {} + }, [ + h("circle", { + class: "path", + cx: "25", + cy: "25", + r: "20", + fill: "none" + }) + ]); + const spinnerText = data.text ? h("p", { class: ns.b("text") }, [data.text]) : void 0; + return h(Transition, { + name: ns.b("fade"), + onAfterLeave: handleAfterLeave + }, { + default: withCtx(() => [ + withDirectives(createVNode("div", { + style: { + backgroundColor: data.background || "" + }, + class: [ + ns.b("mask"), + data.customClass, + data.fullscreen ? "is-fullscreen" : "" + ] + }, [ + h("div", { + class: ns.b("spinner") + }, [spinner, spinnerText]) + ]), [[vShow, data.visible]]) + ]) + }); + }; + } + }); + const loadingInstance = createApp(elLoadingComponent); + const vm = loadingInstance.mount(document.createElement("div")); + return { + ...toRefs(data), + setText, + removeElLoadingChild, + close, + handleAfterLeave, + vm, + get $el() { + return vm.$el; + } + }; +} +let fullscreenInstance = void 0; +const Loading = function(options = {}) { + if (!isClient) + return void 0; + const resolved = resolveOptions(options); + if (resolved.fullscreen && fullscreenInstance) { + return fullscreenInstance; + } + const instance = createLoadingComponent({ + ...resolved, + closed: () => { + var _a; + (_a = resolved.closed) == null ? void 0 : _a.call(resolved); + if (resolved.fullscreen) + fullscreenInstance = void 0; + } + }); + addStyle(resolved, resolved.parent, instance); + addClassList(resolved, resolved.parent, instance); + resolved.parent.vLoadingAddClassList = () => addClassList(resolved, resolved.parent, instance); + let loadingNumber = resolved.parent.getAttribute("loading-number"); + if (!loadingNumber) { + loadingNumber = "1"; + } else { + loadingNumber = `${Number.parseInt(loadingNumber) + 1}`; + } + resolved.parent.setAttribute("loading-number", loadingNumber); + resolved.parent.appendChild(instance.$el); + nextTick(() => instance.visible.value = resolved.visible); + if (resolved.fullscreen) { + fullscreenInstance = instance; + } + return instance; +}; +const resolveOptions = (options) => { + var _a, _b, _c, _d; + let target; + if (isString(options.target)) { + target = (_a = document.querySelector(options.target)) != null ? _a : document.body; + } else { + target = options.target || document.body; + } + return { + parent: target === document.body || options.body ? document.body : target, + background: options.background || "", + svg: options.svg || "", + svgViewBox: options.svgViewBox || "", + spinner: options.spinner || false, + text: options.text || "", + fullscreen: target === document.body && ((_b = options.fullscreen) != null ? _b : true), + lock: (_c = options.lock) != null ? _c : false, + customClass: options.customClass || "", + visible: (_d = options.visible) != null ? _d : true, + target + }; +}; +const addStyle = async (options, parent, instance) => { + const { nextZIndex } = instance.vm.zIndex || instance.vm._.exposed.zIndex; + const maskStyle = {}; + if (options.fullscreen) { + instance.originalPosition.value = getStyle(document.body, "position"); + instance.originalOverflow.value = getStyle(document.body, "overflow"); + maskStyle.zIndex = nextZIndex(); + } else if (options.parent === document.body) { + instance.originalPosition.value = getStyle(document.body, "position"); + await nextTick(); + for (const property of ["top", "left"]) { + const scroll = property === "top" ? "scrollTop" : "scrollLeft"; + maskStyle[property] = `${options.target.getBoundingClientRect()[property] + document.body[scroll] + document.documentElement[scroll] - Number.parseInt(getStyle(document.body, `margin-${property}`), 10)}px`; + } + for (const property of ["height", "width"]) { + maskStyle[property] = `${options.target.getBoundingClientRect()[property]}px`; + } + } else { + instance.originalPosition.value = getStyle(parent, "position"); + } + for (const [key, value] of Object.entries(maskStyle)) { + instance.$el.style[key] = value; + } +}; +const addClassList = (options, parent, instance) => { + const ns = instance.vm.ns || instance.vm._.exposed.ns; + if (!["absolute", "fixed", "sticky"].includes(instance.originalPosition.value)) { + addClass(parent, ns.bm("parent", "relative")); + } else { + removeClass(parent, ns.bm("parent", "relative")); + } + if (options.fullscreen && options.lock) { + addClass(parent, ns.bm("parent", "hidden")); + } else { + removeClass(parent, ns.bm("parent", "hidden")); + } +}; +const INSTANCE_KEY = Symbol("ElLoading"); +const createInstance = (el, binding) => { + var _a, _b, _c, _d; + const vm = binding.instance; + const getBindingProp = (key) => isObject(binding.value) ? binding.value[key] : void 0; + const resolveExpression = (key) => { + const data = isString(key) && (vm == null ? void 0 : vm[key]) || key; + if (data) + return ref(data); + else + return data; + }; + const getProp = (name) => resolveExpression(getBindingProp(name) || el.getAttribute(`element-loading-${hyphenate(name)}`)); + const fullscreen = (_a = getBindingProp("fullscreen")) != null ? _a : binding.modifiers.fullscreen; + const options = { + text: getProp("text"), + svg: getProp("svg"), + svgViewBox: getProp("svgViewBox"), + spinner: getProp("spinner"), + background: getProp("background"), + customClass: getProp("customClass"), + fullscreen, + target: (_b = getBindingProp("target")) != null ? _b : fullscreen ? void 0 : el, + body: (_c = getBindingProp("body")) != null ? _c : binding.modifiers.body, + lock: (_d = getBindingProp("lock")) != null ? _d : binding.modifiers.lock + }; + el[INSTANCE_KEY] = { + options, + instance: Loading(options) + }; +}; +const updateOptions = (newOptions, originalOptions) => { + for (const key of Object.keys(originalOptions)) { + if (isRef(originalOptions[key])) + originalOptions[key].value = newOptions[key]; + } +}; +const vLoading = { + mounted(el, binding) { + if (binding.value) { + createInstance(el, binding); + } + }, + updated(el, binding) { + const instance = el[INSTANCE_KEY]; + if (binding.oldValue !== binding.value) { + if (binding.value && !binding.oldValue) { + createInstance(el, binding); + } else if (binding.value && binding.oldValue) { + if (isObject(binding.value)) + updateOptions(binding.value, instance.options); + } else { + instance == null ? void 0 : instance.instance.close(); + } + } + }, + unmounted(el) { + var _a; + (_a = el[INSTANCE_KEY]) == null ? void 0 : _a.instance.close(); + } +}; +const _sfc_main$1 = { + __name: "Report", + __ssrInlineRender: true, + props: ["reportToken"], + setup(__props) { + const reasonList = ["\u5E7F\u544A", "\u8FB1\u9A82", "\u91CD\u590D\u53D1\u9001", "\u4E0D\u826F\u4FE1\u606F", "\u5176\u4ED6"]; + inject("reportAlertShow"); + let checkList = ref([]); + ref(false); + let alertText = ref(""); + return (_ctx, _push, _parent, _attrs) => { + _push(`
\u4E3E\u62A5\u6295\u8BC9
`); + ssrRenderList(reasonList, (s, i) => { + _push(`
${ssrInterpolate(s)}
`); + }); + _push(`
${ssrInterpolate(200 - unref(alertText).length)}
`); + }; + } +}; +const _sfc_setup$1 = _sfc_main$1.setup; +_sfc_main$1.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/Report.vue"); + return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0; +}; +const __nuxt_component_6 = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-d48d8915"]]); +const _imports_0 = "" + buildAssetsURL("item-bj.0d22947a.svg"); +const _imports_1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAEZ0lEQVR4nO2ZUU4bMRCGvUi8gcgNmp6giwCJN8wJmp6g9AQNJ0h6AsIJGk7Q9ARZ3pAAZTkBuUGD4A3B9rMW0kzWXhaSTRPiTxrNLHhizx/biZ1ALTleAGyp8QJgS00hAXZ3d6v39/d7QRBU1QKQJEl/dXX19OzsrK9eIMCc7OzshLzYEabVAsIbFmGH5+fnMY9WnAJQ/MHj4+NPwoVnZWXlGyK0lQWrAFtbWzXcL+w98eXy8rKDF2QE0FpXbm9vrwkr2HtisL6+/jGKogHxkIwA29vbddb8EeG7w+wHFxcXLcIhNgF6CBASjnPCWmqxlmLiuYW9K2TvqhN+xQQIECPAJuGQjACs/wQ3zhXrJ8QvDNQR4z5hAuoQNYsHA4k2AY5JrOMXBupo4b5jAuoQNYsHA4kZAZg6P5g6TbVAsJSbLOUGocAL4AXwAoiaxYPBC+AF8AIkOIEXwAvgBfACuASgfY3/f6czjY+xNifGY/7lRKd3DkeENWyARZzVD8fP6qPofzlapXcVEfd+h657v5kIQCeuuwPn4UmnhVwTVrBRrBcWBp3m9AirSjJAhE2bCIytfAFo+wdXwTJwd7DJTIgJBeS0leWs/sQJAzxQY1CMS2gztt+MrUYoIKdcAehA00GX0Ao5h+S0CAXk9cgLCTOQk7mwMJATkbNHaKNPUR/xAnKa5DQIBbQNcEPEg6GoAE83Lz1CK8wA600sA4sY2B5hBvo5pR+txiCnQ85nQhtXFJURlJwmOQ1CAW1FzeLBUFQAA237SqkP2Dg3rM3wNWvT4OoHsfOu6I8pqo4XuPqhrahZPBgoKsEJXAOjE00nHcINbIjr3X+GPmLcJ2yUKwYX4q3Ql20WXLFx6siycdK+SfsGoYA+RM3iwcDgEpzAJYDh6WezOm1COuzj27SN1AswwDpOq5SInBY+FzMT6KNGWME6eTm8fpO2DULB1AWYV7wAXgAvgBfAC+AF8AI0CAVeAC/AGwQA6zl9nkGADgKMnx0KCTDAbWCjDDjg7HPAiYnnHs4M5qjeJaxgo9wggPibTYC2st/YDLAOy6GvCkA70/50UtFMMbZ30gVtqyq9a6xg42RmckYApo7mRbqEUwEhWmtraz9sR9Y8NPeAd3d3vxiLVlOCseyzl0VqhIwABkTo0HFh1V+CjmNE2C8qgk6L7yaOq7O3wBh+U3yNUGAVQDMAbmEjlb20mIQ20+8bPhdN39MuHpwXJwFmRacDaTOQzzxOi1wRdNpnN5li8eadZ/YdRJbiDQGWC8tBM6ADlW4sG9ikWEXQ0y3+BjMbdptpH6kcAmzqmJ2bj6FIuQXLiIDQvZzib/gY1pN+otgIsFIoIgJFHeM3KLyJaWWntOINpQlgQIS86+wilFq8oVQBDBOIUHrxhtIFMLxBhJkUb5iJAIZXiDCz4g0zE8CACCGbXQvb49HGCT+pNW0/qZXFTAV4xvya9PDwoBGiqgAf802N7yr2Lytl8l8EmCe8ANhS4wXAlpq/sWppbrWv2fQAAAAASUVORK5CYII="; +const _imports_2 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAE40lEQVR4nO3ZjVHbSBiH8f9WEKeCiAoiKshSQZwKTq4gpgJMBZgKMBXEVwFSBSgVRK7gTAV7j27ZwQLklWTMx8Ez8xvPxF/xK61XgNE772MAeNd9DADvuqEDSPEdibyXrJL3N0r0yqBPVtIFEr3O6gEcI1fHDLqWyX/4t9AEC3XIoEuZ3s6HD02wUCSDWCP8QX0bWmEmf8rVXrL01hyfEFrjAPVtawaxpjhD6DesIi/8Ao2QS/qK0DHmaK3LAHJJ3xA6RInXWIprhApYbckglkNohUSvu0rSF4QMWtt6520OoQJWr7slviNk0NrWO2977gEk8ksu0V2V/HtXijfGL9SdY4rWDGI5hApY7acUJxijrVzSKXJtL721xBqtGcRyCBWwevpOMFP3FvL7/M4ZxHIIFbB62i6QqX8lDrFTBrEcQgWsfCnqtZaoe3McIzSTP/qbrVA/rkQl//oppviCzc5R//vgDGI5hApY+RaS/kLfDlEikb/C3OwSU6zxWDM9HNgRcg3MIJZDqICVb46f6NsBKj0c4CUyxZupOYRcfgiDMojlECpg5UvkhzBC15aYo+4fjFB3g0TtR/5+lZrL4QCVBmQQyyFUwGr3UlwjdI4pulY/9gyhCRYakEGsfQxgjF8I/cASXbOSrhA6xUwDMojlECpgtXuZ/PYXOkKu7qW4RugUMw3IIJZDqIDV7lk1j+AEC3XPqvn8U8w0IINYDqECVruXqLkFXiJT96Y4Q+gIuQZkEMshVMDKZ+XX8QhtVfL7/hr3qzTsm3yEP6hvQ5+xRu8MYjmEClj5Fmru421NsNDDZmru5yUOEesCme66RKaBGcRyCBWw8s3xE7F+YIn7jVCp+Xu8EvXjKz1shDNkanaASgMziNU2gPo/NEei9nL5I92WVfPLLLSQf24l/z7jWyNsdow5BmcQyyFUwOppy+RP675dItOOGcRyCBWwerqs/DIao2+5/PaXa4cMYu1jACOcYIpdW2KCNXpnEMshVMBqt1JcoL59rBUqNY+slZSouW1utsYRSvTKIJZDqIDV8FJcYYTNbrCQ/0Kr1F4iv+4zPT6MCRbqkUEsh1ABq2GluMIIm51jJn8UuzbCFCe43xFydcwglkOogFX/RrhCitANxsg1vBS5mtcSaxyiUocMYjmEClj1b46fCN3AasCafaREfghfEMrlz4RoBrEcQgWs+mXlj/5mR8j1dKXI1TwTJlgokkEsh1ABq35dwequU8z09GXyu0uokr9M3ppBLIdQAavuJfI/uYVWqI/WGvuoxFeEfmCJ1gxiOYQKWHVvijOEjjHHvsrUPAsukWlLBrEcQgWsupfL/6Ez9Blr7LP69T+hrlJkGRjEcggVsOperrsBlDjEvst19551Bq1tvfM2h1ABq+4t8R2hCRbaXymuEVoh0ZYMYu0ygEzNNfncnWKmLRnEcggVsOpXia947m6QyH8ntGYQa9cBjLDENzxXK4xRYmsGsRxCBayGlck/N9H+WmN5a41oBrGeagCvMoNYmwOoFNlX31oGsXI11+8hSvwv6jKAKc4QKnGENd58BrFGqHR3eVlXye+vv1HizdZlAHWZXvaCpksTLNQzg65lev1D6PN5/qvvE6z8lL/gtbVCop4ZDCnFGIm8l66S/z1DiV4ZvOs+BoB33ccA8K77F/DNI1Ad1eJHAAAAAElFTkSuQmCC"; +const _imports_4 = "" + buildAssetsURL("menu-icon-gray.d61f02b1.svg"); +const _imports_5 = "" + buildAssetsURL("comment-icon-gray.2c8779f9.svg"); +const _imports_6 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAQKADAAQAAAABAAAAQAAAAABGUUKwAAAD30lEQVR4AeVa7XXaMBSVDANkBDxB6QRxJmg6QVmANp2gZAOaDBCYoGwQugGZAGUD+F9Q7zPIxxAZy7ZkG0vn5Ejoy/fe954+7HDWgrRbf/8FGPeMySFyIRmf9MOneR3QeB0PufQMkJ+AOAlwlvgqYMEdD6ebswarPwOrs5WaTP7QD5PDPdu/6tvs1bZAAHaTTUcODx6S3aNqS6MhINcP0Z7tcq0csF6IUBBVyerGt8EDdLhO6iASFkg3qVEBEOORGS3+zaxf8V6NCmAOVw4RLhfWCvOZzns2KoBkMjoHdOH38EJb6abGBCCLYgW+NUW+Y7uBad8i/RoTACCjIkA544Mi/U37NiYALDoyBemyXyMCwP0HcP8vLomZzt2IANj+JqYAXferXQCyPi4/zvb1ooLVLgBi/6UoSOqPLVOUGZc3plYBYP17xH6UB0rX3mM9oauvWlebAOT6ONOXsv6R5KYqWd342gQ4un7p4yxugysdgap1/aoTmIzfrcdk+cikb0aft4z6ytXOPeDfejwCSvqrkLgT6xMgpwIQeSx6VeJeiSZUwXbuTACL5GGlYGmbuJoPBrKfbJIndL3w2QlOmtu6B9gmLxn7S0BdpRNl5Xp8a/ogHj5/AIa9/gZ7/RpzlN7uNM+fwUozTX3pqjT2WAA6oR0PKQWA81UvfPqcRnGc50+6rqVlgTfNX+lsEQA0PkDsCHQB8kQrfk8XUUkl3PKGqtzynE6lr+A+CHBCm7QcrCt4CNf9JEAMGMe9KyQNzvuJdoGCrt8gXOuPlpwEeLc+79VMiC/Q2GfF1eC1DlTiE7zHCVvhCosgF75qgHPAkjzASwEQ+vFJ1tsQgOcvyfOxCLp520qTtznhir0ifIGrt61tJn/EtqTcyxCg+McCuFECCCr4lFT8E+cASgifyMekWbBQnH0MgS2MHi+ABzEOUnh0H+CJ9RMBfLoPYPv7KICKBw/yLTgu0zzjNcCf+wBfqO1PiaAWQaEqupyfuz9xVQJ0mbfiRqv/SfwnAvhxH+AzpUQ6jz3Ah/sA3H+aJq7KvoTAW9aJVwkglCJdzHHO0VqfuMYCZKnTETG2/fB5lsVFeUBWewfqeab1iVxagE7eB7D4zS5ZMRGgm/cBPs8L70SASypda1vW1pfmkwjQtfvA8bXXKk1WV04EQKPQdbjWOhzuHkywJwJ06zjMHxH7udYngRIBoNgSv+m+fOWJz/GvOxNTEokAtFoibozcJjX5JlWGmoePDem6GstkvJ8gPyryzEQAGkQnJnwxvaMFJGeS+GHnbobfC8b475yxNpvfD1j5I3AP8P+E06KT/wdPOffX7me6UQAAAABJRU5ErkJggg=="; +const _imports_7 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAAFFklEQVRoBdWZW2icRRTHdze7MVsviblYRVEbr4iihnjpmnuCxEARtQYFxZc+ircHfUygUkXQPlnQKuibBEEkNRISkxDazUNDQLBREW0pPtikmsqa2N1ks/5OzLecmb0k+/ml+zkw7DlnZs78/zNn5puZDQZ2KI2MjFwVjUZfxf1+8q3ki+STmUzm/a6uri+RPUlBT7xYTsbHx+8Kh8NfA/ZGq8hRP0U40NnZueYY3P6G3DYs1G5ycrKmoqLiqyLgpekL5DcL+SjF7jkBOn+ZfLMF4i90e7RfGxsbKzRDVvPC6k4QeFp3FwwGjywuLtYRUtcgx1VZBJtRV5VtW/ScACBv070TSgf7+/tTra2tS+vr6+/qMuT7LL1k1VMCs7OzEQBHFIo0C/U3R2dtfO/I8gvZ27XuRvaUwPLy8g2CSwFZUnIAAr9qHbI3ad2N7CkBQuQWDYIRPqv1lpaWBLaUslUq2ZXoKQEQ9GoUjLARMlKGLUsAMhW6vhvZMwKDg4Pi60kLxJjWh4aGBPDljg0yq47s9tczAu3t7c8CYo8CcjGdTh9TeqChoeFqdL1GzupyN7InBEZHR2VUD1oAPu/p6fld21gjTVonhE5r3Y3sCYHKysqP6FyPfprweNsGFAqFHrVs31l6yWq45BaqASCDU1NThzA9o8wiHuXEecqyiWoQIMS+yVOnJJNrAsPDw7sA/wG9PWf1+FMkEnndsgUmJiYewnaPsieqq6tnlO5KLJmA7DZtbW1PEA7vMQP2YewCo7qfr2/CRkO8v2LZrkwkEilOr3LQ285uJPeJefJn5E+co7jeEbDnT3RyLSV3k9vJz5PzfUETEHqM0DlBuZHkiAHYPzFGjQL3yixN98kxRWK4lY6PYLi+gD9Z6NUFyjbMjO4v+Hgch3kXZTwej6ZSqfPU2VXMTyll9Dm3sLCwN4TTj2kooyt7dL5cDHwGRx+urq42FQIvoGKx2N/08xJ1/xDdi4S/pvr6+gNBwkPir9S1kKbNF+zrb3V3d89tF5CsH+oXG5CCrpLJ5HXcHw4DXO9kM24IvMhClY/UuYK97VABd+3dnGizx3O6SeR8yIjV3TCtdTKVZLSzidvV0XKAFwCAT2aB/CtEJHSMnaiurm6pubk5u60RYkabxsbGjGG4hApr6H5CSPd4OmcG2O6MGjQwCNrl2ttOy2B5xOrjRA4Bq4KvVGZgrwYEoRnZRo0RJsaNGdANyilv4nxYY2BNzPxvZmB6evpOSNQqAkuszx+3JMC0+WKG+ObEFHgR43xX1rckYDUqp2rEP0A2TrI5BObn5325BgBszACBEZfRzCEgxmKpHASJ9Rri/w6FS258J0UP2zGuKvlGBGwMnNnBRv62o6ND7hGlz0A5WAHYiH8IbYRPXgIDAwO+WwMQMOIfAtmraHZaioyssY1eaoLyGAbgBzU+CBWeAV3RDzKHy3vBcYXCco7L0xlH384MOHXL8svjgRH/gDiugQgBI0SYnqJrYKty7dwj2SaQjX/x7/sZAKOxgHX8+56AXCEBuUeAbqbkysqKcQf37QzwR/llXGsPOcg3f+f6+vqS2pbzGsE70c+6AluYVgN2uVHooUK/teQa7RL9mNZFziFApUa7kta3Ktd1PZZ/qKqqOmz7lBA6bxt9qJ/hKecpeSCzscmV8g2M8nDqu8SOs0B+B2AP8JQjD7s5aeMbIE/lpAbI/Oc/3XJ6cGlYW1u70Nvb69lTpEsYO9/sHwHIu0q4cL20AAAAAElFTkSuQmCC"; +const _imports_9 = "data:image/png;base64,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"; +const _imports_10 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAQKADAAQAAAABAAAAQAAAAABGUUKwAAAE8ElEQVR4Ae1a24tPURQexjAxuZVcm1FESqHc80CDkhIpCsULcnlQ3kSUFy9480L+BeWdPGBGQiPEw8wowjAz7nLn+6bZ0/7t+fb5/Y5z5sw+J6vWnHO+vfY+a3177cvZv6mqGjwZgVfvhV6BvoR+h76AXoJuhg6FFlZWILJW6J8IvYWyGdDCyVpE9AUaFbwpY2bMKhID0xBMZ4XBGxJaYF9TFBLOxQzekLCnCARw0vssCHgPbD90AZSBdkNN4ObaBCz3shQRmIDs61Ynso0euzGOXe4eN3gCq3Mi4Xi3CTL3ix27VB6zXGs5BFz5BYDDwpYfeODs78qArAZZEsAVwJVPANjDrrS5AJ5zT8B0EdRzgRHqEvhYgSWGsswA1YPPPBG8FXi1wBJDWRHAiW6l8PaJwAh9FfgwgSWGsiJgHTytFd7yQ0jJaAEOiK8D0qhwfqfA+PV3TeCEFAEdHttEcBYE8MtvvfCSn70fBU5ogsCfCix4aAg8vA41mxn7usrjPfcLZnm07Rs99kHDR+CdHYS5vwuc5ChhoMbOvjYo45CxNXDupyeY1RGOnxJ1nkbYB1nEAPmVZ/egub9cxuN7ot6FMnWCKt4JbzjDm4DtK2fySRHeLvTU2xJRJ1FRmpuLqfDkNNT9vDUO8sNnO/SVAcT1sMAI8ZD0XydBHr/x/PEa9AE0dalHiyegXNLs3rbvf6NsFzRKSKAvc+y2ktzzoHVJlBOVlE2GEcf4ISh3cuzZKKdYfhBaTvbAIKqdtMo4Me+2neE+nWd17dDuMvoO5XEcYVbwhKcSOQCjOG0nsWVGbjJOnR+gF99Bu3PNSyq4ToTNG2iSwOLU7cS7RnMz8hqqtp6A/0nY6yehZ6FMtzgyE8aHoTOgvo1SnPZoy3MEHrhW88ERvqvqGzQOcz5bEnkUOg4amsyHQ+xx1/erdDQpARxC3PWluaTSr7TlGBp0Ceik0yrVLgLnkmELWdxnA733B3EliaFLu3BwJDG19u4Qxpw1XQb5rE57RfVBhzg8Xf+7fOcBNHRFZQptlK1bN4TnZcKJFhLgC0zYSygPBDBG/jLlSlOcDHAr5+l5DpwdLxz2EiBscw0tF94zc5t9GSDsEw8V1WZWmBr/T/DyzjgE+JzNwxygMuAmA0pjEvQREwrOnels4UwTMV8G5KFXRUwSYu+rla4vA2StAoFq/L9DfI8Zoy8D4sQferao8c/055lALAJUGsUhajBs+a2zSLy4Z/wT902CofeqiElC84DWiZKe8U88jSEg2g8GUunPM8rbxsM0CAg5W9QEeB/Bf0iTANNWiFeVAX3jnw7HyYC8TYJTEF+D6JWKCAg5rUVMElK9T8O+CZAPvlWAZZVKqGSp8d+BoNrswOIMAbteHu5VBtxwHS8qASMQKH8LcKVk/LPQR4BK6zxNgtz9kQRXSsY/C30EuBWjnhVZUfZZlKnx/w0v5r/mlAgJyFPPljgf8aAIYPD9/gGTBITYgxGxlS2qgYWaAPuNf7aUxhAo61GGBsPxrjNQ/tLsiiSA6a8ygOvlZ6eFUXhWDZesq06dLB8ZB4+/1PE3U78eyp/f+wkrFl2ZFV7hyUiRCXiI+NSZQA8hnANae+6K+acZYTVC+a+3XtmGEh4SFCkL+K94x6G10EgxewAeHZEpLiF5FZ7/cbPzCHql9x6X//KfgSgG/gK9mIkzqc2oKwAAAABJRU5ErkJggg=="; +const _imports_11 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAA4CAYAAABNGP5yAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAQKADAAQAAAABAAAAOAAAAACP8+m+AAADhUlEQVRoBe2aS4hPURzHZ7zfj4USmTGTkGcodiRRNh5JNsooO7NhgyJSyoayIDbySFlYkLLwyAaRR5Ty2DCTJPIYeYfx+U5z9O/M+f/N/zf3/q//vfdX3+4959zze3zP6557T01NxqU2EP8M8prAPDAaVLN8x/lWcBEcA+9AURlCyVHwG7SnEG3EtAEERcHfAmkM3I9pd4iBUxkJ3pGxwpGgOWAuUOv7cpuM60DjqFplOI4vA2O8AJ6TngB+Kf8QcMy46zbyQhOknq82GYbDV4GLzV0Xu0AeeoV3XUGKrg3E4k/uOxVfL+AvdWIrbfKMgF54QdUrLQL6ewXfvHRakp+8QHorLQIyLTkBmW5+gs98D+jTwx4wivpDe6jDr/6WDL23V0SsBDTi3XkwJSYvr6B3Ofgck/6/aq1DQG+KcQUv5xaB9bqJW6wEdLxExOzc+Jj1d6i3EvCkAs49qoAN8yqwB+cugx8xOPkFnSfBiRh0d1FpnQRfoUm7Kb1OarcVpbyPUtm/dFkJcHq1n66ow85wVFfrHBCV/cT15AQk3gQJO5D3gIQbIHHzme8B1mVQxK0DC8GABJuxFdsHgb75mcRKQDPWDpgsRl9pNSonAdO3TOsQWBJ9HGaNddQ070ytBMSxBzAzQEVT68uglYDj1NWPhv9BbuLEY6sj1jngHAZngwVgoNV4BPVa0HEWmBvDSoB8f9AJ3VetWIdA1QbsO54T4DOStXTeA7LW4n68eQ+AkXaPlb5eOi1Jv7E73h2U+caLcJqXTkNSh6UavEBeu/QZbtQLHPSld74rTMl1X0F8Ls41iq0WrAIioVC+ktgPLgH/aEnhc1Hda3OlP0E/y1SoHqweW2zY1lO2FqwEhfKRRB1oU6Z+buhMoGMmqatOq80E3ZURPHgfWPzd7huZTIbmAouyKOvoUOYO0J09yiajv/r1HtQ/nYKnRqVRkiBdd8BUUEo2Uliu3dPUKbl7HcQDm4G1a5XrUKnn9ZFjK9AQDclgMq+BUjpUJj0XwFLQRTQJFhMdfRkLZChOGYdyzdKNRYzoHHMTCH30kP9a3kaCkHwgswWUO7mGdMWap265t9PRUItqVdoCivUGitIhswjjHgiRoLwbQF+AUy39iG4X0IoQIuIl+XEPS0wkL3rB0QfPEAlzknevMh5ozGu913E5R4R6gFarTMlEoj0MjgC9tEUmfwCaJfF0KbQc/QAAAABJRU5ErkJggg=="; +const _imports_12 = "" + buildAssetsURL("collect-icon-colours.6d2ade7f.svg"); +const _imports_13 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAAEk0lEQVRoBd2YW6hVVRSGzXtw8pJkYeU5aZqVIWKgYdDxAkUpYqGJgdhDEliKCYqYGfRi2YV6SBQUxKAbPYRXEMQEfSuULkIXFBMpE6zUvKX1/bLH4W+59t5rudfu7O2Af8855hxzjH/MOddcc+0uXZpcutWRf298TwTnwKk6xqmb6814/gecAG2gqWQSbEU+sL6p2EP2CyOvJC6Au0BTSDssY+a9XNsU7CG5q0wCWoU20NDyMOx81t9FP29taxqaPeR2GtnfqLeAddamZFpBQ8o4WPnsLymxFGFfhfcakj2ktoNIQGf/TUZ0g/WdpX679TVEdQwsLoNIYFmC1VD0i9b/TqK/09UtRu4k9b4pjDaajVZhUIpNpzSNJqrP/ooyLO6m3VfhzTJ2/3vz50SMrfM79X4VGHxgtmeoD6xgW9cuBR4PXgQ++6+iV5J76bwEIuGPqD8G9Ix0B7nlhgojbqZvWAnDS6W2gdrS9vgftOu+o2egkoj00ykG2l6HwA/g+1L5Y6k8QqmJukqUQE/wBBgJgqhIKoE88hrGr2QYcD82B0C3DLZhovfIT8AT08FxTAbbQCxp3vI0Y/eDt4EmIqvMxHA3+AXkjRn2fzL2Dq3AcXALKCfKPpZSyxtQ29Fyg3K098E2tmqU2gnargOq+Jms/hdAZBXlZ7Spsw10BZ0l2sZjwUvAH37x3AM6tuFiFD9NNOtPgkaQWyHxNYjJDfJ+VbnC83l+Pcu/0Z+50tN5P7cR+lvg5Hejt4BUeY7WZBJzUi3r3ziYEHrenPx29BurhZ6NwUUbqJV4ttqggvtb8adj08lvRe+dNc4sDD0JPR/zsw6u0U4n0c/AyW9G75XX7wwGXDBHSmJhXic57e/BXkezk/8YvUdOPx3mU6jpn7VwqCQWdfQWW9E9SW/WiKXyQ9Ad1CTJJOR4SU0erx48iiZ9Qzv59eiFvYMexdlfFkAroTtNUaLriJNfg65bQqEyDW8eZEKB3n3r6LaamXyeJTqVIHwwodeiui9dEDVRmSRPAg+YxxPUdZMsSvS2Dcm1NfMk4I6/iWgFlZ7ASHzWZQvJcUjRCbi/FoK0RqBqZdYV0IzcZ858xqz5mqtKwPe9T1ZFp1kTuBMvfc2Tz5g1/6f6ENpbYC6o9ibV97TewCGZE4gB1crHMfAjVB8a5UQr9QnQuyLGHKY+D3R8gFBPin/abkp21qrrzRtkdNFKk1Ya1wLdXsM2WWrrzQBpD+kbNu4r6oXKRrwFmR0Jz4PQ9eb0i1/YprWpbx9oBy5zUGLcWeo134Hc+ZfmfHWpQ9toFfArRhA4XerrTzkV6G+U6PNyJ+0PAskY4H26mRYi2rdOcj76UnASeEDV9S2tbaRPQRcdFto6yY+UGK9ExgLffk+hFyL6wIhAQdJ11RV4AxgMKkkvOheAX0Gaj0vWvpJ6ITIdL8lgoeuk+RSMyBlJL6uXgf4MDl/JUn4LkRV4STqXrodZ+7YW0XP0OjgDkjG+q8Wxj12ecL4X/RE3KKCuk+x94KdWlpdlptA6SfRduhVMyTTi2o2GMFSHwC7QDq5/+RffN6xPYNWQnAAAAABJRU5ErkJggg=="; +const _imports_14 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAADpUlEQVRoBe2ZO2gVQRSGTXxEo4UJYuEjGkHBoCjaKqIWViKIKFgJVkpANGlErGORSkUURBAFGy3FwkZFfKOJDxBBBG0EwfiM78f3x2wye+7c3b25s5uL5MB/d845M3P+M7MzO7u3blyyNCW7U72fqfE9tVa8wlRUtRuRTKFVJ+gBCvynSqiPE6AOpMlsKjwGinkJNIOKpIXaj0C1pH3t12Zg0m1iP0EXp0SpH/Rq5C+CJYm1R+5UUmnSbyq0od8AS43dq3Zg9Y1ctbZv9HsMZLmFplOv18OjD9sakCgP8Lpkr6FrBLSIq8Ek2lciSuIKcLmo/AVsAV7R6NgFu8hbsxjjZMKcBzaJX9jaLQWRbwR225qI7aetnJOu3UaLfCVYDLQbzQCtwCddGA8AJTggSsBmO2HQl9dFe/0OoFtVA2Xjp+mnaDMkRSYwjaj7wRuQRjLNvz7KoKgENhLwZQDiUWKbi0qggUDHU4g/x38S7AYbgNbDMnAQRITd623sQztcnjOgBXqzDAltHEfBCuCT7Rj1HHGJq6xjhm7FIckrgZlE8B1NtB1qRuQvJ/tw/AaW/Gls2iFjkkcCGqG7wBLQGlgVix5XtK13A9tO+iEgf4nkkcAFolgSt7Bpfy8n9TjOAttOM7anXCPZQyewiz4tCe332vuTZCtO2+4rtm1JjeQLmcAs+vsAXCI6FuuMkybtVHDbvUdfl9ZI/pAJnKE/l8Qn9DYFySBK8iFQ+xdgOcgkoRJYSDR7LOjMxGC40niKC0DJTjNcpbQUKgGd+93Rf1YpkVJq2SwhEtDT9i1wE9iZLXxFteZSWw+/I2BO1DJEApvozCX/Dl2vqaHlHh1Gce5EnYdI4LDTsQLEjrtRoCqvmmX36axygx4eIWS16eSy0UOoWuDuk1hl2areRjUI/SCaWl3ngdDiu1MaQ8yAFpN7vyuZV6HZl+svRALNpvPX6Lo/C5EQCWhqXfnoKnmXQyTwFJI6MkRyPSoUdfUtjkq/SuiMfw50Ab0L5CE+ngOz73NUmkAehG2fPp5BdiEbqFA9xBoolLANNpaAHZGi9bEZKHrEbbyxGbAjUrT+X8yAPh79MCPXYvRaUOcbEvpbTP+dDUgPv+4Lid6o8ngp+Ret8t9WmlwFLsf7bjcdxulWrNXyXjcBvVH5PoXXKvle+OrfzJjovo8+7dUqcfESeX0f8oqy0tToj2/fvyOjlZi46J4Xt9jIu58p8JVIU4lldAx95cL+BRfIP0NGsZjIAAAAAElFTkSuQmCC"; +const _imports_15 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAACWUlEQVRoBe2Zyy4sURSGm7QBI2dESI4WyTFhxuQ8BPEQLhPEROI2FzPxHNIJOZwnOE9gSjsuESNDA9f/a7WS1a2LiC69S/ZK/uy1V7H3vy5VvatWofBaumSaE/4KF8Kd8JSCBdk/K6yRtj57w+FQmBU6hTdlSlcvhbQF6+1ZO1C/H85MeA/a3WRJ+q7Q52yhqf0iVBYWjVhbohB5yNscc0XYS8ZbDA3kn2xHDewfMY3oj3+n/AMlMyhMCiXB5FEKnOFXoOZ92TxoviIUhVCkQ0RWBbhZWZ1Lr94T3LBmZIR8qLImYp7rDER52pjxWHpIkYefFzJREYzvATcxNWiyL+XeJgGOPFardZ9wG8WBHkf0zOmhqv8dsV4c8CUTcvSNt+dYxIFcS3Sg1emLGWh1Bjj7VH/NEiLNONtk7dNbZ6es947rxwjECMQI1EWAx+i4sCx0110LfXojgls4wAtCScijVDhK8HaTV3kiA2MCJfQjZ15QQps54xzpxgjECHy7CPAYzf0LjX2mY2zG9/6ss1zTEIkv9VmH+731Ywbei1DW179FBmq+9mYdsSasX/M1nQxcu0V/Oj1UteSIXaHTRLbfghPptHFCFbidCsb3D0TpgJuBkW5gqLIhYp7rNERpVV64C7Qy6QaGlAm4rAu+zXqmeSdnIYT2fVnwT6VTzWn60blsZaN7SPvDb0AwodGNrVpCZlyU4j30qUrTOZd8Vlgjbf1GdjjO26Y+4tsy0r6nnEIVuvNEfscIegew0YP9JXBjHwiXgv+d0PRLhb3hQKlw7B9OdA0v8gypmLKP2lSLggAAAABJRU5ErkJggg=="; +const _imports_16 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAADEElEQVRoBe2Zy4tSURzH59YtJRMqcEhdaUyil6DUoQJr2boHEk0DRctes2hTtAp6bIJeULSJiB6UmbPptWjwH3BrBKKudKe4zFL7/oZ7Z47He9W5i3tOcA/cub9zuMf7+fx+5z4cZ2bc5mbAzYCbAZEZUJw+uaZp271ebx7nPYztRTQavZbL5Xp2OTbZnWh3HuAXMfcYNj+2pVqt9jKbzW62+3mOCyiK0mRhB4PBYrVafWVXwrY5C7GRuNFo/AqFQrOYM8/M29dut+cymcxyuVweMOMTQ8cFiKjZbH6FxC6EBxlCkojHYrFCvV7vM+NjQyECRASJb5DYiZCV0Lrd7oYkhAnoEt8tJBIYX4bkxEoIFWAkdiA+RH29JbCPTyMhXICAkWmqxIgE7lBUicK4SkghoEvQNeFFnKE+NdxyE5MkpBEgYGT6h5kERLRgMGhaCakEGAkP4iPU11sc+6TP58u3Wq2h1w7pBAiYKhEOh7ciZCX24jXkAC8hpQBJ4Im9YiExVAlpBQwJrP0tuAaOUl9vc6jEmoTUAgSM5bRiJuHxeFJ47cgr82i9Xu8WLOkFS+a2H3BDCcct9rna7/ffAX6PzORWbOA+Td8Htlkd8B+MD1SU4QJM7gM2JDkwvbny7b3j34l5gmn6yWTyNpJ8kzv2S6fTOTl0UXAHSNFNp9N3AMLDfwb8qUql8lvqCqRSqbuAv8Flcg2exh3/Us/BWHbN4LGMPmHCCcq8MVE1Apn2gL8HnussE2429L+kM6VS6Q87LtsSUgD/AIBLLCTBI/sj8HSMTAKm8GD8iG2BzzzBU5NFgOAfgufqKtX6n7HwdJgMFzHBPwILD5/z+/2my2bdT3wFDPgrLBRigl8oFot/ufGRrsgKKHjCPgYRD/9hWniyEfUkVvCEfYLzXyYIphH82Wkyb8wRUgGs+ae4NV4yIPT9W/xWMNWyYec5fhcC/HEAFFgIxG8Af87ODx0insS7WXg8oF5HIpHzduDpcxy/BgKBwE9VVZM49yzgnwH+ol14NhFu7GbAzYCbATEZ+Ad9hheLGRG4rAAAAABJRU5ErkJggg=="; +const _imports_17 = "" + buildAssetsURL("QR-code-icon.a546cc6a.svg"); +const _sfc_main = { + __name: "[id]", + __ssrInlineRender: true, + async setup(__props) { + let __temp, __restore; + const route = useRoute(); + let uniqid = route.params.id; + inject("isNeedLogin"); + inject("goLogin"); + useHead({ script: [{ src: "https://app.gter.net/bottom?tpl=header&menukey=mj" }, { src: "https://app.gter.net/bottom?tpl=footer", body: true }] }); + let contentRightRef = ref(null); + let contentRightHeight = ref(null); + ref(false); + const clearAllData = () => { + uniqid = route.params.id; + info.value = {}; + qrcode.value = ""; + iscollection.value = 0; + isdisplay.value = true; + islike.value = 0; + ismyself.value = 0; + relatedlist.value = []; + relatedcount.value = 0; + pitchIndex.value = null; + seo.value = {}; + commentCount.value = 0; + commentPage.value = 1; + commentList.value = []; + commentLoading = false; + token = ""; + }; + let floorRightState = ref(false); + let transmitBoxState = ref(false); + let info = ref({}); + let qrcode = ref(""); + let iscollection = ref(0); + let isdisplay = ref(true); + let islike = ref(0); + let ismyself = ref(0); + let detailsLoading = ref(false); + const getDetails = () => { + if (detailsLoading.value) + return; + detailsLoading.value = true; + detailsHttp({ uniqid }).then((res) => { + if (res.code != 200) { + ElMessage.error(res.message); + return; + } + let data = res.data; + token = data["token"]; + info.value = data["info"]; + seo.value = data.seo; + iscollection.value = data.iscollection; + isdisplay.value = data.isdisplay; + islike.value = data.islike; + ismyself.value = data.ismyself; + qrcode.value = data["share"]["qrcode"]; + if (relatedlist.value.length == 0) + getRelatedlistHttp(); + else + CalculateSelectedList(); + detailsLoading.value = false; + getCommentListHttp(); + }); + }; + const CalculateSelectedList = () => { + let targetRelatedlist = [...relatedlist.value]; + targetRelatedlist.forEach((element, index) => { + if (element["uniqid"] == uniqid) + pitchIndex.value = index; + }); + if (pitchIndex.value == null) { + targetRelatedlist.unshift({ + avatar: info.value["avatar"], + interviewtime: timestampToDate(info.value["interviewtime"]), + profession: info.value["profession"], + project: info.value["project"], + releasetime: info.value["releasetime"], + subject: info.value["subject"], + uniqid, + username: info.value["nickname"] + }); + relatedlist.value = targetRelatedlist; + pitchIndex.value = 0; + } + }; + let relatedlist = ref([]); + let relatedcount = ref(0); + let relatedpage = ref(1); + let relatedloading = false; + let pitchIndex = ref(null); + const getRelatedlistHttp = () => { + if (relatedloading || relatedpage.value == 0) + return; + relatedloading = true; + relatedlistHttp({ token, page: relatedpage.value }).then((res) => { + if (res.code != 200) + return; + let data = res.data; + relatedlist.value = relatedlist.value.concat(data.data); + relatedcount.value = data.count; + if (relatedlist.value.length >= data["count"]) + relatedpage.value = 0; + else + relatedpage.value++; + CalculateSelectedList(); + }).finally(() => { + relatedloading = false; + }); + }; + let seo = ref({}); + let commentCount = ref(0); + let commentComments = ref(0); + let commentPage = ref(1); + let commentList = ref([]); + let commentLoading = false; + let token = ""; + let isEmptyState = ref(false); + const getCommentListHttp = () => { + if (commentPage.value == 0 || commentLoading || detailsLoading.value) + return; + commentLoading = true; + getRelatedlistHttp(); + detailsCommentListHttp({ + page: commentPage.value, + childlimit: 1, + limit: 10, + token + }).then((res) => { + if (res.code != 200) + return; + let data = res.data; + commentCount.value = data["count"]; + if (data["count"] == 0) + isEmptyState.value = true; + else + isEmptyState.value = false; + commentList.value = commentList.value.concat(data["data"]); + commentComments.value = data["comments"]; + if (commentList.value.length == data["count"]) + commentPage.value = 0; + else + commentPage.value++; + }).finally(() => commentLoading = false); + }; + let scrollTopValue = ref(0); + const handleScroll = () => { + const scrollTop = document.documentElement.scrollTop || document.body.scrollTop; + scrollTopValue.value = scrollTop; + const scrollHeight = document.documentElement.scrollHeight; + const clientHeight = document.documentElement.clientHeight; + if (scrollTop + clientHeight >= scrollHeight - 40) + getCommentListHttp(); + }; + let commentInputTop = ref(""); + let commentInput = ref(""); + const timestampToDate = (timestamp) => { + const date = new Date(timestamp * 1e3); + const year = date.getFullYear(); + const month = (date.getMonth() + 1).toString().padStart(2, "0"); + const day = date.getDate().toString().padStart(2, "0"); + return `${year}-${month}-${day}`; + }; + onUnmounted(() => window.removeEventListener("scroll", handleScroll)); + const getFullUrl = () => { + return; + }; + let copyText = (text) => { + if (navigator.clipboard) { + copyText = () => { + navigator.clipboard.writeText(text); + ElMessage({ + message: "\u590D\u5236\u6210\u529F", + type: "success" + }); + }; + } else { + copyText = () => { + var tempInput = document.createElement("input"); + tempInput.value = text; + document.body.appendChild(tempInput); + tempInput.select(); + document.execCommand("copy"); + document.body.removeChild(tempInput); + ElMessage({ + message: "\u590D\u5236\u6210\u529F", + type: "success" + }); + }; + } + copyText(); + }; + useRouter(); + let reportAlertShow = ref(false); + let reportToken = ref(""); + provide("reportAlertShow", reportAlertShow); + provide("clearAllData", clearAllData); + provide("getDetails", getDetails); + { + try { + [__temp, __restore] = withAsyncContext(() => detailsHttp({ uniqid }).then((res) => { + if (res.code != 200) { + ElMessage.error(res.message); + return; + } + let data = res.data; + token = data["token"]; + info.value = data["info"]; + seo.value = data.seo; + iscollection.value = data.iscollection; + isdisplay.value = data.isdisplay; + islike.value = data.islike; + ismyself.value = data.ismyself; + qrcode.value = data["share"]["qrcode"]; + if (relatedlist.value.length == 0) + getRelatedlistHttp(); + else + CalculateSelectedList(); + detailsLoading.value = false; + getCommentListHttp(); + })), await __temp, __restore(); + [__temp, __restore] = withAsyncContext(() => relatedlistHttp({ token, page: 1 }).then((res) => { + if (res.code != 200) + return; + let data = res.data; + relatedlist.value = data.data; + relatedcount.value = data.count; + CalculateSelectedList(); + })), await __temp, __restore(); + } catch (error) { + } + } + const isBrowser = computed(() => { + return false; + }); + const sendMessage = (uin) => { + redirectToExternalWebsite(`https://bbs.gter.net/home.php?mod=space&showmsg=1&uid=${uin}`); + }; + const TAHomePage = (uin) => { + redirectToExternalWebsite(`https://bbs.gter.net/home.php?mod=space&uid=${uin}`); + }; + const redirectToExternalWebsite = (url) => { + const link = document.createElement("a"); + link.href = url; + link.target = "_blank"; + link.click(); + }; + return (_ctx, _push, _parent, _attrs) => { + var _a, _b, _c, _d, _e, _f, _g, _h, _i; + const _component_Head = Head; + const _component_Title = Title; + const _component_Meta = Meta; + const _component_TopHead = __nuxt_component_3; + const _component_el_popover = ElPopover; + const _component_Empty = __nuxt_component_4; + const _component_Report = __nuxt_component_6; + const _directive_loading = vLoading; + _push(``); + _push(ssrRenderComponent(_component_Head, null, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(ssrRenderComponent(_component_Title, null, { + default: withCtx((_2, _push3, _parent3, _scopeId2) => { + if (_push3) { + _push3(`${ssrInterpolate(`${unref(seo)["title"] || "\u9762\u7ECF"} - \u5BC4\u6258\u5929\u4E0B\u51FA\u56FD\u7559\u5B66\u7F51`)}`); + } else { + return [ + createTextVNode(toDisplayString(`${unref(seo)["title"] || "\u9762\u7ECF"} - \u5BC4\u6258\u5929\u4E0B\u51FA\u56FD\u7559\u5B66\u7F51`), 1) + ]; + } + }), + _: 1 + }, _parent2, _scopeId)); + _push2(ssrRenderComponent(_component_Meta, { + name: "keyword", + content: unref(seo)["keyword"] + }, null, _parent2, _scopeId)); + _push2(ssrRenderComponent(_component_Meta, { + name: "description", + content: unref(seo)["description"] + }, null, _parent2, _scopeId)); + } else { + return [ + createVNode(_component_Title, null, { + default: withCtx(() => [ + createTextVNode(toDisplayString(`${unref(seo)["title"] || "\u9762\u7ECF"} - \u5BC4\u6258\u5929\u4E0B\u51FA\u56FD\u7559\u5B66\u7F51`), 1) + ]), + _: 1 + }), + createVNode(_component_Meta, { + name: "keyword", + content: unref(seo)["keyword"] + }, null, 8, ["content"]), + createVNode(_component_Meta, { + name: "description", + content: unref(seo)["description"] + }, null, 8, ["content"]) + ]; + } + }), + _: 1 + }, _parent)); + _push(`
`); + _push(ssrRenderComponent(_component_TopHead, null, null, _parent)); + _push(`
${ssrInterpolate(unref(info)["subject"])}
`); + _push(ssrRenderComponent(_component_el_popover, { + placement: "bottom-start", + width: 140, + trigger: "click", + "popper-class": "avatar-box-popper", + "show-arrow": false + }, { + reference: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(``); + } else { + return [ + createVNode("img", { + class: "mj-avatar", + src: unref(info)["avatar"] + }, null, 8, ["src"]) + ]; + } + }), + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + if (unref(info)["uin"]) { + _push2(``); + } else { + _push2(``); + } + } else { + return [ + unref(info)["uin"] ? (openBlock(), createBlock("div", { + key: 0, + class: "avatar-box flexflex" + }, [ + createVNode("a", { + class: "avatar-item flexcenter", + target: "_blank", + onClick: withModifiers(($event) => sendMessage(unref(info)["uin"]), ["prevent"]) + }, [ + createVNode("img", { + class: "avatar-icon", + src: _imports_1 + }), + createTextVNode(" \u53D1\u9001\u4FE1\u606F ") + ], 8, ["onClick"]), + createVNode("a", { + class: "avatar-item flexcenter", + target: "_blank", + onClick: withModifiers(($event) => TAHomePage(unref(info)["uin"]), ["prevent"]) + }, [ + createVNode("img", { + class: "avatar-icon", + src: _imports_2 + }), + createTextVNode(" TA\u7684\u4E3B\u9875 ") + ], 8, ["onClick"]) + ])) : createCommentVNode("", true) + ]; + } + }), + _: 1 + }, _parent)); + _push(`
${ssrInterpolate(unref(info)["nickname"] || "\u533F\u540D\u7528\u6237")}
${ssrInterpolate(("handleDate" in _ctx ? _ctx.handleDate : unref(handleDate))(unref(info)["releasetime"]))}\u53D1\u5E03
`); + if (unref(isBrowser)) { + _push(`
${ssrInterpolate(unref(info)["views"])}
`); + } else { + _push(``); + } + _push(`
\u7533\u8BF7\u4FE1\u606F
`); + if (unref(info)["school"]) { + _push(``); + } else { + _push(``); + } + if (unref(info)["profession"]) { + _push(`
\u4E13\u4E1A
${ssrInterpolate(unref(info)["profession"])}
`); + } else { + _push(``); + } + if (unref(info)["project"]) { + _push(`
\u9879\u76EE
${ssrInterpolate(unref(info)["project"])}
`); + } else { + _push(``); + } + _push(`
\u9762\u8BD5\u65F6\u95F4
\u65E5\u671F
`); + if (unref(info)["interviewtime"]) { + _push(`
${ssrInterpolate(timestampToDate(unref(info)["interviewtime"]))}
`); + } else { + _push(``); + } + _push(`
\u9762\u8BD5\u8FC7\u7A0B\u53CA\u5185\u5BB9
`); + if (unref(info)["message"]) { + _push(`
${unref(info)["message"]}
\u4F5C\u8005\u8BBE\u7F6E\u4E86\u6D4F\u89C8\u9650\u5236
\u201C\u56DE\u590D/\u70B9\u8D5E\u201D
\u540E\u5373\u53EF\u67E5\u770B\u5B8C\u6574\u5185\u5BB9
`); + } else { + _push(``); + } + _push(`
\u8BA8\u8BBA
${ssrInterpolate(unref(commentComments) || "")}
\u53D1\u9001
`); + if (unref(isEmptyState)) { + _push(`
`); + _push(ssrRenderComponent(_component_Empty, { hint: "\u8BF4\u8BF4\u4F60\u7684\u89C2\u70B9\u5427" }, null, _parent)); + _push(`
`); + } else { + _push(`
`); + ssrRenderList(unref(commentList), (item, index) => { + _push(`
`); + _push(ssrRenderComponent(_component_el_popover, { + placement: "bottom-start", + width: 140, + trigger: "click", + "popper-class": "avatar-box-popper", + "show-arrow": false + }, { + reference: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(``); + } else { + return [ + createVNode("img", { + class: "comment-avatar", + src: item["avatar"] + }, null, 8, ["src"]) + ]; + } + }), + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + if (item["uin"]) { + _push2(``); + } else { + _push2(``); + } + } else { + return [ + item["uin"] ? (openBlock(), createBlock("div", { + key: 0, + class: "avatar-box flexflex" + }, [ + createVNode("a", { + class: "avatar-item flexcenter", + target: "_blank", + onClick: withModifiers(($event) => sendMessage(item["uin"]), ["prevent"]) + }, [ + createVNode("img", { + class: "avatar-icon", + src: _imports_1 + }), + createTextVNode(" \u53D1\u9001\u4FE1\u606F ") + ], 8, ["onClick"]), + createVNode("a", { + class: "avatar-item flexcenter", + target: "_blank", + onClick: withModifiers(($event) => TAHomePage(item["uin"]), ["prevent"]) + }, [ + createVNode("img", { + class: "avatar-icon", + src: _imports_2 + }), + createTextVNode(" TA\u7684\u4E3B\u9875 ") + ], 8, ["onClick"]) + ])) : createCommentVNode("", true) + ]; + } + }), + _: 2 + }, _parent)); + _push(`
${ssrInterpolate(item["nickname"])}
${ssrInterpolate(("handleDate" in _ctx ? _ctx.handleDate : unref(handleDate))(item["timestamp"]))}
`); + if (item["isauthor"]) { + _push(`
\u4F5C\u8005
`); + } else { + _push(``); + } + _push(`
${ssrInterpolate(item["content"])}
`); + if (item["childState"]) { + _push(`
\u53D1\u9001
`); + } else { + _push(``); + } + if (item["child"].length > 0) { + _push(`
`); + ssrRenderList(item["child"], (ite, i) => { + var _a2, _b2; + _push(`
`); + _push(ssrRenderComponent(_component_el_popover, { + placement: "bottom-start", + width: 140, + trigger: "click", + "popper-class": "avatar-box-popper", + "show-arrow": false + }, { + reference: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(``); + } else { + return [ + createVNode("img", { + class: "comment-avatar", + src: ite["avatar"] + }, null, 8, ["src"]) + ]; + } + }), + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + if (item["uin"]) { + _push2(``); + } else { + _push2(``); + } + } else { + return [ + item["uin"] ? (openBlock(), createBlock("div", { + key: 0, + class: "avatar-box flexflex" + }, [ + createVNode("a", { + class: "av atar-item flexcenter", + target: "_blank", + onClick: withModifiers(($event) => sendMessage(ite["uin"]), ["prevent"]) + }, [ + createVNode("img", { + class: "avatar-icon", + src: _imports_1 + }), + createTextVNode(" \u53D1\u9001\u4FE1\u606F ") + ], 8, ["onClick"]), + createVNode("a", { + class: "avatar-item flexcenter", + target: "_blank", + onClick: withModifiers(($event) => TAHomePage(ite["uin"]), ["prevent"]) + }, [ + createVNode("img", { + class: "avatar-icon", + src: _imports_2 + }), + createTextVNode(" TA\u7684\u4E3B\u9875 ") + ], 8, ["onClick"]) + ])) : createCommentVNode("", true) + ]; + } + }), + _: 2 + }, _parent)); + _push(`
${ssrInterpolate(ite["nickname"])}
${ssrInterpolate(("handleDate" in _ctx ? _ctx.handleDate : unref(handleDate))(ite["timestamp"]))}
`); + if (ite["isauthor"]) { + _push(`
\u4F5C\u8005
`); + } else { + _push(``); + } + _push(`
`); + if ((_a2 = ite == null ? void 0 : ite.reply) == null ? void 0 : _a2.nickname) { + _push(`
@${ssrInterpolate((_b2 = ite == null ? void 0 : ite.reply) == null ? void 0 : _b2.nickname)}
`); + } else { + _push(``); + } + _push(` ${ssrInterpolate(ite["content"])}
`); + if (ite["childState"]) { + _push(`
\u53D1\u9001
`); + } else { + _push(``); + } + _push(`
`); + }); + _push(`
`); + } else { + _push(``); + } + if (item["childnum"] > item["child"].length) { + _push(`
\u8FD8\u6709${ssrInterpolate(item["childnum"] - item["child"].length)}\u6761\u56DE\u590D
`); + } else { + _push(``); + } + _push(`
`); + }); + _push(`
`); + if (unref(commentPage) == 0 && unref(commentList).length != 0) { + _push(`
\xB7 End \xB7
`); + } else { + _push(``); + } + _push(``); + } + _push(`
`); + if (unref(islike) == 1) { + _push(``); + } else { + _push(``); + } + _push(` ${ssrInterpolate(unref(info)["likenum"] || "")}
${ssrInterpolate(unref(commentComments))}
`); + if (unref(iscollection) == 1) { + _push(``); + } else { + _push(``); + } + _push(` ${ssrInterpolate(unref(info)["favnum"] || "\u6536\u85CF")}
`); + _push(ssrRenderComponent(_component_el_popover, { + placement: "bottom", + width: "628px", + trigger: "click", + "popper-style": "padding: 0;border-radius: 10px;", + visible: unref(transmitBoxState), + "onUpdate:visible": ($event) => isRef(transmitBoxState) ? transmitBoxState.value = $event : transmitBoxState = $event + }, { + reference: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(`
\u8F6C\u53D1
`); + } else { + return [ + createVNode("div", { class: "item flexacenter" }, [ + createVNode("img", { + class: "icon", + src: _imports_14 + }), + createTextVNode("\u8F6C\u53D1") + ]) + ]; + } + }), + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(`
\u8F6C\u53D1\u7F51\u9875\u7248
${ssrInterpolate(unref(info)["subject"])}
${ssrInterpolate(getFullUrl())}
\u590D\u5236\u94FE\u63A5
\u8F6C\u53D1\u5C0F\u7A0B\u5E8F\u7248
\u626B\u7801\u8F6C\u53D1\u8BE5\u95EE\u7B54
`); + } else { + return [ + createVNode("div", { class: "transmit-box flexflex" }, [ + createVNode("img", { + class: "cross-icon", + onClick: ($event) => isRef(transmitBoxState) ? transmitBoxState.value = false : transmitBoxState = false, + src: _imports_1$1 + }, null, 8, ["onClick"]), + createVNode("div", { class: "transmit-left transmit-web" }, [ + createVNode("div", { class: "transmit-title" }, "\u8F6C\u53D1\u7F51\u9875\u7248"), + createVNode("div", { class: "transmit-content" }, [ + createVNode("div", { class: "transmit-headline" }, toDisplayString(unref(info)["subject"]), 1), + createVNode("div", { class: "transmit-url" }, toDisplayString(getFullUrl()), 1) + ]), + createVNode("div", { + class: "transmit-web-btn flexcenter", + onClick: ($event) => unref(copyText)(`${unref(info)["subject"]} + ${getFullUrl()}`) + }, "\u590D\u5236\u94FE\u63A5", 8, ["onClick"]) + ]), + createVNode("div", { class: "transmit-right transmit-mini" }, [ + createVNode("div", { class: "transmit-title" }, "\u8F6C\u53D1\u5C0F\u7A0B\u5E8F\u7248"), + createVNode("div", { class: "transmit-content flexcenter" }, [ + createVNode("img", { + class: "transmit-mini-img", + src: unref(qrcode) + }, null, 8, ["src"]), + createVNode("div", { class: "flexcenter" }, [ + createVNode("img", { + class: "give-sweep", + src: _imports_15 + }), + createTextVNode(" \u626B\u7801\u8F6C\u53D1\u8BE5\u95EE\u7B54 ") + ]) + ]) + ]) + ]) + ]; + } + }), + _: 1 + }, _parent)); + _push(`
\u624B\u673A\u67E5\u770B\u8BE5\u6295\u7968 `); + _push(ssrRenderComponent(_component_el_popover, { + placement: "bottom", + width: "160px", + trigger: "hover", + visible: unref(floorRightState), + "onUpdate:visible": ($event) => isRef(floorRightState) ? floorRightState.value = $event : floorRightState = $event, + "popper-style": "padding: 24px;border-radius: 18px;" + }, { + reference: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(`
`); + } else { + return [ + createVNode("div", { class: "QR-code-ball flexcenter" }, [ + createVNode("img", { + class: "", + src: _imports_17 + }) + ]) + ]; + } + }), + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(``); + } else { + return [ + createVNode("img", { + class: "examine-code", + src: unref(qrcode) + }, null, 8, ["src"]) + ]; + } + }), + _: 1 + }, _parent)); + _push(`
`); + if (unref(reportAlertShow)) { + _push(ssrRenderComponent(_component_Report, { reportToken: unref(reportToken) }, null, _parent)); + } else { + _push(``); + } + _push(``); + }; + } +}; +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/details/[id].vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const _id_ = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-6ceb0f7f"]]); + +export { _id_ as default }; +//# sourceMappingURL=_id_-8ab4d5f6.mjs.map diff --git a/.output/server/chunks/app/_nuxt/_id_-8ab4d5f6.mjs.map b/.output/server/chunks/app/_nuxt/_id_-8ab4d5f6.mjs.map new file mode 100644 index 0000000..21ee1a5 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/_id_-8ab4d5f6.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"_id_-8ab4d5f6.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/_id_-8ab4d5f6.js"],"sourcesContent":null,"names":["_export_sfc","__buildAssetsURL"],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/_id_-styles.07a32688.mjs b/.output/server/chunks/app/_nuxt/_id_-styles.07a32688.mjs new file mode 100644 index 0000000..084484d --- /dev/null +++ b/.output/server/chunks/app/_nuxt/_id_-styles.07a32688.mjs @@ -0,0 +1,12 @@ +const Report_vue_vue_type_style_index_0_scoped_d48d8915_lang = '.alert-form[data-v-d48d8915]{background-color:rgba(0,0,0,.7);display:block;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:2100}.alert-form .reports[data-v-d48d8915]{height:440px}.alert-form .reports .radio-area[data-v-d48d8915]{margin-bottom:40px}.alert-form .reports .radio-area .radio-area-item[data-v-d48d8915]{color:#606266;cursor:pointer;font-size:14px;margin-right:10px}.alert-form .reports .radio-area .radio-area-item.pitch .radio-area-frame[data-v-d48d8915]{background-color:#50e3c2;border-color:#50e3c2}.alert-form .reports .radio-area .radio-area-item.pitch .radio-area-frame[data-v-d48d8915]:after{transform:rotate(45deg) scaleY(1)}.alert-form .reports .radio-area .radio-area-item .radio-area-frame[data-v-d48d8915]{border:1px solid #dcdfe6;border-radius:2px;height:14px;margin-right:10px;position:relative;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);width:14px}.alert-form .reports .radio-area .radio-area-item .radio-area-frame[data-v-d48d8915]:after{border:1px solid #fff;border-left:0;border-top:0;box-sizing:content-box;content:"";height:7px;left:4px;position:absolute;top:1px;transform:rotate(45deg) scaleY(0);transform-origin:center;transition:transform .15s ease-in .05s;width:3px}.alert-form .el-checkbox-group[data-v-d48d8915]{font-size:0}.alert-form .comments[data-v-d48d8915]{background-color:#fff;border:none;border-radius:8px 8px 6px 6px;display:block;height:440px;left:50%;max-height:90vh;max-width:90vw;position:fixed;top:50%;transform:translate(-50%,-50%);width:740px;z-index:11}.alert-form .comments .text-box[data-v-d48d8915]{position:relative}.alert-form .comments .text-num[data-v-d48d8915]{bottom:10px;color:#999;font-size:12px;position:absolute;right:10px}.alert-form .comments .form[data-v-d48d8915]{display:block;padding:34px 30px 40px;width:100%}.alert-form .comments .form textarea[data-v-d48d8915]{background:#f7f7f7;border:1px solid #f7f7f7;border-radius:5px;display:block;font-size:14px;height:172px;line-height:22px;margin-bottom:30px;outline:none;padding:18px;resize:none;width:100%}.alert-form .head[data-v-d48d8915]{align-items:center;background:#333;border-radius:6px 6px 0 0;color:#fff;display:flex;font-size:17px;height:56px;justify-content:space-between;padding:0 18px 0 30px}.alert-form .head .close[data-v-d48d8915]{color:#b3b3b3;cursor:pointer;font-size:14px}.alert-form .footer[data-v-d48d8915]{align-items:center;display:flex;justify-content:center}.alert-form .footer button[type=button][data-v-d48d8915]{margin-right:20px}.alert-form .footer button[data-v-d48d8915]{background-color:#fff;border:1px solid #999;border-radius:5px;color:#333;cursor:pointer;font-size:14px;height:38px;outline:none;width:128px}.alert-form .footer button[type=submit][data-v-d48d8915]{color:#fff}.alert-form .el-checkbox__input.is-checked .el-checkbox__inner[data-v-d48d8915],.alert-form .el-checkbox__input.is-indeterminate .el-checkbox__inner[data-v-d48d8915],.alert-form .footer button[type=submit][data-v-d48d8915]{background-color:#50e3c2;border-color:#50e3c2}.alert-form .el-checkbox__inner[data-v-d48d8915]:hover,.alert-form .el-checkbox__input.is-focus .el-checkbox__inner[data-v-d48d8915]{border-color:#50e3c2}.alert-form .el-checkbox__input.is-checked+.el-checkbox__label[data-v-d48d8915]{color:#50e3c2}'; + +const elPopover = ".el-popover{--el-popover-bg-color:var(--el-bg-color-overlay);--el-popover-font-size:var(--el-font-size-base);--el-popover-border-color:var(--el-border-color-lighter);--el-popover-padding:12px;--el-popover-padding-large:18px 20px;--el-popover-title-font-size:16px;--el-popover-title-text-color:var(--el-text-color-primary);--el-popover-border-radius:4px}.el-popover.el-popper{background:var(--el-popover-bg-color);border:1px solid var(--el-popover-border-color);border-radius:var(--el-popover-border-radius);box-shadow:var(--el-box-shadow-light);box-sizing:border-box;color:var(--el-text-color-regular);font-size:var(--el-popover-font-size);line-height:1.4;min-width:150px;padding:var(--el-popover-padding);text-align:justify;word-break:break-all;z-index:var(--el-index-popper)}.el-popover.el-popper--plain{padding:var(--el-popover-padding-large)}.el-popover__title{color:var(--el-popover-title-text-color);font-size:var(--el-popover-title-font-size);line-height:1;margin-bottom:12px}.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.el-popover.el-popper.is-dark{--el-popover-bg-color:var(--el-text-color-primary);--el-popover-border-color:var(--el-text-color-primary);--el-popover-title-text-color:var(--el-bg-color);color:var(--el-bg-color)}.el-popover.el-popper:focus,.el-popover.el-popper:focus:active{outline-width:0}"; + +const elLoading = ":root{--el-loading-spinner-size:42px;--el-loading-fullscreen-spinner-size:50px}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{background-color:var(--el-mask-color);bottom:0;left:0;margin:0;position:absolute;right:0;top:0;transition:opacity var(--el-transition-duration);z-index:2000}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:calc((0px - var(--el-loading-fullscreen-spinner-size))/2)}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:var(--el-loading-fullscreen-spinner-size);width:var(--el-loading-fullscreen-spinner-size)}.el-loading-spinner{margin-top:calc((0px - var(--el-loading-spinner-size))/2);position:absolute;text-align:center;top:50%;width:100%}.el-loading-spinner .el-loading-text{color:var(--el-color-primary);font-size:14px;margin:3px 0}.el-loading-spinner .circular{animation:loading-rotate 2s linear infinite;display:inline;height:var(--el-loading-spinner-size);width:var(--el-loading-spinner-size)}.el-loading-spinner .path{stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--el-color-primary);stroke-linecap:round;animation:loading-dash 1.5s ease-in-out infinite}.el-loading-spinner i{color:var(--el-color-primary)}.el-loading-fade-enter-from,.el-loading-fade-leave-to{opacity:0}@keyframes loading-rotate{to{transform:rotate(1turn)}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}"; + +const _id__vue_vue_type_style_index_0_scoped_6ceb0f7f_lang = '.content[data-v-6ceb0f7f]{background:#fff;border-radius:15px;margin:0 auto 60px;width:1200px}.content .left[data-v-6ceb0f7f]{border-right:16px solid #f6f6f6;display:flex;flex-direction:column;height:calc(100vh - 70px);overflow:auto;padding-top:30px;width:376px}.content .left .school-box[data-v-6ceb0f7f]{flex-direction:column;margin-bottom:40px;text-align:center}.content .left .school-box .school-box-icon[data-v-6ceb0f7f]{height:52px}.content .left .school-box .school-box-icon .school-icon[data-v-6ceb0f7f]{height:40px;margin-bottom:12px;width:40px}.content .left .school-box .school-name[data-v-6ceb0f7f]{color:#000;font-size:15px;font-weight:650;height:28px;margin-bottom:7px}.content .left .school-box .school-en-name[data-v-6ceb0f7f]{color:#555;font-size:13px;height:18px}.content .left .mj-total[data-v-6ceb0f7f]{color:#7f7f7f;font-size:13px;line-height:22px;margin-bottom:20px;padding:0 30px}.content .left .mj-total .value[data-v-6ceb0f7f]{color:#000;font-weight:650;margin:0 5px}.content .left .mj-list[data-v-6ceb0f7f]{flex:1;margin-right:9px;overflow:auto;padding:0 25px 15px 30px}.content .left .mj-list[data-v-6ceb0f7f]::-webkit-scrollbar{width:6px!important}.content .left .mj-list .mj-item[data-v-6ceb0f7f]{cursor:pointer;flex-direction:column;margin-bottom:15px;padding:14px 12px;position:relative;z-index:1}.content .left .mj-list .mj-item.pitch .item-bj[data-v-6ceb0f7f]{display:block}.content .left .mj-list .mj-item.pitch .info-list .info-item .info-name[data-v-6ceb0f7f],.content .left .mj-list .mj-item.pitch .info-list .info-item .info-value[data-v-6ceb0f7f],.content .left .mj-list .mj-item.pitch .mj-header .time[data-v-6ceb0f7f],.content .left .mj-list .mj-item.pitch .mj-header .user-name[data-v-6ceb0f7f]{color:#fff}.content .left .mj-list .mj-item .item-bj[data-v-6ceb0f7f]{display:none;height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}.content .left .mj-list .mj-item .mj-header[data-v-6ceb0f7f]{font-size:12px;margin-bottom:12px}.content .left .mj-list .mj-item .mj-header .mj-avatar[data-v-6ceb0f7f]{border-radius:50%;height:20px;margin-right:10px;width:20px}.content .left .mj-list .mj-item .mj-header .user-name[data-v-6ceb0f7f]{color:#555;margin-right:10px}.content .left .mj-list .mj-item .mj-header .time[data-v-6ceb0f7f]{color:#aaa}.content .left .mj-list .mj-item .info-list[data-v-6ceb0f7f]{flex-direction:column}.content .left .mj-list .mj-item .info-list .info-item[data-v-6ceb0f7f]{line-height:20px}.content .left .mj-list .mj-item .info-list .info-item[data-v-6ceb0f7f]:not(:last-of-type){margin-bottom:8px}.content .left .mj-list .mj-item .info-list .info-item .info-name[data-v-6ceb0f7f]{color:#7f7f7f;font-size:13px;margin-right:10px}.content .left .mj-list .mj-item .info-list .info-item .info-value[data-v-6ceb0f7f]{color:#333;font-size:13px}.content .right[data-v-6ceb0f7f]{-ms-overflow-style:none;overflow:auto;padding:5px 0;position:relative;scrollbar-width:none}.content .right[data-v-6ceb0f7f]::-webkit-scrollbar{width:0!important}.content .right .header[data-v-6ceb0f7f]{border-bottom:1px solid #ebebeb;padding:30px 45px 25px}.content .right .header .titletitle[data-v-6ceb0f7f]{color:#000;font-size:24px;font-weight:650;margin-bottom:15px}.content .right .header .mj-header-left[data-v-6ceb0f7f]{position:relative}.content .right .header .mj-header[data-v-6ceb0f7f]{font-size:13px;justify-content:space-between;line-height:22px}.content .right .header .mj-header .mj-avatar[data-v-6ceb0f7f]{border-radius:50%;height:24px;margin-right:10px;width:24px}.content .right .header .mj-header .user-name[data-v-6ceb0f7f]{color:#333;margin-right:10px}.content .right .header .mj-header .time[data-v-6ceb0f7f]{color:#aaa}.content .right .header .mj-header .mj-header-right[data-v-6ceb0f7f]{color:#aaa;font-size:12px}.content .right .header .mj-header .mj-header-right .eye-icon[data-v-6ceb0f7f]{height:8px;margin-right:5px;width:13px}.content .right .details-box[data-v-6ceb0f7f]{border-bottom:1px solid #ebebeb;padding-top:41px}.content .right .details-box .details-item[data-v-6ceb0f7f]{margin-bottom:40px}.content .right .details-box .details-item .details-top[data-v-6ceb0f7f]{color:#000;font-size:14px;font-weight:650;margin-bottom:21px;padding-left:60px;position:relative}.content .right .details-box .details-item .details-top[data-v-6ceb0f7f]:after{background-color:#62b1ff;border-radius:3px;content:"";height:10px;left:44px;position:absolute;top:5px;width:6px}.content .right .details-box .details-item .details-list[data-v-6ceb0f7f]{background:inherit;background-color:#f6f6f6;border-radius:10px;font-size:14px;margin-left:60px;padding:20px;width:733px}.content .right .details-box .details-item .details-list .details-list-item[data-v-6ceb0f7f]:not(:last-of-type){margin-bottom:20px}.content .right .details-box .details-item .details-list .details-list-item .details-name[data-v-6ceb0f7f]{color:#555;margin-right:30px}.content .right .details-box .details-item .details-list .details-list-item .details-value[data-v-6ceb0f7f]{word-wrap:break-word;color:#000;white-space:break-spaces}.content .right .details-box .details-item .details-list .details-list-item .details-value.date[data-v-6ceb0f7f]{color:#000;font-family:Arial-Black,Arial Black,sans-serif;font-size:16px;font-style:normal;font-weight:900}.content .right .details-box .details-item .details-list .details-list-item .details-value.describe[data-v-6ceb0f7f]{font-size:15px;line-height:30px;position:relative;width:693px}.content .right .details-box .details-item .details-list .details-list-item .details-value.describe .unlock-mask[data-v-6ceb0f7f]{display:none}.content .right .details-box .details-item .details-list .details-list-item .details-value.describe.unlock-unlock[data-v-6ceb0f7f]{cursor:pointer;height:244px;overflow:hidden}.content .right .details-box .details-item .details-list .details-list-item .details-value.describe.unlock-unlock .unlock-mask[data-v-6ceb0f7f]{align-items:center;background:linear-gradient(0deg,#f6f6f6 82%,transparent);color:#000;display:flex;flex-direction:column;font-size:14px;height:100%;justify-content:flex-end;left:0;line-height:normal;padding-bottom:38px;position:absolute;top:0;width:100%}.content .right .details-box .details-item .details-list .details-list-item .details-value.describe.unlock-unlock .unlock-mask>div[data-v-6ceb0f7f]{margin-top:7px}.content .right .details-box .details-item .details-list .details-list-item .details-value.describe.unlock-unlock .unlock-mask .emphasis[data-v-6ceb0f7f]{color:#fa6b11;font-weight:650}.content .right .comment-box[data-v-6ceb0f7f]{padding-left:45px;padding-top:40px}.content .right .comment-box .comment-title[data-v-6ceb0f7f]{color:#000;font-size:16px;font-weight:650;line-height:20px;margin-bottom:16px}.content .right .comment-box .comment-title .value[data-v-6ceb0f7f]{color:#555;font-weight:400;margin-left:5px}.content .right .comment-box .post-comment[data-v-6ceb0f7f]{background-color:#fff;border:1px solid #d7d7d7;border-radius:6px;height:60px;margin-bottom:30px;width:749px}.content .right .comment-box .post-comment .post-input[data-v-6ceb0f7f]{-ms-overflow-style:none;background-color:transparent;border:none;font-size:14px;height:100%;outline:none;outline-color:#62b1ff;padding:10px;resize:none;scrollbar-width:none}.content .right .comment-box .post-comment .post-input[data-v-6ceb0f7f]::-moz-placeholder{color:#aaa}.content .right .comment-box .post-comment .post-input[data-v-6ceb0f7f]::placeholder{color:#aaa}.content .right .comment-box .post-comment .post-input[data-v-6ceb0f7f]::-webkit-scrollbar{width:0!important}.content .right .comment-box .post-comment .post-ok[data-v-6ceb0f7f]{background-color:#62b1ff;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;height:60px;width:60px}.content .right .comment-box .empty-box[data-v-6ceb0f7f]{padding:80px 0 110px}.content .right .comment-box .comment-list[data-v-6ceb0f7f]{margin-bottom:78px}.content .right .comment-box .comment-list .comment-item[data-v-6ceb0f7f]{padding-right:30px}.content .right .comment-box .comment-list .comment-item:not(:first-of-type) .comment-avatar[data-v-6ceb0f7f]{margin-top:10px}.content .right .comment-box .comment-list .comment-item:not(:first-of-type) .comment-header[data-v-6ceb0f7f]{border-top:1px dotted #d7d7d7;padding-top:10px}.content .right .comment-box .comment-list .comment-item .comment-avatar[data-v-6ceb0f7f]{border-radius:50%;height:20px;margin-right:10px;width:20px}.content .right .comment-box .comment-list .comment-item .comment-content .comment-header[data-v-6ceb0f7f]{display:flex;justify-content:space-between;margin-bottom:10px;padding-right:30px}.content .right .comment-box .comment-list .comment-item .comment-content .comment-header .comment-header-left[data-v-6ceb0f7f]{font-size:13px}.content .right .comment-box .comment-list .comment-item .comment-content .comment-header .comment-header-left .comments-avatar[data-v-6ceb0f7f]{border-radius:50%;height:20px;margin-right:10px;width:20px}.content .right .comment-box .comment-list .comment-item .comment-content .comment-header .comment-header-left .comments-username[data-v-6ceb0f7f]{color:#555;margin-right:10px}.content .right .comment-box .comment-list .comment-item .comment-content .comment-header .comment-header-left .comments-time[data-v-6ceb0f7f]{color:#aaa;margin-right:10px}.content .right .comment-box .comment-list .comment-item .comment-content .comment-header .comment-header-left .comments-identity[data-v-6ceb0f7f]{background-color:#f0f2f5;border:1px solid #d7d7d7;border-radius:5px;color:#7f7f7f;font-size:12px;height:20px;padding:0 3px}.content .right .comment-box .comment-list .comment-item .comment-content .comment-header .comment-header-right .menu-box[data-v-6ceb0f7f]{position:relative}.content .right .comment-box .comment-list .comment-item .comment-content .comment-header .comment-header-right .menu-box:hover .report-box[data-v-6ceb0f7f]{display:flex}.content .right .comment-box .comment-list .comment-item .comment-content .comment-header .comment-header-right .menu-box .menu-icon[data-v-6ceb0f7f]{cursor:pointer;height:14px;width:14px}.content .right .comment-box .comment-list .comment-item .comment-content .comment-header .comment-header-right .menu-box .report-box[data-v-6ceb0f7f]{background-color:#f6f6f6;border:1px solid #d7d7d7;border-radius:5px;color:#7f7f7f;cursor:pointer;display:none;font-size:12px;height:24px;position:absolute;right:0;top:24px;width:60px}.content .right .comment-box .comment-list .comment-item .comment-content .comment-header .comment-header-right .menu-box .report-box[data-v-6ceb0f7f]:after{content:"";height:36px;position:absolute;right:0;top:-14px;width:58px}.content .right .comment-box .comment-list .comment-item .comment-content .comment-header .comment-header-right .comment-icon[data-v-6ceb0f7f]{cursor:pointer;height:13px;margin-left:30px;width:14px}.content .right .comment-box .comment-list .comment-item .comment-content .comment-header .comment-header-right .like-box[data-v-6ceb0f7f]{color:#aaa;cursor:pointer;font-size:12px;margin-left:30px}.content .right .comment-box .comment-list .comment-item .comment-content .comment-header .comment-header-right .like-box .like-icon[data-v-6ceb0f7f]{height:14px;width:14px}.content .right .comment-box .comment-list .comment-item .comment-content .comment-header .comment-header-right .like-box .like-quantity[data-v-6ceb0f7f]{margin-left:6px}.content .right .comment-box .comment-list .comment-item .comment-content .comment-text[data-v-6ceb0f7f]{color:#333;font-size:14px;line-height:22px;margin-bottom:10px;min-height:22px;word-break:break-all}.content .right .comment-box .comment-list .comment-item .comment-content .comment-text .comments-reply[data-v-6ceb0f7f]{color:#92a1bf;display:inline}.content .right .comment-box .comment-list .comment-item .comment-content .comments-input-box[data-v-6ceb0f7f]{margin-bottom:10px;margin-top:13px}.content .right .comment-box .comment-list .comment-item .comment-content .comments-input-box .comments-input[data-v-6ceb0f7f]{border:1px solid #d7d7d7;border-radius:8px;flex:1;height:60px;margin-right:16px;position:relative;z-index:1}.content .right .comment-box .comment-list .comment-item .comment-content .comments-input-box .comments-input[data-v-6ceb0f7f]:after{background-color:#d7d7d7;content:"";display:block;height:20px;left:21px;position:absolute;top:-2px;transform:rotate(45deg);width:20px;z-index:-1}.content .right .comment-box .comment-list .comment-item .comment-content .comments-input-box .comments-input textarea[data-v-6ceb0f7f]{border:none;border-radius:7px 0 0 7px;outline:none;padding:11px 16px;resize:none}.content .right .comment-box .comment-list .comment-item .comment-content .comments-input-box .comments-input .comments-btn[data-v-6ceb0f7f]{background-color:#62b1ff;border-radius:0 7px 7px 0;color:#fff;cursor:pointer;font-size:14px;height:58px;width:58px}.content .right .comment-box .comment-list .comment-item .comment-content .comments-input-box .forkfork[data-v-6ceb0f7f]{cursor:pointer;height:12px;width:12px}.content .right .comment-box .comment-list .comment-item .child-comments .comment-avatar[data-v-6ceb0f7f]{margin-top:10px}.content .right .comment-box .comment-list .comment-item .child-comments .comment-header[data-v-6ceb0f7f]{border-top:1px dotted #d7d7d7;padding-top:10px}.content .right .comment-box .comment-list .comment-item .child-comments .comment-item[data-v-6ceb0f7f]{padding-right:0}.content .right .comment-box .comment-list .comment-item .comments-also[data-v-6ceb0f7f]{border-top:1px dotted #d7d7d7;color:#62b1ff;cursor:pointer;font-size:13px;height:46px;line-height:22px;margin-left:30px}.content .right .comment-box .comment-list .comment-item .comments-also .also-icon[data-v-6ceb0f7f]{height:10px;margin-left:8px;width:10px}.content .right .comment-box .comment-end[data-v-6ceb0f7f]{color:#d7d7d7;font-size:12px;margin-bottom:158px;text-align:center}.content .floor-area[data-v-6ceb0f7f]{background-color:#fff;bottom:0;box-shadow:0 -1px 2px rgba(0,0,0,.192);height:70px;left:0;min-width:1200px;position:fixed;width:100vw;z-index:1}.content .floor-area .floor-content[data-v-6ceb0f7f]{display:flex;height:100%;justify-content:space-between;margin:0 auto;padding:0 30px;width:1200px}.content .floor-area .floor-content .floor-left .item[data-v-6ceb0f7f]{color:#aaa;cursor:pointer;font-size:13px;margin-right:50px}.content .floor-area .floor-content .floor-left .item .icon[data-v-6ceb0f7f]{margin-right:5px;width:16px}.content .floor-area .floor-content .floor-left .item.operate-item[data-v-6ceb0f7f]{display:flex;justify-content:center;position:relative}.content .floor-area .floor-content .floor-right[data-v-6ceb0f7f]{color:#7f7f7f;cursor:pointer;font-size:13px}.content .floor-area .floor-content .floor-right .arrows-icon[data-v-6ceb0f7f]{height:12px;margin:0 10px;width:12px}.content .floor-area .floor-content .floor-right .QR-code-ball[data-v-6ceb0f7f]{background-color:#f6f6f6;border-radius:20px;cursor:pointer;height:40px;width:40px}.transmit-box[data-v-6ceb0f7f]{border-radius:10px;cursor:auto;justify-content:space-between;padding:40px 35px 42px;width:628px}.transmit-box .cross-icon[data-v-6ceb0f7f]{cursor:pointer;height:22px;padding:6px;position:absolute;right:6px;top:6px;width:22px}.transmit-box .transmit-title[data-v-6ceb0f7f]{color:#000;font-size:16px;font-weight:650;line-height:24px;margin-bottom:24px}.transmit-box .transmit-content[data-v-6ceb0f7f]{border:1px solid #f2f2f2;border-radius:16px}.transmit-box .transmit-web .transmit-content[data-v-6ceb0f7f]{font-size:14px;line-height:24px;margin-bottom:32px;padding:14px 16px;width:300px}.transmit-box .transmit-web .transmit-content .transmit-headline[data-v-6ceb0f7f]{color:#333}.transmit-box .transmit-web .transmit-content .transmit-url[data-v-6ceb0f7f]{word-wrap:break-word;color:#aaa}.transmit-box .transmit-web .transmit-web-btn[data-v-6ceb0f7f]{background-color:#72db86;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;height:38px;width:120px}.transmit-box .transmit-mini .transmit-content[data-v-6ceb0f7f]{color:#555;flex-direction:column;font-size:13px;padding:22px 44px}.transmit-box .transmit-mini .transmit-content .transmit-mini-img[data-v-6ceb0f7f]{height:90px;margin-bottom:21px;width:90px}.transmit-box .transmit-mini .transmit-content .give-sweep[data-v-6ceb0f7f]{height:12px;margin-right:8px;width:12px}.examine-code[data-v-6ceb0f7f]{height:113px;width:113px}'; + +const _id_Styles_07a32688 = [Report_vue_vue_type_style_index_0_scoped_d48d8915_lang, elPopover, elLoading, _id__vue_vue_type_style_index_0_scoped_6ceb0f7f_lang, _id__vue_vue_type_style_index_0_scoped_6ceb0f7f_lang]; + +export { _id_Styles_07a32688 as default }; +//# sourceMappingURL=_id_-styles.07a32688.mjs.map diff --git a/.output/server/chunks/app/_nuxt/_id_-styles.07a32688.mjs.map b/.output/server/chunks/app/_nuxt/_id_-styles.07a32688.mjs.map new file mode 100644 index 0000000..070e803 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/_id_-styles.07a32688.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"_id_-styles.07a32688.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/_id_-styles-1.mjs-0837f3ae.js","../../../../../.nuxt/dist/server/_nuxt/_id_-styles-2.mjs-16c58bd3.js","../../../../../.nuxt/dist/server/_nuxt/_id_-styles-3.mjs-d41f9909.js","../../../../../.nuxt/dist/server/_nuxt/_id_-styles-4.mjs-302055e1.js","../../../../../.nuxt/dist/server/_nuxt/_id_-styles.07a32688.mjs"],"sourcesContent":null,"names":["style_0","style_1","style_2","style_3","style_4"],"mappings":"AAAA,MAAM,sDAAyD,GAAA,wwGAAA;;ACA/D,MAAM,SAAY,GAAA,y1CAAA;;ACAlB,MAAM,SAAY,GAAA,4kDAAA;;ACAlB,MAAM,oDAAuD,GAAA,wigBAAA;;ACK7D,4BAAe,CAACA,sDAAO,EAAEC,SAAO,EAAEC,SAAO,EAAEC,oDAAO,EAAEC,oDAAO;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/_plugin-vue_export-helper-e3874580.mjs b/.output/server/chunks/app/_nuxt/_plugin-vue_export-helper-e3874580.mjs new file mode 100644 index 0000000..dc675d4 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/_plugin-vue_export-helper-e3874580.mjs @@ -0,0 +1,41 @@ +import { ref, watchEffect, watch, getCurrentInstance } from 'vue'; +import { l as injectHead, r as resolveUnrefHeadInput } from '../server.mjs'; +import { composableNames } from '@unhead/shared'; + +function useHead(input, options = {}) { + const head = options.head || injectHead(); + if (head) { + if (!head.ssr) + return clientUseHead(head, input, options); + return head.push(input, options); + } +} +function clientUseHead(head, input, options = {}) { + const deactivated = ref(false); + const resolvedInput = ref({}); + watchEffect(() => { + resolvedInput.value = deactivated.value ? {} : resolveUnrefHeadInput(input); + }); + const entry = head.push(resolvedInput.value, options); + watch(resolvedInput, (e) => { + entry.patch(e); + }); + getCurrentInstance(); + return entry; +} +const coreComposableNames = [ + "injectHead" +]; +({ + "@unhead/vue": [...coreComposableNames, ...composableNames] +}); +const _export_sfc = (sfc, props) => { + const target = sfc.__vccOpts || sfc; + for (const [key, val] of props) { + target[key] = val; + } + return target; +}; + +export { _export_sfc as _, useHead as u }; +//# sourceMappingURL=_plugin-vue_export-helper-e3874580.mjs.map diff --git a/.output/server/chunks/app/_nuxt/_plugin-vue_export-helper-e3874580.mjs.map b/.output/server/chunks/app/_nuxt/_plugin-vue_export-helper-e3874580.mjs.map new file mode 100644 index 0000000..96f3a6c --- /dev/null +++ b/.output/server/chunks/app/_nuxt/_plugin-vue_export-helper-e3874580.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"_plugin-vue_export-helper-e3874580.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/_plugin-vue_export-helper-e3874580.js"],"sourcesContent":null,"names":[],"mappings":";;;;AAGA,SAAS,OAAQ,CAAA,KAAA,EAAO,OAAU,GAAA,EAAI,EAAA;AACpC,EAAM,MAAA,IAAA,GAAO,OAAQ,CAAA,IAAA,IAAQ,UAAW,EAAA,CAAA;AACxC,EAAA,IAAI,IAAM,EAAA;AACR,IAAA,IAAI,CAAC,IAAK,CAAA,GAAA;AACR,MAAO,OAAA,aAAA,CAAc,IAAM,EAAA,KAAA,EAAO,OAAO,CAAA,CAAA;AAC3C,IAAO,OAAA,IAAA,CAAK,IAAK,CAAA,KAAA,EAAO,OAAO,CAAA,CAAA;AAAA,GACjC;AACF,CAAA;AACA,SAAS,aAAc,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,GAAU,EAAI,EAAA;AAChD,EAAM,MAAA,WAAA,GAAc,IAAI,KAAK,CAAA,CAAA;AAC7B,EAAM,MAAA,aAAA,GAAgB,GAAI,CAAA,EAAE,CAAA,CAAA;AAC5B,EAAA,WAAA,CAAY,MAAM;AAChB,IAAA,aAAA,CAAc,QAAQ,WAAY,CAAA,KAAA,GAAQ,EAAC,GAAI,sBAAsB,KAAK,CAAA,CAAA;AAAA,GAC3E,CAAA,CAAA;AACD,EAAA,MAAM,KAAQ,GAAA,IAAA,CAAK,IAAK,CAAA,aAAA,CAAc,OAAO,OAAO,CAAA,CAAA;AACpD,EAAM,KAAA,CAAA,aAAA,EAAe,CAAC,CAAM,KAAA;AAC1B,IAAA,KAAA,CAAM,MAAM,CAAC,CAAA,CAAA;AAAA,GACd,CAAA,CAAA;AACD,EAAmB,kBAAA,EAAA,CAAA;AACnB,EAAO,OAAA,KAAA,CAAA;AACT,CAAA;AACA,MAAM,mBAAsB,GAAA;AAAA,EAC1B,YAAA;AACF,CAAA,CAAA;AAAA,CACC;AAAA,EACC,aAAe,EAAA,CAAC,GAAG,mBAAA,EAAqB,GAAG,eAAe,CAAA;AAC5D,CAAA,EAAA;AACM,MAAA,WAAA,GAAc,CAAC,GAAA,EAAK,KAAU,KAAA;AAClC,EAAM,MAAA,MAAA,GAAS,IAAI,SAAa,IAAA,GAAA,CAAA;AAChC,EAAA,KAAA,MAAW,CAAC,GAAA,EAAK,GAAG,CAAA,IAAK,KAAO,EAAA;AAC9B,IAAA,MAAA,CAAO,GAAG,CAAI,GAAA,GAAA,CAAA;AAAA,GAChB;AACA,EAAO,OAAA,MAAA,CAAA;AACT;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/cross-icon-c0ac5209.mjs b/.output/server/chunks/app/_nuxt/cross-icon-c0ac5209.mjs new file mode 100644 index 0000000..07273b9 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/cross-icon-c0ac5209.mjs @@ -0,0 +1,1406 @@ +import { inject, ref, computed, defineComponent, watch, renderSlot, openBlock, createElementBlock, mergeProps, unref, provide, createElementVNode, isRef, getCurrentInstance, warn } from 'vue'; +import { d as useNamespace, k as namespaceContextKey, g as defaultNamespace } from '../server.mjs'; +import { fromPairs, isNil, get as get$1 } from 'lodash-unified'; +import { isString, NOOP, isArray, isObject, hasOwn, camelize } from '@vue/shared'; +import { isClient } from '@vueuse/core'; +import { u as useHead } from './_plugin-vue_export-helper-e3874580.mjs'; +import axios from 'axios'; +import QS from 'qs'; + +const isUndefined = (val) => val === void 0; +const isBoolean = (val) => typeof val === "boolean"; +const isNumber = (val) => typeof val === "number"; +const isEmpty = (val) => !val && val !== 0 || isArray(val) && val.length === 0 || isObject(val) && !Object.keys(val).length; +const isElement = (e) => { + if (typeof Element === "undefined") + return false; + return e instanceof Element; +}; +const isStringNumber = (val) => { + if (!isString(val)) { + return false; + } + return !Number.isNaN(Number(val)); +}; +const keysOf = (arr) => Object.keys(arr); +const classNameToArray = (cls = "") => cls.split(" ").filter((item) => !!item.trim()); +const hasClass = (el, cls) => { + if (!el || !cls) + return false; + if (cls.includes(" ")) + throw new Error("className should not contain space."); + return el.classList.contains(cls); +}; +const addClass = (el, cls) => { + if (!el || !cls.trim()) + return; + el.classList.add(...classNameToArray(cls)); +}; +const removeClass = (el, cls) => { + if (!el || !cls.trim()) + return; + el.classList.remove(...classNameToArray(cls)); +}; +const getStyle = (element, styleName) => { + var _a; + if (!isClient || !element || !styleName) + return ""; + let key = camelize(styleName); + if (key === "float") + key = "cssFloat"; + try { + const style = element.style[key]; + if (style) + return style; + const computed2 = (_a = document.defaultView) == null ? void 0 : _a.getComputedStyle(element, ""); + return computed2 ? computed2[key] : ""; + } catch (e) { + return element.style[key]; + } +}; +function addUnit(value, defaultUnit = "px") { + if (!value) + return ""; + if (isNumber(value) || isStringNumber(value)) { + return `${value}${defaultUnit}`; + } else if (isString(value)) { + return value; + } +} +/*! Element Plus Icons Vue v2.3.1 */ +var arrow_down_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ + name: "ArrowDown", + __name: "arrow-down", + setup(__props) { + return (_ctx, _cache) => (openBlock(), createElementBlock("svg", { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 1024 1024" + }, [ + createElementVNode("path", { + fill: "currentColor", + d: "M831.872 340.864 512 652.672 192.128 340.864a30.592 30.592 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.592 30.592 0 0 0-42.752 0z" + }) + ])); + } +}); +var arrow_down_default = arrow_down_vue_vue_type_script_setup_true_lang_default; +var arrow_left_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ + name: "ArrowLeft", + __name: "arrow-left", + setup(__props) { + return (_ctx, _cache) => (openBlock(), createElementBlock("svg", { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 1024 1024" + }, [ + createElementVNode("path", { + fill: "currentColor", + d: "M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.592 30.592 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.592 30.592 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0z" + }) + ])); + } +}); +var arrow_left_default = arrow_left_vue_vue_type_script_setup_true_lang_default; +var arrow_right_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ + name: "ArrowRight", + __name: "arrow-right", + setup(__props) { + return (_ctx, _cache) => (openBlock(), createElementBlock("svg", { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 1024 1024" + }, [ + createElementVNode("path", { + fill: "currentColor", + d: "M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z" + }) + ])); + } +}); +var arrow_right_default = arrow_right_vue_vue_type_script_setup_true_lang_default; +var arrow_up_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ + name: "ArrowUp", + __name: "arrow-up", + setup(__props) { + return (_ctx, _cache) => (openBlock(), createElementBlock("svg", { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 1024 1024" + }, [ + createElementVNode("path", { + fill: "currentColor", + d: "m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0" + }) + ])); + } +}); +var arrow_up_default = arrow_up_vue_vue_type_script_setup_true_lang_default; +var calendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ + name: "Calendar", + __name: "calendar", + setup(__props) { + return (_ctx, _cache) => (openBlock(), createElementBlock("svg", { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 1024 1024" + }, [ + createElementVNode("path", { + fill: "currentColor", + d: "M128 384v512h768V192H768v32a32 32 0 1 1-64 0v-32H320v32a32 32 0 0 1-64 0v-32H128v128h768v64zm192-256h384V96a32 32 0 1 1 64 0v32h160a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h160V96a32 32 0 0 1 64 0zm-32 384h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64" + }) + ])); + } +}); +var calendar_default = calendar_vue_vue_type_script_setup_true_lang_default; +var circle_check_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ + name: "CircleCheck", + __name: "circle-check", + setup(__props) { + return (_ctx, _cache) => (openBlock(), createElementBlock("svg", { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 1024 1024" + }, [ + createElementVNode("path", { + fill: "currentColor", + d: "M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896" + }), + createElementVNode("path", { + fill: "currentColor", + d: "M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752l265.344-265.408z" + }) + ])); + } +}); +var circle_check_default = circle_check_vue_vue_type_script_setup_true_lang_default; +var circle_close_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ + name: "CircleCloseFilled", + __name: "circle-close-filled", + setup(__props) { + return (_ctx, _cache) => (openBlock(), createElementBlock("svg", { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 1024 1024" + }, [ + createElementVNode("path", { + fill: "currentColor", + d: "M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336z" + }) + ])); + } +}); +var circle_close_filled_default = circle_close_filled_vue_vue_type_script_setup_true_lang_default; +var circle_close_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ + name: "CircleClose", + __name: "circle-close", + setup(__props) { + return (_ctx, _cache) => (openBlock(), createElementBlock("svg", { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 1024 1024" + }, [ + createElementVNode("path", { + fill: "currentColor", + d: "m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z" + }), + createElementVNode("path", { + fill: "currentColor", + d: "M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896" + }) + ])); + } +}); +var circle_close_default = circle_close_vue_vue_type_script_setup_true_lang_default; +var clock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ + name: "Clock", + __name: "clock", + setup(__props) { + return (_ctx, _cache) => (openBlock(), createElementBlock("svg", { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 1024 1024" + }, [ + createElementVNode("path", { + fill: "currentColor", + d: "M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896" + }), + createElementVNode("path", { + fill: "currentColor", + d: "M480 256a32 32 0 0 1 32 32v256a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32" + }), + createElementVNode("path", { + fill: "currentColor", + d: "M480 512h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32" + }) + ])); + } +}); +var clock_default = clock_vue_vue_type_script_setup_true_lang_default; +var close_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ + name: "Close", + __name: "close", + setup(__props) { + return (_ctx, _cache) => (openBlock(), createElementBlock("svg", { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 1024 1024" + }, [ + createElementVNode("path", { + fill: "currentColor", + d: "M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z" + }) + ])); + } +}); +var close_default = close_vue_vue_type_script_setup_true_lang_default; +var d_arrow_left_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ + name: "DArrowLeft", + __name: "d-arrow-left", + setup(__props) { + return (_ctx, _cache) => (openBlock(), createElementBlock("svg", { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 1024 1024" + }, [ + createElementVNode("path", { + fill: "currentColor", + d: "M529.408 149.376a29.12 29.12 0 0 1 41.728 0 30.592 30.592 0 0 1 0 42.688L259.264 511.936l311.872 319.936a30.592 30.592 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L197.76 534.272a32 32 0 0 1 0-44.672l331.648-340.224zm256 0a29.12 29.12 0 0 1 41.728 0 30.592 30.592 0 0 1 0 42.688L515.264 511.936l311.872 319.936a30.592 30.592 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L453.76 534.272a32 32 0 0 1 0-44.672l331.648-340.224z" + }) + ])); + } +}); +var d_arrow_left_default = d_arrow_left_vue_vue_type_script_setup_true_lang_default; +var d_arrow_right_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ + name: "DArrowRight", + __name: "d-arrow-right", + setup(__props) { + return (_ctx, _cache) => (openBlock(), createElementBlock("svg", { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 1024 1024" + }, [ + createElementVNode("path", { + fill: "currentColor", + d: "M452.864 149.312a29.12 29.12 0 0 1 41.728.064L826.24 489.664a32 32 0 0 1 0 44.672L494.592 874.624a29.12 29.12 0 0 1-41.728 0 30.592 30.592 0 0 1 0-42.752L764.736 512 452.864 192a30.592 30.592 0 0 1 0-42.688m-256 0a29.12 29.12 0 0 1 41.728.064L570.24 489.664a32 32 0 0 1 0 44.672L238.592 874.624a29.12 29.12 0 0 1-41.728 0 30.592 30.592 0 0 1 0-42.752L508.736 512 196.864 192a30.592 30.592 0 0 1 0-42.688z" + }) + ])); + } +}); +var d_arrow_right_default = d_arrow_right_vue_vue_type_script_setup_true_lang_default; +var hide_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ + name: "Hide", + __name: "hide", + setup(__props) { + return (_ctx, _cache) => (openBlock(), createElementBlock("svg", { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 1024 1024" + }, [ + createElementVNode("path", { + fill: "currentColor", + d: "M876.8 156.8c0-9.6-3.2-16-9.6-22.4-6.4-6.4-12.8-9.6-22.4-9.6-9.6 0-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176C44.8 438.4 0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4 0 9.6 3.2 16 9.6 22.4 6.4 6.4 12.8 9.6 22.4 9.6 9.6 0 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4Zm-646.4 528c-76.8-70.4-128-128-153.6-172.8 28.8-48 80-105.6 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4Zm140.8-96c-12.8-22.4-19.2-48-19.2-76.8 0-44.8 16-83.2 48-112 32-28.8 67.2-48 112-48 28.8 0 54.4 6.4 73.6 19.2zM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6-28.8 48-80 105.6-153.6 172.8-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176C979.199 585.6 1024 528 1024 512s-48.001-73.6-134.401-176Z" + }), + createElementVNode("path", { + fill: "currentColor", + d: "M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112-32 28.8-67.2 48-112 48Z" + }) + ])); + } +}); +var hide_default = hide_vue_vue_type_script_setup_true_lang_default; +var info_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ + name: "InfoFilled", + __name: "info-filled", + setup(__props) { + return (_ctx, _cache) => (openBlock(), createElementBlock("svg", { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 1024 1024" + }, [ + createElementVNode("path", { + fill: "currentColor", + d: "M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.992 12.992 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z" + }) + ])); + } +}); +var info_filled_default = info_filled_vue_vue_type_script_setup_true_lang_default; +var loading_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ + name: "Loading", + __name: "loading", + setup(__props) { + return (_ctx, _cache) => (openBlock(), createElementBlock("svg", { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 1024 1024" + }, [ + createElementVNode("path", { + fill: "currentColor", + d: "M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248zM828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0z" + }) + ])); + } +}); +var loading_default = loading_vue_vue_type_script_setup_true_lang_default; +var success_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ + name: "SuccessFilled", + __name: "success-filled", + setup(__props) { + return (_ctx, _cache) => (openBlock(), createElementBlock("svg", { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 1024 1024" + }, [ + createElementVNode("path", { + fill: "currentColor", + d: "M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z" + }) + ])); + } +}); +var success_filled_default = success_filled_vue_vue_type_script_setup_true_lang_default; +var view_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ + name: "View", + __name: "view", + setup(__props) { + return (_ctx, _cache) => (openBlock(), createElementBlock("svg", { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 1024 1024" + }, [ + createElementVNode("path", { + fill: "currentColor", + d: "M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288zm0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.192 160.192 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160" + }) + ])); + } +}); +var view_default = view_vue_vue_type_script_setup_true_lang_default; +var warning_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ + name: "WarningFilled", + __name: "warning-filled", + setup(__props) { + return (_ctx, _cache) => (openBlock(), createElementBlock("svg", { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 1024 1024" + }, [ + createElementVNode("path", { + fill: "currentColor", + d: "M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.432 58.432 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.432 58.432 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4" + }) + ])); + } +}); +var warning_filled_default = warning_filled_vue_vue_type_script_setup_true_lang_default; +const epPropKey = "__epPropKey"; +const definePropType = (val) => val; +const isEpProp = (val) => isObject(val) && !!val[epPropKey]; +const buildProp = (prop, key) => { + if (!isObject(prop) || isEpProp(prop)) + return prop; + const { values, required, default: defaultValue, type, validator } = prop; + const _validator = values || validator ? (val) => { + let valid = false; + let allowedValues = []; + if (values) { + allowedValues = Array.from(values); + if (hasOwn(prop, "default")) { + allowedValues.push(defaultValue); + } + valid || (valid = allowedValues.includes(val)); + } + if (validator) + valid || (valid = validator(val)); + if (!valid && allowedValues.length > 0) { + const allowValuesText = [...new Set(allowedValues)].map((value) => JSON.stringify(value)).join(", "); + warn(`Invalid prop: validation failed${key ? ` for prop "${key}"` : ""}. Expected one of [${allowValuesText}], got value ${JSON.stringify(val)}.`); + } + return valid; + } : void 0; + const epProp = { + type, + required: !!required, + validator: _validator, + [epPropKey]: true + }; + if (hasOwn(prop, "default")) + epProp.default = defaultValue; + return epProp; +}; +const buildProps = (props) => fromPairs(Object.entries(props).map(([key, option]) => [ + key, + buildProp(option, key) +])); +const iconPropType = definePropType([ + String, + Object, + Function +]); +const CloseComponents = { + Close: close_default +}; +const TypeComponents = { + Close: close_default, + SuccessFilled: success_filled_default, + InfoFilled: info_filled_default, + WarningFilled: warning_filled_default, + CircleCloseFilled: circle_close_filled_default +}; +const TypeComponentsMap = { + success: success_filled_default, + warning: warning_filled_default, + error: circle_close_filled_default, + info: info_filled_default +}; +const ValidateComponentsMap = { + validating: loading_default, + success: circle_check_default, + error: circle_close_default +}; +const withInstall = (main, extra) => { + main.install = (app) => { + for (const comp of [main, ...Object.values(extra != null ? extra : {})]) { + app.component(comp.name, comp); + } + }; + if (extra) { + for (const [key, comp] of Object.entries(extra)) { + main[key] = comp; + } + } + return main; +}; +const withInstallFunction = (fn, name) => { + fn.install = (app) => { + fn._context = app._context; + app.config.globalProperties[name] = fn; + }; + return fn; +}; +const withInstallDirective = (directive, name) => { + directive.install = (app) => { + app.directive(name, directive); + }; + return directive; +}; +const withNoopInstall = (component) => { + component.install = NOOP; + return component; +}; +const EVENT_CODE = { + tab: "Tab", + enter: "Enter", + space: "Space", + left: "ArrowLeft", + up: "ArrowUp", + right: "ArrowRight", + down: "ArrowDown", + esc: "Escape", + delete: "Delete", + backspace: "Backspace", + numpadEnter: "NumpadEnter", + pageUp: "PageUp", + pageDown: "PageDown", + home: "Home", + end: "End" +}; +const UPDATE_MODEL_EVENT = "update:modelValue"; +const CHANGE_EVENT = "change"; +const INPUT_EVENT = "input"; +const componentSizes = ["", "default", "small", "large"]; +const mutable = (val) => val; +const useDeprecated = ({ from, replacement, scope, version, ref: ref2, type = "API" }, condition) => { + watch(() => unref(condition), (val) => { + }, { + immediate: true + }); +}; +var English = { + name: "en", + el: { + colorpicker: { + confirm: "OK", + clear: "Clear", + defaultLabel: "color picker", + description: "current color is {color}. press enter to select a new color." + }, + datepicker: { + now: "Now", + today: "Today", + cancel: "Cancel", + clear: "Clear", + confirm: "OK", + dateTablePrompt: "Use the arrow keys and enter to select the day of the month", + monthTablePrompt: "Use the arrow keys and enter to select the month", + yearTablePrompt: "Use the arrow keys and enter to select the year", + selectedDate: "Selected date", + selectDate: "Select date", + selectTime: "Select time", + startDate: "Start Date", + startTime: "Start Time", + endDate: "End Date", + endTime: "End Time", + prevYear: "Previous Year", + nextYear: "Next Year", + prevMonth: "Previous Month", + nextMonth: "Next Month", + year: "", + month1: "January", + month2: "February", + month3: "March", + month4: "April", + month5: "May", + month6: "June", + month7: "July", + month8: "August", + month9: "September", + month10: "October", + month11: "November", + month12: "December", + week: "week", + weeks: { + sun: "Sun", + mon: "Mon", + tue: "Tue", + wed: "Wed", + thu: "Thu", + fri: "Fri", + sat: "Sat" + }, + weeksFull: { + sun: "Sunday", + mon: "Monday", + tue: "Tuesday", + wed: "Wednesday", + thu: "Thursday", + fri: "Friday", + sat: "Saturday" + }, + months: { + jan: "Jan", + feb: "Feb", + mar: "Mar", + apr: "Apr", + may: "May", + jun: "Jun", + jul: "Jul", + aug: "Aug", + sep: "Sep", + oct: "Oct", + nov: "Nov", + dec: "Dec" + } + }, + inputNumber: { + decrease: "decrease number", + increase: "increase number" + }, + select: { + loading: "Loading", + noMatch: "No matching data", + noData: "No data", + placeholder: "Select" + }, + dropdown: { + toggleDropdown: "Toggle Dropdown" + }, + cascader: { + noMatch: "No matching data", + loading: "Loading", + placeholder: "Select", + noData: "No data" + }, + pagination: { + goto: "Go to", + pagesize: "/page", + total: "Total {total}", + pageClassifier: "", + page: "Page", + prev: "Go to previous page", + next: "Go to next page", + currentPage: "page {pager}", + prevPages: "Previous {pager} pages", + nextPages: "Next {pager} pages", + deprecationWarning: "Deprecated usages detected, please refer to the el-pagination documentation for more details" + }, + dialog: { + close: "Close this dialog" + }, + drawer: { + close: "Close this dialog" + }, + messagebox: { + title: "Message", + confirm: "OK", + cancel: "Cancel", + error: "Illegal input", + close: "Close this dialog" + }, + upload: { + deleteTip: "press delete to remove", + delete: "Delete", + preview: "Preview", + continue: "Continue" + }, + slider: { + defaultLabel: "slider between {min} and {max}", + defaultRangeStartLabel: "pick start value", + defaultRangeEndLabel: "pick end value" + }, + table: { + emptyText: "No Data", + confirmFilter: "Confirm", + resetFilter: "Reset", + clearFilter: "All", + sumText: "Sum" + }, + tree: { + emptyText: "No Data" + }, + transfer: { + noMatch: "No matching data", + noData: "No data", + titles: ["List 1", "List 2"], + filterPlaceholder: "Enter keyword", + noCheckedFormat: "{total} items", + hasCheckedFormat: "{checked}/{total} checked" + }, + image: { + error: "FAILED" + }, + pageHeader: { + title: "Back" + }, + popconfirm: { + confirmButtonText: "Yes", + cancelButtonText: "No" + } + } +}; +const buildTranslator = (locale) => (path, option) => translate(path, option, unref(locale)); +const translate = (path, option, locale) => get$1(locale, path, path).replace(/\{(\w+)\}/g, (_, key) => { + var _a; + return `${(_a = option == null ? void 0 : option[key]) != null ? _a : `{${key}}`}`; +}); +const buildLocaleContext = (locale) => { + const lang = computed(() => unref(locale).name); + const localeRef = isRef(locale) ? locale : ref(locale); + return { + lang, + locale: localeRef, + t: buildTranslator(locale) + }; +}; +const localeContextKey = Symbol("localeContextKey"); +const useLocale = (localeOverrides) => { + const locale = localeOverrides || inject(localeContextKey, ref()); + return buildLocaleContext(computed(() => locale.value || English)); +}; +const zIndex = ref(0); +const defaultInitialZIndex = 2e3; +const zIndexContextKey = Symbol("zIndexContextKey"); +const useZIndex = (zIndexOverrides) => { + const zIndexInjection = zIndexOverrides || (getCurrentInstance() ? inject(zIndexContextKey, void 0) : void 0); + const initialZIndex = computed(() => { + const zIndexFromInjection = unref(zIndexInjection); + return isNumber(zIndexFromInjection) ? zIndexFromInjection : defaultInitialZIndex; + }); + const currentZIndex = computed(() => initialZIndex.value + zIndex.value); + const nextZIndex = () => { + zIndex.value++; + return currentZIndex.value; + }; + return { + initialZIndex, + currentZIndex, + nextZIndex + }; +}; +const useSizeProp = buildProp({ + type: String, + values: componentSizes, + required: false +}); +const SIZE_INJECTION_KEY = Symbol("size"); +const useGlobalSize = () => { + const injectedSize = inject(SIZE_INJECTION_KEY, {}); + return computed(() => { + return unref(injectedSize.size) || ""; + }); +}; +const configProviderContextKey = Symbol(); +const globalConfig = ref(); +function useGlobalConfig(key, defaultValue = void 0) { + const config = getCurrentInstance() ? inject(configProviderContextKey, globalConfig) : globalConfig; + if (key) { + return computed(() => { + var _a, _b; + return (_b = (_a = config.value) == null ? void 0 : _a[key]) != null ? _b : defaultValue; + }); + } else { + return config; + } +} +function useGlobalComponentSettings(block, sizeFallback) { + const config = useGlobalConfig(); + const ns = useNamespace(block, computed(() => { + var _a; + return ((_a = config.value) == null ? void 0 : _a.namespace) || defaultNamespace; + })); + const locale = useLocale(computed(() => { + var _a; + return (_a = config.value) == null ? void 0 : _a.locale; + })); + const zIndex2 = useZIndex(computed(() => { + var _a; + return ((_a = config.value) == null ? void 0 : _a.zIndex) || defaultInitialZIndex; + })); + const size = computed(() => { + var _a; + return unref(sizeFallback) || ((_a = config.value) == null ? void 0 : _a.size) || ""; + }); + provideGlobalConfig(computed(() => unref(config) || {})); + return { + ns, + locale, + zIndex: zIndex2, + size + }; +} +const provideGlobalConfig = (config, app, global = false) => { + var _a; + const inSetup = !!getCurrentInstance(); + const oldConfig = inSetup ? useGlobalConfig() : void 0; + const provideFn = (_a = app == null ? void 0 : app.provide) != null ? _a : inSetup ? provide : void 0; + if (!provideFn) { + return; + } + const context = computed(() => { + const cfg = unref(config); + if (!(oldConfig == null ? void 0 : oldConfig.value)) + return cfg; + return mergeConfig(oldConfig.value, cfg); + }); + provideFn(configProviderContextKey, context); + provideFn(localeContextKey, computed(() => context.value.locale)); + provideFn(namespaceContextKey, computed(() => context.value.namespace)); + provideFn(zIndexContextKey, computed(() => context.value.zIndex)); + provideFn(SIZE_INJECTION_KEY, { + size: computed(() => context.value.size || "") + }); + if (global || !globalConfig.value) { + globalConfig.value = context.value; + } + return context; +}; +const mergeConfig = (a, b) => { + var _a; + const keys = [.../* @__PURE__ */ new Set([...keysOf(a), ...keysOf(b)])]; + const obj = {}; + for (const key of keys) { + obj[key] = (_a = b[key]) != null ? _a : a[key]; + } + return obj; +}; +const configProviderProps = buildProps({ + a11y: { + type: Boolean, + default: true + }, + locale: { + type: definePropType(Object) + }, + size: useSizeProp, + button: { + type: definePropType(Object) + }, + experimentalFeatures: { + type: definePropType(Object) + }, + keyboardNavigation: { + type: Boolean, + default: true + }, + message: { + type: definePropType(Object) + }, + zIndex: Number, + namespace: { + type: String, + default: "el" + } +}); +const messageConfig = {}; +const ConfigProvider = defineComponent({ + name: "ElConfigProvider", + props: configProviderProps, + setup(props, { slots }) { + watch(() => props.message, (val) => { + Object.assign(messageConfig, val != null ? val : {}); + }, { immediate: true, deep: true }); + const config = provideGlobalConfig(props); + return () => renderSlot(slots, "default", { config: config == null ? void 0 : config.value }); + } +}); +var _export_sfc = (sfc, props) => { + const target = sfc.__vccOpts || sfc; + for (const [key, val] of props) { + target[key] = val; + } + return target; +}; +const iconProps = buildProps({ + size: { + type: definePropType([Number, String]) + }, + color: { + type: String + } +}); +const __default__ = defineComponent({ + name: "ElIcon", + inheritAttrs: false +}); +const _sfc_main$1 = /* @__PURE__ */ defineComponent({ + ...__default__, + props: iconProps, + setup(__props) { + const props = __props; + const ns = useNamespace("icon"); + const style = computed(() => { + const { size, color } = props; + if (!size && !color) + return {}; + return { + fontSize: isUndefined(size) ? void 0 : addUnit(size), + "--color": color + }; + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("i", mergeProps({ + class: unref(ns).b(), + style: unref(style) + }, _ctx.$attrs), [ + renderSlot(_ctx.$slots, "default") + ], 16); + }; + } +}); +var Icon = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/icon/src/icon.vue"]]); +const ElIcon = withInstall(Icon); +const FOCUSOUT_PREVENTED = "focus-trap.focusout-prevented"; +const FOCUSOUT_PREVENTED_OPTS = { + cancelable: true, + bubbles: false +}; +const ON_TRAP_FOCUS_EVT = "focusAfterTrapped"; +const ON_RELEASE_FOCUS_EVT = "focusAfterReleased"; +const FOCUS_TRAP_INJECTION_KEY = Symbol("elFocusTrap"); +const focusReason = ref(); +const lastUserFocusTimestamp = ref(0); +const lastAutomatedFocusTimestamp = ref(0); +const obtainAllFocusableElements = (element) => { + const nodes = []; + const walker = document.createTreeWalker(element, NodeFilter.SHOW_ELEMENT, { + acceptNode: (node) => { + const isHiddenInput = node.tagName === "INPUT" && node.type === "hidden"; + if (node.disabled || node.hidden || isHiddenInput) + return NodeFilter.FILTER_SKIP; + return node.tabIndex >= 0 || node === document.activeElement ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP; + } + }); + while (walker.nextNode()) + nodes.push(walker.currentNode); + return nodes; +}; +const getVisibleElement = (elements, container) => { + for (const element of elements) { + if (!isHidden(element, container)) + return element; + } +}; +const isHidden = (element, container) => { + if (getComputedStyle(element).visibility === "hidden") + return true; + while (element) { + if (container && element === container) + return false; + if (getComputedStyle(element).display === "none") + return true; + element = element.parentElement; + } + return false; +}; +const getEdges = (container) => { + const focusable = obtainAllFocusableElements(container); + const first = getVisibleElement(focusable, container); + const last = getVisibleElement(focusable.reverse(), container); + return [first, last]; +}; +const isSelectable = (element) => { + return element instanceof HTMLInputElement && "select" in element; +}; +const tryFocus = (element, shouldSelect) => { + if (element && element.focus) { + const prevFocusedElement = document.activeElement; + element.focus({ preventScroll: true }); + lastAutomatedFocusTimestamp.value = window.performance.now(); + if (element !== prevFocusedElement && isSelectable(element) && shouldSelect) { + element.select(); + } + } +}; +const useFocusReason = () => { + return { + focusReason, + lastUserFocusTimestamp, + lastAutomatedFocusTimestamp + }; +}; +const createFocusOutPreventedEvent = (detail) => { + return new CustomEvent(FOCUSOUT_PREVENTED, { + ...FOCUSOUT_PREVENTED_OPTS, + detail + }); +}; +const _sfc_main = defineComponent({ + name: "ElFocusTrap", + inheritAttrs: false, + props: { + loop: Boolean, + trapped: Boolean, + focusTrapEl: Object, + focusStartEl: { + type: [Object, String], + default: "first" + } + }, + emits: [ + ON_TRAP_FOCUS_EVT, + ON_RELEASE_FOCUS_EVT, + "focusin", + "focusout", + "focusout-prevented", + "release-requested" + ], + setup(props, { emit }) { + const forwardRef = ref(); + let lastFocusAfterTrapped; + const { focusReason: focusReason2 } = useFocusReason(); + const onKeydown = (e) => { + if (!props.loop && !props.trapped) + return; + const { key, altKey, ctrlKey, metaKey, currentTarget, shiftKey } = e; + const { loop } = props; + const isTabbing = key === EVENT_CODE.tab && !altKey && !ctrlKey && !metaKey; + const currentFocusingEl = document.activeElement; + if (isTabbing && currentFocusingEl) { + const container = currentTarget; + const [first, last] = getEdges(container); + const isTabbable = first && last; + if (!isTabbable) { + if (currentFocusingEl === container) { + const focusoutPreventedEvent = createFocusOutPreventedEvent({ + focusReason: focusReason2.value + }); + emit("focusout-prevented", focusoutPreventedEvent); + if (!focusoutPreventedEvent.defaultPrevented) { + e.preventDefault(); + } + } + } else { + if (!shiftKey && currentFocusingEl === last) { + const focusoutPreventedEvent = createFocusOutPreventedEvent({ + focusReason: focusReason2.value + }); + emit("focusout-prevented", focusoutPreventedEvent); + if (!focusoutPreventedEvent.defaultPrevented) { + e.preventDefault(); + if (loop) + tryFocus(first, true); + } + } else if (shiftKey && [first, container].includes(currentFocusingEl)) { + const focusoutPreventedEvent = createFocusOutPreventedEvent({ + focusReason: focusReason2.value + }); + emit("focusout-prevented", focusoutPreventedEvent); + if (!focusoutPreventedEvent.defaultPrevented) { + e.preventDefault(); + if (loop) + tryFocus(last, true); + } + } + } + } + }; + provide(FOCUS_TRAP_INJECTION_KEY, { + focusTrapRef: forwardRef, + onKeydown + }); + watch(() => props.focusTrapEl, (focusTrapEl) => { + if (focusTrapEl) { + forwardRef.value = focusTrapEl; + } + }, { immediate: true }); + watch([forwardRef], ([forwardRef2], [oldForwardRef]) => { + if (forwardRef2) { + forwardRef2.addEventListener("keydown", onKeydown); + forwardRef2.addEventListener("focusin", onFocusIn); + forwardRef2.addEventListener("focusout", onFocusOut); + } + if (oldForwardRef) { + oldForwardRef.removeEventListener("keydown", onKeydown); + oldForwardRef.removeEventListener("focusin", onFocusIn); + oldForwardRef.removeEventListener("focusout", onFocusOut); + } + }); + const onFocusIn = (e) => { + const trapContainer = unref(forwardRef); + if (!trapContainer) + return; + const target = e.target; + const relatedTarget = e.relatedTarget; + const isFocusedInTrap = target && trapContainer.contains(target); + if (!props.trapped) { + relatedTarget && trapContainer.contains(relatedTarget); + } + if (isFocusedInTrap) + emit("focusin", e); + if (props.trapped) { + if (isFocusedInTrap) { + lastFocusAfterTrapped = target; + } else { + tryFocus(lastFocusAfterTrapped, true); + } + } + }; + const onFocusOut = (e) => { + const trapContainer = unref(forwardRef); + if (!trapContainer) + return; + if (props.trapped) { + const relatedTarget = e.relatedTarget; + if (!isNil(relatedTarget) && !trapContainer.contains(relatedTarget)) { + setTimeout(() => { + if (props.trapped) { + const focusoutPreventedEvent = createFocusOutPreventedEvent({ + focusReason: focusReason2.value + }); + emit("focusout-prevented", focusoutPreventedEvent); + if (!focusoutPreventedEvent.defaultPrevented) { + tryFocus(lastFocusAfterTrapped, true); + } + } + }, 0); + } + } else { + const target = e.target; + const isFocusedInTrap = target && trapContainer.contains(target); + if (!isFocusedInTrap) + emit("focusout", e); + } + }; + return { + onKeydown + }; + } +}); +function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { + return renderSlot(_ctx.$slots, "default", { handleKeydown: _ctx.onKeydown }); +} +var ElFocusTrap = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/element-plus/element-plus/packages/components/focus-trap/src/focus-trap.vue"]]); +const removeUndefinedProps = (props) => Object.fromEntries(Object.entries(props).filter(([, value]) => value !== void 0)); +const setupForUseMeta = (metaFactory, renderChild) => (props, ctx) => { + useHead(() => metaFactory({ ...removeUndefinedProps(props), ...ctx.attrs }, ctx)); + return () => { + var _a, _b; + return renderChild ? (_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a) : null; + }; +}; +const globalProps = { + accesskey: String, + autocapitalize: String, + autofocus: { + type: Boolean, + default: void 0 + }, + class: [String, Object, Array], + contenteditable: { + type: Boolean, + default: void 0 + }, + contextmenu: String, + dir: String, + draggable: { + type: Boolean, + default: void 0 + }, + enterkeyhint: String, + exportparts: String, + hidden: { + type: Boolean, + default: void 0 + }, + id: String, + inputmode: String, + is: String, + itemid: String, + itemprop: String, + itemref: String, + itemscope: String, + itemtype: String, + lang: String, + nonce: String, + part: String, + slot: String, + spellcheck: { + type: Boolean, + default: void 0 + }, + style: String, + tabindex: String, + title: String, + translate: String +}; +defineComponent({ + name: "NoScript", + inheritAttrs: false, + props: { + ...globalProps, + title: String, + body: Boolean, + renderPriority: [String, Number] + }, + setup: setupForUseMeta((props, { slots }) => { + var _a; + const noscript = { ...props }; + const textContent = (((_a = slots.default) == null ? void 0 : _a.call(slots)) || []).filter(({ children }) => children).map(({ children }) => children).join(""); + if (textContent) { + noscript.children = textContent; + } + return { + noscript: [noscript] + }; + }) +}); +defineComponent({ + // eslint-disable-next-line vue/no-reserved-component-names + name: "Link", + inheritAttrs: false, + props: { + ...globalProps, + as: String, + crossorigin: String, + disabled: Boolean, + fetchpriority: String, + href: String, + hreflang: String, + imagesizes: String, + imagesrcset: String, + integrity: String, + media: String, + prefetch: { + type: Boolean, + default: void 0 + }, + referrerpolicy: String, + rel: String, + sizes: String, + title: String, + type: String, + /** @deprecated **/ + methods: String, + /** @deprecated **/ + target: String, + body: Boolean, + renderPriority: [String, Number] + }, + setup: setupForUseMeta((link) => ({ + link: [link] + })) +}); +defineComponent({ + // eslint-disable-next-line vue/no-reserved-component-names + name: "Base", + inheritAttrs: false, + props: { + ...globalProps, + href: String, + target: String + }, + setup: setupForUseMeta((base2) => ({ + base: base2 + })) +}); +const Title = defineComponent({ + // eslint-disable-next-line vue/no-reserved-component-names + name: "Title", + inheritAttrs: false, + setup: setupForUseMeta((_, { slots }) => { + var _a, _b, _c; + return { + title: ((_c = (_b = (_a = slots.default) == null ? void 0 : _a.call(slots)) == null ? void 0 : _b[0]) == null ? void 0 : _c.children) || null + }; + }) +}); +const Meta = defineComponent({ + // eslint-disable-next-line vue/no-reserved-component-names + name: "Meta", + inheritAttrs: false, + props: { + ...globalProps, + charset: String, + content: String, + httpEquiv: String, + name: String, + body: Boolean, + renderPriority: [String, Number] + }, + setup: setupForUseMeta((props) => { + const meta = { ...props }; + if (meta.httpEquiv) { + meta["http-equiv"] = meta.httpEquiv; + delete meta.httpEquiv; + } + return { + meta: [meta] + }; + }) +}); +defineComponent({ + // eslint-disable-next-line vue/no-reserved-component-names + name: "Style", + inheritAttrs: false, + props: { + ...globalProps, + type: String, + media: String, + nonce: String, + title: String, + /** @deprecated **/ + scoped: { + type: Boolean, + default: void 0 + }, + body: Boolean, + renderPriority: [String, Number] + }, + setup: setupForUseMeta((props, { slots }) => { + var _a, _b, _c; + const style = { ...props }; + const textContent = (_c = (_b = (_a = slots.default) == null ? void 0 : _a.call(slots)) == null ? void 0 : _b[0]) == null ? void 0 : _c.children; + if (textContent) { + style.children = textContent; + } + return { + style: [style] + }; + }) +}); +const Head = defineComponent({ + // eslint-disable-next-line vue/no-reserved-component-names + name: "Head", + inheritAttrs: false, + setup: (_props, ctx) => () => { + var _a, _b; + return (_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a); + } +}); +defineComponent({ + // eslint-disable-next-line vue/no-reserved-component-names + name: "Html", + inheritAttrs: false, + props: { + ...globalProps, + manifest: String, + version: String, + xmlns: String, + renderPriority: [String, Number] + }, + setup: setupForUseMeta((htmlAttrs) => ({ htmlAttrs }), true) +}); +defineComponent({ + // eslint-disable-next-line vue/no-reserved-component-names + name: "Body", + inheritAttrs: false, + props: { + ...globalProps, + renderPriority: [String, Number] + }, + setup: setupForUseMeta((bodyAttrs) => ({ bodyAttrs }), true) +}); +axios.defaults.baseURL = "https://interviewexperience.gter.net"; +axios.defaults.emulateJSON = true; +axios.defaults.withCredentials = true; +axios.interceptors.request.use( + //响应拦截 + async (config) => { + config["headers"]["authorization"] = false; + return config; + }, + (error) => { + return Promise.error(error); + } +); +axios.interceptors.response.use((response) => { + if (response.status === 200) + return Promise.resolve(response); + else + return Promise.reject(response); +}, (error) => { + if (error.response.status) { + switch (error.response.status) { + } + return Promise.reject(error.response); + } +}); +const get = (url, params) => { + return new Promise((resolve, reject) => { + axios.get(url, { params }).then((res) => resolve(res.data)).catch((err) => reject(err.data)); + }); +}; +const post = (url, params) => { + return new Promise((resolve, reject) => { + axios.post(url, QS.stringify(params)).then((res) => { + let data = res.data; + if (data.code == 401 && false) + goLogin(); + resolve(data); + }).catch((err) => { + if (err.data.code == 401) { + goLogin(); + resolve(err.data); + } else + reject(err.data); + }); + }); +}; +const goLogin = () => { + if (typeof ajax_login === "function") + ajax_login(); +}; +const Http = { + get, + post +}; +const getListHttp = (params) => { + return Http.post("/api/lists", params); +}; +const operateLikeHttp = (query) => { + return Http.post("/api/operate/like", query); +}; +const relatedlistHttp = (query) => { + return Http.post("/api/details/relatedlist", query); +}; +const detailsHttp = (query) => { + return Http.post("/api/details", query); +}; +const detailsCommentListHttp = (query) => { + return Http.post("/api/comment/lists", query); +}; +const publishSchoolSearchHttp = (query) => { + return Http.post("/api/publish/schoolSearch", query); +}; +const publishProfessionSearchHttp = (query) => { + return Http.post("/api/publish/professionSearch", query); +}; +const changeAnonymousHttp = (query) => { + return Http.post("/api/publish/changeAnonymous", query); +}; +const MyUserPublishHttp = (query) => { + return Http.post("/api/user/publish", query); +}; +const MyUserDeleteCollectHttp = (query) => { + return Http.post("/api/user/deleteCollect", query); +}; +const MyUserCollectHttp = (query) => { + return Http.post("/api/user/collect", query); +}; +const _imports_1 = "data:image/png;base64,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"; + +export { d_arrow_right_default as $, TypeComponents as A, EVENT_CODE as B, CloseComponents as C, hasClass as D, ElIcon as E, FOCUS_TRAP_INJECTION_KEY as F, messageConfig as G, Head as H, isElement as I, changeAnonymousHttp as J, MyUserDeleteCollectHttp as K, MyUserCollectHttp as L, Meta as M, MyUserPublishHttp as N, view_default as O, hide_default as P, circle_close_default as Q, loading_default as R, withNoopInstall as S, Title as T, UPDATE_MODEL_EVENT as U, ValidateComponentsMap as V, useSizeProp as W, clock_default as X, calendar_default as Y, d_arrow_left_default as Z, _export_sfc as _, addUnit as a, ConfigProvider as a0, useGlobalSize as a1, INPUT_EVENT as a2, CHANGE_EVENT as a3, isEmpty as a4, arrow_left_default as a5, arrow_right_default as a6, publishSchoolSearchHttp as a7, publishProfessionSearchHttp as a8, isUndefined as a9, arrow_up_default as aa, arrow_down_default as ab, buildProp as ac, buildProps as b, withInstall as c, definePropType as d, isBoolean as e, detailsHttp as f, _imports_1 as g, detailsCommentListHttp as h, iconPropType as i, getStyle as j, addClass as k, removeClass as l, getListHttp as m, isNumber as n, operateLikeHttp as o, useLocale as p, useDeprecated as q, relatedlistHttp as r, ElFocusTrap as s, TypeComponentsMap as t, useGlobalComponentSettings as u, withInstallFunction as v, withInstallDirective as w, useZIndex as x, useGlobalConfig as y, mutable as z }; +//# sourceMappingURL=cross-icon-c0ac5209.mjs.map diff --git a/.output/server/chunks/app/_nuxt/cross-icon-c0ac5209.mjs.map b/.output/server/chunks/app/_nuxt/cross-icon-c0ac5209.mjs.map new file mode 100644 index 0000000..0919dff --- /dev/null +++ b/.output/server/chunks/app/_nuxt/cross-icon-c0ac5209.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"cross-icon-c0ac5209.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/cross-icon-c0ac5209.js"],"sourcesContent":null,"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/el-popper-6f31b937.mjs b/.output/server/chunks/app/_nuxt/el-popper-6f31b937.mjs new file mode 100644 index 0000000..305a713 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/el-popper-6f31b937.mjs @@ -0,0 +1,1366 @@ +import { defineComponent, ref, computed, provide, renderSlot, inject, watch, openBlock, createElementBlock, normalizeClass, unref, normalizeStyle, withDirectives, cloneVNode, Fragment, Text, Comment, createVNode, createBlock, mergeProps, withCtx, createCommentVNode, toRef, Teleport, Transition, vShow, readonly, toDisplayString, shallowRef, getCurrentInstance } from 'vue'; +import { ac as buildProp, b as buildProps, d as definePropType, s as ElFocusTrap, c as withInstall, B as EVENT_CODE, e as isBoolean, _ as _export_sfc, x as useZIndex, n as isNumber } from './cross-icon-c0ac5209.mjs'; +import { onClickOutside, tryOnScopeDispose, isClient, unrefElement } from '@vueuse/core'; +import { placements, createPopper } from '@popperjs/core'; +import { NOOP, isObject, isFunction, isArray } from '@vue/shared'; +import { d as useNamespace, f as useId, i as useGetDerivedNamespace, j as useIdInjection } from '../server.mjs'; +import { isUndefined, fromPairs } from 'lodash-unified'; + +const composeEventHandlers = (theirsHandler, oursHandler, { checkForDefaultPrevented = true } = {}) => { + const handleEvent = (event) => { + const shouldPrevent = theirsHandler == null ? void 0 : theirsHandler(event); + if (checkForDefaultPrevented === false || !shouldPrevent) { + return oursHandler == null ? void 0 : oursHandler(event); + } + }; + return handleEvent; +}; +const _prop = buildProp({ + type: definePropType(Boolean), + default: null +}); +const _event = buildProp({ + type: definePropType(Function) +}); +const createModelToggleComposable = (name) => { + const updateEventKey = `update:${name}`; + const updateEventKeyRaw = `onUpdate:${name}`; + const useModelToggleEmits2 = [updateEventKey]; + const useModelToggleProps2 = { + [name]: _prop, + [updateEventKeyRaw]: _event + }; + const useModelToggle2 = ({ + indicator, + toggleReason, + shouldHideWhenRouteChanges, + shouldProceed, + onShow, + onHide + }) => { + const instance = getCurrentInstance(); + const { emit } = instance; + const props = instance.props; + const hasUpdateHandler = computed(() => isFunction(props[updateEventKeyRaw])); + const isModelBindingAbsent = computed(() => props[name] === null); + const doShow = (event) => { + if (indicator.value === true) { + return; + } + indicator.value = true; + if (toggleReason) { + toggleReason.value = event; + } + if (isFunction(onShow)) { + onShow(event); + } + }; + const doHide = (event) => { + if (indicator.value === false) { + return; + } + indicator.value = false; + if (toggleReason) { + toggleReason.value = event; + } + if (isFunction(onHide)) { + onHide(event); + } + }; + const show = (event) => { + if (props.disabled === true || isFunction(shouldProceed) && !shouldProceed()) + return; + const shouldEmit = hasUpdateHandler.value && isClient; + if (shouldEmit) { + emit(updateEventKey, true); + } + if (isModelBindingAbsent.value || !shouldEmit) { + doShow(event); + } + }; + const hide = (event) => { + if (props.disabled === true || !isClient) + return; + const shouldEmit = hasUpdateHandler.value && isClient; + if (shouldEmit) { + emit(updateEventKey, false); + } + if (isModelBindingAbsent.value || !shouldEmit) { + doHide(event); + } + }; + const onChange = (val) => { + if (!isBoolean(val)) + return; + if (props.disabled && val) { + if (hasUpdateHandler.value) { + emit(updateEventKey, false); + } + } else if (indicator.value !== val) { + if (val) { + doShow(); + } else { + doHide(); + } + } + }; + const toggle = () => { + if (indicator.value) { + hide(); + } else { + show(); + } + }; + watch(() => props[name], onChange); + if (shouldHideWhenRouteChanges && instance.appContext.config.globalProperties.$route !== void 0) { + watch(() => ({ + ...instance.proxy.$route + }), () => { + if (shouldHideWhenRouteChanges.value && indicator.value) { + hide(); + } + }); + } + return { + hide, + show, + toggle, + hasUpdateHandler + }; + }; + return { + useModelToggle: useModelToggle2, + useModelToggleProps: useModelToggleProps2, + useModelToggleEmits: useModelToggleEmits2 + }; +}; +const usePopper = (referenceElementRef, popperElementRef, opts = {}) => { + const stateUpdater = { + name: "updateState", + enabled: true, + phase: "write", + fn: ({ state }) => { + const derivedState = deriveState(state); + Object.assign(states.value, derivedState); + }, + requires: ["computeStyles"] + }; + const options = computed(() => { + const { onFirstUpdate, placement, strategy, modifiers } = unref(opts); + return { + onFirstUpdate, + placement: placement || "bottom", + strategy: strategy || "absolute", + modifiers: [ + ...modifiers || [], + stateUpdater, + { name: "applyStyles", enabled: false } + ] + }; + }); + const instanceRef = shallowRef(); + const states = ref({ + styles: { + popper: { + position: unref(options).strategy, + left: "0", + top: "0" + }, + arrow: { + position: "absolute" + } + }, + attributes: {} + }); + const destroy = () => { + if (!instanceRef.value) + return; + instanceRef.value.destroy(); + instanceRef.value = void 0; + }; + watch(options, (newOptions) => { + const instance = unref(instanceRef); + if (instance) { + instance.setOptions(newOptions); + } + }, { + deep: true + }); + watch([referenceElementRef, popperElementRef], ([referenceElement, popperElement]) => { + destroy(); + if (!referenceElement || !popperElement) + return; + instanceRef.value = createPopper(referenceElement, popperElement, unref(options)); + }); + return { + state: computed(() => { + var _a; + return { ...((_a = unref(instanceRef)) == null ? void 0 : _a.state) || {} }; + }), + styles: computed(() => unref(states).styles), + attributes: computed(() => unref(states).attributes), + update: () => { + var _a; + return (_a = unref(instanceRef)) == null ? void 0 : _a.update(); + }, + forceUpdate: () => { + var _a; + return (_a = unref(instanceRef)) == null ? void 0 : _a.forceUpdate(); + }, + instanceRef: computed(() => unref(instanceRef)) + }; +}; +function deriveState(state) { + const elements = Object.keys(state.elements); + const styles = fromPairs(elements.map((element) => [element, state.styles[element] || {}])); + const attributes = fromPairs(elements.map((element) => [element, state.attributes[element]])); + return { + styles, + attributes + }; +} +function useTimeout() { + let timeoutHandle; + const registerTimeout = (fn, delay) => { + cancelTimeout(); + timeoutHandle = window.setTimeout(fn, delay); + }; + const cancelTimeout = () => window.clearTimeout(timeoutHandle); + tryOnScopeDispose(() => cancelTimeout()); + return { + registerTimeout, + cancelTimeout + }; +} +const usePopperContainerId = () => { + const namespace = useGetDerivedNamespace(); + const idInjection = useIdInjection(); + const id = computed(() => { + return `${namespace.value}-popper-container-${idInjection.prefix}`; + }); + const selector = computed(() => `#${id.value}`); + return { + id, + selector + }; +}; +const usePopperContainer = () => { + const { id, selector } = usePopperContainerId(); + return { + id, + selector + }; +}; +const useDelayedToggleProps = buildProps({ + showAfter: { + type: Number, + default: 0 + }, + hideAfter: { + type: Number, + default: 200 + }, + autoClose: { + type: Number, + default: 0 + } +}); +const useDelayedToggle = ({ + showAfter, + hideAfter, + autoClose, + open, + close +}) => { + const { registerTimeout } = useTimeout(); + const { + registerTimeout: registerTimeoutForAutoClose, + cancelTimeout: cancelTimeoutForAutoClose + } = useTimeout(); + const onOpen = (event) => { + registerTimeout(() => { + open(event); + const _autoClose = unref(autoClose); + if (isNumber(_autoClose) && _autoClose > 0) { + registerTimeoutForAutoClose(() => { + close(event); + }, _autoClose); + } + }, unref(showAfter)); + }; + const onClose = (event) => { + cancelTimeoutForAutoClose(); + registerTimeout(() => { + close(event); + }, unref(hideAfter)); + }; + return { + onOpen, + onClose + }; +}; +const FORWARD_REF_INJECTION_KEY = Symbol("elForwardRef"); +const useForwardRef = (forwardRef) => { + const setForwardRef = (el) => { + forwardRef.value = el; + }; + provide(FORWARD_REF_INJECTION_KEY, { + setForwardRef + }); +}; +const useForwardRefDirective = (setForwardRef) => { + return { + mounted(el) { + setForwardRef(el); + }, + updated(el) { + setForwardRef(el); + }, + unmounted() { + setForwardRef(null); + } + }; +}; +const formContextKey = Symbol("formContextKey"); +const formItemContextKey = Symbol("formItemContextKey"); +const POPPER_INJECTION_KEY = Symbol("popper"); +const POPPER_CONTENT_INJECTION_KEY = Symbol("popperContent"); +const roleTypes = [ + "dialog", + "grid", + "group", + "listbox", + "menu", + "navigation", + "tooltip", + "tree" +]; +const popperProps = buildProps({ + role: { + type: String, + values: roleTypes, + default: "tooltip" + } +}); +const __default__$6 = defineComponent({ + name: "ElPopper", + inheritAttrs: false +}); +const _sfc_main$6 = /* @__PURE__ */ defineComponent({ + ...__default__$6, + props: popperProps, + setup(__props, { expose }) { + const props = __props; + const triggerRef = ref(); + const popperInstanceRef = ref(); + const contentRef = ref(); + const referenceRef = ref(); + const role = computed(() => props.role); + const popperProvides = { + triggerRef, + popperInstanceRef, + contentRef, + referenceRef, + role + }; + expose(popperProvides); + provide(POPPER_INJECTION_KEY, popperProvides); + return (_ctx, _cache) => { + return renderSlot(_ctx.$slots, "default"); + }; + } +}); +var Popper = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/popper/src/popper.vue"]]); +const popperArrowProps = buildProps({ + arrowOffset: { + type: Number, + default: 5 + } +}); +const __default__$5 = defineComponent({ + name: "ElPopperArrow", + inheritAttrs: false +}); +const _sfc_main$5 = /* @__PURE__ */ defineComponent({ + ...__default__$5, + props: popperArrowProps, + setup(__props, { expose }) { + const props = __props; + const ns = useNamespace("popper"); + const { arrowOffset, arrowRef, arrowStyle } = inject(POPPER_CONTENT_INJECTION_KEY, void 0); + watch(() => props.arrowOffset, (val) => { + arrowOffset.value = val; + }); + expose({ + arrowRef + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("span", { + ref_key: "arrowRef", + ref: arrowRef, + class: normalizeClass(unref(ns).e("arrow")), + style: normalizeStyle(unref(arrowStyle)), + "data-popper-arrow": "" + }, null, 6); + }; + } +}); +var ElPopperArrow = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/popper/src/arrow.vue"]]); +const NAME = "ElOnlyChild"; +const OnlyChild = defineComponent({ + name: NAME, + setup(_, { + slots, + attrs + }) { + var _a; + const forwardRefInjection = inject(FORWARD_REF_INJECTION_KEY); + const forwardRefDirective = useForwardRefDirective((_a = forwardRefInjection == null ? void 0 : forwardRefInjection.setForwardRef) != null ? _a : NOOP); + return () => { + var _a2; + const defaultSlot = (_a2 = slots.default) == null ? void 0 : _a2.call(slots, attrs); + if (!defaultSlot) + return null; + if (defaultSlot.length > 1) { + return null; + } + const firstLegitNode = findFirstLegitChild(defaultSlot); + if (!firstLegitNode) { + return null; + } + return withDirectives(cloneVNode(firstLegitNode, attrs), [[forwardRefDirective]]); + }; + } +}); +function findFirstLegitChild(node) { + if (!node) + return null; + const children = node; + for (const child of children) { + if (isObject(child)) { + switch (child.type) { + case Comment: + continue; + case Text: + case "svg": + return wrapTextContent(child); + case Fragment: + return findFirstLegitChild(child.children); + default: + return child; + } + } + return wrapTextContent(child); + } + return null; +} +function wrapTextContent(s) { + const ns = useNamespace("only-child"); + return createVNode("span", { + "class": ns.e("content") + }, [s]); +} +const popperTriggerProps = buildProps({ + virtualRef: { + type: definePropType(Object) + }, + virtualTriggering: Boolean, + onMouseenter: { + type: definePropType(Function) + }, + onMouseleave: { + type: definePropType(Function) + }, + onClick: { + type: definePropType(Function) + }, + onKeydown: { + type: definePropType(Function) + }, + onFocus: { + type: definePropType(Function) + }, + onBlur: { + type: definePropType(Function) + }, + onContextmenu: { + type: definePropType(Function) + }, + id: String, + open: Boolean +}); +const __default__$4 = defineComponent({ + name: "ElPopperTrigger", + inheritAttrs: false +}); +const _sfc_main$4 = /* @__PURE__ */ defineComponent({ + ...__default__$4, + props: popperTriggerProps, + setup(__props, { expose }) { + const props = __props; + const { role, triggerRef } = inject(POPPER_INJECTION_KEY, void 0); + useForwardRef(triggerRef); + const ariaControls = computed(() => { + return ariaHaspopup.value ? props.id : void 0; + }); + const ariaDescribedby = computed(() => { + if (role && role.value === "tooltip") { + return props.open && props.id ? props.id : void 0; + } + return void 0; + }); + const ariaHaspopup = computed(() => { + if (role && role.value !== "tooltip") { + return role.value; + } + return void 0; + }); + const ariaExpanded = computed(() => { + return ariaHaspopup.value ? `${props.open}` : void 0; + }); + expose({ + triggerRef + }); + return (_ctx, _cache) => { + return !_ctx.virtualTriggering ? (openBlock(), createBlock(unref(OnlyChild), mergeProps({ key: 0 }, _ctx.$attrs, { + "aria-controls": unref(ariaControls), + "aria-describedby": unref(ariaDescribedby), + "aria-expanded": unref(ariaExpanded), + "aria-haspopup": unref(ariaHaspopup) + }), { + default: withCtx(() => [ + renderSlot(_ctx.$slots, "default") + ]), + _: 3 + }, 16, ["aria-controls", "aria-describedby", "aria-expanded", "aria-haspopup"])) : createCommentVNode("v-if", true); + }; + } +}); +var ElPopperTrigger = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/popper/src/trigger.vue"]]); +const POSITIONING_STRATEGIES = ["fixed", "absolute"]; +const popperCoreConfigProps = buildProps({ + boundariesPadding: { + type: Number, + default: 0 + }, + fallbackPlacements: { + type: definePropType(Array), + default: void 0 + }, + gpuAcceleration: { + type: Boolean, + default: true + }, + offset: { + type: Number, + default: 12 + }, + placement: { + type: String, + values: placements, + default: "bottom" + }, + popperOptions: { + type: definePropType(Object), + default: () => ({}) + }, + strategy: { + type: String, + values: POSITIONING_STRATEGIES, + default: "absolute" + } +}); +const popperContentProps = buildProps({ + ...popperCoreConfigProps, + id: String, + style: { + type: definePropType([String, Array, Object]) + }, + className: { + type: definePropType([String, Array, Object]) + }, + effect: { + type: String, + default: "dark" + }, + visible: Boolean, + enterable: { + type: Boolean, + default: true + }, + pure: Boolean, + focusOnShow: { + type: Boolean, + default: false + }, + trapping: { + type: Boolean, + default: false + }, + popperClass: { + type: definePropType([String, Array, Object]) + }, + popperStyle: { + type: definePropType([String, Array, Object]) + }, + referenceEl: { + type: definePropType(Object) + }, + triggerTargetEl: { + type: definePropType(Object) + }, + stopPopperMouseEvent: { + type: Boolean, + default: true + }, + ariaLabel: { + type: String, + default: void 0 + }, + virtualTriggering: Boolean, + zIndex: Number +}); +const popperContentEmits = { + mouseenter: (evt) => evt instanceof MouseEvent, + mouseleave: (evt) => evt instanceof MouseEvent, + focus: () => true, + blur: () => true, + close: () => true +}; +const buildPopperOptions = (props, modifiers = []) => { + const { placement, strategy, popperOptions } = props; + const options = { + placement, + strategy, + ...popperOptions, + modifiers: [...genModifiers(props), ...modifiers] + }; + deriveExtraModifiers(options, popperOptions == null ? void 0 : popperOptions.modifiers); + return options; +}; +const unwrapMeasurableEl = ($el) => { + if (!isClient) + return; + return unrefElement($el); +}; +function genModifiers(options) { + const { offset, gpuAcceleration, fallbackPlacements } = options; + return [ + { + name: "offset", + options: { + offset: [0, offset != null ? offset : 12] + } + }, + { + name: "preventOverflow", + options: { + padding: { + top: 2, + bottom: 2, + left: 5, + right: 5 + } + } + }, + { + name: "flip", + options: { + padding: 5, + fallbackPlacements + } + }, + { + name: "computeStyles", + options: { + gpuAcceleration + } + } + ]; +} +function deriveExtraModifiers(options, modifiers) { + if (modifiers) { + options.modifiers = [...options.modifiers, ...modifiers != null ? modifiers : []]; + } +} +const DEFAULT_ARROW_OFFSET = 0; +const usePopperContent = (props) => { + const { popperInstanceRef, contentRef, triggerRef, role } = inject(POPPER_INJECTION_KEY, void 0); + const arrowRef = ref(); + const arrowOffset = ref(); + const eventListenerModifier = computed(() => { + return { + name: "eventListeners", + enabled: !!props.visible + }; + }); + const arrowModifier = computed(() => { + var _a; + const arrowEl = unref(arrowRef); + const offset = (_a = unref(arrowOffset)) != null ? _a : DEFAULT_ARROW_OFFSET; + return { + name: "arrow", + enabled: !isUndefined(arrowEl), + options: { + element: arrowEl, + padding: offset + } + }; + }); + const options = computed(() => { + return { + onFirstUpdate: () => { + update(); + }, + ...buildPopperOptions(props, [ + unref(arrowModifier), + unref(eventListenerModifier) + ]) + }; + }); + const computedReference = computed(() => unwrapMeasurableEl(props.referenceEl) || unref(triggerRef)); + const { attributes, state, styles, update, forceUpdate, instanceRef } = usePopper(computedReference, contentRef, options); + watch(instanceRef, (instance) => popperInstanceRef.value = instance); + return { + attributes, + arrowRef, + contentRef, + instanceRef, + state, + styles, + role, + forceUpdate, + update + }; +}; +const usePopperContentDOM = (props, { + attributes, + styles, + role +}) => { + const { nextZIndex } = useZIndex(); + const ns = useNamespace("popper"); + const contentAttrs = computed(() => unref(attributes).popper); + const contentZIndex = ref(isNumber(props.zIndex) ? props.zIndex : nextZIndex()); + const contentClass = computed(() => [ + ns.b(), + ns.is("pure", props.pure), + ns.is(props.effect), + props.popperClass + ]); + const contentStyle = computed(() => { + return [ + { zIndex: unref(contentZIndex) }, + unref(styles).popper, + props.popperStyle || {} + ]; + }); + const ariaModal = computed(() => role.value === "dialog" ? "false" : void 0); + const arrowStyle = computed(() => unref(styles).arrow || {}); + const updateZIndex = () => { + contentZIndex.value = isNumber(props.zIndex) ? props.zIndex : nextZIndex(); + }; + return { + ariaModal, + arrowStyle, + contentAttrs, + contentClass, + contentStyle, + contentZIndex, + updateZIndex + }; +}; +const usePopperContentFocusTrap = (props, emit) => { + const trapped = ref(false); + const focusStartRef = ref(); + const onFocusAfterTrapped = () => { + emit("focus"); + }; + const onFocusAfterReleased = (event) => { + var _a; + if (((_a = event.detail) == null ? void 0 : _a.focusReason) !== "pointer") { + focusStartRef.value = "first"; + emit("blur"); + } + }; + const onFocusInTrap = (event) => { + if (props.visible && !trapped.value) { + if (event.target) { + focusStartRef.value = event.target; + } + trapped.value = true; + } + }; + const onFocusoutPrevented = (event) => { + if (!props.trapping) { + if (event.detail.focusReason === "pointer") { + event.preventDefault(); + } + trapped.value = false; + } + }; + const onReleaseRequested = () => { + trapped.value = false; + emit("close"); + }; + return { + focusStartRef, + trapped, + onFocusAfterReleased, + onFocusAfterTrapped, + onFocusInTrap, + onFocusoutPrevented, + onReleaseRequested + }; +}; +const __default__$3 = defineComponent({ + name: "ElPopperContent" +}); +const _sfc_main$3 = /* @__PURE__ */ defineComponent({ + ...__default__$3, + props: popperContentProps, + emits: popperContentEmits, + setup(__props, { expose, emit }) { + const props = __props; + const { + focusStartRef, + trapped, + onFocusAfterReleased, + onFocusAfterTrapped, + onFocusInTrap, + onFocusoutPrevented, + onReleaseRequested + } = usePopperContentFocusTrap(props, emit); + const { attributes, arrowRef, contentRef, styles, instanceRef, role, update } = usePopperContent(props); + const { + ariaModal, + arrowStyle, + contentAttrs, + contentClass, + contentStyle, + updateZIndex + } = usePopperContentDOM(props, { + styles, + attributes, + role + }); + const formItemContext = inject(formItemContextKey, void 0); + const arrowOffset = ref(); + provide(POPPER_CONTENT_INJECTION_KEY, { + arrowStyle, + arrowRef, + arrowOffset + }); + if (formItemContext && (formItemContext.addInputId || formItemContext.removeInputId)) { + provide(formItemContextKey, { + ...formItemContext, + addInputId: NOOP, + removeInputId: NOOP + }); + } + const updatePopper = (shouldUpdateZIndex = true) => { + update(); + shouldUpdateZIndex && updateZIndex(); + }; + expose({ + popperContentRef: contentRef, + popperInstanceRef: instanceRef, + updatePopper, + contentStyle + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", mergeProps({ + ref_key: "contentRef", + ref: contentRef + }, unref(contentAttrs), { + style: unref(contentStyle), + class: unref(contentClass), + tabindex: "-1", + onMouseenter: _cache[0] || (_cache[0] = (e) => _ctx.$emit("mouseenter", e)), + onMouseleave: _cache[1] || (_cache[1] = (e) => _ctx.$emit("mouseleave", e)) + }), [ + createVNode(unref(ElFocusTrap), { + trapped: unref(trapped), + "trap-on-focus-in": true, + "focus-trap-el": unref(contentRef), + "focus-start-el": unref(focusStartRef), + onFocusAfterTrapped: unref(onFocusAfterTrapped), + onFocusAfterReleased: unref(onFocusAfterReleased), + onFocusin: unref(onFocusInTrap), + onFocusoutPrevented: unref(onFocusoutPrevented), + onReleaseRequested: unref(onReleaseRequested) + }, { + default: withCtx(() => [ + renderSlot(_ctx.$slots, "default") + ]), + _: 3 + }, 8, ["trapped", "focus-trap-el", "focus-start-el", "onFocusAfterTrapped", "onFocusAfterReleased", "onFocusin", "onFocusoutPrevented", "onReleaseRequested"]) + ], 16); + }; + } +}); +var ElPopperContent = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/popper/src/content.vue"]]); +const ElPopper = withInstall(Popper); +const TOOLTIP_INJECTION_KEY = Symbol("elTooltip"); +const useTooltipContentProps = buildProps({ + ...useDelayedToggleProps, + ...popperContentProps, + appendTo: { + type: definePropType([String, Object]) + }, + content: { + type: String, + default: "" + }, + rawContent: { + type: Boolean, + default: false + }, + persistent: Boolean, + ariaLabel: String, + visible: { + type: definePropType(Boolean), + default: null + }, + transition: String, + teleported: { + type: Boolean, + default: true + }, + disabled: Boolean +}); +const useTooltipTriggerProps = buildProps({ + ...popperTriggerProps, + disabled: Boolean, + trigger: { + type: definePropType([String, Array]), + default: "hover" + }, + triggerKeys: { + type: definePropType(Array), + default: () => [EVENT_CODE.enter, EVENT_CODE.space] + } +}); +const { + useModelToggleProps: useTooltipModelToggleProps, + useModelToggleEmits: useTooltipModelToggleEmits, + useModelToggle: useTooltipModelToggle +} = createModelToggleComposable("visible"); +const useTooltipProps = buildProps({ + ...popperProps, + ...useTooltipModelToggleProps, + ...useTooltipContentProps, + ...useTooltipTriggerProps, + ...popperArrowProps, + showArrow: { + type: Boolean, + default: true + } +}); +const tooltipEmits = [ + ...useTooltipModelToggleEmits, + "before-show", + "before-hide", + "show", + "hide", + "open", + "close" +]; +const isTriggerType = (trigger, type) => { + if (isArray(trigger)) { + return trigger.includes(type); + } + return trigger === type; +}; +const whenTrigger = (trigger, type, handler) => { + return (e) => { + isTriggerType(unref(trigger), type) && handler(e); + }; +}; +const __default__$2 = defineComponent({ + name: "ElTooltipTrigger" +}); +const _sfc_main$2 = /* @__PURE__ */ defineComponent({ + ...__default__$2, + props: useTooltipTriggerProps, + setup(__props, { expose }) { + const props = __props; + const ns = useNamespace("tooltip"); + const { controlled, id, open, onOpen, onClose, onToggle } = inject(TOOLTIP_INJECTION_KEY, void 0); + const triggerRef = ref(null); + const stopWhenControlledOrDisabled = () => { + if (unref(controlled) || props.disabled) { + return true; + } + }; + const trigger = toRef(props, "trigger"); + const onMouseenter = composeEventHandlers(stopWhenControlledOrDisabled, whenTrigger(trigger, "hover", onOpen)); + const onMouseleave = composeEventHandlers(stopWhenControlledOrDisabled, whenTrigger(trigger, "hover", onClose)); + const onClick = composeEventHandlers(stopWhenControlledOrDisabled, whenTrigger(trigger, "click", (e) => { + if (e.button === 0) { + onToggle(e); + } + })); + const onFocus = composeEventHandlers(stopWhenControlledOrDisabled, whenTrigger(trigger, "focus", onOpen)); + const onBlur = composeEventHandlers(stopWhenControlledOrDisabled, whenTrigger(trigger, "focus", onClose)); + const onContextMenu = composeEventHandlers(stopWhenControlledOrDisabled, whenTrigger(trigger, "contextmenu", (e) => { + e.preventDefault(); + onToggle(e); + })); + const onKeydown = composeEventHandlers(stopWhenControlledOrDisabled, (e) => { + const { code } = e; + if (props.triggerKeys.includes(code)) { + e.preventDefault(); + onToggle(e); + } + }); + expose({ + triggerRef + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(ElPopperTrigger), { + id: unref(id), + "virtual-ref": _ctx.virtualRef, + open: unref(open), + "virtual-triggering": _ctx.virtualTriggering, + class: normalizeClass(unref(ns).e("trigger")), + onBlur: unref(onBlur), + onClick: unref(onClick), + onContextmenu: unref(onContextMenu), + onFocus: unref(onFocus), + onMouseenter: unref(onMouseenter), + onMouseleave: unref(onMouseleave), + onKeydown: unref(onKeydown) + }, { + default: withCtx(() => [ + renderSlot(_ctx.$slots, "default") + ]), + _: 3 + }, 8, ["id", "virtual-ref", "open", "virtual-triggering", "class", "onBlur", "onClick", "onContextmenu", "onFocus", "onMouseenter", "onMouseleave", "onKeydown"]); + }; + } +}); +var ElTooltipTrigger = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/tooltip/src/trigger.vue"]]); +const __default__$1 = defineComponent({ + name: "ElTooltipContent", + inheritAttrs: false +}); +const _sfc_main$1 = /* @__PURE__ */ defineComponent({ + ...__default__$1, + props: useTooltipContentProps, + setup(__props, { expose }) { + const props = __props; + const { selector } = usePopperContainerId(); + const ns = useNamespace("tooltip"); + const contentRef = ref(null); + const destroyed = ref(false); + const { + controlled, + id, + open, + trigger, + onClose, + onOpen, + onShow, + onHide, + onBeforeShow, + onBeforeHide + } = inject(TOOLTIP_INJECTION_KEY, void 0); + const transitionClass = computed(() => { + return props.transition || `${ns.namespace.value}-fade-in-linear`; + }); + const persistentRef = computed(() => { + return props.persistent; + }); + const shouldRender = computed(() => { + return unref(persistentRef) ? true : unref(open); + }); + const shouldShow = computed(() => { + return props.disabled ? false : unref(open); + }); + const appendTo = computed(() => { + return props.appendTo || selector.value; + }); + const contentStyle = computed(() => { + var _a; + return (_a = props.style) != null ? _a : {}; + }); + const ariaHidden = computed(() => !unref(open)); + const onTransitionLeave = () => { + onHide(); + }; + const stopWhenControlled = () => { + if (unref(controlled)) + return true; + }; + const onContentEnter = composeEventHandlers(stopWhenControlled, () => { + if (props.enterable && unref(trigger) === "hover") { + onOpen(); + } + }); + const onContentLeave = composeEventHandlers(stopWhenControlled, () => { + if (unref(trigger) === "hover") { + onClose(); + } + }); + const onBeforeEnter = () => { + var _a, _b; + (_b = (_a = contentRef.value) == null ? void 0 : _a.updatePopper) == null ? void 0 : _b.call(_a); + onBeforeShow == null ? void 0 : onBeforeShow(); + }; + const onBeforeLeave = () => { + onBeforeHide == null ? void 0 : onBeforeHide(); + }; + const onAfterShow = () => { + onShow(); + stopHandle = onClickOutside(computed(() => { + var _a; + return (_a = contentRef.value) == null ? void 0 : _a.popperContentRef; + }), () => { + if (unref(controlled)) + return; + const $trigger = unref(trigger); + if ($trigger !== "hover") { + onClose(); + } + }); + }; + const onBlur = () => { + if (!props.virtualTriggering) { + onClose(); + } + }; + let stopHandle; + watch(() => unref(open), (val) => { + if (!val) { + stopHandle == null ? void 0 : stopHandle(); + } + }, { + flush: "post" + }); + watch(() => props.content, () => { + var _a, _b; + (_b = (_a = contentRef.value) == null ? void 0 : _a.updatePopper) == null ? void 0 : _b.call(_a); + }); + expose({ + contentRef + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(Teleport, { + disabled: !_ctx.teleported, + to: unref(appendTo) + }, [ + createVNode(Transition, { + name: unref(transitionClass), + onAfterLeave: onTransitionLeave, + onBeforeEnter, + onAfterEnter: onAfterShow, + onBeforeLeave + }, { + default: withCtx(() => [ + unref(shouldRender) ? withDirectives((openBlock(), createBlock(unref(ElPopperContent), mergeProps({ + key: 0, + id: unref(id), + ref_key: "contentRef", + ref: contentRef + }, _ctx.$attrs, { + "aria-label": _ctx.ariaLabel, + "aria-hidden": unref(ariaHidden), + "boundaries-padding": _ctx.boundariesPadding, + "fallback-placements": _ctx.fallbackPlacements, + "gpu-acceleration": _ctx.gpuAcceleration, + offset: _ctx.offset, + placement: _ctx.placement, + "popper-options": _ctx.popperOptions, + strategy: _ctx.strategy, + effect: _ctx.effect, + enterable: _ctx.enterable, + pure: _ctx.pure, + "popper-class": _ctx.popperClass, + "popper-style": [_ctx.popperStyle, unref(contentStyle)], + "reference-el": _ctx.referenceEl, + "trigger-target-el": _ctx.triggerTargetEl, + visible: unref(shouldShow), + "z-index": _ctx.zIndex, + onMouseenter: unref(onContentEnter), + onMouseleave: unref(onContentLeave), + onBlur, + onClose: unref(onClose) + }), { + default: withCtx(() => [ + !destroyed.value ? renderSlot(_ctx.$slots, "default", { key: 0 }) : createCommentVNode("v-if", true) + ]), + _: 3 + }, 16, ["id", "aria-label", "aria-hidden", "boundaries-padding", "fallback-placements", "gpu-acceleration", "offset", "placement", "popper-options", "strategy", "effect", "enterable", "pure", "popper-class", "popper-style", "reference-el", "trigger-target-el", "visible", "z-index", "onMouseenter", "onMouseleave", "onClose"])), [ + [vShow, unref(shouldShow)] + ]) : createCommentVNode("v-if", true) + ]), + _: 3 + }, 8, ["name"]) + ], 8, ["disabled", "to"]); + }; + } +}); +var ElTooltipContent = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/tooltip/src/content.vue"]]); +const _hoisted_1 = ["innerHTML"]; +const _hoisted_2 = { key: 1 }; +const __default__ = defineComponent({ + name: "ElTooltip" +}); +const _sfc_main = /* @__PURE__ */ defineComponent({ + ...__default__, + props: useTooltipProps, + emits: tooltipEmits, + setup(__props, { expose, emit }) { + const props = __props; + usePopperContainer(); + const id = useId(); + const popperRef = ref(); + const contentRef = ref(); + const updatePopper = () => { + var _a; + const popperComponent = unref(popperRef); + if (popperComponent) { + (_a = popperComponent.popperInstanceRef) == null ? void 0 : _a.update(); + } + }; + const open = ref(false); + const toggleReason = ref(); + const { show, hide, hasUpdateHandler } = useTooltipModelToggle({ + indicator: open, + toggleReason + }); + const { onOpen, onClose } = useDelayedToggle({ + showAfter: toRef(props, "showAfter"), + hideAfter: toRef(props, "hideAfter"), + autoClose: toRef(props, "autoClose"), + open: show, + close: hide + }); + const controlled = computed(() => isBoolean(props.visible) && !hasUpdateHandler.value); + provide(TOOLTIP_INJECTION_KEY, { + controlled, + id, + open: readonly(open), + trigger: toRef(props, "trigger"), + onOpen: (event) => { + onOpen(event); + }, + onClose: (event) => { + onClose(event); + }, + onToggle: (event) => { + if (unref(open)) { + onClose(event); + } else { + onOpen(event); + } + }, + onShow: () => { + emit("show", toggleReason.value); + }, + onHide: () => { + emit("hide", toggleReason.value); + }, + onBeforeShow: () => { + emit("before-show", toggleReason.value); + }, + onBeforeHide: () => { + emit("before-hide", toggleReason.value); + }, + updatePopper + }); + watch(() => props.disabled, (disabled) => { + if (disabled && open.value) { + open.value = false; + } + }); + const isFocusInsideContent = (event) => { + var _a, _b; + const popperContent = (_b = (_a = contentRef.value) == null ? void 0 : _a.contentRef) == null ? void 0 : _b.popperContentRef; + const activeElement = (event == null ? void 0 : event.relatedTarget) || document.activeElement; + return popperContent && popperContent.contains(activeElement); + }; + expose({ + popperRef, + contentRef, + isFocusInsideContent, + updatePopper, + onOpen, + onClose, + hide + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(ElPopper), { + ref_key: "popperRef", + ref: popperRef, + role: _ctx.role + }, { + default: withCtx(() => [ + createVNode(ElTooltipTrigger, { + disabled: _ctx.disabled, + trigger: _ctx.trigger, + "trigger-keys": _ctx.triggerKeys, + "virtual-ref": _ctx.virtualRef, + "virtual-triggering": _ctx.virtualTriggering + }, { + default: withCtx(() => [ + _ctx.$slots.default ? renderSlot(_ctx.$slots, "default", { key: 0 }) : createCommentVNode("v-if", true) + ]), + _: 3 + }, 8, ["disabled", "trigger", "trigger-keys", "virtual-ref", "virtual-triggering"]), + createVNode(ElTooltipContent, { + ref_key: "contentRef", + ref: contentRef, + "aria-label": _ctx.ariaLabel, + "boundaries-padding": _ctx.boundariesPadding, + content: _ctx.content, + disabled: _ctx.disabled, + effect: _ctx.effect, + enterable: _ctx.enterable, + "fallback-placements": _ctx.fallbackPlacements, + "hide-after": _ctx.hideAfter, + "gpu-acceleration": _ctx.gpuAcceleration, + offset: _ctx.offset, + persistent: _ctx.persistent, + "popper-class": _ctx.popperClass, + "popper-style": _ctx.popperStyle, + placement: _ctx.placement, + "popper-options": _ctx.popperOptions, + pure: _ctx.pure, + "raw-content": _ctx.rawContent, + "reference-el": _ctx.referenceEl, + "trigger-target-el": _ctx.triggerTargetEl, + "show-after": _ctx.showAfter, + strategy: _ctx.strategy, + teleported: _ctx.teleported, + transition: _ctx.transition, + "virtual-triggering": _ctx.virtualTriggering, + "z-index": _ctx.zIndex, + "append-to": _ctx.appendTo + }, { + default: withCtx(() => [ + renderSlot(_ctx.$slots, "content", {}, () => [ + _ctx.rawContent ? (openBlock(), createElementBlock("span", { + key: 0, + innerHTML: _ctx.content + }, null, 8, _hoisted_1)) : (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(_ctx.content), 1)) + ]), + _ctx.showArrow ? (openBlock(), createBlock(unref(ElPopperArrow), { + key: 0, + "arrow-offset": _ctx.arrowOffset + }, null, 8, ["arrow-offset"])) : createCommentVNode("v-if", true) + ]), + _: 3 + }, 8, ["aria-label", "boundaries-padding", "content", "disabled", "effect", "enterable", "fallback-placements", "hide-after", "gpu-acceleration", "offset", "persistent", "popper-class", "popper-style", "placement", "popper-options", "pure", "raw-content", "reference-el", "trigger-target-el", "show-after", "strategy", "teleported", "transition", "virtual-triggering", "z-index", "append-to"]) + ]), + _: 3 + }, 8, ["role"]); + }; + } +}); +var Tooltip = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/tooltip/src/tooltip.vue"]]); +const ElTooltip = withInstall(Tooltip); + +export { ElTooltip as E, TOOLTIP_INJECTION_KEY as T, useTooltipContentProps as a, formItemContextKey as b, formContextKey as f, useTooltipTriggerProps as u }; +//# sourceMappingURL=el-popper-6f31b937.mjs.map diff --git a/.output/server/chunks/app/_nuxt/el-popper-6f31b937.mjs.map b/.output/server/chunks/app/_nuxt/el-popper-6f31b937.mjs.map new file mode 100644 index 0000000..19cad38 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/el-popper-6f31b937.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"el-popper-6f31b937.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/el-popper-6f31b937.js"],"sourcesContent":null,"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/entry-styles.582d7478.mjs b/.output/server/chunks/app/_nuxt/entry-styles.582d7478.mjs new file mode 100644 index 0000000..695fa75 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/entry-styles.582d7478.mjs @@ -0,0 +1,6 @@ +const app_vue_vue_type_style_index_0_lang = "*{box-sizing:border-box;font-family:PingFangSC-Regular,PingFang SC,sans-serif;margin:0;padding:0}.flexflex{display:flex}.flex1{flex:1}.flexcenter{justify-content:center}.flexacenter,.flexcenter{align-items:center;display:flex}.flexjcenter{display:flex;justify-content:center}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body{background-color:#eef2f5}a{text-decoration:none!important}::-webkit-scrollbar{background-color:transparent;width:8px}::-webkit-scrollbar-thumb{background-color:#d7d7d7;border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:#666}*{scrollbar-color:#d7d7d7 transparent;scrollbar-width:thin}::-moz-scrollbar-thumb{background-color:#d7d7d7}::-moz-scrollbar-thumb:hover{background-color:#666}header.page-header .box .tab-list .item.pitch{color:#72db86!important}header.page-header .box .tab-list .item.pitch:after{background-color:#72db86!important}.avatar-box{background-color:#f4f8ff;border:1px solid #dce0ea;border-radius:10px;flex-direction:column;height:101px;z-index:100}.avatar-box .avatar-mask{cursor:auto;height:100%;left:0;position:fixed;top:0;width:100%;z-index:-1}.avatar-box .avatar-item{color:#333;cursor:pointer;font-size:14px;height:50px}.avatar-box .avatar-item:not(:last-of-type){border-bottom:1px dotted #d7d7d7}.avatar-box .avatar-icon{height:16px;margin-right:5px;width:16px}.el-popover.el-popper.avatar-box-popper{border:none;border-radius:10px;min-width:140px;padding:0}"; + +const entryStyles_582d7478 = [app_vue_vue_type_style_index_0_lang]; + +export { entryStyles_582d7478 as default }; +//# sourceMappingURL=entry-styles.582d7478.mjs.map diff --git a/.output/server/chunks/app/_nuxt/entry-styles.582d7478.mjs.map b/.output/server/chunks/app/_nuxt/entry-styles.582d7478.mjs.map new file mode 100644 index 0000000..eb095c6 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/entry-styles.582d7478.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"entry-styles.582d7478.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/entry-styles-1.mjs-dd00f040.js","../../../../../.nuxt/dist/server/_nuxt/entry-styles.582d7478.mjs"],"sourcesContent":null,"names":["style_0"],"mappings":"AAAA,MAAM,mCAAsC,GAAA,y6CAAA;;ACC5C,6BAAe,CAACA,mCAAO;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/error-404-28503570.mjs b/.output/server/chunks/app/_nuxt/error-404-28503570.mjs new file mode 100644 index 0000000..93cd7c6 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/error-404-28503570.mjs @@ -0,0 +1,283 @@ +import { useSSRContext, mergeProps, withCtx, createTextVNode, toDisplayString, defineComponent, computed, ref, h, resolveComponent } from 'vue'; +import { l as hasProtocol, j as joinURL, p as parseURL, q as parseQuery, r as withTrailingSlash, t as withoutTrailingSlash } from '../../nitro/node-server.mjs'; +import { u as useRouter, n as nuxtLinkDefaults, a as useRuntimeConfig, b as navigateTo } from '../server.mjs'; +import { _ as _export_sfc, u as useHead } from './_plugin-vue_export-helper-e3874580.mjs'; +import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent } from 'vue/server-renderer'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; + +const firstNonUndefined = (...args) => args.find((arg) => arg !== void 0); +const DEFAULT_EXTERNAL_REL_ATTRIBUTE = "noopener noreferrer"; +/*! @__NO_SIDE_EFFECTS__ */ +// @__NO_SIDE_EFFECTS__ +function defineNuxtLink(options) { + const componentName = options.componentName || "NuxtLink"; + const resolveTrailingSlashBehavior = (to, resolve) => { + if (!to || options.trailingSlash !== "append" && options.trailingSlash !== "remove") { + return to; + } + const normalizeTrailingSlash = options.trailingSlash === "append" ? withTrailingSlash : withoutTrailingSlash; + if (typeof to === "string") { + return normalizeTrailingSlash(to, true); + } + const path = "path" in to ? to.path : resolve(to).path; + return { + ...to, + name: void 0, + // named routes would otherwise always override trailing slash behavior + path: normalizeTrailingSlash(path, true) + }; + }; + return defineComponent({ + name: componentName, + props: { + // Routing + to: { + type: [String, Object], + default: void 0, + required: false + }, + href: { + type: [String, Object], + default: void 0, + required: false + }, + // Attributes + target: { + type: String, + default: void 0, + required: false + }, + rel: { + type: String, + default: void 0, + required: false + }, + noRel: { + type: Boolean, + default: void 0, + required: false + }, + // Prefetching + prefetch: { + type: Boolean, + default: void 0, + required: false + }, + noPrefetch: { + type: Boolean, + default: void 0, + required: false + }, + // Styling + activeClass: { + type: String, + default: void 0, + required: false + }, + exactActiveClass: { + type: String, + default: void 0, + required: false + }, + prefetchedClass: { + type: String, + default: void 0, + required: false + }, + // Vue Router's `` additional props + replace: { + type: Boolean, + default: void 0, + required: false + }, + ariaCurrentValue: { + type: String, + default: void 0, + required: false + }, + // Edge cases handling + external: { + type: Boolean, + default: void 0, + required: false + }, + // Slot API + custom: { + type: Boolean, + default: void 0, + required: false + } + }, + setup(props, { slots }) { + const router = useRouter(); + const config = useRuntimeConfig(); + const to = computed(() => { + const path = props.to || props.href || ""; + return resolveTrailingSlashBehavior(path, router.resolve); + }); + const isProtocolURL = computed(() => typeof to.value === "string" && hasProtocol(to.value, { acceptRelative: true })); + const isExternal = computed(() => { + if (props.external) { + return true; + } + if (props.target && props.target !== "_self") { + return true; + } + if (typeof to.value === "object") { + return false; + } + return to.value === "" || isProtocolURL.value; + }); + const prefetched = ref(false); + const el = void 0; + const elRef = void 0; + return () => { + var _a2; + var _a, _b; + if (!isExternal.value) { + const routerLinkProps = { + ref: elRef, + to: to.value, + activeClass: props.activeClass || options.activeClass, + exactActiveClass: props.exactActiveClass || options.exactActiveClass, + replace: props.replace, + ariaCurrentValue: props.ariaCurrentValue, + custom: props.custom + }; + if (!props.custom) { + if (prefetched.value) { + routerLinkProps.class = props.prefetchedClass || options.prefetchedClass; + } + routerLinkProps.rel = props.rel; + } + return h( + resolveComponent("RouterLink"), + routerLinkProps, + slots.default + ); + } + const href = typeof to.value === "object" ? (_a2 = (_a = router.resolve(to.value)) == null ? void 0 : _a.href) != null ? _a2 : null : to.value && !props.external && !isProtocolURL.value ? resolveTrailingSlashBehavior(joinURL(config.app.baseURL, to.value), router.resolve) : to.value || null; + const target = props.target || null; + const rel = props.noRel ? null : firstNonUndefined(props.rel, options.externalRelAttribute, href ? DEFAULT_EXTERNAL_REL_ATTRIBUTE : "") || null; + const navigate = () => navigateTo(href, { replace: props.replace }); + if (props.custom) { + if (!slots.default) { + return null; + } + return slots.default({ + href, + navigate, + get route() { + if (!href) { + return void 0; + } + const url = parseURL(href); + return { + path: url.pathname, + fullPath: url.pathname, + get query() { + return parseQuery(url.search); + }, + hash: url.hash, + // stub properties for compat with vue-router + params: {}, + name: void 0, + matched: [], + redirectedFrom: void 0, + meta: {}, + href + }; + }, + rel, + target, + isExternal: isExternal.value, + isActive: false, + isExactActive: false + }); + } + return h("a", { ref: el, href, rel, target }, (_b = slots.default) == null ? void 0 : _b.call(slots)); + }; + } + }); +} +const __nuxt_component_0 = /* @__PURE__ */ defineNuxtLink(nuxtLinkDefaults); +const _sfc_main = { + __name: "error-404", + __ssrInlineRender: true, + props: { + appName: { + type: String, + default: "Nuxt" + }, + version: { + type: String, + default: "" + }, + statusCode: { + type: Number, + default: 404 + }, + statusMessage: { + type: String, + default: "Not Found" + }, + description: { + type: String, + default: "Sorry, the page you are looking for could not be found." + }, + backHome: { + type: String, + default: "Go back home" + } + }, + setup(__props) { + const props = __props; + useHead({ + title: `${props.statusCode} - ${props.statusMessage} | ${props.appName}`, + script: [], + style: [ + { + children: `*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}` + } + ] + }); + return (_ctx, _push, _parent, _attrs) => { + const _component_NuxtLink = __nuxt_component_0; + _push(`

${ssrInterpolate(__props.statusCode)}

${ssrInterpolate(__props.description)}

`); + _push(ssrRenderComponent(_component_NuxtLink, { + to: "/", + class: "gradient-border text-md sm:text-xl py-2 px-4 sm:py-3 sm:px-6 cursor-pointer" + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(`${ssrInterpolate(__props.backHome)}`); + } else { + return [ + createTextVNode(toDisplayString(__props.backHome), 1) + ]; + } + }), + _: 1 + }, _parent)); + _push(`
`); + }; + } +}; +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt/ui-templates/dist/templates/error-404.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const error404 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ccd3db62"]]); + +export { error404 as default }; +//# sourceMappingURL=error-404-28503570.mjs.map diff --git a/.output/server/chunks/app/_nuxt/error-404-28503570.mjs.map b/.output/server/chunks/app/_nuxt/error-404-28503570.mjs.map new file mode 100644 index 0000000..6f4d358 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/error-404-28503570.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"error-404-28503570.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/error-404-28503570.js"],"sourcesContent":null,"names":["_a"],"mappings":";;;;;;;;;;;;;;;AAmBA,MAAM,iBAAA,GAAoB,IAAI,IAAS,KAAA,IAAA,CAAK,KAAK,CAAC,GAAA,KAAQ,QAAQ,KAAM,CAAA,CAAA,CAAA;AACxE,MAAM,8BAAiC,GAAA,qBAAA,CAAA;AACvC;AAAA;AAEA,SAAS,eAAe,OAAS,EAAA;AAC/B,EAAM,MAAA,aAAA,GAAgB,QAAQ,aAAiB,IAAA,UAAA,CAAA;AAC/C,EAAM,MAAA,4BAAA,GAA+B,CAAC,EAAA,EAAI,OAAY,KAAA;AACpD,IAAA,IAAI,CAAC,EAAM,IAAA,OAAA,CAAQ,kBAAkB,QAAY,IAAA,OAAA,CAAQ,kBAAkB,QAAU,EAAA;AACnF,MAAO,OAAA,EAAA,CAAA;AAAA,KACT;AACA,IAAA,MAAM,sBAAyB,GAAA,OAAA,CAAQ,aAAkB,KAAA,QAAA,GAAW,iBAAoB,GAAA,oBAAA,CAAA;AACxF,IAAI,IAAA,OAAO,OAAO,QAAU,EAAA;AAC1B,MAAO,OAAA,sBAAA,CAAuB,IAAI,IAAI,CAAA,CAAA;AAAA,KACxC;AACA,IAAA,MAAM,OAAO,MAAU,IAAA,EAAA,GAAK,GAAG,IAAO,GAAA,OAAA,CAAQ,EAAE,CAAE,CAAA,IAAA,CAAA;AAClD,IAAO,OAAA;AAAA,MACL,GAAG,EAAA;AAAA,MACH,IAAM,EAAA,KAAA,CAAA;AAAA;AAAA,MAEN,IAAA,EAAM,sBAAuB,CAAA,IAAA,EAAM,IAAI,CAAA;AAAA,KACzC,CAAA;AAAA,GACF,CAAA;AACA,EAAA,OAAO,eAAgB,CAAA;AAAA,IACrB,IAAM,EAAA,aAAA;AAAA,IACN,KAAO,EAAA;AAAA;AAAA,MAEL,EAAI,EAAA;AAAA,QACF,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,QACrB,OAAS,EAAA,KAAA,CAAA;AAAA,QACT,QAAU,EAAA,KAAA;AAAA,OACZ;AAAA,MACA,IAAM,EAAA;AAAA,QACJ,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,QACrB,OAAS,EAAA,KAAA,CAAA;AAAA,QACT,QAAU,EAAA,KAAA;AAAA,OACZ;AAAA;AAAA,MAEA,MAAQ,EAAA;AAAA,QACN,IAAM,EAAA,MAAA;AAAA,QACN,OAAS,EAAA,KAAA,CAAA;AAAA,QACT,QAAU,EAAA,KAAA;AAAA,OACZ;AAAA,MACA,GAAK,EAAA;AAAA,QACH,IAAM,EAAA,MAAA;AAAA,QACN,OAAS,EAAA,KAAA,CAAA;AAAA,QACT,QAAU,EAAA,KAAA;AAAA,OACZ;AAAA,MACA,KAAO,EAAA;AAAA,QACL,IAAM,EAAA,OAAA;AAAA,QACN,OAAS,EAAA,KAAA,CAAA;AAAA,QACT,QAAU,EAAA,KAAA;AAAA,OACZ;AAAA;AAAA,MAEA,QAAU,EAAA;AAAA,QACR,IAAM,EAAA,OAAA;AAAA,QACN,OAAS,EAAA,KAAA,CAAA;AAAA,QACT,QAAU,EAAA,KAAA;AAAA,OACZ;AAAA,MACA,UAAY,EAAA;AAAA,QACV,IAAM,EAAA,OAAA;AAAA,QACN,OAAS,EAAA,KAAA,CAAA;AAAA,QACT,QAAU,EAAA,KAAA;AAAA,OACZ;AAAA;AAAA,MAEA,WAAa,EAAA;AAAA,QACX,IAAM,EAAA,MAAA;AAAA,QACN,OAAS,EAAA,KAAA,CAAA;AAAA,QACT,QAAU,EAAA,KAAA;AAAA,OACZ;AAAA,MACA,gBAAkB,EAAA;AAAA,QAChB,IAAM,EAAA,MAAA;AAAA,QACN,OAAS,EAAA,KAAA,CAAA;AAAA,QACT,QAAU,EAAA,KAAA;AAAA,OACZ;AAAA,MACA,eAAiB,EAAA;AAAA,QACf,IAAM,EAAA,MAAA;AAAA,QACN,OAAS,EAAA,KAAA,CAAA;AAAA,QACT,QAAU,EAAA,KAAA;AAAA,OACZ;AAAA;AAAA,MAEA,OAAS,EAAA;AAAA,QACP,IAAM,EAAA,OAAA;AAAA,QACN,OAAS,EAAA,KAAA,CAAA;AAAA,QACT,QAAU,EAAA,KAAA;AAAA,OACZ;AAAA,MACA,gBAAkB,EAAA;AAAA,QAChB,IAAM,EAAA,MAAA;AAAA,QACN,OAAS,EAAA,KAAA,CAAA;AAAA,QACT,QAAU,EAAA,KAAA;AAAA,OACZ;AAAA;AAAA,MAEA,QAAU,EAAA;AAAA,QACR,IAAM,EAAA,OAAA;AAAA,QACN,OAAS,EAAA,KAAA,CAAA;AAAA,QACT,QAAU,EAAA,KAAA;AAAA,OACZ;AAAA;AAAA,MAEA,MAAQ,EAAA;AAAA,QACN,IAAM,EAAA,OAAA;AAAA,QACN,OAAS,EAAA,KAAA,CAAA;AAAA,QACT,QAAU,EAAA,KAAA;AAAA,OACZ;AAAA,KACF;AAAA,IACA,KAAM,CAAA,KAAA,EAAO,EAAE,KAAA,EAAS,EAAA;AACtB,MAAA,MAAM,SAAS,SAAU,EAAA,CAAA;AACzB,MAAA,MAAM,SAAS,gBAAiB,EAAA,CAAA;AAChC,MAAM,MAAA,EAAA,GAAK,SAAS,MAAM;AACxB,QAAA,MAAM,IAAO,GAAA,KAAA,CAAM,EAAM,IAAA,KAAA,CAAM,IAAQ,IAAA,EAAA,CAAA;AACvC,QAAO,OAAA,4BAAA,CAA6B,IAAM,EAAA,MAAA,CAAO,OAAO,CAAA,CAAA;AAAA,OACzD,CAAA,CAAA;AACD,MAAA,MAAM,aAAgB,GAAA,QAAA,CAAS,MAAM,OAAO,GAAG,KAAU,KAAA,QAAA,IAAY,WAAY,CAAA,EAAA,CAAG,KAAO,EAAA,EAAE,cAAgB,EAAA,IAAA,EAAM,CAAC,CAAA,CAAA;AACpH,MAAM,MAAA,UAAA,GAAa,SAAS,MAAM;AAChC,QAAA,IAAI,MAAM,QAAU,EAAA;AAClB,UAAO,OAAA,IAAA,CAAA;AAAA,SACT;AACA,QAAA,IAAI,KAAM,CAAA,MAAA,IAAU,KAAM,CAAA,MAAA,KAAW,OAAS,EAAA;AAC5C,UAAO,OAAA,IAAA,CAAA;AAAA,SACT;AACA,QAAI,IAAA,OAAO,EAAG,CAAA,KAAA,KAAU,QAAU,EAAA;AAChC,UAAO,OAAA,KAAA,CAAA;AAAA,SACT;AACA,QAAO,OAAA,EAAA,CAAG,KAAU,KAAA,EAAA,IAAM,aAAc,CAAA,KAAA,CAAA;AAAA,OACzC,CAAA,CAAA;AACD,MAAM,MAAA,UAAA,GAAa,IAAI,KAAK,CAAA,CAAA;AAC5B,MAAA,MAAM,EAAK,GAAA,KAAA,CAAA,CAAA;AACX,MAAA,MAAM,KAAQ,GAAA,KAAA,CAAA,CAAA;AACd,MAAA,OAAO,MAAM;AAjJnB,QAAAA,IAAAA,GAAAA,CAAAA;AAkJQ,QAAA,IAAI,EAAI,EAAA,EAAA,CAAA;AACR,QAAI,IAAA,CAAC,WAAW,KAAO,EAAA;AACrB,UAAA,MAAM,eAAkB,GAAA;AAAA,YACtB,GAAK,EAAA,KAAA;AAAA,YACL,IAAI,EAAG,CAAA,KAAA;AAAA,YACP,WAAA,EAAa,KAAM,CAAA,WAAA,IAAe,OAAQ,CAAA,WAAA;AAAA,YAC1C,gBAAA,EAAkB,KAAM,CAAA,gBAAA,IAAoB,OAAQ,CAAA,gBAAA;AAAA,YACpD,SAAS,KAAM,CAAA,OAAA;AAAA,YACf,kBAAkB,KAAM,CAAA,gBAAA;AAAA,YACxB,QAAQ,KAAM,CAAA,MAAA;AAAA,WAChB,CAAA;AACA,UAAI,IAAA,CAAC,MAAM,MAAQ,EAAA;AACjB,YAAA,IAAI,WAAW,KAAO,EAAA;AACpB,cAAgB,eAAA,CAAA,KAAA,GAAQ,KAAM,CAAA,eAAA,IAAmB,OAAQ,CAAA,eAAA,CAAA;AAAA,aAC3D;AACA,YAAA,eAAA,CAAgB,MAAM,KAAM,CAAA,GAAA,CAAA;AAAA,WAC9B;AACA,UAAO,OAAA,CAAA;AAAA,YACL,iBAAiB,YAAY,CAAA;AAAA,YAC7B,eAAA;AAAA,YACA,KAAM,CAAA,OAAA;AAAA,WACR,CAAA;AAAA,SACF;AACA,QAAA,MAAM,OAAO,OAAO,EAAA,CAAG,KAAU,KAAA,QAAA,GAAA,CAAaA,OAAA,EAAK,GAAA,MAAA,CAAO,OAAQ,CAAA,EAAA,CAAG,KAAK,CAAM,KAAA,IAAA,GAAO,SAAS,EAAG,CAAA,IAAA,KAArD,OAAAA,GAA8D,GAAA,IAAA,GAAO,EAAG,CAAA,KAAA,IAAS,CAAC,KAAM,CAAA,QAAA,IAAY,CAAC,aAAc,CAAA,KAAA,GAAQ,6BAA6B,OAAQ,CAAA,MAAA,CAAO,GAAI,CAAA,OAAA,EAAS,GAAG,KAAK,CAAA,EAAG,OAAO,OAAO,CAAA,GAAI,GAAG,KAAS,IAAA,IAAA,CAAA;AAC3Q,QAAM,MAAA,MAAA,GAAS,MAAM,MAAU,IAAA,IAAA,CAAA;AAC/B,QAAA,MAAM,GAAM,GAAA,KAAA,CAAM,KAAQ,GAAA,IAAA,GAAO,iBAAkB,CAAA,KAAA,CAAM,GAAK,EAAA,OAAA,CAAQ,oBAAsB,EAAA,IAAA,GAAO,8BAAiC,GAAA,EAAE,CAAK,IAAA,IAAA,CAAA;AAC3I,QAAM,MAAA,QAAA,GAAW,MAAM,UAAW,CAAA,IAAA,EAAM,EAAE,OAAS,EAAA,KAAA,CAAM,SAAS,CAAA,CAAA;AAClE,QAAA,IAAI,MAAM,MAAQ,EAAA;AAChB,UAAI,IAAA,CAAC,MAAM,OAAS,EAAA;AAClB,YAAO,OAAA,IAAA,CAAA;AAAA,WACT;AACA,UAAA,OAAO,MAAM,OAAQ,CAAA;AAAA,YACnB,IAAA;AAAA,YACA,QAAA;AAAA,YACA,IAAI,KAAQ,GAAA;AACV,cAAA,IAAI,CAAC,IAAM,EAAA;AACT,gBAAO,OAAA,KAAA,CAAA,CAAA;AAAA,eACT;AACA,cAAM,MAAA,GAAA,GAAM,SAAS,IAAI,CAAA,CAAA;AACzB,cAAO,OAAA;AAAA,gBACL,MAAM,GAAI,CAAA,QAAA;AAAA,gBACV,UAAU,GAAI,CAAA,QAAA;AAAA,gBACd,IAAI,KAAQ,GAAA;AACV,kBAAO,OAAA,UAAA,CAAW,IAAI,MAAM,CAAA,CAAA;AAAA,iBAC9B;AAAA,gBACA,MAAM,GAAI,CAAA,IAAA;AAAA;AAAA,gBAEV,QAAQ,EAAC;AAAA,gBACT,IAAM,EAAA,KAAA,CAAA;AAAA,gBACN,SAAS,EAAC;AAAA,gBACV,cAAgB,EAAA,KAAA,CAAA;AAAA,gBAChB,MAAM,EAAC;AAAA,gBACP,IAAA;AAAA,eACF,CAAA;AAAA,aACF;AAAA,YACA,GAAA;AAAA,YACA,MAAA;AAAA,YACA,YAAY,UAAW,CAAA,KAAA;AAAA,YACvB,QAAU,EAAA,KAAA;AAAA,YACV,aAAe,EAAA,KAAA;AAAA,WAChB,CAAA,CAAA;AAAA,SACH;AACA,QAAA,OAAO,EAAE,GAAK,EAAA,EAAE,GAAK,EAAA,EAAA,EAAI,MAAM,GAAK,EAAA,MAAA,EAAW,EAAA,CAAA,EAAA,GAAK,MAAM,OAAY,KAAA,IAAA,GAAO,SAAS,EAAG,CAAA,IAAA,CAAK,KAAK,CAAC,CAAA,CAAA;AAAA,OACtG,CAAA;AAAA,KACF;AAAA,GACD,CAAA,CAAA;AACH,CAAA;AACA,MAAM,kBAAA,kCAAoD,gBAAgB,CAAA,CAAA;AAE1E,MAAM,SAAY,GAAA;AAAA,EAChB,MAAQ,EAAA,WAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA,IACL,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,MAAA;AAAA,KACX;AAAA,IACA,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,IACA,UAAY,EAAA;AAAA,MACV,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,GAAA;AAAA,KACX;AAAA,IACA,aAAe,EAAA;AAAA,MACb,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,WAAA;AAAA,KACX;AAAA,IACA,WAAa,EAAA;AAAA,MACX,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,yDAAA;AAAA,KACX;AAAA,IACA,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,cAAA;AAAA,KACX;AAAA,GACF;AAAA,EACA,MAAM,OAAS,EAAA;AACb,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAQ,OAAA,CAAA;AAAA,MACN,KAAA,EAAO,GAAG,KAAM,CAAA,UAAU,MAAM,KAAM,CAAA,aAAa,CAAM,GAAA,EAAA,KAAA,CAAM,OAAO,CAAA,CAAA;AAAA,MACtE,QAAQ,EAAC;AAAA,MACT,KAAO,EAAA;AAAA,QACL;AAAA,UACE,QAAU,EAAA,CAAA,+wBAAA,CAAA;AAAA,SACZ;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AACD,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAA,MAAM,mBAAsB,GAAA,kBAAA,CAAA;AAC5B,MAAM,KAAA,CAAA,CAAA,IAAA,EAAO,eAAe,UAAW,CAAA,EAAE,OAAO,gIAAiI,EAAA,EAAG,MAAM,CAAC,CAAC,wNAAwN,cAAe,CAAA,OAAA,CAAQ,UAAU,CAAC,CAAA,gGAAA,EAAmG,eAAe,OAAQ,CAAA,WAAW,CAAC,CAA2E,yEAAA,CAAA,CAAA,CAAA;AACvoB,MAAA,KAAA,CAAM,mBAAmB,mBAAqB,EAAA;AAAA,QAC5C,EAAI,EAAA,GAAA;AAAA,QACJ,KAAO,EAAA,6EAAA;AAAA,OACN,EAAA;AAAA,QACD,SAAS,OAAQ,CAAA,CAAC,CAAG,EAAA,MAAA,EAAQ,UAAU,QAAa,KAAA;AAClD,UAAA,IAAI,MAAQ,EAAA;AACV,YAAA,MAAA,CAAO,CAAG,EAAA,cAAA,CAAe,OAAQ,CAAA,QAAQ,CAAC,CAAE,CAAA,CAAA,CAAA;AAAA,WACvC,MAAA;AACL,YAAO,OAAA;AAAA,cACL,eAAgB,CAAA,eAAA,CAAgB,OAAQ,CAAA,QAAQ,GAAG,CAAC,CAAA;AAAA,aACtD,CAAA;AAAA,WACF;AAAA,SACD,CAAA;AAAA,QACD,CAAG,EAAA,CAAA;AAAA,OACL,EAAG,OAAO,CAAC,CAAA,CAAA;AACX,MAAA,KAAA,CAAM,CAAoB,kBAAA,CAAA,CAAA,CAAA;AAAA,KAC5B,CAAA;AAAA,GACF;AACF,CAAA,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,8DAA8D,CAAA,CAAA;AAC3I,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,QAAA,+BAAuC,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/error-404-styles.1e0dde27.mjs b/.output/server/chunks/app/_nuxt/error-404-styles.1e0dde27.mjs new file mode 100644 index 0000000..19bf0e6 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/error-404-styles.1e0dde27.mjs @@ -0,0 +1,6 @@ +const error404_vue_vue_type_style_index_0_scoped_ccd3db62_lang = '.spotlight[data-v-ccd3db62]{background:linear-gradient(45deg,#00dc82,#36e4da 50%,#0047e1);bottom:-30vh;filter:blur(20vh);height:40vh}.gradient-border[data-v-ccd3db62]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.5rem;position:relative}@media (prefers-color-scheme:light){.gradient-border[data-v-ccd3db62]{background-color:hsla(0,0%,100%,.3)}.gradient-border[data-v-ccd3db62]:before{background:linear-gradient(90deg,#e2e2e2,#e2e2e2 25%,#00dc82 50%,#36e4da 75%,#0047e1)}}@media (prefers-color-scheme:dark){.gradient-border[data-v-ccd3db62]{background-color:hsla(0,0%,8%,.3)}.gradient-border[data-v-ccd3db62]:before{background:linear-gradient(90deg,#303030,#303030 25%,#00dc82 50%,#36e4da 75%,#0047e1)}}.gradient-border[data-v-ccd3db62]:before{background-size:400% auto;border-radius:.5rem;bottom:0;content:"";left:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.5;padding:2px;position:absolute;right:0;top:0;transition:background-position .3s ease-in-out,opacity .2s ease-in-out;width:100%}.gradient-border[data-v-ccd3db62]:hover:before{background-position:-50% 0;opacity:1}.bg-white[data-v-ccd3db62]{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.cursor-pointer[data-v-ccd3db62]{cursor:pointer}.flex[data-v-ccd3db62]{display:flex}.grid[data-v-ccd3db62]{display:grid}.place-content-center[data-v-ccd3db62]{place-content:center}.items-center[data-v-ccd3db62]{align-items:center}.justify-center[data-v-ccd3db62]{justify-content:center}.font-sans[data-v-ccd3db62]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.font-medium[data-v-ccd3db62]{font-weight:500}.font-light[data-v-ccd3db62]{font-weight:300}.text-8xl[data-v-ccd3db62]{font-size:6rem;line-height:1}.text-xl[data-v-ccd3db62]{font-size:1.25rem;line-height:1.75rem}.leading-tight[data-v-ccd3db62]{line-height:1.25}.mb-8[data-v-ccd3db62]{margin-bottom:2rem}.mb-16[data-v-ccd3db62]{margin-bottom:4rem}.max-w-520px[data-v-ccd3db62]{max-width:520px}.min-h-screen[data-v-ccd3db62]{min-height:100vh}.overflow-hidden[data-v-ccd3db62]{overflow:hidden}.px-8[data-v-ccd3db62]{padding-left:2rem;padding-right:2rem}.py-2[data-v-ccd3db62]{padding-bottom:.5rem;padding-top:.5rem}.px-4[data-v-ccd3db62]{padding-left:1rem;padding-right:1rem}.fixed[data-v-ccd3db62]{position:fixed}.left-0[data-v-ccd3db62]{left:0}.right-0[data-v-ccd3db62]{right:0}.text-center[data-v-ccd3db62]{text-align:center}.text-black[data-v-ccd3db62]{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.antialiased[data-v-ccd3db62]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.w-full[data-v-ccd3db62]{width:100%}.z-10[data-v-ccd3db62]{z-index:10}.z-20[data-v-ccd3db62]{z-index:20}@media (min-width:640px){.sm\\:text-4xl[data-v-ccd3db62]{font-size:2.25rem;line-height:2.5rem}.sm\\:text-xl[data-v-ccd3db62]{font-size:1.25rem;line-height:1.75rem}.sm\\:text-10xl[data-v-ccd3db62]{font-size:10rem;line-height:1}.sm\\:px-0[data-v-ccd3db62]{padding-left:0;padding-right:0}.sm\\:py-3[data-v-ccd3db62]{padding-bottom:.75rem;padding-top:.75rem}.sm\\:px-6[data-v-ccd3db62]{padding-left:1.5rem;padding-right:1.5rem}}@media (prefers-color-scheme:dark){.dark\\:bg-black[data-v-ccd3db62]{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.dark\\:text-white[data-v-ccd3db62]{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}}'; + +const error404Styles_1e0dde27 = [error404_vue_vue_type_style_index_0_scoped_ccd3db62_lang, error404_vue_vue_type_style_index_0_scoped_ccd3db62_lang]; + +export { error404Styles_1e0dde27 as default }; +//# sourceMappingURL=error-404-styles.1e0dde27.mjs.map diff --git a/.output/server/chunks/app/_nuxt/error-404-styles.1e0dde27.mjs.map b/.output/server/chunks/app/_nuxt/error-404-styles.1e0dde27.mjs.map new file mode 100644 index 0000000..48f8fd1 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/error-404-styles.1e0dde27.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"error-404-styles.1e0dde27.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/error-404-styles-1.mjs-e0837f4f.js","../../../../../.nuxt/dist/server/_nuxt/error-404-styles.1e0dde27.mjs"],"sourcesContent":null,"names":["style_0","style_1"],"mappings":"AAAA,MAAM,wDAA2D,GAAA,ukHAAA;;ACEjE,gCAAe,CAACA,wDAAO,EAAEC,wDAAO;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/error-500-1b10eb7c.mjs b/.output/server/chunks/app/_nuxt/error-500-1b10eb7c.mjs new file mode 100644 index 0000000..f6174bf --- /dev/null +++ b/.output/server/chunks/app/_nuxt/error-500-1b10eb7c.mjs @@ -0,0 +1,66 @@ +import { _ as _export_sfc, u as useHead } from './_plugin-vue_export-helper-e3874580.mjs'; +import { useSSRContext, mergeProps } from 'vue'; +import { ssrRenderAttrs, ssrInterpolate } from 'vue/server-renderer'; +import '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; + +const _sfc_main = { + __name: "error-500", + __ssrInlineRender: true, + props: { + appName: { + type: String, + default: "Nuxt" + }, + version: { + type: String, + default: "" + }, + statusCode: { + type: Number, + default: 500 + }, + statusMessage: { + type: String, + default: "Server error" + }, + description: { + type: String, + default: "This page is temporarily unavailable." + } + }, + setup(__props) { + const props = __props; + useHead({ + title: `${props.statusCode} - ${props.statusMessage} | ${props.appName}`, + script: [], + style: [ + { + children: `*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}` + } + ] + }); + return (_ctx, _push, _parent, _attrs) => { + _push(`

${ssrInterpolate(__props.statusCode)}

${ssrInterpolate(__props.description)}

`); + }; + } +}; +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt/ui-templates/dist/templates/error-500.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const error500 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-df79c84d"]]); + +export { error500 as default }; +//# sourceMappingURL=error-500-1b10eb7c.mjs.map diff --git a/.output/server/chunks/app/_nuxt/error-500-1b10eb7c.mjs.map b/.output/server/chunks/app/_nuxt/error-500-1b10eb7c.mjs.map new file mode 100644 index 0000000..b3ddd5b --- /dev/null +++ b/.output/server/chunks/app/_nuxt/error-500-1b10eb7c.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"error-500-1b10eb7c.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/error-500-1b10eb7c.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;AAoBA,MAAM,SAAY,GAAA;AAAA,EAChB,MAAQ,EAAA,WAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA,IACL,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,MAAA;AAAA,KACX;AAAA,IACA,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,IACA,UAAY,EAAA;AAAA,MACV,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,GAAA;AAAA,KACX;AAAA,IACA,aAAe,EAAA;AAAA,MACb,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,cAAA;AAAA,KACX;AAAA,IACA,WAAa,EAAA;AAAA,MACX,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,uCAAA;AAAA,KACX;AAAA,GACF;AAAA,EACA,MAAM,OAAS,EAAA;AACb,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAQ,OAAA,CAAA;AAAA,MACN,KAAA,EAAO,GAAG,KAAM,CAAA,UAAU,MAAM,KAAM,CAAA,aAAa,CAAM,GAAA,EAAA,KAAA,CAAM,OAAO,CAAA,CAAA;AAAA,MACtE,QAAQ,EAAC;AAAA,MACT,KAAO,EAAA;AAAA,QACL;AAAA,UACE,QAAU,EAAA,CAAA,uuBAAA,CAAA;AAAA,SACZ;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AACD,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAM,KAAA,CAAA,CAAA,IAAA,EAAO,eAAe,UAAW,CAAA,EAAE,OAAO,gIAAiI,EAAA,EAAG,MAAM,CAAC,CAAC,gOAAgO,cAAe,CAAA,OAAA,CAAQ,UAAU,CAAC,CAAA,gGAAA,EAAmG,eAAe,OAAQ,CAAA,WAAW,CAAC,CAAkB,gBAAA,CAAA,CAAA,CAAA;AAAA,KACxlB,CAAA;AAAA,GACF;AACF,CAAA,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,8DAA8D,CAAA,CAAA;AAC3I,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,QAAA,+BAAuC,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/error-500-styles.cf4b3e80.mjs b/.output/server/chunks/app/_nuxt/error-500-styles.cf4b3e80.mjs new file mode 100644 index 0000000..7a5b299 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/error-500-styles.cf4b3e80.mjs @@ -0,0 +1,6 @@ +const error500_vue_vue_type_style_index_0_scoped_df79c84d_lang = ".spotlight[data-v-df79c84d]{background:linear-gradient(45deg,#00dc82,#36e4da 50%,#0047e1);filter:blur(20vh)}.bg-white[data-v-df79c84d]{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.grid[data-v-df79c84d]{display:grid}.place-content-center[data-v-df79c84d]{place-content:center}.font-sans[data-v-df79c84d]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.font-medium[data-v-df79c84d]{font-weight:500}.font-light[data-v-df79c84d]{font-weight:300}.h-1\\/2[data-v-df79c84d]{height:50%}.text-8xl[data-v-df79c84d]{font-size:6rem;line-height:1}.text-xl[data-v-df79c84d]{font-size:1.25rem;line-height:1.75rem}.leading-tight[data-v-df79c84d]{line-height:1.25}.mb-8[data-v-df79c84d]{margin-bottom:2rem}.mb-16[data-v-df79c84d]{margin-bottom:4rem}.max-w-520px[data-v-df79c84d]{max-width:520px}.min-h-screen[data-v-df79c84d]{min-height:100vh}.overflow-hidden[data-v-df79c84d]{overflow:hidden}.px-8[data-v-df79c84d]{padding-left:2rem;padding-right:2rem}.fixed[data-v-df79c84d]{position:fixed}.left-0[data-v-df79c84d]{left:0}.right-0[data-v-df79c84d]{right:0}.-bottom-1\\/2[data-v-df79c84d]{bottom:-50%}.text-center[data-v-df79c84d]{text-align:center}.text-black[data-v-df79c84d]{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.antialiased[data-v-df79c84d]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (min-width:640px){.sm\\:text-4xl[data-v-df79c84d]{font-size:2.25rem;line-height:2.5rem}.sm\\:text-10xl[data-v-df79c84d]{font-size:10rem;line-height:1}.sm\\:px-0[data-v-df79c84d]{padding-left:0;padding-right:0}}@media (prefers-color-scheme:dark){.dark\\:bg-black[data-v-df79c84d]{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.dark\\:text-white[data-v-df79c84d]{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}}"; + +const error500Styles_cf4b3e80 = [error500_vue_vue_type_style_index_0_scoped_df79c84d_lang, error500_vue_vue_type_style_index_0_scoped_df79c84d_lang]; + +export { error500Styles_cf4b3e80 as default }; +//# sourceMappingURL=error-500-styles.cf4b3e80.mjs.map diff --git a/.output/server/chunks/app/_nuxt/error-500-styles.cf4b3e80.mjs.map b/.output/server/chunks/app/_nuxt/error-500-styles.cf4b3e80.mjs.map new file mode 100644 index 0000000..7ca32c3 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/error-500-styles.cf4b3e80.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"error-500-styles.cf4b3e80.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/error-500-styles-1.mjs-8fa81fcc.js","../../../../../.nuxt/dist/server/_nuxt/error-500-styles.cf4b3e80.mjs"],"sourcesContent":null,"names":["style_0","style_1"],"mappings":"AAAA,MAAM,wDAA2D,GAAA,s6DAAA;;ACEjE,gCAAe,CAACA,wDAAO,EAAEC,wDAAO;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/eye-icon-a076085e.mjs b/.output/server/chunks/app/_nuxt/eye-icon-a076085e.mjs new file mode 100644 index 0000000..f410d45 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/eye-icon-a076085e.mjs @@ -0,0 +1,1499 @@ +import { b as buildAssetsURL } from '../../handlers/renderer.mjs'; +import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, unref, renderSlot, createVNode, Transition, withCtx, withDirectives, createElementVNode, toDisplayString, vShow, h, inject, normalizeStyle, createBlock, resolveDynamicComponent, createCommentVNode, useSlots, ref, provide, Teleport, mergeProps, createSlots, shallowReactive, watch, Fragment, withModifiers, getCurrentInstance, nextTick, useSSRContext, isRef, onScopeDispose, isVNode, createTextVNode, renderList, watchEffect, render } from 'vue'; +import { b as buildProps, n as isNumber, c as withInstall, d as definePropType, i as iconPropType, p as useLocale, F as FOCUS_TRAP_INJECTION_KEY, E as ElIcon, q as useDeprecated, s as ElFocusTrap, u as useGlobalComponentSettings, t as TypeComponentsMap, v as withInstallFunction, _ as _export_sfc, C as CloseComponents, U as UPDATE_MODEL_EVENT, e as isBoolean, x as useZIndex, y as useGlobalConfig, a as addUnit, z as mutable, A as TypeComponents, B as EVENT_CODE, D as hasClass, j as getStyle, k as addClass, G as messageConfig, g as _imports_1$3, l as removeClass, I as isElement, J as changeAnonymousHttp, K as MyUserDeleteCollectHttp, L as MyUserCollectHttp, N as MyUserPublishHttp } from './cross-icon-c0ac5209.mjs'; +import { d as useNamespace, f as useId, g as defaultNamespace, t as throwError, u as useRouter, e as useRoute } from '../server.mjs'; +import { NOOP, isFunction, isString } from '@vue/shared'; +import { useEventListener, useResizeObserver, isClient, useTimeoutFn } from '@vueuse/core'; +import { isUndefined } from 'lodash-unified'; +import { computed as computed$1 } from '@vue/reactivity'; +import { ssrRenderAttrs, ssrRenderAttr, ssrInterpolate, ssrRenderComponent, ssrRenderClass, ssrRenderList } from 'vue/server-renderer'; +import { _ as _export_sfc$1 } from './_plugin-vue_export-helper-e3874580.mjs'; +import { useRoute as useRoute$1 } from 'vue-router'; + +let scrollBarWidth; +const getScrollBarWidth = (namespace) => { + var _a; + if (!isClient) + return 0; + if (scrollBarWidth !== void 0) + return scrollBarWidth; + const outer = document.createElement("div"); + outer.className = `${namespace}-scrollbar__wrap`; + outer.style.visibility = "hidden"; + outer.style.width = "100px"; + outer.style.position = "absolute"; + outer.style.top = "-9999px"; + document.body.appendChild(outer); + const widthNoScroll = outer.offsetWidth; + outer.style.overflow = "scroll"; + const inner = document.createElement("div"); + inner.style.width = "100%"; + outer.appendChild(inner); + const widthWithScroll = inner.offsetWidth; + (_a = outer.parentNode) == null ? void 0 : _a.removeChild(outer); + scrollBarWidth = widthNoScroll - widthWithScroll; + return scrollBarWidth; +}; +const composeRefs = (...refs) => { + return (el) => { + refs.forEach((ref2) => { + if (isFunction(ref2)) { + ref2(el); + } else { + ref2.value = el; + } + }); + }; +}; +var PatchFlags = /* @__PURE__ */ ((PatchFlags2) => { + PatchFlags2[PatchFlags2["TEXT"] = 1] = "TEXT"; + PatchFlags2[PatchFlags2["CLASS"] = 2] = "CLASS"; + PatchFlags2[PatchFlags2["STYLE"] = 4] = "STYLE"; + PatchFlags2[PatchFlags2["PROPS"] = 8] = "PROPS"; + PatchFlags2[PatchFlags2["FULL_PROPS"] = 16] = "FULL_PROPS"; + PatchFlags2[PatchFlags2["HYDRATE_EVENTS"] = 32] = "HYDRATE_EVENTS"; + PatchFlags2[PatchFlags2["STABLE_FRAGMENT"] = 64] = "STABLE_FRAGMENT"; + PatchFlags2[PatchFlags2["KEYED_FRAGMENT"] = 128] = "KEYED_FRAGMENT"; + PatchFlags2[PatchFlags2["UNKEYED_FRAGMENT"] = 256] = "UNKEYED_FRAGMENT"; + PatchFlags2[PatchFlags2["NEED_PATCH"] = 512] = "NEED_PATCH"; + PatchFlags2[PatchFlags2["DYNAMIC_SLOTS"] = 1024] = "DYNAMIC_SLOTS"; + PatchFlags2[PatchFlags2["HOISTED"] = -1] = "HOISTED"; + PatchFlags2[PatchFlags2["BAIL"] = -2] = "BAIL"; + return PatchFlags2; +})(PatchFlags || {}); +const useLockscreen = (trigger, options = {}) => { + if (!isRef(trigger)) { + throwError("[useLockscreen]", "You need to pass a ref param to this function"); + } + const ns = options.ns || useNamespace("popup"); + const hiddenCls = computed$1(() => ns.bm("parent", "hidden")); + if (!isClient || hasClass(document.body, hiddenCls.value)) { + return; + } + let scrollBarWidth2 = 0; + let withoutHiddenClass = false; + let bodyWidth = "0"; + const cleanup = () => { + setTimeout(() => { + removeClass(document == null ? void 0 : document.body, hiddenCls.value); + if (withoutHiddenClass && document) { + document.body.style.width = bodyWidth; + } + }, 200); + }; + watch(trigger, (val) => { + if (!val) { + cleanup(); + return; + } + withoutHiddenClass = !hasClass(document.body, hiddenCls.value); + if (withoutHiddenClass) { + bodyWidth = document.body.style.width; + } + scrollBarWidth2 = getScrollBarWidth(ns.namespace.value); + const bodyHasOverflow = document.documentElement.clientHeight < document.body.scrollHeight; + const bodyOverflowY = getStyle(document.body, "overflowY"); + if (scrollBarWidth2 > 0 && (bodyHasOverflow || bodyOverflowY === "scroll") && withoutHiddenClass) { + document.body.style.width = `calc(100% - ${scrollBarWidth2}px)`; + } + addClass(document.body, hiddenCls.value); + }); + onScopeDispose(() => cleanup()); +}; +const useSameTarget = (handleClick) => { + if (!handleClick) { + return { onClick: NOOP, onMousedown: NOOP, onMouseup: NOOP }; + } + let mousedownTarget = false; + let mouseupTarget = false; + const onClick = (e) => { + if (mousedownTarget && mouseupTarget) { + handleClick(e); + } + mousedownTarget = mouseupTarget = false; + }; + const onMousedown = (e) => { + mousedownTarget = e.target === e.currentTarget; + }; + const onMouseup = (e) => { + mouseupTarget = e.target === e.currentTarget; + }; + return { onClick, onMousedown, onMouseup }; +}; +const badgeProps = buildProps({ + value: { + type: [String, Number], + default: "" + }, + max: { + type: Number, + default: 99 + }, + isDot: Boolean, + hidden: Boolean, + type: { + type: String, + values: ["primary", "success", "warning", "info", "danger"], + default: "danger" + } +}); +const _hoisted_1$3 = ["textContent"]; +const __default__$3 = defineComponent({ + name: "ElBadge" +}); +const _sfc_main$6 = /* @__PURE__ */ defineComponent({ + ...__default__$3, + props: badgeProps, + setup(__props, { expose }) { + const props = __props; + const ns = useNamespace("badge"); + const content = computed(() => { + if (props.isDot) + return ""; + if (isNumber(props.value) && isNumber(props.max)) { + return props.max < props.value ? `${props.max}+` : `${props.value}`; + } + return `${props.value}`; + }); + expose({ + content + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", { + class: normalizeClass(unref(ns).b()) + }, [ + renderSlot(_ctx.$slots, "default"), + createVNode(Transition, { + name: `${unref(ns).namespace.value}-zoom-in-center`, + persisted: "" + }, { + default: withCtx(() => [ + withDirectives(createElementVNode("sup", { + class: normalizeClass([ + unref(ns).e("content"), + unref(ns).em("content", _ctx.type), + unref(ns).is("fixed", !!_ctx.$slots.default), + unref(ns).is("dot", _ctx.isDot) + ]), + textContent: toDisplayString(unref(content)) + }, null, 10, _hoisted_1$3), [ + [vShow, !_ctx.hidden && (unref(content) || _ctx.isDot)] + ]) + ]), + _: 1 + }, 8, ["name"]) + ], 2); + }; + } +}); +var Badge = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/badge/src/badge.vue"]]); +const ElBadge = withInstall(Badge); +const overlayProps = buildProps({ + mask: { + type: Boolean, + default: true + }, + customMaskEvent: { + type: Boolean, + default: false + }, + overlayClass: { + type: definePropType([ + String, + Array, + Object + ]) + }, + zIndex: { + type: definePropType([String, Number]) + } +}); +const overlayEmits = { + click: (evt) => evt instanceof MouseEvent +}; +const BLOCK = "overlay"; +var Overlay = defineComponent({ + name: "ElOverlay", + props: overlayProps, + emits: overlayEmits, + setup(props, { slots, emit }) { + const ns = useNamespace(BLOCK); + const onMaskClick = (e) => { + emit("click", e); + }; + const { onClick, onMousedown, onMouseup } = useSameTarget(props.customMaskEvent ? void 0 : onMaskClick); + return () => { + return props.mask ? createVNode("div", { + class: [ns.b(), props.overlayClass], + style: { + zIndex: props.zIndex + }, + onClick, + onMousedown, + onMouseup + }, [renderSlot(slots, "default")], PatchFlags.STYLE | PatchFlags.CLASS | PatchFlags.PROPS, ["onClick", "onMouseup", "onMousedown"]) : h("div", { + class: props.overlayClass, + style: { + zIndex: props.zIndex, + position: "fixed", + top: "0px", + right: "0px", + bottom: "0px", + left: "0px" + } + }, [renderSlot(slots, "default")]); + }; + } +}); +const ElOverlay = Overlay; +const dialogInjectionKey = Symbol("dialogInjectionKey"); +const dialogContentProps = buildProps({ + center: Boolean, + alignCenter: Boolean, + closeIcon: { + type: iconPropType + }, + customClass: { + type: String, + default: "" + }, + draggable: Boolean, + fullscreen: Boolean, + showClose: { + type: Boolean, + default: true + }, + title: { + type: String, + default: "" + }, + ariaLevel: { + type: String, + default: "2" + } +}); +const dialogContentEmits = { + close: () => true +}; +const _hoisted_1$2 = ["aria-level"]; +const _hoisted_2$1 = ["aria-label"]; +const _hoisted_3 = ["id"]; +const __default__$2 = defineComponent({ name: "ElDialogContent" }); +const _sfc_main$5 = /* @__PURE__ */ defineComponent({ + ...__default__$2, + props: dialogContentProps, + emits: dialogContentEmits, + setup(__props) { + const props = __props; + const { t } = useLocale(); + const { Close } = CloseComponents; + const { dialogRef, headerRef, bodyId, ns, style } = inject(dialogInjectionKey); + const { focusTrapRef } = inject(FOCUS_TRAP_INJECTION_KEY); + const dialogKls = computed(() => [ + ns.b(), + ns.is("fullscreen", props.fullscreen), + ns.is("draggable", props.draggable), + ns.is("align-center", props.alignCenter), + { [ns.m("center")]: props.center }, + props.customClass + ]); + const composedDialogRef = composeRefs(focusTrapRef, dialogRef); + computed(() => props.draggable); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", { + ref: unref(composedDialogRef), + class: normalizeClass(unref(dialogKls)), + style: normalizeStyle(unref(style)), + tabindex: "-1" + }, [ + createElementVNode("header", { + ref_key: "headerRef", + ref: headerRef, + class: normalizeClass(unref(ns).e("header")) + }, [ + renderSlot(_ctx.$slots, "header", {}, () => [ + createElementVNode("span", { + role: "heading", + "aria-level": _ctx.ariaLevel, + class: normalizeClass(unref(ns).e("title")) + }, toDisplayString(_ctx.title), 11, _hoisted_1$2) + ]), + _ctx.showClose ? (openBlock(), createElementBlock("button", { + key: 0, + "aria-label": unref(t)("el.dialog.close"), + class: normalizeClass(unref(ns).e("headerbtn")), + type: "button", + onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close")) + }, [ + createVNode(unref(ElIcon), { + class: normalizeClass(unref(ns).e("close")) + }, { + default: withCtx(() => [ + (openBlock(), createBlock(resolveDynamicComponent(_ctx.closeIcon || unref(Close)))) + ]), + _: 1 + }, 8, ["class"]) + ], 10, _hoisted_2$1)) : createCommentVNode("v-if", true) + ], 2), + createElementVNode("div", { + id: unref(bodyId), + class: normalizeClass(unref(ns).e("body")) + }, [ + renderSlot(_ctx.$slots, "default") + ], 10, _hoisted_3), + _ctx.$slots.footer ? (openBlock(), createElementBlock("footer", { + key: 0, + class: normalizeClass(unref(ns).e("footer")) + }, [ + renderSlot(_ctx.$slots, "footer") + ], 2)) : createCommentVNode("v-if", true) + ], 6); + }; + } +}); +var ElDialogContent = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/dialog/src/dialog-content.vue"]]); +const dialogProps = buildProps({ + ...dialogContentProps, + appendToBody: Boolean, + appendTo: { + type: definePropType(String), + default: "body" + }, + beforeClose: { + type: definePropType(Function) + }, + destroyOnClose: Boolean, + closeOnClickModal: { + type: Boolean, + default: true + }, + closeOnPressEscape: { + type: Boolean, + default: true + }, + lockScroll: { + type: Boolean, + default: true + }, + modal: { + type: Boolean, + default: true + }, + openDelay: { + type: Number, + default: 0 + }, + closeDelay: { + type: Number, + default: 0 + }, + top: { + type: String + }, + modelValue: Boolean, + modalClass: String, + width: { + type: [String, Number] + }, + zIndex: { + type: Number + }, + trapFocus: { + type: Boolean, + default: false + }, + headerAriaLevel: { + type: String, + default: "2" + } +}); +const dialogEmits = { + open: () => true, + opened: () => true, + close: () => true, + closed: () => true, + [UPDATE_MODEL_EVENT]: (value) => isBoolean(value), + openAutoFocus: () => true, + closeAutoFocus: () => true +}; +const useDialog = (props, targetRef) => { + var _a; + const instance = getCurrentInstance(); + const emit = instance.emit; + const { nextZIndex } = useZIndex(); + let lastPosition = ""; + const titleId = useId(); + const bodyId = useId(); + const visible = ref(false); + const closed = ref(false); + const rendered = ref(false); + const zIndex = ref((_a = props.zIndex) != null ? _a : nextZIndex()); + let openTimer = void 0; + let closeTimer = void 0; + const namespace = useGlobalConfig("namespace", defaultNamespace); + const style = computed(() => { + const style2 = {}; + const varPrefix = `--${namespace.value}-dialog`; + if (!props.fullscreen) { + if (props.top) { + style2[`${varPrefix}-margin-top`] = props.top; + } + if (props.width) { + style2[`${varPrefix}-width`] = addUnit(props.width); + } + } + return style2; + }); + const overlayDialogStyle = computed(() => { + if (props.alignCenter) { + return { display: "flex" }; + } + return {}; + }); + function afterEnter() { + emit("opened"); + } + function afterLeave() { + emit("closed"); + emit(UPDATE_MODEL_EVENT, false); + if (props.destroyOnClose) { + rendered.value = false; + } + } + function beforeLeave() { + emit("close"); + } + function open() { + closeTimer == null ? void 0 : closeTimer(); + openTimer == null ? void 0 : openTimer(); + if (props.openDelay && props.openDelay > 0) { + ({ stop: openTimer } = useTimeoutFn(() => doOpen(), props.openDelay)); + } else { + doOpen(); + } + } + function close() { + openTimer == null ? void 0 : openTimer(); + closeTimer == null ? void 0 : closeTimer(); + if (props.closeDelay && props.closeDelay > 0) { + ({ stop: closeTimer } = useTimeoutFn(() => doClose(), props.closeDelay)); + } else { + doClose(); + } + } + function handleClose() { + function hide(shouldCancel) { + if (shouldCancel) + return; + closed.value = true; + visible.value = false; + } + if (props.beforeClose) { + props.beforeClose(hide); + } else { + close(); + } + } + function onModalClick() { + if (props.closeOnClickModal) { + handleClose(); + } + } + function doOpen() { + if (!isClient) + return; + visible.value = true; + } + function doClose() { + visible.value = false; + } + function onOpenAutoFocus() { + emit("openAutoFocus"); + } + function onCloseAutoFocus() { + emit("closeAutoFocus"); + } + function onFocusoutPrevented(event) { + var _a2; + if (((_a2 = event.detail) == null ? void 0 : _a2.focusReason) === "pointer") { + event.preventDefault(); + } + } + if (props.lockScroll) { + useLockscreen(visible); + } + function onCloseRequested() { + if (props.closeOnPressEscape) { + handleClose(); + } + } + watch(() => props.modelValue, (val) => { + if (val) { + closed.value = false; + open(); + rendered.value = true; + zIndex.value = isUndefined(props.zIndex) ? nextZIndex() : zIndex.value++; + nextTick(() => { + emit("open"); + if (targetRef.value) { + targetRef.value.scrollTop = 0; + } + }); + } else { + if (visible.value) { + close(); + } + } + }); + watch(() => props.fullscreen, (val) => { + if (!targetRef.value) + return; + if (val) { + lastPosition = targetRef.value.style.transform; + targetRef.value.style.transform = ""; + } else { + targetRef.value.style.transform = lastPosition; + } + }); + return { + afterEnter, + afterLeave, + beforeLeave, + handleClose, + onModalClick, + close, + doClose, + onOpenAutoFocus, + onCloseAutoFocus, + onCloseRequested, + onFocusoutPrevented, + titleId, + bodyId, + closed, + style, + overlayDialogStyle, + rendered, + visible, + zIndex + }; +}; +const _hoisted_1$1 = ["aria-label", "aria-labelledby", "aria-describedby"]; +const __default__$1 = defineComponent({ + name: "ElDialog", + inheritAttrs: false +}); +const _sfc_main$4 = /* @__PURE__ */ defineComponent({ + ...__default__$1, + props: dialogProps, + emits: dialogEmits, + setup(__props, { expose }) { + const props = __props; + const slots = useSlots(); + useDeprecated({ + scope: "el-dialog", + from: "the title slot", + replacement: "the header slot", + version: "3.0.0", + ref: "https://element-plus.org/en-US/component/dialog.html#slots" + }, computed(() => !!slots.title)); + useDeprecated({ + scope: "el-dialog", + from: "custom-class", + replacement: "class", + version: "2.3.0", + ref: "https://element-plus.org/en-US/component/dialog.html#attributes", + type: "Attribute" + }, computed(() => !!props.customClass)); + const ns = useNamespace("dialog"); + const dialogRef = ref(); + const headerRef = ref(); + const dialogContentRef = ref(); + const { + visible, + titleId, + bodyId, + style, + overlayDialogStyle, + rendered, + zIndex, + afterEnter, + afterLeave, + beforeLeave, + handleClose, + onModalClick, + onOpenAutoFocus, + onCloseAutoFocus, + onCloseRequested, + onFocusoutPrevented + } = useDialog(props, dialogRef); + provide(dialogInjectionKey, { + dialogRef, + headerRef, + bodyId, + ns, + rendered, + style + }); + const overlayEvent = useSameTarget(onModalClick); + const draggable = computed(() => props.draggable && !props.fullscreen); + expose({ + visible, + dialogContentRef + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(Teleport, { + to: _ctx.appendTo, + disabled: _ctx.appendTo !== "body" ? false : !_ctx.appendToBody + }, [ + createVNode(Transition, { + name: "dialog-fade", + onAfterEnter: unref(afterEnter), + onAfterLeave: unref(afterLeave), + onBeforeLeave: unref(beforeLeave), + persisted: "" + }, { + default: withCtx(() => [ + withDirectives(createVNode(unref(ElOverlay), { + "custom-mask-event": "", + mask: _ctx.modal, + "overlay-class": _ctx.modalClass, + "z-index": unref(zIndex) + }, { + default: withCtx(() => [ + createElementVNode("div", { + role: "dialog", + "aria-modal": "true", + "aria-label": _ctx.title || void 0, + "aria-labelledby": !_ctx.title ? unref(titleId) : void 0, + "aria-describedby": unref(bodyId), + class: normalizeClass(`${unref(ns).namespace.value}-overlay-dialog`), + style: normalizeStyle(unref(overlayDialogStyle)), + onClick: _cache[0] || (_cache[0] = (...args) => unref(overlayEvent).onClick && unref(overlayEvent).onClick(...args)), + onMousedown: _cache[1] || (_cache[1] = (...args) => unref(overlayEvent).onMousedown && unref(overlayEvent).onMousedown(...args)), + onMouseup: _cache[2] || (_cache[2] = (...args) => unref(overlayEvent).onMouseup && unref(overlayEvent).onMouseup(...args)) + }, [ + createVNode(unref(ElFocusTrap), { + loop: "", + trapped: unref(visible), + "focus-start-el": "container", + onFocusAfterTrapped: unref(onOpenAutoFocus), + onFocusAfterReleased: unref(onCloseAutoFocus), + onFocusoutPrevented: unref(onFocusoutPrevented), + onReleaseRequested: unref(onCloseRequested) + }, { + default: withCtx(() => [ + unref(rendered) ? (openBlock(), createBlock(ElDialogContent, mergeProps({ + key: 0, + ref_key: "dialogContentRef", + ref: dialogContentRef + }, _ctx.$attrs, { + "custom-class": _ctx.customClass, + center: _ctx.center, + "align-center": _ctx.alignCenter, + "close-icon": _ctx.closeIcon, + draggable: unref(draggable), + fullscreen: _ctx.fullscreen, + "show-close": _ctx.showClose, + title: _ctx.title, + "aria-level": _ctx.headerAriaLevel, + onClose: unref(handleClose) + }), createSlots({ + header: withCtx(() => [ + !_ctx.$slots.title ? renderSlot(_ctx.$slots, "header", { + key: 0, + close: unref(handleClose), + titleId: unref(titleId), + titleClass: unref(ns).e("title") + }) : renderSlot(_ctx.$slots, "title", { key: 1 }) + ]), + default: withCtx(() => [ + renderSlot(_ctx.$slots, "default") + ]), + _: 2 + }, [ + _ctx.$slots.footer ? { + name: "footer", + fn: withCtx(() => [ + renderSlot(_ctx.$slots, "footer") + ]) + } : void 0 + ]), 1040, ["custom-class", "center", "align-center", "close-icon", "draggable", "fullscreen", "show-close", "title", "aria-level", "onClose"])) : createCommentVNode("v-if", true) + ]), + _: 3 + }, 8, ["trapped", "onFocusAfterTrapped", "onFocusAfterReleased", "onFocusoutPrevented", "onReleaseRequested"]) + ], 46, _hoisted_1$1) + ]), + _: 3 + }, 8, ["mask", "overlay-class", "z-index"]), [ + [vShow, unref(visible)] + ]) + ]), + _: 3 + }, 8, ["onAfterEnter", "onAfterLeave", "onBeforeLeave"]) + ], 8, ["to", "disabled"]); + }; + } +}); +var Dialog = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/dialog/src/dialog.vue"]]); +const ElDialog = withInstall(Dialog); +const messageTypes = ["success", "info", "warning", "error"]; +const messageDefaults = mutable({ + customClass: "", + center: false, + dangerouslyUseHTMLString: false, + duration: 3e3, + icon: void 0, + id: "", + message: "", + onClose: void 0, + showClose: false, + type: "info", + offset: 16, + zIndex: 0, + grouping: false, + repeatNum: 1, + appendTo: isClient ? document.body : void 0 +}); +const messageProps = buildProps({ + customClass: { + type: String, + default: messageDefaults.customClass + }, + center: { + type: Boolean, + default: messageDefaults.center + }, + dangerouslyUseHTMLString: { + type: Boolean, + default: messageDefaults.dangerouslyUseHTMLString + }, + duration: { + type: Number, + default: messageDefaults.duration + }, + icon: { + type: iconPropType, + default: messageDefaults.icon + }, + id: { + type: String, + default: messageDefaults.id + }, + message: { + type: definePropType([ + String, + Object, + Function + ]), + default: messageDefaults.message + }, + onClose: { + type: definePropType(Function), + required: false + }, + showClose: { + type: Boolean, + default: messageDefaults.showClose + }, + type: { + type: String, + values: messageTypes, + default: messageDefaults.type + }, + offset: { + type: Number, + default: messageDefaults.offset + }, + zIndex: { + type: Number, + default: messageDefaults.zIndex + }, + grouping: { + type: Boolean, + default: messageDefaults.grouping + }, + repeatNum: { + type: Number, + default: messageDefaults.repeatNum + } +}); +const messageEmits = { + destroy: () => true +}; +const instances = shallowReactive([]); +const getInstance = (id) => { + const idx = instances.findIndex((instance) => instance.id === id); + const current = instances[idx]; + let prev; + if (idx > 0) { + prev = instances[idx - 1]; + } + return { current, prev }; +}; +const getLastOffset = (id) => { + const { prev } = getInstance(id); + if (!prev) + return 0; + return prev.vm.exposed.bottom.value; +}; +const getOffsetOrSpace = (id, offset) => { + const idx = instances.findIndex((instance) => instance.id === id); + return idx > 0 ? 20 : offset; +}; +const _hoisted_1 = ["id"]; +const _hoisted_2 = ["innerHTML"]; +const __default__ = defineComponent({ + name: "ElMessage" +}); +const _sfc_main$3 = /* @__PURE__ */ defineComponent({ + ...__default__, + props: messageProps, + emits: messageEmits, + setup(__props, { expose }) { + const props = __props; + const { Close } = TypeComponents; + const { ns, zIndex } = useGlobalComponentSettings("message"); + const { currentZIndex, nextZIndex } = zIndex; + const messageRef = ref(); + const visible = ref(false); + const height = ref(0); + let stopTimer = void 0; + const badgeType = computed(() => props.type ? props.type === "error" ? "danger" : props.type : "info"); + const typeClass = computed(() => { + const type = props.type; + return { [ns.bm("icon", type)]: type && TypeComponentsMap[type] }; + }); + const iconComponent = computed(() => props.icon || TypeComponentsMap[props.type] || ""); + const lastOffset = computed(() => getLastOffset(props.id)); + const offset = computed(() => getOffsetOrSpace(props.id, props.offset) + lastOffset.value); + const bottom = computed(() => height.value + offset.value); + const customStyle = computed(() => ({ + top: `${offset.value}px`, + zIndex: currentZIndex.value + })); + function startTimer() { + if (props.duration === 0) + return; + ({ stop: stopTimer } = useTimeoutFn(() => { + close(); + }, props.duration)); + } + function clearTimer() { + stopTimer == null ? void 0 : stopTimer(); + } + function close() { + visible.value = false; + } + function keydown({ code }) { + if (code === EVENT_CODE.esc) { + close(); + } + } + watch(() => props.repeatNum, () => { + clearTimer(); + startTimer(); + }); + useEventListener(document, "keydown", keydown); + useResizeObserver(messageRef, () => { + height.value = messageRef.value.getBoundingClientRect().height; + }); + expose({ + visible, + bottom, + close + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(Transition, { + name: unref(ns).b("fade"), + onBeforeLeave: _ctx.onClose, + onAfterLeave: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("destroy")), + persisted: "" + }, { + default: withCtx(() => [ + withDirectives(createElementVNode("div", { + id: _ctx.id, + ref_key: "messageRef", + ref: messageRef, + class: normalizeClass([ + unref(ns).b(), + { [unref(ns).m(_ctx.type)]: _ctx.type && !_ctx.icon }, + unref(ns).is("center", _ctx.center), + unref(ns).is("closable", _ctx.showClose), + _ctx.customClass + ]), + style: normalizeStyle(unref(customStyle)), + role: "alert", + onMouseenter: clearTimer, + onMouseleave: startTimer + }, [ + _ctx.repeatNum > 1 ? (openBlock(), createBlock(unref(ElBadge), { + key: 0, + value: _ctx.repeatNum, + type: unref(badgeType), + class: normalizeClass(unref(ns).e("badge")) + }, null, 8, ["value", "type", "class"])) : createCommentVNode("v-if", true), + unref(iconComponent) ? (openBlock(), createBlock(unref(ElIcon), { + key: 1, + class: normalizeClass([unref(ns).e("icon"), unref(typeClass)]) + }, { + default: withCtx(() => [ + (openBlock(), createBlock(resolveDynamicComponent(unref(iconComponent)))) + ]), + _: 1 + }, 8, ["class"])) : createCommentVNode("v-if", true), + renderSlot(_ctx.$slots, "default", {}, () => [ + !_ctx.dangerouslyUseHTMLString ? (openBlock(), createElementBlock("p", { + key: 0, + class: normalizeClass(unref(ns).e("content")) + }, toDisplayString(_ctx.message), 3)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ + createCommentVNode(" Caution here, message could've been compromised, never use user's input as message "), + createElementVNode("p", { + class: normalizeClass(unref(ns).e("content")), + innerHTML: _ctx.message + }, null, 10, _hoisted_2) + ], 2112)) + ]), + _ctx.showClose ? (openBlock(), createBlock(unref(ElIcon), { + key: 2, + class: normalizeClass(unref(ns).e("closeBtn")), + onClick: withModifiers(close, ["stop"]) + }, { + default: withCtx(() => [ + createVNode(unref(Close)) + ]), + _: 1 + }, 8, ["class", "onClick"])) : createCommentVNode("v-if", true) + ], 46, _hoisted_1), [ + [vShow, visible.value] + ]) + ]), + _: 3 + }, 8, ["name", "onBeforeLeave"]); + }; + } +}); +var MessageConstructor = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/message/src/message.vue"]]); +let seed = 1; +const normalizeOptions = (params) => { + const options = !params || isString(params) || isVNode(params) || isFunction(params) ? { message: params } : params; + const normalized = { + ...messageDefaults, + ...options + }; + if (!normalized.appendTo) { + normalized.appendTo = document.body; + } else if (isString(normalized.appendTo)) { + let appendTo = document.querySelector(normalized.appendTo); + if (!isElement(appendTo)) { + appendTo = document.body; + } + normalized.appendTo = appendTo; + } + return normalized; +}; +const closeMessage = (instance) => { + const idx = instances.indexOf(instance); + if (idx === -1) + return; + instances.splice(idx, 1); + const { handler } = instance; + handler.close(); +}; +const createMessage = ({ appendTo, ...options }, context) => { + const id = `message_${seed++}`; + const userOnClose = options.onClose; + const container = document.createElement("div"); + const props = { + ...options, + id, + onClose: () => { + userOnClose == null ? void 0 : userOnClose(); + closeMessage(instance); + }, + onDestroy: () => { + render(null, container); + } + }; + const vnode = createVNode(MessageConstructor, props, isFunction(props.message) || isVNode(props.message) ? { + default: isFunction(props.message) ? props.message : () => props.message + } : null); + vnode.appContext = context || message._context; + render(vnode, container); + appendTo.appendChild(container.firstElementChild); + const vm = vnode.component; + const handler = { + close: () => { + vm.exposed.visible.value = false; + } + }; + const instance = { + id, + vnode, + vm, + handler, + props: vnode.component.props + }; + return instance; +}; +const message = (options = {}, context) => { + if (!isClient) + return { close: () => void 0 }; + if (isNumber(messageConfig.max) && instances.length >= messageConfig.max) { + return { close: () => void 0 }; + } + const normalized = normalizeOptions(options); + if (normalized.grouping && instances.length) { + const instance2 = instances.find(({ vnode: vm }) => { + var _a; + return ((_a = vm.props) == null ? void 0 : _a.message) === normalized.message; + }); + if (instance2) { + instance2.props.repeatNum += 1; + instance2.props.type = normalized.type; + return instance2.handler; + } + } + const instance = createMessage(normalized, context); + instances.push(instance); + return instance.handler; +}; +messageTypes.forEach((type) => { + message[type] = (options = {}, appContext) => { + const normalized = normalizeOptions(options); + return message({ ...normalized, type }, appContext); + }; +}); +function closeAll(type) { + for (const instance of instances) { + if (!type || type === instance.props.type) { + instance.handler.close(); + } + } +} +message.closeAll = closeAll; +message._context = null; +const ElMessage = withInstallFunction(message, "$message"); +const _imports_0$1 = "" + buildAssetsURL("dot-yellow.4b5e135b.svg"); +const _imports_1$2 = "" + buildAssetsURL("dot-gray.86cdd7b5.svg"); +const _imports_2$3 = "" + buildAssetsURL("empty-icon.24a01ae2.svg"); +const _sfc_main$2 = { + __name: "Empty", + __ssrInlineRender: true, + props: { + hint: String + }, + setup(__props) { + return (_ctx, _push, _parent, _attrs) => { + _push(`
${ssrInterpolate(__props.hint || "\u6682\u65E0\u5185\u5BB9")}
`); + }; + } +}; +const _sfc_setup$2 = _sfc_main$2.setup; +_sfc_main$2.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/Empty.vue"); + return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0; +}; +const __nuxt_component_4 = /* @__PURE__ */ _export_sfc$1(_sfc_main$2, [["__scopeId", "data-v-6c7355f5"]]); +const handleDate = (dateTimeStamp = /* @__PURE__ */ new Date()) => { + dateTimeStamp = dateTimeStamp ? dateTimeStamp : null; + var timestamp = new Date(dateTimeStamp); + timestamp = timestamp.getTime(); + var minute = 1e3 * 60; + var hour = minute * 60; + var day = hour * 24; + var now = (/* @__PURE__ */ new Date()).getTime(); + var diffValue = now - timestamp; + var result; + if (diffValue < 0) + return; + var dayC = diffValue / day; + var hourC = diffValue / (hour + 1); + var minC = diffValue / minute; + if (dayC >= 7) { + let date = new Date(timestamp); + let Y = date.getFullYear() + "-"; + let M = (date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1) + "-"; + let D = (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " "; + result = "" + Y + M + D; + } else if (dayC >= 1) + result = "" + Math.round(dayC) + "\u5929\u524D"; + else if (hourC >= 1) + result = "" + Math.round(hourC) + "\u5C0F\u65F6\u524D"; + else if (minC >= 1) + result = "" + Math.round(minC) + "\u5206\u949F\u524D"; + else + result = "\u521A\u521A"; + return result; +}; +const _imports_1$1 = "" + buildAssetsURL("delete-icon.a2ab9c64.svg"); +const _imports_2$2 = "" + buildAssetsURL("arrow-gray.271dd0d3.svg"); +const _imports_3 = "" + buildAssetsURL("tick-green.2df56f28.svg"); +const _sfc_main$1 = { + __name: "MyPopup", + __ssrInlineRender: true, + props: { + // MyPopupState: String, // collect mj + count: Object + }, + setup(__props, { expose: __expose }) { + let show = ref(false); + useRouter(); + const route = useRoute(); + let MyPopupState = ref(""); + let showList = ref([]); + let collectList = []; + let collectPage = 1; + let collectLoading = false; + let collectCount = ref(0); + const getCollect = () => { + if (collectPage == 0 || collectLoading) + return; + collectLoading = true; + MyUserCollectHttp({ page: collectPage }).then((res) => { + if (res.code != 200) + return; + let data = res.data; + collectList = collectList.concat(data.data); + showList.value = collectList; + if (collectList.length < data["count"]) + collectPage++; + else + collectPage = 0; + collectCount.value = data["count"]; + MyPopupState.value = "collect"; + show.value = true; + }).finally(() => collectLoading = false); + }; + let publishList = []; + let publisPage = 1; + let publisloading = false; + const getPublish = () => { + if (publisPage == 0 && !publisloading) + return; + publisloading = true; + MyUserPublishHttp({ limit: 4, page: publisPage }).then((res) => { + if (res.code != 200) + return; + let data = res.data; + publishList = publishList.concat(data.data); + if (publishList.length < data["count"]) + publisPage++; + else + publisPage = 0; + showList.value = publishList; + MyPopupState.value = "mj"; + show.value = true; + }).finally(() => publisloading = false); + }; + const cutMy = (key) => { + if (key == "collect" && collectList.length == 0) + getCollect(); + else if (key == "mj" && publishList.length == 0) + getPublish(); + if (key == "collect") + showList.value = collectList; + else if (key == "mj") + showList.value = publishList; + if (!key) + show.value = false; + }; + const openAnonymousState = (index) => { + publishList.forEach((element) => { + element["anonymousState"] = false; + }); + publishList[index]["anonymousState"] = true; + showList.value = [...publishList]; + }; + const closeAllAnonymousState = () => { + publishList.forEach((element) => { + element["anonymousState"] = false; + }); + showList.value = [...publishList]; + }; + const handleAnonymousState = (token, index, anonymous) => { + changeAnonymousHttp({ token, anonymous }).then((res) => { + if (res.code != 200) + return; + publishList[index]["anonymous"] = anonymous; + showList.value = [...publishList]; + closeAllAnonymousState(); + ElMessage.success(res.message); + }); + }; + const handleListScroll = (e) => { + const el = e.target; + if (el.scrollHeight - el.scrollTop !== el.clientHeight) + return; + if (MyPopupState.value == "collect") + getCollect(); + if (MyPopupState.value == "mj") + getPublish(); + }; + let clearAllData = inject("clearAllData") || null; + let getDetails = inject("getDetails") || null; + const goDetails = (uniqid) => { + let path = route["path"] || ""; + if (path.indexOf("/details/") != -1) { + clearAllData(); + nextTick(() => getDetails()); + } + show.value = false; + MyPopupState.value = ""; + }; + __expose({ + cutMy + }); + const cancelCollection = (token, index) => { + MyUserDeleteCollectHttp({ token }).then((res) => { + if (res.code != 200) { + ElMessage.error(res.message); + return; + } + collectList.splice(index, 1); + collectCount.value--; + showList.value = [...collectList]; + }); + }; + return (_ctx, _push, _parent, _attrs) => { + const _component_el_dialog = ElDialog; + const _component_Empty = __nuxt_component_4; + _push(ssrRenderComponent(_component_el_dialog, mergeProps({ + modelValue: unref(show), + "onUpdate:modelValue": ($event) => isRef(show) ? show.value = $event : show = $event, + width: "750px", + "align-center": "", + class: "dialog-box" + }, _attrs), { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(`
\u6211\u7684\u6536\u85CF
${ssrInterpolate(unref(collectCount) || __props.count["collect"])}
\u6211\u7684\u9762\u7ECF
${ssrInterpolate(__props.count["publish"])}
`); + if (unref(showList).length == 0) { + _push2(`
`); + _push2(ssrRenderComponent(_component_Empty, null, null, _parent2, _scopeId)); + _push2(`
`); + } else { + _push2(`
`); + ssrRenderList(unref(showList), (item, index) => { + var _a, _b, _c; + _push2(`
${ssrInterpolate(item["school"] || item["data"]["school"])}
`); + if (item["profession"] || ((_a = item == null ? void 0 : item["data"]) == null ? void 0 : _a["profession"])) { + _push2(`
\u4E13\u4E1A
${ssrInterpolate(item["profession"] || item["data"]["profession"])}
`); + } else { + _push2(``); + } + if (item["project"] || ((_b = item == null ? void 0 : item.data) == null ? void 0 : _b.project)) { + _push2(`
\u9879\u76EE
${ssrInterpolate(item["project"] || ((_c = item == null ? void 0 : item.data) == null ? void 0 : _c.project))}
`); + } else { + _push2(``); + } + _push2(`
`); + if (item == null ? void 0 : item.releasetime) { + _push2(`
${ssrInterpolate(("handleDate" in _ctx ? _ctx.handleDate : unref(handleDate))(item == null ? void 0 : item.releasetime))}\u53D1\u5E03
`); + } else { + _push2(``); + } + _push2(`
${ssrInterpolate(item["message"] || item["data"]["message"])}
`); + if (unref(MyPopupState) == "collect") { + _push2(``); + } else { + _push2(`
${ssrInterpolate(item["anonymous"] == 1 ? "\u533F\u540D" : "\u516C\u5F00")}
`); + if (item["anonymousState"]) { + _push2(`
\u516C\u5F00\u53D1\u8868
\u533F\u540D\u53D1\u8868
`); + } else { + _push2(``); + } + _push2(`
`); + } + _push2(`
`); + }); + _push2(`
`); + } + _push2(`
`); + } else { + return [ + createVNode("div", { class: "box flexflex" }, [ + createVNode("img", { + class: "cross", + src: _imports_1$3, + alt: "", + onClick: ($event) => cutMy("") + }, null, 8, ["onClick"]), + createVNode("div", { class: "tba-list flexcenter" }, [ + createVNode("div", { + class: ["tab-item flexcenter", { pitch: unref(MyPopupState) == "collect" }], + onClick: ($event) => cutMy("collect") + }, [ + createTextVNode(" \u6211\u7684\u6536\u85CF "), + createVNode("div", { class: "value" }, toDisplayString(unref(collectCount) || __props.count["collect"]), 1) + ], 10, ["onClick"]), + createVNode("div", { + class: ["tab-item flexcenter", { pitch: unref(MyPopupState) == "mj" }], + onClick: ($event) => cutMy("mj") + }, [ + createTextVNode(" \u6211\u7684\u9762\u7ECF "), + createVNode("div", { class: "value" }, toDisplayString(__props.count["publish"]), 1) + ], 10, ["onClick"]) + ]), + unref(showList).length == 0 ? (openBlock(), createBlock("div", { + key: 0, + class: "empty-box flexcenter" + }, [ + createVNode(_component_Empty) + ])) : (openBlock(), createBlock("div", { + key: 1, + class: "content", + onScroll: handleListScroll + }, [ + (openBlock(true), createBlock(Fragment, null, renderList(unref(showList), (item, index) => { + var _a, _b, _c; + return openBlock(), createBlock("div", { + class: "item flexflex", + key: index, + onClick: ($event) => { + var _a2; + return goDetails(item["uniqid"] || ((_a2 = item == null ? void 0 : item.data) == null ? void 0 : _a2.uniqid)); + } + }, [ + createVNode("div", { class: "left flexflex" }, [ + createVNode("div", { class: "name" }, toDisplayString(item["school"] || item["data"]["school"]), 1), + createVNode("div", { class: "info-box flexflex" }, [ + item["profession"] || ((_a = item == null ? void 0 : item["data"]) == null ? void 0 : _a["profession"]) ? (openBlock(), createBlock("div", { + key: 0, + class: "info-item flexacenter" + }, [ + createVNode("div", { class: "info-item-name" }, "\u4E13\u4E1A"), + createVNode("div", { class: "info-item-value" }, toDisplayString(item["profession"] || item["data"]["profession"]), 1) + ])) : createCommentVNode("", true), + item["project"] || ((_b = item == null ? void 0 : item.data) == null ? void 0 : _b.project) ? (openBlock(), createBlock("div", { + key: 1, + class: "info-item flexacenter" + }, [ + createVNode("div", { class: "info-item-name" }, "\u9879\u76EE"), + createVNode("div", { class: "info-item-value" }, toDisplayString(item["project"] || ((_c = item == null ? void 0 : item.data) == null ? void 0 : _c.project)), 1) + ])) : createCommentVNode("", true) + ]), + createVNode("div", { class: "text-box flexacenter" }, [ + (item == null ? void 0 : item.releasetime) ? (openBlock(), createBlock("div", { + key: 0, + class: "text-time" + }, toDisplayString(("handleDate" in _ctx ? _ctx.handleDate : unref(handleDate))(item == null ? void 0 : item.releasetime)) + "\u53D1\u5E03", 1)) : createCommentVNode("", true), + createVNode("div", { class: "text-message flex1 ellipsis" }, toDisplayString(item["message"] || item["data"]["message"]), 1) + ]) + ]), + createVNode("div", { class: "operate-area flexacenter" }, [ + unref(MyPopupState) == "collect" ? (openBlock(), createBlock("img", { + key: 0, + class: "delete-icon", + onClick: withModifiers(($event) => cancelCollection(item["token"], index), ["stop"]), + src: _imports_1$1 + }, null, 8, ["onClick"])) : (openBlock(), createBlock("div", { + key: 1, + class: "anonymous-box flexacenter", + onClick: withModifiers(($event) => openAnonymousState(index), ["stop"]) + }, [ + createVNode("div", { class: "text" }, toDisplayString(item["anonymous"] == 1 ? "\u533F\u540D" : "\u516C\u5F00"), 1), + createVNode("img", { + class: "arrow-icon", + src: _imports_2$2 + }), + item["anonymousState"] ? (openBlock(), createBlock("div", { + key: 0, + class: "state-popup flexflex", + onClick: withModifiers(() => { + }, ["stop"]) + }, [ + createVNode("div", { + class: ["state-popup-item flexacenter flex1", { "pitch": item["anonymous"] == 0 }], + onClick: ($event) => handleAnonymousState(item["token"], index, 0) + }, [ + createVNode("div", { class: "" }, "\u516C\u5F00\u53D1\u8868"), + createVNode("img", { + class: "state-popup-icon", + src: _imports_3 + }) + ], 10, ["onClick"]), + createVNode("div", { + class: ["state-popup-item flexacenter flex1", { "pitch": item["anonymous"] == 1 }], + onClick: ($event) => handleAnonymousState(item["token"], index, 1) + }, [ + createVNode("div", { class: "" }, "\u533F\u540D\u53D1\u8868"), + createVNode("img", { + class: "state-popup-icon", + src: _imports_3 + }) + ], 10, ["onClick"]) + ], 8, ["onClick"])) : createCommentVNode("", true) + ], 8, ["onClick"])) + ]) + ], 8, ["onClick"]); + }), 128)) + ], 32)) + ]) + ]; + } + }), + _: 1 + }, _parent)); + }; + } +}; +const _sfc_setup$1 = _sfc_main$1.setup; +_sfc_main$1.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/MyPopup.vue"); + return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0; +}; +const __nuxt_component_0 = /* @__PURE__ */ _export_sfc$1(_sfc_main$1, [["__scopeId", "data-v-45181030"]]); +const _imports_0 = "" + buildAssetsURL("logo-icon.b6345ffb.png"); +const _imports_1 = "data:image/png;base64,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"; +const _imports_2$1 = "" + buildAssetsURL("add-icon.11ba1b26.svg"); +const _sfc_main = { + __name: "top-head", + __ssrInlineRender: true, + setup(__props) { + useRouter(); + const route = useRoute$1(); + inject("isNeedLogin"); + inject("goLogin"); + let keyword = ref(""); + let count = ref({}); + watchEffect(() => { + keyword.value = route.query["keyword"]; + }); + let historicalSearchState = ref(false); + let historicalSearchList = ref([]); + let MyPopupRef = ref(null); + return (_ctx, _push, _parent, _attrs) => { + const _component_MyPopup = __nuxt_component_0; + _push(`
\u6211\u7684\u6536\u85CF
\u6211\u7684\u9762\u7ECF
`); + _push(ssrRenderComponent(_component_MyPopup, { + ref_key: "MyPopupRef", + ref: MyPopupRef, + count: unref(count) + }, null, _parent)); + _push(``); + }; + } +}; +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/top-head.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_3 = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__scopeId", "data-v-e6d62326"]]); +const _imports_2 = "" + buildAssetsURL("eye-icon.efcf8c6f.svg"); + +export { ElMessage as E, _imports_2 as _, __nuxt_component_3 as a, __nuxt_component_4 as b, handleDate as h }; +//# sourceMappingURL=eye-icon-a076085e.mjs.map diff --git a/.output/server/chunks/app/_nuxt/eye-icon-a076085e.mjs.map b/.output/server/chunks/app/_nuxt/eye-icon-a076085e.mjs.map new file mode 100644 index 0000000..000405b --- /dev/null +++ b/.output/server/chunks/app/_nuxt/eye-icon-a076085e.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"eye-icon-a076085e.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/eye-icon-a076085e.js"],"sourcesContent":null,"names":["computed","computed$1","__buildAssetsURL"],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/index-09a76c59.mjs b/.output/server/chunks/app/_nuxt/index-09a76c59.mjs new file mode 100644 index 0000000..3a629b0 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/index-09a76c59.mjs @@ -0,0 +1,33 @@ +import { u as useRouter } from '../server.mjs'; +import { useSSRContext } from 'vue'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'vue/server-renderer'; + +const _sfc_main = { + __name: "index", + __ssrInlineRender: true, + setup(__props) { + const router = useRouter(); + router.replace("/index.html"); + return (_ctx, _push, _parent, _attrs) => { + }; + } +}; +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/index.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=index-09a76c59.mjs.map diff --git a/.output/server/chunks/app/_nuxt/index-09a76c59.mjs.map b/.output/server/chunks/app/_nuxt/index-09a76c59.mjs.map new file mode 100644 index 0000000..5ea08fb --- /dev/null +++ b/.output/server/chunks/app/_nuxt/index-09a76c59.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"index-09a76c59.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/index-09a76c59.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;AAkBA,MAAM,SAAY,GAAA;AAAA,EAChB,MAAQ,EAAA,OAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,MAAM,OAAS,EAAA;AACb,IAAA,MAAM,SAAS,SAAU,EAAA,CAAA;AACzB,IAAA,MAAA,CAAO,QAAQ,aAAa,CAAA,CAAA;AAC5B,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AAAA,KACzC,CAAA;AAAA,GACF;AACF,EAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,iBAAiB,CAAA,CAAA;AAC9F,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/index-4bf365d6.mjs b/.output/server/chunks/app/_nuxt/index-4bf365d6.mjs new file mode 100644 index 0000000..19d398f --- /dev/null +++ b/.output/server/chunks/app/_nuxt/index-4bf365d6.mjs @@ -0,0 +1,6399 @@ +import { b as buildAssetsURL } from '../../handlers/renderer.mjs'; +import { c as withInstall, b as buildProps, V as ValidateComponentsMap, O as view_default, P as hide_default, E as ElIcon, Q as circle_close_default, a as addUnit, d as definePropType, R as loading_default, S as withNoopInstall, W as useSizeProp, p as useLocale, X as clock_default, Y as calendar_default, Z as d_arrow_left_default, $ as d_arrow_right_default, a0 as ConfigProvider, a1 as useGlobalSize, i as iconPropType, z as mutable, U as UPDATE_MODEL_EVENT, _ as _export_sfc$1, n as isNumber, a2 as INPUT_EVENT, a3 as CHANGE_EVENT, q as useDeprecated, y as useGlobalConfig, a4 as isEmpty, B as EVENT_CODE, g as _imports_1, a5 as arrow_left_default, a6 as arrow_right_default, a7 as publishSchoolSearchHttp, a8 as publishProfessionSearchHttp, H as Head, T as Title, M as Meta, D as hasClass, I as isElement, a9 as isUndefined, j as getStyle, aa as arrow_up_default, ab as arrow_down_default } from './cross-icon-c0ac5209.mjs'; +import { defineComponent, useAttrs as useAttrs$1, useSlots, computed, shallowRef, ref, watch, nextTick, toRef, withDirectives, openBlock, createElementBlock, mergeProps, unref, createCommentVNode, Fragment, normalizeClass, renderSlot, createElementVNode, createBlock, withCtx, resolveDynamicComponent, withModifiers, createVNode, toDisplayString, normalizeStyle, vShow, provide, reactive, onUpdated, renderList, createTextVNode, withKeys, createSlots, inject, getCurrentInstance, onUnmounted, Text, useSSRContext, Transition } from 'vue'; +import { isNil, debounce, isEqual, fromPairs, flatten } from 'lodash-unified'; +import { useResizeObserver, useEventListener, onClickOutside, isClient } from '@vueuse/core'; +import { NOOP, isArray, isString, isObject, isFunction, isDate } from '@vue/shared'; +import { d as useNamespace, h as debugWarn, t as throwError, u as useRouter } from '../server.mjs'; +import { a as useTooltipContentProps, E as ElTooltip, f as formContextKey, b as formItemContextKey, T as TOOLTIP_INJECTION_KEY } from './el-popper-6f31b937.mjs'; +import dayjs from 'dayjs'; +import customParseFormat from 'dayjs/plugin/customParseFormat.js'; +import advancedFormat from 'dayjs/plugin/advancedFormat.js'; +import localeData from 'dayjs/plugin/localeData.js'; +import weekOfYear from 'dayjs/plugin/weekOfYear.js'; +import weekYear from 'dayjs/plugin/weekYear.js'; +import dayOfYear from 'dayjs/plugin/dayOfYear.js'; +import isSameOrAfter from 'dayjs/plugin/isSameOrAfter.js'; +import isSameOrBefore from 'dayjs/plugin/isSameOrBefore.js'; +import { TinyColor } from '@ctrl/tinycolor'; +import { _ as _export_sfc, u as useHead } from './_plugin-vue_export-helper-e3874580.mjs'; +import { ssrRenderComponent, ssrRenderAttr } from 'vue/server-renderer'; +import 'vue-bundle-renderer/runtime'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'devalue'; +import '@unhead/ssr'; +import 'unhead'; +import '@unhead/shared'; +import 'axios'; +import 'qs'; +import 'vue-router'; +import '@popperjs/core'; + +const isFirefox = () => isClient && /firefox/i.test(window.navigator.userAgent); +const datePickTypes = [ + "year", + "month", + "date", + "dates", + "week", + "datetime", + "datetimerange", + "daterange", + "monthrange" +]; +const castArray = (arr) => { + if (!arr && arr !== 0) + return []; + return Array.isArray(arr) ? arr : [arr]; +}; +const isKorean = (text) => /([\uAC00-\uD7AF\u3130-\u318F])+/gi.test(text); +const generateId = () => Math.floor(Math.random() * 1e4); +const DEFAULT_EXCLUDE_KEYS = ["class", "style"]; +const LISTENER_PREFIX = /^on[A-Z]/; +const useAttrs = (params = {}) => { + const { excludeListeners = false, excludeKeys } = params; + const allExcludeKeys = computed(() => { + return ((excludeKeys == null ? void 0 : excludeKeys.value) || []).concat(DEFAULT_EXCLUDE_KEYS); + }); + const instance = getCurrentInstance(); + if (!instance) { + return computed(() => ({})); + } + return computed(() => { + var _a; + return fromPairs(Object.entries((_a = instance.proxy) == null ? void 0 : _a.$attrs).filter(([key]) => !allExcludeKeys.value.includes(key) && !(excludeListeners && LISTENER_PREFIX.test(key)))); + }); +}; +const useProp = (name) => { + const vm = getCurrentInstance(); + return computed(() => { + var _a, _b; + return (_b = (_a = vm == null ? void 0 : vm.proxy) == null ? void 0 : _a.$props) == null ? void 0 : _b[name]; + }); +}; +function useCursor(input) { + const selectionRef = ref(); + function recordCursor() { + if (input.value == void 0) + return; + const { selectionStart, selectionEnd, value } = input.value; + if (selectionStart == null || selectionEnd == null) + return; + const beforeTxt = value.slice(0, Math.max(0, selectionStart)); + const afterTxt = value.slice(Math.max(0, selectionEnd)); + selectionRef.value = { + selectionStart, + selectionEnd, + value, + beforeTxt, + afterTxt + }; + } + function setCursor() { + if (input.value == void 0 || selectionRef.value == void 0) + return; + const { value } = input.value; + const { beforeTxt, afterTxt, selectionStart } = selectionRef.value; + if (beforeTxt == void 0 || afterTxt == void 0 || selectionStart == void 0) + return; + let startPos = value.length; + if (value.endsWith(afterTxt)) { + startPos = value.length - afterTxt.length; + } else if (value.startsWith(beforeTxt)) { + startPos = beforeTxt.length; + } else { + const beforeLastChar = beforeTxt[selectionStart - 1]; + const newIndex = value.indexOf(beforeLastChar, selectionStart - 1); + if (newIndex !== -1) { + startPos = newIndex + 1; + } + } + input.value.setSelectionRange(startPos, startPos); + } + return [recordCursor, setCursor]; +} +function useFocusController(target, { afterFocus, beforeBlur, afterBlur } = {}) { + const instance = getCurrentInstance(); + const { emit } = instance; + const wrapperRef = shallowRef(); + const isFocused = ref(false); + const handleFocus = (event) => { + if (isFocused.value) + return; + isFocused.value = true; + emit("focus", event); + afterFocus == null ? void 0 : afterFocus(); + }; + const handleBlur = (event) => { + var _a; + const cancelBlur = isFunction(beforeBlur) ? beforeBlur(event) : false; + if (cancelBlur || event.relatedTarget && ((_a = wrapperRef.value) == null ? void 0 : _a.contains(event.relatedTarget))) + return; + isFocused.value = false; + emit("blur", event); + afterBlur == null ? void 0 : afterBlur(); + }; + const handleClick = () => { + var _a; + (_a = target.value) == null ? void 0 : _a.focus(); + }; + watch(wrapperRef, (el) => { + if (el) { + el.setAttribute("tabindex", "-1"); + } + }); + useEventListener(wrapperRef, "click", handleClick); + return { + wrapperRef, + isFocused, + handleFocus, + handleBlur + }; +} +const ElConfigProvider = withInstall(ConfigProvider); +const useFormSize = (fallback, ignore = {}) => { + const emptyRef = ref(void 0); + const size = ignore.prop ? emptyRef : useProp("size"); + const globalConfig = ignore.global ? emptyRef : useGlobalSize(); + const form = ignore.form ? { size: void 0 } : inject(formContextKey, void 0); + const formItem = ignore.formItem ? { size: void 0 } : inject(formItemContextKey, void 0); + return computed(() => size.value || unref(fallback) || (formItem == null ? void 0 : formItem.size) || (form == null ? void 0 : form.size) || globalConfig.value || ""); +}; +const useFormDisabled = (fallback) => { + const disabled = useProp("disabled"); + const form = inject(formContextKey, void 0); + return computed(() => disabled.value || unref(fallback) || (form == null ? void 0 : form.disabled) || false); +}; +const useFormItem = () => { + const form = inject(formContextKey, void 0); + const formItem = inject(formItemContextKey, void 0); + return { + form, + formItem + }; +}; +const useFormItemInputId = (props, { + formItemContext, + disableIdGeneration, + disableIdManagement +}) => { + if (!disableIdGeneration) { + disableIdGeneration = ref(false); + } + if (!disableIdManagement) { + disableIdManagement = ref(false); + } + const inputId = ref(); + const isLabeledByFormItem = computed(() => { + var _a; + return !!(!props.label && formItemContext && formItemContext.inputIds && ((_a = formItemContext.inputIds) == null ? void 0 : _a.length) <= 1); + }); + onUnmounted(() => { + if (formItemContext == null ? void 0 : formItemContext.removeInputId) { + inputId.value && formItemContext.removeInputId(inputId.value); + } + }); + return { + isLabeledByFormItem, + inputId + }; +}; +let hiddenTextarea = void 0; +const HIDDEN_STYLE = ` + height:0 !important; + visibility:hidden !important; + ${isFirefox() ? "" : "overflow:hidden !important;"} + position:absolute !important; + z-index:-1000 !important; + top:0 !important; + right:0 !important; +`; +const CONTEXT_STYLE = [ + "letter-spacing", + "line-height", + "padding-top", + "padding-bottom", + "font-family", + "font-weight", + "font-size", + "text-rendering", + "text-transform", + "width", + "text-indent", + "padding-left", + "padding-right", + "border-width", + "box-sizing" +]; +function calculateNodeStyling(targetElement) { + const style = window.getComputedStyle(targetElement); + const boxSizing = style.getPropertyValue("box-sizing"); + const paddingSize = Number.parseFloat(style.getPropertyValue("padding-bottom")) + Number.parseFloat(style.getPropertyValue("padding-top")); + const borderSize = Number.parseFloat(style.getPropertyValue("border-bottom-width")) + Number.parseFloat(style.getPropertyValue("border-top-width")); + const contextStyle = CONTEXT_STYLE.map((name) => `${name}:${style.getPropertyValue(name)}`).join(";"); + return { contextStyle, paddingSize, borderSize, boxSizing }; +} +function calcTextareaHeight(targetElement, minRows = 1, maxRows) { + var _a; + if (!hiddenTextarea) { + hiddenTextarea = document.createElement("textarea"); + document.body.appendChild(hiddenTextarea); + } + const { paddingSize, borderSize, boxSizing, contextStyle } = calculateNodeStyling(targetElement); + hiddenTextarea.setAttribute("style", `${contextStyle};${HIDDEN_STYLE}`); + hiddenTextarea.value = targetElement.value || targetElement.placeholder || ""; + let height = hiddenTextarea.scrollHeight; + const result = {}; + if (boxSizing === "border-box") { + height = height + borderSize; + } else if (boxSizing === "content-box") { + height = height - paddingSize; + } + hiddenTextarea.value = ""; + const singleRowHeight = hiddenTextarea.scrollHeight - paddingSize; + if (isNumber(minRows)) { + let minHeight = singleRowHeight * minRows; + if (boxSizing === "border-box") { + minHeight = minHeight + paddingSize + borderSize; + } + height = Math.max(minHeight, height); + result.minHeight = `${minHeight}px`; + } + if (isNumber(maxRows)) { + let maxHeight = singleRowHeight * maxRows; + if (boxSizing === "border-box") { + maxHeight = maxHeight + paddingSize + borderSize; + } + height = Math.min(maxHeight, height); + } + result.height = `${height}px`; + (_a = hiddenTextarea.parentNode) == null ? void 0 : _a.removeChild(hiddenTextarea); + hiddenTextarea = void 0; + return result; +} +const inputProps = buildProps({ + id: { + type: String, + default: void 0 + }, + size: useSizeProp, + disabled: Boolean, + modelValue: { + type: definePropType([ + String, + Number, + Object + ]), + default: "" + }, + type: { + type: String, + default: "text" + }, + resize: { + type: String, + values: ["none", "both", "horizontal", "vertical"] + }, + autosize: { + type: definePropType([Boolean, Object]), + default: false + }, + autocomplete: { + type: String, + default: "off" + }, + formatter: { + type: Function + }, + parser: { + type: Function + }, + placeholder: { + type: String + }, + form: { + type: String + }, + readonly: { + type: Boolean, + default: false + }, + clearable: { + type: Boolean, + default: false + }, + showPassword: { + type: Boolean, + default: false + }, + showWordLimit: { + type: Boolean, + default: false + }, + suffixIcon: { + type: iconPropType + }, + prefixIcon: { + type: iconPropType + }, + containerRole: { + type: String, + default: void 0 + }, + label: { + type: String, + default: void 0 + }, + tabindex: { + type: [String, Number], + default: 0 + }, + validateEvent: { + type: Boolean, + default: true + }, + inputStyle: { + type: definePropType([Object, Array, String]), + default: () => mutable({}) + }, + autofocus: { + type: Boolean, + default: false + } +}); +const inputEmits = { + [UPDATE_MODEL_EVENT]: (value) => isString(value), + input: (value) => isString(value), + change: (value) => isString(value), + focus: (evt) => evt instanceof FocusEvent, + blur: (evt) => evt instanceof FocusEvent, + clear: () => true, + mouseleave: (evt) => evt instanceof MouseEvent, + mouseenter: (evt) => evt instanceof MouseEvent, + keydown: (evt) => evt instanceof Event, + compositionstart: (evt) => evt instanceof CompositionEvent, + compositionupdate: (evt) => evt instanceof CompositionEvent, + compositionend: (evt) => evt instanceof CompositionEvent +}; +const _hoisted_1$9 = ["role"]; +const _hoisted_2$9 = ["id", "type", "disabled", "formatter", "parser", "readonly", "autocomplete", "tabindex", "aria-label", "placeholder", "form", "autofocus"]; +const _hoisted_3$7 = ["id", "tabindex", "disabled", "readonly", "autocomplete", "aria-label", "placeholder", "form", "autofocus"]; +const __default__$6 = defineComponent({ + name: "ElInput", + inheritAttrs: false +}); +const _sfc_main$g = /* @__PURE__ */ defineComponent({ + ...__default__$6, + props: inputProps, + emits: inputEmits, + setup(__props, { expose, emit }) { + const props = __props; + const rawAttrs = useAttrs$1(); + const slots = useSlots(); + const containerAttrs = computed(() => { + const comboBoxAttrs = {}; + if (props.containerRole === "combobox") { + comboBoxAttrs["aria-haspopup"] = rawAttrs["aria-haspopup"]; + comboBoxAttrs["aria-owns"] = rawAttrs["aria-owns"]; + comboBoxAttrs["aria-expanded"] = rawAttrs["aria-expanded"]; + } + return comboBoxAttrs; + }); + const containerKls = computed(() => [ + props.type === "textarea" ? nsTextarea.b() : nsInput.b(), + nsInput.m(inputSize.value), + nsInput.is("disabled", inputDisabled.value), + nsInput.is("exceed", inputExceed.value), + { + [nsInput.b("group")]: slots.prepend || slots.append, + [nsInput.bm("group", "append")]: slots.append, + [nsInput.bm("group", "prepend")]: slots.prepend, + [nsInput.m("prefix")]: slots.prefix || props.prefixIcon, + [nsInput.m("suffix")]: slots.suffix || props.suffixIcon || props.clearable || props.showPassword, + [nsInput.bm("suffix", "password-clear")]: showClear.value && showPwdVisible.value + }, + rawAttrs.class + ]); + const wrapperKls = computed(() => [ + nsInput.e("wrapper"), + nsInput.is("focus", isFocused.value) + ]); + const attrs = useAttrs({ + excludeKeys: computed(() => { + return Object.keys(containerAttrs.value); + }) + }); + const { form, formItem } = useFormItem(); + const { inputId } = useFormItemInputId(props, { + formItemContext: formItem + }); + const inputSize = useFormSize(); + const inputDisabled = useFormDisabled(); + const nsInput = useNamespace("input"); + const nsTextarea = useNamespace("textarea"); + const input = shallowRef(); + const textarea = shallowRef(); + const hovering = ref(false); + const isComposing = ref(false); + const passwordVisible = ref(false); + const countStyle = ref(); + const textareaCalcStyle = shallowRef(props.inputStyle); + const _ref = computed(() => input.value || textarea.value); + const { wrapperRef, isFocused, handleFocus, handleBlur } = useFocusController(_ref, { + afterBlur() { + var _a; + if (props.validateEvent) { + (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "blur").catch((err) => debugWarn()); + } + } + }); + const needStatusIcon = computed(() => { + var _a; + return (_a = form == null ? void 0 : form.statusIcon) != null ? _a : false; + }); + const validateState = computed(() => (formItem == null ? void 0 : formItem.validateState) || ""); + const validateIcon = computed(() => validateState.value && ValidateComponentsMap[validateState.value]); + const passwordIcon = computed(() => passwordVisible.value ? view_default : hide_default); + const containerStyle = computed(() => [ + rawAttrs.style, + props.inputStyle + ]); + const textareaStyle = computed(() => [ + props.inputStyle, + textareaCalcStyle.value, + { resize: props.resize } + ]); + const nativeInputValue = computed(() => isNil(props.modelValue) ? "" : String(props.modelValue)); + const showClear = computed(() => props.clearable && !inputDisabled.value && !props.readonly && !!nativeInputValue.value && (isFocused.value || hovering.value)); + const showPwdVisible = computed(() => props.showPassword && !inputDisabled.value && !props.readonly && !!nativeInputValue.value && (!!nativeInputValue.value || isFocused.value)); + const isWordLimitVisible = computed(() => props.showWordLimit && !!attrs.value.maxlength && (props.type === "text" || props.type === "textarea") && !inputDisabled.value && !props.readonly && !props.showPassword); + const textLength = computed(() => nativeInputValue.value.length); + const inputExceed = computed(() => !!isWordLimitVisible.value && textLength.value > Number(attrs.value.maxlength)); + const suffixVisible = computed(() => !!slots.suffix || !!props.suffixIcon || showClear.value || props.showPassword || isWordLimitVisible.value || !!validateState.value && needStatusIcon.value); + const [recordCursor, setCursor] = useCursor(input); + useResizeObserver(textarea, (entries) => { + onceInitSizeTextarea(); + if (!isWordLimitVisible.value || props.resize !== "both") + return; + const entry = entries[0]; + const { width } = entry.contentRect; + countStyle.value = { + right: `calc(100% - ${width + 15 + 6}px)` + }; + }); + const resizeTextarea = () => { + const { type, autosize } = props; + if (!isClient || type !== "textarea" || !textarea.value) + return; + if (autosize) { + const minRows = isObject(autosize) ? autosize.minRows : void 0; + const maxRows = isObject(autosize) ? autosize.maxRows : void 0; + const textareaStyle2 = calcTextareaHeight(textarea.value, minRows, maxRows); + textareaCalcStyle.value = { + overflowY: "hidden", + ...textareaStyle2 + }; + nextTick(() => { + textarea.value.offsetHeight; + textareaCalcStyle.value = textareaStyle2; + }); + } else { + textareaCalcStyle.value = { + minHeight: calcTextareaHeight(textarea.value).minHeight + }; + } + }; + const createOnceInitResize = (resizeTextarea2) => { + let isInit = false; + return () => { + var _a; + if (isInit || !props.autosize) + return; + const isElHidden = ((_a = textarea.value) == null ? void 0 : _a.offsetParent) === null; + if (!isElHidden) { + resizeTextarea2(); + isInit = true; + } + }; + }; + const onceInitSizeTextarea = createOnceInitResize(resizeTextarea); + const setNativeInputValue = () => { + const input2 = _ref.value; + const formatterValue = props.formatter ? props.formatter(nativeInputValue.value) : nativeInputValue.value; + if (!input2 || input2.value === formatterValue) + return; + input2.value = formatterValue; + }; + const handleInput = async (event) => { + recordCursor(); + let { value } = event.target; + if (props.formatter) { + value = props.parser ? props.parser(value) : value; + } + if (isComposing.value) + return; + if (value === nativeInputValue.value) { + setNativeInputValue(); + return; + } + emit(UPDATE_MODEL_EVENT, value); + emit("input", value); + await nextTick(); + setNativeInputValue(); + setCursor(); + }; + const handleChange = (event) => { + emit("change", event.target.value); + }; + const handleCompositionStart = (event) => { + emit("compositionstart", event); + isComposing.value = true; + }; + const handleCompositionUpdate = (event) => { + var _a; + emit("compositionupdate", event); + const text = (_a = event.target) == null ? void 0 : _a.value; + const lastCharacter = text[text.length - 1] || ""; + isComposing.value = !isKorean(lastCharacter); + }; + const handleCompositionEnd = (event) => { + emit("compositionend", event); + if (isComposing.value) { + isComposing.value = false; + handleInput(event); + } + }; + const handlePasswordVisible = () => { + passwordVisible.value = !passwordVisible.value; + focus(); + }; + const focus = async () => { + var _a; + await nextTick(); + (_a = _ref.value) == null ? void 0 : _a.focus(); + }; + const blur = () => { + var _a; + return (_a = _ref.value) == null ? void 0 : _a.blur(); + }; + const handleMouseLeave = (evt) => { + hovering.value = false; + emit("mouseleave", evt); + }; + const handleMouseEnter = (evt) => { + hovering.value = true; + emit("mouseenter", evt); + }; + const handleKeydown = (evt) => { + emit("keydown", evt); + }; + const select = () => { + var _a; + (_a = _ref.value) == null ? void 0 : _a.select(); + }; + const clear = () => { + emit(UPDATE_MODEL_EVENT, ""); + emit("change", ""); + emit("clear"); + emit("input", ""); + }; + watch(() => props.modelValue, () => { + var _a; + nextTick(() => resizeTextarea()); + if (props.validateEvent) { + (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => debugWarn()); + } + }); + watch(nativeInputValue, () => setNativeInputValue()); + watch(() => props.type, async () => { + await nextTick(); + setNativeInputValue(); + resizeTextarea(); + }); + expose({ + input, + textarea, + ref: _ref, + textareaStyle, + autosize: toRef(props, "autosize"), + focus, + blur, + select, + clear, + resizeTextarea + }); + return (_ctx, _cache) => { + return withDirectives((openBlock(), createElementBlock("div", mergeProps(unref(containerAttrs), { + class: unref(containerKls), + style: unref(containerStyle), + role: _ctx.containerRole, + onMouseenter: handleMouseEnter, + onMouseleave: handleMouseLeave + }), [ + createCommentVNode(" input "), + _ctx.type !== "textarea" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [ + createCommentVNode(" prepend slot "), + _ctx.$slots.prepend ? (openBlock(), createElementBlock("div", { + key: 0, + class: normalizeClass(unref(nsInput).be("group", "prepend")) + }, [ + renderSlot(_ctx.$slots, "prepend") + ], 2)) : createCommentVNode("v-if", true), + createElementVNode("div", { + ref_key: "wrapperRef", + ref: wrapperRef, + class: normalizeClass(unref(wrapperKls)) + }, [ + createCommentVNode(" prefix slot "), + _ctx.$slots.prefix || _ctx.prefixIcon ? (openBlock(), createElementBlock("span", { + key: 0, + class: normalizeClass(unref(nsInput).e("prefix")) + }, [ + createElementVNode("span", { + class: normalizeClass(unref(nsInput).e("prefix-inner")) + }, [ + renderSlot(_ctx.$slots, "prefix"), + _ctx.prefixIcon ? (openBlock(), createBlock(unref(ElIcon), { + key: 0, + class: normalizeClass(unref(nsInput).e("icon")) + }, { + default: withCtx(() => [ + (openBlock(), createBlock(resolveDynamicComponent(_ctx.prefixIcon))) + ]), + _: 1 + }, 8, ["class"])) : createCommentVNode("v-if", true) + ], 2) + ], 2)) : createCommentVNode("v-if", true), + createElementVNode("input", mergeProps({ + id: unref(inputId), + ref_key: "input", + ref: input, + class: unref(nsInput).e("inner") + }, unref(attrs), { + type: _ctx.showPassword ? passwordVisible.value ? "text" : "password" : _ctx.type, + disabled: unref(inputDisabled), + formatter: _ctx.formatter, + parser: _ctx.parser, + readonly: _ctx.readonly, + autocomplete: _ctx.autocomplete, + tabindex: _ctx.tabindex, + "aria-label": _ctx.label, + placeholder: _ctx.placeholder, + style: _ctx.inputStyle, + form: props.form, + autofocus: props.autofocus, + onCompositionstart: handleCompositionStart, + onCompositionupdate: handleCompositionUpdate, + onCompositionend: handleCompositionEnd, + onInput: handleInput, + onFocus: _cache[0] || (_cache[0] = (...args) => unref(handleFocus) && unref(handleFocus)(...args)), + onBlur: _cache[1] || (_cache[1] = (...args) => unref(handleBlur) && unref(handleBlur)(...args)), + onChange: handleChange, + onKeydown: handleKeydown + }), null, 16, _hoisted_2$9), + createCommentVNode(" suffix slot "), + unref(suffixVisible) ? (openBlock(), createElementBlock("span", { + key: 1, + class: normalizeClass(unref(nsInput).e("suffix")) + }, [ + createElementVNode("span", { + class: normalizeClass(unref(nsInput).e("suffix-inner")) + }, [ + !unref(showClear) || !unref(showPwdVisible) || !unref(isWordLimitVisible) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [ + renderSlot(_ctx.$slots, "suffix"), + _ctx.suffixIcon ? (openBlock(), createBlock(unref(ElIcon), { + key: 0, + class: normalizeClass(unref(nsInput).e("icon")) + }, { + default: withCtx(() => [ + (openBlock(), createBlock(resolveDynamicComponent(_ctx.suffixIcon))) + ]), + _: 1 + }, 8, ["class"])) : createCommentVNode("v-if", true) + ], 64)) : createCommentVNode("v-if", true), + unref(showClear) ? (openBlock(), createBlock(unref(ElIcon), { + key: 1, + class: normalizeClass([unref(nsInput).e("icon"), unref(nsInput).e("clear")]), + onMousedown: withModifiers(unref(NOOP), ["prevent"]), + onClick: clear + }, { + default: withCtx(() => [ + createVNode(unref(circle_close_default)) + ]), + _: 1 + }, 8, ["class", "onMousedown"])) : createCommentVNode("v-if", true), + unref(showPwdVisible) ? (openBlock(), createBlock(unref(ElIcon), { + key: 2, + class: normalizeClass([unref(nsInput).e("icon"), unref(nsInput).e("password")]), + onClick: handlePasswordVisible + }, { + default: withCtx(() => [ + (openBlock(), createBlock(resolveDynamicComponent(unref(passwordIcon)))) + ]), + _: 1 + }, 8, ["class"])) : createCommentVNode("v-if", true), + unref(isWordLimitVisible) ? (openBlock(), createElementBlock("span", { + key: 3, + class: normalizeClass(unref(nsInput).e("count")) + }, [ + createElementVNode("span", { + class: normalizeClass(unref(nsInput).e("count-inner")) + }, toDisplayString(unref(textLength)) + " / " + toDisplayString(unref(attrs).maxlength), 3) + ], 2)) : createCommentVNode("v-if", true), + unref(validateState) && unref(validateIcon) && unref(needStatusIcon) ? (openBlock(), createBlock(unref(ElIcon), { + key: 4, + class: normalizeClass([ + unref(nsInput).e("icon"), + unref(nsInput).e("validateIcon"), + unref(nsInput).is("loading", unref(validateState) === "validating") + ]) + }, { + default: withCtx(() => [ + (openBlock(), createBlock(resolveDynamicComponent(unref(validateIcon)))) + ]), + _: 1 + }, 8, ["class"])) : createCommentVNode("v-if", true) + ], 2) + ], 2)) : createCommentVNode("v-if", true) + ], 2), + createCommentVNode(" append slot "), + _ctx.$slots.append ? (openBlock(), createElementBlock("div", { + key: 1, + class: normalizeClass(unref(nsInput).be("group", "append")) + }, [ + renderSlot(_ctx.$slots, "append") + ], 2)) : createCommentVNode("v-if", true) + ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ + createCommentVNode(" textarea "), + createElementVNode("textarea", mergeProps({ + id: unref(inputId), + ref_key: "textarea", + ref: textarea, + class: unref(nsTextarea).e("inner") + }, unref(attrs), { + tabindex: _ctx.tabindex, + disabled: unref(inputDisabled), + readonly: _ctx.readonly, + autocomplete: _ctx.autocomplete, + style: unref(textareaStyle), + "aria-label": _ctx.label, + placeholder: _ctx.placeholder, + form: props.form, + autofocus: props.autofocus, + onCompositionstart: handleCompositionStart, + onCompositionupdate: handleCompositionUpdate, + onCompositionend: handleCompositionEnd, + onInput: handleInput, + onFocus: _cache[2] || (_cache[2] = (...args) => unref(handleFocus) && unref(handleFocus)(...args)), + onBlur: _cache[3] || (_cache[3] = (...args) => unref(handleBlur) && unref(handleBlur)(...args)), + onChange: handleChange, + onKeydown: handleKeydown + }), null, 16, _hoisted_3$7), + unref(isWordLimitVisible) ? (openBlock(), createElementBlock("span", { + key: 0, + style: normalizeStyle(countStyle.value), + class: normalizeClass(unref(nsInput).e("count")) + }, toDisplayString(unref(textLength)) + " / " + toDisplayString(unref(attrs).maxlength), 7)) : createCommentVNode("v-if", true) + ], 64)) + ], 16, _hoisted_1$9)), [ + [vShow, _ctx.type !== "hidden"] + ]); + }; + } +}); +var Input = /* @__PURE__ */ _export_sfc$1(_sfc_main$g, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/input/src/input.vue"]]); +const ElInput = withInstall(Input); +const GAP = 4; +const BAR_MAP = { + vertical: { + offset: "offsetHeight", + scroll: "scrollTop", + scrollSize: "scrollHeight", + size: "height", + key: "vertical", + axis: "Y", + client: "clientY", + direction: "top" + }, + horizontal: { + offset: "offsetWidth", + scroll: "scrollLeft", + scrollSize: "scrollWidth", + size: "width", + key: "horizontal", + axis: "X", + client: "clientX", + direction: "left" + } +}; +const renderThumbStyle = ({ + move, + size, + bar +}) => ({ + [bar.size]: size, + transform: `translate${bar.axis}(${move}%)` +}); +const scrollbarContextKey = Symbol("scrollbarContextKey"); +const thumbProps = buildProps({ + vertical: Boolean, + size: String, + move: Number, + ratio: { + type: Number, + required: true + }, + always: Boolean +}); +const COMPONENT_NAME$2 = "Thumb"; +const _sfc_main$f = /* @__PURE__ */ defineComponent({ + __name: "thumb", + props: thumbProps, + setup(__props) { + const props = __props; + const scrollbar = inject(scrollbarContextKey); + const ns = useNamespace("scrollbar"); + if (!scrollbar) + throwError(COMPONENT_NAME$2, "can not inject scrollbar context"); + const instance = ref(); + const thumb = ref(); + const thumbState = ref({}); + const visible = ref(false); + let cursorDown = false; + let cursorLeave = false; + let originalOnSelectStart = isClient ? document.onselectstart : null; + const bar = computed(() => BAR_MAP[props.vertical ? "vertical" : "horizontal"]); + const thumbStyle = computed(() => renderThumbStyle({ + size: props.size, + move: props.move, + bar: bar.value + })); + const offsetRatio = computed(() => instance.value[bar.value.offset] ** 2 / scrollbar.wrapElement[bar.value.scrollSize] / props.ratio / thumb.value[bar.value.offset]); + const clickThumbHandler = (e) => { + var _a; + e.stopPropagation(); + if (e.ctrlKey || [1, 2].includes(e.button)) + return; + (_a = window.getSelection()) == null ? void 0 : _a.removeAllRanges(); + startDrag(e); + const el = e.currentTarget; + if (!el) + return; + thumbState.value[bar.value.axis] = el[bar.value.offset] - (e[bar.value.client] - el.getBoundingClientRect()[bar.value.direction]); + }; + const clickTrackHandler = (e) => { + if (!thumb.value || !instance.value || !scrollbar.wrapElement) + return; + const offset = Math.abs(e.target.getBoundingClientRect()[bar.value.direction] - e[bar.value.client]); + const thumbHalf = thumb.value[bar.value.offset] / 2; + const thumbPositionPercentage = (offset - thumbHalf) * 100 * offsetRatio.value / instance.value[bar.value.offset]; + scrollbar.wrapElement[bar.value.scroll] = thumbPositionPercentage * scrollbar.wrapElement[bar.value.scrollSize] / 100; + }; + const startDrag = (e) => { + e.stopImmediatePropagation(); + cursorDown = true; + document.addEventListener("mousemove", mouseMoveDocumentHandler); + document.addEventListener("mouseup", mouseUpDocumentHandler); + originalOnSelectStart = document.onselectstart; + document.onselectstart = () => false; + }; + const mouseMoveDocumentHandler = (e) => { + if (!instance.value || !thumb.value) + return; + if (cursorDown === false) + return; + const prevPage = thumbState.value[bar.value.axis]; + if (!prevPage) + return; + const offset = (instance.value.getBoundingClientRect()[bar.value.direction] - e[bar.value.client]) * -1; + const thumbClickPosition = thumb.value[bar.value.offset] - prevPage; + const thumbPositionPercentage = (offset - thumbClickPosition) * 100 * offsetRatio.value / instance.value[bar.value.offset]; + scrollbar.wrapElement[bar.value.scroll] = thumbPositionPercentage * scrollbar.wrapElement[bar.value.scrollSize] / 100; + }; + const mouseUpDocumentHandler = () => { + cursorDown = false; + thumbState.value[bar.value.axis] = 0; + document.removeEventListener("mousemove", mouseMoveDocumentHandler); + document.removeEventListener("mouseup", mouseUpDocumentHandler); + restoreOnselectstart(); + if (cursorLeave) + visible.value = false; + }; + const mouseMoveScrollbarHandler = () => { + cursorLeave = false; + visible.value = !!props.size; + }; + const mouseLeaveScrollbarHandler = () => { + cursorLeave = true; + visible.value = cursorDown; + }; + const restoreOnselectstart = () => { + if (document.onselectstart !== originalOnSelectStart) + document.onselectstart = originalOnSelectStart; + }; + useEventListener(toRef(scrollbar, "scrollbarElement"), "mousemove", mouseMoveScrollbarHandler); + useEventListener(toRef(scrollbar, "scrollbarElement"), "mouseleave", mouseLeaveScrollbarHandler); + return (_ctx, _cache) => { + return openBlock(), createBlock(Transition, { + name: unref(ns).b("fade"), + persisted: "" + }, { + default: withCtx(() => [ + withDirectives(createElementVNode("div", { + ref_key: "instance", + ref: instance, + class: normalizeClass([unref(ns).e("bar"), unref(ns).is(unref(bar).key)]), + onMousedown: clickTrackHandler + }, [ + createElementVNode("div", { + ref_key: "thumb", + ref: thumb, + class: normalizeClass(unref(ns).e("thumb")), + style: normalizeStyle(unref(thumbStyle)), + onMousedown: clickThumbHandler + }, null, 38) + ], 34), [ + [vShow, _ctx.always || visible.value] + ]) + ]), + _: 1 + }, 8, ["name"]); + }; + } +}); +var Thumb = /* @__PURE__ */ _export_sfc$1(_sfc_main$f, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/scrollbar/src/thumb.vue"]]); +const barProps = buildProps({ + always: { + type: Boolean, + default: true + }, + width: String, + height: String, + ratioX: { + type: Number, + default: 1 + }, + ratioY: { + type: Number, + default: 1 + } +}); +const _sfc_main$e = /* @__PURE__ */ defineComponent({ + __name: "bar", + props: barProps, + setup(__props, { expose }) { + const props = __props; + const moveX = ref(0); + const moveY = ref(0); + const handleScroll = (wrap) => { + if (wrap) { + const offsetHeight = wrap.offsetHeight - GAP; + const offsetWidth = wrap.offsetWidth - GAP; + moveY.value = wrap.scrollTop * 100 / offsetHeight * props.ratioY; + moveX.value = wrap.scrollLeft * 100 / offsetWidth * props.ratioX; + } + }; + expose({ + handleScroll + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock(Fragment, null, [ + createVNode(Thumb, { + move: moveX.value, + ratio: _ctx.ratioX, + size: _ctx.width, + always: _ctx.always + }, null, 8, ["move", "ratio", "size", "always"]), + createVNode(Thumb, { + move: moveY.value, + ratio: _ctx.ratioY, + size: _ctx.height, + vertical: "", + always: _ctx.always + }, null, 8, ["move", "ratio", "size", "always"]) + ], 64); + }; + } +}); +var Bar = /* @__PURE__ */ _export_sfc$1(_sfc_main$e, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/scrollbar/src/bar.vue"]]); +const scrollbarProps = buildProps({ + height: { + type: [String, Number], + default: "" + }, + maxHeight: { + type: [String, Number], + default: "" + }, + native: { + type: Boolean, + default: false + }, + wrapStyle: { + type: definePropType([String, Object, Array]), + default: "" + }, + wrapClass: { + type: [String, Array], + default: "" + }, + viewClass: { + type: [String, Array], + default: "" + }, + viewStyle: { + type: [String, Array, Object], + default: "" + }, + noresize: Boolean, + tag: { + type: String, + default: "div" + }, + always: Boolean, + minSize: { + type: Number, + default: 20 + }, + id: String, + role: String, + ariaLabel: String, + ariaOrientation: { + type: String, + values: ["horizontal", "vertical"] + } +}); +const scrollbarEmits = { + scroll: ({ + scrollTop, + scrollLeft + }) => [scrollTop, scrollLeft].every(isNumber) +}; +const COMPONENT_NAME$1 = "ElScrollbar"; +const __default__$5 = defineComponent({ + name: COMPONENT_NAME$1 +}); +const _sfc_main$d = /* @__PURE__ */ defineComponent({ + ...__default__$5, + props: scrollbarProps, + emits: scrollbarEmits, + setup(__props, { expose, emit }) { + const props = __props; + const ns = useNamespace("scrollbar"); + let stopResizeObserver = void 0; + let stopResizeListener = void 0; + const scrollbarRef = ref(); + const wrapRef = ref(); + const resizeRef = ref(); + const sizeWidth = ref("0"); + const sizeHeight = ref("0"); + const barRef = ref(); + const ratioY = ref(1); + const ratioX = ref(1); + const wrapStyle = computed(() => { + const style = {}; + if (props.height) + style.height = addUnit(props.height); + if (props.maxHeight) + style.maxHeight = addUnit(props.maxHeight); + return [props.wrapStyle, style]; + }); + const wrapKls = computed(() => { + return [ + props.wrapClass, + ns.e("wrap"), + { [ns.em("wrap", "hidden-default")]: !props.native } + ]; + }); + const resizeKls = computed(() => { + return [ns.e("view"), props.viewClass]; + }); + const handleScroll = () => { + var _a; + if (wrapRef.value) { + (_a = barRef.value) == null ? void 0 : _a.handleScroll(wrapRef.value); + emit("scroll", { + scrollTop: wrapRef.value.scrollTop, + scrollLeft: wrapRef.value.scrollLeft + }); + } + }; + function scrollTo(arg1, arg2) { + if (isObject(arg1)) { + wrapRef.value.scrollTo(arg1); + } else if (isNumber(arg1) && isNumber(arg2)) { + wrapRef.value.scrollTo(arg1, arg2); + } + } + const setScrollTop = (value) => { + if (!isNumber(value)) { + return; + } + wrapRef.value.scrollTop = value; + }; + const setScrollLeft = (value) => { + if (!isNumber(value)) { + return; + } + wrapRef.value.scrollLeft = value; + }; + const update = () => { + if (!wrapRef.value) + return; + const offsetHeight = wrapRef.value.offsetHeight - GAP; + const offsetWidth = wrapRef.value.offsetWidth - GAP; + const originalHeight = offsetHeight ** 2 / wrapRef.value.scrollHeight; + const originalWidth = offsetWidth ** 2 / wrapRef.value.scrollWidth; + const height = Math.max(originalHeight, props.minSize); + const width = Math.max(originalWidth, props.minSize); + ratioY.value = originalHeight / (offsetHeight - originalHeight) / (height / (offsetHeight - height)); + ratioX.value = originalWidth / (offsetWidth - originalWidth) / (width / (offsetWidth - width)); + sizeHeight.value = height + GAP < offsetHeight ? `${height}px` : ""; + sizeWidth.value = width + GAP < offsetWidth ? `${width}px` : ""; + }; + watch(() => props.noresize, (noresize) => { + if (noresize) { + stopResizeObserver == null ? void 0 : stopResizeObserver(); + stopResizeListener == null ? void 0 : stopResizeListener(); + } else { + ({ stop: stopResizeObserver } = useResizeObserver(resizeRef, update)); + stopResizeListener = useEventListener("resize", update); + } + }, { immediate: true }); + watch(() => [props.maxHeight, props.height], () => { + if (!props.native) + nextTick(() => { + var _a; + update(); + if (wrapRef.value) { + (_a = barRef.value) == null ? void 0 : _a.handleScroll(wrapRef.value); + } + }); + }); + provide(scrollbarContextKey, reactive({ + scrollbarElement: scrollbarRef, + wrapElement: wrapRef + })); + onUpdated(() => update()); + expose({ + wrapRef, + update, + scrollTo, + setScrollTop, + setScrollLeft, + handleScroll + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", { + ref_key: "scrollbarRef", + ref: scrollbarRef, + class: normalizeClass(unref(ns).b()) + }, [ + createElementVNode("div", { + ref_key: "wrapRef", + ref: wrapRef, + class: normalizeClass(unref(wrapKls)), + style: normalizeStyle(unref(wrapStyle)), + onScroll: handleScroll + }, [ + (openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), { + id: _ctx.id, + ref_key: "resizeRef", + ref: resizeRef, + class: normalizeClass(unref(resizeKls)), + style: normalizeStyle(_ctx.viewStyle), + role: _ctx.role, + "aria-label": _ctx.ariaLabel, + "aria-orientation": _ctx.ariaOrientation + }, { + default: withCtx(() => [ + renderSlot(_ctx.$slots, "default") + ]), + _: 3 + }, 8, ["id", "class", "style", "role", "aria-label", "aria-orientation"])) + ], 38), + !_ctx.native ? (openBlock(), createBlock(Bar, { + key: 0, + ref_key: "barRef", + ref: barRef, + height: sizeHeight.value, + width: sizeWidth.value, + always: _ctx.always, + "ratio-x": ratioX.value, + "ratio-y": ratioY.value + }, null, 8, ["height", "width", "always", "ratio-x", "ratio-y"])) : createCommentVNode("v-if", true) + ], 2); + }; + } +}); +var Scrollbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$d, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/scrollbar/src/scrollbar.vue"]]); +const ElScrollbar = withInstall(Scrollbar); +const autocompleteProps = buildProps({ + valueKey: { + type: String, + default: "value" + }, + modelValue: { + type: [String, Number], + default: "" + }, + debounce: { + type: Number, + default: 300 + }, + placement: { + type: definePropType(String), + values: [ + "top", + "top-start", + "top-end", + "bottom", + "bottom-start", + "bottom-end" + ], + default: "bottom-start" + }, + fetchSuggestions: { + type: definePropType([Function, Array]), + default: NOOP + }, + popperClass: { + type: String, + default: "" + }, + triggerOnFocus: { + type: Boolean, + default: true + }, + selectWhenUnmatched: { + type: Boolean, + default: false + }, + hideLoading: { + type: Boolean, + default: false + }, + label: { + type: String + }, + teleported: useTooltipContentProps.teleported, + highlightFirstItem: { + type: Boolean, + default: false + }, + fitInputWidth: { + type: Boolean, + default: false + }, + clearable: { + type: Boolean, + default: false + }, + disabled: { + type: Boolean, + default: false + }, + name: String +}); +const autocompleteEmits = { + [UPDATE_MODEL_EVENT]: (value) => isString(value), + [INPUT_EVENT]: (value) => isString(value), + [CHANGE_EVENT]: (value) => isString(value), + focus: (evt) => evt instanceof FocusEvent, + blur: (evt) => evt instanceof FocusEvent, + clear: () => true, + select: (item) => isObject(item) +}; +const _hoisted_1$8 = ["aria-expanded", "aria-owns"]; +const _hoisted_2$8 = { key: 0 }; +const _hoisted_3$6 = ["id", "aria-selected", "onClick"]; +const COMPONENT_NAME = "ElAutocomplete"; +const __default__$4 = defineComponent({ + name: COMPONENT_NAME, + inheritAttrs: false +}); +const _sfc_main$c = /* @__PURE__ */ defineComponent({ + ...__default__$4, + props: autocompleteProps, + emits: autocompleteEmits, + setup(__props, { expose, emit }) { + const props = __props; + const attrs = useAttrs(); + const rawAttrs = useAttrs$1(); + const disabled = useFormDisabled(); + const ns = useNamespace("autocomplete"); + const inputRef = ref(); + const regionRef = ref(); + const popperRef = ref(); + const listboxRef = ref(); + let readonly = false; + let ignoreFocusEvent = false; + const suggestions = ref([]); + const highlightedIndex = ref(-1); + const dropdownWidth = ref(""); + const activated = ref(false); + const suggestionDisabled = ref(false); + const loading = ref(false); + const listboxId = computed(() => ns.b(String(generateId()))); + const styles = computed(() => rawAttrs.style); + const suggestionVisible = computed(() => { + const isValidData = suggestions.value.length > 0; + return (isValidData || loading.value) && activated.value; + }); + const suggestionLoading = computed(() => !props.hideLoading && loading.value); + const refInput = computed(() => { + if (inputRef.value) { + return Array.from(inputRef.value.$el.querySelectorAll("input")); + } + return []; + }); + const onSuggestionShow = () => { + if (suggestionVisible.value) { + dropdownWidth.value = `${inputRef.value.$el.offsetWidth}px`; + } + }; + const onHide = () => { + highlightedIndex.value = -1; + }; + const getData = async (queryString) => { + if (suggestionDisabled.value) + return; + const cb = (suggestionList) => { + loading.value = false; + if (suggestionDisabled.value) + return; + if (isArray(suggestionList)) { + suggestions.value = suggestionList; + highlightedIndex.value = props.highlightFirstItem ? 0 : -1; + } else { + throwError(COMPONENT_NAME, "autocomplete suggestions must be an array"); + } + }; + loading.value = true; + if (isArray(props.fetchSuggestions)) { + cb(props.fetchSuggestions); + } else { + const result = await props.fetchSuggestions(queryString, cb); + if (isArray(result)) + cb(result); + } + }; + const debouncedGetData = debounce(getData, props.debounce); + const handleInput = (value) => { + const valuePresented = !!value; + emit(INPUT_EVENT, value); + emit(UPDATE_MODEL_EVENT, value); + suggestionDisabled.value = false; + activated.value || (activated.value = valuePresented); + if (!props.triggerOnFocus && !value) { + suggestionDisabled.value = true; + suggestions.value = []; + return; + } + debouncedGetData(value); + }; + const handleMouseDown = (event) => { + var _a; + if (disabled.value) + return; + if (((_a = event.target) == null ? void 0 : _a.tagName) !== "INPUT" || refInput.value.includes(document.activeElement)) { + activated.value = true; + } + }; + const handleChange = (value) => { + emit(CHANGE_EVENT, value); + }; + const handleFocus = (evt) => { + if (!ignoreFocusEvent) { + activated.value = true; + emit("focus", evt); + if (props.triggerOnFocus && !readonly) { + debouncedGetData(String(props.modelValue)); + } + } else { + ignoreFocusEvent = false; + } + }; + const handleBlur = (evt) => { + setTimeout(() => { + var _a; + if ((_a = popperRef.value) == null ? void 0 : _a.isFocusInsideContent()) { + ignoreFocusEvent = true; + return; + } + activated.value && close(); + emit("blur", evt); + }); + }; + const handleClear = () => { + activated.value = false; + emit(UPDATE_MODEL_EVENT, ""); + emit("clear"); + }; + const handleKeyEnter = async () => { + if (suggestionVisible.value && highlightedIndex.value >= 0 && highlightedIndex.value < suggestions.value.length) { + handleSelect(suggestions.value[highlightedIndex.value]); + } else if (props.selectWhenUnmatched) { + emit("select", { value: props.modelValue }); + suggestions.value = []; + highlightedIndex.value = -1; + } + }; + const handleKeyEscape = (evt) => { + if (suggestionVisible.value) { + evt.preventDefault(); + evt.stopPropagation(); + close(); + } + }; + const close = () => { + activated.value = false; + }; + const focus = () => { + var _a; + (_a = inputRef.value) == null ? void 0 : _a.focus(); + }; + const blur = () => { + var _a; + (_a = inputRef.value) == null ? void 0 : _a.blur(); + }; + const handleSelect = async (item) => { + emit(INPUT_EVENT, item[props.valueKey]); + emit(UPDATE_MODEL_EVENT, item[props.valueKey]); + emit("select", item); + suggestions.value = []; + highlightedIndex.value = -1; + }; + const highlight = (index2) => { + if (!suggestionVisible.value || loading.value) + return; + if (index2 < 0) { + highlightedIndex.value = -1; + return; + } + if (index2 >= suggestions.value.length) { + index2 = suggestions.value.length - 1; + } + const suggestion = regionRef.value.querySelector(`.${ns.be("suggestion", "wrap")}`); + const suggestionList = suggestion.querySelectorAll(`.${ns.be("suggestion", "list")} li`); + const highlightItem = suggestionList[index2]; + const scrollTop = suggestion.scrollTop; + const { offsetTop, scrollHeight } = highlightItem; + if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) { + suggestion.scrollTop += scrollHeight; + } + if (offsetTop < scrollTop) { + suggestion.scrollTop -= scrollHeight; + } + highlightedIndex.value = index2; + inputRef.value.ref.setAttribute("aria-activedescendant", `${listboxId.value}-item-${highlightedIndex.value}`); + }; + onClickOutside(listboxRef, () => { + suggestionVisible.value && close(); + }); + expose({ + highlightedIndex, + activated, + loading, + inputRef, + popperRef, + suggestions, + handleSelect, + handleKeyEnter, + focus, + blur, + close, + highlight + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(ElTooltip), { + ref_key: "popperRef", + ref: popperRef, + visible: unref(suggestionVisible), + placement: _ctx.placement, + "fallback-placements": ["bottom-start", "top-start"], + "popper-class": [unref(ns).e("popper"), _ctx.popperClass], + teleported: _ctx.teleported, + "gpu-acceleration": false, + pure: "", + "manual-mode": "", + effect: "light", + trigger: "click", + transition: `${unref(ns).namespace.value}-zoom-in-top`, + persistent: "", + role: "listbox", + onBeforeShow: onSuggestionShow, + onHide + }, { + content: withCtx(() => [ + createElementVNode("div", { + ref_key: "regionRef", + ref: regionRef, + class: normalizeClass([unref(ns).b("suggestion"), unref(ns).is("loading", unref(suggestionLoading))]), + style: normalizeStyle({ + [_ctx.fitInputWidth ? "width" : "minWidth"]: dropdownWidth.value, + outline: "none" + }), + role: "region" + }, [ + createVNode(unref(ElScrollbar), { + id: unref(listboxId), + tag: "ul", + "wrap-class": unref(ns).be("suggestion", "wrap"), + "view-class": unref(ns).be("suggestion", "list"), + role: "listbox" + }, { + default: withCtx(() => [ + unref(suggestionLoading) ? (openBlock(), createElementBlock("li", _hoisted_2$8, [ + createVNode(unref(ElIcon), { + class: normalizeClass(unref(ns).is("loading")) + }, { + default: withCtx(() => [ + createVNode(unref(loading_default)) + ]), + _: 1 + }, 8, ["class"]) + ])) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(suggestions.value, (item, index2) => { + return openBlock(), createElementBlock("li", { + id: `${unref(listboxId)}-item-${index2}`, + key: index2, + class: normalizeClass({ highlighted: highlightedIndex.value === index2 }), + role: "option", + "aria-selected": highlightedIndex.value === index2, + onClick: ($event) => handleSelect(item) + }, [ + renderSlot(_ctx.$slots, "default", { item }, () => [ + createTextVNode(toDisplayString(item[_ctx.valueKey]), 1) + ]) + ], 10, _hoisted_3$6); + }), 128)) + ]), + _: 3 + }, 8, ["id", "wrap-class", "view-class"]) + ], 6) + ]), + default: withCtx(() => [ + createElementVNode("div", { + ref_key: "listboxRef", + ref: listboxRef, + class: normalizeClass([unref(ns).b(), _ctx.$attrs.class]), + style: normalizeStyle(unref(styles)), + role: "combobox", + "aria-haspopup": "listbox", + "aria-expanded": unref(suggestionVisible), + "aria-owns": unref(listboxId) + }, [ + createVNode(unref(ElInput), mergeProps({ + ref_key: "inputRef", + ref: inputRef + }, unref(attrs), { + clearable: _ctx.clearable, + disabled: unref(disabled), + name: _ctx.name, + "model-value": _ctx.modelValue, + onInput: handleInput, + onChange: handleChange, + onFocus: handleFocus, + onBlur: handleBlur, + onClear: handleClear, + onKeydown: [ + _cache[0] || (_cache[0] = withKeys(withModifiers(($event) => highlight(highlightedIndex.value - 1), ["prevent"]), ["up"])), + _cache[1] || (_cache[1] = withKeys(withModifiers(($event) => highlight(highlightedIndex.value + 1), ["prevent"]), ["down"])), + withKeys(handleKeyEnter, ["enter"]), + withKeys(close, ["tab"]), + withKeys(handleKeyEscape, ["esc"]) + ], + onMousedown: handleMouseDown + }), createSlots({ _: 2 }, [ + _ctx.$slots.prepend ? { + name: "prepend", + fn: withCtx(() => [ + renderSlot(_ctx.$slots, "prepend") + ]) + } : void 0, + _ctx.$slots.append ? { + name: "append", + fn: withCtx(() => [ + renderSlot(_ctx.$slots, "append") + ]) + } : void 0, + _ctx.$slots.prefix ? { + name: "prefix", + fn: withCtx(() => [ + renderSlot(_ctx.$slots, "prefix") + ]) + } : void 0, + _ctx.$slots.suffix ? { + name: "suffix", + fn: withCtx(() => [ + renderSlot(_ctx.$slots, "suffix") + ]) + } : void 0 + ]), 1040, ["clearable", "disabled", "name", "model-value", "onKeydown"]) + ], 14, _hoisted_1$8) + ]), + _: 3 + }, 8, ["visible", "placement", "popper-class", "teleported", "transition"]); + }; + } +}); +var Autocomplete = /* @__PURE__ */ _export_sfc$1(_sfc_main$c, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/autocomplete/src/autocomplete.vue"]]); +const ElAutocomplete = withInstall(Autocomplete); +const buttonGroupContextKey = Symbol("buttonGroupContextKey"); +const useButton = (props, emit) => { + useDeprecated({ + from: "type.text", + replacement: "link", + version: "3.0.0", + scope: "props", + ref: "https://element-plus.org/en-US/component/button.html#button-attributes" + }, computed(() => props.type === "text")); + const buttonGroupContext = inject(buttonGroupContextKey, void 0); + const globalConfig = useGlobalConfig("button"); + const { form } = useFormItem(); + const _size = useFormSize(computed(() => buttonGroupContext == null ? void 0 : buttonGroupContext.size)); + const _disabled = useFormDisabled(); + const _ref = ref(); + const slots = useSlots(); + const _type = computed(() => props.type || (buttonGroupContext == null ? void 0 : buttonGroupContext.type) || ""); + const autoInsertSpace = computed(() => { + var _a, _b, _c; + return (_c = (_b = props.autoInsertSpace) != null ? _b : (_a = globalConfig.value) == null ? void 0 : _a.autoInsertSpace) != null ? _c : false; + }); + const _props = computed(() => { + if (props.tag === "button") { + return { + ariaDisabled: _disabled.value || props.loading, + disabled: _disabled.value || props.loading, + autofocus: props.autofocus, + type: props.nativeType + }; + } + return {}; + }); + const shouldAddSpace = computed(() => { + var _a; + const defaultSlot = (_a = slots.default) == null ? void 0 : _a.call(slots); + if (autoInsertSpace.value && (defaultSlot == null ? void 0 : defaultSlot.length) === 1) { + const slot = defaultSlot[0]; + if ((slot == null ? void 0 : slot.type) === Text) { + const text = slot.children; + return /^\p{Unified_Ideograph}{2}$/u.test(text.trim()); + } + } + return false; + }); + const handleClick = (evt) => { + if (props.nativeType === "reset") { + form == null ? void 0 : form.resetFields(); + } + emit("click", evt); + }; + return { + _disabled, + _size, + _type, + _ref, + _props, + shouldAddSpace, + handleClick + }; +}; +const buttonTypes = [ + "default", + "primary", + "success", + "warning", + "info", + "danger", + "text", + "" +]; +const buttonNativeTypes = ["button", "submit", "reset"]; +const buttonProps = buildProps({ + size: useSizeProp, + disabled: Boolean, + type: { + type: String, + values: buttonTypes, + default: "" + }, + icon: { + type: iconPropType + }, + nativeType: { + type: String, + values: buttonNativeTypes, + default: "button" + }, + loading: Boolean, + loadingIcon: { + type: iconPropType, + default: () => loading_default + }, + plain: Boolean, + text: Boolean, + link: Boolean, + bg: Boolean, + autofocus: Boolean, + round: Boolean, + circle: Boolean, + color: String, + dark: Boolean, + autoInsertSpace: { + type: Boolean, + default: void 0 + }, + tag: { + type: definePropType([String, Object]), + default: "button" + } +}); +const buttonEmits = { + click: (evt) => evt instanceof MouseEvent +}; +function darken(color, amount = 20) { + return color.mix("#141414", amount).toString(); +} +function useButtonCustomStyle(props) { + const _disabled = useFormDisabled(); + const ns = useNamespace("button"); + return computed(() => { + let styles = {}; + const buttonColor = props.color; + if (buttonColor) { + const color = new TinyColor(buttonColor); + const activeBgColor = props.dark ? color.tint(20).toString() : darken(color, 20); + if (props.plain) { + styles = ns.cssVarBlock({ + "bg-color": props.dark ? darken(color, 90) : color.tint(90).toString(), + "text-color": buttonColor, + "border-color": props.dark ? darken(color, 50) : color.tint(50).toString(), + "hover-text-color": `var(${ns.cssVarName("color-white")})`, + "hover-bg-color": buttonColor, + "hover-border-color": buttonColor, + "active-bg-color": activeBgColor, + "active-text-color": `var(${ns.cssVarName("color-white")})`, + "active-border-color": activeBgColor + }); + if (_disabled.value) { + styles[ns.cssVarBlockName("disabled-bg-color")] = props.dark ? darken(color, 90) : color.tint(90).toString(); + styles[ns.cssVarBlockName("disabled-text-color")] = props.dark ? darken(color, 50) : color.tint(50).toString(); + styles[ns.cssVarBlockName("disabled-border-color")] = props.dark ? darken(color, 80) : color.tint(80).toString(); + } + } else { + const hoverBgColor = props.dark ? darken(color, 30) : color.tint(30).toString(); + const textColor = color.isDark() ? `var(${ns.cssVarName("color-white")})` : `var(${ns.cssVarName("color-black")})`; + styles = ns.cssVarBlock({ + "bg-color": buttonColor, + "text-color": textColor, + "border-color": buttonColor, + "hover-bg-color": hoverBgColor, + "hover-text-color": textColor, + "hover-border-color": hoverBgColor, + "active-bg-color": activeBgColor, + "active-border-color": activeBgColor + }); + if (_disabled.value) { + const disabledButtonColor = props.dark ? darken(color, 50) : color.tint(50).toString(); + styles[ns.cssVarBlockName("disabled-bg-color")] = disabledButtonColor; + styles[ns.cssVarBlockName("disabled-text-color")] = props.dark ? "rgba(255, 255, 255, 0.5)" : `var(${ns.cssVarName("color-white")})`; + styles[ns.cssVarBlockName("disabled-border-color")] = disabledButtonColor; + } + } + } + return styles; + }); +} +const __default__$3 = defineComponent({ + name: "ElButton" +}); +const _sfc_main$b = /* @__PURE__ */ defineComponent({ + ...__default__$3, + props: buttonProps, + emits: buttonEmits, + setup(__props, { expose, emit }) { + const props = __props; + const buttonStyle = useButtonCustomStyle(props); + const ns = useNamespace("button"); + const { _ref, _size, _type, _disabled, _props, shouldAddSpace, handleClick } = useButton(props, emit); + expose({ + ref: _ref, + size: _size, + type: _type, + disabled: _disabled, + shouldAddSpace + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), mergeProps({ + ref_key: "_ref", + ref: _ref + }, unref(_props), { + class: [ + unref(ns).b(), + unref(ns).m(unref(_type)), + unref(ns).m(unref(_size)), + unref(ns).is("disabled", unref(_disabled)), + unref(ns).is("loading", _ctx.loading), + unref(ns).is("plain", _ctx.plain), + unref(ns).is("round", _ctx.round), + unref(ns).is("circle", _ctx.circle), + unref(ns).is("text", _ctx.text), + unref(ns).is("link", _ctx.link), + unref(ns).is("has-bg", _ctx.bg) + ], + style: unref(buttonStyle), + onClick: unref(handleClick) + }), { + default: withCtx(() => [ + _ctx.loading ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [ + _ctx.$slots.loading ? renderSlot(_ctx.$slots, "loading", { key: 0 }) : (openBlock(), createBlock(unref(ElIcon), { + key: 1, + class: normalizeClass(unref(ns).is("loading")) + }, { + default: withCtx(() => [ + (openBlock(), createBlock(resolveDynamicComponent(_ctx.loadingIcon))) + ]), + _: 1 + }, 8, ["class"])) + ], 64)) : _ctx.icon || _ctx.$slots.icon ? (openBlock(), createBlock(unref(ElIcon), { key: 1 }, { + default: withCtx(() => [ + _ctx.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon), { key: 0 })) : renderSlot(_ctx.$slots, "icon", { key: 1 }) + ]), + _: 3 + })) : createCommentVNode("v-if", true), + _ctx.$slots.default ? (openBlock(), createElementBlock("span", { + key: 2, + class: normalizeClass({ [unref(ns).em("text", "expand")]: unref(shouldAddSpace) }) + }, [ + renderSlot(_ctx.$slots, "default") + ], 2)) : createCommentVNode("v-if", true) + ]), + _: 3 + }, 16, ["class", "style", "onClick"]); + }; + } +}); +var Button = /* @__PURE__ */ _export_sfc$1(_sfc_main$b, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/button/src/button.vue"]]); +const buttonGroupProps = { + size: buttonProps.size, + type: buttonProps.type +}; +const __default__$2 = defineComponent({ + name: "ElButtonGroup" +}); +const _sfc_main$a = /* @__PURE__ */ defineComponent({ + ...__default__$2, + props: buttonGroupProps, + setup(__props) { + const props = __props; + provide(buttonGroupContextKey, reactive({ + size: toRef(props, "size"), + type: toRef(props, "type") + })); + const ns = useNamespace("button"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", { + class: normalizeClass(`${unref(ns).b("group")}`) + }, [ + renderSlot(_ctx.$slots, "default") + ], 2); + }; + } +}); +var ButtonGroup = /* @__PURE__ */ _export_sfc$1(_sfc_main$a, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/button/src/button-group.vue"]]); +const ElButton = withInstall(Button, { + ButtonGroup +}); +withNoopInstall(ButtonGroup); +const timeUnits = ["hours", "minutes", "seconds"]; +const DEFAULT_FORMATS_TIME = "HH:mm:ss"; +const DEFAULT_FORMATS_DATE = "YYYY-MM-DD"; +const DEFAULT_FORMATS_DATEPICKER = { + date: DEFAULT_FORMATS_DATE, + dates: DEFAULT_FORMATS_DATE, + week: "gggg[w]ww", + year: "YYYY", + month: "YYYY-MM", + datetime: `${DEFAULT_FORMATS_DATE} ${DEFAULT_FORMATS_TIME}`, + monthrange: "YYYY-MM", + daterange: DEFAULT_FORMATS_DATE, + datetimerange: `${DEFAULT_FORMATS_DATE} ${DEFAULT_FORMATS_TIME}` +}; +const buildTimeList = (value, bound) => { + return [ + value > 0 ? value - 1 : void 0, + value, + value < bound ? value + 1 : void 0 + ]; +}; +const rangeArr = (n) => Array.from(Array.from({ length: n }).keys()); +const extractDateFormat = (format) => { + return format.replace(/\W?m{1,2}|\W?ZZ/g, "").replace(/\W?h{1,2}|\W?s{1,3}|\W?a/gi, "").trim(); +}; +const extractTimeFormat = (format) => { + return format.replace(/\W?D{1,2}|\W?Do|\W?d{1,4}|\W?M{1,4}|\W?Y{2,4}/g, "").trim(); +}; +const dateEquals = function(a, b) { + const aIsDate = isDate(a); + const bIsDate = isDate(b); + if (aIsDate && bIsDate) { + return a.getTime() === b.getTime(); + } + if (!aIsDate && !bIsDate) { + return a === b; + } + return false; +}; +const valueEquals = function(a, b) { + const aIsArray = isArray(a); + const bIsArray = isArray(b); + if (aIsArray && bIsArray) { + if (a.length !== b.length) { + return false; + } + return a.every((item, index2) => dateEquals(item, b[index2])); + } + if (!aIsArray && !bIsArray) { + return dateEquals(a, b); + } + return false; +}; +const parseDate = function(date2, format, lang) { + const day = isEmpty(format) || format === "x" ? dayjs(date2).locale(lang) : dayjs(date2, format).locale(lang); + return day.isValid() ? day : void 0; +}; +const formatter = function(date2, format, lang) { + if (isEmpty(format)) + return date2; + if (format === "x") + return +date2; + return dayjs(date2).locale(lang).format(format); +}; +const makeList = (total, method) => { + var _a; + const arr = []; + const disabledArr = method == null ? void 0 : method(); + for (let i = 0; i < total; i++) { + arr.push((_a = disabledArr == null ? void 0 : disabledArr.includes(i)) != null ? _a : false); + } + return arr; +}; +const disabledTimeListsProps = buildProps({ + disabledHours: { + type: definePropType(Function) + }, + disabledMinutes: { + type: definePropType(Function) + }, + disabledSeconds: { + type: definePropType(Function) + } +}); +const timePanelSharedProps = buildProps({ + visible: Boolean, + actualVisible: { + type: Boolean, + default: void 0 + }, + format: { + type: String, + default: "" + } +}); +const timePickerDefaultProps = buildProps({ + id: { + type: definePropType([Array, String]) + }, + name: { + type: definePropType([Array, String]), + default: "" + }, + popperClass: { + type: String, + default: "" + }, + format: String, + valueFormat: String, + dateFormat: String, + timeFormat: String, + type: { + type: String, + default: "" + }, + clearable: { + type: Boolean, + default: true + }, + clearIcon: { + type: definePropType([String, Object]), + default: circle_close_default + }, + editable: { + type: Boolean, + default: true + }, + prefixIcon: { + type: definePropType([String, Object]), + default: "" + }, + size: useSizeProp, + readonly: Boolean, + disabled: Boolean, + placeholder: { + type: String, + default: "" + }, + popperOptions: { + type: definePropType(Object), + default: () => ({}) + }, + modelValue: { + type: definePropType([Date, Array, String, Number]), + default: "" + }, + rangeSeparator: { + type: String, + default: "-" + }, + startPlaceholder: String, + endPlaceholder: String, + defaultValue: { + type: definePropType([Date, Array]) + }, + defaultTime: { + type: definePropType([Date, Array]) + }, + isRange: Boolean, + ...disabledTimeListsProps, + disabledDate: { + type: Function + }, + cellClassName: { + type: Function + }, + shortcuts: { + type: Array, + default: () => [] + }, + arrowControl: Boolean, + label: { + type: String, + default: void 0 + }, + tabindex: { + type: definePropType([String, Number]), + default: 0 + }, + validateEvent: { + type: Boolean, + default: true + }, + unlinkPanels: Boolean +}); +const _hoisted_1$7 = ["id", "name", "placeholder", "value", "disabled", "readonly"]; +const _hoisted_2$7 = ["id", "name", "placeholder", "value", "disabled", "readonly"]; +const __default__$1 = defineComponent({ + name: "Picker" +}); +const _sfc_main$9 = /* @__PURE__ */ defineComponent({ + ...__default__$1, + props: timePickerDefaultProps, + emits: [ + "update:modelValue", + "change", + "focus", + "blur", + "calendar-change", + "panel-change", + "visible-change", + "keydown" + ], + setup(__props, { expose, emit }) { + const props = __props; + const attrs = useAttrs$1(); + const { lang } = useLocale(); + const nsDate = useNamespace("date"); + const nsInput = useNamespace("input"); + const nsRange = useNamespace("range"); + const { form, formItem } = useFormItem(); + const elPopperOptions = inject("ElPopperOptions", {}); + const refPopper = ref(); + const inputRef = ref(); + const pickerVisible = ref(false); + const pickerActualVisible = ref(false); + const valueOnOpen = ref(null); + let hasJustTabExitedInput = false; + let ignoreFocusEvent = false; + const rangeInputKls = computed(() => [ + nsDate.b("editor"), + nsDate.bm("editor", props.type), + nsInput.e("wrapper"), + nsDate.is("disabled", pickerDisabled.value), + nsDate.is("active", pickerVisible.value), + nsRange.b("editor"), + pickerSize ? nsRange.bm("editor", pickerSize.value) : "", + attrs.class + ]); + const clearIconKls = computed(() => [ + nsInput.e("icon"), + nsRange.e("close-icon"), + !showClose.value ? nsRange.e("close-icon--hidden") : "" + ]); + watch(pickerVisible, (val) => { + if (!val) { + userInput.value = null; + nextTick(() => { + emitChange(props.modelValue); + }); + } else { + nextTick(() => { + if (val) { + valueOnOpen.value = props.modelValue; + } + }); + } + }); + const emitChange = (val, isClear) => { + if (isClear || !valueEquals(val, valueOnOpen.value)) { + emit("change", val); + props.validateEvent && (formItem == null ? void 0 : formItem.validate("change").catch((err) => debugWarn())); + } + }; + const emitInput = (input) => { + if (!valueEquals(props.modelValue, input)) { + let formatted; + if (isArray(input)) { + formatted = input.map((item) => formatter(item, props.valueFormat, lang.value)); + } else if (input) { + formatted = formatter(input, props.valueFormat, lang.value); + } + emit("update:modelValue", input ? formatted : input, lang.value); + } + }; + const emitKeydown = (e) => { + emit("keydown", e); + }; + const refInput = computed(() => { + if (inputRef.value) { + const _r = isRangeInput.value ? inputRef.value : inputRef.value.$el; + return Array.from(_r.querySelectorAll("input")); + } + return []; + }); + const setSelectionRange = (start, end, pos) => { + const _inputs = refInput.value; + if (!_inputs.length) + return; + if (!pos || pos === "min") { + _inputs[0].setSelectionRange(start, end); + _inputs[0].focus(); + } else if (pos === "max") { + _inputs[1].setSelectionRange(start, end); + _inputs[1].focus(); + } + }; + const focusOnInputBox = () => { + focus(true, true); + nextTick(() => { + ignoreFocusEvent = false; + }); + }; + const onPick = (date2 = "", visible = false) => { + if (!visible) { + ignoreFocusEvent = true; + } + pickerVisible.value = visible; + let result; + if (isArray(date2)) { + result = date2.map((_) => _.toDate()); + } else { + result = date2 ? date2.toDate() : date2; + } + userInput.value = null; + emitInput(result); + }; + const onBeforeShow = () => { + pickerActualVisible.value = true; + }; + const onShow = () => { + emit("visible-change", true); + }; + const onKeydownPopperContent = (event) => { + if ((event == null ? void 0 : event.key) === EVENT_CODE.esc) { + focus(true, true); + } + }; + const onHide = () => { + pickerActualVisible.value = false; + pickerVisible.value = false; + ignoreFocusEvent = false; + emit("visible-change", false); + }; + const handleOpen = () => { + pickerVisible.value = true; + }; + const handleClose = () => { + pickerVisible.value = false; + }; + const focus = (focusStartInput = true, isIgnoreFocusEvent = false) => { + ignoreFocusEvent = isIgnoreFocusEvent; + const [leftInput, rightInput] = unref(refInput); + let input = leftInput; + if (!focusStartInput && isRangeInput.value) { + input = rightInput; + } + if (input) { + input.focus(); + } + }; + const handleFocusInput = (e) => { + if (props.readonly || pickerDisabled.value || pickerVisible.value || ignoreFocusEvent) { + return; + } + pickerVisible.value = true; + emit("focus", e); + }; + let currentHandleBlurDeferCallback = void 0; + const handleBlurInput = (e) => { + const handleBlurDefer = async () => { + setTimeout(() => { + var _a; + if (currentHandleBlurDeferCallback === handleBlurDefer) { + if (!(((_a = refPopper.value) == null ? void 0 : _a.isFocusInsideContent()) && !hasJustTabExitedInput) && refInput.value.filter((input) => { + return input.contains(document.activeElement); + }).length === 0) { + handleChange(); + pickerVisible.value = false; + emit("blur", e); + props.validateEvent && (formItem == null ? void 0 : formItem.validate("blur").catch((err) => debugWarn())); + } + hasJustTabExitedInput = false; + } + }, 0); + }; + currentHandleBlurDeferCallback = handleBlurDefer; + handleBlurDefer(); + }; + const pickerDisabled = computed(() => { + return props.disabled || (form == null ? void 0 : form.disabled); + }); + const parsedValue2 = computed(() => { + let dayOrDays; + if (valueIsEmpty.value) { + if (pickerOptions.value.getDefaultValue) { + dayOrDays = pickerOptions.value.getDefaultValue(); + } + } else { + if (isArray(props.modelValue)) { + dayOrDays = props.modelValue.map((d) => parseDate(d, props.valueFormat, lang.value)); + } else { + dayOrDays = parseDate(props.modelValue, props.valueFormat, lang.value); + } + } + if (pickerOptions.value.getRangeAvailableTime) { + const availableResult = pickerOptions.value.getRangeAvailableTime(dayOrDays); + if (!isEqual(availableResult, dayOrDays)) { + dayOrDays = availableResult; + emitInput(isArray(dayOrDays) ? dayOrDays.map((_) => _.toDate()) : dayOrDays.toDate()); + } + } + if (isArray(dayOrDays) && dayOrDays.some((day) => !day)) { + dayOrDays = []; + } + return dayOrDays; + }); + const displayValue = computed(() => { + if (!pickerOptions.value.panelReady) + return ""; + const formattedValue = formatDayjsToString(parsedValue2.value); + if (isArray(userInput.value)) { + return [ + userInput.value[0] || formattedValue && formattedValue[0] || "", + userInput.value[1] || formattedValue && formattedValue[1] || "" + ]; + } else if (userInput.value !== null) { + return userInput.value; + } + if (!isTimePicker.value && valueIsEmpty.value) + return ""; + if (!pickerVisible.value && valueIsEmpty.value) + return ""; + if (formattedValue) { + return isDatesPicker.value ? formattedValue.join(", ") : formattedValue; + } + return ""; + }); + const isTimeLikePicker = computed(() => props.type.includes("time")); + const isTimePicker = computed(() => props.type.startsWith("time")); + const isDatesPicker = computed(() => props.type === "dates"); + const triggerIcon = computed(() => props.prefixIcon || (isTimeLikePicker.value ? clock_default : calendar_default)); + const showClose = ref(false); + const onClearIconClick = (event) => { + if (props.readonly || pickerDisabled.value) + return; + if (showClose.value) { + event.stopPropagation(); + focusOnInputBox(); + emitInput(null); + emitChange(null, true); + showClose.value = false; + pickerVisible.value = false; + pickerOptions.value.handleClear && pickerOptions.value.handleClear(); + } + }; + const valueIsEmpty = computed(() => { + const { modelValue } = props; + return !modelValue || isArray(modelValue) && !modelValue.filter(Boolean).length; + }); + const onMouseDownInput = async (event) => { + var _a; + if (props.readonly || pickerDisabled.value) + return; + if (((_a = event.target) == null ? void 0 : _a.tagName) !== "INPUT" || refInput.value.includes(document.activeElement)) { + pickerVisible.value = true; + } + }; + const onMouseEnter = () => { + if (props.readonly || pickerDisabled.value) + return; + if (!valueIsEmpty.value && props.clearable) { + showClose.value = true; + } + }; + const onMouseLeave = () => { + showClose.value = false; + }; + const onTouchStartInput = (event) => { + var _a; + if (props.readonly || pickerDisabled.value) + return; + if (((_a = event.touches[0].target) == null ? void 0 : _a.tagName) !== "INPUT" || refInput.value.includes(document.activeElement)) { + pickerVisible.value = true; + } + }; + const isRangeInput = computed(() => { + return props.type.includes("range"); + }); + const pickerSize = useFormSize(); + const popperEl = computed(() => { + var _a, _b; + return (_b = (_a = unref(refPopper)) == null ? void 0 : _a.popperRef) == null ? void 0 : _b.contentRef; + }); + const actualInputRef = computed(() => { + var _a; + if (unref(isRangeInput)) { + return unref(inputRef); + } + return (_a = unref(inputRef)) == null ? void 0 : _a.$el; + }); + onClickOutside(actualInputRef, (e) => { + const unrefedPopperEl = unref(popperEl); + const inputEl = unref(actualInputRef); + if (unrefedPopperEl && (e.target === unrefedPopperEl || e.composedPath().includes(unrefedPopperEl)) || e.target === inputEl || e.composedPath().includes(inputEl)) + return; + pickerVisible.value = false; + }); + const userInput = ref(null); + const handleChange = () => { + if (userInput.value) { + const value = parseUserInputToDayjs(displayValue.value); + if (value) { + if (isValidValue(value)) { + emitInput(isArray(value) ? value.map((_) => _.toDate()) : value.toDate()); + userInput.value = null; + } + } + } + if (userInput.value === "") { + emitInput(null); + emitChange(null); + userInput.value = null; + } + }; + const parseUserInputToDayjs = (value) => { + if (!value) + return null; + return pickerOptions.value.parseUserInput(value); + }; + const formatDayjsToString = (value) => { + if (!value) + return null; + return pickerOptions.value.formatToString(value); + }; + const isValidValue = (value) => { + return pickerOptions.value.isValidValue(value); + }; + const handleKeydownInput = async (event) => { + if (props.readonly || pickerDisabled.value) + return; + const { code } = event; + emitKeydown(event); + if (code === EVENT_CODE.esc) { + if (pickerVisible.value === true) { + pickerVisible.value = false; + event.preventDefault(); + event.stopPropagation(); + } + return; + } + if (code === EVENT_CODE.down) { + if (pickerOptions.value.handleFocusPicker) { + event.preventDefault(); + event.stopPropagation(); + } + if (pickerVisible.value === false) { + pickerVisible.value = true; + await nextTick(); + } + if (pickerOptions.value.handleFocusPicker) { + pickerOptions.value.handleFocusPicker(); + return; + } + } + if (code === EVENT_CODE.tab) { + hasJustTabExitedInput = true; + return; + } + if (code === EVENT_CODE.enter || code === EVENT_CODE.numpadEnter) { + if (userInput.value === null || userInput.value === "" || isValidValue(parseUserInputToDayjs(displayValue.value))) { + handleChange(); + pickerVisible.value = false; + } + event.stopPropagation(); + return; + } + if (userInput.value) { + event.stopPropagation(); + return; + } + if (pickerOptions.value.handleKeydownInput) { + pickerOptions.value.handleKeydownInput(event); + } + }; + const onUserInput = (e) => { + userInput.value = e; + if (!pickerVisible.value) { + pickerVisible.value = true; + } + }; + const handleStartInput = (event) => { + const target = event.target; + if (userInput.value) { + userInput.value = [target.value, userInput.value[1]]; + } else { + userInput.value = [target.value, null]; + } + }; + const handleEndInput = (event) => { + const target = event.target; + if (userInput.value) { + userInput.value = [userInput.value[0], target.value]; + } else { + userInput.value = [null, target.value]; + } + }; + const handleStartChange = () => { + var _a; + const values = userInput.value; + const value = parseUserInputToDayjs(values && values[0]); + const parsedVal = unref(parsedValue2); + if (value && value.isValid()) { + userInput.value = [ + formatDayjsToString(value), + ((_a = displayValue.value) == null ? void 0 : _a[1]) || null + ]; + const newValue = [value, parsedVal && (parsedVal[1] || null)]; + if (isValidValue(newValue)) { + emitInput(newValue); + userInput.value = null; + } + } + }; + const handleEndChange = () => { + var _a; + const values = unref(userInput); + const value = parseUserInputToDayjs(values && values[1]); + const parsedVal = unref(parsedValue2); + if (value && value.isValid()) { + userInput.value = [ + ((_a = unref(displayValue)) == null ? void 0 : _a[0]) || null, + formatDayjsToString(value) + ]; + const newValue = [parsedVal && parsedVal[0], value]; + if (isValidValue(newValue)) { + emitInput(newValue); + userInput.value = null; + } + } + }; + const pickerOptions = ref({}); + const onSetPickerOption = (e) => { + pickerOptions.value[e[0]] = e[1]; + pickerOptions.value.panelReady = true; + }; + const onCalendarChange = (e) => { + emit("calendar-change", e); + }; + const onPanelChange = (value, mode, view) => { + emit("panel-change", value, mode, view); + }; + provide("EP_PICKER_BASE", { + props + }); + expose({ + focus, + handleFocusInput, + handleBlurInput, + handleOpen, + handleClose, + onPick + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(ElTooltip), mergeProps({ + ref_key: "refPopper", + ref: refPopper, + visible: pickerVisible.value, + effect: "light", + pure: "", + trigger: "click" + }, _ctx.$attrs, { + role: "dialog", + teleported: "", + transition: `${unref(nsDate).namespace.value}-zoom-in-top`, + "popper-class": [`${unref(nsDate).namespace.value}-picker__popper`, _ctx.popperClass], + "popper-options": unref(elPopperOptions), + "fallback-placements": ["bottom", "top", "right", "left"], + "gpu-acceleration": false, + "stop-popper-mouse-event": false, + "hide-after": 0, + persistent: "", + onBeforeShow, + onShow, + onHide + }), { + default: withCtx(() => [ + !unref(isRangeInput) ? (openBlock(), createBlock(unref(ElInput), { + key: 0, + id: _ctx.id, + ref_key: "inputRef", + ref: inputRef, + "container-role": "combobox", + "model-value": unref(displayValue), + name: _ctx.name, + size: unref(pickerSize), + disabled: unref(pickerDisabled), + placeholder: _ctx.placeholder, + class: normalizeClass([unref(nsDate).b("editor"), unref(nsDate).bm("editor", _ctx.type), _ctx.$attrs.class]), + style: normalizeStyle(_ctx.$attrs.style), + readonly: !_ctx.editable || _ctx.readonly || unref(isDatesPicker) || _ctx.type === "week", + label: _ctx.label, + tabindex: _ctx.tabindex, + "validate-event": false, + onInput: onUserInput, + onFocus: handleFocusInput, + onBlur: handleBlurInput, + onKeydown: handleKeydownInput, + onChange: handleChange, + onMousedown: onMouseDownInput, + onMouseenter: onMouseEnter, + onMouseleave: onMouseLeave, + onTouchstart: onTouchStartInput, + onClick: _cache[0] || (_cache[0] = withModifiers(() => { + }, ["stop"])) + }, { + prefix: withCtx(() => [ + unref(triggerIcon) ? (openBlock(), createBlock(unref(ElIcon), { + key: 0, + class: normalizeClass(unref(nsInput).e("icon")), + onMousedown: withModifiers(onMouseDownInput, ["prevent"]), + onTouchstart: onTouchStartInput + }, { + default: withCtx(() => [ + (openBlock(), createBlock(resolveDynamicComponent(unref(triggerIcon)))) + ]), + _: 1 + }, 8, ["class", "onMousedown"])) : createCommentVNode("v-if", true) + ]), + suffix: withCtx(() => [ + showClose.value && _ctx.clearIcon ? (openBlock(), createBlock(unref(ElIcon), { + key: 0, + class: normalizeClass(`${unref(nsInput).e("icon")} clear-icon`), + onClick: withModifiers(onClearIconClick, ["stop"]) + }, { + default: withCtx(() => [ + (openBlock(), createBlock(resolveDynamicComponent(_ctx.clearIcon))) + ]), + _: 1 + }, 8, ["class", "onClick"])) : createCommentVNode("v-if", true) + ]), + _: 1 + }, 8, ["id", "model-value", "name", "size", "disabled", "placeholder", "class", "style", "readonly", "label", "tabindex", "onKeydown"])) : (openBlock(), createElementBlock("div", { + key: 1, + ref_key: "inputRef", + ref: inputRef, + class: normalizeClass(unref(rangeInputKls)), + style: normalizeStyle(_ctx.$attrs.style), + onClick: handleFocusInput, + onMouseenter: onMouseEnter, + onMouseleave: onMouseLeave, + onTouchstart: onTouchStartInput, + onKeydown: handleKeydownInput + }, [ + unref(triggerIcon) ? (openBlock(), createBlock(unref(ElIcon), { + key: 0, + class: normalizeClass([unref(nsInput).e("icon"), unref(nsRange).e("icon")]), + onMousedown: withModifiers(onMouseDownInput, ["prevent"]), + onTouchstart: onTouchStartInput + }, { + default: withCtx(() => [ + (openBlock(), createBlock(resolveDynamicComponent(unref(triggerIcon)))) + ]), + _: 1 + }, 8, ["class", "onMousedown"])) : createCommentVNode("v-if", true), + createElementVNode("input", { + id: _ctx.id && _ctx.id[0], + autocomplete: "off", + name: _ctx.name && _ctx.name[0], + placeholder: _ctx.startPlaceholder, + value: unref(displayValue) && unref(displayValue)[0], + disabled: unref(pickerDisabled), + readonly: !_ctx.editable || _ctx.readonly, + class: normalizeClass(unref(nsRange).b("input")), + onMousedown: onMouseDownInput, + onInput: handleStartInput, + onChange: handleStartChange, + onFocus: handleFocusInput, + onBlur: handleBlurInput + }, null, 42, _hoisted_1$7), + renderSlot(_ctx.$slots, "range-separator", {}, () => [ + createElementVNode("span", { + class: normalizeClass(unref(nsRange).b("separator")) + }, toDisplayString(_ctx.rangeSeparator), 3) + ]), + createElementVNode("input", { + id: _ctx.id && _ctx.id[1], + autocomplete: "off", + name: _ctx.name && _ctx.name[1], + placeholder: _ctx.endPlaceholder, + value: unref(displayValue) && unref(displayValue)[1], + disabled: unref(pickerDisabled), + readonly: !_ctx.editable || _ctx.readonly, + class: normalizeClass(unref(nsRange).b("input")), + onMousedown: onMouseDownInput, + onFocus: handleFocusInput, + onBlur: handleBlurInput, + onInput: handleEndInput, + onChange: handleEndChange + }, null, 42, _hoisted_2$7), + _ctx.clearIcon ? (openBlock(), createBlock(unref(ElIcon), { + key: 1, + class: normalizeClass(unref(clearIconKls)), + onClick: onClearIconClick + }, { + default: withCtx(() => [ + (openBlock(), createBlock(resolveDynamicComponent(_ctx.clearIcon))) + ]), + _: 1 + }, 8, ["class"])) : createCommentVNode("v-if", true) + ], 38)) + ]), + content: withCtx(() => [ + renderSlot(_ctx.$slots, "default", { + visible: pickerVisible.value, + actualVisible: pickerActualVisible.value, + parsedValue: unref(parsedValue2), + format: _ctx.format, + dateFormat: _ctx.dateFormat, + timeFormat: _ctx.timeFormat, + unlinkPanels: _ctx.unlinkPanels, + type: _ctx.type, + defaultValue: _ctx.defaultValue, + onPick, + onSelectRange: setSelectionRange, + onSetPickerOption, + onCalendarChange, + onPanelChange, + onKeydown: onKeydownPopperContent, + onMousedown: _cache[1] || (_cache[1] = withModifiers(() => { + }, ["stop"])) + }) + ]), + _: 3 + }, 16, ["visible", "transition", "popper-class", "popper-options"]); + }; + } +}); +var CommonPicker = /* @__PURE__ */ _export_sfc$1(_sfc_main$9, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/time-picker/src/common/picker.vue"]]); +const panelTimePickerProps = buildProps({ + ...timePanelSharedProps, + datetimeRole: String, + parsedValue: { + type: definePropType(Object) + } +}); +const useTimePanel = ({ + getAvailableHours, + getAvailableMinutes, + getAvailableSeconds +}) => { + const getAvailableTime = (date2, role, first, compareDate) => { + const availableTimeGetters = { + hour: getAvailableHours, + minute: getAvailableMinutes, + second: getAvailableSeconds + }; + let result = date2; + ["hour", "minute", "second"].forEach((type) => { + if (availableTimeGetters[type]) { + let availableTimeSlots; + const method = availableTimeGetters[type]; + switch (type) { + case "minute": { + availableTimeSlots = method(result.hour(), role, compareDate); + break; + } + case "second": { + availableTimeSlots = method(result.hour(), result.minute(), role, compareDate); + break; + } + default: { + availableTimeSlots = method(role, compareDate); + break; + } + } + if ((availableTimeSlots == null ? void 0 : availableTimeSlots.length) && !availableTimeSlots.includes(result[type]())) { + const pos = first ? 0 : availableTimeSlots.length - 1; + result = result[type](availableTimeSlots[pos]); + } + } + }); + return result; + }; + const timePickerOptions = {}; + const onSetOption = ([key, val]) => { + timePickerOptions[key] = val; + }; + return { + timePickerOptions, + getAvailableTime, + onSetOption + }; +}; +const makeAvailableArr = (disabledList) => { + const trueOrNumber = (isDisabled, index2) => isDisabled || index2; + const getNumber = (predicate) => predicate !== true; + return disabledList.map(trueOrNumber).filter(getNumber); +}; +const getTimeLists = (disabledHours, disabledMinutes, disabledSeconds) => { + const getHoursList = (role, compare) => { + return makeList(24, disabledHours && (() => disabledHours == null ? void 0 : disabledHours(role, compare))); + }; + const getMinutesList = (hour, role, compare) => { + return makeList(60, disabledMinutes && (() => disabledMinutes == null ? void 0 : disabledMinutes(hour, role, compare))); + }; + const getSecondsList = (hour, minute, role, compare) => { + return makeList(60, disabledSeconds && (() => disabledSeconds == null ? void 0 : disabledSeconds(hour, minute, role, compare))); + }; + return { + getHoursList, + getMinutesList, + getSecondsList + }; +}; +const buildAvailableTimeSlotGetter = (disabledHours, disabledMinutes, disabledSeconds) => { + const { getHoursList, getMinutesList, getSecondsList } = getTimeLists(disabledHours, disabledMinutes, disabledSeconds); + const getAvailableHours = (role, compare) => { + return makeAvailableArr(getHoursList(role, compare)); + }; + const getAvailableMinutes = (hour, role, compare) => { + return makeAvailableArr(getMinutesList(hour, role, compare)); + }; + const getAvailableSeconds = (hour, minute, role, compare) => { + return makeAvailableArr(getSecondsList(hour, minute, role, compare)); + }; + return { + getAvailableHours, + getAvailableMinutes, + getAvailableSeconds + }; +}; +const useOldValue = (props) => { + const oldValue = ref(props.parsedValue); + watch(() => props.visible, (val) => { + if (!val) { + oldValue.value = props.parsedValue; + } + }); + return oldValue; +}; +const nodeList = /* @__PURE__ */ new Map(); +let startClick; +if (isClient) { + document.addEventListener("mousedown", (e) => startClick = e); + document.addEventListener("mouseup", (e) => { + for (const handlers of nodeList.values()) { + for (const { documentHandler } of handlers) { + documentHandler(e, startClick); + } + } + }); +} +function createDocumentHandler(el, binding) { + let excludes = []; + if (Array.isArray(binding.arg)) { + excludes = binding.arg; + } else if (isElement(binding.arg)) { + excludes.push(binding.arg); + } + return function(mouseup, mousedown) { + const popperRef = binding.instance.popperRef; + const mouseUpTarget = mouseup.target; + const mouseDownTarget = mousedown == null ? void 0 : mousedown.target; + const isBound = !binding || !binding.instance; + const isTargetExists = !mouseUpTarget || !mouseDownTarget; + const isContainedByEl = el.contains(mouseUpTarget) || el.contains(mouseDownTarget); + const isSelf = el === mouseUpTarget; + const isTargetExcluded = excludes.length && excludes.some((item) => item == null ? void 0 : item.contains(mouseUpTarget)) || excludes.length && excludes.includes(mouseDownTarget); + const isContainedByPopper = popperRef && (popperRef.contains(mouseUpTarget) || popperRef.contains(mouseDownTarget)); + if (isBound || isTargetExists || isContainedByEl || isSelf || isTargetExcluded || isContainedByPopper) { + return; + } + binding.value(mouseup, mousedown); + }; +} +const ClickOutside = { + beforeMount(el, binding) { + if (!nodeList.has(el)) { + nodeList.set(el, []); + } + nodeList.get(el).push({ + documentHandler: createDocumentHandler(el, binding), + bindingFn: binding.value + }); + }, + updated(el, binding) { + if (!nodeList.has(el)) { + nodeList.set(el, []); + } + const handlers = nodeList.get(el); + const oldHandlerIndex = handlers.findIndex((item) => item.bindingFn === binding.oldValue); + const newHandler = { + documentHandler: createDocumentHandler(el, binding), + bindingFn: binding.value + }; + if (oldHandlerIndex >= 0) { + handlers.splice(oldHandlerIndex, 1, newHandler); + } else { + handlers.push(newHandler); + } + }, + unmounted(el) { + nodeList.delete(el); + } +}; +const REPEAT_INTERVAL = 100; +const REPEAT_DELAY = 600; +const vRepeatClick = { + beforeMount(el, binding) { + const value = binding.value; + const { interval = REPEAT_INTERVAL, delay = REPEAT_DELAY } = isFunction(value) ? {} : value; + let intervalId; + let delayId; + const handler = () => isFunction(value) ? value() : value.handler(); + const clear = () => { + if (delayId) { + clearTimeout(delayId); + delayId = void 0; + } + if (intervalId) { + clearInterval(intervalId); + intervalId = void 0; + } + }; + el.addEventListener("mousedown", (evt) => { + if (evt.button !== 0) + return; + clear(); + handler(); + document.addEventListener("mouseup", () => clear(), { + once: true + }); + delayId = setTimeout(() => { + intervalId = setInterval(() => { + handler(); + }, interval); + }, delay); + }); + } +}; +const basicTimeSpinnerProps = buildProps({ + role: { + type: String, + required: true + }, + spinnerDate: { + type: definePropType(Object), + required: true + }, + showSeconds: { + type: Boolean, + default: true + }, + arrowControl: Boolean, + amPmMode: { + type: definePropType(String), + default: "" + }, + ...disabledTimeListsProps +}); +const _hoisted_1$6 = ["onClick"]; +const _hoisted_2$6 = ["onMouseenter"]; +const _sfc_main$8 = /* @__PURE__ */ defineComponent({ + __name: "basic-time-spinner", + props: basicTimeSpinnerProps, + emits: ["change", "select-range", "set-option"], + setup(__props, { emit }) { + const props = __props; + const ns = useNamespace("time"); + const { getHoursList, getMinutesList, getSecondsList } = getTimeLists(props.disabledHours, props.disabledMinutes, props.disabledSeconds); + let isScrolling = false; + const currentScrollbar = ref(); + const listHoursRef = ref(); + const listMinutesRef = ref(); + const listSecondsRef = ref(); + const listRefsMap = { + hours: listHoursRef, + minutes: listMinutesRef, + seconds: listSecondsRef + }; + const spinnerItems = computed(() => { + return props.showSeconds ? timeUnits : timeUnits.slice(0, 2); + }); + const timePartials = computed(() => { + const { spinnerDate } = props; + const hours = spinnerDate.hour(); + const minutes = spinnerDate.minute(); + const seconds = spinnerDate.second(); + return { hours, minutes, seconds }; + }); + const timeList = computed(() => { + const { hours, minutes } = unref(timePartials); + return { + hours: getHoursList(props.role), + minutes: getMinutesList(hours, props.role), + seconds: getSecondsList(hours, minutes, props.role) + }; + }); + const arrowControlTimeList = computed(() => { + const { hours, minutes, seconds } = unref(timePartials); + return { + hours: buildTimeList(hours, 23), + minutes: buildTimeList(minutes, 59), + seconds: buildTimeList(seconds, 59) + }; + }); + debounce((type) => { + isScrolling = false; + adjustCurrentSpinner(type); + }, 200); + const getAmPmFlag = (hour) => { + const shouldShowAmPm = !!props.amPmMode; + if (!shouldShowAmPm) + return ""; + const isCapital = props.amPmMode === "A"; + let content = hour < 12 ? " am" : " pm"; + if (isCapital) + content = content.toUpperCase(); + return content; + }; + const emitSelectRange = (type) => { + let range; + switch (type) { + case "hours": + range = [0, 2]; + break; + case "minutes": + range = [3, 5]; + break; + case "seconds": + range = [6, 8]; + break; + } + const [left, right] = range; + emit("select-range", left, right); + currentScrollbar.value = type; + }; + const adjustCurrentSpinner = (type) => { + adjustSpinner(type, unref(timePartials)[type]); + }; + const adjustSpinners = () => { + adjustCurrentSpinner("hours"); + adjustCurrentSpinner("minutes"); + adjustCurrentSpinner("seconds"); + }; + const getScrollbarElement = (el) => el.querySelector(`.${ns.namespace.value}-scrollbar__wrap`); + const adjustSpinner = (type, value) => { + if (props.arrowControl) + return; + const scrollbar = unref(listRefsMap[type]); + if (scrollbar && scrollbar.$el) { + getScrollbarElement(scrollbar.$el).scrollTop = Math.max(0, value * typeItemHeight(type)); + } + }; + const typeItemHeight = (type) => { + const scrollbar = unref(listRefsMap[type]); + const listItem = scrollbar == null ? void 0 : scrollbar.$el.querySelector("li"); + if (listItem) { + return Number.parseFloat(getStyle(listItem, "height")) || 0; + } + return 0; + }; + const onIncrement = () => { + scrollDown(1); + }; + const onDecrement = () => { + scrollDown(-1); + }; + const scrollDown = (step) => { + if (!currentScrollbar.value) { + emitSelectRange("hours"); + } + const label = currentScrollbar.value; + const now = unref(timePartials)[label]; + const total = currentScrollbar.value === "hours" ? 24 : 60; + const next = findNextUnDisabled(label, now, step, total); + modifyDateField(label, next); + adjustSpinner(label, next); + nextTick(() => emitSelectRange(label)); + }; + const findNextUnDisabled = (type, now, step, total) => { + let next = (now + step + total) % total; + const list = unref(timeList)[type]; + while (list[next] && next !== now) { + next = (next + step + total) % total; + } + return next; + }; + const modifyDateField = (type, value) => { + const list = unref(timeList)[type]; + const isDisabled = list[value]; + if (isDisabled) + return; + const { hours, minutes, seconds } = unref(timePartials); + let changeTo; + switch (type) { + case "hours": + changeTo = props.spinnerDate.hour(value).minute(minutes).second(seconds); + break; + case "minutes": + changeTo = props.spinnerDate.hour(hours).minute(value).second(seconds); + break; + case "seconds": + changeTo = props.spinnerDate.hour(hours).minute(minutes).second(value); + break; + } + emit("change", changeTo); + }; + const handleClick = (type, { value, disabled }) => { + if (!disabled) { + modifyDateField(type, value); + emitSelectRange(type); + adjustSpinner(type, value); + } + }; + const setRef = (scrollbar, type) => { + listRefsMap[type].value = scrollbar; + }; + emit("set-option", [`${props.role}_scrollDown`, scrollDown]); + emit("set-option", [`${props.role}_emitSelectRange`, emitSelectRange]); + watch(() => props.spinnerDate, () => { + if (isScrolling) + return; + adjustSpinners(); + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", { + class: normalizeClass([unref(ns).b("spinner"), { "has-seconds": _ctx.showSeconds }]) + }, [ + !_ctx.arrowControl ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(unref(spinnerItems), (item) => { + return openBlock(), createBlock(unref(ElScrollbar), { + key: item, + ref_for: true, + ref: (scrollbar) => setRef(scrollbar, item), + class: normalizeClass(unref(ns).be("spinner", "wrapper")), + "wrap-style": "max-height: inherit;", + "view-class": unref(ns).be("spinner", "list"), + noresize: "", + tag: "ul", + onMouseenter: ($event) => emitSelectRange(item), + onMousemove: ($event) => adjustCurrentSpinner(item) + }, { + default: withCtx(() => [ + (openBlock(true), createElementBlock(Fragment, null, renderList(unref(timeList)[item], (disabled, key) => { + return openBlock(), createElementBlock("li", { + key, + class: normalizeClass([ + unref(ns).be("spinner", "item"), + unref(ns).is("active", key === unref(timePartials)[item]), + unref(ns).is("disabled", disabled) + ]), + onClick: ($event) => handleClick(item, { value: key, disabled }) + }, [ + item === "hours" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [ + createTextVNode(toDisplayString(("0" + (_ctx.amPmMode ? key % 12 || 12 : key)).slice(-2)) + toDisplayString(getAmPmFlag(key)), 1) + ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ + createTextVNode(toDisplayString(("0" + key).slice(-2)), 1) + ], 64)) + ], 10, _hoisted_1$6); + }), 128)) + ]), + _: 2 + }, 1032, ["class", "view-class", "onMouseenter", "onMousemove"]); + }), 128)) : createCommentVNode("v-if", true), + _ctx.arrowControl ? (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(unref(spinnerItems), (item) => { + return openBlock(), createElementBlock("div", { + key: item, + class: normalizeClass([unref(ns).be("spinner", "wrapper"), unref(ns).is("arrow")]), + onMouseenter: ($event) => emitSelectRange(item) + }, [ + withDirectives((openBlock(), createBlock(unref(ElIcon), { + class: normalizeClass(["arrow-up", unref(ns).be("spinner", "arrow")]) + }, { + default: withCtx(() => [ + createVNode(unref(arrow_up_default)) + ]), + _: 1 + }, 8, ["class"])), [ + [unref(vRepeatClick), onDecrement] + ]), + withDirectives((openBlock(), createBlock(unref(ElIcon), { + class: normalizeClass(["arrow-down", unref(ns).be("spinner", "arrow")]) + }, { + default: withCtx(() => [ + createVNode(unref(arrow_down_default)) + ]), + _: 1 + }, 8, ["class"])), [ + [unref(vRepeatClick), onIncrement] + ]), + createElementVNode("ul", { + class: normalizeClass(unref(ns).be("spinner", "list")) + }, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(unref(arrowControlTimeList)[item], (time, key) => { + return openBlock(), createElementBlock("li", { + key, + class: normalizeClass([ + unref(ns).be("spinner", "item"), + unref(ns).is("active", time === unref(timePartials)[item]), + unref(ns).is("disabled", unref(timeList)[item][time]) + ]) + }, [ + typeof time === "number" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [ + item === "hours" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [ + createTextVNode(toDisplayString(("0" + (_ctx.amPmMode ? time % 12 || 12 : time)).slice(-2)) + toDisplayString(getAmPmFlag(time)), 1) + ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ + createTextVNode(toDisplayString(("0" + time).slice(-2)), 1) + ], 64)) + ], 64)) : createCommentVNode("v-if", true) + ], 2); + }), 128)) + ], 2) + ], 42, _hoisted_2$6); + }), 128)) : createCommentVNode("v-if", true) + ], 2); + }; + } +}); +var TimeSpinner = /* @__PURE__ */ _export_sfc$1(_sfc_main$8, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/time-picker/src/time-picker-com/basic-time-spinner.vue"]]); +const _sfc_main$7 = /* @__PURE__ */ defineComponent({ + __name: "panel-time-pick", + props: panelTimePickerProps, + emits: ["pick", "select-range", "set-picker-option"], + setup(__props, { emit }) { + const props = __props; + const pickerBase = inject("EP_PICKER_BASE"); + const { + arrowControl, + disabledHours, + disabledMinutes, + disabledSeconds, + defaultValue + } = pickerBase.props; + const { getAvailableHours, getAvailableMinutes, getAvailableSeconds } = buildAvailableTimeSlotGetter(disabledHours, disabledMinutes, disabledSeconds); + const ns = useNamespace("time"); + const { t, lang } = useLocale(); + const selectionRange = ref([0, 2]); + const oldValue = useOldValue(props); + const transitionName = computed(() => { + return isUndefined(props.actualVisible) ? `${ns.namespace.value}-zoom-in-top` : ""; + }); + const showSeconds = computed(() => { + return props.format.includes("ss"); + }); + const amPmMode = computed(() => { + if (props.format.includes("A")) + return "A"; + if (props.format.includes("a")) + return "a"; + return ""; + }); + const isValidValue = (_date) => { + const parsedDate = dayjs(_date).locale(lang.value); + const result = getRangeAvailableTime(parsedDate); + return parsedDate.isSame(result); + }; + const handleCancel = () => { + emit("pick", oldValue.value, false); + }; + const handleConfirm = (visible = false, first = false) => { + if (first) + return; + emit("pick", props.parsedValue, visible); + }; + const handleChange = (_date) => { + if (!props.visible) { + return; + } + const result = getRangeAvailableTime(_date).millisecond(0); + emit("pick", result, true); + }; + const setSelectionRange = (start, end) => { + emit("select-range", start, end); + selectionRange.value = [start, end]; + }; + const changeSelectionRange = (step) => { + const list = [0, 3].concat(showSeconds.value ? [6] : []); + const mapping = ["hours", "minutes"].concat(showSeconds.value ? ["seconds"] : []); + const index2 = list.indexOf(selectionRange.value[0]); + const next = (index2 + step + list.length) % list.length; + timePickerOptions["start_emitSelectRange"](mapping[next]); + }; + const handleKeydown = (event) => { + const code = event.code; + const { left, right, up, down } = EVENT_CODE; + if ([left, right].includes(code)) { + const step = code === left ? -1 : 1; + changeSelectionRange(step); + event.preventDefault(); + return; + } + if ([up, down].includes(code)) { + const step = code === up ? -1 : 1; + timePickerOptions["start_scrollDown"](step); + event.preventDefault(); + return; + } + }; + const { timePickerOptions, onSetOption, getAvailableTime } = useTimePanel({ + getAvailableHours, + getAvailableMinutes, + getAvailableSeconds + }); + const getRangeAvailableTime = (date2) => { + return getAvailableTime(date2, props.datetimeRole || "", true); + }; + const parseUserInput = (value) => { + if (!value) + return null; + return dayjs(value, props.format).locale(lang.value); + }; + const formatToString = (value) => { + if (!value) + return null; + return value.format(props.format); + }; + const getDefaultValue2 = () => { + return dayjs(defaultValue).locale(lang.value); + }; + emit("set-picker-option", ["isValidValue", isValidValue]); + emit("set-picker-option", ["formatToString", formatToString]); + emit("set-picker-option", ["parseUserInput", parseUserInput]); + emit("set-picker-option", ["handleKeydownInput", handleKeydown]); + emit("set-picker-option", ["getRangeAvailableTime", getRangeAvailableTime]); + emit("set-picker-option", ["getDefaultValue", getDefaultValue2]); + return (_ctx, _cache) => { + return openBlock(), createBlock(Transition, { name: unref(transitionName) }, { + default: withCtx(() => [ + _ctx.actualVisible || _ctx.visible ? (openBlock(), createElementBlock("div", { + key: 0, + class: normalizeClass(unref(ns).b("panel")) + }, [ + createElementVNode("div", { + class: normalizeClass([unref(ns).be("panel", "content"), { "has-seconds": unref(showSeconds) }]) + }, [ + createVNode(TimeSpinner, { + ref: "spinner", + role: _ctx.datetimeRole || "start", + "arrow-control": unref(arrowControl), + "show-seconds": unref(showSeconds), + "am-pm-mode": unref(amPmMode), + "spinner-date": _ctx.parsedValue, + "disabled-hours": unref(disabledHours), + "disabled-minutes": unref(disabledMinutes), + "disabled-seconds": unref(disabledSeconds), + onChange: handleChange, + onSetOption: unref(onSetOption), + onSelectRange: setSelectionRange + }, null, 8, ["role", "arrow-control", "show-seconds", "am-pm-mode", "spinner-date", "disabled-hours", "disabled-minutes", "disabled-seconds", "onSetOption"]) + ], 2), + createElementVNode("div", { + class: normalizeClass(unref(ns).be("panel", "footer")) + }, [ + createElementVNode("button", { + type: "button", + class: normalizeClass([unref(ns).be("panel", "btn"), "cancel"]), + onClick: handleCancel + }, toDisplayString(unref(t)("el.datepicker.cancel")), 3), + createElementVNode("button", { + type: "button", + class: normalizeClass([unref(ns).be("panel", "btn"), "confirm"]), + onClick: _cache[0] || (_cache[0] = ($event) => handleConfirm()) + }, toDisplayString(unref(t)("el.datepicker.confirm")), 3) + ], 2) + ], 2)) : createCommentVNode("v-if", true) + ]), + _: 1 + }, 8, ["name"]); + }; + } +}); +var TimePickPanel = /* @__PURE__ */ _export_sfc$1(_sfc_main$7, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/time-picker/src/time-picker-com/panel-time-pick.vue"]]); +const ROOT_PICKER_INJECTION_KEY = Symbol(); +const datePickerProps = buildProps({ + ...timePickerDefaultProps, + type: { + type: definePropType(String), + default: "date" + } +}); +const selectionModes = ["date", "dates", "year", "month", "week", "range"]; +const datePickerSharedProps = buildProps({ + disabledDate: { + type: definePropType(Function) + }, + date: { + type: definePropType(Object), + required: true + }, + minDate: { + type: definePropType(Object) + }, + maxDate: { + type: definePropType(Object) + }, + parsedValue: { + type: definePropType([Object, Array]) + }, + rangeState: { + type: definePropType(Object), + default: () => ({ + endDate: null, + selecting: false + }) + } +}); +const panelSharedProps = buildProps({ + type: { + type: definePropType(String), + required: true, + values: datePickTypes + }, + dateFormat: String, + timeFormat: String +}); +const panelRangeSharedProps = buildProps({ + unlinkPanels: Boolean, + parsedValue: { + type: definePropType(Array) + } +}); +const selectionModeWithDefault = (mode) => { + return { + type: String, + values: selectionModes, + default: mode + }; +}; +const panelDatePickProps = buildProps({ + ...panelSharedProps, + parsedValue: { + type: definePropType([Object, Array]) + }, + visible: { + type: Boolean + }, + format: { + type: String, + default: "" + } +}); +const basicDateTableProps = buildProps({ + ...datePickerSharedProps, + cellClassName: { + type: definePropType(Function) + }, + showWeekNumber: Boolean, + selectionMode: selectionModeWithDefault("date") +}); +const basicDateTableEmits = ["changerange", "pick", "select"]; +const isValidRange = (range) => { + if (!isArray(range)) + return false; + const [left, right] = range; + return dayjs.isDayjs(left) && dayjs.isDayjs(right) && left.isSameOrBefore(right); +}; +const getDefaultValue = (defaultValue, { lang, unit: unit2, unlinkPanels }) => { + let start; + if (isArray(defaultValue)) { + let [left, right] = defaultValue.map((d) => dayjs(d).locale(lang)); + if (!unlinkPanels) { + right = left.add(1, unit2); + } + return [left, right]; + } else if (defaultValue) { + start = dayjs(defaultValue); + } else { + start = dayjs(); + } + start = start.locale(lang); + return [start, start.add(1, unit2)]; +}; +const buildPickerTable = (dimension, rows, { + columnIndexOffset, + startDate, + nextEndDate, + now, + unit: unit2, + relativeDateGetter, + setCellMetadata, + setRowMetadata +}) => { + for (let rowIndex = 0; rowIndex < dimension.row; rowIndex++) { + const row = rows[rowIndex]; + for (let columnIndex = 0; columnIndex < dimension.column; columnIndex++) { + let cell = row[columnIndex + columnIndexOffset]; + if (!cell) { + cell = { + row: rowIndex, + column: columnIndex, + type: "normal", + inRange: false, + start: false, + end: false + }; + } + const index2 = rowIndex * dimension.column + columnIndex; + const nextStartDate = relativeDateGetter(index2); + cell.dayjs = nextStartDate; + cell.date = nextStartDate.toDate(); + cell.timestamp = nextStartDate.valueOf(); + cell.type = "normal"; + cell.inRange = !!(startDate && nextStartDate.isSameOrAfter(startDate, unit2) && nextEndDate && nextStartDate.isSameOrBefore(nextEndDate, unit2)) || !!(startDate && nextStartDate.isSameOrBefore(startDate, unit2) && nextEndDate && nextStartDate.isSameOrAfter(nextEndDate, unit2)); + if (startDate == null ? void 0 : startDate.isSameOrAfter(nextEndDate)) { + cell.start = !!nextEndDate && nextStartDate.isSame(nextEndDate, unit2); + cell.end = startDate && nextStartDate.isSame(startDate, unit2); + } else { + cell.start = !!startDate && nextStartDate.isSame(startDate, unit2); + cell.end = !!nextEndDate && nextStartDate.isSame(nextEndDate, unit2); + } + const isToday = nextStartDate.isSame(now, unit2); + if (isToday) { + cell.type = "today"; + } + setCellMetadata == null ? void 0 : setCellMetadata(cell, { rowIndex, columnIndex }); + row[columnIndex + columnIndexOffset] = cell; + } + setRowMetadata == null ? void 0 : setRowMetadata(row); + } +}; +const isNormalDay = (type = "") => { + return ["normal", "today"].includes(type); +}; +const useBasicDateTable = (props, emit) => { + const { lang } = useLocale(); + const tbodyRef = ref(); + const currentCellRef = ref(); + const lastRow = ref(); + const lastColumn = ref(); + const tableRows = ref([[], [], [], [], [], []]); + let focusWithClick = false; + const firstDayOfWeek = props.date.$locale().weekStart || 7; + const WEEKS_CONSTANT = props.date.locale("en").localeData().weekdaysShort().map((_) => _.toLowerCase()); + const offsetDay = computed(() => { + return firstDayOfWeek > 3 ? 7 - firstDayOfWeek : -firstDayOfWeek; + }); + const startDate = computed(() => { + const startDayOfMonth = props.date.startOf("month"); + return startDayOfMonth.subtract(startDayOfMonth.day() || 7, "day"); + }); + const WEEKS = computed(() => { + return WEEKS_CONSTANT.concat(WEEKS_CONSTANT).slice(firstDayOfWeek, firstDayOfWeek + 7); + }); + const hasCurrent = computed(() => { + return flatten(unref(rows)).some((row) => { + return row.isCurrent; + }); + }); + const days = computed(() => { + const startOfMonth = props.date.startOf("month"); + const startOfMonthDay = startOfMonth.day() || 7; + const dateCountOfMonth = startOfMonth.daysInMonth(); + const dateCountOfLastMonth = startOfMonth.subtract(1, "month").daysInMonth(); + return { + startOfMonthDay, + dateCountOfMonth, + dateCountOfLastMonth + }; + }); + const selectedDate = computed(() => { + return props.selectionMode === "dates" ? castArray(props.parsedValue) : []; + }); + const setDateText = (cell, { count, rowIndex, columnIndex }) => { + const { startOfMonthDay, dateCountOfMonth, dateCountOfLastMonth } = unref(days); + const offset = unref(offsetDay); + if (rowIndex >= 0 && rowIndex <= 1) { + const numberOfDaysFromPreviousMonth = startOfMonthDay + offset < 0 ? 7 + startOfMonthDay + offset : startOfMonthDay + offset; + if (columnIndex + rowIndex * 7 >= numberOfDaysFromPreviousMonth) { + cell.text = count; + return true; + } else { + cell.text = dateCountOfLastMonth - (numberOfDaysFromPreviousMonth - columnIndex % 7) + 1 + rowIndex * 7; + cell.type = "prev-month"; + } + } else { + if (count <= dateCountOfMonth) { + cell.text = count; + } else { + cell.text = count - dateCountOfMonth; + cell.type = "next-month"; + } + return true; + } + return false; + }; + const setCellMetadata = (cell, { columnIndex, rowIndex }, count) => { + const { disabledDate: disabledDate2, cellClassName } = props; + const _selectedDate = unref(selectedDate); + const shouldIncrement = setDateText(cell, { count, rowIndex, columnIndex }); + const cellDate = cell.dayjs.toDate(); + cell.selected = _selectedDate.find((d) => d.valueOf() === cell.dayjs.valueOf()); + cell.isSelected = !!cell.selected; + cell.isCurrent = isCurrent(cell); + cell.disabled = disabledDate2 == null ? void 0 : disabledDate2(cellDate); + cell.customClass = cellClassName == null ? void 0 : cellClassName(cellDate); + return shouldIncrement; + }; + const setRowMetadata = (row) => { + if (props.selectionMode === "week") { + const [start, end] = props.showWeekNumber ? [1, 7] : [0, 6]; + const isActive = isWeekActive(row[start + 1]); + row[start].inRange = isActive; + row[start].start = isActive; + row[end].inRange = isActive; + row[end].end = isActive; + } + }; + const rows = computed(() => { + const { minDate, maxDate, rangeState, showWeekNumber } = props; + const offset = unref(offsetDay); + const rows_ = unref(tableRows); + const dateUnit = "day"; + let count = 1; + if (showWeekNumber) { + for (let rowIndex = 0; rowIndex < 6; rowIndex++) { + if (!rows_[rowIndex][0]) { + rows_[rowIndex][0] = { + type: "week", + text: unref(startDate).add(rowIndex * 7 + 1, dateUnit).week() + }; + } + } + } + buildPickerTable({ row: 6, column: 7 }, rows_, { + startDate: minDate, + columnIndexOffset: showWeekNumber ? 1 : 0, + nextEndDate: rangeState.endDate || maxDate || rangeState.selecting && minDate || null, + now: dayjs().locale(unref(lang)).startOf(dateUnit), + unit: dateUnit, + relativeDateGetter: (idx) => unref(startDate).add(idx - offset, dateUnit), + setCellMetadata: (...args) => { + if (setCellMetadata(...args, count)) { + count += 1; + } + }, + setRowMetadata + }); + return rows_; + }); + watch(() => props.date, async () => { + var _a; + if ((_a = unref(tbodyRef)) == null ? void 0 : _a.contains(document.activeElement)) { + await nextTick(); + await focus(); + } + }); + const focus = async () => { + var _a; + return (_a = unref(currentCellRef)) == null ? void 0 : _a.focus(); + }; + const isCurrent = (cell) => { + return props.selectionMode === "date" && isNormalDay(cell.type) && cellMatchesDate(cell, props.parsedValue); + }; + const cellMatchesDate = (cell, date2) => { + if (!date2) + return false; + return dayjs(date2).locale(unref(lang)).isSame(props.date.date(Number(cell.text)), "day"); + }; + const getDateOfCell = (row, column) => { + const offsetFromStart = row * 7 + (column - (props.showWeekNumber ? 1 : 0)) - unref(offsetDay); + return unref(startDate).add(offsetFromStart, "day"); + }; + const handleMouseMove = (event) => { + var _a; + if (!props.rangeState.selecting) + return; + let target = event.target; + if (target.tagName === "SPAN") { + target = (_a = target.parentNode) == null ? void 0 : _a.parentNode; + } + if (target.tagName === "DIV") { + target = target.parentNode; + } + if (target.tagName !== "TD") + return; + const row = target.parentNode.rowIndex - 1; + const column = target.cellIndex; + if (unref(rows)[row][column].disabled) + return; + if (row !== unref(lastRow) || column !== unref(lastColumn)) { + lastRow.value = row; + lastColumn.value = column; + emit("changerange", { + selecting: true, + endDate: getDateOfCell(row, column) + }); + } + }; + const isSelectedCell = (cell) => { + return !unref(hasCurrent) && (cell == null ? void 0 : cell.text) === 1 && cell.type === "normal" || cell.isCurrent; + }; + const handleFocus = (event) => { + if (focusWithClick || unref(hasCurrent) || props.selectionMode !== "date") + return; + handlePickDate(event, true); + }; + const handleMouseDown = (event) => { + const target = event.target.closest("td"); + if (!target) + return; + focusWithClick = true; + }; + const handleMouseUp = (event) => { + const target = event.target.closest("td"); + if (!target) + return; + focusWithClick = false; + }; + const handleRangePick = (newDate) => { + if (!props.rangeState.selecting || !props.minDate) { + emit("pick", { minDate: newDate, maxDate: null }); + emit("select", true); + } else { + if (newDate >= props.minDate) { + emit("pick", { minDate: props.minDate, maxDate: newDate }); + } else { + emit("pick", { minDate: newDate, maxDate: props.minDate }); + } + emit("select", false); + } + }; + const handleWeekPick = (newDate) => { + const weekNumber = newDate.week(); + const value = `${newDate.year()}w${weekNumber}`; + emit("pick", { + year: newDate.year(), + week: weekNumber, + value, + date: newDate.startOf("week") + }); + }; + const handleDatesPick = (newDate, selected) => { + const newValue = selected ? castArray(props.parsedValue).filter((d) => (d == null ? void 0 : d.valueOf()) !== newDate.valueOf()) : castArray(props.parsedValue).concat([newDate]); + emit("pick", newValue); + }; + const handlePickDate = (event, isKeyboardMovement = false) => { + const target = event.target.closest("td"); + if (!target) + return; + const row = target.parentNode.rowIndex - 1; + const column = target.cellIndex; + const cell = unref(rows)[row][column]; + if (cell.disabled || cell.type === "week") + return; + const newDate = getDateOfCell(row, column); + switch (props.selectionMode) { + case "range": { + handleRangePick(newDate); + break; + } + case "date": { + emit("pick", newDate, isKeyboardMovement); + break; + } + case "week": { + handleWeekPick(newDate); + break; + } + case "dates": { + handleDatesPick(newDate, !!cell.selected); + break; + } + } + }; + const isWeekActive = (cell) => { + if (props.selectionMode !== "week") + return false; + let newDate = props.date.startOf("day"); + if (cell.type === "prev-month") { + newDate = newDate.subtract(1, "month"); + } + if (cell.type === "next-month") { + newDate = newDate.add(1, "month"); + } + newDate = newDate.date(Number.parseInt(cell.text, 10)); + if (props.parsedValue && !Array.isArray(props.parsedValue)) { + const dayOffset = (props.parsedValue.day() - firstDayOfWeek + 7) % 7 - 1; + const weekDate = props.parsedValue.subtract(dayOffset, "day"); + return weekDate.isSame(newDate, "day"); + } + return false; + }; + return { + WEEKS, + rows, + tbodyRef, + currentCellRef, + focus, + isCurrent, + isWeekActive, + isSelectedCell, + handlePickDate, + handleMouseUp, + handleMouseDown, + handleMouseMove, + handleFocus + }; +}; +const useBasicDateTableDOM = (props, { + isCurrent, + isWeekActive +}) => { + const ns = useNamespace("date-table"); + const { t } = useLocale(); + const tableKls = computed(() => [ + ns.b(), + { "is-week-mode": props.selectionMode === "week" } + ]); + const tableLabel = computed(() => t("el.datepicker.dateTablePrompt")); + const weekLabel = computed(() => t("el.datepicker.week")); + const getCellClasses = (cell) => { + const classes = []; + if (isNormalDay(cell.type) && !cell.disabled) { + classes.push("available"); + if (cell.type === "today") { + classes.push("today"); + } + } else { + classes.push(cell.type); + } + if (isCurrent(cell)) { + classes.push("current"); + } + if (cell.inRange && (isNormalDay(cell.type) || props.selectionMode === "week")) { + classes.push("in-range"); + if (cell.start) { + classes.push("start-date"); + } + if (cell.end) { + classes.push("end-date"); + } + } + if (cell.disabled) { + classes.push("disabled"); + } + if (cell.selected) { + classes.push("selected"); + } + if (cell.customClass) { + classes.push(cell.customClass); + } + return classes.join(" "); + }; + const getRowKls = (cell) => [ + ns.e("row"), + { current: isWeekActive(cell) } + ]; + return { + tableKls, + tableLabel, + weekLabel, + getCellClasses, + getRowKls, + t + }; +}; +const basicCellProps = buildProps({ + cell: { + type: definePropType(Object) + } +}); +var ElDatePickerCell = defineComponent({ + name: "ElDatePickerCell", + props: basicCellProps, + setup(props) { + const ns = useNamespace("date-table-cell"); + const { + slots + } = inject(ROOT_PICKER_INJECTION_KEY); + return () => { + const { + cell + } = props; + if (slots.default) { + const list = slots.default(cell).filter((item) => { + return item.patchFlag !== -2 && item.type.toString() !== "Symbol(Comment)" && item.type.toString() !== "Symbol(v-cmt)"; + }); + if (list.length) { + return list; + } + } + return createVNode("div", { + "class": ns.b() + }, [createVNode("span", { + "class": ns.e("text") + }, [cell == null ? void 0 : cell.text])]); + }; + } +}); +const _hoisted_1$5 = ["aria-label"]; +const _hoisted_2$5 = { + key: 0, + scope: "col" +}; +const _hoisted_3$5 = ["aria-label"]; +const _hoisted_4$3 = ["aria-current", "aria-selected", "tabindex"]; +const _sfc_main$6 = /* @__PURE__ */ defineComponent({ + __name: "basic-date-table", + props: basicDateTableProps, + emits: basicDateTableEmits, + setup(__props, { expose, emit }) { + const props = __props; + const { + WEEKS, + rows, + tbodyRef, + currentCellRef, + focus, + isCurrent, + isWeekActive, + isSelectedCell, + handlePickDate, + handleMouseUp, + handleMouseDown, + handleMouseMove, + handleFocus + } = useBasicDateTable(props, emit); + const { tableLabel, tableKls, weekLabel, getCellClasses, getRowKls, t } = useBasicDateTableDOM(props, { + isCurrent, + isWeekActive + }); + expose({ + focus + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("table", { + "aria-label": unref(tableLabel), + class: normalizeClass(unref(tableKls)), + cellspacing: "0", + cellpadding: "0", + role: "grid", + onClick: _cache[1] || (_cache[1] = (...args) => unref(handlePickDate) && unref(handlePickDate)(...args)), + onMousemove: _cache[2] || (_cache[2] = (...args) => unref(handleMouseMove) && unref(handleMouseMove)(...args)), + onMousedown: _cache[3] || (_cache[3] = withModifiers((...args) => unref(handleMouseDown) && unref(handleMouseDown)(...args), ["prevent"])), + onMouseup: _cache[4] || (_cache[4] = (...args) => unref(handleMouseUp) && unref(handleMouseUp)(...args)) + }, [ + createElementVNode("tbody", { + ref_key: "tbodyRef", + ref: tbodyRef + }, [ + createElementVNode("tr", null, [ + _ctx.showWeekNumber ? (openBlock(), createElementBlock("th", _hoisted_2$5, toDisplayString(unref(weekLabel)), 1)) : createCommentVNode("v-if", true), + (openBlock(true), createElementBlock(Fragment, null, renderList(unref(WEEKS), (week, key) => { + return openBlock(), createElementBlock("th", { + key, + "aria-label": unref(t)("el.datepicker.weeksFull." + week), + scope: "col" + }, toDisplayString(unref(t)("el.datepicker.weeks." + week)), 9, _hoisted_3$5); + }), 128)) + ]), + (openBlock(true), createElementBlock(Fragment, null, renderList(unref(rows), (row, rowKey) => { + return openBlock(), createElementBlock("tr", { + key: rowKey, + class: normalizeClass(unref(getRowKls)(row[1])) + }, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(row, (cell, columnKey) => { + return openBlock(), createElementBlock("td", { + key: `${rowKey}.${columnKey}`, + ref_for: true, + ref: (el) => unref(isSelectedCell)(cell) && (currentCellRef.value = el), + class: normalizeClass(unref(getCellClasses)(cell)), + "aria-current": cell.isCurrent ? "date" : void 0, + "aria-selected": cell.isCurrent, + tabindex: unref(isSelectedCell)(cell) ? 0 : -1, + onFocus: _cache[0] || (_cache[0] = (...args) => unref(handleFocus) && unref(handleFocus)(...args)) + }, [ + createVNode(unref(ElDatePickerCell), { cell }, null, 8, ["cell"]) + ], 42, _hoisted_4$3); + }), 128)) + ], 2); + }), 128)) + ], 512) + ], 42, _hoisted_1$5); + }; + } +}); +var DateTable = /* @__PURE__ */ _export_sfc$1(_sfc_main$6, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/date-picker/src/date-picker-com/basic-date-table.vue"]]); +const basicMonthTableProps = buildProps({ + ...datePickerSharedProps, + selectionMode: selectionModeWithDefault("month") +}); +const _hoisted_1$4 = ["aria-label"]; +const _hoisted_2$4 = ["aria-selected", "aria-label", "tabindex", "onKeydown"]; +const _hoisted_3$4 = { class: "cell" }; +const _sfc_main$5 = /* @__PURE__ */ defineComponent({ + __name: "basic-month-table", + props: basicMonthTableProps, + emits: ["changerange", "pick", "select"], + setup(__props, { expose, emit }) { + const props = __props; + const datesInMonth = (year, month, lang2) => { + const firstDay = dayjs().locale(lang2).startOf("month").month(month).year(year); + const numOfDays = firstDay.daysInMonth(); + return rangeArr(numOfDays).map((n) => firstDay.add(n, "day").toDate()); + }; + const ns = useNamespace("month-table"); + const { t, lang } = useLocale(); + const tbodyRef = ref(); + const currentCellRef = ref(); + const months = ref(props.date.locale("en").localeData().monthsShort().map((_) => _.toLowerCase())); + const tableRows = ref([ + [], + [], + [] + ]); + const lastRow = ref(); + const lastColumn = ref(); + const rows = computed(() => { + var _a, _b; + const rows2 = tableRows.value; + const now = dayjs().locale(lang.value).startOf("month"); + for (let i = 0; i < 3; i++) { + const row = rows2[i]; + for (let j = 0; j < 4; j++) { + const cell = row[j] || (row[j] = { + row: i, + column: j, + type: "normal", + inRange: false, + start: false, + end: false, + text: -1, + disabled: false + }); + cell.type = "normal"; + const index2 = i * 4 + j; + const calTime = props.date.startOf("year").month(index2); + const calEndDate = props.rangeState.endDate || props.maxDate || props.rangeState.selecting && props.minDate || null; + cell.inRange = !!(props.minDate && calTime.isSameOrAfter(props.minDate, "month") && calEndDate && calTime.isSameOrBefore(calEndDate, "month")) || !!(props.minDate && calTime.isSameOrBefore(props.minDate, "month") && calEndDate && calTime.isSameOrAfter(calEndDate, "month")); + if ((_a = props.minDate) == null ? void 0 : _a.isSameOrAfter(calEndDate)) { + cell.start = !!(calEndDate && calTime.isSame(calEndDate, "month")); + cell.end = props.minDate && calTime.isSame(props.minDate, "month"); + } else { + cell.start = !!(props.minDate && calTime.isSame(props.minDate, "month")); + cell.end = !!(calEndDate && calTime.isSame(calEndDate, "month")); + } + const isToday = now.isSame(calTime); + if (isToday) { + cell.type = "today"; + } + cell.text = index2; + cell.disabled = ((_b = props.disabledDate) == null ? void 0 : _b.call(props, calTime.toDate())) || false; + } + } + return rows2; + }); + const focus = () => { + var _a; + (_a = currentCellRef.value) == null ? void 0 : _a.focus(); + }; + const getCellStyle = (cell) => { + const style = {}; + const year = props.date.year(); + const today = /* @__PURE__ */ new Date(); + const month = cell.text; + style.disabled = props.disabledDate ? datesInMonth(year, month, lang.value).every(props.disabledDate) : false; + style.current = castArray(props.parsedValue).findIndex((date2) => dayjs.isDayjs(date2) && date2.year() === year && date2.month() === month) >= 0; + style.today = today.getFullYear() === year && today.getMonth() === month; + if (cell.inRange) { + style["in-range"] = true; + if (cell.start) { + style["start-date"] = true; + } + if (cell.end) { + style["end-date"] = true; + } + } + return style; + }; + const isSelectedCell = (cell) => { + const year = props.date.year(); + const month = cell.text; + return castArray(props.date).findIndex((date2) => date2.year() === year && date2.month() === month) >= 0; + }; + const handleMouseMove = (event) => { + var _a; + if (!props.rangeState.selecting) + return; + let target = event.target; + if (target.tagName === "A") { + target = (_a = target.parentNode) == null ? void 0 : _a.parentNode; + } + if (target.tagName === "DIV") { + target = target.parentNode; + } + if (target.tagName !== "TD") + return; + const row = target.parentNode.rowIndex; + const column = target.cellIndex; + if (rows.value[row][column].disabled) + return; + if (row !== lastRow.value || column !== lastColumn.value) { + lastRow.value = row; + lastColumn.value = column; + emit("changerange", { + selecting: true, + endDate: props.date.startOf("year").month(row * 4 + column) + }); + } + }; + const handleMonthTableClick = (event) => { + var _a; + const target = (_a = event.target) == null ? void 0 : _a.closest("td"); + if ((target == null ? void 0 : target.tagName) !== "TD") + return; + if (hasClass(target, "disabled")) + return; + const column = target.cellIndex; + const row = target.parentNode.rowIndex; + const month = row * 4 + column; + const newDate = props.date.startOf("year").month(month); + if (props.selectionMode === "range") { + if (!props.rangeState.selecting) { + emit("pick", { minDate: newDate, maxDate: null }); + emit("select", true); + } else { + if (props.minDate && newDate >= props.minDate) { + emit("pick", { minDate: props.minDate, maxDate: newDate }); + } else { + emit("pick", { minDate: newDate, maxDate: props.minDate }); + } + emit("select", false); + } + } else { + emit("pick", month); + } + }; + watch(() => props.date, async () => { + var _a, _b; + if ((_a = tbodyRef.value) == null ? void 0 : _a.contains(document.activeElement)) { + await nextTick(); + (_b = currentCellRef.value) == null ? void 0 : _b.focus(); + } + }); + expose({ + focus + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("table", { + role: "grid", + "aria-label": unref(t)("el.datepicker.monthTablePrompt"), + class: normalizeClass(unref(ns).b()), + onClick: handleMonthTableClick, + onMousemove: handleMouseMove + }, [ + createElementVNode("tbody", { + ref_key: "tbodyRef", + ref: tbodyRef + }, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(unref(rows), (row, key) => { + return openBlock(), createElementBlock("tr", { key }, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(row, (cell, key_) => { + return openBlock(), createElementBlock("td", { + key: key_, + ref_for: true, + ref: (el) => isSelectedCell(cell) && (currentCellRef.value = el), + class: normalizeClass(getCellStyle(cell)), + "aria-selected": `${isSelectedCell(cell)}`, + "aria-label": unref(t)(`el.datepicker.month${+cell.text + 1}`), + tabindex: isSelectedCell(cell) ? 0 : -1, + onKeydown: [ + withKeys(withModifiers(handleMonthTableClick, ["prevent", "stop"]), ["space"]), + withKeys(withModifiers(handleMonthTableClick, ["prevent", "stop"]), ["enter"]) + ] + }, [ + createElementVNode("div", null, [ + createElementVNode("span", _hoisted_3$4, toDisplayString(unref(t)("el.datepicker.months." + months.value[cell.text])), 1) + ]) + ], 42, _hoisted_2$4); + }), 128)) + ]); + }), 128)) + ], 512) + ], 42, _hoisted_1$4); + }; + } +}); +var MonthTable = /* @__PURE__ */ _export_sfc$1(_sfc_main$5, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/date-picker/src/date-picker-com/basic-month-table.vue"]]); +const { date, disabledDate, parsedValue } = datePickerSharedProps; +const basicYearTableProps = buildProps({ + date, + disabledDate, + parsedValue +}); +const _hoisted_1$3 = ["aria-label"]; +const _hoisted_2$3 = ["aria-selected", "tabindex", "onKeydown"]; +const _hoisted_3$3 = { class: "cell" }; +const _hoisted_4$2 = { key: 1 }; +const _sfc_main$4 = /* @__PURE__ */ defineComponent({ + __name: "basic-year-table", + props: basicYearTableProps, + emits: ["pick"], + setup(__props, { expose, emit }) { + const props = __props; + const datesInYear = (year, lang2) => { + const firstDay = dayjs(String(year)).locale(lang2).startOf("year"); + const lastDay = firstDay.endOf("year"); + const numOfDays = lastDay.dayOfYear(); + return rangeArr(numOfDays).map((n) => firstDay.add(n, "day").toDate()); + }; + const ns = useNamespace("year-table"); + const { t, lang } = useLocale(); + const tbodyRef = ref(); + const currentCellRef = ref(); + const startYear = computed(() => { + return Math.floor(props.date.year() / 10) * 10; + }); + const focus = () => { + var _a; + (_a = currentCellRef.value) == null ? void 0 : _a.focus(); + }; + const getCellKls = (year) => { + const kls = {}; + const today = dayjs().locale(lang.value); + kls.disabled = props.disabledDate ? datesInYear(year, lang.value).every(props.disabledDate) : false; + kls.current = castArray(props.parsedValue).findIndex((d) => d.year() === year) >= 0; + kls.today = today.year() === year; + return kls; + }; + const isSelectedCell = (year) => { + return year === startYear.value && props.date.year() < startYear.value && props.date.year() > startYear.value + 9 || castArray(props.date).findIndex((date2) => date2.year() === year) >= 0; + }; + const handleYearTableClick = (event) => { + const clickTarget = event.target; + const target = clickTarget.closest("td"); + if (target && target.textContent) { + if (hasClass(target, "disabled")) + return; + const year = target.textContent || target.innerText; + emit("pick", Number(year)); + } + }; + watch(() => props.date, async () => { + var _a, _b; + if ((_a = tbodyRef.value) == null ? void 0 : _a.contains(document.activeElement)) { + await nextTick(); + (_b = currentCellRef.value) == null ? void 0 : _b.focus(); + } + }); + expose({ + focus + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("table", { + role: "grid", + "aria-label": unref(t)("el.datepicker.yearTablePrompt"), + class: normalizeClass(unref(ns).b()), + onClick: handleYearTableClick + }, [ + createElementVNode("tbody", { + ref_key: "tbodyRef", + ref: tbodyRef + }, [ + (openBlock(), createElementBlock(Fragment, null, renderList(3, (_, i) => { + return createElementVNode("tr", { key: i }, [ + (openBlock(), createElementBlock(Fragment, null, renderList(4, (__, j) => { + return openBlock(), createElementBlock(Fragment, { + key: i + "_" + j + }, [ + i * 4 + j < 10 ? (openBlock(), createElementBlock("td", { + key: 0, + ref_for: true, + ref: (el) => isSelectedCell(unref(startYear) + i * 4 + j) && (currentCellRef.value = el), + class: normalizeClass(["available", getCellKls(unref(startYear) + i * 4 + j)]), + "aria-selected": `${isSelectedCell(unref(startYear) + i * 4 + j)}`, + tabindex: isSelectedCell(unref(startYear) + i * 4 + j) ? 0 : -1, + onKeydown: [ + withKeys(withModifiers(handleYearTableClick, ["prevent", "stop"]), ["space"]), + withKeys(withModifiers(handleYearTableClick, ["prevent", "stop"]), ["enter"]) + ] + }, [ + createElementVNode("span", _hoisted_3$3, toDisplayString(unref(startYear) + i * 4 + j), 1) + ], 42, _hoisted_2$3)) : (openBlock(), createElementBlock("td", _hoisted_4$2)) + ], 64); + }), 64)) + ]); + }), 64)) + ], 512) + ], 10, _hoisted_1$3); + }; + } +}); +var YearTable = /* @__PURE__ */ _export_sfc$1(_sfc_main$4, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/date-picker/src/date-picker-com/basic-year-table.vue"]]); +const _hoisted_1$2 = ["onClick"]; +const _hoisted_2$2 = ["aria-label"]; +const _hoisted_3$2 = ["aria-label"]; +const _hoisted_4$1 = ["aria-label"]; +const _hoisted_5$1 = ["aria-label"]; +const _sfc_main$3 = /* @__PURE__ */ defineComponent({ + __name: "panel-date-pick", + props: panelDatePickProps, + emits: ["pick", "set-picker-option", "panel-change"], + setup(__props, { emit: contextEmit }) { + const props = __props; + const timeWithinRange = (_, __, ___) => true; + const ppNs = useNamespace("picker-panel"); + const dpNs = useNamespace("date-picker"); + const attrs = useAttrs$1(); + const slots = useSlots(); + const { t, lang } = useLocale(); + const pickerBase = inject("EP_PICKER_BASE"); + const popper = inject(TOOLTIP_INJECTION_KEY); + const { shortcuts, disabledDate: disabledDate2, cellClassName, defaultTime } = pickerBase.props; + const defaultValue = toRef(pickerBase.props, "defaultValue"); + const currentViewRef = ref(); + const innerDate = ref(dayjs().locale(lang.value)); + const isChangeToNow = ref(false); + let isShortcut = false; + const defaultTimeD = computed(() => { + return dayjs(defaultTime).locale(lang.value); + }); + const month = computed(() => { + return innerDate.value.month(); + }); + const year = computed(() => { + return innerDate.value.year(); + }); + const selectableRange = ref([]); + const userInputDate = ref(null); + const userInputTime = ref(null); + const checkDateWithinRange = (date2) => { + return selectableRange.value.length > 0 ? timeWithinRange(date2, selectableRange.value, props.format || "HH:mm:ss") : true; + }; + const formatEmit = (emitDayjs) => { + if (defaultTime && !visibleTime.value && !isChangeToNow.value && !isShortcut) { + return defaultTimeD.value.year(emitDayjs.year()).month(emitDayjs.month()).date(emitDayjs.date()); + } + if (showTime.value) + return emitDayjs.millisecond(0); + return emitDayjs.startOf("day"); + }; + const emit = (value, ...args) => { + if (!value) { + contextEmit("pick", value, ...args); + } else if (isArray(value)) { + const dates = value.map(formatEmit); + contextEmit("pick", dates, ...args); + } else { + contextEmit("pick", formatEmit(value), ...args); + } + userInputDate.value = null; + userInputTime.value = null; + isChangeToNow.value = false; + isShortcut = false; + }; + const handleDatePick = (value, keepOpen) => { + if (selectionMode.value === "date") { + value = value; + let newDate = props.parsedValue ? props.parsedValue.year(value.year()).month(value.month()).date(value.date()) : value; + if (!checkDateWithinRange(newDate)) { + newDate = selectableRange.value[0][0].year(value.year()).month(value.month()).date(value.date()); + } + innerDate.value = newDate; + emit(newDate, showTime.value || keepOpen); + } else if (selectionMode.value === "week") { + emit(value.date); + } else if (selectionMode.value === "dates") { + emit(value, true); + } + }; + const moveByMonth = (forward) => { + const action = forward ? "add" : "subtract"; + innerDate.value = innerDate.value[action](1, "month"); + handlePanelChange("month"); + }; + const moveByYear = (forward) => { + const currentDate = innerDate.value; + const action = forward ? "add" : "subtract"; + innerDate.value = currentView.value === "year" ? currentDate[action](10, "year") : currentDate[action](1, "year"); + handlePanelChange("year"); + }; + const currentView = ref("date"); + const yearLabel = computed(() => { + const yearTranslation = t("el.datepicker.year"); + if (currentView.value === "year") { + const startYear = Math.floor(year.value / 10) * 10; + if (yearTranslation) { + return `${startYear} ${yearTranslation} - ${startYear + 9} ${yearTranslation}`; + } + return `${startYear} - ${startYear + 9}`; + } + return `${year.value} ${yearTranslation}`; + }); + const handleShortcutClick = (shortcut) => { + const shortcutValue = isFunction(shortcut.value) ? shortcut.value() : shortcut.value; + if (shortcutValue) { + isShortcut = true; + emit(dayjs(shortcutValue).locale(lang.value)); + return; + } + if (shortcut.onClick) { + shortcut.onClick({ + attrs, + slots, + emit: contextEmit + }); + } + }; + const selectionMode = computed(() => { + const { type } = props; + if (["week", "month", "year", "dates"].includes(type)) + return type; + return "date"; + }); + const keyboardMode = computed(() => { + return selectionMode.value === "date" ? currentView.value : selectionMode.value; + }); + const hasShortcuts = computed(() => !!shortcuts.length); + const handleMonthPick = async (month2) => { + innerDate.value = innerDate.value.startOf("month").month(month2); + if (selectionMode.value === "month") { + emit(innerDate.value, false); + } else { + currentView.value = "date"; + if (["month", "year", "date", "week"].includes(selectionMode.value)) { + emit(innerDate.value, true); + await nextTick(); + handleFocusPicker(); + } + } + handlePanelChange("month"); + }; + const handleYearPick = async (year2) => { + if (selectionMode.value === "year") { + innerDate.value = innerDate.value.startOf("year").year(year2); + emit(innerDate.value, false); + } else { + innerDate.value = innerDate.value.year(year2); + currentView.value = "month"; + if (["month", "year", "date", "week"].includes(selectionMode.value)) { + emit(innerDate.value, true); + await nextTick(); + handleFocusPicker(); + } + } + handlePanelChange("year"); + }; + const showPicker = async (view) => { + currentView.value = view; + await nextTick(); + handleFocusPicker(); + }; + const showTime = computed(() => props.type === "datetime" || props.type === "datetimerange"); + const footerVisible = computed(() => { + return showTime.value || selectionMode.value === "dates"; + }); + const disabledConfirm = computed(() => { + if (!disabledDate2) + return false; + if (!props.parsedValue) + return true; + if (isArray(props.parsedValue)) { + return disabledDate2(props.parsedValue[0].toDate()); + } + return disabledDate2(props.parsedValue.toDate()); + }); + const onConfirm = () => { + if (selectionMode.value === "dates") { + emit(props.parsedValue); + } else { + let result = props.parsedValue; + if (!result) { + const defaultTimeD2 = dayjs(defaultTime).locale(lang.value); + const defaultValueD = getDefaultValue2(); + result = defaultTimeD2.year(defaultValueD.year()).month(defaultValueD.month()).date(defaultValueD.date()); + } + innerDate.value = result; + emit(result); + } + }; + const disabledNow = computed(() => { + if (!disabledDate2) + return false; + return disabledDate2(dayjs().locale(lang.value).toDate()); + }); + const changeToNow = () => { + const now = dayjs().locale(lang.value); + const nowDate = now.toDate(); + isChangeToNow.value = true; + if ((!disabledDate2 || !disabledDate2(nowDate)) && checkDateWithinRange(nowDate)) { + innerDate.value = dayjs().locale(lang.value); + emit(innerDate.value); + } + }; + const timeFormat = computed(() => { + return props.timeFormat || extractTimeFormat(props.format); + }); + const dateFormat = computed(() => { + return props.dateFormat || extractDateFormat(props.format); + }); + const visibleTime = computed(() => { + if (userInputTime.value) + return userInputTime.value; + if (!props.parsedValue && !defaultValue.value) + return; + return (props.parsedValue || innerDate.value).format(timeFormat.value); + }); + const visibleDate = computed(() => { + if (userInputDate.value) + return userInputDate.value; + if (!props.parsedValue && !defaultValue.value) + return; + return (props.parsedValue || innerDate.value).format(dateFormat.value); + }); + const timePickerVisible = ref(false); + const onTimePickerInputFocus = () => { + timePickerVisible.value = true; + }; + const handleTimePickClose = () => { + timePickerVisible.value = false; + }; + const getUnits = (date2) => { + return { + hour: date2.hour(), + minute: date2.minute(), + second: date2.second(), + year: date2.year(), + month: date2.month(), + date: date2.date() + }; + }; + const handleTimePick = (value, visible, first) => { + const { hour, minute, second } = getUnits(value); + const newDate = props.parsedValue ? props.parsedValue.hour(hour).minute(minute).second(second) : value; + innerDate.value = newDate; + emit(innerDate.value, true); + if (!first) { + timePickerVisible.value = visible; + } + }; + const handleVisibleTimeChange = (value) => { + const newDate = dayjs(value, timeFormat.value).locale(lang.value); + if (newDate.isValid() && checkDateWithinRange(newDate)) { + const { year: year2, month: month2, date: date2 } = getUnits(innerDate.value); + innerDate.value = newDate.year(year2).month(month2).date(date2); + userInputTime.value = null; + timePickerVisible.value = false; + emit(innerDate.value, true); + } + }; + const handleVisibleDateChange = (value) => { + const newDate = dayjs(value, dateFormat.value).locale(lang.value); + if (newDate.isValid()) { + if (disabledDate2 && disabledDate2(newDate.toDate())) { + return; + } + const { hour, minute, second } = getUnits(innerDate.value); + innerDate.value = newDate.hour(hour).minute(minute).second(second); + userInputDate.value = null; + emit(innerDate.value, true); + } + }; + const isValidValue = (date2) => { + return dayjs.isDayjs(date2) && date2.isValid() && (disabledDate2 ? !disabledDate2(date2.toDate()) : true); + }; + const formatToString = (value) => { + if (selectionMode.value === "dates") { + return value.map((_) => _.format(props.format)); + } + return value.format(props.format); + }; + const parseUserInput = (value) => { + return dayjs(value, props.format).locale(lang.value); + }; + const getDefaultValue2 = () => { + const parseDate2 = dayjs(defaultValue.value).locale(lang.value); + if (!defaultValue.value) { + const defaultTimeDValue = defaultTimeD.value; + return dayjs().hour(defaultTimeDValue.hour()).minute(defaultTimeDValue.minute()).second(defaultTimeDValue.second()).locale(lang.value); + } + return parseDate2; + }; + const handleFocusPicker = async () => { + var _a; + if (["week", "month", "year", "date"].includes(selectionMode.value)) { + (_a = currentViewRef.value) == null ? void 0 : _a.focus(); + if (selectionMode.value === "week") { + handleKeyControl(EVENT_CODE.down); + } + } + }; + const handleKeydownTable = (event) => { + const { code } = event; + const validCode = [ + EVENT_CODE.up, + EVENT_CODE.down, + EVENT_CODE.left, + EVENT_CODE.right, + EVENT_CODE.home, + EVENT_CODE.end, + EVENT_CODE.pageUp, + EVENT_CODE.pageDown + ]; + if (validCode.includes(code)) { + handleKeyControl(code); + event.stopPropagation(); + event.preventDefault(); + } + if ([EVENT_CODE.enter, EVENT_CODE.space, EVENT_CODE.numpadEnter].includes(code) && userInputDate.value === null && userInputTime.value === null) { + event.preventDefault(); + emit(innerDate.value, false); + } + }; + const handleKeyControl = (code) => { + var _a; + const { up, down, left, right, home, end, pageUp, pageDown } = EVENT_CODE; + const mapping = { + year: { + [up]: -4, + [down]: 4, + [left]: -1, + [right]: 1, + offset: (date2, step) => date2.setFullYear(date2.getFullYear() + step) + }, + month: { + [up]: -4, + [down]: 4, + [left]: -1, + [right]: 1, + offset: (date2, step) => date2.setMonth(date2.getMonth() + step) + }, + week: { + [up]: -1, + [down]: 1, + [left]: -1, + [right]: 1, + offset: (date2, step) => date2.setDate(date2.getDate() + step * 7) + }, + date: { + [up]: -7, + [down]: 7, + [left]: -1, + [right]: 1, + [home]: (date2) => -date2.getDay(), + [end]: (date2) => -date2.getDay() + 6, + [pageUp]: (date2) => -new Date(date2.getFullYear(), date2.getMonth(), 0).getDate(), + [pageDown]: (date2) => new Date(date2.getFullYear(), date2.getMonth() + 1, 0).getDate(), + offset: (date2, step) => date2.setDate(date2.getDate() + step) + } + }; + const newDate = innerDate.value.toDate(); + while (Math.abs(innerDate.value.diff(newDate, "year", true)) < 1) { + const map = mapping[keyboardMode.value]; + if (!map) + return; + map.offset(newDate, isFunction(map[code]) ? map[code](newDate) : (_a = map[code]) != null ? _a : 0); + if (disabledDate2 && disabledDate2(newDate)) { + break; + } + const result = dayjs(newDate).locale(lang.value); + innerDate.value = result; + contextEmit("pick", result, true); + break; + } + }; + const handlePanelChange = (mode) => { + contextEmit("panel-change", innerDate.value.toDate(), mode, currentView.value); + }; + watch(() => selectionMode.value, (val) => { + if (["month", "year"].includes(val)) { + currentView.value = val; + return; + } + currentView.value = "date"; + }, { immediate: true }); + watch(() => currentView.value, () => { + popper == null ? void 0 : popper.updatePopper(); + }); + watch(() => defaultValue.value, (val) => { + if (val) { + innerDate.value = getDefaultValue2(); + } + }, { immediate: true }); + watch(() => props.parsedValue, (val) => { + if (val) { + if (selectionMode.value === "dates") + return; + if (Array.isArray(val)) + return; + innerDate.value = val; + } else { + innerDate.value = getDefaultValue2(); + } + }, { immediate: true }); + contextEmit("set-picker-option", ["isValidValue", isValidValue]); + contextEmit("set-picker-option", ["formatToString", formatToString]); + contextEmit("set-picker-option", ["parseUserInput", parseUserInput]); + contextEmit("set-picker-option", ["handleFocusPicker", handleFocusPicker]); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", { + class: normalizeClass([ + unref(ppNs).b(), + unref(dpNs).b(), + { + "has-sidebar": _ctx.$slots.sidebar || unref(hasShortcuts), + "has-time": unref(showTime) + } + ]) + }, [ + createElementVNode("div", { + class: normalizeClass(unref(ppNs).e("body-wrapper")) + }, [ + renderSlot(_ctx.$slots, "sidebar", { + class: normalizeClass(unref(ppNs).e("sidebar")) + }), + unref(hasShortcuts) ? (openBlock(), createElementBlock("div", { + key: 0, + class: normalizeClass(unref(ppNs).e("sidebar")) + }, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(unref(shortcuts), (shortcut, key) => { + return openBlock(), createElementBlock("button", { + key, + type: "button", + class: normalizeClass(unref(ppNs).e("shortcut")), + onClick: ($event) => handleShortcutClick(shortcut) + }, toDisplayString(shortcut.text), 11, _hoisted_1$2); + }), 128)) + ], 2)) : createCommentVNode("v-if", true), + createElementVNode("div", { + class: normalizeClass(unref(ppNs).e("body")) + }, [ + unref(showTime) ? (openBlock(), createElementBlock("div", { + key: 0, + class: normalizeClass(unref(dpNs).e("time-header")) + }, [ + createElementVNode("span", { + class: normalizeClass(unref(dpNs).e("editor-wrap")) + }, [ + createVNode(unref(ElInput), { + placeholder: unref(t)("el.datepicker.selectDate"), + "model-value": unref(visibleDate), + size: "small", + "validate-event": false, + onInput: _cache[0] || (_cache[0] = (val) => userInputDate.value = val), + onChange: handleVisibleDateChange + }, null, 8, ["placeholder", "model-value"]) + ], 2), + withDirectives((openBlock(), createElementBlock("span", { + class: normalizeClass(unref(dpNs).e("editor-wrap")) + }, [ + createVNode(unref(ElInput), { + placeholder: unref(t)("el.datepicker.selectTime"), + "model-value": unref(visibleTime), + size: "small", + "validate-event": false, + onFocus: onTimePickerInputFocus, + onInput: _cache[1] || (_cache[1] = (val) => userInputTime.value = val), + onChange: handleVisibleTimeChange + }, null, 8, ["placeholder", "model-value"]), + createVNode(unref(TimePickPanel), { + visible: timePickerVisible.value, + format: unref(timeFormat), + "parsed-value": innerDate.value, + onPick: handleTimePick + }, null, 8, ["visible", "format", "parsed-value"]) + ], 2)), [ + [unref(ClickOutside), handleTimePickClose] + ]) + ], 2)) : createCommentVNode("v-if", true), + withDirectives(createElementVNode("div", { + class: normalizeClass([ + unref(dpNs).e("header"), + (currentView.value === "year" || currentView.value === "month") && unref(dpNs).e("header--bordered") + ]) + }, [ + createElementVNode("span", { + class: normalizeClass(unref(dpNs).e("prev-btn")) + }, [ + createElementVNode("button", { + type: "button", + "aria-label": unref(t)(`el.datepicker.prevYear`), + class: normalizeClass(["d-arrow-left", unref(ppNs).e("icon-btn")]), + onClick: _cache[2] || (_cache[2] = ($event) => moveByYear(false)) + }, [ + createVNode(unref(ElIcon), null, { + default: withCtx(() => [ + createVNode(unref(d_arrow_left_default)) + ]), + _: 1 + }) + ], 10, _hoisted_2$2), + withDirectives(createElementVNode("button", { + type: "button", + "aria-label": unref(t)(`el.datepicker.prevMonth`), + class: normalizeClass([unref(ppNs).e("icon-btn"), "arrow-left"]), + onClick: _cache[3] || (_cache[3] = ($event) => moveByMonth(false)) + }, [ + createVNode(unref(ElIcon), null, { + default: withCtx(() => [ + createVNode(unref(arrow_left_default)) + ]), + _: 1 + }) + ], 10, _hoisted_3$2), [ + [vShow, currentView.value === "date"] + ]) + ], 2), + createElementVNode("span", { + role: "button", + class: normalizeClass(unref(dpNs).e("header-label")), + "aria-live": "polite", + tabindex: "0", + onKeydown: _cache[4] || (_cache[4] = withKeys(($event) => showPicker("year"), ["enter"])), + onClick: _cache[5] || (_cache[5] = ($event) => showPicker("year")) + }, toDisplayString(unref(yearLabel)), 35), + withDirectives(createElementVNode("span", { + role: "button", + "aria-live": "polite", + tabindex: "0", + class: normalizeClass([ + unref(dpNs).e("header-label"), + { active: currentView.value === "month" } + ]), + onKeydown: _cache[6] || (_cache[6] = withKeys(($event) => showPicker("month"), ["enter"])), + onClick: _cache[7] || (_cache[7] = ($event) => showPicker("month")) + }, toDisplayString(unref(t)(`el.datepicker.month${unref(month) + 1}`)), 35), [ + [vShow, currentView.value === "date"] + ]), + createElementVNode("span", { + class: normalizeClass(unref(dpNs).e("next-btn")) + }, [ + withDirectives(createElementVNode("button", { + type: "button", + "aria-label": unref(t)(`el.datepicker.nextMonth`), + class: normalizeClass([unref(ppNs).e("icon-btn"), "arrow-right"]), + onClick: _cache[8] || (_cache[8] = ($event) => moveByMonth(true)) + }, [ + createVNode(unref(ElIcon), null, { + default: withCtx(() => [ + createVNode(unref(arrow_right_default)) + ]), + _: 1 + }) + ], 10, _hoisted_4$1), [ + [vShow, currentView.value === "date"] + ]), + createElementVNode("button", { + type: "button", + "aria-label": unref(t)(`el.datepicker.nextYear`), + class: normalizeClass([unref(ppNs).e("icon-btn"), "d-arrow-right"]), + onClick: _cache[9] || (_cache[9] = ($event) => moveByYear(true)) + }, [ + createVNode(unref(ElIcon), null, { + default: withCtx(() => [ + createVNode(unref(d_arrow_right_default)) + ]), + _: 1 + }) + ], 10, _hoisted_5$1) + ], 2) + ], 2), [ + [vShow, currentView.value !== "time"] + ]), + createElementVNode("div", { + class: normalizeClass(unref(ppNs).e("content")), + onKeydown: handleKeydownTable + }, [ + currentView.value === "date" ? (openBlock(), createBlock(DateTable, { + key: 0, + ref_key: "currentViewRef", + ref: currentViewRef, + "selection-mode": unref(selectionMode), + date: innerDate.value, + "parsed-value": _ctx.parsedValue, + "disabled-date": unref(disabledDate2), + "cell-class-name": unref(cellClassName), + onPick: handleDatePick + }, null, 8, ["selection-mode", "date", "parsed-value", "disabled-date", "cell-class-name"])) : createCommentVNode("v-if", true), + currentView.value === "year" ? (openBlock(), createBlock(YearTable, { + key: 1, + ref_key: "currentViewRef", + ref: currentViewRef, + date: innerDate.value, + "disabled-date": unref(disabledDate2), + "parsed-value": _ctx.parsedValue, + onPick: handleYearPick + }, null, 8, ["date", "disabled-date", "parsed-value"])) : createCommentVNode("v-if", true), + currentView.value === "month" ? (openBlock(), createBlock(MonthTable, { + key: 2, + ref_key: "currentViewRef", + ref: currentViewRef, + date: innerDate.value, + "parsed-value": _ctx.parsedValue, + "disabled-date": unref(disabledDate2), + onPick: handleMonthPick + }, null, 8, ["date", "parsed-value", "disabled-date"])) : createCommentVNode("v-if", true) + ], 34) + ], 2) + ], 2), + withDirectives(createElementVNode("div", { + class: normalizeClass(unref(ppNs).e("footer")) + }, [ + withDirectives(createVNode(unref(ElButton), { + text: "", + size: "small", + class: normalizeClass(unref(ppNs).e("link-btn")), + disabled: unref(disabledNow), + onClick: changeToNow + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(unref(t)("el.datepicker.now")), 1) + ]), + _: 1 + }, 8, ["class", "disabled"]), [ + [vShow, unref(selectionMode) !== "dates"] + ]), + createVNode(unref(ElButton), { + plain: "", + size: "small", + class: normalizeClass(unref(ppNs).e("link-btn")), + disabled: unref(disabledConfirm), + onClick: onConfirm + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(unref(t)("el.datepicker.confirm")), 1) + ]), + _: 1 + }, 8, ["class", "disabled"]) + ], 2), [ + [vShow, unref(footerVisible) && currentView.value === "date"] + ]) + ], 2); + }; + } +}); +var DatePickPanel = /* @__PURE__ */ _export_sfc$1(_sfc_main$3, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/date-picker/src/date-picker-com/panel-date-pick.vue"]]); +const panelDateRangeProps = buildProps({ + ...panelSharedProps, + ...panelRangeSharedProps +}); +const useShortcut = (lang) => { + const { emit } = getCurrentInstance(); + const attrs = useAttrs$1(); + const slots = useSlots(); + const handleShortcutClick = (shortcut) => { + const shortcutValues = isFunction(shortcut.value) ? shortcut.value() : shortcut.value; + if (shortcutValues) { + emit("pick", [ + dayjs(shortcutValues[0]).locale(lang.value), + dayjs(shortcutValues[1]).locale(lang.value) + ]); + return; + } + if (shortcut.onClick) { + shortcut.onClick({ + attrs, + slots, + emit + }); + } + }; + return handleShortcutClick; +}; +const useRangePicker = (props, { + defaultValue, + leftDate, + rightDate, + unit: unit2, + onParsedValueChanged +}) => { + const { emit } = getCurrentInstance(); + const { pickerNs } = inject(ROOT_PICKER_INJECTION_KEY); + const drpNs = useNamespace("date-range-picker"); + const { t, lang } = useLocale(); + const handleShortcutClick = useShortcut(lang); + const minDate = ref(); + const maxDate = ref(); + const rangeState = ref({ + endDate: null, + selecting: false + }); + const handleChangeRange = (val) => { + rangeState.value = val; + }; + const handleRangeConfirm = (visible = false) => { + const _minDate = unref(minDate); + const _maxDate = unref(maxDate); + if (isValidRange([_minDate, _maxDate])) { + emit("pick", [_minDate, _maxDate], visible); + } + }; + const onSelect = (selecting) => { + rangeState.value.selecting = selecting; + if (!selecting) { + rangeState.value.endDate = null; + } + }; + const restoreDefault = () => { + const [start, end] = getDefaultValue(unref(defaultValue), { + lang: unref(lang), + unit: unit2, + unlinkPanels: props.unlinkPanels + }); + minDate.value = void 0; + maxDate.value = void 0; + leftDate.value = start; + rightDate.value = end; + }; + watch(defaultValue, (val) => { + if (val) { + restoreDefault(); + } + }, { immediate: true }); + watch(() => props.parsedValue, (parsedValue2) => { + if (isArray(parsedValue2) && parsedValue2.length === 2) { + const [start, end] = parsedValue2; + minDate.value = start; + leftDate.value = start; + maxDate.value = end; + onParsedValueChanged(unref(minDate), unref(maxDate)); + } else { + restoreDefault(); + } + }, { immediate: true }); + return { + minDate, + maxDate, + rangeState, + lang, + ppNs: pickerNs, + drpNs, + handleChangeRange, + handleRangeConfirm, + handleShortcutClick, + onSelect, + t + }; +}; +const _hoisted_1$1 = ["onClick"]; +const _hoisted_2$1 = ["aria-label"]; +const _hoisted_3$1 = ["aria-label"]; +const _hoisted_4 = ["disabled", "aria-label"]; +const _hoisted_5 = ["disabled", "aria-label"]; +const _hoisted_6 = ["disabled", "aria-label"]; +const _hoisted_7 = ["disabled", "aria-label"]; +const _hoisted_8 = ["aria-label"]; +const _hoisted_9 = ["aria-label"]; +const unit$1 = "month"; +const _sfc_main$2 = /* @__PURE__ */ defineComponent({ + __name: "panel-date-range", + props: panelDateRangeProps, + emits: [ + "pick", + "set-picker-option", + "calendar-change", + "panel-change" + ], + setup(__props, { emit }) { + const props = __props; + const pickerBase = inject("EP_PICKER_BASE"); + const { disabledDate: disabledDate2, cellClassName, format, defaultTime, clearable } = pickerBase.props; + const shortcuts = toRef(pickerBase.props, "shortcuts"); + const defaultValue = toRef(pickerBase.props, "defaultValue"); + const { lang } = useLocale(); + const leftDate = ref(dayjs().locale(lang.value)); + const rightDate = ref(dayjs().locale(lang.value).add(1, unit$1)); + const { + minDate, + maxDate, + rangeState, + ppNs, + drpNs, + handleChangeRange, + handleRangeConfirm, + handleShortcutClick, + onSelect, + t + } = useRangePicker(props, { + defaultValue, + leftDate, + rightDate, + unit: unit$1, + onParsedValueChanged + }); + const dateUserInput = ref({ + min: null, + max: null + }); + const timeUserInput = ref({ + min: null, + max: null + }); + const leftLabel = computed(() => { + return `${leftDate.value.year()} ${t("el.datepicker.year")} ${t(`el.datepicker.month${leftDate.value.month() + 1}`)}`; + }); + const rightLabel = computed(() => { + return `${rightDate.value.year()} ${t("el.datepicker.year")} ${t(`el.datepicker.month${rightDate.value.month() + 1}`)}`; + }); + const leftYear = computed(() => { + return leftDate.value.year(); + }); + const leftMonth = computed(() => { + return leftDate.value.month(); + }); + const rightYear = computed(() => { + return rightDate.value.year(); + }); + const rightMonth = computed(() => { + return rightDate.value.month(); + }); + const hasShortcuts = computed(() => !!shortcuts.value.length); + const minVisibleDate = computed(() => { + if (dateUserInput.value.min !== null) + return dateUserInput.value.min; + if (minDate.value) + return minDate.value.format(dateFormat.value); + return ""; + }); + const maxVisibleDate = computed(() => { + if (dateUserInput.value.max !== null) + return dateUserInput.value.max; + if (maxDate.value || minDate.value) + return (maxDate.value || minDate.value).format(dateFormat.value); + return ""; + }); + const minVisibleTime = computed(() => { + if (timeUserInput.value.min !== null) + return timeUserInput.value.min; + if (minDate.value) + return minDate.value.format(timeFormat.value); + return ""; + }); + const maxVisibleTime = computed(() => { + if (timeUserInput.value.max !== null) + return timeUserInput.value.max; + if (maxDate.value || minDate.value) + return (maxDate.value || minDate.value).format(timeFormat.value); + return ""; + }); + const timeFormat = computed(() => { + return props.timeFormat || extractTimeFormat(format); + }); + const dateFormat = computed(() => { + return props.dateFormat || extractDateFormat(format); + }); + const isValidValue = (date2) => { + return isValidRange(date2) && (disabledDate2 ? !disabledDate2(date2[0].toDate()) && !disabledDate2(date2[1].toDate()) : true); + }; + const leftPrevYear = () => { + leftDate.value = leftDate.value.subtract(1, "year"); + if (!props.unlinkPanels) { + rightDate.value = leftDate.value.add(1, "month"); + } + handlePanelChange("year"); + }; + const leftPrevMonth = () => { + leftDate.value = leftDate.value.subtract(1, "month"); + if (!props.unlinkPanels) { + rightDate.value = leftDate.value.add(1, "month"); + } + handlePanelChange("month"); + }; + const rightNextYear = () => { + if (!props.unlinkPanels) { + leftDate.value = leftDate.value.add(1, "year"); + rightDate.value = leftDate.value.add(1, "month"); + } else { + rightDate.value = rightDate.value.add(1, "year"); + } + handlePanelChange("year"); + }; + const rightNextMonth = () => { + if (!props.unlinkPanels) { + leftDate.value = leftDate.value.add(1, "month"); + rightDate.value = leftDate.value.add(1, "month"); + } else { + rightDate.value = rightDate.value.add(1, "month"); + } + handlePanelChange("month"); + }; + const leftNextYear = () => { + leftDate.value = leftDate.value.add(1, "year"); + handlePanelChange("year"); + }; + const leftNextMonth = () => { + leftDate.value = leftDate.value.add(1, "month"); + handlePanelChange("month"); + }; + const rightPrevYear = () => { + rightDate.value = rightDate.value.subtract(1, "year"); + handlePanelChange("year"); + }; + const rightPrevMonth = () => { + rightDate.value = rightDate.value.subtract(1, "month"); + handlePanelChange("month"); + }; + const handlePanelChange = (mode) => { + emit("panel-change", [leftDate.value.toDate(), rightDate.value.toDate()], mode); + }; + const enableMonthArrow = computed(() => { + const nextMonth = (leftMonth.value + 1) % 12; + const yearOffset = leftMonth.value + 1 >= 12 ? 1 : 0; + return props.unlinkPanels && new Date(leftYear.value + yearOffset, nextMonth) < new Date(rightYear.value, rightMonth.value); + }); + const enableYearArrow = computed(() => { + return props.unlinkPanels && rightYear.value * 12 + rightMonth.value - (leftYear.value * 12 + leftMonth.value + 1) >= 12; + }); + const btnDisabled = computed(() => { + return !(minDate.value && maxDate.value && !rangeState.value.selecting && isValidRange([minDate.value, maxDate.value])); + }); + const showTime = computed(() => props.type === "datetime" || props.type === "datetimerange"); + const formatEmit = (emitDayjs, index2) => { + if (!emitDayjs) + return; + if (defaultTime) { + const defaultTimeD = dayjs(defaultTime[index2] || defaultTime).locale(lang.value); + return defaultTimeD.year(emitDayjs.year()).month(emitDayjs.month()).date(emitDayjs.date()); + } + return emitDayjs; + }; + const handleRangePick = (val, close = true) => { + const min_ = val.minDate; + const max_ = val.maxDate; + const minDate_ = formatEmit(min_, 0); + const maxDate_ = formatEmit(max_, 1); + if (maxDate.value === maxDate_ && minDate.value === minDate_) { + return; + } + emit("calendar-change", [min_.toDate(), max_ && max_.toDate()]); + maxDate.value = maxDate_; + minDate.value = minDate_; + if (!close || showTime.value) + return; + handleRangeConfirm(); + }; + const minTimePickerVisible = ref(false); + const maxTimePickerVisible = ref(false); + const handleMinTimeClose = () => { + minTimePickerVisible.value = false; + }; + const handleMaxTimeClose = () => { + maxTimePickerVisible.value = false; + }; + const handleDateInput = (value, type) => { + dateUserInput.value[type] = value; + const parsedValueD = dayjs(value, dateFormat.value).locale(lang.value); + if (parsedValueD.isValid()) { + if (disabledDate2 && disabledDate2(parsedValueD.toDate())) { + return; + } + if (type === "min") { + leftDate.value = parsedValueD; + minDate.value = (minDate.value || leftDate.value).year(parsedValueD.year()).month(parsedValueD.month()).date(parsedValueD.date()); + if (!props.unlinkPanels && (!maxDate.value || maxDate.value.isBefore(minDate.value))) { + rightDate.value = parsedValueD.add(1, "month"); + maxDate.value = minDate.value.add(1, "month"); + } + } else { + rightDate.value = parsedValueD; + maxDate.value = (maxDate.value || rightDate.value).year(parsedValueD.year()).month(parsedValueD.month()).date(parsedValueD.date()); + if (!props.unlinkPanels && (!minDate.value || minDate.value.isAfter(maxDate.value))) { + leftDate.value = parsedValueD.subtract(1, "month"); + minDate.value = maxDate.value.subtract(1, "month"); + } + } + } + }; + const handleDateChange = (_, type) => { + dateUserInput.value[type] = null; + }; + const handleTimeInput = (value, type) => { + timeUserInput.value[type] = value; + const parsedValueD = dayjs(value, timeFormat.value).locale(lang.value); + if (parsedValueD.isValid()) { + if (type === "min") { + minTimePickerVisible.value = true; + minDate.value = (minDate.value || leftDate.value).hour(parsedValueD.hour()).minute(parsedValueD.minute()).second(parsedValueD.second()); + if (!maxDate.value || maxDate.value.isBefore(minDate.value)) { + maxDate.value = minDate.value; + } + } else { + maxTimePickerVisible.value = true; + maxDate.value = (maxDate.value || rightDate.value).hour(parsedValueD.hour()).minute(parsedValueD.minute()).second(parsedValueD.second()); + rightDate.value = maxDate.value; + if (maxDate.value && maxDate.value.isBefore(minDate.value)) { + minDate.value = maxDate.value; + } + } + } + }; + const handleTimeChange = (value, type) => { + timeUserInput.value[type] = null; + if (type === "min") { + leftDate.value = minDate.value; + minTimePickerVisible.value = false; + } else { + rightDate.value = maxDate.value; + maxTimePickerVisible.value = false; + } + }; + const handleMinTimePick = (value, visible, first) => { + if (timeUserInput.value.min) + return; + if (value) { + leftDate.value = value; + minDate.value = (minDate.value || leftDate.value).hour(value.hour()).minute(value.minute()).second(value.second()); + } + if (!first) { + minTimePickerVisible.value = visible; + } + if (!maxDate.value || maxDate.value.isBefore(minDate.value)) { + maxDate.value = minDate.value; + rightDate.value = value; + } + }; + const handleMaxTimePick = (value, visible, first) => { + if (timeUserInput.value.max) + return; + if (value) { + rightDate.value = value; + maxDate.value = (maxDate.value || rightDate.value).hour(value.hour()).minute(value.minute()).second(value.second()); + } + if (!first) { + maxTimePickerVisible.value = visible; + } + if (maxDate.value && maxDate.value.isBefore(minDate.value)) { + minDate.value = maxDate.value; + } + }; + const handleClear = () => { + leftDate.value = getDefaultValue(unref(defaultValue), { + lang: unref(lang), + unit: "month", + unlinkPanels: props.unlinkPanels + })[0]; + rightDate.value = leftDate.value.add(1, "month"); + emit("pick", null); + }; + const formatToString = (value) => { + return isArray(value) ? value.map((_) => _.format(format)) : value.format(format); + }; + const parseUserInput = (value) => { + return isArray(value) ? value.map((_) => dayjs(_, format).locale(lang.value)) : dayjs(value, format).locale(lang.value); + }; + function onParsedValueChanged(minDate2, maxDate2) { + if (props.unlinkPanels && maxDate2) { + const minDateYear = (minDate2 == null ? void 0 : minDate2.year()) || 0; + const minDateMonth = (minDate2 == null ? void 0 : minDate2.month()) || 0; + const maxDateYear = maxDate2.year(); + const maxDateMonth = maxDate2.month(); + rightDate.value = minDateYear === maxDateYear && minDateMonth === maxDateMonth ? maxDate2.add(1, unit$1) : maxDate2; + } else { + rightDate.value = leftDate.value.add(1, unit$1); + if (maxDate2) { + rightDate.value = rightDate.value.hour(maxDate2.hour()).minute(maxDate2.minute()).second(maxDate2.second()); + } + } + } + emit("set-picker-option", ["isValidValue", isValidValue]); + emit("set-picker-option", ["parseUserInput", parseUserInput]); + emit("set-picker-option", ["formatToString", formatToString]); + emit("set-picker-option", ["handleClear", handleClear]); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", { + class: normalizeClass([ + unref(ppNs).b(), + unref(drpNs).b(), + { + "has-sidebar": _ctx.$slots.sidebar || unref(hasShortcuts), + "has-time": unref(showTime) + } + ]) + }, [ + createElementVNode("div", { + class: normalizeClass(unref(ppNs).e("body-wrapper")) + }, [ + renderSlot(_ctx.$slots, "sidebar", { + class: normalizeClass(unref(ppNs).e("sidebar")) + }), + unref(hasShortcuts) ? (openBlock(), createElementBlock("div", { + key: 0, + class: normalizeClass(unref(ppNs).e("sidebar")) + }, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(unref(shortcuts), (shortcut, key) => { + return openBlock(), createElementBlock("button", { + key, + type: "button", + class: normalizeClass(unref(ppNs).e("shortcut")), + onClick: ($event) => unref(handleShortcutClick)(shortcut) + }, toDisplayString(shortcut.text), 11, _hoisted_1$1); + }), 128)) + ], 2)) : createCommentVNode("v-if", true), + createElementVNode("div", { + class: normalizeClass(unref(ppNs).e("body")) + }, [ + unref(showTime) ? (openBlock(), createElementBlock("div", { + key: 0, + class: normalizeClass(unref(drpNs).e("time-header")) + }, [ + createElementVNode("span", { + class: normalizeClass(unref(drpNs).e("editors-wrap")) + }, [ + createElementVNode("span", { + class: normalizeClass(unref(drpNs).e("time-picker-wrap")) + }, [ + createVNode(unref(ElInput), { + size: "small", + disabled: unref(rangeState).selecting, + placeholder: unref(t)("el.datepicker.startDate"), + class: normalizeClass(unref(drpNs).e("editor")), + "model-value": unref(minVisibleDate), + "validate-event": false, + onInput: _cache[0] || (_cache[0] = (val) => handleDateInput(val, "min")), + onChange: _cache[1] || (_cache[1] = (val) => handleDateChange(val, "min")) + }, null, 8, ["disabled", "placeholder", "class", "model-value"]) + ], 2), + withDirectives((openBlock(), createElementBlock("span", { + class: normalizeClass(unref(drpNs).e("time-picker-wrap")) + }, [ + createVNode(unref(ElInput), { + size: "small", + class: normalizeClass(unref(drpNs).e("editor")), + disabled: unref(rangeState).selecting, + placeholder: unref(t)("el.datepicker.startTime"), + "model-value": unref(minVisibleTime), + "validate-event": false, + onFocus: _cache[2] || (_cache[2] = ($event) => minTimePickerVisible.value = true), + onInput: _cache[3] || (_cache[3] = (val) => handleTimeInput(val, "min")), + onChange: _cache[4] || (_cache[4] = (val) => handleTimeChange(val, "min")) + }, null, 8, ["class", "disabled", "placeholder", "model-value"]), + createVNode(unref(TimePickPanel), { + visible: minTimePickerVisible.value, + format: unref(timeFormat), + "datetime-role": "start", + "parsed-value": leftDate.value, + onPick: handleMinTimePick + }, null, 8, ["visible", "format", "parsed-value"]) + ], 2)), [ + [unref(ClickOutside), handleMinTimeClose] + ]) + ], 2), + createElementVNode("span", null, [ + createVNode(unref(ElIcon), null, { + default: withCtx(() => [ + createVNode(unref(arrow_right_default)) + ]), + _: 1 + }) + ]), + createElementVNode("span", { + class: normalizeClass([unref(drpNs).e("editors-wrap"), "is-right"]) + }, [ + createElementVNode("span", { + class: normalizeClass(unref(drpNs).e("time-picker-wrap")) + }, [ + createVNode(unref(ElInput), { + size: "small", + class: normalizeClass(unref(drpNs).e("editor")), + disabled: unref(rangeState).selecting, + placeholder: unref(t)("el.datepicker.endDate"), + "model-value": unref(maxVisibleDate), + readonly: !unref(minDate), + "validate-event": false, + onInput: _cache[5] || (_cache[5] = (val) => handleDateInput(val, "max")), + onChange: _cache[6] || (_cache[6] = (val) => handleDateChange(val, "max")) + }, null, 8, ["class", "disabled", "placeholder", "model-value", "readonly"]) + ], 2), + withDirectives((openBlock(), createElementBlock("span", { + class: normalizeClass(unref(drpNs).e("time-picker-wrap")) + }, [ + createVNode(unref(ElInput), { + size: "small", + class: normalizeClass(unref(drpNs).e("editor")), + disabled: unref(rangeState).selecting, + placeholder: unref(t)("el.datepicker.endTime"), + "model-value": unref(maxVisibleTime), + readonly: !unref(minDate), + "validate-event": false, + onFocus: _cache[7] || (_cache[7] = ($event) => unref(minDate) && (maxTimePickerVisible.value = true)), + onInput: _cache[8] || (_cache[8] = (val) => handleTimeInput(val, "max")), + onChange: _cache[9] || (_cache[9] = (val) => handleTimeChange(val, "max")) + }, null, 8, ["class", "disabled", "placeholder", "model-value", "readonly"]), + createVNode(unref(TimePickPanel), { + "datetime-role": "end", + visible: maxTimePickerVisible.value, + format: unref(timeFormat), + "parsed-value": rightDate.value, + onPick: handleMaxTimePick + }, null, 8, ["visible", "format", "parsed-value"]) + ], 2)), [ + [unref(ClickOutside), handleMaxTimeClose] + ]) + ], 2) + ], 2)) : createCommentVNode("v-if", true), + createElementVNode("div", { + class: normalizeClass([[unref(ppNs).e("content"), unref(drpNs).e("content")], "is-left"]) + }, [ + createElementVNode("div", { + class: normalizeClass(unref(drpNs).e("header")) + }, [ + createElementVNode("button", { + type: "button", + class: normalizeClass([unref(ppNs).e("icon-btn"), "d-arrow-left"]), + "aria-label": unref(t)(`el.datepicker.prevYear`), + onClick: leftPrevYear + }, [ + createVNode(unref(ElIcon), null, { + default: withCtx(() => [ + createVNode(unref(d_arrow_left_default)) + ]), + _: 1 + }) + ], 10, _hoisted_2$1), + createElementVNode("button", { + type: "button", + class: normalizeClass([unref(ppNs).e("icon-btn"), "arrow-left"]), + "aria-label": unref(t)(`el.datepicker.prevMonth`), + onClick: leftPrevMonth + }, [ + createVNode(unref(ElIcon), null, { + default: withCtx(() => [ + createVNode(unref(arrow_left_default)) + ]), + _: 1 + }) + ], 10, _hoisted_3$1), + _ctx.unlinkPanels ? (openBlock(), createElementBlock("button", { + key: 0, + type: "button", + disabled: !unref(enableYearArrow), + class: normalizeClass([[unref(ppNs).e("icon-btn"), { "is-disabled": !unref(enableYearArrow) }], "d-arrow-right"]), + "aria-label": unref(t)(`el.datepicker.nextYear`), + onClick: leftNextYear + }, [ + createVNode(unref(ElIcon), null, { + default: withCtx(() => [ + createVNode(unref(d_arrow_right_default)) + ]), + _: 1 + }) + ], 10, _hoisted_4)) : createCommentVNode("v-if", true), + _ctx.unlinkPanels ? (openBlock(), createElementBlock("button", { + key: 1, + type: "button", + disabled: !unref(enableMonthArrow), + class: normalizeClass([[ + unref(ppNs).e("icon-btn"), + { "is-disabled": !unref(enableMonthArrow) } + ], "arrow-right"]), + "aria-label": unref(t)(`el.datepicker.nextMonth`), + onClick: leftNextMonth + }, [ + createVNode(unref(ElIcon), null, { + default: withCtx(() => [ + createVNode(unref(arrow_right_default)) + ]), + _: 1 + }) + ], 10, _hoisted_5)) : createCommentVNode("v-if", true), + createElementVNode("div", null, toDisplayString(unref(leftLabel)), 1) + ], 2), + createVNode(DateTable, { + "selection-mode": "range", + date: leftDate.value, + "min-date": unref(minDate), + "max-date": unref(maxDate), + "range-state": unref(rangeState), + "disabled-date": unref(disabledDate2), + "cell-class-name": unref(cellClassName), + onChangerange: unref(handleChangeRange), + onPick: handleRangePick, + onSelect: unref(onSelect) + }, null, 8, ["date", "min-date", "max-date", "range-state", "disabled-date", "cell-class-name", "onChangerange", "onSelect"]) + ], 2), + createElementVNode("div", { + class: normalizeClass([[unref(ppNs).e("content"), unref(drpNs).e("content")], "is-right"]) + }, [ + createElementVNode("div", { + class: normalizeClass(unref(drpNs).e("header")) + }, [ + _ctx.unlinkPanels ? (openBlock(), createElementBlock("button", { + key: 0, + type: "button", + disabled: !unref(enableYearArrow), + class: normalizeClass([[unref(ppNs).e("icon-btn"), { "is-disabled": !unref(enableYearArrow) }], "d-arrow-left"]), + "aria-label": unref(t)(`el.datepicker.prevYear`), + onClick: rightPrevYear + }, [ + createVNode(unref(ElIcon), null, { + default: withCtx(() => [ + createVNode(unref(d_arrow_left_default)) + ]), + _: 1 + }) + ], 10, _hoisted_6)) : createCommentVNode("v-if", true), + _ctx.unlinkPanels ? (openBlock(), createElementBlock("button", { + key: 1, + type: "button", + disabled: !unref(enableMonthArrow), + class: normalizeClass([[ + unref(ppNs).e("icon-btn"), + { "is-disabled": !unref(enableMonthArrow) } + ], "arrow-left"]), + "aria-label": unref(t)(`el.datepicker.prevMonth`), + onClick: rightPrevMonth + }, [ + createVNode(unref(ElIcon), null, { + default: withCtx(() => [ + createVNode(unref(arrow_left_default)) + ]), + _: 1 + }) + ], 10, _hoisted_7)) : createCommentVNode("v-if", true), + createElementVNode("button", { + type: "button", + "aria-label": unref(t)(`el.datepicker.nextYear`), + class: normalizeClass([unref(ppNs).e("icon-btn"), "d-arrow-right"]), + onClick: rightNextYear + }, [ + createVNode(unref(ElIcon), null, { + default: withCtx(() => [ + createVNode(unref(d_arrow_right_default)) + ]), + _: 1 + }) + ], 10, _hoisted_8), + createElementVNode("button", { + type: "button", + class: normalizeClass([unref(ppNs).e("icon-btn"), "arrow-right"]), + "aria-label": unref(t)(`el.datepicker.nextMonth`), + onClick: rightNextMonth + }, [ + createVNode(unref(ElIcon), null, { + default: withCtx(() => [ + createVNode(unref(arrow_right_default)) + ]), + _: 1 + }) + ], 10, _hoisted_9), + createElementVNode("div", null, toDisplayString(unref(rightLabel)), 1) + ], 2), + createVNode(DateTable, { + "selection-mode": "range", + date: rightDate.value, + "min-date": unref(minDate), + "max-date": unref(maxDate), + "range-state": unref(rangeState), + "disabled-date": unref(disabledDate2), + "cell-class-name": unref(cellClassName), + onChangerange: unref(handleChangeRange), + onPick: handleRangePick, + onSelect: unref(onSelect) + }, null, 8, ["date", "min-date", "max-date", "range-state", "disabled-date", "cell-class-name", "onChangerange", "onSelect"]) + ], 2) + ], 2) + ], 2), + unref(showTime) ? (openBlock(), createElementBlock("div", { + key: 0, + class: normalizeClass(unref(ppNs).e("footer")) + }, [ + unref(clearable) ? (openBlock(), createBlock(unref(ElButton), { + key: 0, + text: "", + size: "small", + class: normalizeClass(unref(ppNs).e("link-btn")), + onClick: handleClear + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(unref(t)("el.datepicker.clear")), 1) + ]), + _: 1 + }, 8, ["class"])) : createCommentVNode("v-if", true), + createVNode(unref(ElButton), { + plain: "", + size: "small", + class: normalizeClass(unref(ppNs).e("link-btn")), + disabled: unref(btnDisabled), + onClick: _cache[10] || (_cache[10] = ($event) => unref(handleRangeConfirm)(false)) + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(unref(t)("el.datepicker.confirm")), 1) + ]), + _: 1 + }, 8, ["class", "disabled"]) + ], 2)) : createCommentVNode("v-if", true) + ], 2); + }; + } +}); +var DateRangePickPanel = /* @__PURE__ */ _export_sfc$1(_sfc_main$2, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/date-picker/src/date-picker-com/panel-date-range.vue"]]); +const panelMonthRangeProps = buildProps({ + ...panelRangeSharedProps +}); +const panelMonthRangeEmits = [ + "pick", + "set-picker-option", + "calendar-change" +]; +const useMonthRangeHeader = ({ + unlinkPanels, + leftDate, + rightDate +}) => { + const { t } = useLocale(); + const leftPrevYear = () => { + leftDate.value = leftDate.value.subtract(1, "year"); + if (!unlinkPanels.value) { + rightDate.value = rightDate.value.subtract(1, "year"); + } + }; + const rightNextYear = () => { + if (!unlinkPanels.value) { + leftDate.value = leftDate.value.add(1, "year"); + } + rightDate.value = rightDate.value.add(1, "year"); + }; + const leftNextYear = () => { + leftDate.value = leftDate.value.add(1, "year"); + }; + const rightPrevYear = () => { + rightDate.value = rightDate.value.subtract(1, "year"); + }; + const leftLabel = computed(() => { + return `${leftDate.value.year()} ${t("el.datepicker.year")}`; + }); + const rightLabel = computed(() => { + return `${rightDate.value.year()} ${t("el.datepicker.year")}`; + }); + const leftYear = computed(() => { + return leftDate.value.year(); + }); + const rightYear = computed(() => { + return rightDate.value.year() === leftDate.value.year() ? leftDate.value.year() + 1 : rightDate.value.year(); + }); + return { + leftPrevYear, + rightNextYear, + leftNextYear, + rightPrevYear, + leftLabel, + rightLabel, + leftYear, + rightYear + }; +}; +const _hoisted_1 = ["onClick"]; +const _hoisted_2 = ["disabled"]; +const _hoisted_3 = ["disabled"]; +const unit = "year"; +const __default__ = defineComponent({ + name: "DatePickerMonthRange" +}); +const _sfc_main$1 = /* @__PURE__ */ defineComponent({ + ...__default__, + props: panelMonthRangeProps, + emits: panelMonthRangeEmits, + setup(__props, { emit }) { + const props = __props; + const { lang } = useLocale(); + const pickerBase = inject("EP_PICKER_BASE"); + const { shortcuts, disabledDate: disabledDate2, format } = pickerBase.props; + const defaultValue = toRef(pickerBase.props, "defaultValue"); + const leftDate = ref(dayjs().locale(lang.value)); + const rightDate = ref(dayjs().locale(lang.value).add(1, unit)); + const { + minDate, + maxDate, + rangeState, + ppNs, + drpNs, + handleChangeRange, + handleRangeConfirm, + handleShortcutClick, + onSelect + } = useRangePicker(props, { + defaultValue, + leftDate, + rightDate, + unit, + onParsedValueChanged + }); + const hasShortcuts = computed(() => !!shortcuts.length); + const { + leftPrevYear, + rightNextYear, + leftNextYear, + rightPrevYear, + leftLabel, + rightLabel, + leftYear, + rightYear + } = useMonthRangeHeader({ + unlinkPanels: toRef(props, "unlinkPanels"), + leftDate, + rightDate + }); + const enableYearArrow = computed(() => { + return props.unlinkPanels && rightYear.value > leftYear.value + 1; + }); + const handleRangePick = (val, close = true) => { + const minDate_ = val.minDate; + const maxDate_ = val.maxDate; + if (maxDate.value === maxDate_ && minDate.value === minDate_) { + return; + } + emit("calendar-change", [minDate_.toDate(), maxDate_ && maxDate_.toDate()]); + maxDate.value = maxDate_; + minDate.value = minDate_; + if (!close) + return; + handleRangeConfirm(); + }; + const formatToString = (days) => { + return days.map((day) => day.format(format)); + }; + function onParsedValueChanged(minDate2, maxDate2) { + if (props.unlinkPanels && maxDate2) { + const minDateYear = (minDate2 == null ? void 0 : minDate2.year()) || 0; + const maxDateYear = maxDate2.year(); + rightDate.value = minDateYear === maxDateYear ? maxDate2.add(1, unit) : maxDate2; + } else { + rightDate.value = leftDate.value.add(1, unit); + } + } + emit("set-picker-option", ["formatToString", formatToString]); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", { + class: normalizeClass([ + unref(ppNs).b(), + unref(drpNs).b(), + { + "has-sidebar": Boolean(_ctx.$slots.sidebar) || unref(hasShortcuts) + } + ]) + }, [ + createElementVNode("div", { + class: normalizeClass(unref(ppNs).e("body-wrapper")) + }, [ + renderSlot(_ctx.$slots, "sidebar", { + class: normalizeClass(unref(ppNs).e("sidebar")) + }), + unref(hasShortcuts) ? (openBlock(), createElementBlock("div", { + key: 0, + class: normalizeClass(unref(ppNs).e("sidebar")) + }, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(unref(shortcuts), (shortcut, key) => { + return openBlock(), createElementBlock("button", { + key, + type: "button", + class: normalizeClass(unref(ppNs).e("shortcut")), + onClick: ($event) => unref(handleShortcutClick)(shortcut) + }, toDisplayString(shortcut.text), 11, _hoisted_1); + }), 128)) + ], 2)) : createCommentVNode("v-if", true), + createElementVNode("div", { + class: normalizeClass(unref(ppNs).e("body")) + }, [ + createElementVNode("div", { + class: normalizeClass([[unref(ppNs).e("content"), unref(drpNs).e("content")], "is-left"]) + }, [ + createElementVNode("div", { + class: normalizeClass(unref(drpNs).e("header")) + }, [ + createElementVNode("button", { + type: "button", + class: normalizeClass([unref(ppNs).e("icon-btn"), "d-arrow-left"]), + onClick: _cache[0] || (_cache[0] = (...args) => unref(leftPrevYear) && unref(leftPrevYear)(...args)) + }, [ + createVNode(unref(ElIcon), null, { + default: withCtx(() => [ + createVNode(unref(d_arrow_left_default)) + ]), + _: 1 + }) + ], 2), + _ctx.unlinkPanels ? (openBlock(), createElementBlock("button", { + key: 0, + type: "button", + disabled: !unref(enableYearArrow), + class: normalizeClass([[ + unref(ppNs).e("icon-btn"), + { [unref(ppNs).is("disabled")]: !unref(enableYearArrow) } + ], "d-arrow-right"]), + onClick: _cache[1] || (_cache[1] = (...args) => unref(leftNextYear) && unref(leftNextYear)(...args)) + }, [ + createVNode(unref(ElIcon), null, { + default: withCtx(() => [ + createVNode(unref(d_arrow_right_default)) + ]), + _: 1 + }) + ], 10, _hoisted_2)) : createCommentVNode("v-if", true), + createElementVNode("div", null, toDisplayString(unref(leftLabel)), 1) + ], 2), + createVNode(MonthTable, { + "selection-mode": "range", + date: leftDate.value, + "min-date": unref(minDate), + "max-date": unref(maxDate), + "range-state": unref(rangeState), + "disabled-date": unref(disabledDate2), + onChangerange: unref(handleChangeRange), + onPick: handleRangePick, + onSelect: unref(onSelect) + }, null, 8, ["date", "min-date", "max-date", "range-state", "disabled-date", "onChangerange", "onSelect"]) + ], 2), + createElementVNode("div", { + class: normalizeClass([[unref(ppNs).e("content"), unref(drpNs).e("content")], "is-right"]) + }, [ + createElementVNode("div", { + class: normalizeClass(unref(drpNs).e("header")) + }, [ + _ctx.unlinkPanels ? (openBlock(), createElementBlock("button", { + key: 0, + type: "button", + disabled: !unref(enableYearArrow), + class: normalizeClass([[unref(ppNs).e("icon-btn"), { "is-disabled": !unref(enableYearArrow) }], "d-arrow-left"]), + onClick: _cache[2] || (_cache[2] = (...args) => unref(rightPrevYear) && unref(rightPrevYear)(...args)) + }, [ + createVNode(unref(ElIcon), null, { + default: withCtx(() => [ + createVNode(unref(d_arrow_left_default)) + ]), + _: 1 + }) + ], 10, _hoisted_3)) : createCommentVNode("v-if", true), + createElementVNode("button", { + type: "button", + class: normalizeClass([unref(ppNs).e("icon-btn"), "d-arrow-right"]), + onClick: _cache[3] || (_cache[3] = (...args) => unref(rightNextYear) && unref(rightNextYear)(...args)) + }, [ + createVNode(unref(ElIcon), null, { + default: withCtx(() => [ + createVNode(unref(d_arrow_right_default)) + ]), + _: 1 + }) + ], 2), + createElementVNode("div", null, toDisplayString(unref(rightLabel)), 1) + ], 2), + createVNode(MonthTable, { + "selection-mode": "range", + date: rightDate.value, + "min-date": unref(minDate), + "max-date": unref(maxDate), + "range-state": unref(rangeState), + "disabled-date": unref(disabledDate2), + onChangerange: unref(handleChangeRange), + onPick: handleRangePick, + onSelect: unref(onSelect) + }, null, 8, ["date", "min-date", "max-date", "range-state", "disabled-date", "onChangerange", "onSelect"]) + ], 2) + ], 2) + ], 2) + ], 2); + }; + } +}); +var MonthRangePickPanel = /* @__PURE__ */ _export_sfc$1(_sfc_main$1, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/date-picker/src/date-picker-com/panel-month-range.vue"]]); +const getPanel = function(type) { + switch (type) { + case "daterange": + case "datetimerange": { + return DateRangePickPanel; + } + case "monthrange": { + return MonthRangePickPanel; + } + default: { + return DatePickPanel; + } + } +}; +dayjs.extend(localeData); +dayjs.extend(advancedFormat); +dayjs.extend(customParseFormat); +dayjs.extend(weekOfYear); +dayjs.extend(weekYear); +dayjs.extend(dayOfYear); +dayjs.extend(isSameOrAfter); +dayjs.extend(isSameOrBefore); +var DatePicker = defineComponent({ + name: "ElDatePicker", + install: null, + props: datePickerProps, + emits: ["update:modelValue"], + setup(props, { + expose, + emit, + slots + }) { + const ns = useNamespace("picker-panel"); + provide("ElPopperOptions", reactive(toRef(props, "popperOptions"))); + provide(ROOT_PICKER_INJECTION_KEY, { + slots, + pickerNs: ns + }); + const commonPicker = ref(); + const refProps = { + focus: (focusStartInput = true) => { + var _a; + (_a = commonPicker.value) == null ? void 0 : _a.focus(focusStartInput); + }, + handleOpen: () => { + var _a; + (_a = commonPicker.value) == null ? void 0 : _a.handleOpen(); + }, + handleClose: () => { + var _a; + (_a = commonPicker.value) == null ? void 0 : _a.handleClose(); + } + }; + expose(refProps); + const onModelValueUpdated = (val) => { + emit("update:modelValue", val); + }; + return () => { + var _a; + const format = (_a = props.format) != null ? _a : DEFAULT_FORMATS_DATEPICKER[props.type] || DEFAULT_FORMATS_DATE; + const Component = getPanel(props.type); + return createVNode(CommonPicker, mergeProps(props, { + "format": format, + "type": props.type, + "ref": commonPicker, + "onUpdate:modelValue": onModelValueUpdated + }), { + default: (scopedProps) => createVNode(Component, scopedProps, null), + "range-separator": slots["range-separator"] + }); + }; + } +}); +const _DatePicker = DatePicker; +_DatePicker.install = (app) => { + app.component(_DatePicker.name, _DatePicker); +}; +const ElDatePicker = _DatePicker; +const _imports_0 = "data:image/png;base64,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"; +const _imports_2 = "" + buildAssetsURL("arrow-black.9629aa90.svg"); +const _imports_3 = "" + buildAssetsURL("calendar-icon.dc8f3cea.svg"); +const _imports_4 = "" + buildAssetsURL("frame-no.28983b22.svg"); +const _imports_5 = "" + buildAssetsURL("frame-pitch.02620f32.svg"); +/*! Element Plus v2.4.3 */ +var zhCn = { + name: "zh-cn", + el: { + colorpicker: { + confirm: "\u786E\u5B9A", + clear: "\u6E05\u7A7A" + }, + datepicker: { + now: "\u6B64\u523B", + today: "\u4ECA\u5929", + cancel: "\u53D6\u6D88", + clear: "\u6E05\u7A7A", + confirm: "\u786E\u5B9A", + selectDate: "\u9009\u62E9\u65E5\u671F", + selectTime: "\u9009\u62E9\u65F6\u95F4", + startDate: "\u5F00\u59CB\u65E5\u671F", + startTime: "\u5F00\u59CB\u65F6\u95F4", + endDate: "\u7ED3\u675F\u65E5\u671F", + endTime: "\u7ED3\u675F\u65F6\u95F4", + prevYear: "\u524D\u4E00\u5E74", + nextYear: "\u540E\u4E00\u5E74", + prevMonth: "\u4E0A\u4E2A\u6708", + nextMonth: "\u4E0B\u4E2A\u6708", + year: "\u5E74", + month1: "1 \u6708", + month2: "2 \u6708", + month3: "3 \u6708", + month4: "4 \u6708", + month5: "5 \u6708", + month6: "6 \u6708", + month7: "7 \u6708", + month8: "8 \u6708", + month9: "9 \u6708", + month10: "10 \u6708", + month11: "11 \u6708", + month12: "12 \u6708", + weeks: { + sun: "\u65E5", + mon: "\u4E00", + tue: "\u4E8C", + wed: "\u4E09", + thu: "\u56DB", + fri: "\u4E94", + sat: "\u516D" + }, + months: { + jan: "\u4E00\u6708", + feb: "\u4E8C\u6708", + mar: "\u4E09\u6708", + apr: "\u56DB\u6708", + may: "\u4E94\u6708", + jun: "\u516D\u6708", + jul: "\u4E03\u6708", + aug: "\u516B\u6708", + sep: "\u4E5D\u6708", + oct: "\u5341\u6708", + nov: "\u5341\u4E00\u6708", + dec: "\u5341\u4E8C\u6708" + } + }, + select: { + loading: "\u52A0\u8F7D\u4E2D", + noMatch: "\u65E0\u5339\u914D\u6570\u636E", + noData: "\u65E0\u6570\u636E", + placeholder: "\u8BF7\u9009\u62E9" + }, + cascader: { + noMatch: "\u65E0\u5339\u914D\u6570\u636E", + loading: "\u52A0\u8F7D\u4E2D", + placeholder: "\u8BF7\u9009\u62E9", + noData: "\u6682\u65E0\u6570\u636E" + }, + pagination: { + goto: "\u524D\u5F80", + pagesize: "\u6761/\u9875", + total: "\u5171 {total} \u6761", + pageClassifier: "\u9875", + page: "\u9875", + prev: "\u4E0A\u4E00\u9875", + next: "\u4E0B\u4E00\u9875", + currentPage: "\u7B2C {pager} \u9875", + prevPages: "\u5411\u524D {pager} \u9875", + nextPages: "\u5411\u540E {pager} \u9875", + deprecationWarning: "\u4F60\u4F7F\u7528\u4E86\u4E00\u4E9B\u5DF2\u88AB\u5E9F\u5F03\u7684\u7528\u6CD5\uFF0C\u8BF7\u53C2\u8003 el-pagination \u7684\u5B98\u65B9\u6587\u6863" + }, + messagebox: { + title: "\u63D0\u793A", + confirm: "\u786E\u5B9A", + cancel: "\u53D6\u6D88", + error: "\u8F93\u5165\u7684\u6570\u636E\u4E0D\u5408\u6CD5!" + }, + upload: { + deleteTip: "\u6309 delete \u952E\u53EF\u5220\u9664", + delete: "\u5220\u9664", + preview: "\u67E5\u770B\u56FE\u7247", + continue: "\u7EE7\u7EED\u4E0A\u4F20" + }, + table: { + emptyText: "\u6682\u65E0\u6570\u636E", + confirmFilter: "\u7B5B\u9009", + resetFilter: "\u91CD\u7F6E", + clearFilter: "\u5168\u90E8", + sumText: "\u5408\u8BA1" + }, + tree: { + emptyText: "\u6682\u65E0\u6570\u636E" + }, + transfer: { + noMatch: "\u65E0\u5339\u914D\u6570\u636E", + noData: "\u65E0\u6570\u636E", + titles: ["\u5217\u8868 1", "\u5217\u8868 2"], + filterPlaceholder: "\u8BF7\u8F93\u5165\u641C\u7D22\u5185\u5BB9", + noCheckedFormat: "\u5171 {total} \u9879", + hasCheckedFormat: "\u5DF2\u9009 {checked}/{total} \u9879" + }, + image: { + error: "\u52A0\u8F7D\u5931\u8D25" + }, + pageHeader: { + title: "\u8FD4\u56DE" + }, + popconfirm: { + confirmButtonText: "\u786E\u5B9A", + cancelButtonText: "\u53D6\u6D88" + } + } +}; +const _sfc_main = { + __name: "index", + __ssrInlineRender: true, + setup(__props) { + useRouter(); + useHead({ script: [{ src: "https://app.gter.net/bottom?tpl=header&menukey=mj" }, { src: "https://app.gter.net/bottom?tpl=footer", body: true }] }); + const setDisabled = (time) => { + return time.getTime() > Date.now(); + }; + ref(""); + let info = ref({ + school: "", + // 学校 + profession: "", + // 专业 + project: "", + // 项目时间 + interviewtime: "", + // 面试时间 + subject: "", + //标题 + isvisiblereply: 0, + // 回复点赞可见 + message: "", + // 过程 + anonymous: 0 + // 匿名状态 + }); + const querySchoolSearch = (queryString, cb) => { + publishSchoolSearchHttp({ keyword: queryString }).then((res) => { + if (res.code != 200) + return; + let data = res.data || []; + let isRepetition = false; + data.forEach((element) => { + element["value"] = element["checkname"]; + if (element["name"] == queryString) + isRepetition = true; + }); + if (!isRepetition) { + data.unshift({ + value: queryString + }); + } + cb(data); + }); + }; + const handleSchoolSelect = (item) => info.value["schoolid"] = item["id"] || 0; + const queryMajorSearch = (queryString, cb) => { + publishProfessionSearchHttp({ keyword: queryString }).then((res) => { + if (res.code != 200) + return; + let data = res.data || []; + let isRepetition = false; + data.forEach((element) => { + element["value"] = element["name"]; + if (element["name"] == queryString) + isRepetition = true; + }); + if (!isRepetition) { + data.unshift({ + value: queryString + }); + } + cb(data); + }); + }; + const handleMajorSelect = (item) => info.value["profession_id"] = item["id"] || 0; + return (_ctx, _push, _parent, _attrs) => { + const _component_Head = Head; + const _component_Title = Title; + const _component_Meta = Meta; + const _component_el_autocomplete = ElAutocomplete; + const _component_el_input = ElInput; + const _component_el_config_provider = ElConfigProvider; + const _component_el_date_picker = ElDatePicker; + _push(``); + _push(ssrRenderComponent(_component_Head, null, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(ssrRenderComponent(_component_Title, null, { + default: withCtx((_2, _push3, _parent3, _scopeId2) => { + if (_push3) { + _push3(`\u5BC4\u6258\u5929\u4E0B - \u9762\u7ECF\u53D1\u5E03`); + } else { + return [ + createTextVNode("\u5BC4\u6258\u5929\u4E0B - \u9762\u7ECF\u53D1\u5E03") + ]; + } + }), + _: 1 + }, _parent2, _scopeId)); + _push2(ssrRenderComponent(_component_Meta, { + name: "keyword", + content: "\u7559\u5B66\u8D44\u8BAF\uFF0C\u7559\u5B66\u4EA4\u6D41\u8BBA\u575B\uFF0C\u7559\u5B66\u9762\u7ECF\uFF0C\u9762\u8BD5\u7ECF\u9A8C\uFF0C\u5BC4\u6258\u5929\u4E0B" + }, null, _parent2, _scopeId)); + } else { + return [ + createVNode(_component_Title, null, { + default: withCtx(() => [ + createTextVNode("\u5BC4\u6258\u5929\u4E0B - \u9762\u7ECF\u53D1\u5E03") + ]), + _: 1 + }), + createVNode(_component_Meta, { + name: "keyword", + content: "\u7559\u5B66\u8D44\u8BAF\uFF0C\u7559\u5B66\u4EA4\u6D41\u8BBA\u575B\uFF0C\u7559\u5B66\u9762\u7ECF\uFF0C\u9762\u8BD5\u7ECF\u9A8C\uFF0C\u5BC4\u6258\u5929\u4E0B" + }) + ]; + } + }), + _: 1 + }, _parent)); + _push(`
\u4FDD\u5B58\u5E76\u9000\u51FA
\u653E\u5F03\u4FDD\u5B58
\u53D1\u5E03\u9762\u7ECF
\u7533\u8BF7\u4FE1\u606F
*
\u9662\u6821
`); + _push(ssrRenderComponent(_component_el_autocomplete, { + debounce: "", + modelValue: unref(info).school, + "onUpdate:modelValue": ($event) => unref(info).school = $event, + "fetch-suggestions": querySchoolSearch, + clearable: "", + class: "inline-input w-50", + placeholder: "\u8F93\u5165\u5173\u952E\u8BCD\uFF0C\u9009\u62E9\u9662\u6821", + onSelect: handleSchoolSelect, + "trigger-on-focus": false + }, { + suffix: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(``); + } else { + return [ + createVNode("img", { + class: "", + src: _imports_2 + }) + ]; + } + }), + _: 1 + }, _parent)); + _push(`
\u4E13\u4E1A
`); + _push(ssrRenderComponent(_component_el_autocomplete, { + modelValue: unref(info).profession, + "onUpdate:modelValue": ($event) => unref(info).profession = $event, + "fetch-suggestions": queryMajorSearch, + clearable: "", + class: "inline-input w-50", + placeholder: "\u8F93\u5165\u5173\u952E\u8BCD\uFF0C\u9009\u62E9\u4E13\u4E1A", + onSelect: handleMajorSelect, + "trigger-on-focus": false + }, { + suffix: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(``); + } else { + return [ + createVNode("img", { + class: "", + src: _imports_2 + }) + ]; + } + }), + _: 1 + }, _parent)); + _push(`
\u9879\u76EE
`); + _push(ssrRenderComponent(_component_el_input, { + class: "flex1 input", + placeholder: "\u8BF7\u8F93\u5165", + modelValue: unref(info).project, + "onUpdate:modelValue": ($event) => unref(info).project = $event + }, null, _parent)); + _push(`
\u9762\u8BD5\u65F6\u95F4
*
`); + _push(ssrRenderComponent(_component_el_config_provider, { locale: unref(zhCn) }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(ssrRenderComponent(_component_el_date_picker, { + modelValue: unref(info).interviewtime, + "onUpdate:modelValue": ($event) => unref(info).interviewtime = $event, + type: "date", + placeholder: "\u8BF7\u9009\u62E9", + size: "large", + class: "flex1 flexacenter", + "clear-icon": {}, + "value-format": "YYYY-MM-DD", + "disabled-date": setDisabled + }, null, _parent2, _scopeId)); + } else { + return [ + createVNode(_component_el_date_picker, { + modelValue: unref(info).interviewtime, + "onUpdate:modelValue": ($event) => unref(info).interviewtime = $event, + type: "date", + placeholder: "\u8BF7\u9009\u62E9", + size: "large", + class: "flex1 flexacenter", + "clear-icon": {}, + "value-format": "YYYY-MM-DD", + "disabled-date": setDisabled + }, null, 8, ["modelValue", "onUpdate:modelValue"]) + ]; + } + }), + _: 1 + }, _parent)); + _push(`
\u9762\u7ECF\u5E16\u6807\u9898
*
`); + _push(ssrRenderComponent(_component_el_input, { + modelValue: unref(info).subject, + "onUpdate:modelValue": ($event) => unref(info).subject = $event, + placeholder: "\u7ED9\u4F60\u7684\u9762\u7ECF\u5E16\u8D77\u4E00\u4E2A\u5438\u5F15\u7684\u6807\u9898\u5427" + }, null, _parent)); + _push(`
`); + if (unref(info).isvisiblereply == 0) { + _push(``); + } else { + _push(``); + } + _push(` \u56DE\u590D/\u70B9\u8D5E\u53EF\u89C1
\u9762\u8BD5\u6784\u6210\u53CA\u8FC7\u7A0B
*
`); + _push(ssrRenderComponent(_component_el_input, { + modelValue: unref(info).message, + "onUpdate:modelValue": ($event) => unref(info).message = $event, + type: "textarea", + autosize: "", + placeholder: "\u4F8B\u5982\uFF1A\u9879\u76EE\u4ECB\u7ECD\u3001\u9762\u8BD5\u65F6\u957F\u3001\u9762\u8BD5\u5B98\u3001\u95EE\u9898QA\u3001\u9700\u8981\u6CE8\u610F\u7684\u5730\u65B9" + }, null, _parent)); + _push(`
\u6CE8\uFF1A\u8BF7\u786E\u4FDD\u4EE5\u4E0A\u5185\u5BB9\u5DF2\u6B63\u786E\u586B\u5199\uFF0C\u53D1\u5E03\u540E\u5C06\u4E0D\u80FD\u4FEE\u6539
`); + if (unref(info).anonymous == 0) { + _push(``); + } else { + _push(``); + } + _push(` \u533F\u540D\u53D1\u8868
\uFF08\u53D1\u5E03\u540E\u53EF\u4FEE\u6539\uFF09
\u53D1\u5E03
`); + }; + } +}; +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/publish/index.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7cd5a437"]]); + +export { index as default }; +//# sourceMappingURL=index-4bf365d6.mjs.map diff --git a/.output/server/chunks/app/_nuxt/index-4bf365d6.mjs.map b/.output/server/chunks/app/_nuxt/index-4bf365d6.mjs.map new file mode 100644 index 0000000..cf7a24d --- /dev/null +++ b/.output/server/chunks/app/_nuxt/index-4bf365d6.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"index-4bf365d6.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/index-4bf365d6.js"],"sourcesContent":null,"names":["__buildAssetsURL"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,MAAA,YAAA,MAAA,QAAA,IAAA,WAAA,IAAA,CAAA,MAAA,CAAA,UAAA,SAAA,CAAA,CAAA;AACA,MAAA,aAAA,GAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA;AAAA,EACA,eAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAA;AACA,CAAA,CAAA;AACA,MAAA,SAAA,GAAA,CAAA,GAAA,KAAA;AACA,EAAA,IAAA,CAAA,OAAA,GAAA,KAAA,CAAA;AACA,IAAA,OAAA,EAAA,CAAA;AACA,EAAA,OAAA,MAAA,OAAA,CAAA,GAAA,CAAA,GAAA,GAAA,GAAA,CAAA,GAAA,CAAA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,QAAA,GAAA,CAAA,IAAA,KAAA,mCAAA,CAAA,KAAA,IAAA,CAAA,CAAA;AACA,MAAA,aAAA,MAAA,IAAA,CAAA,MAAA,IAAA,CAAA,MAAA,KAAA,GAAA,CAAA,CAAA;AACA,MAAA,oBAAA,GAAA,CAAA,OAAA,EAAA,OAAA,CAAA,CAAA;AACA,MAAA,eAAA,GAAA,UAAA,CAAA;AACA,MAAA,QAAA,GAAA,CAAA,MAAA,GAAA,EAAA,KAAA;AACA,EAAA,MAAA,EAAA,gBAAA,GAAA,KAAA,EAAA,WAAA,EAAA,GAAA,MAAA,CAAA;AACA,EAAA,MAAA,cAAA,GAAA,SAAA,MAAA;AACA,IAAA,OAAA,CAAA,CAAA,WAAA,IAAA,OAAA,KAAA,CAAA,GAAA,WAAA,CAAA,UAAA,EAAA,EAAA,OAAA,oBAAA,CAAA,CAAA;AAAA,GACA,CAAA,CAAA;AACA,EAAA,MAAA,WAAA,kBAAA,EAAA,CAAA;AACA,EAAA,IAAA,CAAA,QAAA,EAAA;AAEA,IAAA,OAAA,QAAA,CAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AAAA,GACA;AACA,EAAA,OAAA,SAAA,MAAA;AACA,IAAA,IAAA,EAAA,CAAA;AACA,IAAA,OAAA,SAAA,CAAA,MAAA,CAAA,OAAA,CAAA,CAAA,EAAA,GAAA,QAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,KAAA,CAAA,cAAA,CAAA,KAAA,CAAA,QAAA,CAAA,GAAA,CAAA,IAAA,EAAA,gBAAA,IAAA,eAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GACA,CAAA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,OAAA,GAAA,CAAA,IAAA,KAAA;AACA,EAAA,MAAA,KAAA,kBAAA,EAAA,CAAA;AACA,EAAA,OAAA,SAAA,MAAA;AACA,IAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AACA,IAAA,OAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,EAAA,IAAA,IAAA,GAAA,SAAA,EAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,IAAA,CAAA,CAAA;AAAA,GACA,CAAA,CAAA;AACA,CAAA,CAAA;AACA,SAAA,UAAA,KAAA,EAAA;AACA,EAAA,MAAA,eAAA,GAAA,EAAA,CAAA;AACA,EAAA,SAAA,YAAA,GAAA;AACA,IAAA,IAAA,MAAA,KAAA,IAAA,KAAA,CAAA;AACA,MAAA,OAAA;AACA,IAAA,MAAA,EAAA,cAAA,EAAA,YAAA,EAAA,KAAA,KAAA,KAAA,CAAA,KAAA,CAAA;AACA,IAAA,IAAA,cAAA,IAAA,QAAA,YAAA,IAAA,IAAA;AACA,MAAA,OAAA;AACA,IAAA,MAAA,SAAA,GAAA,MAAA,KAAA,CAAA,CAAA,EAAA,KAAA,GAAA,CAAA,CAAA,EAAA,cAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,KAAA,CAAA,KAAA,CAAA,KAAA,GAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA,CAAA;AACA,IAAA,YAAA,CAAA,KAAA,GAAA;AAAA,MACA,cAAA;AAAA,MACA,YAAA;AAAA,MACA,KAAA;AAAA,MACA,SAAA;AAAA,MACA,QAAA;AAAA,KACA,CAAA;AAAA,GACA;AACA,EAAA,SAAA,SAAA,GAAA;AACA,IAAA,IAAA,KAAA,CAAA,KAAA,IAAA,KAAA,CAAA,IAAA,YAAA,CAAA,KAAA,IAAA,KAAA,CAAA;AACA,MAAA,OAAA;AACA,IAAA,MAAA,EAAA,KAAA,EAAA,GAAA,KAAA,CAAA,KAAA,CAAA;AACA,IAAA,MAAA,EAAA,SAAA,EAAA,QAAA,EAAA,cAAA,KAAA,YAAA,CAAA,KAAA,CAAA;AACA,IAAA,IAAA,SAAA,IAAA,KAAA,CAAA,IAAA,QAAA,IAAA,KAAA,CAAA,IAAA,cAAA,IAAA,KAAA,CAAA;AACA,MAAA,OAAA;AACA,IAAA,IAAA,WAAA,KAAA,CAAA,MAAA,CAAA;AACA,IAAA,IAAA,KAAA,CAAA,QAAA,CAAA,QAAA,CAAA,EAAA;AACA,MAAA,QAAA,GAAA,KAAA,CAAA,SAAA,QAAA,CAAA,MAAA,CAAA;AAAA,KACA,MAAA,IAAA,KAAA,CAAA,UAAA,CAAA,SAAA,CAAA,EAAA;AACA,MAAA,QAAA,GAAA,SAAA,CAAA,MAAA,CAAA;AAAA,KACA,MAAA;AACA,MAAA,MAAA,cAAA,GAAA,SAAA,CAAA,cAAA,GAAA,CAAA,CAAA,CAAA;AACA,MAAA,MAAA,QAAA,GAAA,KAAA,CAAA,OAAA,CAAA,cAAA,EAAA,iBAAA,CAAA,CAAA,CAAA;AACA,MAAA,IAAA,aAAA,CAAA,CAAA,EAAA;AACA,QAAA,QAAA,GAAA,QAAA,GAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA;AACA,IAAA,KAAA,CAAA,KAAA,CAAA,iBAAA,CAAA,QAAA,EAAA,QAAA,CAAA,CAAA;AAAA,GACA;AACA,EAAA,OAAA,CAAA,cAAA,SAAA,CAAA,CAAA;AACA,CAAA;AACA,SAAA,kBAAA,CAAA,QAAA,EAAA,UAAA,EAAA,YAAA,SAAA,EAAA,GAAA,EAAA,EAAA;AACA,EAAA,MAAA,WAAA,kBAAA,EAAA,CAAA;AACA,EAAA,MAAA,EAAA,MAAA,GAAA,QAAA,CAAA;AACA,EAAA,MAAA,aAAA,UAAA,EAAA,CAAA;AACA,EAAA,MAAA,SAAA,GAAA,IAAA,KAAA,CAAA,CAAA;AACA,EAAA,MAAA,WAAA,GAAA,CAAA,KAAA,KAAA;AACA,IAAA,IAAA,SAAA,CAAA,KAAA;AACA,MAAA,OAAA;AACA,IAAA,SAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AACA,IAAA,IAAA,CAAA,SAAA,KAAA,CAAA,CAAA;AACA,IAAA,UAAA,IAAA,IAAA,GAAA,SAAA,UAAA,EAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,UAAA,GAAA,CAAA,KAAA,KAAA;AACA,IAAA,IAAA,EAAA,CAAA;AACA,IAAA,MAAA,aAAA,UAAA,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA,KAAA,CAAA,GAAA,KAAA,CAAA;AACA,IAAA,IAAA,UAAA,IAAA,KAAA,CAAA,aAAA,KAAA,CAAA,EAAA,GAAA,UAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAA,CAAA,KAAA,CAAA,aAAA,CAAA,CAAA;AACA,MAAA,OAAA;AACA,IAAA,SAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACA,IAAA,IAAA,CAAA,QAAA,KAAA,CAAA,CAAA;AACA,IAAA,SAAA,IAAA,IAAA,GAAA,SAAA,SAAA,EAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,cAAA,MAAA;AACA,IAAA,IAAA,EAAA,CAAA;AACA,IAAA,CAAA,KAAA,MAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,KAAA,EAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,KAAA,CAAA,UAAA,EAAA,CAAA,EAAA,KAAA;AACA,IAAA,IAAA,EAAA,EAAA;AACA,MAAA,EAAA,CAAA,YAAA,CAAA,YAAA,IAAA,CAAA,CAAA;AAAA,KACA;AAAA,GACA,CAAA,CAAA;AACA,EAAA,gBAAA,CAAA,UAAA,EAAA,SAAA,WAAA,CAAA,CAAA;AACA,EAAA,OAAA;AAAA,IACA,UAAA;AAAA,IACA,SAAA;AAAA,IACA,WAAA;AAAA,IACA,UAAA;AAAA,GACA,CAAA;AACA,CAAA;AACA,MAAA,gBAAA,GAAA,YAAA,cAAA,CAAA,CAAA;AACA,MAAA,WAAA,GAAA,CAAA,QAAA,EAAA,MAAA,GAAA,EAAA,KAAA;AACA,EAAA,MAAA,QAAA,GAAA,IAAA,KAAA,CAAA,CAAA,CAAA;AACA,EAAA,MAAA,IAAA,GAAA,MAAA,CAAA,IAAA,GAAA,QAAA,GAAA,QAAA,MAAA,CAAA,CAAA;AACA,EAAA,MAAA,YAAA,GAAA,MAAA,CAAA,MAAA,GAAA,QAAA,GAAA,aAAA,EAAA,CAAA;AACA,EAAA,MAAA,IAAA,GAAA,OAAA,IAAA,GAAA,EAAA,MAAA,KAAA,CAAA,EAAA,GAAA,MAAA,CAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACA,EAAA,MAAA,QAAA,GAAA,OAAA,QAAA,GAAA,EAAA,MAAA,KAAA,CAAA,EAAA,GAAA,MAAA,CAAA,kBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACA,EAAA,OAAA,SAAA,MAAA,IAAA,CAAA,SAAA,KAAA,CAAA,QAAA,MAAA,QAAA,IAAA,IAAA,GAAA,SAAA,QAAA,CAAA,IAAA,CAAA,KAAA,QAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,IAAA,CAAA,IAAA,YAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,eAAA,GAAA,CAAA,QAAA,KAAA;AACA,EAAA,MAAA,QAAA,GAAA,QAAA,UAAA,CAAA,CAAA;AACA,EAAA,MAAA,IAAA,GAAA,MAAA,CAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACA,EAAA,OAAA,QAAA,CAAA,MAAA,QAAA,CAAA,KAAA,IAAA,KAAA,CAAA,QAAA,CAAA,KAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,QAAA,CAAA,IAAA,KAAA,CAAA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,cAAA,MAAA;AACA,EAAA,MAAA,IAAA,GAAA,MAAA,CAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACA,EAAA,MAAA,QAAA,GAAA,MAAA,CAAA,kBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACA,EAAA,OAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAA;AAAA,GACA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,kBAAA,GAAA,CAAA,KAAA,EAAA;AAAA,EACA,eAAA;AAAA,EACA,mBAAA;AAAA,EACA,mBAAA;AACA,CAAA,KAAA;AACA,EAAA,IAAA,CAAA,mBAAA,EAAA;AACA,IAAA,mBAAA,GAAA,IAAA,KAAA,CAAA,CAAA;AAAA,GACA;AACA,EAAA,IAAA,CAAA,mBAAA,EAAA;AACA,IAAA,mBAAA,GAAA,IAAA,KAAA,CAAA,CAAA;AAAA,GACA;AACA,EAAA,MAAA,UAAA,GAAA,EAAA,CAAA;AACA,EAAA,MAAA,mBAAA,GAAA,SAAA,MAAA;AACA,IAAA,IAAA,EAAA,CAAA;AACA,IAAA,OAAA,CAAA,EAAA,CAAA,KAAA,CAAA,SAAA,eAAA,IAAA,eAAA,CAAA,QAAA,IAAA,CAAA,CAAA,EAAA,GAAA,eAAA,CAAA,QAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,MAAA,KAAA,CAAA,CAAA,CAAA;AAAA,GACA,CAAA,CAAA;AACA,EAAA,WAAA,CAAA,MAAA;AACA,IAAA,IAAA,eAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAA,aAAA,EAAA;AACA,MAAA,OAAA,CAAA,KAAA,IAAA,eAAA,CAAA,aAAA,CAAA,OAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KACA;AAAA,GACA,CAAA,CAAA;AACA,EAAA,OAAA;AAAA,IACA,mBAAA;AAAA,IACA,OAAA;AAAA,GACA,CAAA;AACA,CAAA,CAAA;AACA,IAAA,cAAA,GAAA,KAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA;AAAA;AAAA;AAAA,EAGA,EAAA,SAAA,EAAA,GAAA,EAAA,GAAA,6BAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAMA,MAAA,aAAA,GAAA;AAAA,EACA,gBAAA;AAAA,EACA,aAAA;AAAA,EACA,aAAA;AAAA,EACA,gBAAA;AAAA,EACA,aAAA;AAAA,EACA,aAAA;AAAA,EACA,WAAA;AAAA,EACA,gBAAA;AAAA,EACA,gBAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA,eAAA;AAAA,EACA,cAAA;AAAA,EACA,YAAA;AACA,CAAA,CAAA;AACA,SAAA,qBAAA,aAAA,EAAA;AACA,EAAA,MAAA,KAAA,GAAA,MAAA,CAAA,gBAAA,CAAA,aAAA,CAAA,CAAA;AACA,EAAA,MAAA,SAAA,GAAA,KAAA,CAAA,gBAAA,CAAA,YAAA,CAAA,CAAA;AACA,EAAA,MAAA,WAAA,GAAA,MAAA,CAAA,UAAA,CAAA,KAAA,CAAA,gBAAA,CAAA,gBAAA,CAAA,CAAA,GAAA,MAAA,CAAA,UAAA,CAAA,KAAA,CAAA,gBAAA,CAAA,aAAA,CAAA,CAAA,CAAA;AACA,EAAA,MAAA,UAAA,GAAA,MAAA,CAAA,UAAA,CAAA,KAAA,CAAA,gBAAA,CAAA,qBAAA,CAAA,CAAA,GAAA,MAAA,CAAA,UAAA,CAAA,KAAA,CAAA,gBAAA,CAAA,kBAAA,CAAA,CAAA,CAAA;AACA,EAAA,MAAA,YAAA,GAAA,aAAA,CAAA,GAAA,CAAA,CAAA,SAAA,CAAA,EAAA,IAAA,CAAA,CAAA,EAAA,KAAA,CAAA,iBAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,GAAA,CAAA,CAAA;AACA,EAAA,OAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,EAAA,SAAA,EAAA,CAAA;AACA,CAAA;AACA,SAAA,kBAAA,CAAA,aAAA,EAAA,OAAA,GAAA,CAAA,EAAA,OAAA,EAAA;AACA,EAAA,IAAA,EAAA,CAAA;AACA,EAAA,IAAA,CAAA,cAAA,EAAA;AACA,IAAA,cAAA,GAAA,QAAA,CAAA,cAAA,UAAA,CAAA,CAAA;AACA,IAAA,QAAA,CAAA,IAAA,CAAA,YAAA,cAAA,CAAA,CAAA;AAAA,GACA;AACA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,YAAA,EAAA,GAAA,qBAAA,aAAA,CAAA,CAAA;AACA,EAAA,cAAA,CAAA,aAAA,OAAA,EAAA,CAAA,EAAA,YAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA,CAAA,CAAA;AACA,EAAA,cAAA,CAAA,KAAA,GAAA,aAAA,CAAA,KAAA,IAAA,aAAA,CAAA,WAAA,IAAA,EAAA,CAAA;AACA,EAAA,IAAA,SAAA,cAAA,CAAA,YAAA,CAAA;AACA,EAAA,MAAA,SAAA,EAAA,CAAA;AACA,EAAA,IAAA,cAAA,YAAA,EAAA;AACA,IAAA,MAAA,GAAA,MAAA,GAAA,UAAA,CAAA;AAAA,GACA,MAAA,IAAA,cAAA,aAAA,EAAA;AACA,IAAA,MAAA,GAAA,MAAA,GAAA,WAAA,CAAA;AAAA,GACA;AACA,EAAA,cAAA,CAAA,KAAA,GAAA,EAAA,CAAA;AACA,EAAA,MAAA,eAAA,GAAA,eAAA,YAAA,GAAA,WAAA,CAAA;AACA,EAAA,IAAA,QAAA,CAAA,OAAA,CAAA,EAAA;AACA,IAAA,IAAA,YAAA,eAAA,GAAA,OAAA,CAAA;AACA,IAAA,IAAA,cAAA,YAAA,EAAA;AACA,MAAA,SAAA,GAAA,YAAA,WAAA,GAAA,UAAA,CAAA;AAAA,KACA;AACA,IAAA,MAAA,GAAA,IAAA,CAAA,GAAA,CAAA,SAAA,EAAA,MAAA,CAAA,CAAA;AACA,IAAA,MAAA,CAAA,SAAA,GAAA,GAAA,SAAA,CAAA,EAAA,CAAA,CAAA;AAAA,GACA;AACA,EAAA,IAAA,QAAA,CAAA,OAAA,CAAA,EAAA;AACA,IAAA,IAAA,YAAA,eAAA,GAAA,OAAA,CAAA;AACA,IAAA,IAAA,cAAA,YAAA,EAAA;AACA,MAAA,SAAA,GAAA,YAAA,WAAA,GAAA,UAAA,CAAA;AAAA,KACA;AACA,IAAA,MAAA,GAAA,IAAA,CAAA,GAAA,CAAA,SAAA,EAAA,MAAA,CAAA,CAAA;AAAA,GACA;AACA,EAAA,MAAA,CAAA,MAAA,GAAA,GAAA,MAAA,CAAA,EAAA,CAAA,CAAA;AACA,EAAA,CAAA,KAAA,cAAA,CAAA,UAAA,KAAA,OAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA,cAAA,CAAA,CAAA;AACA,EAAA,cAAA,GAAA,KAAA,CAAA,CAAA;AACA,EAAA,OAAA,MAAA,CAAA;AACA,CAAA;AACA,MAAA,aAAA,UAAA,CAAA;AAAA,EACA,EAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,OAAA,EAAA,KAAA,CAAA;AAAA,GACA;AAAA,EACA,IAAA,EAAA,WAAA;AAAA,EACA,QAAA,EAAA,OAAA;AAAA,EACA,UAAA,EAAA;AAAA,IACA,MAAA,cAAA,CAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,KACA,CAAA;AAAA,IACA,OAAA,EAAA,EAAA;AAAA,GACA;AAAA,EACA,IAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,OAAA,EAAA,MAAA;AAAA,GACA;AAAA,EACA,MAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,cAAA,UAAA,CAAA;AAAA,GACA;AAAA,EACA,QAAA,EAAA;AAAA,IACA,IAAA,EAAA,cAAA,CAAA,CAAA,OAAA,EAAA,MAAA,CAAA,CAAA;AAAA,IACA,OAAA,EAAA,KAAA;AAAA,GACA;AAAA,EACA,YAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,OAAA,EAAA,KAAA;AAAA,GACA;AAAA,EACA,SAAA,EAAA;AAAA,IACA,IAAA,EAAA,QAAA;AAAA,GACA;AAAA,EACA,MAAA,EAAA;AAAA,IACA,IAAA,EAAA,QAAA;AAAA,GACA;AAAA,EACA,WAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,GACA;AAAA,EACA,IAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,GACA;AAAA,EACA,QAAA,EAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,IACA,OAAA,EAAA,KAAA;AAAA,GACA;AAAA,EACA,SAAA,EAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,IACA,OAAA,EAAA,KAAA;AAAA,GACA;AAAA,EACA,YAAA,EAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,IACA,OAAA,EAAA,KAAA;AAAA,GACA;AAAA,EACA,aAAA,EAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,IACA,OAAA,EAAA,KAAA;AAAA,GACA;AAAA,EACA,UAAA,EAAA;AAAA,IACA,IAAA,EAAA,YAAA;AAAA,GACA;AAAA,EACA,UAAA,EAAA;AAAA,IACA,IAAA,EAAA,YAAA;AAAA,GACA;AAAA,EACA,aAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,OAAA,EAAA,KAAA,CAAA;AAAA,GACA;AAAA,EACA,KAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,OAAA,EAAA,KAAA,CAAA;AAAA,GACA;AAAA,EACA,QAAA,EAAA;AAAA,IACA,IAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA;AAAA,IACA,OAAA,EAAA,CAAA;AAAA,GACA;AAAA,EACA,aAAA,EAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,IACA,OAAA,EAAA,IAAA;AAAA,GACA;AAAA,EACA,UAAA,EAAA;AAAA,IACA,MAAA,cAAA,CAAA,CAAA,MAAA,EAAA,KAAA,EAAA,MAAA,CAAA,CAAA;AAAA,IACA,OAAA,EAAA,MAAA,OAAA,CAAA,EAAA,CAAA;AAAA,GACA;AAAA,EACA,SAAA,EAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,IACA,OAAA,EAAA,KAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,UAAA,GAAA;AAAA,EACA,CAAA,kBAAA,GAAA,CAAA,KAAA,KAAA,SAAA,KAAA,CAAA;AAAA,EACA,KAAA,EAAA,CAAA,KAAA,KAAA,QAAA,CAAA,KAAA,CAAA;AAAA,EACA,MAAA,EAAA,CAAA,KAAA,KAAA,QAAA,CAAA,KAAA,CAAA;AAAA,EACA,KAAA,EAAA,CAAA,GAAA,KAAA,GAAA,YAAA,UAAA;AAAA,EACA,IAAA,EAAA,CAAA,GAAA,KAAA,GAAA,YAAA,UAAA;AAAA,EACA,OAAA,MAAA,IAAA;AAAA,EACA,UAAA,EAAA,CAAA,GAAA,KAAA,GAAA,YAAA,UAAA;AAAA,EACA,UAAA,EAAA,CAAA,GAAA,KAAA,GAAA,YAAA,UAAA;AAAA,EACA,OAAA,EAAA,CAAA,GAAA,KAAA,GAAA,YAAA,KAAA;AAAA,EACA,gBAAA,EAAA,CAAA,GAAA,KAAA,GAAA,YAAA,gBAAA;AAAA,EACA,iBAAA,EAAA,CAAA,GAAA,KAAA,GAAA,YAAA,gBAAA;AAAA,EACA,cAAA,EAAA,CAAA,GAAA,KAAA,GAAA,YAAA,gBAAA;AACA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,MAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,QAAA,WAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,IAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,cAAA,EAAA,YAAA,EAAA,aAAA,EAAA,MAAA,EAAA,WAAA,CAAA,CAAA;AACA,MAAA,gBAAA,eAAA,CAAA;AAAA,EACA,IAAA,EAAA,SAAA;AAAA,EACA,YAAA,EAAA,KAAA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,8BAAA,eAAA,CAAA;AAAA,EACA,GAAA,aAAA;AAAA,EACA,KAAA,EAAA,UAAA;AAAA,EACA,KAAA,EAAA,UAAA;AAAA,EACA,KAAA,CAAA,OAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA;AACA,IAAA,MAAA,KAAA,GAAA,OAAA,CAAA;AACA,IAAA,MAAA,WAAA,UAAA,EAAA,CAAA;AACA,IAAA,MAAA,QAAA,QAAA,EAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,SAAA,MAAA;AACA,MAAA,MAAA,gBAAA,EAAA,CAAA;AACA,MAAA,IAAA,KAAA,CAAA,kBAAA,UAAA,EAAA;AACA,QAAA,aAAA,CAAA,eAAA,CAAA,GAAA,QAAA,CAAA,eAAA,CAAA,CAAA;AACA,QAAA,aAAA,CAAA,WAAA,CAAA,GAAA,QAAA,CAAA,WAAA,CAAA,CAAA;AACA,QAAA,aAAA,CAAA,eAAA,CAAA,GAAA,QAAA,CAAA,eAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,OAAA,aAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,SAAA,MAAA;AAAA,MACA,MAAA,IAAA,KAAA,UAAA,GAAA,WAAA,CAAA,EAAA,GAAA,QAAA,CAAA,EAAA;AAAA,MACA,OAAA,CAAA,CAAA,CAAA,SAAA,CAAA,KAAA,CAAA;AAAA,MACA,OAAA,CAAA,EAAA,CAAA,UAAA,EAAA,aAAA,CAAA,KAAA,CAAA;AAAA,MACA,OAAA,CAAA,EAAA,CAAA,QAAA,EAAA,WAAA,CAAA,KAAA,CAAA;AAAA,MACA;AAAA,QACA,CAAA,QAAA,CAAA,CAAA,OAAA,CAAA,GAAA,KAAA,CAAA,WAAA,KAAA,CAAA,MAAA;AAAA,QACA,CAAA,OAAA,CAAA,EAAA,CAAA,SAAA,QAAA,CAAA,GAAA,KAAA,CAAA,MAAA;AAAA,QACA,CAAA,OAAA,CAAA,EAAA,CAAA,SAAA,SAAA,CAAA,GAAA,KAAA,CAAA,OAAA;AAAA,QACA,CAAA,QAAA,CAAA,CAAA,QAAA,CAAA,GAAA,KAAA,CAAA,UAAA,KAAA,CAAA,UAAA;AAAA,QACA,CAAA,OAAA,CAAA,CAAA,CAAA,QAAA,CAAA,GAAA,KAAA,CAAA,MAAA,IAAA,KAAA,CAAA,UAAA,IAAA,KAAA,CAAA,SAAA,IAAA,KAAA,CAAA,YAAA;AAAA,QACA,CAAA,QAAA,EAAA,CAAA,QAAA,EAAA,gBAAA,CAAA,GAAA,SAAA,CAAA,KAAA,IAAA,cAAA,CAAA,KAAA;AAAA,OACA;AAAA,MACA,QAAA,CAAA,KAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,SAAA,MAAA;AAAA,MACA,OAAA,CAAA,EAAA,SAAA,CAAA;AAAA,MACA,OAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,KAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,QAAA,QAAA,CAAA;AAAA,MACA,WAAA,EAAA,SAAA,MAAA;AACA,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,cAAA,CAAA,KAAA,CAAA,CAAA;AAAA,OACA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,IAAA,EAAA,QAAA,EAAA,GAAA,WAAA,EAAA,CAAA;AACA,IAAA,MAAA,EAAA,OAAA,EAAA,GAAA,kBAAA,CAAA,KAAA,EAAA;AAAA,MACA,eAAA,EAAA,QAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,YAAA,WAAA,EAAA,CAAA;AACA,IAAA,MAAA,gBAAA,eAAA,EAAA,CAAA;AACA,IAAA,MAAA,OAAA,GAAA,aAAA,OAAA,CAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,aAAA,UAAA,CAAA,CAAA;AACA,IAAA,MAAA,QAAA,UAAA,EAAA,CAAA;AACA,IAAA,MAAA,WAAA,UAAA,EAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,IAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,IAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,IAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,UAAA,CAAA,KAAA,CAAA,UAAA,CAAA,CAAA;AACA,IAAA,MAAA,OAAA,QAAA,CAAA,MAAA,KAAA,CAAA,KAAA,IAAA,SAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,UAAA,EAAA,GAAA,mBAAA,IAAA,EAAA;AAAA,MACA,SAAA,GAAA;AACA,QAAA,IAAA,EAAA,CAAA;AACA,QAAA,IAAA,MAAA,aAAA,EAAA;AACA,UAAA,CAAA,KAAA,QAAA,IAAA,IAAA,GAAA,SAAA,QAAA,CAAA,QAAA,KAAA,OAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAA,MAAA,CAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAA,SACA;AAAA,OACA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,OAAA,CAAA,KAAA,IAAA,IAAA,IAAA,GAAA,SAAA,IAAA,CAAA,UAAA,KAAA,OAAA,EAAA,GAAA,KAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,SAAA,MAAA,CAAA,QAAA,IAAA,OAAA,KAAA,CAAA,GAAA,QAAA,CAAA,kBAAA,EAAA,CAAA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,SAAA,MAAA,aAAA,CAAA,SAAA,qBAAA,CAAA,aAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,eAAA,QAAA,CAAA,MAAA,eAAA,CAAA,KAAA,GAAA,eAAA,YAAA,CAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,SAAA,MAAA;AAAA,MACA,QAAA,CAAA,KAAA;AAAA,MACA,KAAA,CAAA,UAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,SAAA,MAAA;AAAA,MACA,KAAA,CAAA,UAAA;AAAA,MACA,iBAAA,CAAA,KAAA;AAAA,MACA,EAAA,MAAA,EAAA,KAAA,CAAA,MAAA,EAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,QAAA,CAAA,MAAA,KAAA,CAAA,KAAA,CAAA,UAAA,CAAA,GAAA,EAAA,GAAA,MAAA,CAAA,KAAA,CAAA,UAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,YAAA,QAAA,CAAA,MAAA,MAAA,SAAA,IAAA,CAAA,cAAA,KAAA,IAAA,CAAA,KAAA,CAAA,QAAA,IAAA,CAAA,CAAA,gBAAA,CAAA,UAAA,SAAA,CAAA,KAAA,IAAA,SAAA,KAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,SAAA,MAAA,KAAA,CAAA,gBAAA,CAAA,aAAA,CAAA,SAAA,CAAA,KAAA,CAAA,YAAA,CAAA,CAAA,iBAAA,KAAA,KAAA,CAAA,CAAA,gBAAA,CAAA,KAAA,IAAA,UAAA,KAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,kBAAA,GAAA,QAAA,CAAA,MAAA,KAAA,CAAA,aAAA,IAAA,CAAA,CAAA,KAAA,CAAA,KAAA,CAAA,SAAA,KAAA,KAAA,CAAA,IAAA,KAAA,UAAA,KAAA,CAAA,IAAA,KAAA,UAAA,CAAA,IAAA,CAAA,aAAA,CAAA,KAAA,IAAA,CAAA,KAAA,CAAA,QAAA,IAAA,CAAA,KAAA,CAAA,YAAA,CAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,QAAA,CAAA,MAAA,gBAAA,CAAA,MAAA,MAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,QAAA,CAAA,MAAA,CAAA,CAAA,kBAAA,CAAA,KAAA,IAAA,UAAA,CAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,KAAA,CAAA,SAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,SAAA,MAAA,CAAA,CAAA,KAAA,CAAA,MAAA,IAAA,CAAA,CAAA,KAAA,CAAA,UAAA,IAAA,UAAA,KAAA,IAAA,KAAA,CAAA,gBAAA,kBAAA,CAAA,KAAA,IAAA,CAAA,CAAA,aAAA,CAAA,KAAA,IAAA,cAAA,CAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,CAAA,YAAA,EAAA,SAAA,CAAA,GAAA,UAAA,KAAA,CAAA,CAAA;AACA,IAAA,iBAAA,CAAA,QAAA,EAAA,CAAA,OAAA,KAAA;AACA,MAAA,oBAAA,EAAA,CAAA;AACA,MAAA,IAAA,CAAA,kBAAA,CAAA,KAAA,IAAA,KAAA,CAAA,MAAA,KAAA,MAAA;AACA,QAAA,OAAA;AACA,MAAA,MAAA,KAAA,GAAA,QAAA,CAAA,CAAA,CAAA;AACA,MAAA,MAAA,EAAA,KAAA,EAAA,GAAA,KAAA,CAAA,WAAA,CAAA;AACA,MAAA,UAAA,CAAA,KAAA,GAAA;AAAA,QACA,KAAA,EAAA,CAAA,YAAA,EAAA,KAAA,GAAA,EAAA,GAAA,CAAA,CAAA,GAAA,CAAA;AAAA,OACA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,iBAAA,MAAA;AACA,MAAA,MAAA,EAAA,IAAA,EAAA,QAAA,EAAA,GAAA,KAAA,CAAA;AACA,MAAA,IAAA,CAAA,QAAA,IAAA,IAAA,KAAA,UAAA,IAAA,CAAA,QAAA,CAAA,KAAA;AACA,QAAA,OAAA;AACA,MAAA,IAAA,QAAA,EAAA;AACA,QAAA,MAAA,OAAA,GAAA,QAAA,CAAA,QAAA,CAAA,GAAA,SAAA,OAAA,GAAA,KAAA,CAAA,CAAA;AACA,QAAA,MAAA,OAAA,GAAA,QAAA,CAAA,QAAA,CAAA,GAAA,SAAA,OAAA,GAAA,KAAA,CAAA,CAAA;AACA,QAAA,MAAA,cAAA,GAAA,kBAAA,CAAA,QAAA,CAAA,KAAA,EAAA,SAAA,OAAA,CAAA,CAAA;AACA,QAAA,iBAAA,CAAA,KAAA,GAAA;AAAA,UACA,SAAA,EAAA,QAAA;AAAA,UACA,GAAA,cAAA;AAAA,SACA,CAAA;AACA,QAAA,QAAA,CAAA,MAAA;AACA,UAAA,QAAA,CAAA,KAAA,CAAA,YAAA,CAAA;AACA,UAAA,iBAAA,CAAA,KAAA,GAAA,cAAA,CAAA;AAAA,SACA,CAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,iBAAA,CAAA,KAAA,GAAA;AAAA,UACA,SAAA,EAAA,kBAAA,CAAA,QAAA,CAAA,KAAA,CAAA,CAAA,SAAA;AAAA,SACA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,oBAAA,GAAA,CAAA,eAAA,KAAA;AACA,MAAA,IAAA,MAAA,GAAA,KAAA,CAAA;AACA,MAAA,OAAA,MAAA;AACA,QAAA,IAAA,EAAA,CAAA;AACA,QAAA,IAAA,MAAA,IAAA,CAAA,KAAA,CAAA,QAAA;AACA,UAAA,OAAA;AACA,QAAA,MAAA,eAAA,EAAA,GAAA,QAAA,CAAA,UAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,YAAA,MAAA,IAAA,CAAA;AACA,QAAA,IAAA,CAAA,UAAA,EAAA;AACA,UAAA,eAAA,EAAA,CAAA;AACA,UAAA,MAAA,GAAA,IAAA,CAAA;AAAA,SACA;AAAA,OACA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,oBAAA,GAAA,qBAAA,cAAA,CAAA,CAAA;AACA,IAAA,MAAA,sBAAA,MAAA;AACA,MAAA,MAAA,SAAA,IAAA,CAAA,KAAA,CAAA;AACA,MAAA,MAAA,cAAA,GAAA,MAAA,SAAA,GAAA,KAAA,CAAA,UAAA,gBAAA,CAAA,KAAA,IAAA,gBAAA,CAAA,KAAA,CAAA;AACA,MAAA,IAAA,CAAA,MAAA,IAAA,MAAA,CAAA,KAAA,KAAA,cAAA;AACA,QAAA,OAAA;AACA,MAAA,MAAA,CAAA,KAAA,GAAA,cAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,OAAA,KAAA,KAAA;AACA,MAAA,YAAA,EAAA,CAAA;AACA,MAAA,IAAA,EAAA,KAAA,EAAA,GAAA,KAAA,CAAA,MAAA,CAAA;AACA,MAAA,IAAA,MAAA,SAAA,EAAA;AACA,QAAA,KAAA,GAAA,KAAA,CAAA,MAAA,GAAA,KAAA,CAAA,MAAA,CAAA,KAAA,CAAA,GAAA,KAAA,CAAA;AAAA,OACA;AACA,MAAA,IAAA,WAAA,CAAA,KAAA;AACA,QAAA,OAAA;AACA,MAAA,IAAA,KAAA,KAAA,iBAAA,KAAA,EAAA;AACA,QAAA,mBAAA,EAAA,CAAA;AACA,QAAA,OAAA;AAAA,OACA;AACA,MAAA,IAAA,CAAA,oBAAA,KAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,SAAA,KAAA,CAAA,CAAA;AACA,MAAA,MAAA,QAAA,EAAA,CAAA;AACA,MAAA,mBAAA,EAAA,CAAA;AACA,MAAA,SAAA,EAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,CAAA,QAAA,EAAA,KAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,sBAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,CAAA,oBAAA,KAAA,CAAA,CAAA;AACA,MAAA,WAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,uBAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,IAAA,CAAA,qBAAA,KAAA,CAAA,CAAA;AACA,MAAA,MAAA,QAAA,EAAA,GAAA,KAAA,CAAA,MAAA,KAAA,IAAA,GAAA,SAAA,EAAA,CAAA,KAAA,CAAA;AACA,MAAA,MAAA,aAAA,GAAA,IAAA,CAAA,IAAA,CAAA,MAAA,GAAA,CAAA,CAAA,IAAA,EAAA,CAAA;AACA,MAAA,WAAA,CAAA,KAAA,GAAA,CAAA,QAAA,CAAA,aAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,oBAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,CAAA,kBAAA,KAAA,CAAA,CAAA;AACA,MAAA,IAAA,YAAA,KAAA,EAAA;AACA,QAAA,WAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACA,QAAA,WAAA,CAAA,KAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,wBAAA,MAAA;AACA,MAAA,eAAA,CAAA,KAAA,GAAA,CAAA,eAAA,CAAA,KAAA,CAAA;AACA,MAAA,KAAA,EAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,QAAA,YAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,MAAA,QAAA,EAAA,CAAA;AACA,MAAA,CAAA,KAAA,IAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,KAAA,EAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,OAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,OAAA,CAAA,KAAA,IAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,IAAA,EAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,CAAA,GAAA,KAAA;AACA,MAAA,QAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACA,MAAA,IAAA,CAAA,cAAA,GAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,CAAA,GAAA,KAAA;AACA,MAAA,QAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AACA,MAAA,IAAA,CAAA,cAAA,GAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,CAAA,GAAA,KAAA;AACA,MAAA,IAAA,CAAA,WAAA,GAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,SAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,CAAA,KAAA,IAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,MAAA,EAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,QAAA,MAAA;AACA,MAAA,IAAA,CAAA,oBAAA,EAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,OAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,KAAA,CAAA,MAAA,KAAA,CAAA,UAAA,EAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,QAAA,CAAA,MAAA,gBAAA,CAAA,CAAA;AACA,MAAA,IAAA,MAAA,aAAA,EAAA;AACA,QAAA,CAAA,KAAA,QAAA,IAAA,IAAA,GAAA,SAAA,QAAA,CAAA,QAAA,KAAA,OAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAA,QAAA,CAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,KAAA,CAAA,gBAAA,EAAA,MAAA,mBAAA,EAAA,CAAA,CAAA;AACA,IAAA,KAAA,CAAA,MAAA,KAAA,CAAA,IAAA,EAAA,YAAA;AACA,MAAA,MAAA,QAAA,EAAA,CAAA;AACA,MAAA,mBAAA,EAAA,CAAA;AACA,MAAA,cAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,CAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACA,GAAA,EAAA,IAAA;AAAA,MACA,aAAA;AAAA,MACA,QAAA,EAAA,KAAA,CAAA,KAAA,EAAA,UAAA,CAAA;AAAA,MACA,KAAA;AAAA,MACA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,cAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,MAAA,MAAA,KAAA;AACA,MAAA,OAAA,cAAA,EAAA,WAAA,EAAA,kBAAA,CAAA,OAAA,UAAA,CAAA,KAAA,CAAA,cAAA,CAAA,EAAA;AAAA,QACA,KAAA,EAAA,MAAA,YAAA,CAAA;AAAA,QACA,KAAA,EAAA,MAAA,cAAA,CAAA;AAAA,QACA,MAAA,IAAA,CAAA,aAAA;AAAA,QACA,YAAA,EAAA,gBAAA;AAAA,QACA,YAAA,EAAA,gBAAA;AAAA,OACA,CAAA,EAAA;AAAA,QACA,mBAAA,SAAA,CAAA;AAAA,QACA,IAAA,CAAA,IAAA,KAAA,UAAA,IAAA,SAAA,EAAA,EAAA,mBAAA,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,UACA,mBAAA,gBAAA,CAAA;AAAA,UACA,KAAA,MAAA,CAAA,OAAA,IAAA,SAAA,EAAA,EAAA,mBAAA,KAAA,EAAA;AAAA,YACA,GAAA,EAAA,CAAA;AAAA,YACA,KAAA,EAAA,eAAA,KAAA,CAAA,OAAA,EAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,CAAA;AAAA,WACA,EAAA;AAAA,YACA,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,WACA,EAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,UACA,mBAAA,KAAA,EAAA;AAAA,YACA,OAAA,EAAA,YAAA;AAAA,YACA,GAAA,EAAA,UAAA;AAAA,YACA,KAAA,EAAA,cAAA,CAAA,KAAA,CAAA,UAAA,CAAA,CAAA;AAAA,WACA,EAAA;AAAA,YACA,mBAAA,eAAA,CAAA;AAAA,YACA,IAAA,CAAA,OAAA,MAAA,IAAA,IAAA,CAAA,cAAA,SAAA,EAAA,EAAA,mBAAA,MAAA,EAAA;AAAA,cACA,GAAA,EAAA,CAAA;AAAA,cACA,OAAA,cAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA;AAAA,aACA,EAAA;AAAA,cACA,mBAAA,MAAA,EAAA;AAAA,gBACA,OAAA,cAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,cAAA,CAAA,CAAA;AAAA,eACA,EAAA;AAAA,gBACA,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,QAAA,CAAA;AAAA,gBACA,KAAA,UAAA,IAAA,SAAA,IAAA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,kBACA,GAAA,EAAA,CAAA;AAAA,kBACA,OAAA,cAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA;AAAA,iBACA,EAAA;AAAA,kBACA,OAAA,EAAA,QAAA,MAAA;AAAA,qBACA,WAAA,EAAA,WAAA,CAAA,uBAAA,CAAA,IAAA,CAAA,UAAA,CAAA,CAAA;AAAA,mBACA,CAAA;AAAA,kBACA,CAAA,EAAA,CAAA;AAAA,iBACA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,iBACA,CAAA,CAAA;AAAA,aACA,EAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,YACA,kBAAA,CAAA,SAAA,UAAA,CAAA;AAAA,cACA,EAAA,EAAA,MAAA,OAAA,CAAA;AAAA,cACA,OAAA,EAAA,OAAA;AAAA,cACA,GAAA,EAAA,KAAA;AAAA,cACA,KAAA,EAAA,KAAA,CAAA,OAAA,CAAA,CAAA,EAAA,OAAA,CAAA;AAAA,aACA,EAAA,KAAA,CAAA,KAAA,CAAA,EAAA;AAAA,cACA,MAAA,IAAA,CAAA,YAAA,GAAA,gBAAA,KAAA,GAAA,MAAA,GAAA,aAAA,IAAA,CAAA,IAAA;AAAA,cACA,QAAA,EAAA,MAAA,aAAA,CAAA;AAAA,cACA,WAAA,IAAA,CAAA,SAAA;AAAA,cACA,QAAA,IAAA,CAAA,MAAA;AAAA,cACA,UAAA,IAAA,CAAA,QAAA;AAAA,cACA,cAAA,IAAA,CAAA,YAAA;AAAA,cACA,UAAA,IAAA,CAAA,QAAA;AAAA,cACA,cAAA,IAAA,CAAA,KAAA;AAAA,cACA,aAAA,IAAA,CAAA,WAAA;AAAA,cACA,OAAA,IAAA,CAAA,UAAA;AAAA,cACA,MAAA,KAAA,CAAA,IAAA;AAAA,cACA,WAAA,KAAA,CAAA,SAAA;AAAA,cACA,kBAAA,EAAA,sBAAA;AAAA,cACA,mBAAA,EAAA,uBAAA;AAAA,cACA,gBAAA,EAAA,oBAAA;AAAA,cACA,OAAA,EAAA,WAAA;AAAA,cACA,SAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,KAAA,CAAA,WAAA,CAAA,IAAA,KAAA,CAAA,WAAA,CAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,cACA,QAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,KAAA,CAAA,UAAA,CAAA,IAAA,KAAA,CAAA,UAAA,CAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,cACA,QAAA,EAAA,YAAA;AAAA,cACA,SAAA,EAAA,aAAA;AAAA,aACA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,CAAA;AAAA,YACA,mBAAA,eAAA,CAAA;AAAA,YACA,MAAA,aAAA,CAAA,IAAA,SAAA,EAAA,EAAA,mBAAA,MAAA,EAAA;AAAA,cACA,GAAA,EAAA,CAAA;AAAA,cACA,OAAA,cAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA;AAAA,aACA,EAAA;AAAA,cACA,mBAAA,MAAA,EAAA;AAAA,gBACA,OAAA,cAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,cAAA,CAAA,CAAA;AAAA,eACA,EAAA;AAAA,gBACA,CAAA,KAAA,CAAA,SAAA,KAAA,CAAA,KAAA,CAAA,cAAA,CAAA,IAAA,CAAA,MAAA,kBAAA,CAAA,IAAA,WAAA,EAAA,kBAAA,CAAA,UAAA,EAAA,GAAA,EAAA,GAAA,EAAA;AAAA,kBACA,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,QAAA,CAAA;AAAA,kBACA,KAAA,UAAA,IAAA,SAAA,IAAA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,oBACA,GAAA,EAAA,CAAA;AAAA,oBACA,OAAA,cAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA;AAAA,mBACA,EAAA;AAAA,oBACA,OAAA,EAAA,QAAA,MAAA;AAAA,uBACA,WAAA,EAAA,WAAA,CAAA,uBAAA,CAAA,IAAA,CAAA,UAAA,CAAA,CAAA;AAAA,qBACA,CAAA;AAAA,oBACA,CAAA,EAAA,CAAA;AAAA,mBACA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,iBACA,EAAA,EAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,gBACA,KAAA,CAAA,SAAA,CAAA,IAAA,SAAA,IAAA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,kBACA,GAAA,EAAA,CAAA;AAAA,kBACA,KAAA,EAAA,cAAA,CAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,EAAA,MAAA,OAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAAA,kBACA,aAAA,aAAA,CAAA,KAAA,CAAA,IAAA,CAAA,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,kBACA,OAAA,EAAA,KAAA;AAAA,iBACA,EAAA;AAAA,kBACA,OAAA,EAAA,QAAA,MAAA;AAAA,oBACA,WAAA,CAAA,KAAA,CAAA,oBAAA,CAAA,CAAA;AAAA,mBACA,CAAA;AAAA,kBACA,CAAA,EAAA,CAAA;AAAA,iBACA,EAAA,GAAA,CAAA,OAAA,EAAA,aAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,gBACA,KAAA,CAAA,cAAA,CAAA,IAAA,SAAA,IAAA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,kBACA,GAAA,EAAA,CAAA;AAAA,kBACA,KAAA,EAAA,cAAA,CAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,EAAA,MAAA,OAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA;AAAA,kBACA,OAAA,EAAA,qBAAA;AAAA,iBACA,EAAA;AAAA,kBACA,OAAA,EAAA,QAAA,MAAA;AAAA,qBACA,WAAA,EAAA,WAAA,CAAA,wBAAA,KAAA,CAAA,YAAA,CAAA,CAAA,CAAA;AAAA,mBACA,CAAA;AAAA,kBACA,CAAA,EAAA,CAAA;AAAA,iBACA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,gBACA,MAAA,kBAAA,CAAA,IAAA,SAAA,EAAA,EAAA,mBAAA,MAAA,EAAA;AAAA,kBACA,GAAA,EAAA,CAAA;AAAA,kBACA,OAAA,cAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA;AAAA,iBACA,EAAA;AAAA,kBACA,mBAAA,MAAA,EAAA;AAAA,oBACA,OAAA,cAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,aAAA,CAAA,CAAA;AAAA,mBACA,EAAA,eAAA,CAAA,KAAA,CAAA,UAAA,CAAA,CAAA,GAAA,KAAA,GAAA,eAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,SAAA,GAAA,CAAA,CAAA;AAAA,iBACA,EAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,gBACA,KAAA,CAAA,aAAA,CAAA,IAAA,KAAA,CAAA,YAAA,CAAA,IAAA,KAAA,CAAA,cAAA,CAAA,IAAA,SAAA,EAAA,EAAA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,kBACA,GAAA,EAAA,CAAA;AAAA,kBACA,OAAA,cAAA,CAAA;AAAA,oBACA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA;AAAA,oBACA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,cAAA,CAAA;AAAA,oBACA,KAAA,CAAA,OAAA,CAAA,CAAA,EAAA,CAAA,WAAA,KAAA,CAAA,aAAA,MAAA,YAAA,CAAA;AAAA,mBACA,CAAA;AAAA,iBACA,EAAA;AAAA,kBACA,OAAA,EAAA,QAAA,MAAA;AAAA,qBACA,WAAA,EAAA,WAAA,CAAA,wBAAA,KAAA,CAAA,YAAA,CAAA,CAAA,CAAA;AAAA,mBACA,CAAA;AAAA,kBACA,CAAA,EAAA,CAAA;AAAA,iBACA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,iBACA,CAAA,CAAA;AAAA,aACA,EAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,aACA,CAAA,CAAA;AAAA,UACA,mBAAA,eAAA,CAAA;AAAA,UACA,KAAA,MAAA,CAAA,MAAA,IAAA,SAAA,EAAA,EAAA,mBAAA,KAAA,EAAA;AAAA,YACA,GAAA,EAAA,CAAA;AAAA,YACA,KAAA,EAAA,eAAA,KAAA,CAAA,OAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,CAAA,CAAA;AAAA,WACA,EAAA;AAAA,YACA,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,QAAA,CAAA;AAAA,WACA,EAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,SACA,EAAA,EAAA,CAAA,KAAA,SAAA,EAAA,EAAA,mBAAA,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,UACA,mBAAA,YAAA,CAAA;AAAA,UACA,kBAAA,CAAA,YAAA,UAAA,CAAA;AAAA,YACA,EAAA,EAAA,MAAA,OAAA,CAAA;AAAA,YACA,OAAA,EAAA,UAAA;AAAA,YACA,GAAA,EAAA,QAAA;AAAA,YACA,KAAA,EAAA,KAAA,CAAA,UAAA,CAAA,CAAA,EAAA,OAAA,CAAA;AAAA,WACA,EAAA,KAAA,CAAA,KAAA,CAAA,EAAA;AAAA,YACA,UAAA,IAAA,CAAA,QAAA;AAAA,YACA,QAAA,EAAA,MAAA,aAAA,CAAA;AAAA,YACA,UAAA,IAAA,CAAA,QAAA;AAAA,YACA,cAAA,IAAA,CAAA,YAAA;AAAA,YACA,KAAA,EAAA,MAAA,aAAA,CAAA;AAAA,YACA,cAAA,IAAA,CAAA,KAAA;AAAA,YACA,aAAA,IAAA,CAAA,WAAA;AAAA,YACA,MAAA,KAAA,CAAA,IAAA;AAAA,YACA,WAAA,KAAA,CAAA,SAAA;AAAA,YACA,kBAAA,EAAA,sBAAA;AAAA,YACA,mBAAA,EAAA,uBAAA;AAAA,YACA,gBAAA,EAAA,oBAAA;AAAA,YACA,OAAA,EAAA,WAAA;AAAA,YACA,SAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,KAAA,CAAA,WAAA,CAAA,IAAA,KAAA,CAAA,WAAA,CAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,YACA,QAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,KAAA,CAAA,UAAA,CAAA,IAAA,KAAA,CAAA,UAAA,CAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,YACA,QAAA,EAAA,YAAA;AAAA,YACA,SAAA,EAAA,aAAA;AAAA,WACA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,CAAA;AAAA,UACA,MAAA,kBAAA,CAAA,IAAA,SAAA,EAAA,EAAA,mBAAA,MAAA,EAAA;AAAA,YACA,GAAA,EAAA,CAAA;AAAA,YACA,KAAA,EAAA,cAAA,CAAA,UAAA,CAAA,KAAA,CAAA;AAAA,YACA,OAAA,cAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA;AAAA,aACA,eAAA,CAAA,KAAA,CAAA,UAAA,CAAA,IAAA,KAAA,GAAA,eAAA,CAAA,KAAA,CAAA,KAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,WACA,EAAA,CAAA,CAAA;AAAA,OACA,EAAA,EAAA,EAAA,YAAA,CAAA,GAAA;AAAA,QACA,CAAA,KAAA,EAAA,IAAA,CAAA,IAAA,KAAA,QAAA,CAAA;AAAA,OACA,CAAA,CAAA;AAAA,KACA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,IAAA,KAAA,iCAAA,WAAA,EAAA,CAAA,CAAA,QAAA,EAAA,qFAAA,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,OAAA,GAAA,YAAA,KAAA,CAAA,CAAA;AACA,MAAA,GAAA,GAAA,CAAA,CAAA;AACA,MAAA,OAAA,GAAA;AAAA,EACA,QAAA,EAAA;AAAA,IACA,MAAA,EAAA,cAAA;AAAA,IACA,MAAA,EAAA,WAAA;AAAA,IACA,UAAA,EAAA,cAAA;AAAA,IACA,IAAA,EAAA,QAAA;AAAA,IACA,GAAA,EAAA,UAAA;AAAA,IACA,IAAA,EAAA,GAAA;AAAA,IACA,MAAA,EAAA,SAAA;AAAA,IACA,SAAA,EAAA,KAAA;AAAA,GACA;AAAA,EACA,UAAA,EAAA;AAAA,IACA,MAAA,EAAA,aAAA;AAAA,IACA,MAAA,EAAA,YAAA;AAAA,IACA,UAAA,EAAA,aAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,IACA,GAAA,EAAA,YAAA;AAAA,IACA,IAAA,EAAA,GAAA;AAAA,IACA,MAAA,EAAA,SAAA;AAAA,IACA,SAAA,EAAA,MAAA;AAAA,GACA;AACA,CAAA,CAAA;AACA,MAAA,mBAAA,CAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,GAAA;AACA,CAAA,MAAA;AAAA,EACA,CAAA,GAAA,CAAA,IAAA,GAAA,IAAA;AAAA,EACA,SAAA,EAAA,CAAA,SAAA,EAAA,GAAA,CAAA,IAAA,IAAA,IAAA,CAAA,EAAA,CAAA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,mBAAA,GAAA,OAAA,qBAAA,CAAA,CAAA;AACA,MAAA,aAAA,UAAA,CAAA;AAAA,EACA,QAAA,EAAA,OAAA;AAAA,EACA,IAAA,EAAA,MAAA;AAAA,EACA,IAAA,EAAA,MAAA;AAAA,EACA,KAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,QAAA,EAAA,IAAA;AAAA,GACA;AAAA,EACA,MAAA,EAAA,OAAA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,gBAAA,GAAA,OAAA,CAAA;AACA,MAAA,8BAAA,eAAA,CAAA;AAAA,EACA,MAAA,EAAA,OAAA;AAAA,EACA,KAAA,EAAA,UAAA;AAAA,EACA,MAAA,OAAA,EAAA;AACA,IAAA,MAAA,KAAA,GAAA,OAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,OAAA,mBAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,GAAA,aAAA,WAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,SAAA;AACA,MAAA,UAAA,CAAA,kBAAA,kCAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AACA,IAAA,MAAA,OAAA,GAAA,IAAA,KAAA,CAAA,CAAA;AACA,IAAA,IAAA,UAAA,GAAA,KAAA,CAAA;AACA,IAAA,IAAA,WAAA,GAAA,KAAA,CAAA;AACA,IAAA,IAAA,qBAAA,GAAA,QAAA,GAAA,QAAA,CAAA,aAAA,GAAA,IAAA,CAAA;AACA,IAAA,MAAA,GAAA,GAAA,SAAA,MAAA,OAAA,CAAA,MAAA,QAAA,GAAA,UAAA,GAAA,YAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,QAAA,CAAA,MAAA,gBAAA,CAAA;AAAA,MACA,MAAA,KAAA,CAAA,IAAA;AAAA,MACA,MAAA,KAAA,CAAA,IAAA;AAAA,MACA,KAAA,GAAA,CAAA,KAAA;AAAA,KACA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,SAAA,MAAA,QAAA,CAAA,MAAA,GAAA,CAAA,KAAA,CAAA,MAAA,CAAA,IAAA,CAAA,GAAA,SAAA,CAAA,YAAA,GAAA,CAAA,KAAA,CAAA,UAAA,CAAA,GAAA,KAAA,CAAA,KAAA,GAAA,MAAA,KAAA,CAAA,GAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,CAAA,CAAA,KAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,CAAA,CAAA,eAAA,EAAA,CAAA;AACA,MAAA,IAAA,CAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,QAAA,CAAA,EAAA,MAAA,CAAA;AACA,QAAA,OAAA;AACA,MAAA,CAAA,KAAA,MAAA,CAAA,YAAA,OAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,eAAA,EAAA,CAAA;AACA,MAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,MAAA,KAAA,CAAA,CAAA,aAAA,CAAA;AACA,MAAA,IAAA,CAAA,EAAA;AACA,QAAA,OAAA;AACA,MAAA,UAAA,CAAA,KAAA,CAAA,IAAA,KAAA,CAAA,IAAA,IAAA,EAAA,CAAA,GAAA,CAAA,MAAA,MAAA,CAAA,IAAA,EAAA,GAAA,CAAA,KAAA,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,uBAAA,CAAA,GAAA,CAAA,MAAA,SAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,CAAA,CAAA,KAAA;AACA,MAAA,IAAA,CAAA,KAAA,CAAA,KAAA,IAAA,CAAA,QAAA,CAAA,KAAA,IAAA,CAAA,SAAA,CAAA,WAAA;AACA,QAAA,OAAA;AACA,MAAA,MAAA,MAAA,GAAA,IAAA,CAAA,GAAA,CAAA,CAAA,CAAA,OAAA,qBAAA,EAAA,CAAA,GAAA,CAAA,KAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AACA,MAAA,MAAA,YAAA,KAAA,CAAA,KAAA,CAAA,GAAA,CAAA,KAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA;AACA,MAAA,MAAA,uBAAA,GAAA,CAAA,MAAA,GAAA,SAAA,IAAA,GAAA,GAAA,WAAA,CAAA,QAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA;AACA,MAAA,SAAA,CAAA,WAAA,CAAA,GAAA,CAAA,KAAA,CAAA,MAAA,CAAA,GAAA,uBAAA,GAAA,SAAA,CAAA,WAAA,CAAA,GAAA,CAAA,KAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,CAAA,CAAA,KAAA;AACA,MAAA,CAAA,CAAA,wBAAA,EAAA,CAAA;AACA,MAAA,UAAA,GAAA,IAAA,CAAA;AACA,MAAA,QAAA,CAAA,gBAAA,CAAA,aAAA,wBAAA,CAAA,CAAA;AACA,MAAA,QAAA,CAAA,gBAAA,CAAA,WAAA,sBAAA,CAAA,CAAA;AACA,MAAA,qBAAA,GAAA,QAAA,CAAA,aAAA,CAAA;AACA,MAAA,QAAA,CAAA,gBAAA,MAAA,KAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,wBAAA,GAAA,CAAA,CAAA,KAAA;AACA,MAAA,IAAA,CAAA,QAAA,CAAA,KAAA,IAAA,CAAA,KAAA,CAAA,KAAA;AACA,QAAA,OAAA;AACA,MAAA,IAAA,UAAA,KAAA,KAAA;AACA,QAAA,OAAA;AACA,MAAA,MAAA,QAAA,GAAA,UAAA,CAAA,KAAA,CAAA,GAAA,CAAA,MAAA,IAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,QAAA;AACA,QAAA,OAAA;AACA,MAAA,MAAA,MAAA,GAAA,CAAA,QAAA,CAAA,KAAA,CAAA,qBAAA,EAAA,CAAA,GAAA,CAAA,KAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,CAAA,KAAA,CAAA,MAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AACA,MAAA,MAAA,qBAAA,KAAA,CAAA,KAAA,CAAA,GAAA,CAAA,KAAA,CAAA,MAAA,CAAA,GAAA,QAAA,CAAA;AACA,MAAA,MAAA,uBAAA,GAAA,CAAA,MAAA,GAAA,kBAAA,IAAA,GAAA,GAAA,WAAA,CAAA,QAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA;AACA,MAAA,SAAA,CAAA,WAAA,CAAA,GAAA,CAAA,KAAA,CAAA,MAAA,CAAA,GAAA,uBAAA,GAAA,SAAA,CAAA,WAAA,CAAA,GAAA,CAAA,KAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,yBAAA,MAAA;AACA,MAAA,UAAA,GAAA,KAAA,CAAA;AACA,MAAA,UAAA,CAAA,KAAA,CAAA,GAAA,CAAA,KAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA;AACA,MAAA,QAAA,CAAA,mBAAA,CAAA,aAAA,wBAAA,CAAA,CAAA;AACA,MAAA,QAAA,CAAA,mBAAA,CAAA,WAAA,sBAAA,CAAA,CAAA;AACA,MAAA,oBAAA,EAAA,CAAA;AACA,MAAA,IAAA,WAAA;AACA,QAAA,OAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,4BAAA,MAAA;AACA,MAAA,WAAA,GAAA,KAAA,CAAA;AACA,MAAA,OAAA,CAAA,KAAA,GAAA,CAAA,CAAA,KAAA,CAAA,IAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,6BAAA,MAAA;AACA,MAAA,WAAA,GAAA,IAAA,CAAA;AACA,MAAA,OAAA,CAAA,KAAA,GAAA,UAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,uBAAA,MAAA;AACA,MAAA,IAAA,SAAA,aAAA,KAAA,qBAAA;AACA,QAAA,QAAA,CAAA,aAAA,GAAA,qBAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,gBAAA,CAAA,KAAA,CAAA,SAAA,EAAA,kBAAA,CAAA,EAAA,aAAA,yBAAA,CAAA,CAAA;AACA,IAAA,gBAAA,CAAA,KAAA,CAAA,SAAA,EAAA,kBAAA,CAAA,EAAA,cAAA,0BAAA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,MAAA,MAAA,KAAA;AACA,MAAA,OAAA,SAAA,EAAA,EAAA,WAAA,CAAA,UAAA,EAAA;AAAA,QACA,IAAA,EAAA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA;AAAA,QACA,SAAA,EAAA,EAAA;AAAA,OACA,EAAA;AAAA,QACA,OAAA,EAAA,QAAA,MAAA;AAAA,UACA,cAAA,CAAA,mBAAA,KAAA,EAAA;AAAA,YACA,OAAA,EAAA,UAAA;AAAA,YACA,GAAA,EAAA,QAAA;AAAA,YACA,OAAA,cAAA,CAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,EAAA,EAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAAA,YACA,WAAA,EAAA,iBAAA;AAAA,WACA,EAAA;AAAA,YACA,mBAAA,KAAA,EAAA;AAAA,cACA,OAAA,EAAA,OAAA;AAAA,cACA,GAAA,EAAA,KAAA;AAAA,cACA,OAAA,cAAA,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA;AAAA,cACA,KAAA,EAAA,cAAA,CAAA,KAAA,CAAA,UAAA,CAAA,CAAA;AAAA,cACA,WAAA,EAAA,iBAAA;AAAA,aACA,EAAA,MAAA,EAAA,CAAA;AAAA,WACA,EAAA,EAAA,CAAA,EAAA;AAAA,YACA,CAAA,KAAA,EAAA,IAAA,CAAA,MAAA,IAAA,QAAA,KAAA,CAAA;AAAA,WACA,CAAA;AAAA,SACA,CAAA;AAAA,QACA,CAAA,EAAA,CAAA;AAAA,OACA,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,IAAA,KAAA,iCAAA,WAAA,EAAA,CAAA,CAAA,QAAA,EAAA,yFAAA,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,WAAA,UAAA,CAAA;AAAA,EACA,MAAA,EAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,IACA,OAAA,EAAA,IAAA;AAAA,GACA;AAAA,EACA,KAAA,EAAA,MAAA;AAAA,EACA,MAAA,EAAA,MAAA;AAAA,EACA,MAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,OAAA,EAAA,CAAA;AAAA,GACA;AAAA,EACA,MAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,OAAA,EAAA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,8BAAA,eAAA,CAAA;AAAA,EACA,MAAA,EAAA,KAAA;AAAA,EACA,KAAA,EAAA,QAAA;AAAA,EACA,KAAA,CAAA,OAAA,EAAA,EAAA,MAAA,EAAA,EAAA;AACA,IAAA,MAAA,KAAA,GAAA,OAAA,CAAA;AACA,IAAA,MAAA,KAAA,GAAA,IAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,KAAA,GAAA,IAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,CAAA,IAAA,KAAA;AACA,MAAA,IAAA,IAAA,EAAA;AACA,QAAA,MAAA,YAAA,GAAA,KAAA,YAAA,GAAA,GAAA,CAAA;AACA,QAAA,MAAA,WAAA,GAAA,KAAA,WAAA,GAAA,GAAA,CAAA;AACA,QAAA,KAAA,CAAA,KAAA,GAAA,IAAA,CAAA,SAAA,GAAA,GAAA,GAAA,eAAA,KAAA,CAAA,MAAA,CAAA;AACA,QAAA,KAAA,CAAA,KAAA,GAAA,IAAA,CAAA,UAAA,GAAA,GAAA,GAAA,cAAA,KAAA,CAAA,MAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,CAAA;AAAA,MACA,YAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,MAAA,MAAA,KAAA;AACA,MAAA,OAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,QAAA,EAAA,IAAA,EAAA;AAAA,QACA,YAAA,KAAA,EAAA;AAAA,UACA,MAAA,KAAA,CAAA,KAAA;AAAA,UACA,OAAA,IAAA,CAAA,MAAA;AAAA,UACA,MAAA,IAAA,CAAA,KAAA;AAAA,UACA,QAAA,IAAA,CAAA,MAAA;AAAA,SACA,EAAA,MAAA,CAAA,EAAA,CAAA,QAAA,OAAA,EAAA,MAAA,EAAA,QAAA,CAAA,CAAA;AAAA,QACA,YAAA,KAAA,EAAA;AAAA,UACA,MAAA,KAAA,CAAA,KAAA;AAAA,UACA,OAAA,IAAA,CAAA,MAAA;AAAA,UACA,MAAA,IAAA,CAAA,MAAA;AAAA,UACA,QAAA,EAAA,EAAA;AAAA,UACA,QAAA,IAAA,CAAA,MAAA;AAAA,SACA,EAAA,MAAA,CAAA,EAAA,CAAA,QAAA,OAAA,EAAA,MAAA,EAAA,QAAA,CAAA,CAAA;AAAA,SACA,EAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,IAAA,GAAA,iCAAA,WAAA,EAAA,CAAA,CAAA,QAAA,EAAA,uFAAA,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,iBAAA,UAAA,CAAA;AAAA,EACA,MAAA,EAAA;AAAA,IACA,IAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA;AAAA,IACA,OAAA,EAAA,EAAA;AAAA,GACA;AAAA,EACA,SAAA,EAAA;AAAA,IACA,IAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA;AAAA,IACA,OAAA,EAAA,EAAA;AAAA,GACA;AAAA,EACA,MAAA,EAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,IACA,OAAA,EAAA,KAAA;AAAA,GACA;AAAA,EACA,SAAA,EAAA;AAAA,IACA,MAAA,cAAA,CAAA,CAAA,MAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAAA,IACA,OAAA,EAAA,EAAA;AAAA,GACA;AAAA,EACA,SAAA,EAAA;AAAA,IACA,IAAA,EAAA,CAAA,MAAA,EAAA,KAAA,CAAA;AAAA,IACA,OAAA,EAAA,EAAA;AAAA,GACA;AAAA,EACA,SAAA,EAAA;AAAA,IACA,IAAA,EAAA,CAAA,MAAA,EAAA,KAAA,CAAA;AAAA,IACA,OAAA,EAAA,EAAA;AAAA,GACA;AAAA,EACA,SAAA,EAAA;AAAA,IACA,IAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,MAAA,CAAA;AAAA,IACA,OAAA,EAAA,EAAA;AAAA,GACA;AAAA,EACA,QAAA,EAAA,OAAA;AAAA,EACA,GAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,OAAA,EAAA,KAAA;AAAA,GACA;AAAA,EACA,MAAA,EAAA,OAAA;AAAA,EACA,OAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,OAAA,EAAA,EAAA;AAAA,GACA;AAAA,EACA,EAAA,EAAA,MAAA;AAAA,EACA,IAAA,EAAA,MAAA;AAAA,EACA,SAAA,EAAA,MAAA;AAAA,EACA,eAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,MAAA,EAAA,CAAA,YAAA,EAAA,UAAA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,cAAA,GAAA;AAAA,EACA,QAAA,CAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,QACA,CAAA,SAAA,EAAA,UAAA,CAAA,CAAA,MAAA,QAAA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,gBAAA,GAAA,aAAA,CAAA;AACA,MAAA,gBAAA,eAAA,CAAA;AAAA,EACA,IAAA,EAAA,gBAAA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,8BAAA,eAAA,CAAA;AAAA,EACA,GAAA,aAAA;AAAA,EACA,KAAA,EAAA,cAAA;AAAA,EACA,KAAA,EAAA,cAAA;AAAA,EACA,KAAA,CAAA,OAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA;AACA,IAAA,MAAA,KAAA,GAAA,OAAA,CAAA;AACA,IAAA,MAAA,EAAA,GAAA,aAAA,WAAA,CAAA,CAAA;AACA,IAAA,IAAA,kBAAA,GAAA,KAAA,CAAA,CAAA;AACA,IAAA,IAAA,kBAAA,GAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,IAAA,GAAA,CAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,IAAA,GAAA,CAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,IAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,IAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,SAAA,MAAA;AACA,MAAA,MAAA,QAAA,EAAA,CAAA;AACA,MAAA,IAAA,KAAA,CAAA,MAAA;AACA,QAAA,KAAA,CAAA,MAAA,GAAA,OAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA;AACA,MAAA,IAAA,KAAA,CAAA,SAAA;AACA,QAAA,KAAA,CAAA,SAAA,GAAA,OAAA,CAAA,KAAA,CAAA,SAAA,CAAA,CAAA;AACA,MAAA,OAAA,CAAA,KAAA,CAAA,SAAA,EAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,OAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA;AAAA,QACA,KAAA,CAAA,SAAA;AAAA,QACA,EAAA,CAAA,EAAA,MAAA,CAAA;AAAA,QACA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,MAAA,EAAA,gBAAA,CAAA,GAAA,CAAA,KAAA,CAAA,MAAA,EAAA;AAAA,OACA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,CAAA,EAAA,MAAA,SAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,eAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,IAAA,QAAA,KAAA,EAAA;AACA,QAAA,CAAA,EAAA,GAAA,OAAA,KAAA,KAAA,IAAA,GAAA,SAAA,EAAA,CAAA,YAAA,CAAA,QAAA,KAAA,CAAA,CAAA;AACA,QAAA,IAAA,CAAA,QAAA,EAAA;AAAA,UACA,SAAA,EAAA,QAAA,KAAA,CAAA,SAAA;AAAA,UACA,UAAA,EAAA,QAAA,KAAA,CAAA,UAAA;AAAA,SACA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,SAAA,QAAA,CAAA,MAAA,IAAA,EAAA;AACA,MAAA,IAAA,QAAA,CAAA,IAAA,CAAA,EAAA;AACA,QAAA,OAAA,CAAA,KAAA,CAAA,SAAA,IAAA,CAAA,CAAA;AAAA,iBACA,QAAA,CAAA,IAAA,CAAA,IAAA,QAAA,CAAA,IAAA,CAAA,EAAA;AACA,QAAA,OAAA,CAAA,KAAA,CAAA,QAAA,CAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA;AACA,IAAA,MAAA,YAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,CAAA,QAAA,CAAA,KAAA,CAAA,EAAA;AAEA,QAAA,OAAA;AAAA,OACA;AACA,MAAA,OAAA,CAAA,MAAA,SAAA,GAAA,KAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,CAAA,QAAA,CAAA,KAAA,CAAA,EAAA;AAEA,QAAA,OAAA;AAAA,OACA;AACA,MAAA,OAAA,CAAA,MAAA,UAAA,GAAA,KAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,SAAA,MAAA;AACA,MAAA,IAAA,CAAA,OAAA,CAAA,KAAA;AACA,QAAA,OAAA;AACA,MAAA,MAAA,YAAA,GAAA,OAAA,CAAA,KAAA,CAAA,YAAA,GAAA,GAAA,CAAA;AACA,MAAA,MAAA,WAAA,GAAA,OAAA,CAAA,KAAA,CAAA,WAAA,GAAA,GAAA,CAAA;AACA,MAAA,MAAA,cAAA,GAAA,YAAA,IAAA,CAAA,GAAA,OAAA,CAAA,KAAA,CAAA,YAAA,CAAA;AACA,MAAA,MAAA,aAAA,GAAA,WAAA,IAAA,CAAA,GAAA,OAAA,CAAA,KAAA,CAAA,WAAA,CAAA;AACA,MAAA,MAAA,MAAA,GAAA,IAAA,CAAA,GAAA,CAAA,cAAA,EAAA,MAAA,OAAA,CAAA,CAAA;AACA,MAAA,MAAA,KAAA,GAAA,IAAA,CAAA,GAAA,CAAA,aAAA,EAAA,MAAA,OAAA,CAAA,CAAA;AACA,MAAA,MAAA,CAAA,KAAA,GAAA,cAAA,IAAA,YAAA,GAAA,cAAA,CAAA,IAAA,UAAA,YAAA,GAAA,MAAA,CAAA,CAAA,CAAA;AACA,MAAA,MAAA,CAAA,KAAA,GAAA,aAAA,IAAA,WAAA,GAAA,aAAA,CAAA,IAAA,SAAA,WAAA,GAAA,KAAA,CAAA,CAAA,CAAA;AACA,MAAA,UAAA,CAAA,QAAA,MAAA,GAAA,GAAA,GAAA,YAAA,GAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,GAAA,EAAA,CAAA;AACA,MAAA,SAAA,CAAA,QAAA,KAAA,GAAA,GAAA,GAAA,WAAA,GAAA,CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,GAAA,EAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,KAAA,CAAA,MAAA,KAAA,CAAA,QAAA,EAAA,CAAA,QAAA,KAAA;AACA,MAAA,IAAA,QAAA,EAAA;AACA,QAAA,kBAAA,IAAA,IAAA,GAAA,SAAA,kBAAA,EAAA,CAAA;AACA,QAAA,kBAAA,IAAA,IAAA,GAAA,SAAA,kBAAA,EAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,CAAA,EAAA,IAAA,EAAA,kBAAA,EAAA,GAAA,iBAAA,CAAA,WAAA,MAAA,CAAA,EAAA;AACA,QAAA,kBAAA,GAAA,gBAAA,CAAA,UAAA,MAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,EAAA,EAAA,SAAA,EAAA,IAAA,EAAA,CAAA,CAAA;AACA,IAAA,KAAA,CAAA,MAAA,CAAA,KAAA,CAAA,WAAA,KAAA,CAAA,MAAA,GAAA,MAAA;AACA,MAAA,IAAA,CAAA,KAAA,CAAA,MAAA;AACA,QAAA,QAAA,CAAA,MAAA;AACA,UAAA,IAAA,EAAA,CAAA;AACA,UAAA,MAAA,EAAA,CAAA;AACA,UAAA,IAAA,QAAA,KAAA,EAAA;AACA,YAAA,CAAA,EAAA,GAAA,OAAA,KAAA,KAAA,IAAA,GAAA,SAAA,EAAA,CAAA,YAAA,CAAA,QAAA,KAAA,CAAA,CAAA;AAAA,WACA;AAAA,SACA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,qBAAA,QAAA,CAAA;AAAA,MACA,gBAAA,EAAA,YAAA;AAAA,MACA,WAAA,EAAA,OAAA;AAAA,KACA,CAAA,CAAA,CAAA;AACA,IAAA,SAAA,CAAA,MAAA,QAAA,CAAA,CAAA;AACA,IAAA,MAAA,CAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,QAAA;AAAA,MACA,YAAA;AAAA,MACA,aAAA;AAAA,MACA,YAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,MAAA,MAAA,KAAA;AACA,MAAA,OAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,KAAA,EAAA;AAAA,QACA,OAAA,EAAA,cAAA;AAAA,QACA,GAAA,EAAA,YAAA;AAAA,QACA,OAAA,cAAA,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA,GAAA,CAAA;AAAA,OACA,EAAA;AAAA,QACA,mBAAA,KAAA,EAAA;AAAA,UACA,OAAA,EAAA,SAAA;AAAA,UACA,GAAA,EAAA,OAAA;AAAA,UACA,KAAA,EAAA,cAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA;AAAA,UACA,KAAA,EAAA,cAAA,CAAA,KAAA,CAAA,SAAA,CAAA,CAAA;AAAA,UACA,QAAA,EAAA,YAAA;AAAA,SACA,EAAA;AAAA,WACA,WAAA,EAAA,WAAA,CAAA,uBAAA,CAAA,IAAA,CAAA,GAAA,CAAA,EAAA;AAAA,YACA,IAAA,IAAA,CAAA,EAAA;AAAA,YACA,OAAA,EAAA,WAAA;AAAA,YACA,GAAA,EAAA,SAAA;AAAA,YACA,KAAA,EAAA,cAAA,CAAA,KAAA,CAAA,SAAA,CAAA,CAAA;AAAA,YACA,KAAA,EAAA,cAAA,CAAA,IAAA,CAAA,SAAA,CAAA;AAAA,YACA,MAAA,IAAA,CAAA,IAAA;AAAA,YACA,cAAA,IAAA,CAAA,SAAA;AAAA,YACA,oBAAA,IAAA,CAAA,eAAA;AAAA,WACA,EAAA;AAAA,YACA,OAAA,EAAA,QAAA,MAAA;AAAA,cACA,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,aACA,CAAA;AAAA,YACA,CAAA,EAAA,CAAA;AAAA,WACA,EAAA,GAAA,CAAA,IAAA,EAAA,SAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,CAAA,CAAA;AAAA,WACA,EAAA,CAAA;AAAA,QACA,CAAA,IAAA,CAAA,MAAA,IAAA,SAAA,EAAA,EAAA,YAAA,GAAA,EAAA;AAAA,UACA,GAAA,EAAA,CAAA;AAAA,UACA,OAAA,EAAA,QAAA;AAAA,UACA,GAAA,EAAA,MAAA;AAAA,UACA,QAAA,UAAA,CAAA,KAAA;AAAA,UACA,OAAA,SAAA,CAAA,KAAA;AAAA,UACA,QAAA,IAAA,CAAA,MAAA;AAAA,UACA,WAAA,MAAA,CAAA,KAAA;AAAA,UACA,WAAA,MAAA,CAAA,KAAA;AAAA,SACA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,SACA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,IAAA,SAAA,iCAAA,WAAA,EAAA,CAAA,CAAA,QAAA,EAAA,6FAAA,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,WAAA,GAAA,YAAA,SAAA,CAAA,CAAA;AACA,MAAA,oBAAA,UAAA,CAAA;AAAA,EACA,QAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,OAAA,EAAA,OAAA;AAAA,GACA;AAAA,EACA,UAAA,EAAA;AAAA,IACA,IAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA;AAAA,IACA,OAAA,EAAA,EAAA;AAAA,GACA;AAAA,EACA,QAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,OAAA,EAAA,GAAA;AAAA,GACA;AAAA,EACA,SAAA,EAAA;AAAA,IACA,IAAA,EAAA,eAAA,MAAA,CAAA;AAAA,IACA,MAAA,EAAA;AAAA,MACA,KAAA;AAAA,MACA,WAAA;AAAA,MACA,SAAA;AAAA,MACA,QAAA;AAAA,MACA,cAAA;AAAA,MACA,YAAA;AAAA,KACA;AAAA,IACA,OAAA,EAAA,cAAA;AAAA,GACA;AAAA,EACA,gBAAA,EAAA;AAAA,IACA,IAAA,EAAA,cAAA,CAAA,CAAA,QAAA,EAAA,KAAA,CAAA,CAAA;AAAA,IACA,OAAA,EAAA,IAAA;AAAA,GACA;AAAA,EACA,WAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,OAAA,EAAA,EAAA;AAAA,GACA;AAAA,EACA,cAAA,EAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,IACA,OAAA,EAAA,IAAA;AAAA,GACA;AAAA,EACA,mBAAA,EAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,IACA,OAAA,EAAA,KAAA;AAAA,GACA;AAAA,EACA,WAAA,EAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,IACA,OAAA,EAAA,KAAA;AAAA,GACA;AAAA,EACA,KAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,GACA;AAAA,EACA,YAAA,sBAAA,CAAA,UAAA;AAAA,EACA,kBAAA,EAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,IACA,OAAA,EAAA,KAAA;AAAA,GACA;AAAA,EACA,aAAA,EAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,IACA,OAAA,EAAA,KAAA;AAAA,GACA;AAAA,EACA,SAAA,EAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,IACA,OAAA,EAAA,KAAA;AAAA,GACA;AAAA,EACA,QAAA,EAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,IACA,OAAA,EAAA,KAAA;AAAA,GACA;AAAA,EACA,IAAA,EAAA,MAAA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,iBAAA,GAAA;AAAA,EACA,CAAA,kBAAA,GAAA,CAAA,KAAA,KAAA,SAAA,KAAA,CAAA;AAAA,EACA,CAAA,WAAA,GAAA,CAAA,KAAA,KAAA,SAAA,KAAA,CAAA;AAAA,EACA,CAAA,YAAA,GAAA,CAAA,KAAA,KAAA,SAAA,KAAA,CAAA;AAAA,EACA,KAAA,EAAA,CAAA,GAAA,KAAA,GAAA,YAAA,UAAA;AAAA,EACA,IAAA,EAAA,CAAA,GAAA,KAAA,GAAA,YAAA,UAAA;AAAA,EACA,OAAA,MAAA,IAAA;AAAA,EACA,MAAA,EAAA,CAAA,IAAA,KAAA,QAAA,CAAA,IAAA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,eAAA,EAAA,WAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,IAAA,EAAA,eAAA,EAAA,SAAA,CAAA,CAAA;AACA,MAAA,cAAA,GAAA,gBAAA,CAAA;AACA,MAAA,gBAAA,eAAA,CAAA;AAAA,EACA,IAAA,EAAA,cAAA;AAAA,EACA,YAAA,EAAA,KAAA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,8BAAA,eAAA,CAAA;AAAA,EACA,GAAA,aAAA;AAAA,EACA,KAAA,EAAA,iBAAA;AAAA,EACA,KAAA,EAAA,iBAAA;AAAA,EACA,KAAA,CAAA,OAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA;AACA,IAAA,MAAA,KAAA,GAAA,OAAA,CAAA;AACA,IAAA,MAAA,QAAA,QAAA,EAAA,CAAA;AACA,IAAA,MAAA,WAAA,UAAA,EAAA,CAAA;AACA,IAAA,MAAA,WAAA,eAAA,EAAA,CAAA;AACA,IAAA,MAAA,EAAA,GAAA,aAAA,cAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,EAAA,CAAA;AACA,IAAA,IAAA,QAAA,GAAA,KAAA,CAAA;AACA,IAAA,IAAA,gBAAA,GAAA,KAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,IAAA,EAAA,CAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,IAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,kBAAA,GAAA,IAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,OAAA,GAAA,IAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,SAAA,MAAA,EAAA,CAAA,EAAA,MAAA,CAAA,UAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,QAAA,CAAA,MAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,SAAA,MAAA;AACA,MAAA,MAAA,WAAA,GAAA,WAAA,CAAA,KAAA,CAAA,MAAA,GAAA,CAAA,CAAA;AACA,MAAA,OAAA,CAAA,WAAA,IAAA,OAAA,CAAA,KAAA,KAAA,SAAA,CAAA,KAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,oBAAA,QAAA,CAAA,MAAA,CAAA,KAAA,CAAA,WAAA,IAAA,QAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,SAAA,KAAA,EAAA;AACA,QAAA,OAAA,MAAA,IAAA,CAAA,QAAA,CAAA,MAAA,GAAA,CAAA,gBAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,OAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,mBAAA,MAAA;AACA,MAAA,IAAA,kBAAA,KAAA,EAAA;AACA,QAAA,aAAA,CAAA,KAAA,GAAA,CAAA,EAAA,QAAA,CAAA,KAAA,CAAA,IAAA,WAAA,CAAA,EAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,SAAA,MAAA;AACA,MAAA,gBAAA,CAAA,KAAA,GAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,OAAA,GAAA,OAAA,WAAA,KAAA;AACA,MAAA,IAAA,kBAAA,CAAA,KAAA;AACA,QAAA,OAAA;AACA,MAAA,MAAA,EAAA,GAAA,CAAA,cAAA,KAAA;AACA,QAAA,OAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACA,QAAA,IAAA,kBAAA,CAAA,KAAA;AACA,UAAA,OAAA;AACA,QAAA,IAAA,OAAA,CAAA,cAAA,CAAA,EAAA;AACA,UAAA,WAAA,CAAA,KAAA,GAAA,cAAA,CAAA;AACA,UAAA,gBAAA,CAAA,KAAA,GAAA,KAAA,CAAA,kBAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAAA,SACA,MAAA;AACA,UAAA,UAAA,CAAA,gBAAA,2CAAA,CAAA,CAAA;AAAA,SACA;AAAA,OACA,CAAA;AACA,MAAA,OAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AACA,MAAA,IAAA,OAAA,CAAA,KAAA,CAAA,gBAAA,CAAA,EAAA;AACA,QAAA,EAAA,CAAA,MAAA,gBAAA,CAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,MAAA,MAAA,GAAA,MAAA,KAAA,CAAA,gBAAA,CAAA,aAAA,EAAA,CAAA,CAAA;AACA,QAAA,IAAA,QAAA,MAAA,CAAA;AACA,UAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,QAAA,CAAA,OAAA,EAAA,KAAA,CAAA,QAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,MAAA,cAAA,GAAA,CAAA,CAAA,KAAA,CAAA;AACA,MAAA,IAAA,CAAA,aAAA,KAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,oBAAA,KAAA,CAAA,CAAA;AACA,MAAA,kBAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACA,MAAA,SAAA,CAAA,KAAA,KAAA,UAAA,KAAA,GAAA,cAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,KAAA,CAAA,cAAA,IAAA,CAAA,KAAA,EAAA;AACA,QAAA,kBAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AACA,QAAA,WAAA,CAAA,QAAA,EAAA,CAAA;AACA,QAAA,OAAA;AAAA,OACA;AACA,MAAA,gBAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,IAAA,QAAA,CAAA,KAAA;AACA,QAAA,OAAA;AACA,MAAA,IAAA,CAAA,CAAA,EAAA,GAAA,KAAA,CAAA,MAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,MAAA,OAAA,IAAA,QAAA,CAAA,KAAA,CAAA,QAAA,CAAA,QAAA,CAAA,aAAA,CAAA,EAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,CAAA,cAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,CAAA,GAAA,KAAA;AACA,MAAA,IAAA,CAAA,gBAAA,EAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AACA,QAAA,IAAA,CAAA,SAAA,GAAA,CAAA,CAAA;AACA,QAAA,IAAA,KAAA,CAAA,cAAA,IAAA,CAAA,QAAA,EAAA;AACA,UAAA,gBAAA,CAAA,MAAA,CAAA,KAAA,CAAA,UAAA,CAAA,CAAA,CAAA;AAAA,SACA;AAAA,OACA,MAAA;AACA,QAAA,gBAAA,GAAA,KAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,CAAA,GAAA,KAAA;AACA,MAAA,UAAA,CAAA,MAAA;AACA,QAAA,IAAA,EAAA,CAAA;AACA,QAAA,IAAA,CAAA,KAAA,SAAA,CAAA,KAAA,KAAA,OAAA,KAAA,CAAA,GAAA,EAAA,CAAA,sBAAA,EAAA;AACA,UAAA,gBAAA,GAAA,IAAA,CAAA;AACA,UAAA,OAAA;AAAA,SACA;AACA,QAAA,SAAA,CAAA,SAAA,KAAA,EAAA,CAAA;AACA,QAAA,IAAA,CAAA,QAAA,GAAA,CAAA,CAAA;AAAA,OACA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,cAAA,MAAA;AACA,MAAA,SAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACA,MAAA,IAAA,CAAA,oBAAA,EAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,OAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,iBAAA,YAAA;AACA,MAAA,IAAA,iBAAA,CAAA,SAAA,gBAAA,CAAA,KAAA,IAAA,KAAA,gBAAA,CAAA,KAAA,GAAA,WAAA,CAAA,KAAA,CAAA,MAAA,EAAA;AACA,QAAA,YAAA,CAAA,WAAA,CAAA,KAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,OACA,MAAA,IAAA,MAAA,mBAAA,EAAA;AACA,QAAA,IAAA,CAAA,QAAA,EAAA,EAAA,KAAA,EAAA,KAAA,CAAA,YAAA,CAAA,CAAA;AACA,QAAA,WAAA,CAAA,QAAA,EAAA,CAAA;AACA,QAAA,gBAAA,CAAA,KAAA,GAAA,CAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,CAAA,GAAA,KAAA;AACA,MAAA,IAAA,kBAAA,KAAA,EAAA;AACA,QAAA,GAAA,CAAA,cAAA,EAAA,CAAA;AACA,QAAA,GAAA,CAAA,eAAA,EAAA,CAAA;AACA,QAAA,KAAA,EAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,QAAA,MAAA;AACA,MAAA,SAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,QAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,CAAA,KAAA,QAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,KAAA,EAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,OAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,CAAA,KAAA,QAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,IAAA,EAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,OAAA,IAAA,KAAA;AACA,MAAA,IAAA,CAAA,WAAA,EAAA,IAAA,CAAA,KAAA,CAAA,QAAA,CAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,kBAAA,EAAA,IAAA,CAAA,KAAA,CAAA,QAAA,CAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,UAAA,IAAA,CAAA,CAAA;AACA,MAAA,WAAA,CAAA,QAAA,EAAA,CAAA;AACA,MAAA,gBAAA,CAAA,KAAA,GAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,CAAA,MAAA,KAAA;AACA,MAAA,IAAA,CAAA,iBAAA,CAAA,KAAA,IAAA,OAAA,CAAA,KAAA;AACA,QAAA,OAAA;AACA,MAAA,IAAA,SAAA,CAAA,EAAA;AACA,QAAA,gBAAA,CAAA,KAAA,GAAA,CAAA,CAAA,CAAA;AACA,QAAA,OAAA;AAAA,OACA;AACA,MAAA,IAAA,MAAA,IAAA,WAAA,CAAA,KAAA,CAAA,MAAA,EAAA;AACA,QAAA,MAAA,GAAA,WAAA,CAAA,MAAA,MAAA,GAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,MAAA,UAAA,GAAA,SAAA,CAAA,KAAA,CAAA,aAAA,CAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,YAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,MAAA,cAAA,GAAA,WAAA,gBAAA,CAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,YAAA,EAAA,MAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AACA,MAAA,MAAA,aAAA,GAAA,eAAA,MAAA,CAAA,CAAA;AACA,MAAA,MAAA,YAAA,UAAA,CAAA,SAAA,CAAA;AACA,MAAA,MAAA,EAAA,SAAA,EAAA,YAAA,EAAA,GAAA,aAAA,CAAA;AACA,MAAA,IAAA,SAAA,GAAA,YAAA,GAAA,SAAA,GAAA,UAAA,CAAA,YAAA,EAAA;AACA,QAAA,UAAA,CAAA,SAAA,IAAA,YAAA,CAAA;AAAA,OACA;AACA,MAAA,IAAA,YAAA,SAAA,EAAA;AACA,QAAA,UAAA,CAAA,SAAA,IAAA,YAAA,CAAA;AAAA,OACA;AACA,MAAA,gBAAA,CAAA,KAAA,GAAA,MAAA,CAAA;AACA,MAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,YAAA,CAAA,uBAAA,EAAA,CAAA,EAAA,UAAA,KAAA,CAAA,MAAA,EAAA,gBAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,cAAA,CAAA,YAAA,MAAA;AACA,MAAA,iBAAA,CAAA,SAAA,KAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,CAAA;AAAA,MACA,gBAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA;AAAA,MACA,YAAA;AAAA,MACA,cAAA;AAAA,MACA,KAAA;AAAA,MACA,IAAA;AAAA,MACA,KAAA;AAAA,MACA,SAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,MAAA,MAAA,KAAA;AACA,MAAA,OAAA,SAAA,EAAA,EAAA,WAAA,CAAA,KAAA,CAAA,SAAA,CAAA,EAAA;AAAA,QACA,OAAA,EAAA,WAAA;AAAA,QACA,GAAA,EAAA,SAAA;AAAA,QACA,OAAA,EAAA,MAAA,iBAAA,CAAA;AAAA,QACA,WAAA,IAAA,CAAA,SAAA;AAAA,QACA,qBAAA,EAAA,CAAA,cAAA,EAAA,WAAA,CAAA;AAAA,QACA,cAAA,EAAA,CAAA,KAAA,CAAA,EAAA,EAAA,CAAA,CAAA,QAAA,CAAA,EAAA,IAAA,CAAA,WAAA,CAAA;AAAA,QACA,YAAA,IAAA,CAAA,UAAA;AAAA,QACA,kBAAA,EAAA,KAAA;AAAA,QACA,IAAA,EAAA,EAAA;AAAA,QACA,aAAA,EAAA,EAAA;AAAA,QACA,MAAA,EAAA,OAAA;AAAA,QACA,OAAA,EAAA,OAAA;AAAA,QACA,YAAA,CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,CAAA,UAAA,KAAA,CAAA,YAAA,CAAA;AAAA,QACA,UAAA,EAAA,EAAA;AAAA,QACA,IAAA,EAAA,SAAA;AAAA,QACA,YAAA,EAAA,gBAAA;AAAA,QACA,MAAA;AAAA,OACA,EAAA;AAAA,QACA,OAAA,EAAA,QAAA,MAAA;AAAA,UACA,mBAAA,KAAA,EAAA;AAAA,YACA,OAAA,EAAA,WAAA;AAAA,YACA,GAAA,EAAA,SAAA;AAAA,YACA,OAAA,cAAA,CAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA,YAAA,CAAA,EAAA,KAAA,CAAA,EAAA,EAAA,EAAA,CAAA,SAAA,EAAA,MAAA,iBAAA,CAAA,CAAA,CAAA,CAAA;AAAA,YACA,OAAA,cAAA,CAAA;AAAA,cACA,CAAA,IAAA,CAAA,aAAA,GAAA,OAAA,GAAA,UAAA,GAAA,aAAA,CAAA,KAAA;AAAA,cACA,OAAA,EAAA,MAAA;AAAA,aACA,CAAA;AAAA,YACA,IAAA,EAAA,QAAA;AAAA,WACA,EAAA;AAAA,YACA,WAAA,CAAA,KAAA,CAAA,WAAA,CAAA,EAAA;AAAA,cACA,EAAA,EAAA,MAAA,SAAA,CAAA;AAAA,cACA,GAAA,EAAA,IAAA;AAAA,cACA,cAAA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,cAAA,MAAA,CAAA;AAAA,cACA,cAAA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,cAAA,MAAA,CAAA;AAAA,cACA,IAAA,EAAA,SAAA;AAAA,aACA,EAAA;AAAA,cACA,OAAA,EAAA,QAAA,MAAA;AAAA,gBACA,MAAA,iBAAA,CAAA,IAAA,WAAA,EAAA,kBAAA,CAAA,MAAA,YAAA,EAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,oBACA,OAAA,cAAA,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,mBACA,EAAA;AAAA,oBACA,OAAA,EAAA,QAAA,MAAA;AAAA,sBACA,WAAA,CAAA,KAAA,CAAA,eAAA,CAAA,CAAA;AAAA,qBACA,CAAA;AAAA,oBACA,CAAA,EAAA,CAAA;AAAA,mBACA,EAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA;AAAA,iBACA,CAAA,KAAA,SAAA,CAAA,IAAA,CAAA,EAAA,mBAAA,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,UAAA,CAAA,WAAA,CAAA,KAAA,EAAA,CAAA,MAAA,MAAA,KAAA;AACA,kBAAA,OAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,IAAA,EAAA;AAAA,oBACA,IAAA,CAAA,EAAA,KAAA,CAAA,SAAA,CAAA,SAAA,MAAA,CAAA,CAAA;AAAA,oBACA,GAAA,EAAA,MAAA;AAAA,oBACA,OAAA,cAAA,CAAA,EAAA,aAAA,gBAAA,CAAA,KAAA,KAAA,QAAA,CAAA;AAAA,oBACA,IAAA,EAAA,QAAA;AAAA,oBACA,eAAA,EAAA,iBAAA,KAAA,KAAA,MAAA;AAAA,oBACA,OAAA,EAAA,CAAA,MAAA,KAAA,YAAA,CAAA,IAAA,CAAA;AAAA,mBACA,EAAA;AAAA,oBACA,WAAA,IAAA,CAAA,MAAA,EAAA,WAAA,EAAA,IAAA,IAAA,MAAA;AAAA,sBACA,gBAAA,eAAA,CAAA,IAAA,CAAA,KAAA,QAAA,CAAA,GAAA,CAAA,CAAA;AAAA,qBACA,CAAA;AAAA,mBACA,EAAA,IAAA,YAAA,CAAA,CAAA;AAAA,iBACA,GAAA,GAAA,CAAA,CAAA;AAAA,eACA,CAAA;AAAA,cACA,CAAA,EAAA,CAAA;AAAA,eACA,CAAA,EAAA,CAAA,IAAA,EAAA,YAAA,EAAA,YAAA,CAAA,CAAA;AAAA,aACA,CAAA,CAAA;AAAA,SACA,CAAA;AAAA,QACA,OAAA,EAAA,QAAA,MAAA;AAAA,UACA,mBAAA,KAAA,EAAA;AAAA,YACA,OAAA,EAAA,YAAA;AAAA,YACA,GAAA,EAAA,UAAA;AAAA,YACA,KAAA,EAAA,cAAA,CAAA,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,IAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AAAA,YACA,KAAA,EAAA,cAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA;AAAA,YACA,IAAA,EAAA,UAAA;AAAA,YACA,eAAA,EAAA,SAAA;AAAA,YACA,eAAA,EAAA,MAAA,iBAAA,CAAA;AAAA,YACA,WAAA,EAAA,MAAA,SAAA,CAAA;AAAA,WACA,EAAA;AAAA,YACA,WAAA,CAAA,KAAA,CAAA,OAAA,CAAA,EAAA,UAAA,CAAA;AAAA,cACA,OAAA,EAAA,UAAA;AAAA,cACA,GAAA,EAAA,QAAA;AAAA,aACA,EAAA,KAAA,CAAA,KAAA,CAAA,EAAA;AAAA,cACA,WAAA,IAAA,CAAA,SAAA;AAAA,cACA,QAAA,EAAA,MAAA,QAAA,CAAA;AAAA,cACA,MAAA,IAAA,CAAA,IAAA;AAAA,cACA,eAAA,IAAA,CAAA,UAAA;AAAA,cACA,OAAA,EAAA,WAAA;AAAA,cACA,QAAA,EAAA,YAAA;AAAA,cACA,OAAA,EAAA,WAAA;AAAA,cACA,MAAA,EAAA,UAAA;AAAA,cACA,OAAA,EAAA,WAAA;AAAA,cACA,SAAA,EAAA;AAAA,gBACA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,QAAA,CAAA,cAAA,CAAA,MAAA,KAAA,UAAA,gBAAA,CAAA,KAAA,GAAA,CAAA,CAAA,EAAA,CAAA,SAAA,CAAA,CAAA,EAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AAAA,gBACA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,QAAA,CAAA,cAAA,CAAA,MAAA,KAAA,UAAA,gBAAA,CAAA,KAAA,GAAA,CAAA,CAAA,EAAA,CAAA,SAAA,CAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAAA,gBACA,QAAA,CAAA,cAAA,EAAA,CAAA,OAAA,CAAA,CAAA;AAAA,gBACA,QAAA,CAAA,KAAA,EAAA,CAAA,KAAA,CAAA,CAAA;AAAA,gBACA,QAAA,CAAA,eAAA,EAAA,CAAA,KAAA,CAAA,CAAA;AAAA,eACA;AAAA,cACA,WAAA,EAAA,eAAA;AAAA,aACA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,GAAA,EAAA;AAAA,cACA,IAAA,CAAA,OAAA,OAAA,GAAA;AAAA,gBACA,IAAA,EAAA,SAAA;AAAA,gBACA,EAAA,EAAA,QAAA,MAAA;AAAA,kBACA,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,iBACA,CAAA;AAAA,eACA,GAAA,KAAA,CAAA;AAAA,cACA,IAAA,CAAA,OAAA,MAAA,GAAA;AAAA,gBACA,IAAA,EAAA,QAAA;AAAA,gBACA,EAAA,EAAA,QAAA,MAAA;AAAA,kBACA,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,QAAA,CAAA;AAAA,iBACA,CAAA;AAAA,eACA,GAAA,KAAA,CAAA;AAAA,cACA,IAAA,CAAA,OAAA,MAAA,GAAA;AAAA,gBACA,IAAA,EAAA,QAAA;AAAA,gBACA,EAAA,EAAA,QAAA,MAAA;AAAA,kBACA,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,QAAA,CAAA;AAAA,iBACA,CAAA;AAAA,eACA,GAAA,KAAA,CAAA;AAAA,cACA,IAAA,CAAA,OAAA,MAAA,GAAA;AAAA,gBACA,IAAA,EAAA,QAAA;AAAA,gBACA,EAAA,EAAA,QAAA,MAAA;AAAA,kBACA,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,QAAA,CAAA;AAAA,iBACA,CAAA;AAAA,eACA,GAAA,KAAA,CAAA;AAAA,aACA,GAAA,IAAA,EAAA,CAAA,aAAA,UAAA,EAAA,MAAA,EAAA,aAAA,EAAA,WAAA,CAAA,CAAA;AAAA,WACA,EAAA,IAAA,YAAA,CAAA;AAAA,SACA,CAAA;AAAA,QACA,CAAA,EAAA,CAAA;AAAA,OACA,EAAA,GAAA,CAAA,SAAA,EAAA,aAAA,cAAA,EAAA,YAAA,EAAA,YAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,IAAA,YAAA,iCAAA,WAAA,EAAA,CAAA,CAAA,QAAA,EAAA,mGAAA,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,cAAA,GAAA,YAAA,YAAA,CAAA,CAAA;AACA,MAAA,qBAAA,GAAA,OAAA,uBAAA,CAAA,CAAA;AACA,MAAA,SAAA,GAAA,CAAA,KAAA,EAAA,IAAA,KAAA;AACA,EAAA,aAAA,CAAA;AAAA,IACA,IAAA,EAAA,WAAA;AAAA,IACA,WAAA,EAAA,MAAA;AAAA,IACA,OAAA,EAAA,OAAA;AAAA,IACA,KAAA,EAAA,OAAA;AAAA,IACA,GAAA,EAAA,wEAAA;AAAA,KACA,QAAA,CAAA,MAAA,KAAA,CAAA,IAAA,KAAA,MAAA,CAAA,CAAA,CAAA;AACA,EAAA,MAAA,kBAAA,GAAA,MAAA,CAAA,qBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACA,EAAA,MAAA,YAAA,GAAA,gBAAA,QAAA,CAAA,CAAA;AACA,EAAA,MAAA,EAAA,IAAA,EAAA,GAAA,WAAA,EAAA,CAAA;AACA,EAAA,MAAA,KAAA,GAAA,YAAA,QAAA,CAAA,MAAA,sBAAA,IAAA,GAAA,KAAA,CAAA,GAAA,kBAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AACA,EAAA,MAAA,YAAA,eAAA,EAAA,CAAA;AACA,EAAA,MAAA,OAAA,GAAA,EAAA,CAAA;AACA,EAAA,MAAA,QAAA,QAAA,EAAA,CAAA;AACA,EAAA,MAAA,KAAA,GAAA,QAAA,CAAA,MAAA,KAAA,CAAA,IAAA,KAAA,sBAAA,IAAA,GAAA,KAAA,CAAA,GAAA,kBAAA,CAAA,IAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AACA,EAAA,MAAA,eAAA,GAAA,SAAA,MAAA;AACA,IAAA,IAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AACA,IAAA,OAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAA,eAAA,KAAA,OAAA,EAAA,GAAA,CAAA,EAAA,GAAA,YAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,eAAA,KAAA,OAAA,EAAA,GAAA,KAAA,CAAA;AAAA,GACA,CAAA,CAAA;AACA,EAAA,MAAA,MAAA,GAAA,SAAA,MAAA;AACA,IAAA,IAAA,KAAA,CAAA,QAAA,QAAA,EAAA;AACA,MAAA,OAAA;AAAA,QACA,YAAA,EAAA,SAAA,CAAA,KAAA,IAAA,KAAA,CAAA,OAAA;AAAA,QACA,QAAA,EAAA,SAAA,CAAA,KAAA,IAAA,KAAA,CAAA,OAAA;AAAA,QACA,WAAA,KAAA,CAAA,SAAA;AAAA,QACA,MAAA,KAAA,CAAA,UAAA;AAAA,OACA,CAAA;AAAA,KACA;AACA,IAAA,OAAA,EAAA,CAAA;AAAA,GACA,CAAA,CAAA;AACA,EAAA,MAAA,cAAA,GAAA,SAAA,MAAA;AACA,IAAA,IAAA,EAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,CAAA,KAAA,KAAA,CAAA,OAAA,KAAA,OAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AACA,IAAA,IAAA,gBAAA,KAAA,IAAA,CAAA,WAAA,IAAA,OAAA,KAAA,CAAA,GAAA,WAAA,CAAA,YAAA,CAAA,EAAA;AACA,MAAA,MAAA,IAAA,GAAA,YAAA,CAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,UAAA,IAAA,EAAA;AACA,QAAA,MAAA,OAAA,IAAA,CAAA,QAAA,CAAA;AACA,QAAA,OAAA,6BAAA,CAAA,IAAA,CAAA,IAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA;AACA,IAAA,OAAA,KAAA,CAAA;AAAA,GACA,CAAA,CAAA;AACA,EAAA,MAAA,WAAA,GAAA,CAAA,GAAA,KAAA;AACA,IAAA,IAAA,KAAA,CAAA,eAAA,OAAA,EAAA;AACA,MAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,WAAA,EAAA,CAAA;AAAA,KACA;AACA,IAAA,IAAA,CAAA,SAAA,GAAA,CAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,OAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA,cAAA;AAAA,IACA,WAAA;AAAA,GACA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,WAAA,GAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,EAAA;AACA,CAAA,CAAA;AACA,MAAA,iBAAA,GAAA,CAAA,QAAA,EAAA,QAAA,EAAA,OAAA,CAAA,CAAA;AACA,MAAA,cAAA,UAAA,CAAA;AAAA,EACA,IAAA,EAAA,WAAA;AAAA,EACA,QAAA,EAAA,OAAA;AAAA,EACA,IAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,MAAA,EAAA,WAAA;AAAA,IACA,OAAA,EAAA,EAAA;AAAA,GACA;AAAA,EACA,IAAA,EAAA;AAAA,IACA,IAAA,EAAA,YAAA;AAAA,GACA;AAAA,EACA,UAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,MAAA,EAAA,iBAAA;AAAA,IACA,OAAA,EAAA,QAAA;AAAA,GACA;AAAA,EACA,OAAA,EAAA,OAAA;AAAA,EACA,WAAA,EAAA;AAAA,IACA,IAAA,EAAA,YAAA;AAAA,IACA,SAAA,MAAA,eAAA;AAAA,GACA;AAAA,EACA,KAAA,EAAA,OAAA;AAAA,EACA,IAAA,EAAA,OAAA;AAAA,EACA,IAAA,EAAA,OAAA;AAAA,EACA,EAAA,EAAA,OAAA;AAAA,EACA,SAAA,EAAA,OAAA;AAAA,EACA,KAAA,EAAA,OAAA;AAAA,EACA,MAAA,EAAA,OAAA;AAAA,EACA,KAAA,EAAA,MAAA;AAAA,EACA,IAAA,EAAA,OAAA;AAAA,EACA,eAAA,EAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,IACA,OAAA,EAAA,KAAA,CAAA;AAAA,GACA;AAAA,EACA,GAAA,EAAA;AAAA,IACA,IAAA,EAAA,cAAA,CAAA,CAAA,MAAA,EAAA,MAAA,CAAA,CAAA;AAAA,IACA,OAAA,EAAA,QAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,WAAA,GAAA;AAAA,EACA,KAAA,EAAA,CAAA,GAAA,KAAA,GAAA,YAAA,UAAA;AACA,CAAA,CAAA;AACA,SAAA,MAAA,CAAA,KAAA,EAAA,MAAA,GAAA,EAAA,EAAA;AACA,EAAA,OAAA,KAAA,CAAA,GAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,CAAA;AACA,CAAA;AACA,SAAA,qBAAA,KAAA,EAAA;AACA,EAAA,MAAA,YAAA,eAAA,EAAA,CAAA;AACA,EAAA,MAAA,EAAA,GAAA,aAAA,QAAA,CAAA,CAAA;AACA,EAAA,OAAA,SAAA,MAAA;AACA,IAAA,IAAA,SAAA,EAAA,CAAA;AACA,IAAA,MAAA,cAAA,KAAA,CAAA,KAAA,CAAA;AACA,IAAA,IAAA,WAAA,EAAA;AACA,MAAA,MAAA,KAAA,GAAA,IAAA,SAAA,CAAA,WAAA,CAAA,CAAA;AACA,MAAA,MAAA,aAAA,GAAA,KAAA,CAAA,IAAA,GAAA,KAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,QAAA,EAAA,GAAA,MAAA,CAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AACA,MAAA,IAAA,MAAA,KAAA,EAAA;AACA,QAAA,MAAA,GAAA,GAAA,WAAA,CAAA;AAAA,UACA,UAAA,EAAA,KAAA,CAAA,IAAA,GAAA,MAAA,CAAA,KAAA,EAAA,EAAA,CAAA,GAAA,KAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,QAAA,EAAA;AAAA,UACA,YAAA,EAAA,WAAA;AAAA,UACA,cAAA,EAAA,KAAA,CAAA,IAAA,GAAA,MAAA,CAAA,KAAA,EAAA,EAAA,CAAA,GAAA,KAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,QAAA,EAAA;AAAA,UACA,kBAAA,EAAA,CAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA;AAAA,UACA,gBAAA,EAAA,WAAA;AAAA,UACA,oBAAA,EAAA,WAAA;AAAA,UACA,iBAAA,EAAA,aAAA;AAAA,UACA,mBAAA,EAAA,CAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA;AAAA,UACA,qBAAA,EAAA,aAAA;AAAA,SACA,CAAA,CAAA;AACA,QAAA,IAAA,UAAA,KAAA,EAAA;AACA,UAAA,MAAA,CAAA,EAAA,CAAA,eAAA,CAAA,mBAAA,CAAA,IAAA,KAAA,CAAA,IAAA,GAAA,MAAA,CAAA,KAAA,EAAA,EAAA,CAAA,GAAA,KAAA,CAAA,IAAA,CAAA,EAAA,EAAA,QAAA,EAAA,CAAA;AACA,UAAA,MAAA,CAAA,EAAA,CAAA,eAAA,CAAA,qBAAA,CAAA,IAAA,KAAA,CAAA,IAAA,GAAA,MAAA,CAAA,KAAA,EAAA,EAAA,CAAA,GAAA,KAAA,CAAA,IAAA,CAAA,EAAA,EAAA,QAAA,EAAA,CAAA;AACA,UAAA,MAAA,CAAA,EAAA,CAAA,eAAA,CAAA,uBAAA,CAAA,IAAA,KAAA,CAAA,IAAA,GAAA,MAAA,CAAA,KAAA,EAAA,EAAA,CAAA,GAAA,KAAA,CAAA,IAAA,CAAA,EAAA,EAAA,QAAA,EAAA,CAAA;AAAA,SACA;AAAA,OACA,MAAA;AACA,QAAA,MAAA,YAAA,GAAA,KAAA,CAAA,IAAA,GAAA,MAAA,CAAA,KAAA,EAAA,EAAA,CAAA,GAAA,KAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,QAAA,EAAA,CAAA;AACA,QAAA,MAAA,SAAA,GAAA,KAAA,CAAA,MAAA,EAAA,GAAA,OAAA,EAAA,CAAA,UAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,QAAA,MAAA,GAAA,GAAA,WAAA,CAAA;AAAA,UACA,UAAA,EAAA,WAAA;AAAA,UACA,YAAA,EAAA,SAAA;AAAA,UACA,cAAA,EAAA,WAAA;AAAA,UACA,gBAAA,EAAA,YAAA;AAAA,UACA,kBAAA,EAAA,SAAA;AAAA,UACA,oBAAA,EAAA,YAAA;AAAA,UACA,iBAAA,EAAA,aAAA;AAAA,UACA,qBAAA,EAAA,aAAA;AAAA,SACA,CAAA,CAAA;AACA,QAAA,IAAA,UAAA,KAAA,EAAA;AACA,UAAA,MAAA,mBAAA,GAAA,KAAA,CAAA,IAAA,GAAA,MAAA,CAAA,KAAA,EAAA,EAAA,CAAA,GAAA,KAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,QAAA,EAAA,CAAA;AACA,UAAA,MAAA,CAAA,EAAA,CAAA,eAAA,CAAA,mBAAA,CAAA,CAAA,GAAA,mBAAA,CAAA;AACA,UAAA,MAAA,CAAA,EAAA,CAAA,eAAA,CAAA,qBAAA,CAAA,CAAA,GAAA,KAAA,CAAA,IAAA,GAAA,0BAAA,GAAA,CAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,UAAA,MAAA,CAAA,EAAA,CAAA,eAAA,CAAA,uBAAA,CAAA,CAAA,GAAA,mBAAA,CAAA;AAAA,SACA;AAAA,OACA;AAAA,KACA;AACA,IAAA,OAAA,MAAA,CAAA;AAAA,GACA,CAAA,CAAA;AACA,CAAA;AACA,MAAA,gBAAA,eAAA,CAAA;AAAA,EACA,IAAA,EAAA,UAAA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,8BAAA,eAAA,CAAA;AAAA,EACA,GAAA,aAAA;AAAA,EACA,KAAA,EAAA,WAAA;AAAA,EACA,KAAA,EAAA,WAAA;AAAA,EACA,KAAA,CAAA,OAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA;AACA,IAAA,MAAA,KAAA,GAAA,OAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,qBAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,GAAA,aAAA,QAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,IAAA,EAAA,KAAA,EAAA,KAAA,EAAA,SAAA,EAAA,MAAA,EAAA,cAAA,EAAA,WAAA,EAAA,GAAA,SAAA,CAAA,KAAA,EAAA,IAAA,CAAA,CAAA;AACA,IAAA,MAAA,CAAA;AAAA,MACA,GAAA,EAAA,IAAA;AAAA,MACA,IAAA,EAAA,KAAA;AAAA,MACA,IAAA,EAAA,KAAA;AAAA,MACA,QAAA,EAAA,SAAA;AAAA,MACA,cAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,MAAA,MAAA,KAAA;AACA,MAAA,OAAA,WAAA,EAAA,WAAA,CAAA,wBAAA,IAAA,CAAA,GAAA,GAAA,UAAA,CAAA;AAAA,QACA,OAAA,EAAA,MAAA;AAAA,QACA,GAAA,EAAA,IAAA;AAAA,OACA,EAAA,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,QACA,KAAA,EAAA;AAAA,UACA,KAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA;AAAA,UACA,MAAA,EAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA;AAAA,UACA,MAAA,EAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA;AAAA,UACA,MAAA,EAAA,CAAA,CAAA,GAAA,UAAA,EAAA,KAAA,CAAA,SAAA,CAAA,CAAA;AAAA,UACA,MAAA,EAAA,CAAA,CAAA,EAAA,CAAA,SAAA,EAAA,KAAA,OAAA,CAAA;AAAA,UACA,MAAA,EAAA,CAAA,CAAA,EAAA,CAAA,OAAA,EAAA,KAAA,KAAA,CAAA;AAAA,UACA,MAAA,EAAA,CAAA,CAAA,EAAA,CAAA,OAAA,EAAA,KAAA,KAAA,CAAA;AAAA,UACA,MAAA,EAAA,CAAA,CAAA,EAAA,CAAA,QAAA,EAAA,KAAA,MAAA,CAAA;AAAA,UACA,MAAA,EAAA,CAAA,CAAA,EAAA,CAAA,MAAA,EAAA,KAAA,IAAA,CAAA;AAAA,UACA,MAAA,EAAA,CAAA,CAAA,EAAA,CAAA,MAAA,EAAA,KAAA,IAAA,CAAA;AAAA,UACA,MAAA,EAAA,CAAA,CAAA,EAAA,CAAA,QAAA,EAAA,KAAA,EAAA,CAAA;AAAA,SACA;AAAA,QACA,KAAA,EAAA,MAAA,WAAA,CAAA;AAAA,QACA,OAAA,EAAA,MAAA,WAAA,CAAA;AAAA,OACA,CAAA,EAAA;AAAA,QACA,OAAA,EAAA,QAAA,MAAA;AAAA,UACA,IAAA,CAAA,WAAA,SAAA,EAAA,EAAA,mBAAA,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,YACA,KAAA,MAAA,CAAA,OAAA,GAAA,UAAA,CAAA,IAAA,CAAA,QAAA,SAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA,IAAA,SAAA,IAAA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,cACA,GAAA,EAAA,CAAA;AAAA,cACA,OAAA,cAAA,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,aACA,EAAA;AAAA,cACA,OAAA,EAAA,QAAA,MAAA;AAAA,iBACA,WAAA,EAAA,WAAA,CAAA,uBAAA,CAAA,IAAA,CAAA,WAAA,CAAA,CAAA;AAAA,eACA,CAAA;AAAA,cACA,CAAA,EAAA,CAAA;AAAA,aACA,EAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAAA,aACA,EAAA,CAAA,IAAA,IAAA,CAAA,IAAA,IAAA,KAAA,MAAA,CAAA,IAAA,IAAA,SAAA,EAAA,EAAA,YAAA,KAAA,CAAA,MAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA;AAAA,YACA,OAAA,EAAA,QAAA,MAAA;AAAA,cACA,IAAA,CAAA,QAAA,SAAA,EAAA,EAAA,YAAA,uBAAA,CAAA,IAAA,CAAA,IAAA,CAAA,EAAA,EAAA,KAAA,CAAA,EAAA,KAAA,UAAA,CAAA,IAAA,CAAA,QAAA,MAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA;AAAA,aACA,CAAA;AAAA,YACA,CAAA,EAAA,CAAA;AAAA,WACA,CAAA,IAAA,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,UACA,KAAA,MAAA,CAAA,OAAA,IAAA,SAAA,EAAA,EAAA,mBAAA,MAAA,EAAA;AAAA,YACA,GAAA,EAAA,CAAA;AAAA,YACA,KAAA,EAAA,cAAA,CAAA,EAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA,CAAA,MAAA,EAAA,QAAA,CAAA,GAAA,KAAA,CAAA,cAAA,GAAA,CAAA;AAAA,WACA,EAAA;AAAA,YACA,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,WACA,EAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,SACA,CAAA;AAAA,QACA,CAAA,EAAA,CAAA;AAAA,SACA,EAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,SAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,iCAAA,WAAA,EAAA,CAAA,CAAA,QAAA,EAAA,uFAAA,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,gBAAA,GAAA;AAAA,EACA,MAAA,WAAA,CAAA,IAAA;AAAA,EACA,MAAA,WAAA,CAAA,IAAA;AACA,CAAA,CAAA;AACA,MAAA,gBAAA,eAAA,CAAA;AAAA,EACA,IAAA,EAAA,eAAA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,8BAAA,eAAA,CAAA;AAAA,EACA,GAAA,aAAA;AAAA,EACA,KAAA,EAAA,gBAAA;AAAA,EACA,MAAA,OAAA,EAAA;AACA,IAAA,MAAA,KAAA,GAAA,OAAA,CAAA;AACA,IAAA,OAAA,CAAA,uBAAA,QAAA,CAAA;AAAA,MACA,IAAA,EAAA,KAAA,CAAA,KAAA,EAAA,MAAA,CAAA;AAAA,MACA,IAAA,EAAA,KAAA,CAAA,KAAA,EAAA,MAAA,CAAA;AAAA,KACA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,GAAA,aAAA,QAAA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,MAAA,MAAA,KAAA;AACA,MAAA,OAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,KAAA,EAAA;AAAA,QACA,KAAA,EAAA,eAAA,CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA;AAAA,OACA,EAAA;AAAA,QACA,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,SACA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,IAAA,WAAA,iCAAA,WAAA,EAAA,CAAA,CAAA,QAAA,EAAA,6FAAA,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,QAAA,GAAA,YAAA,MAAA,EAAA;AAAA,EACA,WAAA;AACA,CAAA,CAAA,CAAA;AACA,eAAA,CAAA,WAAA,CAAA,CAAA;AACA,MAAA,SAAA,GAAA,CAAA,OAAA,EAAA,SAAA,EAAA,SAAA,CAAA,CAAA;AACA,MAAA,oBAAA,GAAA,UAAA,CAAA;AACA,MAAA,oBAAA,GAAA,YAAA,CAAA;AACA,MAAA,0BAAA,GAAA;AAAA,EACA,IAAA,EAAA,oBAAA;AAAA,EACA,KAAA,EAAA,oBAAA;AAAA,EACA,IAAA,EAAA,WAAA;AAAA,EACA,IAAA,EAAA,MAAA;AAAA,EACA,KAAA,EAAA,SAAA;AAAA,EACA,QAAA,EAAA,CAAA,EAAA,oBAAA,CAAA,CAAA,EAAA,oBAAA,CAAA,CAAA;AAAA,EACA,UAAA,EAAA,SAAA;AAAA,EACA,SAAA,EAAA,oBAAA;AAAA,EACA,aAAA,EAAA,CAAA,EAAA,oBAAA,CAAA,CAAA,EAAA,oBAAA,CAAA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,aAAA,GAAA,CAAA,KAAA,EAAA,KAAA,KAAA;AACA,EAAA,OAAA;AAAA,IACA,KAAA,GAAA,CAAA,GAAA,KAAA,GAAA,CAAA,GAAA,KAAA,CAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,CAAA,GAAA,KAAA,CAAA;AAAA,GACA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,QAAA,GAAA,CAAA,CAAA,KAAA,KAAA,CAAA,IAAA,CAAA,KAAA,CAAA,IAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA,MAAA,CAAA,CAAA;AACA,MAAA,iBAAA,GAAA,CAAA,MAAA,KAAA;AACA,EAAA,OAAA,MAAA,CAAA,QAAA,kBAAA,EAAA,EAAA,EAAA,OAAA,CAAA,4BAAA,EAAA,EAAA,CAAA,CAAA,IAAA,EAAA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,iBAAA,GAAA,CAAA,MAAA,KAAA;AACA,EAAA,OAAA,MAAA,CAAA,OAAA,CAAA,gDAAA,EAAA,EAAA,EAAA,IAAA,EAAA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,UAAA,GAAA,SAAA,CAAA,EAAA,CAAA,EAAA;AACA,EAAA,MAAA,OAAA,GAAA,OAAA,CAAA,CAAA,CAAA;AACA,EAAA,MAAA,OAAA,GAAA,OAAA,CAAA,CAAA,CAAA;AACA,EAAA,IAAA,WAAA,OAAA,EAAA;AACA,IAAA,OAAA,CAAA,CAAA,OAAA,EAAA,KAAA,CAAA,CAAA,OAAA,EAAA,CAAA;AAAA,GACA;AACA,EAAA,IAAA,CAAA,OAAA,IAAA,CAAA,OAAA,EAAA;AACA,IAAA,OAAA,CAAA,KAAA,CAAA,CAAA;AAAA,GACA;AACA,EAAA,OAAA,KAAA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,WAAA,GAAA,SAAA,CAAA,EAAA,CAAA,EAAA;AACA,EAAA,MAAA,QAAA,GAAA,QAAA,CAAA,CAAA,CAAA;AACA,EAAA,MAAA,QAAA,GAAA,QAAA,CAAA,CAAA,CAAA;AACA,EAAA,IAAA,YAAA,QAAA,EAAA;AACA,IAAA,IAAA,CAAA,CAAA,MAAA,KAAA,CAAA,CAAA,MAAA,EAAA;AACA,MAAA,OAAA,KAAA,CAAA;AAAA,KACA;AACA,IAAA,OAAA,CAAA,CAAA,KAAA,CAAA,CAAA,IAAA,EAAA,MAAA,KAAA,WAAA,IAAA,EAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GACA;AACA,EAAA,IAAA,CAAA,QAAA,IAAA,CAAA,QAAA,EAAA;AACA,IAAA,OAAA,UAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAAA,GACA;AACA,EAAA,OAAA,KAAA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,SAAA,GAAA,SAAA,KAAA,EAAA,MAAA,EAAA,IAAA,EAAA;AACA,EAAA,MAAA,MAAA,OAAA,CAAA,MAAA,CAAA,IAAA,MAAA,KAAA,MAAA,KAAA,CAAA,KAAA,CAAA,CAAA,MAAA,CAAA,IAAA,CAAA,GAAA,KAAA,CAAA,OAAA,MAAA,CAAA,CAAA,OAAA,IAAA,CAAA,CAAA;AACA,EAAA,OAAA,GAAA,CAAA,OAAA,EAAA,GAAA,GAAA,GAAA,KAAA,CAAA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,SAAA,GAAA,SAAA,KAAA,EAAA,MAAA,EAAA,IAAA,EAAA;AACA,EAAA,IAAA,QAAA,MAAA,CAAA;AACA,IAAA,OAAA,KAAA,CAAA;AACA,EAAA,IAAA,MAAA,KAAA,GAAA;AACA,IAAA,OAAA,CAAA,KAAA,CAAA;AACA,EAAA,OAAA,MAAA,KAAA,CAAA,CAAA,OAAA,IAAA,CAAA,CAAA,OAAA,MAAA,CAAA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,QAAA,GAAA,CAAA,KAAA,EAAA,MAAA,KAAA;AACA,EAAA,IAAA,EAAA,CAAA;AACA,EAAA,MAAA,MAAA,EAAA,CAAA;AACA,EAAA,MAAA,WAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,EAAA,CAAA;AACA,EAAA,KAAA,IAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,KAAA,EAAA,CAAA,EAAA,EAAA;AACA,IAAA,GAAA,CAAA,IAAA,CAAA,CAAA,EAAA,GAAA,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,QAAA,CAAA,CAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAA,KAAA,CAAA,CAAA;AAAA,GACA;AACA,EAAA,OAAA,GAAA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,yBAAA,UAAA,CAAA;AAAA,EACA,aAAA,EAAA;AAAA,IACA,IAAA,EAAA,eAAA,QAAA,CAAA;AAAA,GACA;AAAA,EACA,eAAA,EAAA;AAAA,IACA,IAAA,EAAA,eAAA,QAAA,CAAA;AAAA,GACA;AAAA,EACA,eAAA,EAAA;AAAA,IACA,IAAA,EAAA,eAAA,QAAA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,uBAAA,UAAA,CAAA;AAAA,EACA,OAAA,EAAA,OAAA;AAAA,EACA,aAAA,EAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,IACA,OAAA,EAAA,KAAA,CAAA;AAAA,GACA;AAAA,EACA,MAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,OAAA,EAAA,EAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,yBAAA,UAAA,CAAA;AAAA,EACA,EAAA,EAAA;AAAA,IACA,IAAA,EAAA,cAAA,CAAA,CAAA,KAAA,EAAA,MAAA,CAAA,CAAA;AAAA,GACA;AAAA,EACA,IAAA,EAAA;AAAA,IACA,IAAA,EAAA,cAAA,CAAA,CAAA,KAAA,EAAA,MAAA,CAAA,CAAA;AAAA,IACA,OAAA,EAAA,EAAA;AAAA,GACA;AAAA,EACA,WAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,OAAA,EAAA,EAAA;AAAA,GACA;AAAA,EACA,MAAA,EAAA,MAAA;AAAA,EACA,WAAA,EAAA,MAAA;AAAA,EACA,UAAA,EAAA,MAAA;AAAA,EACA,UAAA,EAAA,MAAA;AAAA,EACA,IAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,OAAA,EAAA,EAAA;AAAA,GACA;AAAA,EACA,SAAA,EAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,IACA,OAAA,EAAA,IAAA;AAAA,GACA;AAAA,EACA,SAAA,EAAA;AAAA,IACA,IAAA,EAAA,cAAA,CAAA,CAAA,MAAA,EAAA,MAAA,CAAA,CAAA;AAAA,IACA,OAAA,EAAA,oBAAA;AAAA,GACA;AAAA,EACA,QAAA,EAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,IACA,OAAA,EAAA,IAAA;AAAA,GACA;AAAA,EACA,UAAA,EAAA;AAAA,IACA,IAAA,EAAA,cAAA,CAAA,CAAA,MAAA,EAAA,MAAA,CAAA,CAAA;AAAA,IACA,OAAA,EAAA,EAAA;AAAA,GACA;AAAA,EACA,IAAA,EAAA,WAAA;AAAA,EACA,QAAA,EAAA,OAAA;AAAA,EACA,QAAA,EAAA,OAAA;AAAA,EACA,WAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,OAAA,EAAA,EAAA;AAAA,GACA;AAAA,EACA,aAAA,EAAA;AAAA,IACA,IAAA,EAAA,eAAA,MAAA,CAAA;AAAA,IACA,OAAA,EAAA,OAAA,EAAA,CAAA;AAAA,GACA;AAAA,EACA,UAAA,EAAA;AAAA,IACA,MAAA,cAAA,CAAA,CAAA,MAAA,KAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA;AAAA,IACA,OAAA,EAAA,EAAA;AAAA,GACA;AAAA,EACA,cAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,OAAA,EAAA,GAAA;AAAA,GACA;AAAA,EACA,gBAAA,EAAA,MAAA;AAAA,EACA,cAAA,EAAA,MAAA;AAAA,EACA,YAAA,EAAA;AAAA,IACA,IAAA,EAAA,cAAA,CAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA;AAAA,GACA;AAAA,EACA,WAAA,EAAA;AAAA,IACA,IAAA,EAAA,cAAA,CAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA;AAAA,GACA;AAAA,EACA,OAAA,EAAA,OAAA;AAAA,EACA,GAAA,sBAAA;AAAA,EACA,YAAA,EAAA;AAAA,IACA,IAAA,EAAA,QAAA;AAAA,GACA;AAAA,EACA,aAAA,EAAA;AAAA,IACA,IAAA,EAAA,QAAA;AAAA,GACA;AAAA,EACA,SAAA,EAAA;AAAA,IACA,IAAA,EAAA,KAAA;AAAA,IACA,OAAA,EAAA,MAAA,EAAA;AAAA,GACA;AAAA,EACA,YAAA,EAAA,OAAA;AAAA,EACA,KAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,OAAA,EAAA,KAAA,CAAA;AAAA,GACA;AAAA,EACA,QAAA,EAAA;AAAA,IACA,IAAA,EAAA,cAAA,CAAA,CAAA,MAAA,EAAA,MAAA,CAAA,CAAA;AAAA,IACA,OAAA,EAAA,CAAA;AAAA,GACA;AAAA,EACA,aAAA,EAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,IACA,OAAA,EAAA,IAAA;AAAA,GACA;AAAA,EACA,YAAA,EAAA,OAAA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,eAAA,CAAA,IAAA,EAAA,QAAA,aAAA,EAAA,OAAA,EAAA,YAAA,UAAA,CAAA,CAAA;AACA,MAAA,eAAA,CAAA,IAAA,EAAA,QAAA,aAAA,EAAA,OAAA,EAAA,YAAA,UAAA,CAAA,CAAA;AACA,MAAA,gBAAA,eAAA,CAAA;AAAA,EACA,IAAA,EAAA,QAAA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,8BAAA,eAAA,CAAA;AAAA,EACA,GAAA,aAAA;AAAA,EACA,KAAA,EAAA,sBAAA;AAAA,EACA,KAAA,EAAA;AAAA,IACA,mBAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,iBAAA;AAAA,IACA,cAAA;AAAA,IACA,gBAAA;AAAA,IACA,SAAA;AAAA,GACA;AAAA,EACA,KAAA,CAAA,OAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA;AACA,IAAA,MAAA,KAAA,GAAA,OAAA,CAAA;AACA,IAAA,MAAA,QAAA,UAAA,EAAA,CAAA;AACA,IAAA,MAAA,EAAA,IAAA,EAAA,GAAA,SAAA,EAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,aAAA,MAAA,CAAA,CAAA;AACA,IAAA,MAAA,OAAA,GAAA,aAAA,OAAA,CAAA,CAAA;AACA,IAAA,MAAA,OAAA,GAAA,aAAA,OAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,IAAA,EAAA,QAAA,EAAA,GAAA,WAAA,EAAA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,MAAA,CAAA,iBAAA,EAAA,EAAA,CAAA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,IAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,mBAAA,GAAA,IAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,IAAA,IAAA,CAAA,CAAA;AACA,IAAA,IAAA,qBAAA,GAAA,KAAA,CAAA;AACA,IAAA,IAAA,gBAAA,GAAA,KAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,SAAA,MAAA;AAAA,MACA,MAAA,CAAA,EAAA,QAAA,CAAA;AAAA,MACA,MAAA,CAAA,EAAA,CAAA,QAAA,EAAA,KAAA,CAAA,IAAA,CAAA;AAAA,MACA,OAAA,CAAA,EAAA,SAAA,CAAA;AAAA,MACA,MAAA,CAAA,EAAA,CAAA,UAAA,EAAA,cAAA,CAAA,KAAA,CAAA;AAAA,MACA,MAAA,CAAA,EAAA,CAAA,QAAA,EAAA,aAAA,CAAA,KAAA,CAAA;AAAA,MACA,OAAA,CAAA,EAAA,QAAA,CAAA;AAAA,MACA,aAAA,OAAA,CAAA,EAAA,CAAA,QAAA,EAAA,UAAA,CAAA,KAAA,CAAA,GAAA,EAAA;AAAA,MACA,KAAA,CAAA,KAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,SAAA,MAAA;AAAA,MACA,OAAA,CAAA,EAAA,MAAA,CAAA;AAAA,MACA,OAAA,CAAA,EAAA,YAAA,CAAA;AAAA,MACA,CAAA,SAAA,CAAA,KAAA,GAAA,OAAA,CAAA,CAAA,CAAA,oBAAA,CAAA,GAAA,EAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,KAAA,CAAA,aAAA,EAAA,CAAA,GAAA,KAAA;AACA,MAAA,IAAA,CAAA,GAAA,EAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AACA,QAAA,QAAA,CAAA,MAAA;AACA,UAAA,UAAA,CAAA,MAAA,UAAA,CAAA,CAAA;AAAA,SACA,CAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,QAAA,CAAA,MAAA;AACA,UAAA,IAAA,GAAA,EAAA;AACA,YAAA,WAAA,CAAA,QAAA,KAAA,CAAA,UAAA,CAAA;AAAA,WACA;AAAA,SACA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,CAAA,GAAA,EAAA,OAAA,KAAA;AACA,MAAA,IAAA,WAAA,CAAA,WAAA,CAAA,GAAA,EAAA,WAAA,CAAA,KAAA,CAAA,EAAA;AACA,QAAA,IAAA,CAAA,UAAA,GAAA,CAAA,CAAA;AACA,QAAA,KAAA,CAAA,aAAA,KAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,QAAA,CAAA,QAAA,CAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,CAAA,WAAA,CAAA,KAAA,CAAA,UAAA,EAAA,KAAA,CAAA,EAAA;AACA,QAAA,IAAA,SAAA,CAAA;AACA,QAAA,IAAA,OAAA,CAAA,KAAA,CAAA,EAAA;AACA,UAAA,SAAA,GAAA,KAAA,CAAA,GAAA,CAAA,CAAA,IAAA,KAAA,SAAA,CAAA,MAAA,KAAA,CAAA,WAAA,EAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,mBACA,KAAA,EAAA;AACA,UAAA,SAAA,GAAA,SAAA,CAAA,KAAA,EAAA,KAAA,CAAA,WAAA,EAAA,KAAA,KAAA,CAAA,CAAA;AAAA,SACA;AACA,QAAA,IAAA,CAAA,mBAAA,EAAA,KAAA,GAAA,SAAA,GAAA,KAAA,EAAA,KAAA,KAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,CAAA,CAAA,KAAA;AACA,MAAA,IAAA,CAAA,WAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,SAAA,KAAA,EAAA;AACA,QAAA,MAAA,KAAA,YAAA,CAAA,KAAA,GAAA,QAAA,CAAA,KAAA,GAAA,SAAA,KAAA,CAAA,GAAA,CAAA;AACA,QAAA,OAAA,KAAA,CAAA,IAAA,CAAA,EAAA,CAAA,gBAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,OAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,CAAA,KAAA,EAAA,GAAA,EAAA,GAAA,KAAA;AACA,MAAA,MAAA,UAAA,QAAA,CAAA,KAAA,CAAA;AACA,MAAA,IAAA,CAAA,OAAA,CAAA,MAAA;AACA,QAAA,OAAA;AACA,MAAA,IAAA,CAAA,GAAA,IAAA,GAAA,KAAA,KAAA,EAAA;AACA,QAAA,OAAA,CAAA,CAAA,CAAA,CAAA,iBAAA,CAAA,KAAA,EAAA,GAAA,CAAA,CAAA;AACA,QAAA,OAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA;AAAA,OACA,MAAA,IAAA,QAAA,KAAA,EAAA;AACA,QAAA,OAAA,CAAA,CAAA,CAAA,CAAA,iBAAA,CAAA,KAAA,EAAA,GAAA,CAAA,CAAA;AACA,QAAA,OAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,kBAAA,MAAA;AACA,MAAA,KAAA,CAAA,MAAA,IAAA,CAAA,CAAA;AACA,MAAA,QAAA,CAAA,MAAA;AACA,QAAA,gBAAA,GAAA,KAAA,CAAA;AAAA,OACA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,CAAA,KAAA,GAAA,EAAA,EAAA,UAAA,KAAA,KAAA;AACA,MAAA,IAAA,CAAA,OAAA,EAAA;AACA,QAAA,gBAAA,GAAA,IAAA,CAAA;AAAA,OACA;AACA,MAAA,aAAA,CAAA,KAAA,GAAA,OAAA,CAAA;AACA,MAAA,IAAA,MAAA,CAAA;AACA,MAAA,IAAA,OAAA,CAAA,KAAA,CAAA,EAAA;AACA,QAAA,MAAA,GAAA,MAAA,GAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,QAAA,CAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,MAAA,GAAA,KAAA,GAAA,KAAA,CAAA,MAAA,EAAA,GAAA,KAAA,CAAA;AAAA,OACA;AACA,MAAA,SAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AACA,MAAA,SAAA,CAAA,MAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,eAAA,MAAA;AACA,MAAA,mBAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,SAAA,MAAA;AACA,MAAA,IAAA,CAAA,kBAAA,IAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,sBAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,CAAA,SAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,MAAA,WAAA,GAAA,EAAA;AACA,QAAA,KAAA,CAAA,MAAA,IAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,SAAA,MAAA;AACA,MAAA,mBAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACA,MAAA,aAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACA,MAAA,gBAAA,GAAA,KAAA,CAAA;AACA,MAAA,IAAA,CAAA,kBAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,aAAA,MAAA;AACA,MAAA,aAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,cAAA,MAAA;AACA,MAAA,aAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,KAAA,GAAA,CAAA,eAAA,GAAA,IAAA,EAAA,qBAAA,KAAA,KAAA;AACA,MAAA,gBAAA,GAAA,kBAAA,CAAA;AACA,MAAA,MAAA,CAAA,SAAA,EAAA,UAAA,CAAA,GAAA,MAAA,QAAA,CAAA,CAAA;AACA,MAAA,IAAA,KAAA,GAAA,SAAA,CAAA;AACA,MAAA,IAAA,CAAA,eAAA,IAAA,YAAA,CAAA,KAAA,EAAA;AACA,QAAA,KAAA,GAAA,UAAA,CAAA;AAAA,OACA;AACA,MAAA,IAAA,KAAA,EAAA;AACA,QAAA,KAAA,CAAA,KAAA,EAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,CAAA,CAAA,KAAA;AACA,MAAA,IAAA,MAAA,QAAA,IAAA,cAAA,CAAA,KAAA,IAAA,aAAA,CAAA,SAAA,gBAAA,EAAA;AACA,QAAA,OAAA;AAAA,OACA;AACA,MAAA,aAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AACA,MAAA,IAAA,CAAA,SAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,IAAA,8BAAA,GAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,CAAA,CAAA,KAAA;AACA,MAAA,MAAA,kBAAA,YAAA;AACA,QAAA,UAAA,CAAA,MAAA;AACA,UAAA,IAAA,EAAA,CAAA;AACA,UAAA,IAAA,mCAAA,eAAA,EAAA;AACA,YAAA,IAAA,EAAA,CAAA,CAAA,EAAA,GAAA,SAAA,CAAA,KAAA,KAAA,OAAA,KAAA,CAAA,GAAA,EAAA,CAAA,oBAAA,EAAA,KAAA,CAAA,qBAAA,CAAA,IAAA,QAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA,KAAA,KAAA;AACA,cAAA,OAAA,KAAA,CAAA,QAAA,CAAA,QAAA,CAAA,aAAA,CAAA,CAAA;AAAA,aACA,CAAA,CAAA,MAAA,KAAA,CAAA,EAAA;AACA,cAAA,YAAA,EAAA,CAAA;AACA,cAAA,aAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACA,cAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA;AACA,cAAA,KAAA,CAAA,aAAA,KAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,QAAA,CAAA,MAAA,CAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,aACA;AACA,YAAA,qBAAA,GAAA,KAAA,CAAA;AAAA,WACA;AAAA,WACA,CAAA,CAAA,CAAA;AAAA,OACA,CAAA;AACA,MAAA,8BAAA,GAAA,eAAA,CAAA;AACA,MAAA,eAAA,EAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,KAAA,CAAA,QAAA,KAAA,IAAA,IAAA,IAAA,GAAA,SAAA,IAAA,CAAA,QAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,SAAA,CAAA;AACA,MAAA,IAAA,aAAA,KAAA,EAAA;AACA,QAAA,IAAA,aAAA,CAAA,MAAA,eAAA,EAAA;AACA,UAAA,SAAA,GAAA,aAAA,CAAA,MAAA,eAAA,EAAA,CAAA;AAAA,SACA;AAAA,OACA,MAAA;AACA,QAAA,IAAA,OAAA,CAAA,KAAA,CAAA,UAAA,CAAA,EAAA;AACA,UAAA,SAAA,GAAA,KAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,CAAA,KAAA,SAAA,CAAA,CAAA,EAAA,KAAA,CAAA,WAAA,EAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,SACA,MAAA;AACA,UAAA,SAAA,GAAA,UAAA,KAAA,CAAA,UAAA,EAAA,KAAA,CAAA,WAAA,EAAA,KAAA,KAAA,CAAA,CAAA;AAAA,SACA;AAAA,OACA;AACA,MAAA,IAAA,aAAA,CAAA,MAAA,qBAAA,EAAA;AACA,QAAA,MAAA,eAAA,GAAA,aAAA,CAAA,KAAA,CAAA,qBAAA,CAAA,SAAA,CAAA,CAAA;AACA,QAAA,IAAA,CAAA,OAAA,CAAA,eAAA,EAAA,SAAA,CAAA,EAAA;AACA,UAAA,SAAA,GAAA,eAAA,CAAA;AACA,UAAA,SAAA,CAAA,OAAA,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA,GAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,MAAA,EAAA,CAAA,GAAA,SAAA,CAAA,QAAA,CAAA,CAAA;AAAA,SACA;AAAA,OACA;AACA,MAAA,IAAA,OAAA,CAAA,SAAA,CAAA,IAAA,SAAA,CAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA,EAAA;AACA,QAAA,SAAA,GAAA,EAAA,CAAA;AAAA,OACA;AACA,MAAA,OAAA,SAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,CAAA,cAAA,KAAA,CAAA,UAAA;AACA,QAAA,OAAA,EAAA,CAAA;AACA,MAAA,MAAA,cAAA,GAAA,mBAAA,CAAA,YAAA,CAAA,KAAA,CAAA,CAAA;AACA,MAAA,IAAA,OAAA,CAAA,SAAA,CAAA,KAAA,CAAA,EAAA;AACA,QAAA,OAAA;AAAA,UACA,UAAA,KAAA,CAAA,CAAA,KAAA,cAAA,IAAA,cAAA,CAAA,CAAA,CAAA,IAAA,EAAA;AAAA,UACA,UAAA,KAAA,CAAA,CAAA,KAAA,cAAA,IAAA,cAAA,CAAA,CAAA,CAAA,IAAA,EAAA;AAAA,SACA,CAAA;AAAA,OACA,MAAA,IAAA,SAAA,CAAA,KAAA,KAAA,IAAA,EAAA;AACA,QAAA,OAAA,SAAA,CAAA,KAAA,CAAA;AAAA,OACA;AACA,MAAA,IAAA,CAAA,YAAA,CAAA,KAAA,IAAA,YAAA,CAAA,KAAA;AACA,QAAA,OAAA,EAAA,CAAA;AACA,MAAA,IAAA,CAAA,aAAA,CAAA,KAAA,IAAA,YAAA,CAAA,KAAA;AACA,QAAA,OAAA,EAAA,CAAA;AACA,MAAA,IAAA,cAAA,EAAA;AACA,QAAA,OAAA,aAAA,CAAA,KAAA,GAAA,cAAA,CAAA,IAAA,CAAA,IAAA,CAAA,GAAA,cAAA,CAAA;AAAA,OACA;AACA,MAAA,OAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,mBAAA,QAAA,CAAA,MAAA,MAAA,IAAA,CAAA,QAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,eAAA,QAAA,CAAA,MAAA,MAAA,IAAA,CAAA,UAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,QAAA,CAAA,MAAA,KAAA,CAAA,SAAA,OAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,SAAA,MAAA,KAAA,CAAA,eAAA,gBAAA,CAAA,KAAA,GAAA,gBAAA,gBAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,IAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,KAAA,CAAA,YAAA,cAAA,CAAA,KAAA;AACA,QAAA,OAAA;AACA,MAAA,IAAA,UAAA,KAAA,EAAA;AACA,QAAA,KAAA,CAAA,eAAA,EAAA,CAAA;AACA,QAAA,eAAA,EAAA,CAAA;AACA,QAAA,SAAA,CAAA,IAAA,CAAA,CAAA;AACA,QAAA,UAAA,CAAA,MAAA,IAAA,CAAA,CAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACA,QAAA,aAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACA,QAAA,aAAA,CAAA,KAAA,CAAA,WAAA,IAAA,aAAA,CAAA,KAAA,CAAA,WAAA,EAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,SAAA,MAAA;AACA,MAAA,MAAA,EAAA,YAAA,GAAA,KAAA,CAAA;AACA,MAAA,OAAA,CAAA,cAAA,OAAA,CAAA,UAAA,KAAA,CAAA,UAAA,CAAA,MAAA,CAAA,OAAA,CAAA,CAAA,MAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,OAAA,KAAA,KAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,IAAA,KAAA,CAAA,YAAA,cAAA,CAAA,KAAA;AACA,QAAA,OAAA;AACA,MAAA,IAAA,CAAA,CAAA,EAAA,GAAA,KAAA,CAAA,MAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,MAAA,OAAA,IAAA,QAAA,CAAA,KAAA,CAAA,QAAA,CAAA,QAAA,CAAA,aAAA,CAAA,EAAA;AACA,QAAA,aAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,eAAA,MAAA;AACA,MAAA,IAAA,KAAA,CAAA,YAAA,cAAA,CAAA,KAAA;AACA,QAAA,OAAA;AACA,MAAA,IAAA,CAAA,YAAA,CAAA,KAAA,IAAA,KAAA,CAAA,SAAA,EAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,eAAA,MAAA;AACA,MAAA,SAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,IAAA,KAAA,CAAA,YAAA,cAAA,CAAA,KAAA;AACA,QAAA,OAAA;AACA,MAAA,IAAA,CAAA,CAAA,KAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,WAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,MAAA,WAAA,QAAA,CAAA,KAAA,CAAA,QAAA,CAAA,QAAA,CAAA,aAAA,CAAA,EAAA;AACA,QAAA,aAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,KAAA,CAAA,IAAA,CAAA,QAAA,CAAA,OAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,aAAA,WAAA,EAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AACA,MAAA,OAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAA,SAAA,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,IAAA,KAAA,CAAA,YAAA,CAAA,EAAA;AACA,QAAA,OAAA,MAAA,QAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,OAAA,CAAA,KAAA,KAAA,CAAA,QAAA,CAAA,KAAA,IAAA,GAAA,SAAA,EAAA,CAAA,GAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,cAAA,CAAA,cAAA,EAAA,CAAA,CAAA,KAAA;AACA,MAAA,MAAA,eAAA,GAAA,MAAA,QAAA,CAAA,CAAA;AACA,MAAA,MAAA,OAAA,GAAA,MAAA,cAAA,CAAA,CAAA;AACA,MAAA,IAAA,oBAAA,CAAA,CAAA,MAAA,KAAA,eAAA,IAAA,CAAA,CAAA,cAAA,CAAA,QAAA,CAAA,eAAA,CAAA,CAAA,IAAA,EAAA,MAAA,KAAA,OAAA,IAAA,EAAA,YAAA,EAAA,CAAA,SAAA,OAAA,CAAA;AACA,QAAA,OAAA;AACA,MAAA,aAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,IAAA,IAAA,CAAA,CAAA;AACA,IAAA,MAAA,eAAA,MAAA;AACA,MAAA,IAAA,UAAA,KAAA,EAAA;AACA,QAAA,MAAA,KAAA,GAAA,qBAAA,CAAA,YAAA,CAAA,KAAA,CAAA,CAAA;AACA,QAAA,IAAA,KAAA,EAAA;AACA,UAAA,IAAA,YAAA,CAAA,KAAA,CAAA,EAAA;AACA,YAAA,SAAA,CAAA,OAAA,CAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,MAAA,EAAA,CAAA,GAAA,KAAA,CAAA,QAAA,CAAA,CAAA;AACA,YAAA,SAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,WACA;AAAA,SACA;AAAA,OACA;AACA,MAAA,IAAA,SAAA,CAAA,UAAA,EAAA,EAAA;AACA,QAAA,SAAA,CAAA,IAAA,CAAA,CAAA;AACA,QAAA,UAAA,CAAA,IAAA,CAAA,CAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,qBAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,CAAA,KAAA;AACA,QAAA,OAAA,IAAA,CAAA;AACA,MAAA,OAAA,aAAA,CAAA,KAAA,CAAA,cAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,mBAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,CAAA,KAAA;AACA,QAAA,OAAA,IAAA,CAAA;AACA,MAAA,OAAA,aAAA,CAAA,KAAA,CAAA,cAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,OAAA,aAAA,CAAA,KAAA,CAAA,YAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,kBAAA,GAAA,OAAA,KAAA,KAAA;AACA,MAAA,IAAA,KAAA,CAAA,YAAA,cAAA,CAAA,KAAA;AACA,QAAA,OAAA;AACA,MAAA,MAAA,EAAA,MAAA,GAAA,KAAA,CAAA;AACA,MAAA,WAAA,CAAA,KAAA,CAAA,CAAA;AACA,MAAA,IAAA,IAAA,KAAA,WAAA,GAAA,EAAA;AACA,QAAA,IAAA,aAAA,CAAA,UAAA,IAAA,EAAA;AACA,UAAA,aAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACA,UAAA,KAAA,CAAA,cAAA,EAAA,CAAA;AACA,UAAA,KAAA,CAAA,eAAA,EAAA,CAAA;AAAA,SACA;AACA,QAAA,OAAA;AAAA,OACA;AACA,MAAA,IAAA,IAAA,KAAA,WAAA,IAAA,EAAA;AACA,QAAA,IAAA,aAAA,CAAA,MAAA,iBAAA,EAAA;AACA,UAAA,KAAA,CAAA,cAAA,EAAA,CAAA;AACA,UAAA,KAAA,CAAA,eAAA,EAAA,CAAA;AAAA,SACA;AACA,QAAA,IAAA,aAAA,CAAA,UAAA,KAAA,EAAA;AACA,UAAA,aAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AACA,UAAA,MAAA,QAAA,EAAA,CAAA;AAAA,SACA;AACA,QAAA,IAAA,aAAA,CAAA,MAAA,iBAAA,EAAA;AACA,UAAA,aAAA,CAAA,MAAA,iBAAA,EAAA,CAAA;AACA,UAAA,OAAA;AAAA,SACA;AAAA,OACA;AACA,MAAA,IAAA,IAAA,KAAA,WAAA,GAAA,EAAA;AACA,QAAA,qBAAA,GAAA,IAAA,CAAA;AACA,QAAA,OAAA;AAAA,OACA;AACA,MAAA,IAAA,IAAA,KAAA,UAAA,CAAA,KAAA,IAAA,IAAA,KAAA,WAAA,WAAA,EAAA;AACA,QAAA,IAAA,SAAA,CAAA,KAAA,KAAA,IAAA,IAAA,SAAA,CAAA,KAAA,KAAA,EAAA,IAAA,YAAA,CAAA,qBAAA,CAAA,YAAA,CAAA,KAAA,CAAA,CAAA,EAAA;AACA,UAAA,YAAA,EAAA,CAAA;AACA,UAAA,aAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAAA,SACA;AACA,QAAA,KAAA,CAAA,eAAA,EAAA,CAAA;AACA,QAAA,OAAA;AAAA,OACA;AACA,MAAA,IAAA,UAAA,KAAA,EAAA;AACA,QAAA,KAAA,CAAA,eAAA,EAAA,CAAA;AACA,QAAA,OAAA;AAAA,OACA;AACA,MAAA,IAAA,aAAA,CAAA,MAAA,kBAAA,EAAA;AACA,QAAA,aAAA,CAAA,KAAA,CAAA,mBAAA,KAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,CAAA,CAAA,KAAA;AACA,MAAA,SAAA,CAAA,KAAA,GAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,cAAA,KAAA,EAAA;AACA,QAAA,aAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,MAAA,SAAA,KAAA,CAAA,MAAA,CAAA;AACA,MAAA,IAAA,UAAA,KAAA,EAAA;AACA,QAAA,SAAA,CAAA,QAAA,CAAA,MAAA,CAAA,OAAA,SAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,CAAA,MAAA,CAAA,KAAA,EAAA,IAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,MAAA,SAAA,KAAA,CAAA,MAAA,CAAA;AACA,MAAA,IAAA,UAAA,KAAA,EAAA;AACA,QAAA,SAAA,CAAA,QAAA,CAAA,SAAA,CAAA,MAAA,CAAA,CAAA,EAAA,OAAA,KAAA,CAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,oBAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,MAAA,SAAA,SAAA,CAAA,KAAA,CAAA;AACA,MAAA,MAAA,KAAA,GAAA,qBAAA,CAAA,MAAA,IAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,MAAA,SAAA,GAAA,MAAA,YAAA,CAAA,CAAA;AACA,MAAA,IAAA,KAAA,IAAA,KAAA,CAAA,OAAA,EAAA,EAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA;AAAA,UACA,oBAAA,KAAA,CAAA;AAAA,UAAA,CAAA,CACA,KAAA,YAAA,CAAA,KAAA,KAAA,OAAA,KAAA,CAAA,GAAA,EAAA,CAAA,CAAA,CAAA,KAAA,IAAA;AAAA,SACA,CAAA;AACA,QAAA,MAAA,WAAA,CAAA,KAAA,EAAA,cAAA,SAAA,CAAA,CAAA,KAAA,IAAA,CAAA,CAAA,CAAA;AACA,QAAA,IAAA,YAAA,CAAA,QAAA,CAAA,EAAA;AACA,UAAA,SAAA,CAAA,QAAA,CAAA,CAAA;AACA,UAAA,SAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,SACA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,kBAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,MAAA,MAAA,GAAA,MAAA,SAAA,CAAA,CAAA;AACA,MAAA,MAAA,KAAA,GAAA,qBAAA,CAAA,MAAA,IAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,MAAA,SAAA,GAAA,MAAA,YAAA,CAAA,CAAA;AACA,MAAA,IAAA,KAAA,IAAA,KAAA,CAAA,OAAA,EAAA,EAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA;AAAA,UACA,CAAA,CAAA,EAAA,GAAA,MAAA,YAAA,CAAA,KAAA,OAAA,KAAA,CAAA,GAAA,EAAA,CAAA,CAAA,CAAA,KAAA,IAAA;AAAA,UACA,oBAAA,KAAA,CAAA;AAAA,SACA,CAAA;AACA,QAAA,MAAA,WAAA,CAAA,SAAA,IAAA,SAAA,CAAA,CAAA,GAAA,KAAA,CAAA,CAAA;AACA,QAAA,IAAA,YAAA,CAAA,QAAA,CAAA,EAAA;AACA,UAAA,SAAA,CAAA,QAAA,CAAA,CAAA;AACA,UAAA,SAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,SACA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,CAAA,CAAA,KAAA;AACA,MAAA,aAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AACA,MAAA,aAAA,CAAA,MAAA,UAAA,GAAA,IAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,CAAA,CAAA,KAAA;AACA,MAAA,IAAA,CAAA,mBAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,CAAA,KAAA,EAAA,IAAA,EAAA,IAAA,KAAA;AACA,MAAA,IAAA,CAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,OAAA,CAAA,gBAAA,EAAA;AAAA,MACA,KAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,CAAA;AAAA,MACA,KAAA;AAAA,MACA,gBAAA;AAAA,MACA,eAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA;AAAA,MACA,MAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,MAAA,MAAA,KAAA;AACA,MAAA,OAAA,WAAA,EAAA,WAAA,CAAA,KAAA,CAAA,SAAA,GAAA,UAAA,CAAA;AAAA,QACA,OAAA,EAAA,WAAA;AAAA,QACA,GAAA,EAAA,SAAA;AAAA,QACA,SAAA,aAAA,CAAA,KAAA;AAAA,QACA,MAAA,EAAA,OAAA;AAAA,QACA,IAAA,EAAA,EAAA;AAAA,QACA,OAAA,EAAA,OAAA;AAAA,OACA,EAAA,KAAA,MAAA,EAAA;AAAA,QACA,IAAA,EAAA,QAAA;AAAA,QACA,UAAA,EAAA,EAAA;AAAA,QACA,YAAA,CAAA,EAAA,KAAA,CAAA,MAAA,CAAA,CAAA,UAAA,KAAA,CAAA,YAAA,CAAA;AAAA,QACA,cAAA,EAAA,CAAA,CAAA,EAAA,KAAA,CAAA,MAAA,EAAA,SAAA,CAAA,KAAA,CAAA,eAAA,CAAA,EAAA,IAAA,CAAA,WAAA,CAAA;AAAA,QACA,gBAAA,EAAA,MAAA,eAAA,CAAA;AAAA,QACA,qBAAA,EAAA,CAAA,QAAA,EAAA,KAAA,EAAA,SAAA,MAAA,CAAA;AAAA,QACA,kBAAA,EAAA,KAAA;AAAA,QACA,yBAAA,EAAA,KAAA;AAAA,QACA,YAAA,EAAA,CAAA;AAAA,QACA,UAAA,EAAA,EAAA;AAAA,QACA,YAAA;AAAA,QACA,MAAA;AAAA,QACA,MAAA;AAAA,OACA,CAAA,EAAA;AAAA,QACA,OAAA,EAAA,QAAA,MAAA;AAAA,UACA,CAAA,MAAA,YAAA,CAAA,IAAA,WAAA,EAAA,WAAA,CAAA,KAAA,CAAA,OAAA,CAAA,EAAA;AAAA,YACA,GAAA,EAAA,CAAA;AAAA,YACA,IAAA,IAAA,CAAA,EAAA;AAAA,YACA,OAAA,EAAA,UAAA;AAAA,YACA,GAAA,EAAA,QAAA;AAAA,YACA,gBAAA,EAAA,UAAA;AAAA,YACA,aAAA,EAAA,MAAA,YAAA,CAAA;AAAA,YACA,MAAA,IAAA,CAAA,IAAA;AAAA,YACA,IAAA,EAAA,MAAA,UAAA,CAAA;AAAA,YACA,QAAA,EAAA,MAAA,cAAA,CAAA;AAAA,YACA,aAAA,IAAA,CAAA,WAAA;AAAA,YACA,KAAA,EAAA,eAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,EAAA,KAAA,CAAA,MAAA,CAAA,CAAA,EAAA,CAAA,UAAA,IAAA,CAAA,IAAA,GAAA,IAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AAAA,YACA,KAAA,EAAA,cAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,CAAA;AAAA,YACA,QAAA,EAAA,CAAA,IAAA,CAAA,QAAA,IAAA,IAAA,CAAA,YAAA,KAAA,CAAA,aAAA,CAAA,IAAA,IAAA,CAAA,IAAA,KAAA,MAAA;AAAA,YACA,OAAA,IAAA,CAAA,KAAA;AAAA,YACA,UAAA,IAAA,CAAA,QAAA;AAAA,YACA,gBAAA,EAAA,KAAA;AAAA,YACA,OAAA,EAAA,WAAA;AAAA,YACA,OAAA,EAAA,gBAAA;AAAA,YACA,MAAA,EAAA,eAAA;AAAA,YACA,SAAA,EAAA,kBAAA;AAAA,YACA,QAAA,EAAA,YAAA;AAAA,YACA,WAAA,EAAA,gBAAA;AAAA,YACA,YAAA,EAAA,YAAA;AAAA,YACA,YAAA,EAAA,YAAA;AAAA,YACA,YAAA,EAAA,iBAAA;AAAA,YACA,OAAA,EAAA,OAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,cAAA,MAAA;AAAA,aACA,EAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAAA,WACA,EAAA;AAAA,YACA,MAAA,EAAA,QAAA,MAAA;AAAA,cACA,KAAA,CAAA,WAAA,CAAA,IAAA,SAAA,IAAA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,gBACA,GAAA,EAAA,CAAA;AAAA,gBACA,OAAA,cAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA;AAAA,gBACA,WAAA,EAAA,aAAA,CAAA,gBAAA,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,gBACA,YAAA,EAAA,iBAAA;AAAA,eACA,EAAA;AAAA,gBACA,OAAA,EAAA,QAAA,MAAA;AAAA,mBACA,WAAA,EAAA,WAAA,CAAA,wBAAA,KAAA,CAAA,WAAA,CAAA,CAAA,CAAA;AAAA,iBACA,CAAA;AAAA,gBACA,CAAA,EAAA,CAAA;AAAA,eACA,EAAA,GAAA,CAAA,OAAA,EAAA,aAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,aACA,CAAA;AAAA,YACA,MAAA,EAAA,QAAA,MAAA;AAAA,cACA,SAAA,CAAA,SAAA,IAAA,CAAA,SAAA,IAAA,WAAA,EAAA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,gBACA,GAAA,EAAA,CAAA;AAAA,gBACA,KAAA,EAAA,eAAA,CAAA,EAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,WAAA,CAAA,CAAA;AAAA,gBACA,OAAA,EAAA,aAAA,CAAA,gBAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA,eACA,EAAA;AAAA,gBACA,OAAA,EAAA,QAAA,MAAA;AAAA,mBACA,WAAA,EAAA,WAAA,CAAA,uBAAA,CAAA,IAAA,CAAA,SAAA,CAAA,CAAA;AAAA,iBACA,CAAA;AAAA,gBACA,CAAA,EAAA,CAAA;AAAA,eACA,EAAA,GAAA,CAAA,OAAA,EAAA,SAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,aACA,CAAA;AAAA,YACA,CAAA,EAAA,CAAA;AAAA,WACA,EAAA,GAAA,CAAA,IAAA,EAAA,eAAA,MAAA,EAAA,MAAA,EAAA,YAAA,aAAA,EAAA,OAAA,EAAA,SAAA,UAAA,EAAA,OAAA,EAAA,YAAA,WAAA,CAAA,MAAA,SAAA,EAAA,EAAA,mBAAA,KAAA,EAAA;AAAA,YACA,GAAA,EAAA,CAAA;AAAA,YACA,OAAA,EAAA,UAAA;AAAA,YACA,GAAA,EAAA,QAAA;AAAA,YACA,KAAA,EAAA,cAAA,CAAA,KAAA,CAAA,aAAA,CAAA,CAAA;AAAA,YACA,KAAA,EAAA,cAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,CAAA;AAAA,YACA,OAAA,EAAA,gBAAA;AAAA,YACA,YAAA,EAAA,YAAA;AAAA,YACA,YAAA,EAAA,YAAA;AAAA,YACA,YAAA,EAAA,iBAAA;AAAA,YACA,SAAA,EAAA,kBAAA;AAAA,WACA,EAAA;AAAA,YACA,KAAA,CAAA,WAAA,CAAA,IAAA,SAAA,IAAA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,cACA,GAAA,EAAA,CAAA;AAAA,cACA,KAAA,EAAA,cAAA,CAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,EAAA,MAAA,OAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAAA,cACA,WAAA,EAAA,aAAA,CAAA,gBAAA,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,cACA,YAAA,EAAA,iBAAA;AAAA,aACA,EAAA;AAAA,cACA,OAAA,EAAA,QAAA,MAAA;AAAA,iBACA,WAAA,EAAA,WAAA,CAAA,wBAAA,KAAA,CAAA,WAAA,CAAA,CAAA,CAAA;AAAA,eACA,CAAA;AAAA,cACA,CAAA,EAAA,CAAA;AAAA,aACA,EAAA,GAAA,CAAA,OAAA,EAAA,aAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,YACA,mBAAA,OAAA,EAAA;AAAA,cACA,EAAA,EAAA,IAAA,CAAA,EAAA,IAAA,IAAA,CAAA,GAAA,CAAA,CAAA;AAAA,cACA,YAAA,EAAA,KAAA;AAAA,cACA,IAAA,EAAA,IAAA,CAAA,IAAA,IAAA,IAAA,CAAA,KAAA,CAAA,CAAA;AAAA,cACA,aAAA,IAAA,CAAA,gBAAA;AAAA,cACA,OAAA,KAAA,CAAA,YAAA,KAAA,KAAA,CAAA,YAAA,EAAA,CAAA,CAAA;AAAA,cACA,QAAA,EAAA,MAAA,cAAA,CAAA;AAAA,cACA,QAAA,EAAA,CAAA,IAAA,CAAA,QAAA,IAAA,IAAA,CAAA,QAAA;AAAA,cACA,OAAA,cAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA;AAAA,cACA,WAAA,EAAA,gBAAA;AAAA,cACA,OAAA,EAAA,gBAAA;AAAA,cACA,QAAA,EAAA,iBAAA;AAAA,cACA,OAAA,EAAA,gBAAA;AAAA,cACA,MAAA,EAAA,eAAA;AAAA,aACA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,CAAA;AAAA,YACA,WAAA,IAAA,CAAA,MAAA,EAAA,iBAAA,EAAA,IAAA,MAAA;AAAA,cACA,mBAAA,MAAA,EAAA;AAAA,gBACA,OAAA,cAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,WAAA,CAAA,CAAA;AAAA,eACA,EAAA,eAAA,CAAA,IAAA,CAAA,cAAA,GAAA,CAAA,CAAA;AAAA,aACA,CAAA;AAAA,YACA,mBAAA,OAAA,EAAA;AAAA,cACA,EAAA,EAAA,IAAA,CAAA,EAAA,IAAA,IAAA,CAAA,GAAA,CAAA,CAAA;AAAA,cACA,YAAA,EAAA,KAAA;AAAA,cACA,IAAA,EAAA,IAAA,CAAA,IAAA,IAAA,IAAA,CAAA,KAAA,CAAA,CAAA;AAAA,cACA,aAAA,IAAA,CAAA,cAAA;AAAA,cACA,OAAA,KAAA,CAAA,YAAA,KAAA,KAAA,CAAA,YAAA,EAAA,CAAA,CAAA;AAAA,cACA,QAAA,EAAA,MAAA,cAAA,CAAA;AAAA,cACA,QAAA,EAAA,CAAA,IAAA,CAAA,QAAA,IAAA,IAAA,CAAA,QAAA;AAAA,cACA,OAAA,cAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA;AAAA,cACA,WAAA,EAAA,gBAAA;AAAA,cACA,OAAA,EAAA,gBAAA;AAAA,cACA,MAAA,EAAA,eAAA;AAAA,cACA,OAAA,EAAA,cAAA;AAAA,cACA,QAAA,EAAA,eAAA;AAAA,aACA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,CAAA;AAAA,YACA,KAAA,SAAA,IAAA,SAAA,IAAA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,cACA,GAAA,EAAA,CAAA;AAAA,cACA,KAAA,EAAA,cAAA,CAAA,KAAA,CAAA,YAAA,CAAA,CAAA;AAAA,cACA,OAAA,EAAA,gBAAA;AAAA,aACA,EAAA;AAAA,cACA,OAAA,EAAA,QAAA,MAAA;AAAA,iBACA,WAAA,EAAA,WAAA,CAAA,uBAAA,CAAA,IAAA,CAAA,SAAA,CAAA,CAAA;AAAA,eACA,CAAA;AAAA,cACA,CAAA,EAAA,CAAA;AAAA,aACA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,aACA,EAAA,CAAA,CAAA;AAAA,SACA,CAAA;AAAA,QACA,OAAA,EAAA,QAAA,MAAA;AAAA,UACA,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,EAAA;AAAA,YACA,SAAA,aAAA,CAAA,KAAA;AAAA,YACA,eAAA,mBAAA,CAAA,KAAA;AAAA,YACA,WAAA,EAAA,MAAA,YAAA,CAAA;AAAA,YACA,QAAA,IAAA,CAAA,MAAA;AAAA,YACA,YAAA,IAAA,CAAA,UAAA;AAAA,YACA,YAAA,IAAA,CAAA,UAAA;AAAA,YACA,cAAA,IAAA,CAAA,YAAA;AAAA,YACA,MAAA,IAAA,CAAA,IAAA;AAAA,YACA,cAAA,IAAA,CAAA,YAAA;AAAA,YACA,MAAA;AAAA,YACA,aAAA,EAAA,iBAAA;AAAA,YACA,iBAAA;AAAA,YACA,gBAAA;AAAA,YACA,aAAA;AAAA,YACA,SAAA,EAAA,sBAAA;AAAA,YACA,WAAA,EAAA,OAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,cAAA,MAAA;AAAA,aACA,EAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAAA,WACA,CAAA;AAAA,SACA,CAAA;AAAA,QACA,CAAA,EAAA,CAAA;AAAA,SACA,EAAA,EAAA,CAAA,WAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,IAAA,YAAA,iCAAA,WAAA,EAAA,CAAA,CAAA,QAAA,EAAA,mGAAA,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,uBAAA,UAAA,CAAA;AAAA,EACA,GAAA,oBAAA;AAAA,EACA,YAAA,EAAA,MAAA;AAAA,EACA,WAAA,EAAA;AAAA,IACA,IAAA,EAAA,eAAA,MAAA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,eAAA,CAAA;AAAA,EACA,iBAAA;AAAA,EACA,mBAAA;AAAA,EACA,mBAAA;AACA,CAAA,KAAA;AACA,EAAA,MAAA,gBAAA,GAAA,CAAA,KAAA,EAAA,IAAA,EAAA,OAAA,WAAA,KAAA;AACA,IAAA,MAAA,oBAAA,GAAA;AAAA,MACA,IAAA,EAAA,iBAAA;AAAA,MACA,MAAA,EAAA,mBAAA;AAAA,MACA,MAAA,EAAA,mBAAA;AAAA,KACA,CAAA;AACA,IAAA,IAAA,MAAA,GAAA,KAAA,CAAA;AACA,IAAA,CAAA,QAAA,QAAA,EAAA,QAAA,CAAA,CAAA,OAAA,CAAA,CAAA,IAAA,KAAA;AACA,MAAA,IAAA,oBAAA,CAAA,IAAA,CAAA,EAAA;AACA,QAAA,IAAA,kBAAA,CAAA;AACA,QAAA,MAAA,MAAA,GAAA,qBAAA,IAAA,CAAA,CAAA;AACA,QAAA,QAAA,IAAA;AAAA,UACA,KAAA,QAAA,EAAA;AACA,YAAA,kBAAA,GAAA,MAAA,CAAA,MAAA,CAAA,IAAA,EAAA,EAAA,MAAA,WAAA,CAAA,CAAA;AACA,YAAA,MAAA;AAAA,WACA;AAAA,UACA,KAAA,QAAA,EAAA;AACA,YAAA,kBAAA,GAAA,MAAA,CAAA,OAAA,IAAA,EAAA,EAAA,OAAA,MAAA,EAAA,EAAA,MAAA,WAAA,CAAA,CAAA;AACA,YAAA,MAAA;AAAA,WACA;AAAA,UACA,SAAA;AACA,YAAA,kBAAA,GAAA,MAAA,CAAA,MAAA,WAAA,CAAA,CAAA;AACA,YAAA,MAAA;AAAA,WACA;AAAA,SACA;AACA,QAAA,IAAA,CAAA,kBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,kBAAA,CAAA,MAAA,KAAA,CAAA,kBAAA,CAAA,QAAA,CAAA,MAAA,CAAA,IAAA,CAAA,EAAA,CAAA,EAAA;AACA,UAAA,MAAA,GAAA,GAAA,KAAA,GAAA,CAAA,GAAA,kBAAA,CAAA,MAAA,GAAA,CAAA,CAAA;AACA,UAAA,MAAA,GAAA,MAAA,CAAA,IAAA,CAAA,CAAA,kBAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAAA,SACA;AAAA,OACA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,OAAA,MAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,oBAAA,EAAA,CAAA;AACA,EAAA,MAAA,WAAA,GAAA,CAAA,CAAA,GAAA,EAAA,GAAA,CAAA,KAAA;AACA,IAAA,iBAAA,CAAA,GAAA,CAAA,GAAA,GAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,OAAA;AAAA,IACA,iBAAA;AAAA,IACA,gBAAA;AAAA,IACA,WAAA;AAAA,GACA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,gBAAA,GAAA,CAAA,YAAA,KAAA;AACA,EAAA,MAAA,YAAA,GAAA,CAAA,UAAA,EAAA,MAAA,KAAA,UAAA,IAAA,MAAA,CAAA;AACA,EAAA,MAAA,SAAA,GAAA,CAAA,SAAA,KAAA,SAAA,KAAA,IAAA,CAAA;AACA,EAAA,OAAA,YAAA,CAAA,GAAA,CAAA,YAAA,CAAA,CAAA,OAAA,SAAA,CAAA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,aAAA,EAAA,eAAA,EAAA,eAAA,KAAA;AACA,EAAA,MAAA,YAAA,GAAA,CAAA,IAAA,EAAA,OAAA,KAAA;AACA,IAAA,OAAA,QAAA,CAAA,EAAA,EAAA,aAAA,KAAA,MAAA,aAAA,IAAA,OAAA,KAAA,CAAA,GAAA,aAAA,CAAA,IAAA,EAAA,OAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,cAAA,GAAA,CAAA,IAAA,EAAA,IAAA,EAAA,OAAA,KAAA;AACA,IAAA,OAAA,QAAA,CAAA,EAAA,EAAA,eAAA,KAAA,MAAA,eAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAA,IAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,cAAA,GAAA,CAAA,IAAA,EAAA,MAAA,EAAA,MAAA,OAAA,KAAA;AACA,IAAA,OAAA,QAAA,CAAA,EAAA,EAAA,eAAA,KAAA,MAAA,eAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,OAAA;AAAA,IACA,YAAA;AAAA,IACA,cAAA;AAAA,IACA,cAAA;AAAA,GACA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,4BAAA,GAAA,CAAA,aAAA,EAAA,eAAA,EAAA,eAAA,KAAA;AACA,EAAA,MAAA,EAAA,cAAA,cAAA,EAAA,cAAA,KAAA,YAAA,CAAA,aAAA,EAAA,iBAAA,eAAA,CAAA,CAAA;AACA,EAAA,MAAA,iBAAA,GAAA,CAAA,IAAA,EAAA,OAAA,KAAA;AACA,IAAA,OAAA,gBAAA,CAAA,YAAA,CAAA,IAAA,EAAA,OAAA,CAAA,CAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,mBAAA,GAAA,CAAA,IAAA,EAAA,IAAA,EAAA,OAAA,KAAA;AACA,IAAA,OAAA,gBAAA,CAAA,cAAA,CAAA,IAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,mBAAA,GAAA,CAAA,IAAA,EAAA,MAAA,EAAA,MAAA,OAAA,KAAA;AACA,IAAA,OAAA,iBAAA,cAAA,CAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,OAAA;AAAA,IACA,iBAAA;AAAA,IACA,mBAAA;AAAA,IACA,mBAAA;AAAA,GACA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,WAAA,GAAA,CAAA,KAAA,KAAA;AACA,EAAA,MAAA,QAAA,GAAA,GAAA,CAAA,KAAA,CAAA,WAAA,CAAA,CAAA;AACA,EAAA,KAAA,CAAA,MAAA,KAAA,CAAA,OAAA,EAAA,CAAA,GAAA,KAAA;AACA,IAAA,IAAA,CAAA,GAAA,EAAA;AACA,MAAA,QAAA,CAAA,QAAA,KAAA,CAAA,WAAA,CAAA;AAAA,KACA;AAAA,GACA,CAAA,CAAA;AACA,EAAA,OAAA,QAAA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,QAAA,uBAAA,GAAA,EAAA,CAAA;AACA,IAAA,UAAA,CAAA;AACA,IAAA,QAAA,EAAA;AACA,EAAA,QAAA,CAAA,gBAAA,CAAA,WAAA,EAAA,CAAA,CAAA,KAAA,aAAA,CAAA,CAAA,CAAA;AACA,EAAA,QAAA,CAAA,gBAAA,CAAA,SAAA,EAAA,CAAA,CAAA,KAAA;AACA,IAAA,KAAA,MAAA,QAAA,IAAA,QAAA,CAAA,MAAA,EAAA,EAAA;AACA,MAAA,KAAA,MAAA,EAAA,eAAA,EAAA,IAAA,QAAA,EAAA;AACA,QAAA,eAAA,CAAA,GAAA,UAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA;AAAA,GACA,CAAA,CAAA;AACA,CAAA;AACA,SAAA,qBAAA,CAAA,IAAA,OAAA,EAAA;AACA,EAAA,IAAA,WAAA,EAAA,CAAA;AACA,EAAA,IAAA,KAAA,CAAA,OAAA,CAAA,OAAA,CAAA,GAAA,CAAA,EAAA;AACA,IAAA,QAAA,GAAA,OAAA,CAAA,GAAA,CAAA;AAAA,GACA,MAAA,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,CAAA,EAAA;AACA,IAAA,QAAA,CAAA,IAAA,CAAA,QAAA,GAAA,CAAA,CAAA;AAAA,GACA;AACA,EAAA,OAAA,SAAA,SAAA,SAAA,EAAA;AACA,IAAA,MAAA,SAAA,GAAA,QAAA,QAAA,CAAA,SAAA,CAAA;AACA,IAAA,MAAA,gBAAA,OAAA,CAAA,MAAA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,MAAA,CAAA;AACA,IAAA,MAAA,OAAA,GAAA,CAAA,OAAA,IAAA,CAAA,OAAA,CAAA,QAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,CAAA,aAAA,IAAA,CAAA,eAAA,CAAA;AACA,IAAA,MAAA,kBAAA,EAAA,CAAA,QAAA,CAAA,aAAA,CAAA,IAAA,EAAA,CAAA,SAAA,eAAA,CAAA,CAAA;AACA,IAAA,MAAA,SAAA,EAAA,KAAA,aAAA,CAAA;AACA,IAAA,MAAA,mBAAA,QAAA,CAAA,MAAA,IAAA,SAAA,IAAA,CAAA,CAAA,SAAA,IAAA,IAAA,IAAA,GAAA,SAAA,IAAA,CAAA,QAAA,CAAA,aAAA,CAAA,CAAA,IAAA,SAAA,MAAA,IAAA,QAAA,CAAA,SAAA,eAAA,CAAA,CAAA;AACA,IAAA,MAAA,mBAAA,GAAA,cAAA,SAAA,CAAA,QAAA,CAAA,aAAA,CAAA,IAAA,SAAA,CAAA,SAAA,eAAA,CAAA,CAAA,CAAA;AACA,IAAA,IAAA,OAAA,IAAA,cAAA,IAAA,eAAA,IAAA,MAAA,IAAA,oBAAA,mBAAA,EAAA;AACA,MAAA,OAAA;AAAA,KACA;AACA,IAAA,OAAA,CAAA,KAAA,CAAA,SAAA,SAAA,CAAA,CAAA;AAAA,GACA,CAAA;AACA,CAAA;AACA,MAAA,YAAA,GAAA;AAAA,EACA,WAAA,CAAA,IAAA,OAAA,EAAA;AACA,IAAA,IAAA,CAAA,QAAA,CAAA,GAAA,CAAA,EAAA,CAAA,EAAA;AACA,MAAA,QAAA,CAAA,GAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAAA,KACA;AACA,IAAA,QAAA,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA,IAAA,CAAA;AAAA,MACA,eAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,OAAA,CAAA;AAAA,MACA,WAAA,OAAA,CAAA,KAAA;AAAA,KACA,CAAA,CAAA;AAAA,GACA;AAAA,EACA,OAAA,CAAA,IAAA,OAAA,EAAA;AACA,IAAA,IAAA,CAAA,QAAA,CAAA,GAAA,CAAA,EAAA,CAAA,EAAA;AACA,MAAA,QAAA,CAAA,GAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAAA,KACA;AACA,IAAA,MAAA,QAAA,GAAA,QAAA,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,SAAA,SAAA,CAAA,CAAA,SAAA,IAAA,CAAA,SAAA,KAAA,QAAA,QAAA,CAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA;AAAA,MACA,eAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,OAAA,CAAA;AAAA,MACA,WAAA,OAAA,CAAA,KAAA;AAAA,KACA,CAAA;AACA,IAAA,IAAA,mBAAA,CAAA,EAAA;AACA,MAAA,QAAA,CAAA,MAAA,CAAA,eAAA,EAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,KACA,MAAA;AACA,MAAA,QAAA,CAAA,KAAA,UAAA,CAAA,CAAA;AAAA,KACA;AAAA,GACA;AAAA,EACA,UAAA,EAAA,EAAA;AACA,IAAA,QAAA,CAAA,OAAA,EAAA,CAAA,CAAA;AAAA,GACA;AACA,CAAA,CAAA;AACA,MAAA,eAAA,GAAA,GAAA,CAAA;AACA,MAAA,YAAA,GAAA,GAAA,CAAA;AACA,MAAA,YAAA,GAAA;AAAA,EACA,WAAA,CAAA,IAAA,OAAA,EAAA;AACA,IAAA,MAAA,QAAA,OAAA,CAAA,KAAA,CAAA;AACA,IAAA,MAAA,EAAA,QAAA,GAAA,eAAA,EAAA,KAAA,GAAA,YAAA,KAAA,UAAA,CAAA,KAAA,CAAA,GAAA,EAAA,GAAA,KAAA,CAAA;AACA,IAAA,IAAA,UAAA,CAAA;AACA,IAAA,IAAA,OAAA,CAAA;AACA,IAAA,MAAA,OAAA,GAAA,MAAA,UAAA,CAAA,KAAA,IAAA,KAAA,EAAA,GAAA,MAAA,OAAA,EAAA,CAAA;AACA,IAAA,MAAA,QAAA,MAAA;AACA,MAAA,IAAA,OAAA,EAAA;AACA,QAAA,YAAA,CAAA,OAAA,CAAA,CAAA;AACA,QAAA,OAAA,GAAA,KAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,IAAA,UAAA,EAAA;AACA,QAAA,aAAA,CAAA,UAAA,CAAA,CAAA;AACA,QAAA,UAAA,GAAA,KAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,EAAA,CAAA,gBAAA,CAAA,WAAA,EAAA,CAAA,GAAA,KAAA;AACA,MAAA,IAAA,IAAA,MAAA,KAAA,CAAA;AACA,QAAA,OAAA;AACA,MAAA,KAAA,EAAA,CAAA;AACA,MAAA,OAAA,EAAA,CAAA;AACA,MAAA,QAAA,CAAA,gBAAA,CAAA,SAAA,EAAA,MAAA,KAAA,EAAA,EAAA;AAAA,QACA,IAAA,EAAA,IAAA;AAAA,OACA,CAAA,CAAA;AACA,MAAA,OAAA,GAAA,WAAA,MAAA;AACA,QAAA,UAAA,GAAA,YAAA,MAAA;AACA,UAAA,OAAA,EAAA,CAAA;AAAA,WACA,QAAA,CAAA,CAAA;AAAA,SACA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AAAA,GACA;AACA,CAAA,CAAA;AACA,MAAA,wBAAA,UAAA,CAAA;AAAA,EACA,IAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,QAAA,EAAA,IAAA;AAAA,GACA;AAAA,EACA,WAAA,EAAA;AAAA,IACA,IAAA,EAAA,eAAA,MAAA,CAAA;AAAA,IACA,QAAA,EAAA,IAAA;AAAA,GACA;AAAA,EACA,WAAA,EAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,IACA,OAAA,EAAA,IAAA;AAAA,GACA;AAAA,EACA,YAAA,EAAA,OAAA;AAAA,EACA,QAAA,EAAA;AAAA,IACA,IAAA,EAAA,eAAA,MAAA,CAAA;AAAA,IACA,OAAA,EAAA,EAAA;AAAA,GACA;AAAA,EACA,GAAA,sBAAA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,SAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,cAAA,CAAA,CAAA;AACA,MAAA,8BAAA,eAAA,CAAA;AAAA,EACA,MAAA,EAAA,oBAAA;AAAA,EACA,KAAA,EAAA,qBAAA;AAAA,EACA,KAAA,EAAA,CAAA,QAAA,EAAA,cAAA,EAAA,YAAA,CAAA;AAAA,EACA,KAAA,CAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA;AACA,IAAA,MAAA,KAAA,GAAA,OAAA,CAAA;AACA,IAAA,MAAA,EAAA,GAAA,aAAA,MAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,GAAA,YAAA,CAAA,KAAA,CAAA,aAAA,EAAA,KAAA,CAAA,eAAA,EAAA,KAAA,CAAA,eAAA,CAAA,CAAA;AACA,IAAA,IAAA,WAAA,GAAA,KAAA,CAAA;AACA,IAAA,MAAA,mBAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA;AAAA,MACA,KAAA,EAAA,YAAA;AAAA,MACA,OAAA,EAAA,cAAA;AAAA,MACA,OAAA,EAAA,cAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,MAAA,WAAA,GAAA,SAAA,GAAA,SAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,SAAA,MAAA;AACA,MAAA,MAAA,EAAA,aAAA,GAAA,KAAA,CAAA;AACA,MAAA,MAAA,KAAA,GAAA,YAAA,IAAA,EAAA,CAAA;AACA,MAAA,MAAA,OAAA,GAAA,YAAA,MAAA,EAAA,CAAA;AACA,MAAA,MAAA,OAAA,GAAA,YAAA,MAAA,EAAA,CAAA;AACA,MAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,SAAA,MAAA;AACA,MAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,GAAA,MAAA,YAAA,CAAA,CAAA;AACA,MAAA,OAAA;AAAA,QACA,KAAA,EAAA,YAAA,CAAA,KAAA,CAAA,IAAA,CAAA;AAAA,QACA,OAAA,EAAA,cAAA,CAAA,KAAA,EAAA,KAAA,CAAA,IAAA,CAAA;AAAA,QACA,OAAA,EAAA,cAAA,CAAA,KAAA,EAAA,OAAA,EAAA,MAAA,IAAA,CAAA;AAAA,OACA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,oBAAA,GAAA,SAAA,MAAA;AACA,MAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,GAAA,MAAA,YAAA,CAAA,CAAA;AACA,MAAA,OAAA;AAAA,QACA,KAAA,EAAA,aAAA,CAAA,KAAA,EAAA,EAAA,CAAA;AAAA,QACA,OAAA,EAAA,aAAA,CAAA,OAAA,EAAA,EAAA,CAAA;AAAA,QACA,OAAA,EAAA,aAAA,CAAA,OAAA,EAAA,EAAA,CAAA;AAAA,OACA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,QAAA,CAAA,CAAA,IAAA,KAAA;AACA,MAAA,WAAA,GAAA,KAAA,CAAA;AACA,MAAA,oBAAA,CAAA,IAAA,CAAA,CAAA;AAAA,OACA,GAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,CAAA,IAAA,KAAA;AACA,MAAA,MAAA,cAAA,GAAA,CAAA,CAAA,KAAA,CAAA,QAAA,CAAA;AACA,MAAA,IAAA,CAAA,cAAA;AACA,QAAA,OAAA,EAAA,CAAA;AACA,MAAA,MAAA,SAAA,GAAA,MAAA,QAAA,KAAA,GAAA,CAAA;AACA,MAAA,IAAA,OAAA,GAAA,IAAA,GAAA,EAAA,GAAA,KAAA,GAAA,KAAA,CAAA;AACA,MAAA,IAAA,SAAA;AACA,QAAA,OAAA,GAAA,QAAA,WAAA,EAAA,CAAA;AACA,MAAA,OAAA,OAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,CAAA,IAAA,KAAA;AACA,MAAA,IAAA,KAAA,CAAA;AACA,MAAA,QAAA,IAAA;AAAA,QACA,KAAA,OAAA;AACA,UAAA,KAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AACA,UAAA,MAAA;AAAA,QACA,KAAA,SAAA;AACA,UAAA,KAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AACA,UAAA,MAAA;AAAA,QACA,KAAA,SAAA;AACA,UAAA,KAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AACA,UAAA,MAAA;AAAA,OACA;AACA,MAAA,MAAA,CAAA,IAAA,EAAA,KAAA,CAAA,GAAA,KAAA,CAAA;AACA,MAAA,IAAA,CAAA,cAAA,EAAA,MAAA,KAAA,CAAA,CAAA;AACA,MAAA,gBAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,oBAAA,GAAA,CAAA,IAAA,KAAA;AACA,MAAA,aAAA,CAAA,IAAA,EAAA,KAAA,CAAA,YAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,iBAAA,MAAA;AACA,MAAA,oBAAA,CAAA,OAAA,CAAA,CAAA;AACA,MAAA,oBAAA,CAAA,SAAA,CAAA,CAAA;AACA,MAAA,oBAAA,CAAA,SAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,mBAAA,GAAA,CAAA,EAAA,KAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,EAAA,CAAA,SAAA,CAAA,KAAA,CAAA,gBAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,CAAA,IAAA,EAAA,KAAA,KAAA;AACA,MAAA,IAAA,KAAA,CAAA,YAAA;AACA,QAAA,OAAA;AACA,MAAA,MAAA,SAAA,GAAA,KAAA,CAAA,WAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AACA,MAAA,IAAA,SAAA,IAAA,UAAA,GAAA,EAAA;AACA,QAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,SAAA,GAAA,IAAA,CAAA,IAAA,CAAA,EAAA,KAAA,GAAA,cAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,CAAA,IAAA,KAAA;AACA,MAAA,MAAA,SAAA,GAAA,KAAA,CAAA,WAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AACA,MAAA,MAAA,WAAA,SAAA,IAAA,IAAA,GAAA,SAAA,SAAA,CAAA,GAAA,CAAA,cAAA,IAAA,CAAA,CAAA;AACA,MAAA,IAAA,QAAA,EAAA;AACA,QAAA,OAAA,OAAA,UAAA,CAAA,QAAA,CAAA,QAAA,EAAA,QAAA,CAAA,CAAA,IAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,OAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,cAAA,MAAA;AACA,MAAA,UAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,cAAA,MAAA;AACA,MAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,CAAA,IAAA,KAAA;AACA,MAAA,IAAA,CAAA,iBAAA,KAAA,EAAA;AACA,QAAA,eAAA,CAAA,OAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,MAAA,QAAA,gBAAA,CAAA,KAAA,CAAA;AACA,MAAA,MAAA,GAAA,GAAA,KAAA,CAAA,YAAA,CAAA,CAAA,KAAA,CAAA,CAAA;AACA,MAAA,MAAA,KAAA,GAAA,gBAAA,CAAA,KAAA,KAAA,OAAA,GAAA,EAAA,GAAA,EAAA,CAAA;AACA,MAAA,MAAA,IAAA,GAAA,kBAAA,CAAA,KAAA,EAAA,GAAA,EAAA,MAAA,KAAA,CAAA,CAAA;AACA,MAAA,eAAA,CAAA,OAAA,IAAA,CAAA,CAAA;AACA,MAAA,aAAA,CAAA,OAAA,IAAA,CAAA,CAAA;AACA,MAAA,QAAA,CAAA,MAAA,eAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,kBAAA,GAAA,CAAA,IAAA,EAAA,GAAA,EAAA,MAAA,KAAA,KAAA;AACA,MAAA,IAAA,IAAA,GAAA,CAAA,GAAA,GAAA,IAAA,GAAA,KAAA,IAAA,KAAA,CAAA;AACA,MAAA,MAAA,IAAA,GAAA,KAAA,CAAA,QAAA,CAAA,CAAA,IAAA,CAAA,CAAA;AACA,MAAA,OAAA,IAAA,CAAA,IAAA,CAAA,IAAA,IAAA,KAAA,GAAA,EAAA;AACA,QAAA,IAAA,GAAA,CAAA,IAAA,GAAA,OAAA,KAAA,IAAA,KAAA,CAAA;AAAA,OACA;AACA,MAAA,OAAA,IAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,CAAA,IAAA,EAAA,KAAA,KAAA;AACA,MAAA,MAAA,IAAA,GAAA,KAAA,CAAA,QAAA,CAAA,CAAA,IAAA,CAAA,CAAA;AACA,MAAA,MAAA,UAAA,GAAA,KAAA,KAAA,CAAA,CAAA;AACA,MAAA,IAAA,UAAA;AACA,QAAA,OAAA;AACA,MAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,GAAA,MAAA,YAAA,CAAA,CAAA;AACA,MAAA,IAAA,QAAA,CAAA;AACA,MAAA,QAAA,IAAA;AAAA,QACA,KAAA,OAAA;AACA,UAAA,QAAA,GAAA,KAAA,CAAA,YAAA,IAAA,CAAA,KAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA,MAAA,CAAA,OAAA,CAAA,CAAA;AACA,UAAA,MAAA;AAAA,QACA,KAAA,SAAA;AACA,UAAA,QAAA,GAAA,KAAA,CAAA,YAAA,IAAA,CAAA,KAAA,EAAA,MAAA,CAAA,KAAA,CAAA,CAAA,MAAA,CAAA,OAAA,CAAA,CAAA;AACA,UAAA,MAAA;AAAA,QACA,KAAA,SAAA;AACA,UAAA,QAAA,GAAA,KAAA,CAAA,YAAA,IAAA,CAAA,KAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AACA,UAAA,MAAA;AAAA,OACA;AACA,MAAA,IAAA,CAAA,UAAA,QAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,cAAA,CAAA,IAAA,EAAA,EAAA,KAAA,EAAA,UAAA,KAAA;AACA,MAAA,IAAA,CAAA,QAAA,EAAA;AACA,QAAA,eAAA,CAAA,MAAA,KAAA,CAAA,CAAA;AACA,QAAA,eAAA,CAAA,IAAA,CAAA,CAAA;AACA,QAAA,aAAA,CAAA,MAAA,KAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,CAAA,SAAA,EAAA,IAAA,KAAA;AACA,MAAA,WAAA,CAAA,IAAA,EAAA,KAAA,GAAA,SAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,IAAA,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,IAAA,CAAA,WAAA,CAAA,EAAA,UAAA,CAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,IAAA,CAAA,gBAAA,CAAA,EAAA,eAAA,CAAA,CAAA,CAAA;AACA,IAAA,KAAA,CAAA,MAAA,KAAA,CAAA,WAAA,EAAA,MAAA;AACA,MAAA,IAAA,WAAA;AACA,QAAA,OAAA;AACA,MAAA,cAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,MAAA,MAAA,KAAA;AACA,MAAA,OAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,KAAA,EAAA;AAAA,QACA,KAAA,EAAA,cAAA,CAAA,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,EAAA,EAAA,aAAA,EAAA,IAAA,CAAA,WAAA,EAAA,CAAA,CAAA;AAAA,OACA,EAAA;AAAA,QACA,CAAA,IAAA,CAAA,YAAA,IAAA,SAAA,CAAA,IAAA,GAAA,kBAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,UAAA,CAAA,MAAA,YAAA,CAAA,EAAA,CAAA,IAAA,KAAA;AACA,UAAA,OAAA,SAAA,EAAA,EAAA,WAAA,CAAA,KAAA,CAAA,WAAA,CAAA,EAAA;AAAA,YACA,GAAA,EAAA,IAAA;AAAA,YACA,OAAA,EAAA,IAAA;AAAA,YACA,GAAA,EAAA,CAAA,SAAA,KAAA,MAAA,CAAA,WAAA,IAAA,CAAA;AAAA,YACA,KAAA,EAAA,eAAA,KAAA,CAAA,EAAA,EAAA,EAAA,CAAA,SAAA,EAAA,SAAA,CAAA,CAAA;AAAA,YACA,YAAA,EAAA,sBAAA;AAAA,YACA,cAAA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,WAAA,MAAA,CAAA;AAAA,YACA,QAAA,EAAA,EAAA;AAAA,YACA,GAAA,EAAA,IAAA;AAAA,YACA,YAAA,EAAA,CAAA,MAAA,KAAA,eAAA,CAAA,IAAA,CAAA;AAAA,YACA,WAAA,EAAA,CAAA,MAAA,KAAA,oBAAA,CAAA,IAAA,CAAA;AAAA,WACA,EAAA;AAAA,YACA,OAAA,EAAA,QAAA,MAAA;AAAA,eACA,SAAA,CAAA,IAAA,CAAA,EAAA,kBAAA,CAAA,UAAA,IAAA,EAAA,UAAA,CAAA,KAAA,CAAA,QAAA,CAAA,CAAA,IAAA,CAAA,EAAA,CAAA,UAAA,GAAA,KAAA;AACA,gBAAA,OAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,IAAA,EAAA;AAAA,kBACA,GAAA;AAAA,kBACA,OAAA,cAAA,CAAA;AAAA,oBACA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,WAAA,MAAA,CAAA;AAAA,oBACA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,QAAA,EAAA,QAAA,KAAA,CAAA,YAAA,CAAA,CAAA,IAAA,CAAA,CAAA;AAAA,oBACA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,YAAA,QAAA,CAAA;AAAA,mBACA,CAAA;AAAA,kBACA,OAAA,EAAA,CAAA,MAAA,KAAA,WAAA,CAAA,MAAA,EAAA,KAAA,EAAA,GAAA,EAAA,QAAA,EAAA,CAAA;AAAA,iBACA,EAAA;AAAA,kBACA,IAAA,KAAA,WAAA,SAAA,EAAA,EAAA,mBAAA,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,oBACA,gBAAA,eAAA,CAAA,CAAA,GAAA,IAAA,KAAA,QAAA,GAAA,GAAA,GAAA,MAAA,EAAA,GAAA,GAAA,CAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,eAAA,CAAA,YAAA,GAAA,CAAA,GAAA,CAAA,CAAA;AAAA,mBACA,EAAA,EAAA,CAAA,KAAA,SAAA,EAAA,EAAA,mBAAA,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,oBACA,eAAA,CAAA,iBAAA,GAAA,GAAA,GAAA,EAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AAAA,qBACA,EAAA,CAAA,CAAA;AAAA,iBACA,EAAA,IAAA,YAAA,CAAA,CAAA;AAAA,eACA,GAAA,GAAA,CAAA;AAAA,aACA,CAAA;AAAA,YACA,CAAA,EAAA,CAAA;AAAA,aACA,IAAA,EAAA,CAAA,SAAA,YAAA,EAAA,cAAA,EAAA,aAAA,CAAA,CAAA,CAAA;AAAA,SACA,CAAA,EAAA,GAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,QACA,KAAA,YAAA,IAAA,SAAA,CAAA,IAAA,CAAA,EAAA,mBAAA,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,UAAA,CAAA,KAAA,CAAA,YAAA,CAAA,EAAA,CAAA,IAAA,KAAA;AACA,UAAA,OAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,KAAA,EAAA;AAAA,YACA,GAAA,EAAA,IAAA;AAAA,YACA,OAAA,cAAA,CAAA,CAAA,KAAA,CAAA,EAAA,EAAA,EAAA,CAAA,SAAA,EAAA,SAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAAA,YACA,YAAA,EAAA,CAAA,MAAA,KAAA,eAAA,CAAA,IAAA,CAAA;AAAA,WACA,EAAA;AAAA,YACA,gBAAA,SAAA,EAAA,EAAA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,cACA,KAAA,EAAA,cAAA,CAAA,CAAA,UAAA,EAAA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,CAAA,CAAA;AAAA,aACA,EAAA;AAAA,cACA,OAAA,EAAA,QAAA,MAAA;AAAA,gBACA,WAAA,CAAA,KAAA,CAAA,gBAAA,CAAA,CAAA;AAAA,eACA,CAAA;AAAA,cACA,CAAA,EAAA,CAAA;AAAA,aACA,EAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA,GAAA;AAAA,cACA,CAAA,KAAA,CAAA,YAAA,CAAA,EAAA,WAAA,CAAA;AAAA,aACA,CAAA;AAAA,YACA,gBAAA,SAAA,EAAA,EAAA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,cACA,KAAA,EAAA,cAAA,CAAA,CAAA,YAAA,EAAA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,CAAA,CAAA;AAAA,aACA,EAAA;AAAA,cACA,OAAA,EAAA,QAAA,MAAA;AAAA,gBACA,WAAA,CAAA,KAAA,CAAA,kBAAA,CAAA,CAAA;AAAA,eACA,CAAA;AAAA,cACA,CAAA,EAAA,CAAA;AAAA,aACA,EAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA,GAAA;AAAA,cACA,CAAA,KAAA,CAAA,YAAA,CAAA,EAAA,WAAA,CAAA;AAAA,aACA,CAAA;AAAA,YACA,mBAAA,IAAA,EAAA;AAAA,cACA,KAAA,EAAA,eAAA,KAAA,CAAA,EAAA,EAAA,EAAA,CAAA,SAAA,EAAA,MAAA,CAAA,CAAA;AAAA,aACA,EAAA;AAAA,eACA,SAAA,CAAA,IAAA,CAAA,EAAA,kBAAA,CAAA,UAAA,IAAA,EAAA,UAAA,CAAA,KAAA,CAAA,oBAAA,CAAA,CAAA,IAAA,CAAA,EAAA,CAAA,MAAA,GAAA,KAAA;AACA,gBAAA,OAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,IAAA,EAAA;AAAA,kBACA,GAAA;AAAA,kBACA,OAAA,cAAA,CAAA;AAAA,oBACA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,WAAA,MAAA,CAAA;AAAA,oBACA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,QAAA,EAAA,SAAA,KAAA,CAAA,YAAA,CAAA,CAAA,IAAA,CAAA,CAAA;AAAA,oBACA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,UAAA,EAAA,KAAA,CAAA,QAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA;AAAA,mBACA,CAAA;AAAA,iBACA,EAAA;AAAA,kBACA,OAAA,IAAA,KAAA,QAAA,IAAA,SAAA,EAAA,EAAA,mBAAA,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,oBACA,IAAA,KAAA,WAAA,SAAA,EAAA,EAAA,mBAAA,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,sBACA,gBAAA,eAAA,CAAA,CAAA,GAAA,IAAA,KAAA,QAAA,GAAA,IAAA,GAAA,MAAA,EAAA,GAAA,IAAA,CAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,eAAA,CAAA,YAAA,IAAA,CAAA,GAAA,CAAA,CAAA;AAAA,qBACA,EAAA,EAAA,CAAA,KAAA,SAAA,EAAA,EAAA,mBAAA,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,sBACA,eAAA,CAAA,iBAAA,GAAA,GAAA,IAAA,EAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AAAA,uBACA,EAAA,CAAA,CAAA;AAAA,mBACA,EAAA,EAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,mBACA,CAAA,CAAA,CAAA;AAAA,eACA,GAAA,GAAA,CAAA;AAAA,eACA,CAAA,CAAA;AAAA,WACA,EAAA,IAAA,YAAA,CAAA,CAAA;AAAA,SACA,CAAA,EAAA,GAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,SACA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,IAAA,WAAA,iCAAA,WAAA,EAAA,CAAA,CAAA,QAAA,EAAA,wHAAA,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,8BAAA,eAAA,CAAA;AAAA,EACA,MAAA,EAAA,iBAAA;AAAA,EACA,KAAA,EAAA,oBAAA;AAAA,EACA,KAAA,EAAA,CAAA,MAAA,EAAA,cAAA,EAAA,mBAAA,CAAA;AAAA,EACA,KAAA,CAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA;AACA,IAAA,MAAA,KAAA,GAAA,OAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,OAAA,gBAAA,CAAA,CAAA;AACA,IAAA,MAAA;AAAA,MACA,YAAA;AAAA,MACA,aAAA;AAAA,MACA,eAAA;AAAA,MACA,eAAA;AAAA,MACA,YAAA;AAAA,QACA,UAAA,CAAA,KAAA,CAAA;AACA,IAAA,MAAA,EAAA,mBAAA,mBAAA,EAAA,mBAAA,KAAA,4BAAA,CAAA,aAAA,EAAA,iBAAA,eAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,GAAA,aAAA,MAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,GAAA,SAAA,EAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,GAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,YAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,WAAA,CAAA,MAAA,aAAA,CAAA,GAAA,GAAA,EAAA,CAAA,SAAA,CAAA,KAAA,CAAA,YAAA,CAAA,GAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,KAAA,CAAA,MAAA,CAAA,QAAA,CAAA,IAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,KAAA,CAAA,MAAA,CAAA,QAAA,CAAA,GAAA,CAAA;AACA,QAAA,OAAA,GAAA,CAAA;AACA,MAAA,IAAA,KAAA,CAAA,MAAA,CAAA,QAAA,CAAA,GAAA,CAAA;AACA,QAAA,OAAA,GAAA,CAAA;AACA,MAAA,OAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,MAAA,aAAA,KAAA,CAAA,KAAA,CAAA,CAAA,MAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AACA,MAAA,MAAA,MAAA,GAAA,sBAAA,UAAA,CAAA,CAAA;AACA,MAAA,OAAA,UAAA,CAAA,OAAA,MAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,eAAA,MAAA;AACA,MAAA,IAAA,CAAA,MAAA,EAAA,QAAA,CAAA,KAAA,EAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,CAAA,OAAA,GAAA,KAAA,EAAA,QAAA,KAAA,KAAA;AACA,MAAA,IAAA,KAAA;AACA,QAAA,OAAA;AACA,MAAA,IAAA,CAAA,MAAA,EAAA,KAAA,CAAA,WAAA,EAAA,OAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,CAAA,MAAA,OAAA,EAAA;AACA,QAAA,OAAA;AAAA,OACA;AACA,MAAA,MAAA,MAAA,GAAA,qBAAA,CAAA,KAAA,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,MAAA,EAAA,QAAA,IAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,CAAA,KAAA,EAAA,GAAA,KAAA;AACA,MAAA,IAAA,CAAA,cAAA,EAAA,OAAA,GAAA,CAAA,CAAA;AACA,MAAA,cAAA,CAAA,KAAA,GAAA,CAAA,KAAA,EAAA,GAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,oBAAA,GAAA,CAAA,IAAA,KAAA;AACA,MAAA,MAAA,IAAA,GAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,CAAA,WAAA,CAAA,KAAA,GAAA,CAAA,CAAA,CAAA,GAAA,EAAA,CAAA,CAAA;AACA,MAAA,MAAA,OAAA,GAAA,CAAA,OAAA,EAAA,SAAA,CAAA,CAAA,MAAA,CAAA,WAAA,CAAA,KAAA,GAAA,CAAA,SAAA,CAAA,GAAA,EAAA,CAAA,CAAA;AACA,MAAA,MAAA,SAAA,IAAA,CAAA,OAAA,CAAA,cAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,MAAA,IAAA,GAAA,CAAA,MAAA,GAAA,IAAA,GAAA,IAAA,CAAA,UAAA,IAAA,CAAA,MAAA,CAAA;AACA,MAAA,iBAAA,CAAA,uBAAA,CAAA,CAAA,OAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,MAAA,OAAA,KAAA,CAAA,IAAA,CAAA;AACA,MAAA,MAAA,EAAA,IAAA,EAAA,KAAA,EAAA,EAAA,EAAA,MAAA,GAAA,UAAA,CAAA;AACA,MAAA,IAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,QAAA,CAAA,IAAA,CAAA,EAAA;AACA,QAAA,MAAA,IAAA,GAAA,IAAA,KAAA,IAAA,GAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AACA,QAAA,oBAAA,CAAA,IAAA,CAAA,CAAA;AACA,QAAA,KAAA,CAAA,cAAA,EAAA,CAAA;AACA,QAAA,OAAA;AAAA,OACA;AACA,MAAA,IAAA,CAAA,EAAA,EAAA,IAAA,CAAA,CAAA,QAAA,CAAA,IAAA,CAAA,EAAA;AACA,QAAA,MAAA,IAAA,GAAA,IAAA,KAAA,EAAA,GAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AACA,QAAA,iBAAA,CAAA,kBAAA,EAAA,IAAA,CAAA,CAAA;AACA,QAAA,KAAA,CAAA,cAAA,EAAA,CAAA;AACA,QAAA,OAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,gBAAA,KAAA,YAAA,CAAA;AAAA,MACA,iBAAA;AAAA,MACA,mBAAA;AAAA,MACA,mBAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,qBAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,OAAA,gBAAA,CAAA,KAAA,EAAA,KAAA,CAAA,YAAA,IAAA,IAAA,IAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,CAAA,KAAA;AACA,QAAA,OAAA,IAAA,CAAA;AACA,MAAA,OAAA,MAAA,KAAA,EAAA,KAAA,CAAA,MAAA,CAAA,CAAA,MAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,CAAA,KAAA;AACA,QAAA,OAAA,IAAA,CAAA;AACA,MAAA,OAAA,KAAA,CAAA,MAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,mBAAA,MAAA;AACA,MAAA,OAAA,KAAA,CAAA,YAAA,CAAA,CAAA,MAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,IAAA,CAAA,mBAAA,EAAA,CAAA,cAAA,EAAA,YAAA,CAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,mBAAA,EAAA,CAAA,gBAAA,EAAA,cAAA,CAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,mBAAA,EAAA,CAAA,gBAAA,EAAA,cAAA,CAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,mBAAA,EAAA,CAAA,oBAAA,EAAA,aAAA,CAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,mBAAA,EAAA,CAAA,uBAAA,EAAA,qBAAA,CAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,mBAAA,EAAA,CAAA,iBAAA,EAAA,gBAAA,CAAA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,MAAA,MAAA,KAAA;AACA,MAAA,OAAA,SAAA,IAAA,WAAA,CAAA,UAAA,EAAA,EAAA,IAAA,EAAA,KAAA,CAAA,cAAA,CAAA,EAAA,EAAA;AAAA,QACA,OAAA,EAAA,QAAA,MAAA;AAAA,UACA,KAAA,aAAA,IAAA,IAAA,CAAA,WAAA,SAAA,EAAA,EAAA,mBAAA,KAAA,EAAA;AAAA,YACA,GAAA,EAAA,CAAA;AAAA,YACA,OAAA,cAAA,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA;AAAA,WACA,EAAA;AAAA,YACA,mBAAA,KAAA,EAAA;AAAA,cACA,OAAA,cAAA,CAAA,CAAA,KAAA,CAAA,EAAA,EAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,aAAA,EAAA,KAAA,CAAA,WAAA,CAAA,EAAA,CAAA,CAAA;AAAA,aACA,EAAA;AAAA,cACA,YAAA,WAAA,EAAA;AAAA,gBACA,GAAA,EAAA,SAAA;AAAA,gBACA,IAAA,EAAA,KAAA,YAAA,IAAA,OAAA;AAAA,gBACA,eAAA,EAAA,MAAA,YAAA,CAAA;AAAA,gBACA,cAAA,EAAA,MAAA,WAAA,CAAA;AAAA,gBACA,YAAA,EAAA,MAAA,QAAA,CAAA;AAAA,gBACA,gBAAA,IAAA,CAAA,WAAA;AAAA,gBACA,gBAAA,EAAA,MAAA,aAAA,CAAA;AAAA,gBACA,kBAAA,EAAA,MAAA,eAAA,CAAA;AAAA,gBACA,kBAAA,EAAA,MAAA,eAAA,CAAA;AAAA,gBACA,QAAA,EAAA,YAAA;AAAA,gBACA,WAAA,EAAA,MAAA,WAAA,CAAA;AAAA,gBACA,aAAA,EAAA,iBAAA;AAAA,eACA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,EAAA,eAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,aAAA,CAAA,CAAA;AAAA,eACA,CAAA,CAAA;AAAA,YACA,mBAAA,KAAA,EAAA;AAAA,cACA,KAAA,EAAA,eAAA,KAAA,CAAA,EAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,CAAA,CAAA;AAAA,aACA,EAAA;AAAA,cACA,mBAAA,QAAA,EAAA;AAAA,gBACA,IAAA,EAAA,QAAA;AAAA,gBACA,KAAA,EAAA,cAAA,CAAA,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,OAAA,EAAA,KAAA,CAAA,EAAA,QAAA,CAAA,CAAA;AAAA,gBACA,OAAA,EAAA,YAAA;AAAA,eACA,EAAA,gBAAA,KAAA,CAAA,CAAA,EAAA,sBAAA,CAAA,GAAA,CAAA,CAAA;AAAA,cACA,mBAAA,QAAA,EAAA;AAAA,gBACA,IAAA,EAAA,QAAA;AAAA,gBACA,KAAA,EAAA,cAAA,CAAA,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,OAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,CAAA;AAAA,gBACA,OAAA,EAAA,OAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,aAAA,EAAA,CAAA;AAAA,eACA,EAAA,gBAAA,KAAA,CAAA,CAAA,EAAA,uBAAA,CAAA,GAAA,CAAA,CAAA;AAAA,eACA,CAAA,CAAA;AAAA,WACA,EAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,SACA,CAAA;AAAA,QACA,CAAA,EAAA,CAAA;AAAA,OACA,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,IAAA,aAAA,iCAAA,WAAA,EAAA,CAAA,CAAA,QAAA,EAAA,qHAAA,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,4BAAA,MAAA,EAAA,CAAA;AACA,MAAA,kBAAA,UAAA,CAAA;AAAA,EACA,GAAA,sBAAA;AAAA,EACA,IAAA,EAAA;AAAA,IACA,IAAA,EAAA,eAAA,MAAA,CAAA;AAAA,IACA,OAAA,EAAA,MAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,iBAAA,CAAA,MAAA,EAAA,SAAA,MAAA,EAAA,OAAA,EAAA,QAAA,OAAA,CAAA,CAAA;AACA,MAAA,wBAAA,UAAA,CAAA;AAAA,EACA,YAAA,EAAA;AAAA,IACA,IAAA,EAAA,eAAA,QAAA,CAAA;AAAA,GACA;AAAA,EACA,IAAA,EAAA;AAAA,IACA,IAAA,EAAA,eAAA,MAAA,CAAA;AAAA,IACA,QAAA,EAAA,IAAA;AAAA,GACA;AAAA,EACA,OAAA,EAAA;AAAA,IACA,IAAA,EAAA,eAAA,MAAA,CAAA;AAAA,GACA;AAAA,EACA,OAAA,EAAA;AAAA,IACA,IAAA,EAAA,eAAA,MAAA,CAAA;AAAA,GACA;AAAA,EACA,WAAA,EAAA;AAAA,IACA,IAAA,EAAA,cAAA,CAAA,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAAA,GACA;AAAA,EACA,UAAA,EAAA;AAAA,IACA,IAAA,EAAA,eAAA,MAAA,CAAA;AAAA,IACA,SAAA,OAAA;AAAA,MACA,OAAA,EAAA,IAAA;AAAA,MACA,SAAA,EAAA,KAAA;AAAA,KACA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,mBAAA,UAAA,CAAA;AAAA,EACA,IAAA,EAAA;AAAA,IACA,IAAA,EAAA,eAAA,MAAA,CAAA;AAAA,IACA,QAAA,EAAA,IAAA;AAAA,IACA,MAAA,EAAA,aAAA;AAAA,GACA;AAAA,EACA,UAAA,EAAA,MAAA;AAAA,EACA,UAAA,EAAA,MAAA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,wBAAA,UAAA,CAAA;AAAA,EACA,YAAA,EAAA,OAAA;AAAA,EACA,WAAA,EAAA;AAAA,IACA,IAAA,EAAA,eAAA,KAAA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,wBAAA,GAAA,CAAA,IAAA,KAAA;AACA,EAAA,OAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,MAAA,EAAA,cAAA;AAAA,IACA,OAAA,EAAA,IAAA;AAAA,GACA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,qBAAA,UAAA,CAAA;AAAA,EACA,GAAA,gBAAA;AAAA,EACA,WAAA,EAAA;AAAA,IACA,IAAA,EAAA,cAAA,CAAA,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAAA,GACA;AAAA,EACA,OAAA,EAAA;AAAA,IACA,IAAA,EAAA,OAAA;AAAA,GACA;AAAA,EACA,MAAA,EAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,IACA,OAAA,EAAA,EAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,sBAAA,UAAA,CAAA;AAAA,EACA,GAAA,qBAAA;AAAA,EACA,aAAA,EAAA;AAAA,IACA,IAAA,EAAA,eAAA,QAAA,CAAA;AAAA,GACA;AAAA,EACA,cAAA,EAAA,OAAA;AAAA,EACA,aAAA,EAAA,yBAAA,MAAA,CAAA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,mBAAA,GAAA,CAAA,aAAA,EAAA,MAAA,EAAA,QAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,KAAA,KAAA;AACA,EAAA,IAAA,CAAA,QAAA,KAAA,CAAA;AACA,IAAA,OAAA,KAAA,CAAA;AACA,EAAA,MAAA,CAAA,IAAA,EAAA,KAAA,CAAA,GAAA,KAAA,CAAA;AACA,EAAA,OAAA,KAAA,CAAA,OAAA,CAAA,IAAA,CAAA,IAAA,KAAA,CAAA,QAAA,KAAA,CAAA,IAAA,IAAA,CAAA,cAAA,CAAA,KAAA,CAAA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,eAAA,GAAA,CAAA,YAAA,EAAA,EAAA,MAAA,IAAA,EAAA,KAAA,EAAA,cAAA,KAAA;AACA,EAAA,IAAA,KAAA,CAAA;AACA,EAAA,IAAA,OAAA,CAAA,YAAA,CAAA,EAAA;AACA,IAAA,IAAA,CAAA,IAAA,EAAA,KAAA,CAAA,GAAA,YAAA,CAAA,GAAA,CAAA,CAAA,CAAA,KAAA,KAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,YAAA,EAAA;AACA,MAAA,KAAA,GAAA,IAAA,CAAA,GAAA,CAAA,CAAA,EAAA,KAAA,CAAA,CAAA;AAAA,KACA;AACA,IAAA,OAAA,CAAA,MAAA,KAAA,CAAA,CAAA;AAAA,aACA,YAAA,EAAA;AACA,IAAA,KAAA,GAAA,MAAA,YAAA,CAAA,CAAA;AAAA,GACA,MAAA;AACA,IAAA,KAAA,GAAA,KAAA,EAAA,CAAA;AAAA,GACA;AACA,EAAA,KAAA,GAAA,KAAA,CAAA,OAAA,IAAA,CAAA,CAAA;AACA,EAAA,OAAA,CAAA,KAAA,EAAA,KAAA,CAAA,GAAA,CAAA,CAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,gBAAA,GAAA,CAAA,SAAA,EAAA,IAAA,EAAA;AAAA,EACA,iBAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA,GAAA;AAAA,EACA,IAAA,EAAA,KAAA;AAAA,EACA,kBAAA;AAAA,EACA,eAAA;AAAA,EACA,cAAA;AACA,CAAA,KAAA;AACA,EAAA,KAAA,IAAA,QAAA,GAAA,CAAA,EAAA,QAAA,GAAA,SAAA,CAAA,KAAA,QAAA,EAAA,EAAA;AACA,IAAA,MAAA,GAAA,GAAA,KAAA,QAAA,CAAA,CAAA;AACA,IAAA,KAAA,IAAA,WAAA,GAAA,CAAA,EAAA,WAAA,GAAA,SAAA,CAAA,QAAA,WAAA,EAAA,EAAA;AACA,MAAA,IAAA,IAAA,GAAA,GAAA,CAAA,WAAA,GAAA,iBAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,IAAA,EAAA;AACA,QAAA,IAAA,GAAA;AAAA,UACA,GAAA,EAAA,QAAA;AAAA,UACA,MAAA,EAAA,WAAA;AAAA,UACA,IAAA,EAAA,QAAA;AAAA,UACA,OAAA,EAAA,KAAA;AAAA,UACA,KAAA,EAAA,KAAA;AAAA,UACA,GAAA,EAAA,KAAA;AAAA,SACA,CAAA;AAAA,OACA;AACA,MAAA,MAAA,MAAA,GAAA,QAAA,GAAA,SAAA,CAAA,MAAA,GAAA,WAAA,CAAA;AACA,MAAA,MAAA,aAAA,GAAA,mBAAA,MAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,KAAA,GAAA,aAAA,CAAA;AACA,MAAA,IAAA,CAAA,IAAA,GAAA,cAAA,MAAA,EAAA,CAAA;AACA,MAAA,IAAA,CAAA,SAAA,GAAA,cAAA,OAAA,EAAA,CAAA;AACA,MAAA,IAAA,CAAA,IAAA,GAAA,QAAA,CAAA;AACA,MAAA,IAAA,CAAA,OAAA,GAAA,CAAA,EAAA,SAAA,IAAA,aAAA,CAAA,aAAA,CAAA,SAAA,EAAA,KAAA,CAAA,IAAA,WAAA,IAAA,aAAA,CAAA,cAAA,CAAA,WAAA,EAAA,KAAA,CAAA,CAAA,IAAA,CAAA,EAAA,SAAA,IAAA,aAAA,CAAA,cAAA,CAAA,SAAA,EAAA,KAAA,CAAA,IAAA,WAAA,IAAA,aAAA,CAAA,aAAA,CAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACA,MAAA,IAAA,aAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,aAAA,CAAA,WAAA,CAAA,EAAA;AACA,QAAA,IAAA,CAAA,QAAA,CAAA,CAAA,eAAA,aAAA,CAAA,MAAA,CAAA,aAAA,KAAA,CAAA,CAAA;AACA,QAAA,IAAA,CAAA,GAAA,GAAA,SAAA,IAAA,aAAA,CAAA,MAAA,CAAA,WAAA,KAAA,CAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,IAAA,CAAA,QAAA,CAAA,CAAA,aAAA,aAAA,CAAA,MAAA,CAAA,WAAA,KAAA,CAAA,CAAA;AACA,QAAA,IAAA,CAAA,MAAA,CAAA,CAAA,eAAA,aAAA,CAAA,MAAA,CAAA,aAAA,KAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,MAAA,OAAA,GAAA,aAAA,CAAA,MAAA,CAAA,GAAA,EAAA,KAAA,CAAA,CAAA;AACA,MAAA,IAAA,OAAA,EAAA;AACA,QAAA,IAAA,CAAA,IAAA,GAAA,OAAA,CAAA;AAAA,OACA;AACA,MAAA,eAAA,IAAA,OAAA,KAAA,CAAA,GAAA,eAAA,CAAA,MAAA,EAAA,QAAA,EAAA,aAAA,CAAA,CAAA;AACA,MAAA,GAAA,CAAA,WAAA,GAAA,iBAAA,CAAA,GAAA,IAAA,CAAA;AAAA,KACA;AACA,IAAA,cAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,cAAA,CAAA,GAAA,CAAA,CAAA;AAAA,GACA;AACA,CAAA,CAAA;AACA,MAAA,WAAA,GAAA,CAAA,IAAA,GAAA,EAAA,KAAA;AACA,EAAA,OAAA,CAAA,QAAA,EAAA,OAAA,CAAA,CAAA,SAAA,IAAA,CAAA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,iBAAA,GAAA,CAAA,KAAA,EAAA,IAAA,KAAA;AACA,EAAA,MAAA,EAAA,IAAA,EAAA,GAAA,SAAA,EAAA,CAAA;AACA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA;AACA,EAAA,MAAA,iBAAA,GAAA,EAAA,CAAA;AACA,EAAA,MAAA,UAAA,GAAA,EAAA,CAAA;AACA,EAAA,MAAA,aAAA,GAAA,EAAA,CAAA;AACA,EAAA,MAAA,SAAA,GAAA,GAAA,CAAA,CAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA;AACA,EAAA,IAAA,cAAA,GAAA,KAAA,CAAA;AACA,EAAA,MAAA,cAAA,GAAA,KAAA,CAAA,IAAA,CAAA,OAAA,GAAA,SAAA,IAAA,CAAA,CAAA;AACA,EAAA,MAAA,cAAA,GAAA,KAAA,CAAA,IAAA,CAAA,MAAA,CAAA,IAAA,CAAA,CAAA,UAAA,EAAA,CAAA,aAAA,GAAA,GAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,aAAA,CAAA,CAAA;AACA,EAAA,MAAA,SAAA,GAAA,SAAA,MAAA;AACA,IAAA,OAAA,cAAA,GAAA,CAAA,GAAA,CAAA,GAAA,cAAA,GAAA,CAAA,cAAA,CAAA;AAAA,GACA,CAAA,CAAA;AACA,EAAA,MAAA,SAAA,GAAA,SAAA,MAAA;AACA,IAAA,MAAA,eAAA,GAAA,KAAA,CAAA,IAAA,CAAA,OAAA,CAAA,OAAA,CAAA,CAAA;AACA,IAAA,OAAA,gBAAA,QAAA,CAAA,eAAA,CAAA,GAAA,EAAA,IAAA,GAAA,KAAA,CAAA,CAAA;AAAA,GACA,CAAA,CAAA;AACA,EAAA,MAAA,KAAA,GAAA,SAAA,MAAA;AACA,IAAA,OAAA,eAAA,MAAA,CAAA,cAAA,EAAA,KAAA,CAAA,cAAA,EAAA,iBAAA,CAAA,CAAA,CAAA;AAAA,GACA,CAAA,CAAA;AACA,EAAA,MAAA,UAAA,GAAA,SAAA,MAAA;AACA,IAAA,OAAA,QAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,GAAA,KAAA;AACA,MAAA,OAAA,GAAA,CAAA,SAAA,CAAA;AAAA,KACA,CAAA,CAAA;AAAA,GACA,CAAA,CAAA;AACA,EAAA,MAAA,IAAA,GAAA,SAAA,MAAA;AACA,IAAA,MAAA,YAAA,GAAA,KAAA,CAAA,IAAA,CAAA,OAAA,CAAA,OAAA,CAAA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,YAAA,CAAA,GAAA,EAAA,IAAA,CAAA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,aAAA,WAAA,EAAA,CAAA;AACA,IAAA,MAAA,uBAAA,YAAA,CAAA,QAAA,CAAA,CAAA,EAAA,OAAA,EAAA,WAAA,EAAA,CAAA;AACA,IAAA,OAAA;AAAA,MACA,eAAA;AAAA,MACA,gBAAA;AAAA,MACA,oBAAA;AAAA,KACA,CAAA;AAAA,GACA,CAAA,CAAA;AACA,EAAA,MAAA,YAAA,GAAA,SAAA,MAAA;AACA,IAAA,OAAA,MAAA,aAAA,KAAA,OAAA,GAAA,UAAA,KAAA,CAAA,WAAA,IAAA,EAAA,CAAA;AAAA,GACA,CAAA,CAAA;AACA,EAAA,MAAA,cAAA,CAAA,IAAA,EAAA,EAAA,KAAA,EAAA,QAAA,EAAA,aAAA,KAAA;AACA,IAAA,MAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,GAAA,MAAA,IAAA,CAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,MAAA,SAAA,CAAA,CAAA;AACA,IAAA,IAAA,QAAA,IAAA,CAAA,IAAA,QAAA,IAAA,CAAA,EAAA;AACA,MAAA,MAAA,gCAAA,eAAA,GAAA,MAAA,GAAA,IAAA,CAAA,GAAA,eAAA,GAAA,SAAA,eAAA,GAAA,MAAA,CAAA;AACA,MAAA,IAAA,WAAA,GAAA,QAAA,GAAA,CAAA,IAAA,6BAAA,EAAA;AACA,QAAA,IAAA,CAAA,IAAA,GAAA,KAAA,CAAA;AACA,QAAA,OAAA,IAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,IAAA,CAAA,OAAA,oBAAA,IAAA,6BAAA,GAAA,WAAA,GAAA,CAAA,CAAA,GAAA,IAAA,QAAA,GAAA,CAAA,CAAA;AACA,QAAA,IAAA,CAAA,IAAA,GAAA,YAAA,CAAA;AAAA,OACA;AAAA,KACA,MAAA;AACA,MAAA,IAAA,SAAA,gBAAA,EAAA;AACA,QAAA,IAAA,CAAA,IAAA,GAAA,KAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,IAAA,CAAA,OAAA,KAAA,GAAA,gBAAA,CAAA;AACA,QAAA,IAAA,CAAA,IAAA,GAAA,YAAA,CAAA;AAAA,OACA;AACA,MAAA,OAAA,IAAA,CAAA;AAAA,KACA;AACA,IAAA,OAAA,KAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,kBAAA,CAAA,IAAA,EAAA,EAAA,WAAA,EAAA,QAAA,IAAA,KAAA,KAAA;AACA,IAAA,MAAA,EAAA,YAAA,EAAA,aAAA,EAAA,aAAA,EAAA,GAAA,KAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,MAAA,YAAA,CAAA,CAAA;AACA,IAAA,MAAA,kBAAA,WAAA,CAAA,IAAA,EAAA,EAAA,KAAA,EAAA,QAAA,EAAA,aAAA,CAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,IAAA,CAAA,KAAA,CAAA,MAAA,EAAA,CAAA;AACA,IAAA,IAAA,CAAA,QAAA,GAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,OAAA,EAAA,KAAA,IAAA,CAAA,KAAA,CAAA,OAAA,EAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,UAAA,GAAA,CAAA,CAAA,IAAA,CAAA,QAAA,CAAA;AACA,IAAA,IAAA,CAAA,SAAA,GAAA,UAAA,IAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,QAAA,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,cAAA,QAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,WAAA,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,cAAA,QAAA,CAAA,CAAA;AACA,IAAA,OAAA,eAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,cAAA,GAAA,CAAA,GAAA,KAAA;AACA,IAAA,IAAA,KAAA,CAAA,kBAAA,MAAA,EAAA;AACA,MAAA,MAAA,CAAA,KAAA,EAAA,GAAA,CAAA,GAAA,KAAA,CAAA,cAAA,GAAA,CAAA,CAAA,EAAA,CAAA,CAAA,GAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AACA,MAAA,MAAA,QAAA,GAAA,YAAA,CAAA,GAAA,CAAA,KAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,GAAA,CAAA,KAAA,EAAA,OAAA,GAAA,QAAA,CAAA;AACA,MAAA,GAAA,CAAA,KAAA,EAAA,KAAA,GAAA,QAAA,CAAA;AACA,MAAA,GAAA,CAAA,GAAA,EAAA,OAAA,GAAA,QAAA,CAAA;AACA,MAAA,GAAA,CAAA,GAAA,EAAA,GAAA,GAAA,QAAA,CAAA;AAAA,KACA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,IAAA,GAAA,SAAA,MAAA;AACA,IAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,UAAA,EAAA,gBAAA,GAAA,KAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,MAAA,SAAA,CAAA,CAAA;AACA,IAAA,MAAA,KAAA,GAAA,MAAA,SAAA,CAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,KAAA,CAAA;AACA,IAAA,IAAA,KAAA,GAAA,CAAA,CAAA;AACA,IAAA,IAAA,cAAA,EAAA;AACA,MAAA,KAAA,IAAA,QAAA,GAAA,CAAA,EAAA,QAAA,GAAA,CAAA,EAAA,QAAA,EAAA,EAAA;AACA,QAAA,IAAA,CAAA,KAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,EAAA;AACA,UAAA,KAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,GAAA;AAAA,YACA,IAAA,EAAA,MAAA;AAAA,YACA,IAAA,EAAA,KAAA,CAAA,SAAA,CAAA,CAAA,GAAA,CAAA,WAAA,CAAA,GAAA,CAAA,EAAA,QAAA,CAAA,CAAA,IAAA,EAAA;AAAA,WACA,CAAA;AAAA,SACA;AAAA,OACA;AAAA,KACA;AACA,IAAA,gBAAA,CAAA,EAAA,GAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,IAAA,KAAA,EAAA;AAAA,MACA,SAAA,EAAA,OAAA;AAAA,MACA,iBAAA,EAAA,iBAAA,CAAA,GAAA,CAAA;AAAA,MACA,aAAA,UAAA,CAAA,OAAA,IAAA,OAAA,IAAA,UAAA,CAAA,aAAA,OAAA,IAAA,IAAA;AAAA,MACA,GAAA,EAAA,OAAA,CAAA,MAAA,CAAA,MAAA,IAAA,CAAA,CAAA,CAAA,OAAA,CAAA,QAAA,CAAA;AAAA,MACA,IAAA,EAAA,QAAA;AAAA,MACA,kBAAA,EAAA,CAAA,GAAA,KAAA,KAAA,CAAA,SAAA,CAAA,CAAA,GAAA,CAAA,GAAA,GAAA,MAAA,EAAA,QAAA,CAAA;AAAA,MACA,eAAA,EAAA,IAAA,IAAA,KAAA;AACA,QAAA,IAAA,eAAA,CAAA,GAAA,IAAA,EAAA,KAAA,CAAA,EAAA;AACA,UAAA,KAAA,IAAA,CAAA,CAAA;AAAA,SACA;AAAA,OACA;AAAA,MACA,cAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,OAAA,KAAA,CAAA;AAAA,GACA,CAAA,CAAA;AACA,EAAA,KAAA,CAAA,MAAA,KAAA,CAAA,IAAA,EAAA,YAAA;AACA,IAAA,IAAA,EAAA,CAAA;AACA,IAAA,IAAA,CAAA,EAAA,GAAA,KAAA,CAAA,QAAA,CAAA,KAAA,IAAA,GAAA,SAAA,EAAA,CAAA,QAAA,CAAA,QAAA,CAAA,aAAA,CAAA,EAAA;AACA,MAAA,MAAA,QAAA,EAAA,CAAA;AACA,MAAA,MAAA,KAAA,EAAA,CAAA;AAAA,KACA;AAAA,GACA,CAAA,CAAA;AACA,EAAA,MAAA,QAAA,YAAA;AACA,IAAA,IAAA,EAAA,CAAA;AACA,IAAA,OAAA,CAAA,KAAA,KAAA,CAAA,cAAA,MAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,KAAA,EAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,SAAA,GAAA,CAAA,IAAA,KAAA;AACA,IAAA,OAAA,KAAA,CAAA,aAAA,KAAA,MAAA,IAAA,WAAA,CAAA,IAAA,CAAA,IAAA,CAAA,IAAA,eAAA,CAAA,IAAA,EAAA,KAAA,CAAA,WAAA,CAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,eAAA,GAAA,CAAA,IAAA,EAAA,KAAA,KAAA;AACA,IAAA,IAAA,CAAA,KAAA;AACA,MAAA,OAAA,KAAA,CAAA;AACA,IAAA,OAAA,MAAA,KAAA,CAAA,CAAA,MAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,CAAA,KAAA,CAAA,KAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,CAAA,GAAA,KAAA,CAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,aAAA,GAAA,CAAA,GAAA,EAAA,MAAA,KAAA;AACA,IAAA,MAAA,eAAA,GAAA,MAAA,CAAA,IAAA,MAAA,IAAA,MAAA,cAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA,GAAA,KAAA,CAAA,SAAA,CAAA,CAAA;AACA,IAAA,OAAA,KAAA,CAAA,SAAA,CAAA,CAAA,GAAA,CAAA,iBAAA,KAAA,CAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,eAAA,GAAA,CAAA,KAAA,KAAA;AACA,IAAA,IAAA,EAAA,CAAA;AACA,IAAA,IAAA,CAAA,MAAA,UAAA,CAAA,SAAA;AACA,MAAA,OAAA;AACA,IAAA,IAAA,SAAA,KAAA,CAAA,MAAA,CAAA;AACA,IAAA,IAAA,MAAA,CAAA,YAAA,MAAA,EAAA;AACA,MAAA,MAAA,GAAA,CAAA,EAAA,GAAA,MAAA,CAAA,UAAA,KAAA,IAAA,GAAA,SAAA,EAAA,CAAA,UAAA,CAAA;AAAA,KACA;AACA,IAAA,IAAA,MAAA,CAAA,YAAA,KAAA,EAAA;AACA,MAAA,MAAA,GAAA,MAAA,CAAA,UAAA,CAAA;AAAA,KACA;AACA,IAAA,IAAA,OAAA,OAAA,KAAA,IAAA;AACA,MAAA,OAAA;AACA,IAAA,MAAA,GAAA,GAAA,MAAA,CAAA,UAAA,CAAA,QAAA,GAAA,CAAA,CAAA;AACA,IAAA,MAAA,SAAA,MAAA,CAAA,SAAA,CAAA;AACA,IAAA,IAAA,MAAA,IAAA,CAAA,CAAA,GAAA,CAAA,CAAA,MAAA,CAAA,CAAA,QAAA;AACA,MAAA,OAAA;AACA,IAAA,IAAA,QAAA,KAAA,CAAA,OAAA,KAAA,MAAA,KAAA,KAAA,CAAA,UAAA,CAAA,EAAA;AACA,MAAA,OAAA,CAAA,KAAA,GAAA,GAAA,CAAA;AACA,MAAA,UAAA,CAAA,KAAA,GAAA,MAAA,CAAA;AACA,MAAA,IAAA,CAAA,aAAA,EAAA;AAAA,QACA,SAAA,EAAA,IAAA;AAAA,QACA,OAAA,EAAA,aAAA,CAAA,GAAA,EAAA,MAAA,CAAA;AAAA,OACA,CAAA,CAAA;AAAA,KACA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,cAAA,GAAA,CAAA,IAAA,KAAA;AACA,IAAA,OAAA,CAAA,KAAA,CAAA,UAAA,CAAA,IAAA,CAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,IAAA,MAAA,CAAA,IAAA,IAAA,CAAA,IAAA,KAAA,YAAA,IAAA,CAAA,SAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,WAAA,GAAA,CAAA,KAAA,KAAA;AACA,IAAA,IAAA,cAAA,IAAA,KAAA,CAAA,UAAA,CAAA,IAAA,MAAA,aAAA,KAAA,MAAA;AACA,MAAA,OAAA;AACA,IAAA,cAAA,CAAA,OAAA,IAAA,CAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,eAAA,GAAA,CAAA,KAAA,KAAA;AACA,IAAA,MAAA,MAAA,GAAA,KAAA,CAAA,MAAA,CAAA,OAAA,CAAA,IAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,MAAA;AACA,MAAA,OAAA;AACA,IAAA,cAAA,GAAA,IAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,aAAA,GAAA,CAAA,KAAA,KAAA;AACA,IAAA,MAAA,MAAA,GAAA,KAAA,CAAA,MAAA,CAAA,OAAA,CAAA,IAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,MAAA;AACA,MAAA,OAAA;AACA,IAAA,cAAA,GAAA,KAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,eAAA,GAAA,CAAA,OAAA,KAAA;AACA,IAAA,IAAA,CAAA,KAAA,CAAA,UAAA,CAAA,SAAA,IAAA,CAAA,MAAA,OAAA,EAAA;AACA,MAAA,IAAA,CAAA,QAAA,EAAA,OAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,UAAA,IAAA,CAAA,CAAA;AAAA,KACA,MAAA;AACA,MAAA,IAAA,OAAA,IAAA,MAAA,OAAA,EAAA;AACA,QAAA,IAAA,CAAA,QAAA,EAAA,OAAA,EAAA,MAAA,OAAA,EAAA,OAAA,EAAA,SAAA,CAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,IAAA,CAAA,QAAA,EAAA,OAAA,EAAA,SAAA,OAAA,EAAA,KAAA,CAAA,SAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,IAAA,CAAA,UAAA,KAAA,CAAA,CAAA;AAAA,KACA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,cAAA,GAAA,CAAA,OAAA,KAAA;AACA,IAAA,MAAA,UAAA,GAAA,QAAA,IAAA,EAAA,CAAA;AACA,IAAA,MAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,EAAA,IAAA,UAAA,CAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,MAAA,EAAA;AAAA,MACA,IAAA,EAAA,QAAA,IAAA,EAAA;AAAA,MACA,IAAA,EAAA,UAAA;AAAA,MACA,KAAA;AAAA,MACA,IAAA,EAAA,OAAA,CAAA,OAAA,CAAA,MAAA,CAAA;AAAA,KACA,CAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,eAAA,GAAA,CAAA,OAAA,EAAA,QAAA,KAAA;AACA,IAAA,MAAA,QAAA,GAAA,QAAA,GAAA,SAAA,CAAA,KAAA,CAAA,WAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,CAAA,CAAA,SAAA,MAAA,OAAA,CAAA,OAAA,EAAA,CAAA,GAAA,SAAA,CAAA,KAAA,CAAA,WAAA,CAAA,CAAA,MAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,QAAA,QAAA,CAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,cAAA,GAAA,CAAA,KAAA,EAAA,kBAAA,GAAA,KAAA,KAAA;AACA,IAAA,MAAA,MAAA,GAAA,KAAA,CAAA,MAAA,CAAA,OAAA,CAAA,IAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,MAAA;AACA,MAAA,OAAA;AACA,IAAA,MAAA,GAAA,GAAA,MAAA,CAAA,UAAA,CAAA,QAAA,GAAA,CAAA,CAAA;AACA,IAAA,MAAA,SAAA,MAAA,CAAA,SAAA,CAAA;AACA,IAAA,MAAA,OAAA,KAAA,CAAA,IAAA,CAAA,CAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AACA,IAAA,IAAA,IAAA,CAAA,QAAA,IAAA,IAAA,CAAA,IAAA,KAAA,MAAA;AACA,MAAA,OAAA;AACA,IAAA,MAAA,OAAA,GAAA,aAAA,CAAA,GAAA,EAAA,MAAA,CAAA,CAAA;AACA,IAAA,QAAA,MAAA,aAAA;AAAA,MACA,KAAA,OAAA,EAAA;AACA,QAAA,eAAA,CAAA,OAAA,CAAA,CAAA;AACA,QAAA,MAAA;AAAA,OACA;AAAA,MACA,KAAA,MAAA,EAAA;AACA,QAAA,IAAA,CAAA,MAAA,EAAA,SAAA,kBAAA,CAAA,CAAA;AACA,QAAA,MAAA;AAAA,OACA;AAAA,MACA,KAAA,MAAA,EAAA;AACA,QAAA,cAAA,CAAA,OAAA,CAAA,CAAA;AACA,QAAA,MAAA;AAAA,OACA;AAAA,MACA,KAAA,OAAA,EAAA;AACA,QAAA,eAAA,CAAA,OAAA,EAAA,CAAA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA;AACA,QAAA,MAAA;AAAA,OACA;AAAA,KACA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,YAAA,GAAA,CAAA,IAAA,KAAA;AACA,IAAA,IAAA,MAAA,aAAA,KAAA,MAAA;AACA,MAAA,OAAA,KAAA,CAAA;AACA,IAAA,IAAA,OAAA,GAAA,KAAA,CAAA,IAAA,CAAA,OAAA,CAAA,KAAA,CAAA,CAAA;AACA,IAAA,IAAA,IAAA,CAAA,SAAA,YAAA,EAAA;AACA,MAAA,OAAA,GAAA,OAAA,CAAA,QAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;AAAA,KACA;AACA,IAAA,IAAA,IAAA,CAAA,SAAA,YAAA,EAAA;AACA,MAAA,OAAA,GAAA,OAAA,CAAA,GAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;AAAA,KACA;AACA,IAAA,OAAA,GAAA,QAAA,IAAA,CAAA,MAAA,CAAA,SAAA,IAAA,CAAA,IAAA,EAAA,EAAA,CAAA,CAAA,CAAA;AACA,IAAA,IAAA,MAAA,WAAA,IAAA,CAAA,MAAA,OAAA,CAAA,KAAA,CAAA,WAAA,CAAA,EAAA;AACA,MAAA,MAAA,aAAA,KAAA,CAAA,WAAA,CAAA,KAAA,GAAA,cAAA,GAAA,KAAA,CAAA,GAAA,CAAA,CAAA;AACA,MAAA,MAAA,QAAA,GAAA,KAAA,CAAA,WAAA,CAAA,QAAA,CAAA,WAAA,KAAA,CAAA,CAAA;AACA,MAAA,OAAA,QAAA,CAAA,MAAA,CAAA,OAAA,EAAA,KAAA,CAAA,CAAA;AAAA,KACA;AACA,IAAA,OAAA,KAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAA;AAAA,IACA,cAAA;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,IACA,YAAA;AAAA,IACA,cAAA;AAAA,IACA,cAAA;AAAA,IACA,aAAA;AAAA,IACA,eAAA;AAAA,IACA,eAAA;AAAA,IACA,WAAA;AAAA,GACA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,oBAAA,GAAA,CAAA,KAAA,EAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA;AACA,CAAA,KAAA;AACA,EAAA,MAAA,EAAA,GAAA,aAAA,YAAA,CAAA,CAAA;AACA,EAAA,MAAA,EAAA,CAAA,EAAA,GAAA,SAAA,EAAA,CAAA;AACA,EAAA,MAAA,QAAA,GAAA,SAAA,MAAA;AAAA,IACA,GAAA,CAAA,EAAA;AAAA,IACA,EAAA,cAAA,EAAA,KAAA,CAAA,aAAA,KAAA,MAAA,EAAA;AAAA,GACA,CAAA,CAAA;AACA,EAAA,MAAA,UAAA,GAAA,QAAA,CAAA,MAAA,CAAA,CAAA,+BAAA,CAAA,CAAA,CAAA;AACA,EAAA,MAAA,SAAA,GAAA,QAAA,CAAA,MAAA,CAAA,CAAA,oBAAA,CAAA,CAAA,CAAA;AACA,EAAA,MAAA,cAAA,GAAA,CAAA,IAAA,KAAA;AACA,IAAA,MAAA,UAAA,EAAA,CAAA;AACA,IAAA,IAAA,YAAA,IAAA,CAAA,IAAA,CAAA,IAAA,CAAA,KAAA,QAAA,EAAA;AACA,MAAA,OAAA,CAAA,KAAA,WAAA,CAAA,CAAA;AACA,MAAA,IAAA,IAAA,CAAA,SAAA,OAAA,EAAA;AACA,QAAA,OAAA,CAAA,KAAA,OAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,MAAA;AACA,MAAA,OAAA,CAAA,IAAA,CAAA,KAAA,IAAA,CAAA,CAAA;AAAA,KACA;AACA,IAAA,IAAA,SAAA,CAAA,IAAA,CAAA,EAAA;AACA,MAAA,OAAA,CAAA,KAAA,SAAA,CAAA,CAAA;AAAA,KACA;AACA,IAAA,IAAA,IAAA,CAAA,YAAA,WAAA,CAAA,IAAA,CAAA,IAAA,CAAA,IAAA,KAAA,CAAA,kBAAA,MAAA,CAAA,EAAA;AACA,MAAA,OAAA,CAAA,KAAA,UAAA,CAAA,CAAA;AACA,MAAA,IAAA,KAAA,KAAA,EAAA;AACA,QAAA,OAAA,CAAA,KAAA,YAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,IAAA,KAAA,GAAA,EAAA;AACA,QAAA,OAAA,CAAA,KAAA,UAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA;AACA,IAAA,IAAA,KAAA,QAAA,EAAA;AACA,MAAA,OAAA,CAAA,KAAA,UAAA,CAAA,CAAA;AAAA,KACA;AACA,IAAA,IAAA,KAAA,QAAA,EAAA;AACA,MAAA,OAAA,CAAA,KAAA,UAAA,CAAA,CAAA;AAAA,KACA;AACA,IAAA,IAAA,KAAA,WAAA,EAAA;AACA,MAAA,OAAA,CAAA,IAAA,CAAA,KAAA,WAAA,CAAA,CAAA;AAAA,KACA;AACA,IAAA,OAAA,OAAA,CAAA,KAAA,GAAA,CAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,SAAA,GAAA,CAAA,IAAA,KAAA;AAAA,IACA,EAAA,CAAA,EAAA,KAAA,CAAA;AAAA,IACA,EAAA,OAAA,EAAA,YAAA,CAAA,IAAA,CAAA,EAAA;AAAA,GACA,CAAA;AACA,EAAA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,UAAA;AAAA,IACA,SAAA;AAAA,IACA,cAAA;AAAA,IACA,SAAA;AAAA,IACA,CAAA;AAAA,GACA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,iBAAA,UAAA,CAAA;AAAA,EACA,IAAA,EAAA;AAAA,IACA,IAAA,EAAA,eAAA,MAAA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,IAAA,mBAAA,eAAA,CAAA;AAAA,EACA,IAAA,EAAA,kBAAA;AAAA,EACA,KAAA,EAAA,cAAA;AAAA,EACA,MAAA,KAAA,EAAA;AACA,IAAA,MAAA,EAAA,GAAA,aAAA,iBAAA,CAAA,CAAA;AACA,IAAA,MAAA;AAAA,MACA,KAAA;AAAA,KACA,GAAA,OAAA,yBAAA,CAAA,CAAA;AACA,IAAA,OAAA,MAAA;AACA,MAAA,MAAA;AAAA,QACA,IAAA;AAAA,OACA,GAAA,KAAA,CAAA;AACA,MAAA,IAAA,MAAA,OAAA,EAAA;AACA,QAAA,MAAA,OAAA,KAAA,CAAA,OAAA,CAAA,IAAA,CAAA,CAAA,MAAA,CAAA,CAAA,IAAA,KAAA;AACA,UAAA,OAAA,IAAA,CAAA,SAAA,KAAA,CAAA,CAAA,IAAA,IAAA,CAAA,IAAA,CAAA,QAAA,EAAA,KAAA,iBAAA,IAAA,IAAA,CAAA,IAAA,CAAA,QAAA,EAAA,KAAA,eAAA,CAAA;AAAA,SACA,CAAA,CAAA;AACA,QAAA,IAAA,KAAA,MAAA,EAAA;AACA,UAAA,OAAA,IAAA,CAAA;AAAA,SACA;AAAA,OACA;AACA,MAAA,OAAA,YAAA,KAAA,EAAA;AAAA,QACA,OAAA,EAAA,GAAA,CAAA,EAAA;AAAA,OACA,EAAA,CAAA,WAAA,CAAA,MAAA,EAAA;AAAA,QACA,OAAA,EAAA,EAAA,CAAA,CAAA,CAAA,MAAA,CAAA;AAAA,OACA,EAAA,CAAA,IAAA,IAAA,IAAA,GAAA,SAAA,IAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,YAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA;AAAA,EACA,GAAA,EAAA,CAAA;AAAA,EACA,KAAA,EAAA,KAAA;AACA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,YAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,cAAA,EAAA,eAAA,EAAA,UAAA,CAAA,CAAA;AACA,MAAA,8BAAA,eAAA,CAAA;AAAA,EACA,MAAA,EAAA,kBAAA;AAAA,EACA,KAAA,EAAA,mBAAA;AAAA,EACA,KAAA,EAAA,mBAAA;AAAA,EACA,KAAA,CAAA,OAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA;AACA,IAAA,MAAA,KAAA,GAAA,OAAA,CAAA;AACA,IAAA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,IAAA;AAAA,MACA,QAAA;AAAA,MACA,cAAA;AAAA,MACA,KAAA;AAAA,MACA,SAAA;AAAA,MACA,YAAA;AAAA,MACA,cAAA;AAAA,MACA,cAAA;AAAA,MACA,aAAA;AAAA,MACA,eAAA;AAAA,MACA,eAAA;AAAA,MACA,WAAA;AAAA,KACA,GAAA,iBAAA,CAAA,KAAA,EAAA,IAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,YAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,SAAA,EAAA,CAAA,EAAA,GAAA,oBAAA,CAAA,KAAA,EAAA;AAAA,MACA,SAAA;AAAA,MACA,YAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,CAAA;AAAA,MACA,KAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,MAAA,MAAA,KAAA;AACA,MAAA,OAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,OAAA,EAAA;AAAA,QACA,YAAA,EAAA,MAAA,UAAA,CAAA;AAAA,QACA,KAAA,EAAA,cAAA,CAAA,KAAA,CAAA,QAAA,CAAA,CAAA;AAAA,QACA,WAAA,EAAA,GAAA;AAAA,QACA,WAAA,EAAA,GAAA;AAAA,QACA,IAAA,EAAA,MAAA;AAAA,QACA,SAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,KAAA,CAAA,cAAA,CAAA,IAAA,KAAA,CAAA,cAAA,CAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,QACA,aAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,KAAA,CAAA,eAAA,CAAA,IAAA,KAAA,CAAA,eAAA,CAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,QACA,WAAA,EAAA,OAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,cAAA,CAAA,GAAA,IAAA,KAAA,MAAA,eAAA,CAAA,IAAA,MAAA,eAAA,CAAA,CAAA,GAAA,IAAA,CAAA,EAAA,CAAA,SAAA,CAAA,CAAA,CAAA;AAAA,QACA,WAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,KAAA,CAAA,aAAA,CAAA,IAAA,KAAA,CAAA,aAAA,CAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,OACA,EAAA;AAAA,QACA,mBAAA,OAAA,EAAA;AAAA,UACA,OAAA,EAAA,UAAA;AAAA,UACA,GAAA,EAAA,QAAA;AAAA,SACA,EAAA;AAAA,UACA,kBAAA,CAAA,MAAA,IAAA,EAAA;AAAA,YACA,KAAA,cAAA,IAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,MAAA,YAAA,EAAA,eAAA,CAAA,KAAA,CAAA,SAAA,CAAA,CAAA,EAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,aACA,SAAA,CAAA,IAAA,CAAA,EAAA,kBAAA,CAAA,QAAA,EAAA,IAAA,EAAA,UAAA,CAAA,KAAA,CAAA,KAAA,CAAA,EAAA,CAAA,IAAA,EAAA,GAAA,KAAA;AACA,cAAA,OAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,IAAA,EAAA;AAAA,gBACA,GAAA;AAAA,gBACA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,6BAAA,IAAA,CAAA;AAAA,gBACA,KAAA,EAAA,KAAA;AAAA,eACA,EAAA,eAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,yBAAA,IAAA,CAAA,CAAA,EAAA,CAAA,EAAA,YAAA,CAAA,CAAA;AAAA,aACA,GAAA,GAAA,CAAA;AAAA,WACA,CAAA;AAAA,WACA,SAAA,CAAA,IAAA,CAAA,EAAA,kBAAA,CAAA,QAAA,EAAA,IAAA,EAAA,UAAA,CAAA,KAAA,CAAA,IAAA,CAAA,EAAA,CAAA,GAAA,EAAA,MAAA,KAAA;AACA,YAAA,OAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,IAAA,EAAA;AAAA,cACA,GAAA,EAAA,MAAA;AAAA,cACA,KAAA,EAAA,eAAA,KAAA,CAAA,SAAA,EAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,aACA,EAAA;AAAA,eACA,SAAA,CAAA,IAAA,CAAA,EAAA,kBAAA,CAAA,QAAA,EAAA,MAAA,UAAA,CAAA,GAAA,EAAA,CAAA,IAAA,EAAA,SAAA,KAAA;AACA,gBAAA,OAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,IAAA,EAAA;AAAA,kBACA,GAAA,EAAA,CAAA,EAAA,MAAA,CAAA,CAAA,EAAA,SAAA,CAAA,CAAA;AAAA,kBACA,OAAA,EAAA,IAAA;AAAA,kBACA,GAAA,EAAA,CAAA,EAAA,KAAA,KAAA,CAAA,cAAA,CAAA,CAAA,IAAA,CAAA,KAAA,cAAA,CAAA,KAAA,GAAA,EAAA,CAAA;AAAA,kBACA,OAAA,cAAA,CAAA,KAAA,CAAA,cAAA,CAAA,CAAA,IAAA,CAAA,CAAA;AAAA,kBACA,cAAA,EAAA,IAAA,CAAA,SAAA,GAAA,MAAA,GAAA,KAAA,CAAA;AAAA,kBACA,iBAAA,IAAA,CAAA,SAAA;AAAA,kBACA,UAAA,KAAA,CAAA,cAAA,CAAA,CAAA,IAAA,IAAA,CAAA,GAAA,CAAA,CAAA;AAAA,kBACA,SAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,KAAA,CAAA,WAAA,CAAA,IAAA,KAAA,CAAA,WAAA,CAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,iBACA,EAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA,iBACA,EAAA,IAAA,YAAA,CAAA,CAAA;AAAA,eACA,GAAA,GAAA,CAAA;AAAA,eACA,CAAA,CAAA,CAAA;AAAA,WACA,GAAA,GAAA,CAAA;AAAA,WACA,GAAA,CAAA;AAAA,OACA,EAAA,IAAA,YAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,IAAA,SAAA,iCAAA,WAAA,EAAA,CAAA,CAAA,QAAA,EAAA,sHAAA,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,uBAAA,UAAA,CAAA;AAAA,EACA,GAAA,qBAAA;AAAA,EACA,aAAA,EAAA,yBAAA,OAAA,CAAA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,YAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,eAAA,EAAA,YAAA,EAAA,YAAA,WAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,EAAA,KAAA,EAAA,MAAA,EAAA,CAAA;AACA,MAAA,8BAAA,eAAA,CAAA;AAAA,EACA,MAAA,EAAA,mBAAA;AAAA,EACA,KAAA,EAAA,oBAAA;AAAA,EACA,KAAA,EAAA,CAAA,aAAA,EAAA,MAAA,EAAA,QAAA,CAAA;AAAA,EACA,KAAA,CAAA,OAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA;AACA,IAAA,MAAA,KAAA,GAAA,OAAA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,CAAA,IAAA,EAAA,KAAA,EAAA,KAAA,KAAA;AACA,MAAA,MAAA,QAAA,GAAA,KAAA,EAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA,OAAA,CAAA,OAAA,CAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,KAAA,IAAA,CAAA,CAAA;AACA,MAAA,MAAA,SAAA,GAAA,SAAA,WAAA,EAAA,CAAA;AACA,MAAA,OAAA,QAAA,CAAA,SAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,KAAA,QAAA,CAAA,GAAA,CAAA,CAAA,EAAA,KAAA,CAAA,CAAA,MAAA,EAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,EAAA,GAAA,aAAA,aAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,GAAA,SAAA,EAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,CAAA,KAAA,CAAA,IAAA,CAAA,MAAA,CAAA,IAAA,CAAA,CAAA,UAAA,EAAA,CAAA,WAAA,GAAA,GAAA,CAAA,CAAA,MAAA,CAAA,CAAA,WAAA,EAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,CAAA;AAAA,MACA,EAAA;AAAA,MACA,EAAA;AAAA,MACA,EAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,IAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AACA,MAAA,MAAA,QAAA,SAAA,CAAA,KAAA,CAAA;AACA,MAAA,MAAA,GAAA,GAAA,OAAA,CAAA,MAAA,CAAA,KAAA,KAAA,CAAA,CAAA,QAAA,OAAA,CAAA,CAAA;AACA,MAAA,KAAA,IAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,CAAA,EAAA,CAAA,EAAA,EAAA;AACA,QAAA,MAAA,GAAA,GAAA,MAAA,CAAA,CAAA,CAAA;AACA,QAAA,KAAA,IAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,CAAA,EAAA,CAAA,EAAA,EAAA;AACA,UAAA,MAAA,OAAA,GAAA,CAAA,CAAA,CAAA,KAAA,GAAA,CAAA,CAAA,CAAA,GAAA;AAAA,YACA,GAAA,EAAA,CAAA;AAAA,YACA,MAAA,EAAA,CAAA;AAAA,YACA,IAAA,EAAA,QAAA;AAAA,YACA,OAAA,EAAA,KAAA;AAAA,YACA,KAAA,EAAA,KAAA;AAAA,YACA,GAAA,EAAA,KAAA;AAAA,YACA,IAAA,EAAA,CAAA,CAAA;AAAA,YACA,QAAA,EAAA,KAAA;AAAA,WACA,CAAA,CAAA;AACA,UAAA,IAAA,CAAA,IAAA,GAAA,QAAA,CAAA;AACA,UAAA,MAAA,MAAA,GAAA,IAAA,CAAA,GAAA,CAAA,CAAA;AACA,UAAA,MAAA,UAAA,KAAA,CAAA,IAAA,CAAA,QAAA,MAAA,CAAA,CAAA,MAAA,MAAA,CAAA,CAAA;AACA,UAAA,MAAA,UAAA,GAAA,KAAA,CAAA,UAAA,CAAA,OAAA,IAAA,KAAA,CAAA,WAAA,KAAA,CAAA,UAAA,CAAA,SAAA,IAAA,KAAA,CAAA,OAAA,IAAA,IAAA,CAAA;AACA,UAAA,IAAA,CAAA,OAAA,GAAA,CAAA,EAAA,KAAA,CAAA,OAAA,IAAA,OAAA,CAAA,aAAA,CAAA,KAAA,CAAA,OAAA,EAAA,OAAA,CAAA,IAAA,UAAA,IAAA,QAAA,cAAA,CAAA,UAAA,EAAA,OAAA,CAAA,CAAA,IAAA,CAAA,EAAA,KAAA,CAAA,OAAA,IAAA,QAAA,cAAA,CAAA,KAAA,CAAA,OAAA,EAAA,OAAA,CAAA,IAAA,UAAA,IAAA,OAAA,CAAA,aAAA,CAAA,YAAA,OAAA,CAAA,CAAA,CAAA;AACA,UAAA,IAAA,CAAA,EAAA,GAAA,MAAA,OAAA,KAAA,IAAA,GAAA,SAAA,EAAA,CAAA,aAAA,CAAA,UAAA,CAAA,EAAA;AACA,YAAA,IAAA,CAAA,QAAA,CAAA,EAAA,cAAA,OAAA,CAAA,MAAA,CAAA,YAAA,OAAA,CAAA,CAAA,CAAA;AACA,YAAA,IAAA,CAAA,MAAA,KAAA,CAAA,OAAA,IAAA,QAAA,MAAA,CAAA,KAAA,CAAA,SAAA,OAAA,CAAA,CAAA;AAAA,WACA,MAAA;AACA,YAAA,IAAA,CAAA,KAAA,GAAA,CAAA,EAAA,KAAA,CAAA,WAAA,OAAA,CAAA,MAAA,CAAA,KAAA,CAAA,OAAA,EAAA,OAAA,CAAA,CAAA,CAAA;AACA,YAAA,IAAA,CAAA,MAAA,CAAA,EAAA,cAAA,OAAA,CAAA,MAAA,CAAA,YAAA,OAAA,CAAA,CAAA,CAAA;AAAA,WACA;AACA,UAAA,MAAA,OAAA,GAAA,GAAA,CAAA,MAAA,CAAA,OAAA,CAAA,CAAA;AACA,UAAA,IAAA,OAAA,EAAA;AACA,YAAA,IAAA,CAAA,IAAA,GAAA,OAAA,CAAA;AAAA,WACA;AACA,UAAA,IAAA,CAAA,IAAA,GAAA,MAAA,CAAA;AACA,UAAA,IAAA,CAAA,QAAA,GAAA,CAAA,CAAA,EAAA,GAAA,KAAA,CAAA,YAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,EAAA,OAAA,CAAA,MAAA,EAAA,CAAA,KAAA,KAAA,CAAA;AAAA,SACA;AAAA,OACA;AACA,MAAA,OAAA,KAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,QAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,CAAA,KAAA,cAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,KAAA,EAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,CAAA,IAAA,KAAA;AACA,MAAA,MAAA,QAAA,EAAA,CAAA;AACA,MAAA,MAAA,IAAA,GAAA,KAAA,CAAA,IAAA,CAAA,IAAA,EAAA,CAAA;AACA,MAAA,MAAA,KAAA,uBAAA,IAAA,EAAA,CAAA;AACA,MAAA,MAAA,QAAA,IAAA,CAAA,IAAA,CAAA;AACA,MAAA,KAAA,CAAA,QAAA,GAAA,KAAA,CAAA,YAAA,GAAA,YAAA,CAAA,IAAA,EAAA,KAAA,EAAA,IAAA,CAAA,KAAA,CAAA,CAAA,KAAA,CAAA,KAAA,CAAA,YAAA,CAAA,GAAA,KAAA,CAAA;AACA,MAAA,KAAA,CAAA,OAAA,GAAA,UAAA,KAAA,CAAA,WAAA,EAAA,SAAA,CAAA,CAAA,UAAA,KAAA,CAAA,OAAA,CAAA,KAAA,CAAA,IAAA,KAAA,CAAA,MAAA,KAAA,IAAA,IAAA,MAAA,KAAA,EAAA,KAAA,KAAA,CAAA,IAAA,CAAA,CAAA;AACA,MAAA,KAAA,CAAA,QAAA,KAAA,CAAA,WAAA,OAAA,IAAA,IAAA,KAAA,CAAA,UAAA,KAAA,KAAA,CAAA;AACA,MAAA,IAAA,KAAA,OAAA,EAAA;AACA,QAAA,KAAA,CAAA,UAAA,CAAA,GAAA,IAAA,CAAA;AACA,QAAA,IAAA,KAAA,KAAA,EAAA;AACA,UAAA,KAAA,CAAA,YAAA,CAAA,GAAA,IAAA,CAAA;AAAA,SACA;AACA,QAAA,IAAA,KAAA,GAAA,EAAA;AACA,UAAA,KAAA,CAAA,UAAA,CAAA,GAAA,IAAA,CAAA;AAAA,SACA;AAAA,OACA;AACA,MAAA,OAAA,KAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,CAAA,IAAA,KAAA;AACA,MAAA,MAAA,IAAA,GAAA,KAAA,CAAA,IAAA,CAAA,IAAA,EAAA,CAAA;AACA,MAAA,MAAA,QAAA,IAAA,CAAA,IAAA,CAAA;AACA,MAAA,OAAA,SAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,UAAA,CAAA,KAAA,KAAA,KAAA,CAAA,IAAA,OAAA,IAAA,IAAA,KAAA,CAAA,KAAA,EAAA,KAAA,KAAA,CAAA,IAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,IAAA,CAAA,MAAA,UAAA,CAAA,SAAA;AACA,QAAA,OAAA;AACA,MAAA,IAAA,SAAA,KAAA,CAAA,MAAA,CAAA;AACA,MAAA,IAAA,MAAA,CAAA,YAAA,GAAA,EAAA;AACA,QAAA,MAAA,GAAA,CAAA,EAAA,GAAA,MAAA,CAAA,UAAA,KAAA,IAAA,GAAA,SAAA,EAAA,CAAA,UAAA,CAAA;AAAA,OACA;AACA,MAAA,IAAA,MAAA,CAAA,YAAA,KAAA,EAAA;AACA,QAAA,MAAA,GAAA,MAAA,CAAA,UAAA,CAAA;AAAA,OACA;AACA,MAAA,IAAA,OAAA,OAAA,KAAA,IAAA;AACA,QAAA,OAAA;AACA,MAAA,MAAA,GAAA,GAAA,OAAA,UAAA,CAAA,QAAA,CAAA;AACA,MAAA,MAAA,SAAA,MAAA,CAAA,SAAA,CAAA;AACA,MAAA,IAAA,IAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,MAAA,CAAA,CAAA,QAAA;AACA,QAAA,OAAA;AACA,MAAA,IAAA,GAAA,KAAA,OAAA,CAAA,KAAA,IAAA,MAAA,KAAA,WAAA,KAAA,EAAA;AACA,QAAA,OAAA,CAAA,KAAA,GAAA,GAAA,CAAA;AACA,QAAA,UAAA,CAAA,KAAA,GAAA,MAAA,CAAA;AACA,QAAA,IAAA,CAAA,aAAA,EAAA;AAAA,UACA,SAAA,EAAA,IAAA;AAAA,UACA,OAAA,EAAA,MAAA,IAAA,CAAA,OAAA,CAAA,MAAA,CAAA,CAAA,KAAA,CAAA,GAAA,GAAA,CAAA,GAAA,MAAA,CAAA;AAAA,SACA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,qBAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,MAAA,MAAA,GAAA,CAAA,KAAA,KAAA,CAAA,MAAA,KAAA,OAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAA,IAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,OAAA,MAAA,IAAA;AACA,QAAA,OAAA;AACA,MAAA,IAAA,QAAA,CAAA,QAAA,UAAA,CAAA;AACA,QAAA,OAAA;AACA,MAAA,MAAA,SAAA,MAAA,CAAA,SAAA,CAAA;AACA,MAAA,MAAA,GAAA,GAAA,OAAA,UAAA,CAAA,QAAA,CAAA;AACA,MAAA,MAAA,KAAA,GAAA,MAAA,CAAA,GAAA,MAAA,CAAA;AACA,MAAA,MAAA,UAAA,KAAA,CAAA,IAAA,CAAA,QAAA,MAAA,CAAA,CAAA,MAAA,KAAA,CAAA,CAAA;AACA,MAAA,IAAA,KAAA,CAAA,kBAAA,OAAA,EAAA;AACA,QAAA,IAAA,CAAA,KAAA,CAAA,UAAA,CAAA,SAAA,EAAA;AACA,UAAA,IAAA,CAAA,QAAA,EAAA,OAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,CAAA,CAAA;AACA,UAAA,IAAA,CAAA,UAAA,IAAA,CAAA,CAAA;AAAA,SACA,MAAA;AACA,UAAA,IAAA,KAAA,CAAA,OAAA,IAAA,OAAA,IAAA,KAAA,CAAA,OAAA,EAAA;AACA,YAAA,IAAA,CAAA,QAAA,EAAA,OAAA,EAAA,MAAA,OAAA,EAAA,OAAA,EAAA,SAAA,CAAA,CAAA;AAAA,WACA,MAAA;AACA,YAAA,IAAA,CAAA,QAAA,EAAA,OAAA,EAAA,SAAA,OAAA,EAAA,KAAA,CAAA,SAAA,CAAA,CAAA;AAAA,WACA;AACA,UAAA,IAAA,CAAA,UAAA,KAAA,CAAA,CAAA;AAAA,SACA;AAAA,OACA,MAAA;AACA,QAAA,IAAA,CAAA,QAAA,KAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,KAAA,CAAA,MAAA,KAAA,CAAA,IAAA,EAAA,YAAA;AACA,MAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AACA,MAAA,IAAA,CAAA,EAAA,GAAA,SAAA,KAAA,KAAA,IAAA,GAAA,SAAA,EAAA,CAAA,QAAA,CAAA,QAAA,CAAA,aAAA,CAAA,EAAA;AACA,QAAA,MAAA,QAAA,EAAA,CAAA;AACA,QAAA,CAAA,KAAA,cAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,KAAA,EAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,CAAA;AAAA,MACA,KAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,MAAA,MAAA,KAAA;AACA,MAAA,OAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,OAAA,EAAA;AAAA,QACA,IAAA,EAAA,MAAA;AAAA,QACA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,gCAAA,CAAA;AAAA,QACA,OAAA,cAAA,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA,GAAA,CAAA;AAAA,QACA,OAAA,EAAA,qBAAA;AAAA,QACA,WAAA,EAAA,eAAA;AAAA,OACA,EAAA;AAAA,QACA,mBAAA,OAAA,EAAA;AAAA,UACA,OAAA,EAAA,UAAA;AAAA,UACA,GAAA,EAAA,QAAA;AAAA,SACA,EAAA;AAAA,WACA,SAAA,CAAA,IAAA,CAAA,EAAA,kBAAA,CAAA,QAAA,EAAA,IAAA,EAAA,UAAA,CAAA,KAAA,CAAA,IAAA,CAAA,EAAA,CAAA,GAAA,EAAA,GAAA,KAAA;AACA,YAAA,OAAA,WAAA,EAAA,kBAAA,CAAA,IAAA,EAAA,EAAA,KAAA,EAAA;AAAA,eACA,SAAA,CAAA,IAAA,CAAA,EAAA,kBAAA,CAAA,QAAA,EAAA,MAAA,UAAA,CAAA,GAAA,EAAA,CAAA,IAAA,EAAA,IAAA,KAAA;AACA,gBAAA,OAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,IAAA,EAAA;AAAA,kBACA,GAAA,EAAA,IAAA;AAAA,kBACA,OAAA,EAAA,IAAA;AAAA,kBACA,KAAA,CAAA,EAAA,KAAA,eAAA,IAAA,CAAA,KAAA,eAAA,KAAA,GAAA,EAAA,CAAA;AAAA,kBACA,KAAA,EAAA,cAAA,CAAA,YAAA,CAAA,IAAA,CAAA,CAAA;AAAA,kBACA,eAAA,EAAA,CAAA,EAAA,cAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AAAA,kBACA,YAAA,EAAA,MAAA,CAAA,CAAA,CAAA,sBAAA,CAAA,IAAA,CAAA,IAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA,kBACA,QAAA,EAAA,cAAA,CAAA,IAAA,CAAA,GAAA,CAAA,GAAA,CAAA,CAAA;AAAA,kBACA,SAAA,EAAA;AAAA,oBACA,QAAA,CAAA,aAAA,CAAA,qBAAA,EAAA,CAAA,SAAA,EAAA,MAAA,CAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA;AAAA,oBACA,QAAA,CAAA,aAAA,CAAA,qBAAA,EAAA,CAAA,SAAA,EAAA,MAAA,CAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA;AAAA,mBACA;AAAA,iBACA,EAAA;AAAA,kBACA,kBAAA,CAAA,OAAA,IAAA,EAAA;AAAA,oBACA,kBAAA,CAAA,MAAA,EAAA,YAAA,EAAA,eAAA,CAAA,MAAA,CAAA,CAAA,CAAA,uBAAA,GAAA,MAAA,CAAA,MAAA,IAAA,CAAA,IAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AAAA,mBACA,CAAA;AAAA,iBACA,EAAA,IAAA,YAAA,CAAA,CAAA;AAAA,eACA,GAAA,GAAA,CAAA;AAAA,aACA,CAAA,CAAA;AAAA,WACA,GAAA,GAAA,CAAA;AAAA,WACA,GAAA,CAAA;AAAA,OACA,EAAA,IAAA,YAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,IAAA,UAAA,iCAAA,WAAA,EAAA,CAAA,CAAA,QAAA,EAAA,uHAAA,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,EAAA,IAAA,EAAA,YAAA,EAAA,WAAA,EAAA,GAAA,qBAAA,CAAA;AACA,MAAA,sBAAA,UAAA,CAAA;AAAA,EACA,IAAA;AAAA,EACA,YAAA;AAAA,EACA,WAAA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,YAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,eAAA,EAAA,UAAA,EAAA,WAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,EAAA,KAAA,EAAA,MAAA,EAAA,CAAA;AACA,MAAA,YAAA,GAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA;AACA,MAAA,8BAAA,eAAA,CAAA;AAAA,EACA,MAAA,EAAA,kBAAA;AAAA,EACA,KAAA,EAAA,mBAAA;AAAA,EACA,KAAA,EAAA,CAAA,MAAA,CAAA;AAAA,EACA,KAAA,CAAA,OAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA;AACA,IAAA,MAAA,KAAA,GAAA,OAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,CAAA,IAAA,EAAA,KAAA,KAAA;AACA,MAAA,MAAA,QAAA,GAAA,KAAA,CAAA,MAAA,CAAA,IAAA,CAAA,EAAA,MAAA,CAAA,KAAA,CAAA,CAAA,OAAA,CAAA,MAAA,CAAA,CAAA;AACA,MAAA,MAAA,OAAA,GAAA,QAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA;AACA,MAAA,MAAA,SAAA,GAAA,QAAA,SAAA,EAAA,CAAA;AACA,MAAA,OAAA,QAAA,CAAA,SAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,KAAA,QAAA,CAAA,GAAA,CAAA,CAAA,EAAA,KAAA,CAAA,CAAA,MAAA,EAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,EAAA,GAAA,aAAA,YAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,GAAA,SAAA,EAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,KAAA,KAAA,CAAA,KAAA,CAAA,KAAA,IAAA,EAAA,GAAA,EAAA,CAAA,GAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,QAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,CAAA,KAAA,cAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,KAAA,EAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,CAAA,IAAA,KAAA;AACA,MAAA,MAAA,MAAA,EAAA,CAAA;AACA,MAAA,MAAA,KAAA,GAAA,KAAA,EAAA,CAAA,MAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AACA,MAAA,GAAA,CAAA,QAAA,GAAA,KAAA,CAAA,YAAA,GAAA,WAAA,CAAA,IAAA,EAAA,IAAA,CAAA,KAAA,CAAA,CAAA,KAAA,CAAA,KAAA,CAAA,YAAA,CAAA,GAAA,KAAA,CAAA;AACA,MAAA,GAAA,CAAA,OAAA,GAAA,SAAA,CAAA,KAAA,CAAA,WAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,IAAA,EAAA,KAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AACA,MAAA,GAAA,CAAA,KAAA,GAAA,KAAA,CAAA,IAAA,EAAA,KAAA,IAAA,CAAA;AACA,MAAA,OAAA,GAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,CAAA,IAAA,KAAA;AACA,MAAA,OAAA,IAAA,KAAA,SAAA,CAAA,KAAA,IAAA,KAAA,CAAA,IAAA,CAAA,IAAA,EAAA,GAAA,SAAA,CAAA,KAAA,IAAA,KAAA,CAAA,IAAA,CAAA,IAAA,EAAA,GAAA,SAAA,CAAA,KAAA,GAAA,CAAA,IAAA,SAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,SAAA,CAAA,CAAA,KAAA,KAAA,KAAA,CAAA,IAAA,EAAA,KAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,oBAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,MAAA,cAAA,KAAA,CAAA,MAAA,CAAA;AACA,MAAA,MAAA,MAAA,GAAA,WAAA,CAAA,OAAA,CAAA,IAAA,CAAA,CAAA;AACA,MAAA,IAAA,MAAA,IAAA,OAAA,WAAA,EAAA;AACA,QAAA,IAAA,QAAA,CAAA,QAAA,UAAA,CAAA;AACA,UAAA,OAAA;AACA,QAAA,MAAA,IAAA,GAAA,MAAA,CAAA,WAAA,IAAA,MAAA,CAAA,SAAA,CAAA;AACA,QAAA,IAAA,CAAA,MAAA,EAAA,MAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,KAAA,CAAA,MAAA,KAAA,CAAA,IAAA,EAAA,YAAA;AACA,MAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AACA,MAAA,IAAA,CAAA,EAAA,GAAA,SAAA,KAAA,KAAA,IAAA,GAAA,SAAA,EAAA,CAAA,QAAA,CAAA,QAAA,CAAA,aAAA,CAAA,EAAA;AACA,QAAA,MAAA,QAAA,EAAA,CAAA;AACA,QAAA,CAAA,KAAA,cAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,KAAA,EAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,CAAA;AAAA,MACA,KAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,MAAA,MAAA,KAAA;AACA,MAAA,OAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,OAAA,EAAA;AAAA,QACA,IAAA,EAAA,MAAA;AAAA,QACA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,+BAAA,CAAA;AAAA,QACA,OAAA,cAAA,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA,GAAA,CAAA;AAAA,QACA,OAAA,EAAA,oBAAA;AAAA,OACA,EAAA;AAAA,QACA,mBAAA,OAAA,EAAA;AAAA,UACA,OAAA,EAAA,UAAA;AAAA,UACA,GAAA,EAAA,QAAA;AAAA,SACA,EAAA;AAAA,WACA,SAAA,IAAA,kBAAA,CAAA,QAAA,EAAA,MAAA,UAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,KAAA;AACA,YAAA,OAAA,kBAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA;AAAA,eACA,SAAA,IAAA,kBAAA,CAAA,QAAA,EAAA,MAAA,UAAA,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA,KAAA;AACA,gBAAA,OAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,QAAA,EAAA;AAAA,kBACA,GAAA,EAAA,IAAA,GAAA,GAAA,CAAA;AAAA,iBACA,EAAA;AAAA,kBACA,IAAA,CAAA,GAAA,CAAA,GAAA,MAAA,SAAA,EAAA,EAAA,mBAAA,IAAA,EAAA;AAAA,oBACA,GAAA,EAAA,CAAA;AAAA,oBACA,OAAA,EAAA,IAAA;AAAA,oBACA,GAAA,EAAA,CAAA,EAAA,KAAA,cAAA,CAAA,KAAA,CAAA,SAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,CAAA,KAAA,cAAA,CAAA,KAAA,GAAA,EAAA,CAAA;AAAA,oBACA,KAAA,EAAA,cAAA,CAAA,CAAA,WAAA,EAAA,UAAA,CAAA,KAAA,CAAA,SAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA,oBACA,eAAA,EAAA,GAAA,cAAA,CAAA,KAAA,CAAA,SAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA,oBACA,QAAA,EAAA,eAAA,KAAA,CAAA,SAAA,IAAA,CAAA,GAAA,CAAA,GAAA,CAAA,CAAA,GAAA,CAAA,GAAA,CAAA,CAAA;AAAA,oBACA,SAAA,EAAA;AAAA,sBACA,QAAA,CAAA,aAAA,CAAA,oBAAA,EAAA,CAAA,SAAA,EAAA,MAAA,CAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA;AAAA,sBACA,QAAA,CAAA,aAAA,CAAA,oBAAA,EAAA,CAAA,SAAA,EAAA,MAAA,CAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA;AAAA,qBACA;AAAA,mBACA,EAAA;AAAA,oBACA,kBAAA,CAAA,MAAA,EAAA,YAAA,EAAA,eAAA,CAAA,KAAA,CAAA,SAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,mBACA,EAAA,IAAA,YAAA,CAAA,KAAA,WAAA,EAAA,kBAAA,CAAA,MAAA,YAAA,CAAA,CAAA;AAAA,mBACA,EAAA,CAAA,CAAA;AAAA,eACA,GAAA,EAAA,CAAA;AAAA,aACA,CAAA,CAAA;AAAA,WACA,GAAA,EAAA,CAAA;AAAA,WACA,GAAA,CAAA;AAAA,OACA,EAAA,IAAA,YAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,IAAA,SAAA,iCAAA,WAAA,EAAA,CAAA,CAAA,QAAA,EAAA,sHAAA,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,SAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,YAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,YAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,YAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,YAAA,CAAA,CAAA;AACA,MAAA,8BAAA,eAAA,CAAA;AAAA,EACA,MAAA,EAAA,iBAAA;AAAA,EACA,KAAA,EAAA,kBAAA;AAAA,EACA,KAAA,EAAA,CAAA,MAAA,EAAA,mBAAA,EAAA,cAAA,CAAA;AAAA,EACA,KAAA,CAAA,OAAA,EAAA,EAAA,IAAA,EAAA,aAAA,EAAA;AACA,IAAA,MAAA,KAAA,GAAA,OAAA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,CAAA,CAAA,EAAA,EAAA,EAAA,GAAA,KAAA,IAAA,CAAA;AACA,IAAA,MAAA,IAAA,GAAA,aAAA,cAAA,CAAA,CAAA;AACA,IAAA,MAAA,IAAA,GAAA,aAAA,aAAA,CAAA,CAAA;AACA,IAAA,MAAA,QAAA,UAAA,EAAA,CAAA;AACA,IAAA,MAAA,QAAA,QAAA,EAAA,CAAA;AACA,IAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,GAAA,SAAA,EAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,OAAA,gBAAA,CAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,OAAA,qBAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,SAAA,EAAA,YAAA,EAAA,eAAA,aAAA,EAAA,WAAA,KAAA,UAAA,CAAA,KAAA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,KAAA,CAAA,UAAA,CAAA,KAAA,EAAA,cAAA,CAAA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,CAAA,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,IAAA,KAAA,CAAA,CAAA;AACA,IAAA,IAAA,UAAA,GAAA,KAAA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,KAAA,CAAA,WAAA,CAAA,CAAA,MAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,KAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,SAAA,CAAA,MAAA,KAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,IAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,SAAA,CAAA,MAAA,IAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,IAAA,IAAA,CAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,IAAA,IAAA,CAAA,CAAA;AACA,IAAA,MAAA,oBAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,OAAA,eAAA,CAAA,KAAA,CAAA,MAAA,GAAA,CAAA,GAAA,eAAA,CAAA,KAAA,EAAA,eAAA,CAAA,KAAA,EAAA,KAAA,CAAA,MAAA,IAAA,UAAA,CAAA,GAAA,IAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,CAAA,SAAA,KAAA;AACA,MAAA,IAAA,WAAA,IAAA,CAAA,WAAA,CAAA,KAAA,IAAA,CAAA,aAAA,CAAA,KAAA,IAAA,CAAA,UAAA,EAAA;AACA,QAAA,OAAA,YAAA,CAAA,KAAA,CAAA,IAAA,CAAA,SAAA,CAAA,MAAA,CAAA,CAAA,KAAA,CAAA,SAAA,CAAA,OAAA,CAAA,CAAA,IAAA,CAAA,SAAA,CAAA,MAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,IAAA,QAAA,CAAA,KAAA;AACA,QAAA,OAAA,SAAA,CAAA,YAAA,CAAA,CAAA,CAAA;AACA,MAAA,OAAA,SAAA,CAAA,QAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,IAAA,GAAA,CAAA,KAAA,EAAA,GAAA,IAAA,KAAA;AACA,MAAA,IAAA,CAAA,KAAA,EAAA;AACA,QAAA,WAAA,CAAA,MAAA,EAAA,KAAA,EAAA,GAAA,IAAA,CAAA,CAAA;AAAA,OACA,MAAA,IAAA,OAAA,CAAA,KAAA,CAAA,EAAA;AACA,QAAA,MAAA,KAAA,GAAA,KAAA,CAAA,GAAA,CAAA,UAAA,CAAA,CAAA;AACA,QAAA,WAAA,CAAA,MAAA,EAAA,KAAA,EAAA,GAAA,IAAA,CAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,WAAA,CAAA,MAAA,EAAA,UAAA,CAAA,KAAA,CAAA,EAAA,GAAA,IAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,aAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AACA,MAAA,aAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AACA,MAAA,aAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACA,MAAA,UAAA,GAAA,KAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,CAAA,KAAA,EAAA,QAAA,KAAA;AACA,MAAA,IAAA,aAAA,CAAA,UAAA,MAAA,EAAA;AACA,QAAA,KAAA,GAAA,KAAA,CAAA;AACA,QAAA,IAAA,UAAA,KAAA,CAAA,WAAA,GAAA,MAAA,WAAA,CAAA,IAAA,CAAA,MAAA,IAAA,EAAA,EAAA,KAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA,KAAA,KAAA,CAAA,IAAA,EAAA,CAAA,GAAA,KAAA,CAAA;AACA,QAAA,IAAA,CAAA,oBAAA,CAAA,OAAA,CAAA,EAAA;AACA,UAAA,OAAA,GAAA,gBAAA,KAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,KAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CAAA,KAAA,CAAA,MAAA,KAAA,EAAA,EAAA,IAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA;AAAA,SACA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,OAAA,CAAA;AACA,QAAA,IAAA,CAAA,OAAA,EAAA,QAAA,CAAA,KAAA,IAAA,QAAA,CAAA,CAAA;AAAA,OACA,MAAA,IAAA,aAAA,CAAA,KAAA,KAAA,MAAA,EAAA;AACA,QAAA,IAAA,CAAA,MAAA,IAAA,CAAA,CAAA;AAAA,OACA,MAAA,IAAA,aAAA,CAAA,KAAA,KAAA,OAAA,EAAA;AACA,QAAA,IAAA,CAAA,OAAA,IAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,CAAA,OAAA,KAAA;AACA,MAAA,MAAA,MAAA,GAAA,UAAA,KAAA,GAAA,UAAA,CAAA;AACA,MAAA,SAAA,CAAA,QAAA,SAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA,GAAA,OAAA,CAAA,CAAA;AACA,MAAA,iBAAA,CAAA,OAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,CAAA,OAAA,KAAA;AACA,MAAA,MAAA,cAAA,SAAA,CAAA,KAAA,CAAA;AACA,MAAA,MAAA,MAAA,GAAA,UAAA,KAAA,GAAA,UAAA,CAAA;AACA,MAAA,SAAA,CAAA,KAAA,GAAA,WAAA,CAAA,KAAA,KAAA,MAAA,GAAA,YAAA,MAAA,CAAA,CAAA,EAAA,EAAA,MAAA,CAAA,GAAA,WAAA,CAAA,MAAA,CAAA,CAAA,GAAA,MAAA,CAAA,CAAA;AACA,MAAA,iBAAA,CAAA,MAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,IAAA,MAAA,CAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,SAAA,MAAA;AACA,MAAA,MAAA,eAAA,GAAA,EAAA,oBAAA,CAAA,CAAA;AACA,MAAA,IAAA,WAAA,CAAA,UAAA,MAAA,EAAA;AACA,QAAA,MAAA,YAAA,IAAA,CAAA,KAAA,CAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,GAAA,EAAA,CAAA;AACA,QAAA,IAAA,eAAA,EAAA;AACA,UAAA,OAAA,CAAA,EAAA,SAAA,CAAA,CAAA,EAAA,eAAA,MAAA,SAAA,GAAA,CAAA,IAAA,eAAA,CAAA,CAAA,CAAA;AAAA,SACA;AACA,QAAA,OAAA,CAAA,EAAA,SAAA,CAAA,GAAA,EAAA,SAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,OAAA,CAAA,EAAA,IAAA,CAAA,KAAA,CAAA,CAAA,EAAA,eAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,mBAAA,GAAA,CAAA,QAAA,KAAA;AACA,MAAA,MAAA,aAAA,GAAA,WAAA,QAAA,CAAA,KAAA,IAAA,QAAA,CAAA,KAAA,KAAA,QAAA,CAAA,KAAA,CAAA;AACA,MAAA,IAAA,aAAA,EAAA;AACA,QAAA,UAAA,GAAA,IAAA,CAAA;AACA,QAAA,IAAA,CAAA,MAAA,aAAA,CAAA,CAAA,MAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AACA,QAAA,OAAA;AAAA,OACA;AACA,MAAA,IAAA,SAAA,OAAA,EAAA;AACA,QAAA,QAAA,CAAA,OAAA,CAAA;AAAA,UACA,KAAA;AAAA,UACA,KAAA;AAAA,UACA,IAAA,EAAA,WAAA;AAAA,SACA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,SAAA,MAAA;AACA,MAAA,MAAA,EAAA,MAAA,GAAA,KAAA,CAAA;AACA,MAAA,IAAA,CAAA,MAAA,EAAA,OAAA,EAAA,QAAA,OAAA,CAAA,CAAA,SAAA,IAAA,CAAA;AACA,QAAA,OAAA,IAAA,CAAA;AACA,MAAA,OAAA,MAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,aAAA,CAAA,KAAA,KAAA,MAAA,GAAA,WAAA,CAAA,QAAA,aAAA,CAAA,KAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,eAAA,QAAA,CAAA,MAAA,CAAA,CAAA,UAAA,MAAA,CAAA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,OAAA,MAAA,KAAA;AACA,MAAA,SAAA,CAAA,QAAA,SAAA,CAAA,KAAA,CAAA,QAAA,OAAA,CAAA,CAAA,MAAA,MAAA,CAAA,CAAA;AACA,MAAA,IAAA,aAAA,CAAA,UAAA,OAAA,EAAA;AACA,QAAA,IAAA,CAAA,SAAA,CAAA,OAAA,KAAA,CAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,WAAA,CAAA,KAAA,GAAA,MAAA,CAAA;AACA,QAAA,IAAA,CAAA,SAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA,QAAA,CAAA,aAAA,CAAA,KAAA,CAAA,EAAA;AACA,UAAA,IAAA,CAAA,SAAA,CAAA,OAAA,IAAA,CAAA,CAAA;AACA,UAAA,MAAA,QAAA,EAAA,CAAA;AACA,UAAA,iBAAA,EAAA,CAAA;AAAA,SACA;AAAA,OACA;AACA,MAAA,iBAAA,CAAA,OAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,OAAA,KAAA,KAAA;AACA,MAAA,IAAA,aAAA,CAAA,UAAA,MAAA,EAAA;AACA,QAAA,SAAA,CAAA,QAAA,SAAA,CAAA,KAAA,CAAA,QAAA,MAAA,CAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AACA,QAAA,IAAA,CAAA,SAAA,CAAA,OAAA,KAAA,CAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,SAAA,CAAA,KAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA;AACA,QAAA,WAAA,CAAA,KAAA,GAAA,OAAA,CAAA;AACA,QAAA,IAAA,CAAA,SAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA,QAAA,CAAA,aAAA,CAAA,KAAA,CAAA,EAAA;AACA,UAAA,IAAA,CAAA,SAAA,CAAA,OAAA,IAAA,CAAA,CAAA;AACA,UAAA,MAAA,QAAA,EAAA,CAAA;AACA,UAAA,iBAAA,EAAA,CAAA;AAAA,SACA;AAAA,OACA;AACA,MAAA,iBAAA,CAAA,MAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,OAAA,IAAA,KAAA;AACA,MAAA,WAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AACA,MAAA,MAAA,QAAA,EAAA,CAAA;AACA,MAAA,iBAAA,EAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,SAAA,MAAA,KAAA,CAAA,SAAA,UAAA,IAAA,KAAA,CAAA,SAAA,eAAA,CAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,QAAA,CAAA,KAAA,IAAA,aAAA,CAAA,KAAA,KAAA,OAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,CAAA,aAAA;AACA,QAAA,OAAA,KAAA,CAAA;AACA,MAAA,IAAA,CAAA,KAAA,CAAA,WAAA;AACA,QAAA,OAAA,IAAA,CAAA;AACA,MAAA,IAAA,OAAA,CAAA,KAAA,CAAA,WAAA,CAAA,EAAA;AACA,QAAA,OAAA,cAAA,KAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,OAAA,aAAA,CAAA,KAAA,CAAA,WAAA,CAAA,MAAA,EAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,YAAA,MAAA;AACA,MAAA,IAAA,aAAA,CAAA,UAAA,OAAA,EAAA;AACA,QAAA,IAAA,CAAA,MAAA,WAAA,CAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,IAAA,SAAA,KAAA,CAAA,WAAA,CAAA;AACA,QAAA,IAAA,CAAA,MAAA,EAAA;AACA,UAAA,MAAA,gBAAA,KAAA,CAAA,WAAA,CAAA,CAAA,MAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AACA,UAAA,MAAA,gBAAA,gBAAA,EAAA,CAAA;AACA,UAAA,MAAA,GAAA,aAAA,CAAA,IAAA,CAAA,aAAA,CAAA,IAAA,EAAA,CAAA,CAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,CAAA,CAAA,IAAA,CAAA,aAAA,CAAA,MAAA,CAAA,CAAA;AAAA,SACA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,MAAA,CAAA;AACA,QAAA,IAAA,CAAA,MAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,CAAA,aAAA;AACA,QAAA,OAAA,KAAA,CAAA;AACA,MAAA,OAAA,aAAA,CAAA,OAAA,CAAA,MAAA,CAAA,KAAA,KAAA,CAAA,CAAA,QAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,cAAA,MAAA;AACA,MAAA,MAAA,GAAA,GAAA,KAAA,EAAA,CAAA,MAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AACA,MAAA,MAAA,OAAA,GAAA,IAAA,MAAA,EAAA,CAAA;AACA,MAAA,aAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AACA,MAAA,IAAA,CAAA,CAAA,iBAAA,CAAA,aAAA,CAAA,OAAA,CAAA,KAAA,oBAAA,CAAA,OAAA,CAAA,EAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,KAAA,EAAA,CAAA,MAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AACA,QAAA,IAAA,CAAA,UAAA,KAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,KAAA,CAAA,UAAA,IAAA,iBAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,KAAA,CAAA,UAAA,IAAA,iBAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,aAAA,CAAA,KAAA;AACA,QAAA,OAAA,aAAA,CAAA,KAAA,CAAA;AACA,MAAA,IAAA,CAAA,KAAA,CAAA,WAAA,IAAA,CAAA,YAAA,CAAA,KAAA;AACA,QAAA,OAAA;AACA,MAAA,OAAA,CAAA,MAAA,WAAA,IAAA,SAAA,CAAA,KAAA,EAAA,MAAA,CAAA,WAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,aAAA,CAAA,KAAA;AACA,QAAA,OAAA,aAAA,CAAA,KAAA,CAAA;AACA,MAAA,IAAA,CAAA,KAAA,CAAA,WAAA,IAAA,CAAA,YAAA,CAAA,KAAA;AACA,QAAA,OAAA;AACA,MAAA,OAAA,CAAA,MAAA,WAAA,IAAA,SAAA,CAAA,KAAA,EAAA,MAAA,CAAA,WAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,IAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,yBAAA,MAAA;AACA,MAAA,iBAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,sBAAA,MAAA;AACA,MAAA,iBAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,OAAA;AAAA,QACA,IAAA,EAAA,MAAA,IAAA,EAAA;AAAA,QACA,MAAA,EAAA,MAAA,MAAA,EAAA;AAAA,QACA,MAAA,EAAA,MAAA,MAAA,EAAA;AAAA,QACA,IAAA,EAAA,MAAA,IAAA,EAAA;AAAA,QACA,KAAA,EAAA,MAAA,KAAA,EAAA;AAAA,QACA,IAAA,EAAA,MAAA,IAAA,EAAA;AAAA,OACA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,CAAA,KAAA,EAAA,OAAA,EAAA,KAAA,KAAA;AACA,MAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,GAAA,SAAA,KAAA,CAAA,CAAA;AACA,MAAA,MAAA,OAAA,GAAA,KAAA,CAAA,WAAA,GAAA,KAAA,CAAA,WAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA,MAAA,CAAA,MAAA,CAAA,CAAA,MAAA,CAAA,MAAA,CAAA,GAAA,KAAA,CAAA;AACA,MAAA,SAAA,CAAA,KAAA,GAAA,OAAA,CAAA;AACA,MAAA,IAAA,CAAA,SAAA,CAAA,OAAA,IAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,KAAA,EAAA;AACA,QAAA,iBAAA,CAAA,KAAA,GAAA,OAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,uBAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,MAAA,OAAA,GAAA,MAAA,KAAA,EAAA,UAAA,CAAA,KAAA,CAAA,CAAA,MAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AACA,MAAA,IAAA,OAAA,CAAA,OAAA,EAAA,IAAA,oBAAA,CAAA,OAAA,CAAA,EAAA;AACA,QAAA,MAAA,EAAA,IAAA,EAAA,KAAA,EAAA,KAAA,EAAA,MAAA,EAAA,MAAA,KAAA,EAAA,GAAA,QAAA,CAAA,SAAA,CAAA,KAAA,CAAA,CAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,QAAA,IAAA,CAAA,KAAA,EAAA,KAAA,CAAA,MAAA,CAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA;AACA,QAAA,aAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AACA,QAAA,iBAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACA,QAAA,IAAA,CAAA,SAAA,CAAA,OAAA,IAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,uBAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,MAAA,OAAA,GAAA,MAAA,KAAA,EAAA,UAAA,CAAA,KAAA,CAAA,CAAA,MAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AACA,MAAA,IAAA,OAAA,CAAA,SAAA,EAAA;AACA,QAAA,IAAA,aAAA,IAAA,aAAA,CAAA,OAAA,CAAA,MAAA,EAAA,CAAA,EAAA;AACA,UAAA,OAAA;AAAA,SACA;AACA,QAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,GAAA,QAAA,CAAA,UAAA,KAAA,CAAA,CAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,QAAA,IAAA,CAAA,IAAA,EAAA,MAAA,CAAA,MAAA,CAAA,CAAA,MAAA,CAAA,MAAA,CAAA,CAAA;AACA,QAAA,aAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AACA,QAAA,IAAA,CAAA,SAAA,CAAA,OAAA,IAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,OAAA,KAAA,CAAA,OAAA,CAAA,KAAA,CAAA,IAAA,KAAA,CAAA,OAAA,EAAA,KAAA,aAAA,GAAA,CAAA,aAAA,CAAA,KAAA,CAAA,MAAA,EAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,aAAA,CAAA,UAAA,OAAA,EAAA;AACA,QAAA,OAAA,KAAA,CAAA,IAAA,CAAA,CAAA,KAAA,EAAA,MAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,OAAA,KAAA,CAAA,MAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,OAAA,MAAA,KAAA,EAAA,KAAA,CAAA,MAAA,CAAA,CAAA,MAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,mBAAA,MAAA;AACA,MAAA,MAAA,aAAA,KAAA,CAAA,YAAA,CAAA,KAAA,CAAA,CAAA,MAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,aAAA,KAAA,EAAA;AACA,QAAA,MAAA,oBAAA,YAAA,CAAA,KAAA,CAAA;AACA,QAAA,OAAA,OAAA,CAAA,IAAA,CAAA,kBAAA,IAAA,EAAA,EAAA,MAAA,CAAA,iBAAA,CAAA,QAAA,CAAA,CAAA,OAAA,iBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,MAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,OAAA,UAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,oBAAA,YAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,IAAA,CAAA,QAAA,OAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA,QAAA,CAAA,aAAA,CAAA,KAAA,CAAA,EAAA;AACA,QAAA,CAAA,KAAA,cAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,KAAA,EAAA,CAAA;AACA,QAAA,IAAA,aAAA,CAAA,UAAA,MAAA,EAAA;AACA,UAAA,gBAAA,CAAA,WAAA,IAAA,CAAA,CAAA;AAAA,SACA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,kBAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,MAAA,EAAA,MAAA,GAAA,KAAA,CAAA;AACA,MAAA,MAAA,SAAA,GAAA;AAAA,QACA,UAAA,CAAA,EAAA;AAAA,QACA,UAAA,CAAA,IAAA;AAAA,QACA,UAAA,CAAA,IAAA;AAAA,QACA,UAAA,CAAA,KAAA;AAAA,QACA,UAAA,CAAA,IAAA;AAAA,QACA,UAAA,CAAA,GAAA;AAAA,QACA,UAAA,CAAA,MAAA;AAAA,QACA,UAAA,CAAA,QAAA;AAAA,OACA,CAAA;AACA,MAAA,IAAA,SAAA,CAAA,QAAA,CAAA,IAAA,CAAA,EAAA;AACA,QAAA,gBAAA,CAAA,IAAA,CAAA,CAAA;AACA,QAAA,KAAA,CAAA,eAAA,EAAA,CAAA;AACA,QAAA,KAAA,CAAA,cAAA,EAAA,CAAA;AAAA,OACA;AACA,MAAA,IAAA,CAAA,UAAA,CAAA,KAAA,EAAA,UAAA,CAAA,KAAA,EAAA,WAAA,WAAA,CAAA,CAAA,QAAA,CAAA,IAAA,KAAA,aAAA,CAAA,KAAA,KAAA,IAAA,IAAA,aAAA,CAAA,UAAA,IAAA,EAAA;AACA,QAAA,KAAA,CAAA,cAAA,EAAA,CAAA;AACA,QAAA,IAAA,CAAA,SAAA,CAAA,OAAA,KAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,CAAA,IAAA,KAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,MAAA,EAAA,IAAA,IAAA,EAAA,IAAA,EAAA,OAAA,IAAA,EAAA,GAAA,EAAA,MAAA,EAAA,QAAA,EAAA,GAAA,UAAA,CAAA;AACA,MAAA,MAAA,OAAA,GAAA;AAAA,QACA,IAAA,EAAA;AAAA,UACA,CAAA,EAAA,GAAA,CAAA,CAAA;AAAA,UACA,CAAA,IAAA,GAAA,CAAA;AAAA,UACA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,UACA,CAAA,KAAA,GAAA,CAAA;AAAA,UACA,MAAA,EAAA,CAAA,KAAA,EAAA,IAAA,KAAA,MAAA,WAAA,CAAA,KAAA,CAAA,WAAA,EAAA,GAAA,IAAA,CAAA;AAAA,SACA;AAAA,QACA,KAAA,EAAA;AAAA,UACA,CAAA,EAAA,GAAA,CAAA,CAAA;AAAA,UACA,CAAA,IAAA,GAAA,CAAA;AAAA,UACA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,UACA,CAAA,KAAA,GAAA,CAAA;AAAA,UACA,MAAA,EAAA,CAAA,KAAA,EAAA,IAAA,KAAA,MAAA,QAAA,CAAA,KAAA,CAAA,QAAA,EAAA,GAAA,IAAA,CAAA;AAAA,SACA;AAAA,QACA,IAAA,EAAA;AAAA,UACA,CAAA,EAAA,GAAA,CAAA,CAAA;AAAA,UACA,CAAA,IAAA,GAAA,CAAA;AAAA,UACA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,UACA,CAAA,KAAA,GAAA,CAAA;AAAA,UACA,MAAA,EAAA,CAAA,KAAA,EAAA,IAAA,KAAA,KAAA,CAAA,QAAA,KAAA,CAAA,OAAA,EAAA,GAAA,IAAA,GAAA,CAAA,CAAA;AAAA,SACA;AAAA,QACA,IAAA,EAAA;AAAA,UACA,CAAA,EAAA,GAAA,CAAA,CAAA;AAAA,UACA,CAAA,IAAA,GAAA,CAAA;AAAA,UACA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,UACA,CAAA,KAAA,GAAA,CAAA;AAAA,UACA,CAAA,IAAA,GAAA,CAAA,KAAA,KAAA,CAAA,MAAA,MAAA,EAAA;AAAA,UACA,CAAA,GAAA,GAAA,CAAA,UAAA,CAAA,KAAA,CAAA,QAAA,GAAA,CAAA;AAAA,UACA,CAAA,MAAA,GAAA,CAAA,KAAA,KAAA,CAAA,IAAA,IAAA,CAAA,KAAA,CAAA,WAAA,IAAA,KAAA,CAAA,QAAA,EAAA,EAAA,CAAA,EAAA,OAAA,EAAA;AAAA,UACA,CAAA,QAAA,GAAA,CAAA,KAAA,KAAA,IAAA,IAAA,CAAA,KAAA,CAAA,WAAA,EAAA,EAAA,MAAA,QAAA,EAAA,GAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA;AAAA,UACA,MAAA,EAAA,CAAA,KAAA,EAAA,IAAA,KAAA,MAAA,OAAA,CAAA,KAAA,CAAA,OAAA,EAAA,GAAA,IAAA,CAAA;AAAA,SACA;AAAA,OACA,CAAA;AACA,MAAA,MAAA,OAAA,GAAA,SAAA,CAAA,KAAA,CAAA,MAAA,EAAA,CAAA;AACA,MAAA,OAAA,IAAA,CAAA,GAAA,CAAA,SAAA,CAAA,KAAA,CAAA,IAAA,CAAA,SAAA,MAAA,EAAA,IAAA,CAAA,CAAA,GAAA,CAAA,EAAA;AACA,QAAA,MAAA,GAAA,GAAA,OAAA,CAAA,YAAA,CAAA,KAAA,CAAA,CAAA;AACA,QAAA,IAAA,CAAA,GAAA;AACA,UAAA,OAAA;AACA,QAAA,GAAA,CAAA,OAAA,OAAA,EAAA,UAAA,CAAA,IAAA,IAAA,CAAA,IAAA,GAAA,CAAA,IAAA,CAAA,CAAA,OAAA,KAAA,EAAA,GAAA,GAAA,CAAA,IAAA,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,CAAA,CAAA;AACA,QAAA,IAAA,aAAA,IAAA,aAAA,CAAA,OAAA,CAAA,EAAA;AACA,UAAA,MAAA;AAAA,SACA;AACA,QAAA,MAAA,SAAA,KAAA,CAAA,OAAA,CAAA,CAAA,MAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,MAAA,CAAA;AACA,QAAA,WAAA,CAAA,MAAA,EAAA,QAAA,IAAA,CAAA,CAAA;AACA,QAAA,MAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,CAAA,IAAA,KAAA;AACA,MAAA,WAAA,CAAA,gBAAA,SAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,EAAA,YAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,KAAA,CAAA,MAAA,aAAA,CAAA,KAAA,EAAA,CAAA,GAAA,KAAA;AACA,MAAA,IAAA,CAAA,OAAA,EAAA,MAAA,CAAA,CAAA,QAAA,CAAA,GAAA,CAAA,EAAA;AACA,QAAA,WAAA,CAAA,KAAA,GAAA,GAAA,CAAA;AACA,QAAA,OAAA;AAAA,OACA;AACA,MAAA,WAAA,CAAA,KAAA,GAAA,MAAA,CAAA;AAAA,KACA,EAAA,EAAA,SAAA,EAAA,IAAA,EAAA,CAAA,CAAA;AACA,IAAA,KAAA,CAAA,MAAA,WAAA,CAAA,KAAA,EAAA,MAAA;AACA,MAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,YAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,KAAA,CAAA,MAAA,YAAA,CAAA,KAAA,EAAA,CAAA,GAAA,KAAA;AACA,MAAA,IAAA,GAAA,EAAA;AACA,QAAA,SAAA,CAAA,QAAA,gBAAA,EAAA,CAAA;AAAA,OACA;AAAA,KACA,EAAA,EAAA,SAAA,EAAA,IAAA,EAAA,CAAA,CAAA;AACA,IAAA,KAAA,CAAA,MAAA,KAAA,CAAA,WAAA,EAAA,CAAA,GAAA,KAAA;AACA,MAAA,IAAA,GAAA,EAAA;AACA,QAAA,IAAA,cAAA,KAAA,KAAA,OAAA;AACA,UAAA,OAAA;AACA,QAAA,IAAA,KAAA,CAAA,QAAA,GAAA,CAAA;AACA,UAAA,OAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,GAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,SAAA,CAAA,QAAA,gBAAA,EAAA,CAAA;AAAA,OACA;AAAA,KACA,EAAA,EAAA,SAAA,EAAA,IAAA,EAAA,CAAA,CAAA;AACA,IAAA,WAAA,CAAA,mBAAA,EAAA,CAAA,cAAA,EAAA,YAAA,CAAA,CAAA,CAAA;AACA,IAAA,WAAA,CAAA,mBAAA,EAAA,CAAA,gBAAA,EAAA,cAAA,CAAA,CAAA,CAAA;AACA,IAAA,WAAA,CAAA,mBAAA,EAAA,CAAA,gBAAA,EAAA,cAAA,CAAA,CAAA,CAAA;AACA,IAAA,WAAA,CAAA,mBAAA,EAAA,CAAA,mBAAA,EAAA,iBAAA,CAAA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,MAAA,MAAA,KAAA;AACA,MAAA,OAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,KAAA,EAAA;AAAA,QACA,OAAA,cAAA,CAAA;AAAA,UACA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,EAAA;AAAA,UACA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,EAAA;AAAA,UACA;AAAA,YACA,aAAA,EAAA,IAAA,CAAA,MAAA,CAAA,OAAA,IAAA,MAAA,YAAA,CAAA;AAAA,YACA,UAAA,EAAA,MAAA,QAAA,CAAA;AAAA,WACA;AAAA,SACA,CAAA;AAAA,OACA,EAAA;AAAA,QACA,mBAAA,KAAA,EAAA;AAAA,UACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,cAAA,CAAA,CAAA;AAAA,SACA,EAAA;AAAA,UACA,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,EAAA;AAAA,YACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA;AAAA,WACA,CAAA;AAAA,UACA,MAAA,YAAA,CAAA,IAAA,SAAA,EAAA,EAAA,mBAAA,KAAA,EAAA;AAAA,YACA,GAAA,EAAA,CAAA;AAAA,YACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA;AAAA,WACA,EAAA;AAAA,aACA,SAAA,CAAA,IAAA,CAAA,EAAA,kBAAA,CAAA,QAAA,EAAA,IAAA,EAAA,UAAA,CAAA,KAAA,CAAA,SAAA,CAAA,EAAA,CAAA,QAAA,EAAA,GAAA,KAAA;AACA,cAAA,OAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,QAAA,EAAA;AAAA,gBACA,GAAA;AAAA,gBACA,IAAA,EAAA,QAAA;AAAA,gBACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA;AAAA,gBACA,OAAA,EAAA,CAAA,MAAA,KAAA,mBAAA,CAAA,QAAA,CAAA;AAAA,iBACA,eAAA,CAAA,QAAA,CAAA,IAAA,CAAA,EAAA,IAAA,YAAA,CAAA,CAAA;AAAA,aACA,GAAA,GAAA,CAAA;AAAA,WACA,EAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,UACA,mBAAA,KAAA,EAAA;AAAA,YACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA;AAAA,WACA,EAAA;AAAA,YACA,MAAA,QAAA,CAAA,IAAA,SAAA,EAAA,EAAA,mBAAA,KAAA,EAAA;AAAA,cACA,GAAA,EAAA,CAAA;AAAA,cACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,aAAA,CAAA,CAAA;AAAA,aACA,EAAA;AAAA,cACA,mBAAA,MAAA,EAAA;AAAA,gBACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,aAAA,CAAA,CAAA;AAAA,eACA,EAAA;AAAA,gBACA,WAAA,CAAA,KAAA,CAAA,OAAA,CAAA,EAAA;AAAA,kBACA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,0BAAA,CAAA;AAAA,kBACA,aAAA,EAAA,MAAA,WAAA,CAAA;AAAA,kBACA,IAAA,EAAA,OAAA;AAAA,kBACA,gBAAA,EAAA,KAAA;AAAA,kBACA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,KAAA,aAAA,CAAA,KAAA,GAAA,GAAA,CAAA;AAAA,kBACA,QAAA,EAAA,uBAAA;AAAA,mBACA,IAAA,EAAA,CAAA,EAAA,CAAA,aAAA,EAAA,aAAA,CAAA,CAAA;AAAA,iBACA,CAAA,CAAA;AAAA,cACA,cAAA,EAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,MAAA,EAAA;AAAA,gBACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,aAAA,CAAA,CAAA;AAAA,eACA,EAAA;AAAA,gBACA,WAAA,CAAA,KAAA,CAAA,OAAA,CAAA,EAAA;AAAA,kBACA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,0BAAA,CAAA;AAAA,kBACA,aAAA,EAAA,MAAA,WAAA,CAAA;AAAA,kBACA,IAAA,EAAA,OAAA;AAAA,kBACA,gBAAA,EAAA,KAAA;AAAA,kBACA,OAAA,EAAA,sBAAA;AAAA,kBACA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,KAAA,aAAA,CAAA,KAAA,GAAA,GAAA,CAAA;AAAA,kBACA,QAAA,EAAA,uBAAA;AAAA,mBACA,IAAA,EAAA,CAAA,EAAA,CAAA,aAAA,EAAA,aAAA,CAAA,CAAA;AAAA,gBACA,WAAA,CAAA,KAAA,CAAA,aAAA,CAAA,EAAA;AAAA,kBACA,SAAA,iBAAA,CAAA,KAAA;AAAA,kBACA,MAAA,EAAA,MAAA,UAAA,CAAA;AAAA,kBACA,gBAAA,SAAA,CAAA,KAAA;AAAA,kBACA,MAAA,EAAA,cAAA;AAAA,mBACA,IAAA,EAAA,CAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,cAAA,CAAA,CAAA;AAAA,eACA,EAAA,CAAA,CAAA,GAAA;AAAA,gBACA,CAAA,KAAA,CAAA,YAAA,CAAA,EAAA,mBAAA,CAAA;AAAA,eACA,CAAA;AAAA,aACA,EAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,YACA,cAAA,CAAA,mBAAA,KAAA,EAAA;AAAA,cACA,OAAA,cAAA,CAAA;AAAA,gBACA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA;AAAA,gBACA,CAAA,WAAA,CAAA,KAAA,KAAA,MAAA,IAAA,WAAA,CAAA,KAAA,KAAA,YAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,kBAAA,CAAA;AAAA,eACA,CAAA;AAAA,aACA,EAAA;AAAA,cACA,mBAAA,MAAA,EAAA;AAAA,gBACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA;AAAA,eACA,EAAA;AAAA,gBACA,mBAAA,QAAA,EAAA;AAAA,kBACA,IAAA,EAAA,QAAA;AAAA,kBACA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,sBAAA,CAAA,CAAA;AAAA,kBACA,KAAA,EAAA,cAAA,CAAA,CAAA,cAAA,EAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA;AAAA,kBACA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,UAAA,CAAA,KAAA,CAAA,CAAA;AAAA,iBACA,EAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA,IAAA,EAAA;AAAA,oBACA,OAAA,EAAA,QAAA,MAAA;AAAA,sBACA,WAAA,CAAA,KAAA,CAAA,oBAAA,CAAA,CAAA;AAAA,qBACA,CAAA;AAAA,oBACA,CAAA,EAAA,CAAA;AAAA,mBACA,CAAA;AAAA,iBACA,EAAA,IAAA,YAAA,CAAA;AAAA,gBACA,cAAA,CAAA,mBAAA,QAAA,EAAA;AAAA,kBACA,IAAA,EAAA,QAAA;AAAA,kBACA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,uBAAA,CAAA,CAAA;AAAA,kBACA,KAAA,EAAA,cAAA,CAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CAAA,UAAA,CAAA,EAAA,YAAA,CAAA,CAAA;AAAA,kBACA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,WAAA,CAAA,KAAA,CAAA,CAAA;AAAA,iBACA,EAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA,IAAA,EAAA;AAAA,oBACA,OAAA,EAAA,QAAA,MAAA;AAAA,sBACA,WAAA,CAAA,KAAA,CAAA,kBAAA,CAAA,CAAA;AAAA,qBACA,CAAA;AAAA,oBACA,CAAA,EAAA,CAAA;AAAA,mBACA,CAAA;AAAA,iBACA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA;AAAA,kBACA,CAAA,KAAA,EAAA,WAAA,CAAA,KAAA,KAAA,MAAA,CAAA;AAAA,iBACA,CAAA;AAAA,iBACA,CAAA,CAAA;AAAA,cACA,mBAAA,MAAA,EAAA;AAAA,gBACA,IAAA,EAAA,QAAA;AAAA,gBACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,cAAA,CAAA,CAAA;AAAA,gBACA,WAAA,EAAA,QAAA;AAAA,gBACA,QAAA,EAAA,GAAA;AAAA,gBACA,SAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,QAAA,CAAA,CAAA,WAAA,UAAA,CAAA,MAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAAA,gBACA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,UAAA,CAAA,MAAA,CAAA,CAAA;AAAA,iBACA,eAAA,CAAA,KAAA,CAAA,SAAA,CAAA,GAAA,EAAA,CAAA;AAAA,cACA,cAAA,CAAA,mBAAA,MAAA,EAAA;AAAA,gBACA,IAAA,EAAA,QAAA;AAAA,gBACA,WAAA,EAAA,QAAA;AAAA,gBACA,QAAA,EAAA,GAAA;AAAA,gBACA,OAAA,cAAA,CAAA;AAAA,kBACA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,cAAA,CAAA;AAAA,kBACA,EAAA,MAAA,EAAA,WAAA,CAAA,KAAA,KAAA,OAAA,EAAA;AAAA,iBACA,CAAA;AAAA,gBACA,SAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,QAAA,CAAA,CAAA,WAAA,UAAA,CAAA,OAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAAA,gBACA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,UAAA,CAAA,OAAA,CAAA,CAAA;AAAA,eACA,EAAA,eAAA,CAAA,KAAA,CAAA,CAAA,EAAA,CAAA,mBAAA,EAAA,KAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,EAAA;AAAA,gBACA,CAAA,KAAA,EAAA,WAAA,CAAA,KAAA,KAAA,MAAA,CAAA;AAAA,eACA,CAAA;AAAA,cACA,mBAAA,MAAA,EAAA;AAAA,gBACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA;AAAA,eACA,EAAA;AAAA,gBACA,cAAA,CAAA,mBAAA,QAAA,EAAA;AAAA,kBACA,IAAA,EAAA,QAAA;AAAA,kBACA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,uBAAA,CAAA,CAAA;AAAA,kBACA,KAAA,EAAA,cAAA,CAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CAAA,UAAA,CAAA,EAAA,aAAA,CAAA,CAAA;AAAA,kBACA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,WAAA,CAAA,IAAA,CAAA,CAAA;AAAA,iBACA,EAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA,IAAA,EAAA;AAAA,oBACA,OAAA,EAAA,QAAA,MAAA;AAAA,sBACA,WAAA,CAAA,KAAA,CAAA,mBAAA,CAAA,CAAA;AAAA,qBACA,CAAA;AAAA,oBACA,CAAA,EAAA,CAAA;AAAA,mBACA,CAAA;AAAA,iBACA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA;AAAA,kBACA,CAAA,KAAA,EAAA,WAAA,CAAA,KAAA,KAAA,MAAA,CAAA;AAAA,iBACA,CAAA;AAAA,gBACA,mBAAA,QAAA,EAAA;AAAA,kBACA,IAAA,EAAA,QAAA;AAAA,kBACA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,sBAAA,CAAA,CAAA;AAAA,kBACA,KAAA,EAAA,cAAA,CAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CAAA,UAAA,CAAA,EAAA,eAAA,CAAA,CAAA;AAAA,kBACA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,UAAA,CAAA,IAAA,CAAA,CAAA;AAAA,iBACA,EAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA,IAAA,EAAA;AAAA,oBACA,OAAA,EAAA,QAAA,MAAA;AAAA,sBACA,WAAA,CAAA,KAAA,CAAA,qBAAA,CAAA,CAAA;AAAA,qBACA,CAAA;AAAA,oBACA,CAAA,EAAA,CAAA;AAAA,mBACA,CAAA;AAAA,iBACA,EAAA,IAAA,YAAA,CAAA;AAAA,iBACA,CAAA,CAAA;AAAA,aACA,EAAA,CAAA,CAAA,EAAA;AAAA,cACA,CAAA,KAAA,EAAA,WAAA,CAAA,KAAA,KAAA,MAAA,CAAA;AAAA,aACA,CAAA;AAAA,YACA,mBAAA,KAAA,EAAA;AAAA,cACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA;AAAA,cACA,SAAA,EAAA,kBAAA;AAAA,aACA,EAAA;AAAA,cACA,YAAA,KAAA,KAAA,MAAA,IAAA,SAAA,EAAA,EAAA,YAAA,SAAA,EAAA;AAAA,gBACA,GAAA,EAAA,CAAA;AAAA,gBACA,OAAA,EAAA,gBAAA;AAAA,gBACA,GAAA,EAAA,cAAA;AAAA,gBACA,gBAAA,EAAA,MAAA,aAAA,CAAA;AAAA,gBACA,MAAA,SAAA,CAAA,KAAA;AAAA,gBACA,gBAAA,IAAA,CAAA,WAAA;AAAA,gBACA,eAAA,EAAA,MAAA,aAAA,CAAA;AAAA,gBACA,iBAAA,EAAA,MAAA,aAAA,CAAA;AAAA,gBACA,MAAA,EAAA,cAAA;AAAA,eACA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,gBAAA,EAAA,MAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,cACA,YAAA,KAAA,KAAA,MAAA,IAAA,SAAA,EAAA,EAAA,YAAA,SAAA,EAAA;AAAA,gBACA,GAAA,EAAA,CAAA;AAAA,gBACA,OAAA,EAAA,gBAAA;AAAA,gBACA,GAAA,EAAA,cAAA;AAAA,gBACA,MAAA,SAAA,CAAA,KAAA;AAAA,gBACA,eAAA,EAAA,MAAA,aAAA,CAAA;AAAA,gBACA,gBAAA,IAAA,CAAA,WAAA;AAAA,gBACA,MAAA,EAAA,cAAA;AAAA,eACA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,EAAA,eAAA,EAAA,cAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,cACA,YAAA,KAAA,KAAA,OAAA,IAAA,SAAA,EAAA,EAAA,YAAA,UAAA,EAAA;AAAA,gBACA,GAAA,EAAA,CAAA;AAAA,gBACA,OAAA,EAAA,gBAAA;AAAA,gBACA,GAAA,EAAA,cAAA;AAAA,gBACA,MAAA,SAAA,CAAA,KAAA;AAAA,gBACA,gBAAA,IAAA,CAAA,WAAA;AAAA,gBACA,eAAA,EAAA,MAAA,aAAA,CAAA;AAAA,gBACA,MAAA,EAAA,eAAA;AAAA,eACA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,EAAA,cAAA,EAAA,eAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,eACA,EAAA,CAAA;AAAA,aACA,CAAA,CAAA;AAAA,WACA,CAAA,CAAA;AAAA,QACA,cAAA,CAAA,mBAAA,KAAA,EAAA;AAAA,UACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA;AAAA,SACA,EAAA;AAAA,UACA,cAAA,CAAA,WAAA,CAAA,KAAA,CAAA,QAAA,CAAA,EAAA;AAAA,YACA,IAAA,EAAA,EAAA;AAAA,YACA,IAAA,EAAA,OAAA;AAAA,YACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA;AAAA,YACA,QAAA,EAAA,MAAA,WAAA,CAAA;AAAA,YACA,OAAA,EAAA,WAAA;AAAA,WACA,EAAA;AAAA,YACA,OAAA,EAAA,QAAA,MAAA;AAAA,cACA,eAAA,CAAA,gBAAA,KAAA,CAAA,CAAA,EAAA,mBAAA,CAAA,GAAA,CAAA,CAAA;AAAA,aACA,CAAA;AAAA,YACA,CAAA,EAAA,CAAA;AAAA,aACA,CAAA,EAAA,CAAA,OAAA,EAAA,UAAA,CAAA,CAAA,EAAA;AAAA,YACA,CAAA,KAAA,EAAA,KAAA,CAAA,aAAA,MAAA,OAAA,CAAA;AAAA,WACA,CAAA;AAAA,UACA,WAAA,CAAA,KAAA,CAAA,QAAA,CAAA,EAAA;AAAA,YACA,KAAA,EAAA,EAAA;AAAA,YACA,IAAA,EAAA,OAAA;AAAA,YACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA;AAAA,YACA,QAAA,EAAA,MAAA,eAAA,CAAA;AAAA,YACA,OAAA,EAAA,SAAA;AAAA,WACA,EAAA;AAAA,YACA,OAAA,EAAA,QAAA,MAAA;AAAA,cACA,eAAA,CAAA,gBAAA,KAAA,CAAA,CAAA,EAAA,uBAAA,CAAA,GAAA,CAAA,CAAA;AAAA,aACA,CAAA;AAAA,YACA,CAAA,EAAA,CAAA;AAAA,WACA,EAAA,CAAA,EAAA,CAAA,OAAA,EAAA,UAAA,CAAA,CAAA;AAAA,SACA,EAAA,CAAA,CAAA,EAAA;AAAA,UACA,CAAA,KAAA,EAAA,KAAA,CAAA,aAAA,CAAA,IAAA,WAAA,CAAA,UAAA,MAAA,CAAA;AAAA,SACA,CAAA;AAAA,SACA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,IAAA,aAAA,iCAAA,WAAA,EAAA,CAAA,CAAA,QAAA,EAAA,qHAAA,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,sBAAA,UAAA,CAAA;AAAA,EACA,GAAA,gBAAA;AAAA,EACA,GAAA,qBAAA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,WAAA,GAAA,CAAA,IAAA,KAAA;AACA,EAAA,MAAA,EAAA,IAAA,EAAA,GAAA,kBAAA,EAAA,CAAA;AACA,EAAA,MAAA,QAAA,UAAA,EAAA,CAAA;AACA,EAAA,MAAA,QAAA,QAAA,EAAA,CAAA;AACA,EAAA,MAAA,mBAAA,GAAA,CAAA,QAAA,KAAA;AACA,IAAA,MAAA,cAAA,GAAA,WAAA,QAAA,CAAA,KAAA,IAAA,QAAA,CAAA,KAAA,KAAA,QAAA,CAAA,KAAA,CAAA;AACA,IAAA,IAAA,cAAA,EAAA;AACA,MAAA,IAAA,CAAA,MAAA,EAAA;AAAA,QACA,MAAA,cAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,KAAA,KAAA,CAAA;AAAA,QACA,MAAA,cAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,KAAA,KAAA,CAAA;AAAA,OACA,CAAA,CAAA;AACA,MAAA,OAAA;AAAA,KACA;AACA,IAAA,IAAA,SAAA,OAAA,EAAA;AACA,MAAA,QAAA,CAAA,OAAA,CAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QACA,IAAA;AAAA,OACA,CAAA,CAAA;AAAA,KACA;AAAA,GACA,CAAA;AACA,EAAA,OAAA,mBAAA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,cAAA,GAAA,CAAA,KAAA,EAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAA,EAAA,KAAA;AAAA,EACA,oBAAA;AACA,CAAA,KAAA;AACA,EAAA,MAAA,EAAA,IAAA,EAAA,GAAA,kBAAA,EAAA,CAAA;AACA,EAAA,MAAA,EAAA,QAAA,EAAA,GAAA,MAAA,CAAA,yBAAA,CAAA,CAAA;AACA,EAAA,MAAA,KAAA,GAAA,aAAA,mBAAA,CAAA,CAAA;AACA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,GAAA,SAAA,EAAA,CAAA;AACA,EAAA,MAAA,mBAAA,GAAA,YAAA,IAAA,CAAA,CAAA;AACA,EAAA,MAAA,UAAA,GAAA,EAAA,CAAA;AACA,EAAA,MAAA,UAAA,GAAA,EAAA,CAAA;AACA,EAAA,MAAA,aAAA,GAAA,CAAA;AAAA,IACA,OAAA,EAAA,IAAA;AAAA,IACA,SAAA,EAAA,KAAA;AAAA,GACA,CAAA,CAAA;AACA,EAAA,MAAA,iBAAA,GAAA,CAAA,GAAA,KAAA;AACA,IAAA,UAAA,CAAA,KAAA,GAAA,GAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,kBAAA,GAAA,CAAA,OAAA,GAAA,KAAA,KAAA;AACA,IAAA,MAAA,QAAA,GAAA,MAAA,OAAA,CAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,MAAA,OAAA,CAAA,CAAA;AACA,IAAA,IAAA,YAAA,CAAA,CAAA,QAAA,EAAA,QAAA,CAAA,CAAA,EAAA;AACA,MAAA,IAAA,CAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,GAAA,OAAA,CAAA,CAAA;AAAA,KACA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,QAAA,GAAA,CAAA,SAAA,KAAA;AACA,IAAA,UAAA,CAAA,MAAA,SAAA,GAAA,SAAA,CAAA;AACA,IAAA,IAAA,CAAA,SAAA,EAAA;AACA,MAAA,UAAA,CAAA,MAAA,OAAA,GAAA,IAAA,CAAA;AAAA,KACA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,iBAAA,MAAA;AACA,IAAA,MAAA,CAAA,KAAA,EAAA,GAAA,IAAA,eAAA,CAAA,KAAA,CAAA,YAAA,CAAA,EAAA;AAAA,MACA,IAAA,EAAA,MAAA,IAAA,CAAA;AAAA,MACA,IAAA,EAAA,KAAA;AAAA,MACA,cAAA,KAAA,CAAA,YAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,KAAA,GAAA,KAAA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,KAAA,GAAA,KAAA,CAAA,CAAA;AACA,IAAA,QAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACA,IAAA,SAAA,CAAA,KAAA,GAAA,GAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,KAAA,CAAA,YAAA,EAAA,CAAA,GAAA,KAAA;AACA,IAAA,IAAA,GAAA,EAAA;AACA,MAAA,cAAA,EAAA,CAAA;AAAA,KACA;AAAA,GACA,EAAA,EAAA,SAAA,EAAA,IAAA,EAAA,CAAA,CAAA;AACA,EAAA,KAAA,CAAA,MAAA,KAAA,CAAA,WAAA,EAAA,CAAA,YAAA,KAAA;AACA,IAAA,IAAA,OAAA,CAAA,YAAA,CAAA,IAAA,YAAA,CAAA,WAAA,CAAA,EAAA;AACA,MAAA,MAAA,CAAA,KAAA,EAAA,GAAA,CAAA,GAAA,YAAA,CAAA;AACA,MAAA,OAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACA,MAAA,QAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACA,MAAA,OAAA,CAAA,KAAA,GAAA,GAAA,CAAA;AACA,MAAA,oBAAA,CAAA,KAAA,CAAA,OAAA,CAAA,EAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAAA,KACA,MAAA;AACA,MAAA,cAAA,EAAA,CAAA;AAAA,KACA;AAAA,GACA,EAAA,EAAA,SAAA,EAAA,IAAA,EAAA,CAAA,CAAA;AACA,EAAA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,UAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA,EAAA,QAAA;AAAA,IACA,KAAA;AAAA,IACA,iBAAA;AAAA,IACA,kBAAA;AAAA,IACA,mBAAA;AAAA,IACA,QAAA;AAAA,IACA,CAAA;AAAA,GACA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,SAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,YAAA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,CAAA,YAAA,CAAA,CAAA;AACA,MAAA,UAAA,GAAA,CAAA,UAAA,EAAA,YAAA,CAAA,CAAA;AACA,MAAA,UAAA,GAAA,CAAA,UAAA,EAAA,YAAA,CAAA,CAAA;AACA,MAAA,UAAA,GAAA,CAAA,UAAA,EAAA,YAAA,CAAA,CAAA;AACA,MAAA,UAAA,GAAA,CAAA,UAAA,EAAA,YAAA,CAAA,CAAA;AACA,MAAA,UAAA,GAAA,CAAA,YAAA,CAAA,CAAA;AACA,MAAA,UAAA,GAAA,CAAA,YAAA,CAAA,CAAA;AACA,MAAA,MAAA,GAAA,OAAA,CAAA;AACA,MAAA,8BAAA,eAAA,CAAA;AAAA,EACA,MAAA,EAAA,kBAAA;AAAA,EACA,KAAA,EAAA,mBAAA;AAAA,EACA,KAAA,EAAA;AAAA,IACA,MAAA;AAAA,IACA,mBAAA;AAAA,IACA,iBAAA;AAAA,IACA,cAAA;AAAA,GACA;AAAA,EACA,KAAA,CAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA;AACA,IAAA,MAAA,KAAA,GAAA,OAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,OAAA,gBAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,cAAA,aAAA,EAAA,aAAA,EAAA,QAAA,WAAA,EAAA,SAAA,KAAA,UAAA,CAAA,KAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,KAAA,CAAA,UAAA,CAAA,KAAA,EAAA,WAAA,CAAA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,KAAA,CAAA,UAAA,CAAA,KAAA,EAAA,cAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,IAAA,EAAA,GAAA,SAAA,EAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,CAAA,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,GAAA,CAAA,KAAA,EAAA,CAAA,MAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA,GAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,IAAA;AAAA,MACA,KAAA;AAAA,MACA,iBAAA;AAAA,MACA,kBAAA;AAAA,MACA,mBAAA;AAAA,MACA,QAAA;AAAA,MACA,CAAA;AAAA,KACA,GAAA,eAAA,KAAA,EAAA;AAAA,MACA,YAAA;AAAA,MACA,QAAA;AAAA,MACA,SAAA;AAAA,MACA,IAAA,EAAA,MAAA;AAAA,MACA,oBAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,CAAA;AAAA,MACA,GAAA,EAAA,IAAA;AAAA,MACA,GAAA,EAAA,IAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,CAAA;AAAA,MACA,GAAA,EAAA,IAAA;AAAA,MACA,GAAA,EAAA,IAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,GAAA,QAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA,EAAA,EAAA,oBAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,sBAAA,QAAA,CAAA,KAAA,CAAA,OAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,GAAA,SAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA,EAAA,EAAA,oBAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,sBAAA,SAAA,CAAA,KAAA,CAAA,OAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,QAAA,CAAA,MAAA,IAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,QAAA,CAAA,MAAA,KAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,SAAA,CAAA,MAAA,IAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,SAAA,CAAA,MAAA,KAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,eAAA,QAAA,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA,MAAA,MAAA,CAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,aAAA,CAAA,MAAA,GAAA,KAAA,IAAA;AACA,QAAA,OAAA,cAAA,KAAA,CAAA,GAAA,CAAA;AACA,MAAA,IAAA,OAAA,CAAA,KAAA;AACA,QAAA,OAAA,OAAA,CAAA,KAAA,CAAA,MAAA,CAAA,UAAA,CAAA,KAAA,CAAA,CAAA;AACA,MAAA,OAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,aAAA,CAAA,MAAA,GAAA,KAAA,IAAA;AACA,QAAA,OAAA,cAAA,KAAA,CAAA,GAAA,CAAA;AACA,MAAA,IAAA,OAAA,CAAA,SAAA,OAAA,CAAA,KAAA;AACA,QAAA,OAAA,CAAA,QAAA,KAAA,IAAA,OAAA,CAAA,KAAA,EAAA,MAAA,CAAA,WAAA,KAAA,CAAA,CAAA;AACA,MAAA,OAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,aAAA,CAAA,MAAA,GAAA,KAAA,IAAA;AACA,QAAA,OAAA,cAAA,KAAA,CAAA,GAAA,CAAA;AACA,MAAA,IAAA,OAAA,CAAA,KAAA;AACA,QAAA,OAAA,OAAA,CAAA,KAAA,CAAA,MAAA,CAAA,UAAA,CAAA,KAAA,CAAA,CAAA;AACA,MAAA,OAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,aAAA,CAAA,MAAA,GAAA,KAAA,IAAA;AACA,QAAA,OAAA,cAAA,KAAA,CAAA,GAAA,CAAA;AACA,MAAA,IAAA,OAAA,CAAA,SAAA,OAAA,CAAA,KAAA;AACA,QAAA,OAAA,CAAA,QAAA,KAAA,IAAA,OAAA,CAAA,KAAA,EAAA,MAAA,CAAA,WAAA,KAAA,CAAA,CAAA;AACA,MAAA,OAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,KAAA,CAAA,UAAA,IAAA,iBAAA,CAAA,MAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,KAAA,CAAA,UAAA,IAAA,iBAAA,CAAA,MAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,OAAA,aAAA,KAAA,CAAA,KAAA,gBAAA,CAAA,aAAA,CAAA,MAAA,CAAA,CAAA,CAAA,QAAA,CAAA,IAAA,CAAA,aAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,MAAA,EAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,eAAA,MAAA;AACA,MAAA,QAAA,CAAA,KAAA,GAAA,QAAA,CAAA,KAAA,CAAA,QAAA,CAAA,GAAA,MAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,MAAA,YAAA,EAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,GAAA,OAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,iBAAA,CAAA,MAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,gBAAA,MAAA;AACA,MAAA,QAAA,CAAA,KAAA,GAAA,QAAA,CAAA,KAAA,CAAA,QAAA,CAAA,GAAA,OAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,MAAA,YAAA,EAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,GAAA,OAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,iBAAA,CAAA,OAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,gBAAA,MAAA;AACA,MAAA,IAAA,CAAA,MAAA,YAAA,EAAA;AACA,QAAA,QAAA,CAAA,KAAA,GAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,GAAA,MAAA,CAAA,CAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,GAAA,OAAA,CAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,SAAA,CAAA,KAAA,CAAA,GAAA,CAAA,GAAA,MAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,iBAAA,CAAA,MAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,iBAAA,MAAA;AACA,MAAA,IAAA,CAAA,MAAA,YAAA,EAAA;AACA,QAAA,QAAA,CAAA,KAAA,GAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,GAAA,OAAA,CAAA,CAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,GAAA,OAAA,CAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,SAAA,CAAA,KAAA,CAAA,GAAA,CAAA,GAAA,OAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,iBAAA,CAAA,OAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,eAAA,MAAA;AACA,MAAA,QAAA,CAAA,KAAA,GAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,GAAA,MAAA,CAAA,CAAA;AACA,MAAA,iBAAA,CAAA,MAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,gBAAA,MAAA;AACA,MAAA,QAAA,CAAA,KAAA,GAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,GAAA,OAAA,CAAA,CAAA;AACA,MAAA,iBAAA,CAAA,OAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,gBAAA,MAAA;AACA,MAAA,SAAA,CAAA,KAAA,GAAA,SAAA,CAAA,KAAA,CAAA,QAAA,CAAA,GAAA,MAAA,CAAA,CAAA;AACA,MAAA,iBAAA,CAAA,MAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,iBAAA,MAAA;AACA,MAAA,SAAA,CAAA,KAAA,GAAA,SAAA,CAAA,KAAA,CAAA,QAAA,CAAA,GAAA,OAAA,CAAA,CAAA;AACA,MAAA,iBAAA,CAAA,OAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,CAAA,IAAA,KAAA;AACA,MAAA,IAAA,CAAA,cAAA,EAAA,CAAA,QAAA,CAAA,KAAA,CAAA,MAAA,EAAA,EAAA,SAAA,CAAA,KAAA,CAAA,MAAA,EAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,SAAA,MAAA;AACA,MAAA,MAAA,SAAA,GAAA,CAAA,SAAA,CAAA,KAAA,GAAA,CAAA,IAAA,EAAA,CAAA;AACA,MAAA,MAAA,UAAA,GAAA,SAAA,CAAA,KAAA,GAAA,CAAA,IAAA,KAAA,CAAA,GAAA,CAAA,CAAA;AACA,MAAA,OAAA,KAAA,CAAA,YAAA,IAAA,IAAA,IAAA,CAAA,SAAA,KAAA,GAAA,UAAA,EAAA,SAAA,CAAA,GAAA,IAAA,IAAA,CAAA,SAAA,CAAA,KAAA,EAAA,WAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,KAAA,CAAA,YAAA,IAAA,SAAA,CAAA,KAAA,GAAA,EAAA,GAAA,UAAA,CAAA,KAAA,IAAA,QAAA,CAAA,KAAA,GAAA,EAAA,GAAA,SAAA,CAAA,KAAA,GAAA,CAAA,CAAA,IAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,EAAA,OAAA,CAAA,KAAA,IAAA,OAAA,CAAA,SAAA,CAAA,UAAA,CAAA,KAAA,CAAA,SAAA,IAAA,aAAA,CAAA,OAAA,CAAA,KAAA,EAAA,OAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,SAAA,MAAA,KAAA,CAAA,SAAA,UAAA,IAAA,KAAA,CAAA,SAAA,eAAA,CAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,CAAA,SAAA,EAAA,MAAA,KAAA;AACA,MAAA,IAAA,CAAA,SAAA;AACA,QAAA,OAAA;AACA,MAAA,IAAA,WAAA,EAAA;AACA,QAAA,MAAA,YAAA,GAAA,MAAA,WAAA,CAAA,MAAA,KAAA,WAAA,CAAA,CAAA,MAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA;AACA,QAAA,OAAA,YAAA,CAAA,IAAA,CAAA,SAAA,CAAA,IAAA,EAAA,CAAA,CAAA,KAAA,CAAA,SAAA,CAAA,KAAA,EAAA,CAAA,CAAA,IAAA,CAAA,SAAA,CAAA,MAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,OAAA,SAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,CAAA,GAAA,EAAA,KAAA,GAAA,IAAA,KAAA;AACA,MAAA,MAAA,OAAA,GAAA,CAAA,OAAA,CAAA;AACA,MAAA,MAAA,OAAA,GAAA,CAAA,OAAA,CAAA;AACA,MAAA,MAAA,QAAA,GAAA,UAAA,CAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACA,MAAA,MAAA,QAAA,GAAA,UAAA,CAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACA,MAAA,IAAA,OAAA,CAAA,KAAA,KAAA,QAAA,IAAA,OAAA,CAAA,UAAA,QAAA,EAAA;AACA,QAAA,OAAA;AAAA,OACA;AACA,MAAA,IAAA,CAAA,iBAAA,EAAA,CAAA,IAAA,CAAA,MAAA,IAAA,IAAA,IAAA,IAAA,CAAA,MAAA,EAAA,CAAA,CAAA,CAAA;AACA,MAAA,OAAA,CAAA,KAAA,GAAA,QAAA,CAAA;AACA,MAAA,OAAA,CAAA,KAAA,GAAA,QAAA,CAAA;AACA,MAAA,IAAA,CAAA,SAAA,QAAA,CAAA,KAAA;AACA,QAAA,OAAA;AACA,MAAA,kBAAA,EAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,oBAAA,GAAA,IAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,oBAAA,GAAA,IAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,qBAAA,MAAA;AACA,MAAA,oBAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,qBAAA,MAAA;AACA,MAAA,oBAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,CAAA,KAAA,EAAA,IAAA,KAAA;AACA,MAAA,aAAA,CAAA,KAAA,CAAA,IAAA,CAAA,GAAA,KAAA,CAAA;AACA,MAAA,MAAA,YAAA,GAAA,MAAA,KAAA,EAAA,UAAA,CAAA,KAAA,CAAA,CAAA,MAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AACA,MAAA,IAAA,YAAA,CAAA,SAAA,EAAA;AACA,QAAA,IAAA,aAAA,IAAA,aAAA,CAAA,YAAA,CAAA,MAAA,EAAA,CAAA,EAAA;AACA,UAAA,OAAA;AAAA,SACA;AACA,QAAA,IAAA,SAAA,KAAA,EAAA;AACA,UAAA,QAAA,CAAA,KAAA,GAAA,YAAA,CAAA;AACA,UAAA,OAAA,CAAA,SAAA,OAAA,CAAA,KAAA,IAAA,SAAA,KAAA,EAAA,IAAA,CAAA,aAAA,IAAA,EAAA,CAAA,CAAA,KAAA,CAAA,aAAA,KAAA,EAAA,EAAA,IAAA,CAAA,YAAA,CAAA,MAAA,CAAA,CAAA;AACA,UAAA,IAAA,CAAA,KAAA,CAAA,YAAA,KAAA,CAAA,OAAA,CAAA,KAAA,IAAA,OAAA,CAAA,KAAA,CAAA,QAAA,CAAA,OAAA,CAAA,KAAA,CAAA,CAAA,EAAA;AACA,YAAA,SAAA,CAAA,KAAA,GAAA,YAAA,CAAA,GAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;AACA,YAAA,OAAA,CAAA,KAAA,GAAA,OAAA,CAAA,KAAA,CAAA,GAAA,CAAA,GAAA,OAAA,CAAA,CAAA;AAAA,WACA;AAAA,SACA,MAAA;AACA,UAAA,SAAA,CAAA,KAAA,GAAA,YAAA,CAAA;AACA,UAAA,OAAA,CAAA,SAAA,OAAA,CAAA,KAAA,IAAA,UAAA,KAAA,EAAA,IAAA,CAAA,aAAA,IAAA,EAAA,CAAA,CAAA,KAAA,CAAA,aAAA,KAAA,EAAA,EAAA,IAAA,CAAA,YAAA,CAAA,MAAA,CAAA,CAAA;AACA,UAAA,IAAA,CAAA,KAAA,CAAA,YAAA,KAAA,CAAA,OAAA,CAAA,KAAA,IAAA,OAAA,CAAA,KAAA,CAAA,OAAA,CAAA,OAAA,CAAA,KAAA,CAAA,CAAA,EAAA;AACA,YAAA,QAAA,CAAA,KAAA,GAAA,YAAA,CAAA,QAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;AACA,YAAA,OAAA,CAAA,KAAA,GAAA,OAAA,CAAA,KAAA,CAAA,QAAA,CAAA,GAAA,OAAA,CAAA,CAAA;AAAA,WACA;AAAA,SACA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,CAAA,CAAA,EAAA,IAAA,KAAA;AACA,MAAA,aAAA,CAAA,KAAA,CAAA,IAAA,CAAA,GAAA,IAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,CAAA,KAAA,EAAA,IAAA,KAAA;AACA,MAAA,aAAA,CAAA,KAAA,CAAA,IAAA,CAAA,GAAA,KAAA,CAAA;AACA,MAAA,MAAA,YAAA,GAAA,MAAA,KAAA,EAAA,UAAA,CAAA,KAAA,CAAA,CAAA,MAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AACA,MAAA,IAAA,YAAA,CAAA,SAAA,EAAA;AACA,QAAA,IAAA,SAAA,KAAA,EAAA;AACA,UAAA,oBAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AACA,UAAA,OAAA,CAAA,SAAA,OAAA,CAAA,KAAA,IAAA,SAAA,KAAA,EAAA,IAAA,CAAA,aAAA,IAAA,EAAA,CAAA,CAAA,MAAA,CAAA,aAAA,MAAA,EAAA,EAAA,MAAA,CAAA,YAAA,CAAA,QAAA,CAAA,CAAA;AACA,UAAA,IAAA,CAAA,QAAA,KAAA,IAAA,OAAA,CAAA,MAAA,QAAA,CAAA,OAAA,CAAA,KAAA,CAAA,EAAA;AACA,YAAA,OAAA,CAAA,QAAA,OAAA,CAAA,KAAA,CAAA;AAAA,WACA;AAAA,SACA,MAAA;AACA,UAAA,oBAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AACA,UAAA,OAAA,CAAA,SAAA,OAAA,CAAA,KAAA,IAAA,UAAA,KAAA,EAAA,IAAA,CAAA,aAAA,IAAA,EAAA,CAAA,CAAA,MAAA,CAAA,aAAA,MAAA,EAAA,EAAA,MAAA,CAAA,YAAA,CAAA,QAAA,CAAA,CAAA;AACA,UAAA,SAAA,CAAA,QAAA,OAAA,CAAA,KAAA,CAAA;AACA,UAAA,IAAA,QAAA,KAAA,IAAA,OAAA,CAAA,MAAA,QAAA,CAAA,OAAA,CAAA,KAAA,CAAA,EAAA;AACA,YAAA,OAAA,CAAA,QAAA,OAAA,CAAA,KAAA,CAAA;AAAA,WACA;AAAA,SACA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,CAAA,KAAA,EAAA,IAAA,KAAA;AACA,MAAA,aAAA,CAAA,KAAA,CAAA,IAAA,CAAA,GAAA,IAAA,CAAA;AACA,MAAA,IAAA,SAAA,KAAA,EAAA;AACA,QAAA,QAAA,CAAA,QAAA,OAAA,CAAA,KAAA,CAAA;AACA,QAAA,oBAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,SAAA,CAAA,QAAA,OAAA,CAAA,KAAA,CAAA;AACA,QAAA,oBAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,CAAA,KAAA,EAAA,OAAA,EAAA,KAAA,KAAA;AACA,MAAA,IAAA,cAAA,KAAA,CAAA,GAAA;AACA,QAAA,OAAA;AACA,MAAA,IAAA,KAAA,EAAA;AACA,QAAA,QAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACA,QAAA,OAAA,CAAA,SAAA,OAAA,CAAA,KAAA,IAAA,SAAA,KAAA,EAAA,IAAA,CAAA,MAAA,IAAA,EAAA,CAAA,CAAA,MAAA,CAAA,MAAA,MAAA,EAAA,EAAA,MAAA,CAAA,KAAA,CAAA,QAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,IAAA,CAAA,KAAA,EAAA;AACA,QAAA,oBAAA,CAAA,KAAA,GAAA,OAAA,CAAA;AAAA,OACA;AACA,MAAA,IAAA,CAAA,QAAA,KAAA,IAAA,OAAA,CAAA,MAAA,QAAA,CAAA,OAAA,CAAA,KAAA,CAAA,EAAA;AACA,QAAA,OAAA,CAAA,QAAA,OAAA,CAAA,KAAA,CAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,CAAA,KAAA,EAAA,OAAA,EAAA,KAAA,KAAA;AACA,MAAA,IAAA,cAAA,KAAA,CAAA,GAAA;AACA,QAAA,OAAA;AACA,MAAA,IAAA,KAAA,EAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACA,QAAA,OAAA,CAAA,SAAA,OAAA,CAAA,KAAA,IAAA,UAAA,KAAA,EAAA,IAAA,CAAA,MAAA,IAAA,EAAA,CAAA,CAAA,MAAA,CAAA,MAAA,MAAA,EAAA,EAAA,MAAA,CAAA,KAAA,CAAA,QAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,IAAA,CAAA,KAAA,EAAA;AACA,QAAA,oBAAA,CAAA,KAAA,GAAA,OAAA,CAAA;AAAA,OACA;AACA,MAAA,IAAA,QAAA,KAAA,IAAA,OAAA,CAAA,MAAA,QAAA,CAAA,OAAA,CAAA,KAAA,CAAA,EAAA;AACA,QAAA,OAAA,CAAA,QAAA,OAAA,CAAA,KAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,cAAA,MAAA;AACA,MAAA,QAAA,CAAA,KAAA,GAAA,eAAA,CAAA,KAAA,CAAA,YAAA,CAAA,EAAA;AAAA,QACA,IAAA,EAAA,MAAA,IAAA,CAAA;AAAA,QACA,IAAA,EAAA,OAAA;AAAA,QACA,cAAA,KAAA,CAAA,YAAA;AAAA,OACA,EAAA,CAAA,CAAA,CAAA;AACA,MAAA,SAAA,CAAA,KAAA,GAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,GAAA,OAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,QAAA,IAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,OAAA,OAAA,CAAA,KAAA,CAAA,GAAA,KAAA,CAAA,IAAA,CAAA,CAAA,KAAA,CAAA,CAAA,MAAA,CAAA,MAAA,CAAA,CAAA,GAAA,KAAA,CAAA,OAAA,MAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,OAAA,OAAA,CAAA,KAAA,CAAA,GAAA,KAAA,CAAA,IAAA,CAAA,CAAA,KAAA,KAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA,OAAA,IAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAA,CAAA,OAAA,MAAA,CAAA,CAAA,MAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,SAAA,oBAAA,CAAA,UAAA,QAAA,EAAA;AACA,MAAA,IAAA,KAAA,CAAA,gBAAA,QAAA,EAAA;AACA,QAAA,MAAA,eAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,MAAA,KAAA,CAAA,CAAA;AACA,QAAA,MAAA,gBAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,OAAA,KAAA,CAAA,CAAA;AACA,QAAA,MAAA,WAAA,GAAA,SAAA,IAAA,EAAA,CAAA;AACA,QAAA,MAAA,YAAA,GAAA,SAAA,KAAA,EAAA,CAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,gBAAA,WAAA,IAAA,YAAA,KAAA,eAAA,QAAA,CAAA,GAAA,CAAA,CAAA,EAAA,MAAA,CAAA,GAAA,QAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,GAAA,MAAA,CAAA,CAAA;AACA,QAAA,IAAA,QAAA,EAAA;AACA,UAAA,SAAA,CAAA,QAAA,SAAA,CAAA,KAAA,CAAA,IAAA,CAAA,QAAA,CAAA,MAAA,CAAA,CAAA,MAAA,CAAA,QAAA,CAAA,QAAA,CAAA,CAAA,MAAA,CAAA,QAAA,CAAA,QAAA,CAAA,CAAA;AAAA,SACA;AAAA,OACA;AAAA,KACA;AACA,IAAA,IAAA,CAAA,mBAAA,EAAA,CAAA,cAAA,EAAA,YAAA,CAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,mBAAA,EAAA,CAAA,gBAAA,EAAA,cAAA,CAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,mBAAA,EAAA,CAAA,gBAAA,EAAA,cAAA,CAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,mBAAA,EAAA,CAAA,aAAA,EAAA,WAAA,CAAA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,MAAA,MAAA,KAAA;AACA,MAAA,OAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,KAAA,EAAA;AAAA,QACA,OAAA,cAAA,CAAA;AAAA,UACA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,EAAA;AAAA,UACA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,EAAA;AAAA,UACA;AAAA,YACA,aAAA,EAAA,IAAA,CAAA,MAAA,CAAA,OAAA,IAAA,MAAA,YAAA,CAAA;AAAA,YACA,UAAA,EAAA,MAAA,QAAA,CAAA;AAAA,WACA;AAAA,SACA,CAAA;AAAA,OACA,EAAA;AAAA,QACA,mBAAA,KAAA,EAAA;AAAA,UACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,cAAA,CAAA,CAAA;AAAA,SACA,EAAA;AAAA,UACA,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,EAAA;AAAA,YACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA;AAAA,WACA,CAAA;AAAA,UACA,MAAA,YAAA,CAAA,IAAA,SAAA,EAAA,EAAA,mBAAA,KAAA,EAAA;AAAA,YACA,GAAA,EAAA,CAAA;AAAA,YACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA;AAAA,WACA,EAAA;AAAA,aACA,SAAA,CAAA,IAAA,CAAA,EAAA,kBAAA,CAAA,QAAA,EAAA,IAAA,EAAA,UAAA,CAAA,KAAA,CAAA,SAAA,CAAA,EAAA,CAAA,QAAA,EAAA,GAAA,KAAA;AACA,cAAA,OAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,QAAA,EAAA;AAAA,gBACA,GAAA;AAAA,gBACA,IAAA,EAAA,QAAA;AAAA,gBACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA;AAAA,gBACA,SAAA,CAAA,MAAA,KAAA,KAAA,CAAA,mBAAA,EAAA,QAAA,CAAA;AAAA,iBACA,eAAA,CAAA,QAAA,CAAA,IAAA,CAAA,EAAA,IAAA,YAAA,CAAA,CAAA;AAAA,aACA,GAAA,GAAA,CAAA;AAAA,WACA,EAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,UACA,mBAAA,KAAA,EAAA;AAAA,YACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA;AAAA,WACA,EAAA;AAAA,YACA,MAAA,QAAA,CAAA,IAAA,SAAA,EAAA,EAAA,mBAAA,KAAA,EAAA;AAAA,cACA,GAAA,EAAA,CAAA;AAAA,cACA,OAAA,cAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,aAAA,CAAA,CAAA;AAAA,aACA,EAAA;AAAA,cACA,mBAAA,MAAA,EAAA;AAAA,gBACA,OAAA,cAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,cAAA,CAAA,CAAA;AAAA,eACA,EAAA;AAAA,gBACA,mBAAA,MAAA,EAAA;AAAA,kBACA,OAAA,cAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,kBAAA,CAAA,CAAA;AAAA,iBACA,EAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,OAAA,CAAA,EAAA;AAAA,oBACA,IAAA,EAAA,OAAA;AAAA,oBACA,QAAA,EAAA,KAAA,CAAA,UAAA,CAAA,CAAA,SAAA;AAAA,oBACA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,yBAAA,CAAA;AAAA,oBACA,OAAA,cAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA;AAAA,oBACA,aAAA,EAAA,MAAA,cAAA,CAAA;AAAA,oBACA,gBAAA,EAAA,KAAA;AAAA,oBACA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,KAAA,eAAA,CAAA,GAAA,EAAA,KAAA,CAAA,CAAA;AAAA,oBACA,QAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,KAAA,gBAAA,CAAA,GAAA,EAAA,KAAA,CAAA,CAAA;AAAA,mBACA,EAAA,MAAA,CAAA,EAAA,CAAA,YAAA,aAAA,EAAA,OAAA,EAAA,aAAA,CAAA,CAAA;AAAA,mBACA,CAAA,CAAA;AAAA,gBACA,cAAA,EAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,MAAA,EAAA;AAAA,kBACA,OAAA,cAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,kBAAA,CAAA,CAAA;AAAA,iBACA,EAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,OAAA,CAAA,EAAA;AAAA,oBACA,IAAA,EAAA,OAAA;AAAA,oBACA,OAAA,cAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA;AAAA,oBACA,QAAA,EAAA,KAAA,CAAA,UAAA,CAAA,CAAA,SAAA;AAAA,oBACA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,yBAAA,CAAA;AAAA,oBACA,aAAA,EAAA,MAAA,cAAA,CAAA;AAAA,oBACA,gBAAA,EAAA,KAAA;AAAA,oBACA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,oBAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,oBACA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,KAAA,eAAA,CAAA,GAAA,EAAA,KAAA,CAAA,CAAA;AAAA,oBACA,QAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,KAAA,gBAAA,CAAA,GAAA,EAAA,KAAA,CAAA,CAAA;AAAA,mBACA,EAAA,MAAA,CAAA,EAAA,CAAA,SAAA,UAAA,EAAA,aAAA,EAAA,aAAA,CAAA,CAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,aAAA,CAAA,EAAA;AAAA,oBACA,SAAA,oBAAA,CAAA,KAAA;AAAA,oBACA,MAAA,EAAA,MAAA,UAAA,CAAA;AAAA,oBACA,eAAA,EAAA,OAAA;AAAA,oBACA,gBAAA,QAAA,CAAA,KAAA;AAAA,oBACA,MAAA,EAAA,iBAAA;AAAA,qBACA,IAAA,EAAA,CAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,cAAA,CAAA,CAAA;AAAA,iBACA,EAAA,CAAA,CAAA,GAAA;AAAA,kBACA,CAAA,KAAA,CAAA,YAAA,CAAA,EAAA,kBAAA,CAAA;AAAA,iBACA,CAAA;AAAA,iBACA,CAAA,CAAA;AAAA,cACA,kBAAA,CAAA,QAAA,IAAA,EAAA;AAAA,gBACA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA,IAAA,EAAA;AAAA,kBACA,OAAA,EAAA,QAAA,MAAA;AAAA,oBACA,WAAA,CAAA,KAAA,CAAA,mBAAA,CAAA,CAAA;AAAA,mBACA,CAAA;AAAA,kBACA,CAAA,EAAA,CAAA;AAAA,iBACA,CAAA;AAAA,eACA,CAAA;AAAA,cACA,mBAAA,MAAA,EAAA;AAAA,gBACA,KAAA,EAAA,cAAA,CAAA,CAAA,KAAA,CAAA,KAAA,EAAA,CAAA,CAAA,cAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,eACA,EAAA;AAAA,gBACA,mBAAA,MAAA,EAAA;AAAA,kBACA,OAAA,cAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,kBAAA,CAAA,CAAA;AAAA,iBACA,EAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,OAAA,CAAA,EAAA;AAAA,oBACA,IAAA,EAAA,OAAA;AAAA,oBACA,OAAA,cAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA;AAAA,oBACA,QAAA,EAAA,KAAA,CAAA,UAAA,CAAA,CAAA,SAAA;AAAA,oBACA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,uBAAA,CAAA;AAAA,oBACA,aAAA,EAAA,MAAA,cAAA,CAAA;AAAA,oBACA,QAAA,EAAA,CAAA,KAAA,CAAA,OAAA,CAAA;AAAA,oBACA,gBAAA,EAAA,KAAA;AAAA,oBACA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,KAAA,eAAA,CAAA,GAAA,EAAA,KAAA,CAAA,CAAA;AAAA,oBACA,QAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,KAAA,gBAAA,CAAA,GAAA,EAAA,KAAA,CAAA,CAAA;AAAA,mBACA,EAAA,MAAA,CAAA,EAAA,CAAA,SAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,UAAA,CAAA,CAAA;AAAA,mBACA,CAAA,CAAA;AAAA,gBACA,cAAA,EAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,MAAA,EAAA;AAAA,kBACA,OAAA,cAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,kBAAA,CAAA,CAAA;AAAA,iBACA,EAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,OAAA,CAAA,EAAA;AAAA,oBACA,IAAA,EAAA,OAAA;AAAA,oBACA,OAAA,cAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA;AAAA,oBACA,QAAA,EAAA,KAAA,CAAA,UAAA,CAAA,CAAA,SAAA;AAAA,oBACA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,uBAAA,CAAA;AAAA,oBACA,aAAA,EAAA,MAAA,cAAA,CAAA;AAAA,oBACA,QAAA,EAAA,CAAA,KAAA,CAAA,OAAA,CAAA;AAAA,oBACA,gBAAA,EAAA,KAAA;AAAA,oBACA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,KAAA,CAAA,OAAA,CAAA,KAAA,qBAAA,KAAA,GAAA,IAAA,CAAA,CAAA;AAAA,oBACA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,KAAA,eAAA,CAAA,GAAA,EAAA,KAAA,CAAA,CAAA;AAAA,oBACA,QAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,KAAA,gBAAA,CAAA,GAAA,EAAA,KAAA,CAAA,CAAA;AAAA,mBACA,EAAA,MAAA,CAAA,EAAA,CAAA,SAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,UAAA,CAAA,CAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,aAAA,CAAA,EAAA;AAAA,oBACA,eAAA,EAAA,KAAA;AAAA,oBACA,SAAA,oBAAA,CAAA,KAAA;AAAA,oBACA,MAAA,EAAA,MAAA,UAAA,CAAA;AAAA,oBACA,gBAAA,SAAA,CAAA,KAAA;AAAA,oBACA,MAAA,EAAA,iBAAA;AAAA,qBACA,IAAA,EAAA,CAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,cAAA,CAAA,CAAA;AAAA,iBACA,EAAA,CAAA,CAAA,GAAA;AAAA,kBACA,CAAA,KAAA,CAAA,YAAA,CAAA,EAAA,kBAAA,CAAA;AAAA,iBACA,CAAA;AAAA,iBACA,CAAA,CAAA;AAAA,aACA,EAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,YACA,mBAAA,KAAA,EAAA;AAAA,cACA,OAAA,cAAA,CAAA,CAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CAAA,SAAA,CAAA,EAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,EAAA,SAAA,CAAA,CAAA;AAAA,aACA,EAAA;AAAA,cACA,mBAAA,KAAA,EAAA;AAAA,gBACA,OAAA,cAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA;AAAA,eACA,EAAA;AAAA,gBACA,mBAAA,QAAA,EAAA;AAAA,kBACA,IAAA,EAAA,QAAA;AAAA,kBACA,KAAA,EAAA,cAAA,CAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CAAA,UAAA,CAAA,EAAA,cAAA,CAAA,CAAA;AAAA,kBACA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,sBAAA,CAAA,CAAA;AAAA,kBACA,OAAA,EAAA,YAAA;AAAA,iBACA,EAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA,IAAA,EAAA;AAAA,oBACA,OAAA,EAAA,QAAA,MAAA;AAAA,sBACA,WAAA,CAAA,KAAA,CAAA,oBAAA,CAAA,CAAA;AAAA,qBACA,CAAA;AAAA,oBACA,CAAA,EAAA,CAAA;AAAA,mBACA,CAAA;AAAA,iBACA,EAAA,IAAA,YAAA,CAAA;AAAA,gBACA,mBAAA,QAAA,EAAA;AAAA,kBACA,IAAA,EAAA,QAAA;AAAA,kBACA,KAAA,EAAA,cAAA,CAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CAAA,UAAA,CAAA,EAAA,YAAA,CAAA,CAAA;AAAA,kBACA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,uBAAA,CAAA,CAAA;AAAA,kBACA,OAAA,EAAA,aAAA;AAAA,iBACA,EAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA,IAAA,EAAA;AAAA,oBACA,OAAA,EAAA,QAAA,MAAA;AAAA,sBACA,WAAA,CAAA,KAAA,CAAA,kBAAA,CAAA,CAAA;AAAA,qBACA,CAAA;AAAA,oBACA,CAAA,EAAA,CAAA;AAAA,mBACA,CAAA;AAAA,iBACA,EAAA,IAAA,YAAA,CAAA;AAAA,gBACA,IAAA,CAAA,YAAA,IAAA,SAAA,EAAA,EAAA,mBAAA,QAAA,EAAA;AAAA,kBACA,GAAA,EAAA,CAAA;AAAA,kBACA,IAAA,EAAA,QAAA;AAAA,kBACA,QAAA,EAAA,CAAA,KAAA,CAAA,eAAA,CAAA;AAAA,kBACA,OAAA,cAAA,CAAA,CAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CAAA,UAAA,GAAA,EAAA,aAAA,EAAA,CAAA,KAAA,CAAA,eAAA,GAAA,CAAA,EAAA,eAAA,CAAA,CAAA;AAAA,kBACA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,sBAAA,CAAA,CAAA;AAAA,kBACA,OAAA,EAAA,YAAA;AAAA,iBACA,EAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA,IAAA,EAAA;AAAA,oBACA,OAAA,EAAA,QAAA,MAAA;AAAA,sBACA,WAAA,CAAA,KAAA,CAAA,qBAAA,CAAA,CAAA;AAAA,qBACA,CAAA;AAAA,oBACA,CAAA,EAAA,CAAA;AAAA,mBACA,CAAA;AAAA,mBACA,EAAA,EAAA,UAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,gBACA,IAAA,CAAA,YAAA,IAAA,SAAA,EAAA,EAAA,mBAAA,QAAA,EAAA;AAAA,kBACA,GAAA,EAAA,CAAA;AAAA,kBACA,IAAA,EAAA,QAAA;AAAA,kBACA,QAAA,EAAA,CAAA,KAAA,CAAA,gBAAA,CAAA;AAAA,kBACA,KAAA,EAAA,eAAA,CAAA;AAAA,oBACA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA;AAAA,oBACA,EAAA,aAAA,EAAA,CAAA,KAAA,CAAA,gBAAA,CAAA,EAAA;AAAA,mBACA,EAAA,aAAA,CAAA,CAAA;AAAA,kBACA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,uBAAA,CAAA,CAAA;AAAA,kBACA,OAAA,EAAA,aAAA;AAAA,iBACA,EAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA,IAAA,EAAA;AAAA,oBACA,OAAA,EAAA,QAAA,MAAA;AAAA,sBACA,WAAA,CAAA,KAAA,CAAA,mBAAA,CAAA,CAAA;AAAA,qBACA,CAAA;AAAA,oBACA,CAAA,EAAA,CAAA;AAAA,mBACA,CAAA;AAAA,mBACA,EAAA,EAAA,UAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,gBACA,kBAAA,CAAA,OAAA,IAAA,EAAA,eAAA,CAAA,MAAA,SAAA,CAAA,GAAA,CAAA,CAAA;AAAA,iBACA,CAAA,CAAA;AAAA,cACA,YAAA,SAAA,EAAA;AAAA,gBACA,gBAAA,EAAA,OAAA;AAAA,gBACA,MAAA,QAAA,CAAA,KAAA;AAAA,gBACA,UAAA,EAAA,MAAA,OAAA,CAAA;AAAA,gBACA,UAAA,EAAA,MAAA,OAAA,CAAA;AAAA,gBACA,aAAA,EAAA,MAAA,UAAA,CAAA;AAAA,gBACA,eAAA,EAAA,MAAA,aAAA,CAAA;AAAA,gBACA,iBAAA,EAAA,MAAA,aAAA,CAAA;AAAA,gBACA,aAAA,EAAA,MAAA,iBAAA,CAAA;AAAA,gBACA,MAAA,EAAA,eAAA;AAAA,gBACA,QAAA,EAAA,MAAA,QAAA,CAAA;AAAA,eACA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,CAAA,CAAA;AAAA,eACA,CAAA,CAAA;AAAA,YACA,mBAAA,KAAA,EAAA;AAAA,cACA,OAAA,cAAA,CAAA,CAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CAAA,SAAA,CAAA,EAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,aACA,EAAA;AAAA,cACA,mBAAA,KAAA,EAAA;AAAA,gBACA,OAAA,cAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA;AAAA,eACA,EAAA;AAAA,gBACA,IAAA,CAAA,YAAA,IAAA,SAAA,EAAA,EAAA,mBAAA,QAAA,EAAA;AAAA,kBACA,GAAA,EAAA,CAAA;AAAA,kBACA,IAAA,EAAA,QAAA;AAAA,kBACA,QAAA,EAAA,CAAA,KAAA,CAAA,eAAA,CAAA;AAAA,kBACA,OAAA,cAAA,CAAA,CAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CAAA,UAAA,GAAA,EAAA,aAAA,EAAA,CAAA,KAAA,CAAA,eAAA,GAAA,CAAA,EAAA,cAAA,CAAA,CAAA;AAAA,kBACA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,sBAAA,CAAA,CAAA;AAAA,kBACA,OAAA,EAAA,aAAA;AAAA,iBACA,EAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA,IAAA,EAAA;AAAA,oBACA,OAAA,EAAA,QAAA,MAAA;AAAA,sBACA,WAAA,CAAA,KAAA,CAAA,oBAAA,CAAA,CAAA;AAAA,qBACA,CAAA;AAAA,oBACA,CAAA,EAAA,CAAA;AAAA,mBACA,CAAA;AAAA,mBACA,EAAA,EAAA,UAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,gBACA,IAAA,CAAA,YAAA,IAAA,SAAA,EAAA,EAAA,mBAAA,QAAA,EAAA;AAAA,kBACA,GAAA,EAAA,CAAA;AAAA,kBACA,IAAA,EAAA,QAAA;AAAA,kBACA,QAAA,EAAA,CAAA,KAAA,CAAA,gBAAA,CAAA;AAAA,kBACA,KAAA,EAAA,eAAA,CAAA;AAAA,oBACA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA;AAAA,oBACA,EAAA,aAAA,EAAA,CAAA,KAAA,CAAA,gBAAA,CAAA,EAAA;AAAA,mBACA,EAAA,YAAA,CAAA,CAAA;AAAA,kBACA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,uBAAA,CAAA,CAAA;AAAA,kBACA,OAAA,EAAA,cAAA;AAAA,iBACA,EAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA,IAAA,EAAA;AAAA,oBACA,OAAA,EAAA,QAAA,MAAA;AAAA,sBACA,WAAA,CAAA,KAAA,CAAA,kBAAA,CAAA,CAAA;AAAA,qBACA,CAAA;AAAA,oBACA,CAAA,EAAA,CAAA;AAAA,mBACA,CAAA;AAAA,mBACA,EAAA,EAAA,UAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,gBACA,mBAAA,QAAA,EAAA;AAAA,kBACA,IAAA,EAAA,QAAA;AAAA,kBACA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,sBAAA,CAAA,CAAA;AAAA,kBACA,KAAA,EAAA,cAAA,CAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CAAA,UAAA,CAAA,EAAA,eAAA,CAAA,CAAA;AAAA,kBACA,OAAA,EAAA,aAAA;AAAA,iBACA,EAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA,IAAA,EAAA;AAAA,oBACA,OAAA,EAAA,QAAA,MAAA;AAAA,sBACA,WAAA,CAAA,KAAA,CAAA,qBAAA,CAAA,CAAA;AAAA,qBACA,CAAA;AAAA,oBACA,CAAA,EAAA,CAAA;AAAA,mBACA,CAAA;AAAA,iBACA,EAAA,IAAA,UAAA,CAAA;AAAA,gBACA,mBAAA,QAAA,EAAA;AAAA,kBACA,IAAA,EAAA,QAAA;AAAA,kBACA,KAAA,EAAA,cAAA,CAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CAAA,UAAA,CAAA,EAAA,aAAA,CAAA,CAAA;AAAA,kBACA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,uBAAA,CAAA,CAAA;AAAA,kBACA,OAAA,EAAA,cAAA;AAAA,iBACA,EAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA,IAAA,EAAA;AAAA,oBACA,OAAA,EAAA,QAAA,MAAA;AAAA,sBACA,WAAA,CAAA,KAAA,CAAA,mBAAA,CAAA,CAAA;AAAA,qBACA,CAAA;AAAA,oBACA,CAAA,EAAA,CAAA;AAAA,mBACA,CAAA;AAAA,iBACA,EAAA,IAAA,UAAA,CAAA;AAAA,gBACA,kBAAA,CAAA,OAAA,IAAA,EAAA,eAAA,CAAA,MAAA,UAAA,CAAA,GAAA,CAAA,CAAA;AAAA,iBACA,CAAA,CAAA;AAAA,cACA,YAAA,SAAA,EAAA;AAAA,gBACA,gBAAA,EAAA,OAAA;AAAA,gBACA,MAAA,SAAA,CAAA,KAAA;AAAA,gBACA,UAAA,EAAA,MAAA,OAAA,CAAA;AAAA,gBACA,UAAA,EAAA,MAAA,OAAA,CAAA;AAAA,gBACA,aAAA,EAAA,MAAA,UAAA,CAAA;AAAA,gBACA,eAAA,EAAA,MAAA,aAAA,CAAA;AAAA,gBACA,iBAAA,EAAA,MAAA,aAAA,CAAA;AAAA,gBACA,aAAA,EAAA,MAAA,iBAAA,CAAA;AAAA,gBACA,MAAA,EAAA,eAAA;AAAA,gBACA,QAAA,EAAA,MAAA,QAAA,CAAA;AAAA,eACA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,CAAA,CAAA;AAAA,eACA,CAAA,CAAA;AAAA,aACA,CAAA,CAAA;AAAA,WACA,CAAA,CAAA;AAAA,QACA,MAAA,QAAA,CAAA,IAAA,SAAA,EAAA,EAAA,mBAAA,KAAA,EAAA;AAAA,UACA,GAAA,EAAA,CAAA;AAAA,UACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA;AAAA,SACA,EAAA;AAAA,UACA,KAAA,CAAA,SAAA,CAAA,IAAA,SAAA,IAAA,WAAA,CAAA,KAAA,CAAA,QAAA,CAAA,EAAA;AAAA,YACA,GAAA,EAAA,CAAA;AAAA,YACA,IAAA,EAAA,EAAA;AAAA,YACA,IAAA,EAAA,OAAA;AAAA,YACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA;AAAA,YACA,OAAA,EAAA,WAAA;AAAA,WACA,EAAA;AAAA,YACA,OAAA,EAAA,QAAA,MAAA;AAAA,cACA,eAAA,CAAA,gBAAA,KAAA,CAAA,CAAA,EAAA,qBAAA,CAAA,GAAA,CAAA,CAAA;AAAA,aACA,CAAA;AAAA,YACA,CAAA,EAAA,CAAA;AAAA,WACA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,UACA,WAAA,CAAA,KAAA,CAAA,QAAA,CAAA,EAAA;AAAA,YACA,KAAA,EAAA,EAAA;AAAA,YACA,IAAA,EAAA,OAAA;AAAA,YACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA;AAAA,YACA,QAAA,EAAA,MAAA,WAAA,CAAA;AAAA,YACA,OAAA,EAAA,MAAA,CAAA,EAAA,CAAA,KAAA,MAAA,CAAA,EAAA,CAAA,GAAA,CAAA,MAAA,KAAA,KAAA,CAAA,kBAAA,CAAA,CAAA,KAAA,CAAA,CAAA;AAAA,WACA,EAAA;AAAA,YACA,OAAA,EAAA,QAAA,MAAA;AAAA,cACA,eAAA,CAAA,gBAAA,KAAA,CAAA,CAAA,EAAA,uBAAA,CAAA,GAAA,CAAA,CAAA;AAAA,aACA,CAAA;AAAA,YACA,CAAA,EAAA,CAAA;AAAA,WACA,EAAA,CAAA,EAAA,CAAA,OAAA,EAAA,UAAA,CAAA,CAAA;AAAA,SACA,EAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,SACA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,IAAA,kBAAA,iCAAA,WAAA,EAAA,CAAA,CAAA,QAAA,EAAA,sHAAA,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,uBAAA,UAAA,CAAA;AAAA,EACA,GAAA,qBAAA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,oBAAA,GAAA;AAAA,EACA,MAAA;AAAA,EACA,mBAAA;AAAA,EACA,iBAAA;AACA,CAAA,CAAA;AACA,MAAA,sBAAA,CAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AACA,CAAA,KAAA;AACA,EAAA,MAAA,EAAA,CAAA,EAAA,GAAA,SAAA,EAAA,CAAA;AACA,EAAA,MAAA,eAAA,MAAA;AACA,IAAA,QAAA,CAAA,KAAA,GAAA,QAAA,CAAA,KAAA,CAAA,QAAA,CAAA,GAAA,MAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,aAAA,KAAA,EAAA;AACA,MAAA,SAAA,CAAA,KAAA,GAAA,SAAA,CAAA,KAAA,CAAA,QAAA,CAAA,GAAA,MAAA,CAAA,CAAA;AAAA,KACA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,gBAAA,MAAA;AACA,IAAA,IAAA,CAAA,aAAA,KAAA,EAAA;AACA,MAAA,QAAA,CAAA,KAAA,GAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,GAAA,MAAA,CAAA,CAAA;AAAA,KACA;AACA,IAAA,SAAA,CAAA,KAAA,GAAA,SAAA,CAAA,KAAA,CAAA,GAAA,CAAA,GAAA,MAAA,CAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,eAAA,MAAA;AACA,IAAA,QAAA,CAAA,KAAA,GAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,GAAA,MAAA,CAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,gBAAA,MAAA;AACA,IAAA,SAAA,CAAA,KAAA,GAAA,SAAA,CAAA,KAAA,CAAA,QAAA,CAAA,GAAA,MAAA,CAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,SAAA,GAAA,SAAA,MAAA;AACA,IAAA,OAAA,CAAA,EAAA,SAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,oBAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GACA,CAAA,CAAA;AACA,EAAA,MAAA,UAAA,GAAA,SAAA,MAAA;AACA,IAAA,OAAA,CAAA,EAAA,UAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,oBAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GACA,CAAA,CAAA;AACA,EAAA,MAAA,QAAA,GAAA,SAAA,MAAA;AACA,IAAA,OAAA,QAAA,CAAA,MAAA,IAAA,EAAA,CAAA;AAAA,GACA,CAAA,CAAA;AACA,EAAA,MAAA,SAAA,GAAA,SAAA,MAAA;AACA,IAAA,OAAA,SAAA,CAAA,KAAA,CAAA,IAAA,EAAA,KAAA,SAAA,KAAA,CAAA,IAAA,EAAA,GAAA,QAAA,CAAA,MAAA,IAAA,EAAA,GAAA,CAAA,GAAA,SAAA,CAAA,MAAA,IAAA,EAAA,CAAA;AAAA,GACA,CAAA,CAAA;AACA,EAAA,OAAA;AAAA,IACA,YAAA;AAAA,IACA,aAAA;AAAA,IACA,YAAA;AAAA,IACA,aAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,GACA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,UAAA,GAAA,CAAA,SAAA,CAAA,CAAA;AACA,MAAA,UAAA,GAAA,CAAA,UAAA,CAAA,CAAA;AACA,MAAA,UAAA,GAAA,CAAA,UAAA,CAAA,CAAA;AACA,MAAA,IAAA,GAAA,MAAA,CAAA;AACA,MAAA,cAAA,eAAA,CAAA;AAAA,EACA,IAAA,EAAA,sBAAA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,8BAAA,eAAA,CAAA;AAAA,EACA,GAAA,WAAA;AAAA,EACA,KAAA,EAAA,oBAAA;AAAA,EACA,KAAA,EAAA,oBAAA;AAAA,EACA,KAAA,CAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA;AACA,IAAA,MAAA,KAAA,GAAA,OAAA,CAAA;AACA,IAAA,MAAA,EAAA,IAAA,EAAA,GAAA,SAAA,EAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,OAAA,gBAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,SAAA,EAAA,YAAA,EAAA,aAAA,EAAA,MAAA,KAAA,UAAA,CAAA,KAAA,CAAA;AACA,IAAA,MAAA,YAAA,GAAA,KAAA,CAAA,UAAA,CAAA,KAAA,EAAA,cAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,CAAA,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,GAAA,CAAA,KAAA,EAAA,CAAA,MAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA,GAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,IAAA;AAAA,MACA,KAAA;AAAA,MACA,iBAAA;AAAA,MACA,kBAAA;AAAA,MACA,mBAAA;AAAA,MACA,QAAA;AAAA,KACA,GAAA,eAAA,KAAA,EAAA;AAAA,MACA,YAAA;AAAA,MACA,QAAA;AAAA,MACA,SAAA;AAAA,MACA,IAAA;AAAA,MACA,oBAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,eAAA,QAAA,CAAA,MAAA,CAAA,CAAA,UAAA,MAAA,CAAA,CAAA;AACA,IAAA,MAAA;AAAA,MACA,YAAA;AAAA,MACA,aAAA;AAAA,MACA,YAAA;AAAA,MACA,aAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,SAAA;AAAA,QACA,mBAAA,CAAA;AAAA,MACA,YAAA,EAAA,KAAA,CAAA,KAAA,EAAA,cAAA,CAAA;AAAA,MACA,QAAA;AAAA,MACA,SAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,SAAA,MAAA;AACA,MAAA,OAAA,KAAA,CAAA,YAAA,IAAA,SAAA,CAAA,KAAA,GAAA,SAAA,KAAA,GAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,CAAA,GAAA,EAAA,KAAA,GAAA,IAAA,KAAA;AACA,MAAA,MAAA,WAAA,GAAA,CAAA,OAAA,CAAA;AACA,MAAA,MAAA,WAAA,GAAA,CAAA,OAAA,CAAA;AACA,MAAA,IAAA,OAAA,CAAA,KAAA,KAAA,QAAA,IAAA,OAAA,CAAA,UAAA,QAAA,EAAA;AACA,QAAA,OAAA;AAAA,OACA;AACA,MAAA,IAAA,CAAA,iBAAA,EAAA,CAAA,QAAA,CAAA,MAAA,IAAA,QAAA,IAAA,QAAA,CAAA,MAAA,EAAA,CAAA,CAAA,CAAA;AACA,MAAA,OAAA,CAAA,KAAA,GAAA,QAAA,CAAA;AACA,MAAA,OAAA,CAAA,KAAA,GAAA,QAAA,CAAA;AACA,MAAA,IAAA,CAAA,KAAA;AACA,QAAA,OAAA;AACA,MAAA,kBAAA,EAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,CAAA,IAAA,KAAA;AACA,MAAA,OAAA,KAAA,GAAA,CAAA,CAAA,QAAA,GAAA,CAAA,MAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,SAAA,oBAAA,CAAA,UAAA,QAAA,EAAA;AACA,MAAA,IAAA,KAAA,CAAA,gBAAA,QAAA,EAAA;AACA,QAAA,MAAA,eAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,MAAA,KAAA,CAAA,CAAA;AACA,QAAA,MAAA,WAAA,GAAA,SAAA,IAAA,EAAA,CAAA;AACA,QAAA,SAAA,CAAA,QAAA,WAAA,KAAA,WAAA,GAAA,SAAA,GAAA,CAAA,CAAA,EAAA,IAAA,CAAA,GAAA,QAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,SAAA,CAAA,KAAA,GAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA;AACA,IAAA,IAAA,CAAA,mBAAA,EAAA,CAAA,gBAAA,EAAA,cAAA,CAAA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,MAAA,MAAA,KAAA;AACA,MAAA,OAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,KAAA,EAAA;AAAA,QACA,OAAA,cAAA,CAAA;AAAA,UACA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,EAAA;AAAA,UACA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,EAAA;AAAA,UACA;AAAA,YACA,eAAA,OAAA,CAAA,IAAA,CAAA,OAAA,OAAA,CAAA,IAAA,MAAA,YAAA,CAAA;AAAA,WACA;AAAA,SACA,CAAA;AAAA,OACA,EAAA;AAAA,QACA,mBAAA,KAAA,EAAA;AAAA,UACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,cAAA,CAAA,CAAA;AAAA,SACA,EAAA;AAAA,UACA,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,EAAA;AAAA,YACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA;AAAA,WACA,CAAA;AAAA,UACA,MAAA,YAAA,CAAA,IAAA,SAAA,EAAA,EAAA,mBAAA,KAAA,EAAA;AAAA,YACA,GAAA,EAAA,CAAA;AAAA,YACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA;AAAA,WACA,EAAA;AAAA,aACA,SAAA,CAAA,IAAA,CAAA,EAAA,kBAAA,CAAA,QAAA,EAAA,IAAA,EAAA,UAAA,CAAA,KAAA,CAAA,SAAA,CAAA,EAAA,CAAA,QAAA,EAAA,GAAA,KAAA;AACA,cAAA,OAAA,SAAA,EAAA,EAAA,kBAAA,CAAA,QAAA,EAAA;AAAA,gBACA,GAAA;AAAA,gBACA,IAAA,EAAA,QAAA;AAAA,gBACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA;AAAA,gBACA,SAAA,CAAA,MAAA,KAAA,KAAA,CAAA,mBAAA,EAAA,QAAA,CAAA;AAAA,iBACA,eAAA,CAAA,QAAA,CAAA,IAAA,CAAA,EAAA,IAAA,UAAA,CAAA,CAAA;AAAA,aACA,GAAA,GAAA,CAAA;AAAA,WACA,EAAA,CAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,UACA,mBAAA,KAAA,EAAA;AAAA,YACA,OAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA;AAAA,WACA,EAAA;AAAA,YACA,mBAAA,KAAA,EAAA;AAAA,cACA,OAAA,cAAA,CAAA,CAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CAAA,SAAA,CAAA,EAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,EAAA,SAAA,CAAA,CAAA;AAAA,aACA,EAAA;AAAA,cACA,mBAAA,KAAA,EAAA;AAAA,gBACA,OAAA,cAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA;AAAA,eACA,EAAA;AAAA,gBACA,mBAAA,QAAA,EAAA;AAAA,kBACA,IAAA,EAAA,QAAA;AAAA,kBACA,KAAA,EAAA,cAAA,CAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CAAA,UAAA,CAAA,EAAA,cAAA,CAAA,CAAA;AAAA,kBACA,SAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,KAAA,CAAA,YAAA,CAAA,IAAA,KAAA,CAAA,YAAA,CAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,iBACA,EAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA,IAAA,EAAA;AAAA,oBACA,OAAA,EAAA,QAAA,MAAA;AAAA,sBACA,WAAA,CAAA,KAAA,CAAA,oBAAA,CAAA,CAAA;AAAA,qBACA,CAAA;AAAA,oBACA,CAAA,EAAA,CAAA;AAAA,mBACA,CAAA;AAAA,mBACA,CAAA,CAAA;AAAA,gBACA,IAAA,CAAA,YAAA,IAAA,SAAA,EAAA,EAAA,mBAAA,QAAA,EAAA;AAAA,kBACA,GAAA,EAAA,CAAA;AAAA,kBACA,IAAA,EAAA,QAAA;AAAA,kBACA,QAAA,EAAA,CAAA,KAAA,CAAA,eAAA,CAAA;AAAA,kBACA,KAAA,EAAA,eAAA,CAAA;AAAA,oBACA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA;AAAA,oBACA,EAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,EAAA,CAAA,UAAA,CAAA,GAAA,CAAA,KAAA,CAAA,eAAA,CAAA,EAAA;AAAA,mBACA,EAAA,eAAA,CAAA,CAAA;AAAA,kBACA,SAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,KAAA,CAAA,YAAA,CAAA,IAAA,KAAA,CAAA,YAAA,CAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,iBACA,EAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA,IAAA,EAAA;AAAA,oBACA,OAAA,EAAA,QAAA,MAAA;AAAA,sBACA,WAAA,CAAA,KAAA,CAAA,qBAAA,CAAA,CAAA;AAAA,qBACA,CAAA;AAAA,oBACA,CAAA,EAAA,CAAA;AAAA,mBACA,CAAA;AAAA,mBACA,EAAA,EAAA,UAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,gBACA,kBAAA,CAAA,OAAA,IAAA,EAAA,eAAA,CAAA,MAAA,SAAA,CAAA,GAAA,CAAA,CAAA;AAAA,iBACA,CAAA,CAAA;AAAA,cACA,YAAA,UAAA,EAAA;AAAA,gBACA,gBAAA,EAAA,OAAA;AAAA,gBACA,MAAA,QAAA,CAAA,KAAA;AAAA,gBACA,UAAA,EAAA,MAAA,OAAA,CAAA;AAAA,gBACA,UAAA,EAAA,MAAA,OAAA,CAAA;AAAA,gBACA,aAAA,EAAA,MAAA,UAAA,CAAA;AAAA,gBACA,eAAA,EAAA,MAAA,aAAA,CAAA;AAAA,gBACA,aAAA,EAAA,MAAA,iBAAA,CAAA;AAAA,gBACA,MAAA,EAAA,eAAA;AAAA,gBACA,QAAA,EAAA,MAAA,QAAA,CAAA;AAAA,eACA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,UAAA,CAAA,CAAA;AAAA,eACA,CAAA,CAAA;AAAA,YACA,mBAAA,KAAA,EAAA;AAAA,cACA,OAAA,cAAA,CAAA,CAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CAAA,SAAA,CAAA,EAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,aACA,EAAA;AAAA,cACA,mBAAA,KAAA,EAAA;AAAA,gBACA,OAAA,cAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA;AAAA,eACA,EAAA;AAAA,gBACA,IAAA,CAAA,YAAA,IAAA,SAAA,EAAA,EAAA,mBAAA,QAAA,EAAA;AAAA,kBACA,GAAA,EAAA,CAAA;AAAA,kBACA,IAAA,EAAA,QAAA;AAAA,kBACA,QAAA,EAAA,CAAA,KAAA,CAAA,eAAA,CAAA;AAAA,kBACA,OAAA,cAAA,CAAA,CAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CAAA,UAAA,GAAA,EAAA,aAAA,EAAA,CAAA,KAAA,CAAA,eAAA,GAAA,CAAA,EAAA,cAAA,CAAA,CAAA;AAAA,kBACA,SAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,KAAA,CAAA,aAAA,CAAA,IAAA,KAAA,CAAA,aAAA,CAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,iBACA,EAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA,IAAA,EAAA;AAAA,oBACA,OAAA,EAAA,QAAA,MAAA;AAAA,sBACA,WAAA,CAAA,KAAA,CAAA,oBAAA,CAAA,CAAA;AAAA,qBACA,CAAA;AAAA,oBACA,CAAA,EAAA,CAAA;AAAA,mBACA,CAAA;AAAA,mBACA,EAAA,EAAA,UAAA,CAAA,IAAA,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,gBACA,mBAAA,QAAA,EAAA;AAAA,kBACA,IAAA,EAAA,QAAA;AAAA,kBACA,KAAA,EAAA,cAAA,CAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CAAA,UAAA,CAAA,EAAA,eAAA,CAAA,CAAA;AAAA,kBACA,SAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,KAAA,CAAA,aAAA,CAAA,IAAA,KAAA,CAAA,aAAA,CAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,iBACA,EAAA;AAAA,kBACA,WAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA,IAAA,EAAA;AAAA,oBACA,OAAA,EAAA,QAAA,MAAA;AAAA,sBACA,WAAA,CAAA,KAAA,CAAA,qBAAA,CAAA,CAAA;AAAA,qBACA,CAAA;AAAA,oBACA,CAAA,EAAA,CAAA;AAAA,mBACA,CAAA;AAAA,mBACA,CAAA,CAAA;AAAA,gBACA,kBAAA,CAAA,OAAA,IAAA,EAAA,eAAA,CAAA,MAAA,UAAA,CAAA,GAAA,CAAA,CAAA;AAAA,iBACA,CAAA,CAAA;AAAA,cACA,YAAA,UAAA,EAAA;AAAA,gBACA,gBAAA,EAAA,OAAA;AAAA,gBACA,MAAA,SAAA,CAAA,KAAA;AAAA,gBACA,UAAA,EAAA,MAAA,OAAA,CAAA;AAAA,gBACA,UAAA,EAAA,MAAA,OAAA,CAAA;AAAA,gBACA,aAAA,EAAA,MAAA,UAAA,CAAA;AAAA,gBACA,eAAA,EAAA,MAAA,aAAA,CAAA;AAAA,gBACA,aAAA,EAAA,MAAA,iBAAA,CAAA;AAAA,gBACA,MAAA,EAAA,eAAA;AAAA,gBACA,QAAA,EAAA,MAAA,QAAA,CAAA;AAAA,eACA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,UAAA,CAAA,CAAA;AAAA,eACA,CAAA,CAAA;AAAA,aACA,CAAA,CAAA;AAAA,WACA,CAAA,CAAA;AAAA,SACA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,IAAA,mBAAA,iCAAA,WAAA,EAAA,CAAA,CAAA,QAAA,EAAA,uHAAA,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,QAAA,GAAA,SAAA,IAAA,EAAA;AACA,EAAA,QAAA,IAAA;AAAA,IACA,KAAA,WAAA,CAAA;AAAA,IACA,KAAA,eAAA,EAAA;AACA,MAAA,OAAA,kBAAA,CAAA;AAAA,KACA;AAAA,IACA,KAAA,YAAA,EAAA;AACA,MAAA,OAAA,mBAAA,CAAA;AAAA,KACA;AAAA,IACA,SAAA;AACA,MAAA,OAAA,aAAA,CAAA;AAAA,KACA;AAAA,GACA;AACA,CAAA,CAAA;AACA,KAAA,CAAA,OAAA,UAAA,CAAA,CAAA;AACA,KAAA,CAAA,OAAA,cAAA,CAAA,CAAA;AACA,KAAA,CAAA,OAAA,iBAAA,CAAA,CAAA;AACA,KAAA,CAAA,OAAA,UAAA,CAAA,CAAA;AACA,KAAA,CAAA,OAAA,QAAA,CAAA,CAAA;AACA,KAAA,CAAA,OAAA,SAAA,CAAA,CAAA;AACA,KAAA,CAAA,OAAA,aAAA,CAAA,CAAA;AACA,KAAA,CAAA,OAAA,cAAA,CAAA,CAAA;AACA,IAAA,aAAA,eAAA,CAAA;AAAA,EACA,IAAA,EAAA,cAAA;AAAA,EACA,OAAA,EAAA,IAAA;AAAA,EACA,KAAA,EAAA,eAAA;AAAA,EACA,KAAA,EAAA,CAAA,mBAAA,CAAA;AAAA,EACA,MAAA,KAAA,EAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,GACA,EAAA;AACA,IAAA,MAAA,EAAA,GAAA,aAAA,cAAA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,mBAAA,QAAA,CAAA,KAAA,CAAA,KAAA,EAAA,eAAA,CAAA,CAAA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,yBAAA,EAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA,EAAA,EAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA;AAAA,MACA,KAAA,EAAA,CAAA,eAAA,GAAA,IAAA,KAAA;AACA,QAAA,IAAA,EAAA,CAAA;AACA,QAAA,CAAA,KAAA,YAAA,CAAA,KAAA,KAAA,OAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,eAAA,CAAA,CAAA;AAAA,OACA;AAAA,MACA,YAAA,MAAA;AACA,QAAA,IAAA,EAAA,CAAA;AACA,QAAA,CAAA,KAAA,YAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,UAAA,EAAA,CAAA;AAAA,OACA;AAAA,MACA,aAAA,MAAA;AACA,QAAA,IAAA,EAAA,CAAA;AACA,QAAA,CAAA,KAAA,YAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,WAAA,EAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,CAAA,QAAA,CAAA,CAAA;AACA,IAAA,MAAA,mBAAA,GAAA,CAAA,GAAA,KAAA;AACA,MAAA,IAAA,CAAA,qBAAA,GAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,OAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,MAAA,MAAA,GAAA,CAAA,KAAA,KAAA,CAAA,MAAA,KAAA,OAAA,EAAA,GAAA,0BAAA,CAAA,KAAA,CAAA,IAAA,CAAA,IAAA,oBAAA,CAAA;AACA,MAAA,MAAA,SAAA,GAAA,QAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA;AACA,MAAA,OAAA,WAAA,CAAA,YAAA,EAAA,UAAA,CAAA,KAAA,EAAA;AAAA,QACA,QAAA,EAAA,MAAA;AAAA,QACA,QAAA,KAAA,CAAA,IAAA;AAAA,QACA,KAAA,EAAA,YAAA;AAAA,QACA,qBAAA,EAAA,mBAAA;AAAA,OACA,CAAA,EAAA;AAAA,QACA,SAAA,CAAA,WAAA,KAAA,WAAA,CAAA,SAAA,EAAA,aAAA,IAAA,CAAA;AAAA,QACA,iBAAA,EAAA,MAAA,iBAAA,CAAA;AAAA,OACA,CAAA,CAAA;AAAA,KACA,CAAA;AAAA,GACA;AACA,CAAA,CAAA,CAAA;AACA,MAAA,WAAA,GAAA,UAAA,CAAA;AACA,WAAA,CAAA,OAAA,GAAA,CAAA,GAAA,KAAA;AACA,EAAA,GAAA,CAAA,SAAA,CAAA,WAAA,CAAA,IAAA,EAAA,WAAA,CAAA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,YAAA,GAAA,WAAA,CAAA;AAOA,MAAA,UAAA,GAAA,grHAAA,CAAA;AACA,MAAA,UAAA,GAAA,EAAA,GAAAA,cAAA,CAAA,0BAAA,CAAA,CAAA;AACA,MAAA,UAAA,GAAA,EAAA,GAAAA,cAAA,CAAA,4BAAA,CAAA,CAAA;AACA,MAAA,UAAA,GAAA,EAAA,GAAAA,cAAA,CAAA,uBAAA,CAAA,CAAA;AACA,MAAA,UAAA,GAAA,EAAA,GAAAA,cAAA,CAAA,0BAAA,CAAA,CAAA;AACA;AACA,IAAA,IAAA,GAAA;AAAA,EACA,IAAA,EAAA,OAAA;AAAA,EACA,EAAA,EAAA;AAAA,IACA,WAAA,EAAA;AAAA,MACA,OAAA,EAAA,cAAA;AAAA,MACA,KAAA,EAAA,cAAA;AAAA,KACA;AAAA,IACA,UAAA,EAAA;AAAA,MACA,GAAA,EAAA,cAAA;AAAA,MACA,KAAA,EAAA,cAAA;AAAA,MACA,MAAA,EAAA,cAAA;AAAA,MACA,KAAA,EAAA,cAAA;AAAA,MACA,OAAA,EAAA,cAAA;AAAA,MACA,UAAA,EAAA,0BAAA;AAAA,MACA,UAAA,EAAA,0BAAA;AAAA,MACA,SAAA,EAAA,0BAAA;AAAA,MACA,SAAA,EAAA,0BAAA;AAAA,MACA,OAAA,EAAA,0BAAA;AAAA,MACA,OAAA,EAAA,0BAAA;AAAA,MACA,QAAA,EAAA,oBAAA;AAAA,MACA,QAAA,EAAA,oBAAA;AAAA,MACA,SAAA,EAAA,oBAAA;AAAA,MACA,SAAA,EAAA,oBAAA;AAAA,MACA,IAAA,EAAA,QAAA;AAAA,MACA,MAAA,EAAA,UAAA;AAAA,MACA,MAAA,EAAA,UAAA;AAAA,MACA,MAAA,EAAA,UAAA;AAAA,MACA,MAAA,EAAA,UAAA;AAAA,MACA,MAAA,EAAA,UAAA;AAAA,MACA,MAAA,EAAA,UAAA;AAAA,MACA,MAAA,EAAA,UAAA;AAAA,MACA,MAAA,EAAA,UAAA;AAAA,MACA,MAAA,EAAA,UAAA;AAAA,MACA,OAAA,EAAA,WAAA;AAAA,MACA,OAAA,EAAA,WAAA;AAAA,MACA,OAAA,EAAA,WAAA;AAAA,MACA,KAAA,EAAA;AAAA,QACA,GAAA,EAAA,QAAA;AAAA,QACA,GAAA,EAAA,QAAA;AAAA,QACA,GAAA,EAAA,QAAA;AAAA,QACA,GAAA,EAAA,QAAA;AAAA,QACA,GAAA,EAAA,QAAA;AAAA,QACA,GAAA,EAAA,QAAA;AAAA,QACA,GAAA,EAAA,QAAA;AAAA,OACA;AAAA,MACA,MAAA,EAAA;AAAA,QACA,GAAA,EAAA,cAAA;AAAA,QACA,GAAA,EAAA,cAAA;AAAA,QACA,GAAA,EAAA,cAAA;AAAA,QACA,GAAA,EAAA,cAAA;AAAA,QACA,GAAA,EAAA,cAAA;AAAA,QACA,GAAA,EAAA,cAAA;AAAA,QACA,GAAA,EAAA,cAAA;AAAA,QACA,GAAA,EAAA,cAAA;AAAA,QACA,GAAA,EAAA,cAAA;AAAA,QACA,GAAA,EAAA,cAAA;AAAA,QACA,GAAA,EAAA,oBAAA;AAAA,QACA,GAAA,EAAA,oBAAA;AAAA,OACA;AAAA,KACA;AAAA,IACA,MAAA,EAAA;AAAA,MACA,OAAA,EAAA,oBAAA;AAAA,MACA,OAAA,EAAA,gCAAA;AAAA,MACA,MAAA,EAAA,oBAAA;AAAA,MACA,WAAA,EAAA,oBAAA;AAAA,KACA;AAAA,IACA,QAAA,EAAA;AAAA,MACA,OAAA,EAAA,gCAAA;AAAA,MACA,OAAA,EAAA,oBAAA;AAAA,MACA,WAAA,EAAA,oBAAA;AAAA,MACA,MAAA,EAAA,0BAAA;AAAA,KACA;AAAA,IACA,UAAA,EAAA;AAAA,MACA,IAAA,EAAA,cAAA;AAAA,MACA,QAAA,EAAA,eAAA;AAAA,MACA,KAAA,EAAA,uBAAA;AAAA,MACA,cAAA,EAAA,QAAA;AAAA,MACA,IAAA,EAAA,QAAA;AAAA,MACA,IAAA,EAAA,oBAAA;AAAA,MACA,IAAA,EAAA,oBAAA;AAAA,MACA,WAAA,EAAA,uBAAA;AAAA,MACA,SAAA,EAAA,6BAAA;AAAA,MACA,SAAA,EAAA,6BAAA;AAAA,MACA,kBAAA,EAAA,qJAAA;AAAA,KACA;AAAA,IACA,UAAA,EAAA;AAAA,MACA,KAAA,EAAA,cAAA;AAAA,MACA,OAAA,EAAA,cAAA;AAAA,MACA,MAAA,EAAA,cAAA;AAAA,MACA,KAAA,EAAA,mDAAA;AAAA,KACA;AAAA,IACA,MAAA,EAAA;AAAA,MACA,SAAA,EAAA,wCAAA;AAAA,MACA,MAAA,EAAA,cAAA;AAAA,MACA,OAAA,EAAA,0BAAA;AAAA,MACA,QAAA,EAAA,0BAAA;AAAA,KACA;AAAA,IACA,KAAA,EAAA;AAAA,MACA,SAAA,EAAA,0BAAA;AAAA,MACA,aAAA,EAAA,cAAA;AAAA,MACA,WAAA,EAAA,cAAA;AAAA,MACA,WAAA,EAAA,cAAA;AAAA,MACA,OAAA,EAAA,cAAA;AAAA,KACA;AAAA,IACA,IAAA,EAAA;AAAA,MACA,SAAA,EAAA,0BAAA;AAAA,KACA;AAAA,IACA,QAAA,EAAA;AAAA,MACA,OAAA,EAAA,gCAAA;AAAA,MACA,MAAA,EAAA,oBAAA;AAAA,MACA,MAAA,EAAA,CAAA,gBAAA,EAAA,gBAAA,CAAA;AAAA,MACA,iBAAA,EAAA,4CAAA;AAAA,MACA,eAAA,EAAA,uBAAA;AAAA,MACA,gBAAA,EAAA,uCAAA;AAAA,KACA;AAAA,IACA,KAAA,EAAA;AAAA,MACA,KAAA,EAAA,0BAAA;AAAA,KACA;AAAA,IACA,UAAA,EAAA;AAAA,MACA,KAAA,EAAA,cAAA;AAAA,KACA;AAAA,IACA,UAAA,EAAA;AAAA,MACA,iBAAA,EAAA,cAAA;AAAA,MACA,gBAAA,EAAA,cAAA;AAAA,KACA;AAAA,GACA;AACA,CAAA,CAAA;AAEA,MAAA,SAAA,GAAA;AAAA,EACA,MAAA,EAAA,OAAA;AAAA,EACA,iBAAA,EAAA,IAAA;AAAA,EACA,MAAA,OAAA,EAAA;AACA,IAAA,SAAA,EAAA,CAAA;AACA,IAAA,OAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,KAAA,mDAAA,EAAA,EAAA,EAAA,GAAA,EAAA,wCAAA,EAAA,IAAA,EAAA,IAAA,EAAA,GAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,CAAA,IAAA,KAAA;AACA,MAAA,OAAA,IAAA,CAAA,OAAA,EAAA,GAAA,IAAA,CAAA,GAAA,EAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AACA,IAAA,IAAA,OAAA,GAAA,CAAA;AAAA,MACA,MAAA,EAAA,EAAA;AAAA;AAAA,MAEA,UAAA,EAAA,EAAA;AAAA;AAAA,MAEA,OAAA,EAAA,EAAA;AAAA;AAAA,MAEA,aAAA,EAAA,EAAA;AAAA;AAAA,MAEA,OAAA,EAAA,EAAA;AAAA;AAAA,MAEA,cAAA,EAAA,CAAA;AAAA;AAAA,MAEA,OAAA,EAAA,EAAA;AAAA;AAAA,MAEA,SAAA,EAAA,CAAA;AAAA;AAAA,KAEA,CAAA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,CAAA,WAAA,EAAA,EAAA,KAAA;AACA,MAAA,uBAAA,CAAA,EAAA,OAAA,EAAA,WAAA,EAAA,CAAA,CAAA,IAAA,CAAA,CAAA,GAAA,KAAA;AACA,QAAA,IAAA,IAAA,IAAA,IAAA,GAAA;AACA,UAAA,OAAA;AACA,QAAA,IAAA,IAAA,GAAA,GAAA,CAAA,IAAA,IAAA,EAAA,CAAA;AACA,QAAA,IAAA,YAAA,GAAA,KAAA,CAAA;AACA,QAAA,IAAA,CAAA,OAAA,CAAA,CAAA,OAAA,KAAA;AACA,UAAA,OAAA,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA,WAAA,CAAA,CAAA;AACA,UAAA,IAAA,OAAA,CAAA,MAAA,CAAA,IAAA,WAAA;AACA,YAAA,YAAA,GAAA,IAAA,CAAA;AAAA,SACA,CAAA,CAAA;AACA,QAAA,IAAA,CAAA,YAAA,EAAA;AACA,UAAA,IAAA,CAAA,OAAA,CAAA;AAAA,YACA,KAAA,EAAA,WAAA;AAAA,WACA,CAAA,CAAA;AAAA,SACA;AACA,QAAA,EAAA,CAAA,IAAA,CAAA,CAAA;AAAA,OACA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,kBAAA,GAAA,CAAA,IAAA,KAAA,IAAA,CAAA,MAAA,UAAA,CAAA,GAAA,IAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,CAAA,WAAA,EAAA,EAAA,KAAA;AACA,MAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,WAAA,EAAA,CAAA,CAAA,IAAA,CAAA,CAAA,GAAA,KAAA;AACA,QAAA,IAAA,IAAA,IAAA,IAAA,GAAA;AACA,UAAA,OAAA;AACA,QAAA,IAAA,IAAA,GAAA,GAAA,CAAA,IAAA,IAAA,EAAA,CAAA;AACA,QAAA,IAAA,YAAA,GAAA,KAAA,CAAA;AACA,QAAA,IAAA,CAAA,OAAA,CAAA,CAAA,OAAA,KAAA;AACA,UAAA,OAAA,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA,MAAA,CAAA,CAAA;AACA,UAAA,IAAA,OAAA,CAAA,MAAA,CAAA,IAAA,WAAA;AACA,YAAA,YAAA,GAAA,IAAA,CAAA;AAAA,SACA,CAAA,CAAA;AACA,QAAA,IAAA,CAAA,YAAA,EAAA;AACA,UAAA,IAAA,CAAA,OAAA,CAAA;AAAA,YACA,KAAA,EAAA,WAAA;AAAA,WACA,CAAA,CAAA;AAAA,SACA;AACA,QAAA,EAAA,CAAA,IAAA,CAAA,CAAA;AAAA,OACA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,CAAA,IAAA,KAAA,IAAA,CAAA,MAAA,eAAA,CAAA,GAAA,IAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,KAAA;AACA,MAAA,MAAA,eAAA,GAAA,IAAA,CAAA;AACA,MAAA,MAAA,gBAAA,GAAA,KAAA,CAAA;AACA,MAAA,MAAA,eAAA,GAAA,IAAA,CAAA;AACA,MAAA,MAAA,0BAAA,GAAA,cAAA,CAAA;AACA,MAAA,MAAA,mBAAA,GAAA,OAAA,CAAA;AACA,MAAA,MAAA,6BAAA,GAAA,gBAAA,CAAA;AACA,MAAA,MAAA,yBAAA,GAAA,YAAA,CAAA;AACA,MAAA,KAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA;AACA,MAAA,KAAA,CAAA,kBAAA,CAAA,iBAAA,IAAA,EAAA;AAAA,QACA,SAAA,OAAA,CAAA,CAAA,CAAA,EAAA,MAAA,EAAA,UAAA,QAAA,KAAA;AACA,UAAA,IAAA,MAAA,EAAA;AACA,YAAA,MAAA,CAAA,kBAAA,CAAA,kBAAA,IAAA,EAAA;AAAA,cACA,SAAA,OAAA,CAAA,CAAA,EAAA,EAAA,MAAA,EAAA,UAAA,SAAA,KAAA;AACA,gBAAA,IAAA,MAAA,EAAA;AACA,kBAAA,MAAA,CAAA,CAAA,mDAAA,CAAA,CAAA,CAAA;AAAA,iBACA,MAAA;AACA,kBAAA,OAAA;AAAA,oBACA,gBAAA,qDAAA,CAAA;AAAA,mBACA,CAAA;AAAA,iBACA;AAAA,eACA,CAAA;AAAA,cACA,CAAA,EAAA,CAAA;AAAA,aACA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA,CAAA;AACA,YAAA,MAAA,CAAA,mBAAA,eAAA,EAAA;AAAA,cACA,IAAA,EAAA,SAAA;AAAA,cACA,OAAA,EAAA,8JAAA;AAAA,aACA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA,CAAA;AAAA,WACA,MAAA;AACA,YAAA,OAAA;AAAA,cACA,WAAA,CAAA,kBAAA,IAAA,EAAA;AAAA,gBACA,OAAA,EAAA,QAAA,MAAA;AAAA,kBACA,gBAAA,qDAAA,CAAA;AAAA,iBACA,CAAA;AAAA,gBACA,CAAA,EAAA,CAAA;AAAA,eACA,CAAA;AAAA,cACA,YAAA,eAAA,EAAA;AAAA,gBACA,IAAA,EAAA,SAAA;AAAA,gBACA,OAAA,EAAA,8JAAA;AAAA,eACA,CAAA;AAAA,aACA,CAAA;AAAA,WACA;AAAA,SACA,CAAA;AAAA,QACA,CAAA,EAAA,CAAA;AAAA,OACA,EAAA,OAAA,CAAA,CAAA,CAAA;AACA,MAAA,KAAA,CAAA,CAAA,8HAAA,EAAA,aAAA,CAAA,KAAA,EAAA,UAAA,CAAA,uKAAA,aAAA,CAAA,KAAA,EAAA,UAAA,CAAA,CAAA,yjBAAA,CAAA,CAAA,CAAA;AACA,MAAA,KAAA,CAAA,mBAAA,0BAAA,EAAA;AAAA,QACA,QAAA,EAAA,EAAA;AAAA,QACA,UAAA,EAAA,KAAA,CAAA,IAAA,CAAA,CAAA,MAAA;AAAA,QACA,uBAAA,CAAA,MAAA,KAAA,KAAA,CAAA,IAAA,EAAA,MAAA,GAAA,MAAA;AAAA,QACA,mBAAA,EAAA,iBAAA;AAAA,QACA,SAAA,EAAA,EAAA;AAAA,QACA,KAAA,EAAA,mBAAA;AAAA,QACA,WAAA,EAAA,8DAAA;AAAA,QACA,QAAA,EAAA,kBAAA;AAAA,QACA,kBAAA,EAAA,KAAA;AAAA,OACA,EAAA;AAAA,QACA,QAAA,OAAA,CAAA,CAAA,CAAA,EAAA,MAAA,EAAA,UAAA,QAAA,KAAA;AACA,UAAA,IAAA,MAAA,EAAA;AACA,YAAA,MAAA,CAAA,gBAAA,aAAA,CAAA,KAAA,EAAA,UAAA,CAAA,CAAA,gBAAA,EAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,WACA,MAAA;AACA,YAAA,OAAA;AAAA,cACA,YAAA,KAAA,EAAA;AAAA,gBACA,KAAA,EAAA,EAAA;AAAA,gBACA,GAAA,EAAA,UAAA;AAAA,eACA,CAAA;AAAA,aACA,CAAA;AAAA,WACA;AAAA,SACA,CAAA;AAAA,QACA,CAAA,EAAA,CAAA;AAAA,OACA,EAAA,OAAA,CAAA,CAAA,CAAA;AACA,MAAA,KAAA,CAAA,CAAA,2JAAA,CAAA,CAAA,CAAA;AACA,MAAA,KAAA,CAAA,mBAAA,0BAAA,EAAA;AAAA,QACA,UAAA,EAAA,KAAA,CAAA,IAAA,CAAA,CAAA,UAAA;AAAA,QACA,uBAAA,CAAA,MAAA,KAAA,KAAA,CAAA,IAAA,EAAA,UAAA,GAAA,MAAA;AAAA,QACA,mBAAA,EAAA,gBAAA;AAAA,QACA,SAAA,EAAA,EAAA;AAAA,QACA,KAAA,EAAA,mBAAA;AAAA,QACA,WAAA,EAAA,8DAAA;AAAA,QACA,QAAA,EAAA,iBAAA;AAAA,QACA,kBAAA,EAAA,KAAA;AAAA,OACA,EAAA;AAAA,QACA,QAAA,OAAA,CAAA,CAAA,CAAA,EAAA,MAAA,EAAA,UAAA,QAAA,KAAA;AACA,UAAA,IAAA,MAAA,EAAA;AACA,YAAA,MAAA,CAAA,gBAAA,aAAA,CAAA,KAAA,EAAA,UAAA,CAAA,CAAA,gBAAA,EAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,WACA,MAAA;AACA,YAAA,OAAA;AAAA,cACA,YAAA,KAAA,EAAA;AAAA,gBACA,KAAA,EAAA,EAAA;AAAA,gBACA,GAAA,EAAA,UAAA;AAAA,eACA,CAAA;AAAA,aACA,CAAA;AAAA,WACA;AAAA,SACA,CAAA;AAAA,QACA,CAAA,EAAA,CAAA;AAAA,OACA,EAAA,OAAA,CAAA,CAAA,CAAA;AACA,MAAA,KAAA,CAAA,CAAA,wHAAA,CAAA,CAAA,CAAA;AACA,MAAA,KAAA,CAAA,mBAAA,mBAAA,EAAA;AAAA,QACA,KAAA,EAAA,aAAA;AAAA,QACA,WAAA,EAAA,oBAAA;AAAA,QACA,UAAA,EAAA,KAAA,CAAA,IAAA,CAAA,CAAA,OAAA;AAAA,QACA,uBAAA,CAAA,MAAA,KAAA,KAAA,CAAA,IAAA,EAAA,OAAA,GAAA,MAAA;AAAA,OACA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA,CAAA;AACA,MAAA,KAAA,CAAA,CAAA,sPAAA,CAAA,CAAA,CAAA;AACA,MAAA,KAAA,CAAA,mBAAA,6BAAA,EAAA,EAAA,QAAA,KAAA,CAAA,IAAA,GAAA,EAAA;AAAA,QACA,SAAA,OAAA,CAAA,CAAA,CAAA,EAAA,MAAA,EAAA,UAAA,QAAA,KAAA;AACA,UAAA,IAAA,MAAA,EAAA;AACA,YAAA,MAAA,CAAA,mBAAA,yBAAA,EAAA;AAAA,cACA,UAAA,EAAA,KAAA,CAAA,IAAA,CAAA,CAAA,aAAA;AAAA,cACA,uBAAA,CAAA,MAAA,KAAA,KAAA,CAAA,IAAA,EAAA,aAAA,GAAA,MAAA;AAAA,cACA,IAAA,EAAA,MAAA;AAAA,cACA,WAAA,EAAA,oBAAA;AAAA,cACA,IAAA,EAAA,OAAA;AAAA,cACA,KAAA,EAAA,mBAAA;AAAA,cACA,cAAA,EAAA;AAAA,cACA,cAAA,EAAA,YAAA;AAAA,cACA,eAAA,EAAA,WAAA;AAAA,aACA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA,CAAA;AAAA,WACA,MAAA;AACA,YAAA,OAAA;AAAA,cACA,YAAA,yBAAA,EAAA;AAAA,gBACA,UAAA,EAAA,KAAA,CAAA,IAAA,CAAA,CAAA,aAAA;AAAA,gBACA,uBAAA,CAAA,MAAA,KAAA,KAAA,CAAA,IAAA,EAAA,aAAA,GAAA,MAAA;AAAA,gBACA,IAAA,EAAA,MAAA;AAAA,gBACA,WAAA,EAAA,oBAAA;AAAA,gBACA,IAAA,EAAA,OAAA;AAAA,gBACA,KAAA,EAAA,mBAAA;AAAA,gBACA,cAAA,EAAA;AAAA,gBACA,cAAA,EAAA,YAAA;AAAA,gBACA,eAAA,EAAA,WAAA;AAAA,iBACA,IAAA,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,qBAAA,CAAA,CAAA;AAAA,aACA,CAAA;AAAA,WACA;AAAA,SACA,CAAA;AAAA,QACA,CAAA,EAAA,CAAA;AAAA,OACA,EAAA,OAAA,CAAA,CAAA,CAAA;AACA,MAAA,KAAA,CAAA,CAAA,0BAAA,EAAA,aAAA,CAAA,KAAA,EAAA,UAAA,CAAA,CAAA,wQAAA,CAAA,CAAA,CAAA;AACA,MAAA,KAAA,CAAA,mBAAA,mBAAA,EAAA;AAAA,QACA,UAAA,EAAA,KAAA,CAAA,IAAA,CAAA,CAAA,OAAA;AAAA,QACA,uBAAA,CAAA,MAAA,KAAA,KAAA,CAAA,IAAA,EAAA,OAAA,GAAA,MAAA;AAAA,QACA,WAAA,EAAA,4FAAA;AAAA,OACA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA,CAAA;AACA,MAAA,KAAA,CAAA,CAAA,uEAAA,CAAA,CAAA,CAAA;AACA,MAAA,IAAA,KAAA,CAAA,IAAA,CAAA,CAAA,cAAA,IAAA,CAAA,EAAA;AACA,QAAA,KAAA,CAAA,CAAA,yBAAA,EAAA,aAAA,CAAA,KAAA,EAAA,UAAA,CAAA,CAAA,iBAAA,CAAA,CAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,KAAA,CAAA,CAAA,yBAAA,EAAA,aAAA,CAAA,KAAA,EAAA,UAAA,CAAA,CAAA,iBAAA,CAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,KAAA,CAAA,CAAA,6VAAA,CAAA,CAAA,CAAA;AACA,MAAA,KAAA,CAAA,mBAAA,mBAAA,EAAA;AAAA,QACA,UAAA,EAAA,KAAA,CAAA,IAAA,CAAA,CAAA,OAAA;AAAA,QACA,uBAAA,CAAA,MAAA,KAAA,KAAA,CAAA,IAAA,EAAA,OAAA,GAAA,MAAA;AAAA,QACA,IAAA,EAAA,UAAA;AAAA,QACA,QAAA,EAAA,EAAA;AAAA,QACA,WAAA,EAAA,sKAAA;AAAA,OACA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA,CAAA;AACA,MAAA,KAAA,CAAA,CAAA,gXAAA,CAAA,CAAA,CAAA;AACA,MAAA,IAAA,KAAA,CAAA,IAAA,CAAA,CAAA,SAAA,IAAA,CAAA,EAAA;AACA,QAAA,KAAA,CAAA,CAAA,2BAAA,EAAA,aAAA,CAAA,KAAA,EAAA,UAAA,CAAA,CAAA,iBAAA,CAAA,CAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,KAAA,CAAA,CAAA,2BAAA,EAAA,aAAA,CAAA,KAAA,EAAA,UAAA,CAAA,CAAA,iBAAA,CAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,KAAA,CAAA,CAAA,gNAAA,CAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAAA,GACA;AACA,CAAA,CAAA;AACA,MAAA,aAAA,SAAA,CAAA,KAAA,CAAA;AACA,SAAA,CAAA,KAAA,GAAA,CAAA,KAAA,EAAA,GAAA,KAAA;AACA,EAAA,MAAA,aAAA,aAAA,EAAA,CAAA;AACA,EAAA,CAAA,UAAA,CAAA,YAAA,UAAA,CAAA,OAAA,uBAAA,GAAA,EAAA,CAAA,EAAA,IAAA,yBAAA,CAAA,CAAA;AACA,EAAA,OAAA,UAAA,GAAA,UAAA,CAAA,KAAA,EAAA,GAAA,CAAA,GAAA,KAAA,CAAA,CAAA;AACA,CAAA,CAAA;AACA,MAAA,KAAA,+BAAA,SAAA,EAAA,CAAA,CAAA,WAAA,EAAA,iBAAA,CAAA,CAAA;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/index-8ce861f4.mjs b/.output/server/chunks/app/_nuxt/index-8ce861f4.mjs new file mode 100644 index 0000000..fc4963f --- /dev/null +++ b/.output/server/chunks/app/_nuxt/index-8ce861f4.mjs @@ -0,0 +1,260 @@ +import { b as buildAssetsURL } from '../../handlers/renderer.mjs'; +import { m as getListHttp, o as operateLikeHttp, H as Head, T as Title, M as Meta } from './cross-icon-c0ac5209.mjs'; +import { h as handleDate, _ as _imports_2, E as ElMessage, a as __nuxt_component_3, b as __nuxt_component_4 } from './eye-icon-a076085e.mjs'; +import { useSSRContext, mergeProps, unref, inject, ref, watchEffect, nextTick, onUnmounted, withAsyncContext, withCtx, createTextVNode, createVNode } from 'vue'; +import { ssrRenderAttrs, ssrRenderAttr, ssrInterpolate, ssrRenderComponent, ssrRenderList } from 'vue/server-renderer'; +import { _ as _export_sfc, u as useHead } from './_plugin-vue_export-helper-e3874580.mjs'; +import { e as useRoute, u as useRouter } from '../server.mjs'; +import 'vue-bundle-renderer/runtime'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'devalue'; +import '@unhead/ssr'; +import 'unhead'; +import '@unhead/shared'; +import 'lodash-unified'; +import '@vue/shared'; +import '@vueuse/core'; +import 'axios'; +import 'qs'; +import '@vue/reactivity'; +import 'vue-router'; + +const _imports_0$1 = "" + buildAssetsURL("time-icon.fef65a83.svg"); +const _imports_1 = "" + buildAssetsURL("time-white-icon.805d0e12.svg"); +const _imports_3 = "" + buildAssetsURL("like-no.23054eaf.svg"); +const _imports_4 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAQKADAAQAAAABAAAAQAAAAABGUUKwAAAD30lEQVR4AeVa7XXaMBSVDANkBDxB6QRxJmg6QVmANp2gZAOaDBCYoGwQugGZAGUD+F9Q7zPIxxAZy7ZkG0vn5Ejoy/fe954+7HDWgrRbf/8FGPeMySFyIRmf9MOneR3QeB0PufQMkJ+AOAlwlvgqYMEdD6ebswarPwOrs5WaTP7QD5PDPdu/6tvs1bZAAHaTTUcODx6S3aNqS6MhINcP0Z7tcq0csF6IUBBVyerGt8EDdLhO6iASFkg3qVEBEOORGS3+zaxf8V6NCmAOVw4RLhfWCvOZzns2KoBkMjoHdOH38EJb6abGBCCLYgW+NUW+Y7uBad8i/RoTACCjIkA544Mi/U37NiYALDoyBemyXyMCwP0HcP8vLomZzt2IANj+JqYAXferXQCyPi4/zvb1ooLVLgBi/6UoSOqPLVOUGZc3plYBYP17xH6UB0rX3mM9oauvWlebAOT6ONOXsv6R5KYqWd342gQ4un7p4yxugysdgap1/aoTmIzfrcdk+cikb0aft4z6ytXOPeDfejwCSvqrkLgT6xMgpwIQeSx6VeJeiSZUwXbuTACL5GGlYGmbuJoPBrKfbJIndL3w2QlOmtu6B9gmLxn7S0BdpRNl5Xp8a/ogHj5/AIa9/gZ7/RpzlN7uNM+fwUozTX3pqjT2WAA6oR0PKQWA81UvfPqcRnGc50+6rqVlgTfNX+lsEQA0PkDsCHQB8kQrfk8XUUkl3PKGqtzynE6lr+A+CHBCm7QcrCt4CNf9JEAMGMe9KyQNzvuJdoGCrt8gXOuPlpwEeLc+79VMiC/Q2GfF1eC1DlTiE7zHCVvhCosgF75qgHPAkjzASwEQ+vFJ1tsQgOcvyfOxCLp520qTtznhir0ifIGrt61tJn/EtqTcyxCg+McCuFECCCr4lFT8E+cASgifyMekWbBQnH0MgS2MHi+ABzEOUnh0H+CJ9RMBfLoPYPv7KICKBw/yLTgu0zzjNcCf+wBfqO1PiaAWQaEqupyfuz9xVQJ0mbfiRqv/SfwnAvhxH+AzpUQ6jz3Ah/sA3H+aJq7KvoTAW9aJVwkglCJdzHHO0VqfuMYCZKnTETG2/fB5lsVFeUBWewfqeab1iVxagE7eB7D4zS5ZMRGgm/cBPs8L70SASypda1vW1pfmkwjQtfvA8bXXKk1WV04EQKPQdbjWOhzuHkywJwJ06zjMHxH7udYngRIBoNgSv+m+fOWJz/GvOxNTEokAtFoibozcJjX5JlWGmoePDem6GstkvJ8gPyryzEQAGkQnJnwxvaMFJGeS+GHnbobfC8b475yxNpvfD1j5I3AP8P+E06KT/wdPOffX7me6UQAAAABJRU5ErkJggg=="; +const _imports_5 = "" + buildAssetsURL("comment-icon.f7b16ad3.svg"); +const _sfc_main$1 = { + __name: "Item", + __ssrInlineRender: true, + props: { + item: Object + }, + emits: ["childEvent"], + setup(__props, { emit: __emit }) { + return (_ctx, _push, _parent, _attrs) => { + _push(`
${ssrInterpolate(__props.item["school"])}
`); + if (__props.item["profession"]) { + _push(`
\u4E13\u4E1A
${ssrInterpolate(__props.item["profession"])}
`); + } else { + _push(``); + } + if (__props.item["project"]) { + _push(`
\u9879\u76EE
${ssrInterpolate(__props.item["project"])}
`); + } else { + _push(``); + } + if (__props.item["interviewtime"]) { + _push(`
\u65F6\u95F4
${ssrInterpolate(__props.item["interviewtime"])}
`); + } else { + _push(``); + } + _push(`
${ssrInterpolate(__props.item["message"])}
${ssrInterpolate(("handleDate" in _ctx ? _ctx.handleDate : unref(handleDate))(__props.item["releasetime"]))}\u53D1\u5E03
${ssrInterpolate(__props.item["views"] || 0)}
`); + if (__props.item["islike"] == 0) { + _push(``); + } else { + _push(``); + } + _push(` ${ssrInterpolate(__props.item["likenum"] || 0)}
${ssrInterpolate(__props.item["commentnum"] || 0)}
`); + }; + } +}; +const _sfc_setup$1 = _sfc_main$1.setup; +_sfc_main$1.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/Item.vue"); + return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0; +}; +const __nuxt_component_5 = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-d382e4b9"]]); +const _imports_0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIKADAAQAAAABAAAAIAAAAACshmLzAAAED0lEQVRYCe2Wu09UQRTGdwlYWWMAIzEhWhCJhRgVAbHzAWil1sT/gKcKLAqG159AYimVgIFSeVOglSYmRhPFEEiIlTQ2sP6+y5zr3OUuLFDqJLPnzHce883MmdmbSPzrLXmQDRgaGjqNfyO9Op1OFyFPuvjVZDK5Dja3tbU10dHR8d3h+4qcCDDxdZL3ku3yvhlxgMwS4nFLS8vMfv57Eujr6zuRn5//goQ3vESf0Sch9BW55vBifMrA6pFnPN9Jxk0Q2fCwiJqVwODg4Hk8J+inXMQYyVIk+xDJkDFgtyogkgK+60wrxDVki4sloMkJmifRcZJsoN/LZTvdhIEYGBioI26UQSF9E/1qHIldBLTtBQUFywRp5Z/y8vJuNjc3r6AfuA0PD5dub29PEVhOX4HERUhEjiMvM6vOHEyTbxxlcuUVcXLcUi56KTs6ItxvEQKqdlgGBYfz/cOu3J9AOcj5wGH1HG+tb48QYNI+Zxxra2ub9h2lc64XSFCVidtYNvnY2CTb/hZ9XGPIPDdcMiTgHplLAnFKSfqN86wEV20s4Nvp26Q7bEE+cSTAu+XHIq+oNqSrhQQw3NmBEl/iqpViOoY9KFp8n7LaLuefkC7MjZPo8o00l1NviEjoNQ1aSACGVx322smIaG1tXSSw1QN7WHU3q20D6zGcPF3t7e1LNvYl8boRatU7IroDwbtOgi9mzJTUxZBPAj2Ff7/5aXJW+szGMTLITVyJ2cIdAChy4JoZ42QmCfPJYfIEV3Ld+RdbnE8gLZCz3vU4mbMn/TiD4zCzBdLLHcwl0A+ylYfsItFuoDP3t918dByqCRvHSeKCXUbaXH8JGIgsiwsWpmrHHp45kK5jeCVFwr8divEbdsu9mwDGOTkzQXhF/GASq3LDakfv5Gb0qkv3fHv6+/vtRnlwoN7WL0cxa4bwCPQlI1As2coKczBJAf2WWWNIPnETB2bpwoIBPujyjTTlBD8DyBTp8KqHBPQZhcOSonBISfqNN/0dJCphX8VVsyc7dBEmm3y4Ke9Dg1PIGewecyzyTvwwe6TiYXkNx2kZkdfj/g8s8CCSvPqke+NiatixeYsPd0AAq5hBTEqH6aj/Zgs7TFMOJn/pYsf9yYVFCAhg4ibECr2QLZ06CgnFKody0b9xPA+RkbaLALugT7AGvDbp5SRY1tFEonIY8F7UKVY56L/QG6mjn5mhkRrwjapatk7VWiocUq+4KSkK6KPvl6lzBc+xUhWcfZR+0+TZ4rISUGJIFEJiBLVeY9f0l6rPbf2xBA8KE5Qw1iOje36Wbm1c2x63cnPYk4A58QjVouvqVRm2l4TMAsQfZRZcXExOBCzQVXQjyWuYpAhpf+Gr6Pqnm2U3Jvx7brH/ZbYd+APZxM/2zgvhdQAAAABJRU5ErkJggg=="; +const _sfc_main = { + __name: "index", + __ssrInlineRender: true, + async setup(__props) { + let __temp, __restore; + let isNeedLogin = inject("isNeedLogin"); + const goLogin = inject("goLogin"); + console.log(true); + useHead({ script: [{ src: "https://app.gter.net/bottom?tpl=header&menukey=mj" }, { src: "https://app.gter.net/bottom?tpl=footer", body: true }] }); + ref(null); + const route = useRoute(); + let keyword = ref(""); + keyword.value = route.query["keyword"]; + watchEffect(() => { + if (keyword.value != route.query["keyword"]) { + list.value = []; + page.value = 1; + keyword.value = route.query["keyword"]; + getList(route.query["keyword"]); + } + }); + const handleScroll = () => { + const scrollTop = document.documentElement.scrollTop || document.body.scrollTop; + const scrollHeight = document.documentElement.scrollHeight; + const clientHeight = document.documentElement.clientHeight; + if (scrollTop + clientHeight >= scrollHeight - 40) + getList(); + }; + let page = ref(1); + let count = ref(0); + let list = ref([]); + let loading = false; + const getList = () => { + if (page.value == 0 || loading) + return; + loading = true; + getListHttp({ page: page.value, keyword: keyword.value }).then((res) => { + if (res.code != 200) { + page.value = 0; + ElMessage({ + message: res.message, + type: "error" + }); + return; + } + let data = res.data; + list.value = list.value.concat(data.data || []); + if (data.count > list.value.length) + page.value++; + else + page.value = 0; + count.value = data["count"]; + nextTick(() => { + }); + }).finally(() => loading = false); + }; + const handleLike = (token) => { + if (isNeedLogin.value) { + goLogin(); + return; + } + operateLikeHttp({ token }).then((res) => { + if (res.code != 200) + return; + let data = res.data; + list.value.forEach((element) => { + if (element["token"] == token) { + element["islike"] = data["status"]; + element["likenum"] = data["count"]; + } + }); + ElMessage.success(res.message); + }); + }; + onUnmounted(() => { + window.removeEventListener("scroll", handleScroll); + }); + useRouter(); + try { + if (true) { + [__temp, __restore] = withAsyncContext(() => getListHttp({ page: 1, keyword: keyword.value }).then((res) => { + if (res.code != 200) { + page.value = 0; + ElMessage({ + message: res.message, + type: "error" + }); + return; + } + let data = res.data; + list.value = list.value.concat(data.data || []); + })), await __temp, __restore(); + } + } catch (error) { + } + return (_ctx, _push, _parent, _attrs) => { + const _component_Head = Head; + const _component_Title = Title; + const _component_Meta = Meta; + const _component_TopHead = __nuxt_component_3; + const _component_empty = __nuxt_component_4; + const _component_Item = __nuxt_component_5; + _push(``); + _push(ssrRenderComponent(_component_Head, null, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(ssrRenderComponent(_component_Title, null, { + default: withCtx((_2, _push3, _parent3, _scopeId2) => { + if (_push3) { + _push3(`\u5BC4\u6258\u5929\u4E0B - \u9762\u7ECF\u5206\u4EAB `); + } else { + return [ + createTextVNode("\u5BC4\u6258\u5929\u4E0B - \u9762\u7ECF\u5206\u4EAB ") + ]; + } + }), + _: 1 + }, _parent2, _scopeId)); + _push2(ssrRenderComponent(_component_Meta, { + name: "keyword", + content: "\u7559\u5B66\u8D44\u8BAF\uFF0C\u7559\u5B66\u4EA4\u6D41\u8BBA\u575B\uFF0C\u7559\u5B66\u9762\u7ECF\uFF0C\u9762\u8BD5\u7ECF\u9A8C\uFF0C\u5BC4\u6258\u5929\u4E0B" + }, null, _parent2, _scopeId)); + } else { + return [ + createVNode(_component_Title, null, { + default: withCtx(() => [ + createTextVNode("\u5BC4\u6258\u5929\u4E0B - \u9762\u7ECF\u5206\u4EAB ") + ]), + _: 1 + }), + createVNode(_component_Meta, { + name: "keyword", + content: "\u7559\u5B66\u8D44\u8BAF\uFF0C\u7559\u5B66\u4EA4\u6D41\u8BBA\u575B\uFF0C\u7559\u5B66\u9762\u7ECF\uFF0C\u9762\u8BD5\u7ECF\u9A8C\uFF0C\u5BC4\u6258\u5929\u4E0B" + }) + ]; + } + }), + _: 1 + }, _parent)); + _push(ssrRenderComponent(_component_TopHead, null, null, _parent)); + if (unref(keyword)) { + _push(`
${ssrInterpolate(unref(keyword))}
\u5171 ${ssrInterpolate(unref(count))} \u6761\u641C\u7D22\u6570\u636E
`); + } else { + _push(``); + } + _push(`
`); + if (unref(list).length == 0 && unref(page) == 0) { + _push(`
`); + _push(ssrRenderComponent(_component_empty, { hint: "\u6CA1\u6709\u627E\u5230\u76F8\u5173\u7ED3\u679C\uFF0C\u8BF7\u66F4\u6362\u641C\u7D22\u5173\u952E\u8BCD" }, null, _parent)); + _push(`
`); + } else { + _push(``); + ssrRenderList(unref(list), (item, index2) => { + _push(ssrRenderComponent(_component_Item, { + key: index2, + item, + onHandleLike: handleLike + }, null, _parent)); + }); + _push(``); + } + _push(`
`); + if (unref(page) == 0 && unref(list).length > 0) { + _push(`
- \u5230\u5E95\u4E86 -
`); + } else { + _push(``); + } + _push(``); + }; + } +}; +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/index.html/index.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5f76285b"]]); + +export { index as default }; +//# sourceMappingURL=index-8ce861f4.mjs.map diff --git a/.output/server/chunks/app/_nuxt/index-8ce861f4.mjs.map b/.output/server/chunks/app/_nuxt/index-8ce861f4.mjs.map new file mode 100644 index 0000000..42e2f06 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/index-8ce861f4.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"index-8ce861f4.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/index-8ce861f4.js"],"sourcesContent":null,"names":["__buildAssetsURL"],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/index-styles.9175bb53.mjs b/.output/server/chunks/app/_nuxt/index-styles.9175bb53.mjs new file mode 100644 index 0000000..5714d50 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/index-styles.9175bb53.mjs @@ -0,0 +1,8 @@ +const Item_vue_vue_type_style_index_0_scoped_d382e4b9_lang = ".box[data-v-d382e4b9]{background-color:#fff;border-radius:8px;cursor:pointer;margin-bottom:20px;padding:20px 19px 25px 20px;width:385px}.box:hover .content .text-box[data-v-d382e4b9]{background:#72db86}.box:hover .content .text-box .text[data-v-d382e4b9],.box:hover .content .text-box .time[data-v-d382e4b9]{color:#fff}.box:hover .content .text-box .time .time-icon.time-black-icon[data-v-d382e4b9]{display:none}.box:hover .content .text-box .time .time-icon.time-white-icon[data-v-d382e4b9]{display:block}.box .img[data-v-d382e4b9]{height:26px;margin-right:10px;width:26px}.box .content[data-v-d382e4b9]{flex-direction:column}.box .content .name[data-v-d382e4b9]{color:#000;font-size:16px;font-weight:650;margin-bottom:16px;margin-top:2px}.box .content .list[data-v-d382e4b9]{flex-direction:column;margin-bottom:14px}.box .content .list .item[data-v-d382e4b9]:not(:last-of-type){margin-bottom:8px}.box .content .list .item .item-name[data-v-d382e4b9]{color:#7f7f7f;font-size:13px;line-height:20px;margin-right:12.5px}.box .content .list .item .item-value[data-v-d382e4b9]{color:#333;font-size:14px;width:255px}.box .content .text-box[data-v-d382e4b9]{background:#f2f2f2;border:1px solid #f6f6f6;border-radius:10px;margin-bottom:11px;padding:12px;transition:all .3s}.box .content .text-box .text[data-v-d382e4b9]{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#333;display:-webkit-box;font-size:13px;line-height:24px;margin-bottom:12px;overflow:hidden}.box .content .text-box .time[data-v-d382e4b9]{color:#aaa;font-size:13px}.box .content .text-box .time .time-icon[data-v-d382e4b9]{height:20px;margin-right:6px;width:20px}.box .content .text-box .time .time-icon.time-black-icon[data-v-d382e4b9]{display:block}.box .content .text-box .time .time-icon.time-white-icon[data-v-d382e4b9]{display:none}.box .content .data-list[data-v-d382e4b9]{color:#aaa;font-size:12px;justify-content:flex-end}.box .content .data-list .data-item[data-v-d382e4b9]{margin-left:26px}.box .content .data-list .data-item .data-item-icon[data-v-d382e4b9]{margin-right:5px;width:13px}"; + +const index_vue_vue_type_style_index_0_scoped_5f76285b_lang = ".search-result[data-v-5f76285b]{margin:0 auto 30px;width:1200px}.search-result .keyword[data-v-5f76285b]{color:#fa6b11;cursor:pointer;font-size:14px}.search-result .keyword .keyword-icon[data-v-5f76285b]{height:14px;margin-left:9px;width:14px}.search-result .halving-line[data-v-5f76285b]{background:#d7d7d7;height:13px;margin:0 20px;width:1px}.search-result .total[data-v-5f76285b]{color:#7f7f7f;font-size:13px}.content[data-v-5f76285b]{display:flex;flex-wrap:wrap;justify-content:space-between;margin:0 auto 93px;min-height:calc(100vh - 250px);width:1200px}.content .empty-box[data-v-5f76285b]{background-color:#fff;border-radius:16px;height:540px;width:1200px}.in-end[data-v-5f76285b]{color:#7f7f7f;font-size:12px;margin-bottom:88px;text-align:center}"; + +const indexStyles_9175bb53 = [Item_vue_vue_type_style_index_0_scoped_d382e4b9_lang, index_vue_vue_type_style_index_0_scoped_5f76285b_lang, index_vue_vue_type_style_index_0_scoped_5f76285b_lang]; + +export { indexStyles_9175bb53 as default }; +//# sourceMappingURL=index-styles.9175bb53.mjs.map diff --git a/.output/server/chunks/app/_nuxt/index-styles.9175bb53.mjs.map b/.output/server/chunks/app/_nuxt/index-styles.9175bb53.mjs.map new file mode 100644 index 0000000..9c0ca94 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/index-styles.9175bb53.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"index-styles.9175bb53.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/index-styles-1.mjs-62d19548.js","../../../../../.nuxt/dist/server/_nuxt/index-styles-2.mjs-543a0eee.js","../../../../../.nuxt/dist/server/_nuxt/index-styles.9175bb53.mjs"],"sourcesContent":null,"names":["style_0","style_1","style_2"],"mappings":"AAAA,MAAM,oDAAuD,GAAA,ohEAAA;;ACA7D,MAAM,qDAAwD,GAAA,ovBAAA;;ACG9D,6BAAe,CAACA,oDAAO,EAAEC,qDAAO,EAAEC,qDAAO;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/index-styles.f5784fbd.mjs b/.output/server/chunks/app/_nuxt/index-styles.f5784fbd.mjs new file mode 100644 index 0000000..88e7bb1 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/index-styles.f5784fbd.mjs @@ -0,0 +1,18 @@ +const elAutocomplete = '.el-autocomplete{display:inline-block;position:relative}.el-autocomplete__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-autocomplete__popper.el-popper,.el-autocomplete__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-autocomplete__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-autocomplete__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-autocomplete__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-autocomplete__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-autocomplete-suggestion{border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-autocomplete-suggestion__wrap{box-sizing:border-box;max-height:280px;padding:10px 0}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-base);line-height:34px;list-style:none;margin:0;overflow:hidden;padding:0 20px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.el-autocomplete-suggestion li.highlighted,.el-autocomplete-suggestion li:hover{background-color:var(--el-fill-color-light)}.el-autocomplete-suggestion li.divider{border-top:1px solid var(--el-color-black);margin-top:6px}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{color:var(--el-text-color-secondary);font-size:20px;height:100px;line-height:100px;text-align:center}.el-autocomplete-suggestion.is-loading li:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-autocomplete-suggestion.is-loading li:hover{background-color:var(--el-bg-color-overlay)}.el-autocomplete-suggestion.is-loading .el-icon-loading{vertical-align:middle}'; + +const elInput = ".el-textarea{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;display:inline-block;font-size:var(--el-font-size-base);position:relative;vertical-align:bottom;width:100%}.el-textarea__inner{-webkit-appearance:none;background-color:var(--el-input-bg-color,var(--el-fill-color-blank));background-image:none;border:none;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;box-sizing:border-box;color:var(--el-input-text-color,var(--el-text-color-regular));display:block;font-family:inherit;font-size:inherit;line-height:1.5;padding:5px 11px;position:relative;resize:vertical;transition:var(--el-transition-box-shadow);width:100%}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset;outline:0}.el-textarea .el-input__count{background:var(--el-fill-color-blank);bottom:5px;color:var(--el-color-info);font-size:12px;line-height:14px;position:absolute;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:var(--el-disabled-bg-color);box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;--el-input-height:var(--el-component-size);box-sizing:border-box;display:inline-flex;font-size:var(--el-font-size-base);line-height:var(--el-input-height);position:relative;vertical-align:middle;width:var(--el-input-width)}.el-input::-webkit-scrollbar{width:6px;z-index:11}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{background:var(--el-text-color-disabled);border-radius:5px;width:6px}.el-input::-webkit-scrollbar-corner,.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);cursor:pointer;font-size:14px}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{align-items:center;color:var(--el-color-info);display:inline-flex;font-size:12px;height:100%}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);display:inline-block;line-height:normal;padding-left:8px}.el-input__wrapper{align-items:center;background-color:var(--el-input-bg-color,var(--el-fill-color-blank));background-image:none;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;cursor:text;display:inline-flex;flex-grow:1;justify-content:center;padding:1px 11px;transform:translateZ(0);transition:var(--el-transition-box-shadow)}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input__inner{--el-input-inner-height:calc(var(--el-input-height, 32px) - 2px);-webkit-appearance:none;background:0 0;border:none;box-sizing:border-box;color:var(--el-input-text-color,var(--el-text-color-regular));flex-grow:1;font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);outline:0;padding:0;width:100%}.el-input__inner:focus{outline:0}.el-input__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__prefix{color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:inline-flex;flex-shrink:0;flex-wrap:nowrap;height:100%;pointer-events:none;text-align:center;transition:all var(--el-transition-duration);white-space:nowrap}.el-input__prefix-inner{align-items:center;display:inline-flex;justify-content:center;pointer-events:all}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:inline-flex;flex-shrink:0;flex-wrap:nowrap;height:100%;pointer-events:none;text-align:center;transition:all var(--el-transition-duration);white-space:nowrap}.el-input__suffix-inner{align-items:center;display:inline-flex;justify-content:center;pointer-events:all}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{align-items:center;display:flex;height:inherit;justify-content:center;line-height:inherit;margin-left:8px;transition:all var(--el-transition-duration)}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color,) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);box-shadow:0 0 0 1px var(--el-disabled-border-color) inset}.el-input.is-disabled .el-input__inner{-webkit-text-fill-color:var(--el-disabled-text-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height:var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large .el-input__inner{--el-input-inner-height:calc(var(--el-input-height, 40px) - 2px)}.el-input--small{--el-input-height:var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small .el-input__inner{--el-input-inner-height:calc(var(--el-input-height, 24px) - 2px)}.el-input-group{align-items:stretch;display:inline-flex;width:100%}.el-input-group__append,.el-input-group__prepend{align-items:center;background-color:var(--el-fill-color-light);border-radius:var(--el-input-border-radius);color:var(--el-color-info);display:inline-flex;justify-content:center;min-height:100%;padding:0 20px;position:relative;white-space:nowrap}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:0 -20px}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-input__wrapper,.el-input-group__append div.el-select:hover .el-input__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-input__wrapper,.el-input-group__prepend div.el-select:hover .el-input__wrapper{background-color:transparent;border-color:transparent;color:inherit}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group__append{border-left:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-group--prepend>.el-input__wrapper,.el-input-group__append{border-bottom-left-radius:0;border-top-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-input .el-input__inner{box-shadow:none!important}.el-input-group--prepend .el-input-group__prepend .el-select .el-input .el-input__wrapper{border-bottom-right-radius:0;border-top-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group--prepend .el-input-group__prepend .el-select .el-input.is-focus .el-input__inner{box-shadow:none!important}.el-input-group--prepend .el-input-group__prepend .el-select .el-input.is-focus .el-input__wrapper,.el-input-group--prepend .el-input-group__prepend .el-select .el-input.is-focus .el-input__wrapper:focus{box-shadow:1px 0 0 0 var(--el-input-focus-border-color) inset,1px 0 0 0 var(--el-input-focus-border-color),0 1px 0 0 var(--el-input-focus-border-color) inset,0 -1px 0 0 var(--el-input-focus-border-color) inset!important;z-index:2}.el-input-group--prepend .el-input-group__prepend .el-select .el-input.is-focus .el-input__wrapper:focus{outline:0}.el-input-group--prepend .el-input-group__prepend .el-select:hover .el-input__inner{box-shadow:none!important}.el-input-group--prepend .el-input-group__prepend .el-select:hover .el-input__wrapper{box-shadow:1px 0 0 0 var(--el-input-hover-border-color) inset,1px 0 0 0 var(--el-input-hover-border-color),0 1px 0 0 var(--el-input-hover-border-color) inset,0 -1px 0 0 var(--el-input-hover-border-color) inset!important;z-index:1}.el-input-group--append>.el-input__wrapper{border-bottom-right-radius:0;border-top-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-input .el-input__inner{box-shadow:none!important}.el-input-group--append .el-input-group__append .el-select .el-input .el-input__wrapper{border-bottom-left-radius:0;border-top-left-radius:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-group--append .el-input-group__append .el-select .el-input.is-focus .el-input__inner{box-shadow:none!important}.el-input-group--append .el-input-group__append .el-select .el-input.is-focus .el-input__wrapper{box-shadow:-1px 0 0 0 var(--el-input-focus-border-color),-1px 0 0 0 var(--el-input-focus-border-color) inset,0 1px 0 0 var(--el-input-focus-border-color) inset,0 -1px 0 0 var(--el-input-focus-border-color) inset!important;z-index:2}.el-input-group--append .el-input-group__append .el-select:hover .el-input__inner{box-shadow:none!important}.el-input-group--append .el-input-group__append .el-select:hover .el-input__wrapper{box-shadow:-1px 0 0 0 var(--el-input-hover-border-color),-1px 0 0 0 var(--el-input-hover-border-color) inset,0 1px 0 0 var(--el-input-hover-border-color) inset,0 -1px 0 0 var(--el-input-hover-border-color) inset!important;z-index:1}"; + +const elScrollbar = ".el-scrollbar{--el-scrollbar-opacity:0.3;--el-scrollbar-bg-color:var(--el-text-color-secondary);--el-scrollbar-hover-opacity:0.5;--el-scrollbar-hover-bg-color:var(--el-text-color-secondary);height:100%;overflow:hidden;position:relative}.el-scrollbar__wrap{height:100%;overflow:auto}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{display:none}.el-scrollbar__thumb{background-color:var(--el-scrollbar-bg-color,var(--el-text-color-secondary));border-radius:inherit;cursor:pointer;display:block;height:0;opacity:var(--el-scrollbar-opacity,.3);position:relative;transition:var(--el-transition-duration) background-color;width:0}.el-scrollbar__thumb:hover{background-color:var(--el-scrollbar-hover-bg-color,var(--el-text-color-secondary));opacity:var(--el-scrollbar-hover-opacity,.5)}.el-scrollbar__bar{border-radius:4px;bottom:2px;position:absolute;right:2px;z-index:1}.el-scrollbar__bar.is-vertical{top:2px;width:6px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-scrollbar-fade-enter-active{transition:opacity .34s ease-out}.el-scrollbar-fade-leave-active{transition:opacity .12s ease-out}.el-scrollbar-fade-enter-from,.el-scrollbar-fade-leave-active{opacity:0}"; + +const elDatePicker = '.el-date-table{font-size:12px;-webkit-user-select:none;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:var(--el-datepicker-text-color)}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child .el-date-table-cell{border-bottom-left-radius:15px;border-top-left-radius:15px;margin-left:5px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child .el-date-table-cell{border-bottom-right-radius:15px;border-top-right-radius:15px;margin-right:5px}.el-date-table.is-week-mode .el-date-table__row.current .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td{box-sizing:border-box;cursor:pointer;height:30px;padding:4px 0;position:relative;text-align:center;width:32px}.el-date-table td .el-date-table-cell{box-sizing:border-box;height:30px;padding:3px 0}.el-date-table td .el-date-table-cell .el-date-table-cell__text{border-radius:50%;display:block;height:24px;left:50%;line-height:24px;margin:0 auto;position:absolute;transform:translateX(-50%);width:24px}.el-date-table td.next-month,.el-date-table td.prev-month{color:var(--el-datepicker-off-text-color)}.el-date-table td.today{position:relative}.el-date-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-date-table td.today.end-date .el-date-table-cell__text,.el-date-table td.today.start-date .el-date-table-cell__text{color:#fff}.el-date-table td.available:hover{color:var(--el-datepicker-hover-text-color)}.el-date-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-date-table td.current:not(.disabled) .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#fff}.el-date-table td.current:not(.disabled):focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-date-table td.end-date .el-date-table-cell,.el-date-table td.start-date .el-date-table-cell{color:#fff}.el-date-table td.end-date .el-date-table-cell__text,.el-date-table td.start-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color)}.el-date-table td.start-date .el-date-table-cell{border-bottom-left-radius:15px;border-top-left-radius:15px;margin-left:5px}.el-date-table td.end-date .el-date-table-cell{border-bottom-right-radius:15px;border-top-right-radius:15px;margin-right:5px}.el-date-table td.disabled .el-date-table-cell{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed;opacity:1}.el-date-table td.selected .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color);border-radius:15px;margin-left:5px;margin-right:5px}.el-date-table td.selected .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-date-table td.selected .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);border-radius:15px;color:#fff}.el-date-table td.week{color:var(--el-datepicker-header-text-color);font-size:80%}.el-date-table td:focus{outline:0}.el-date-table th{border-bottom:1px solid var(--el-border-color-lighter);color:var(--el-datepicker-header-text-color);font-weight:400;padding:5px}.el-month-table{border-collapse:collapse;font-size:12px;margin:-1px}.el-month-table td{cursor:pointer;padding:8px 0;text-align:center}.el-month-table td div{box-sizing:border-box;height:48px;padding:6px 0}.el-month-table td.today .cell{color:var(--el-color-primary);font-weight:700}.el-month-table td.today.end-date .cell,.el-month-table td.today.start-date .cell{color:#fff}.el-month-table td.disabled .cell{background-color:var(--el-fill-color-light);cursor:not-allowed}.el-month-table td.disabled .cell,.el-month-table td.disabled .cell:hover{color:var(--el-text-color-placeholder)}.el-month-table td .cell{border-radius:18px;color:var(--el-datepicker-text-color);display:block;height:36px;line-height:36px;margin:0 auto;width:60px}.el-month-table td .cell:hover{color:var(--el-datepicker-hover-text-color)}.el-month-table td.in-range div{background-color:var(--el-datepicker-inrange-bg-color)}.el-month-table td.in-range div:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-month-table td.end-date div,.el-month-table td.start-date div{color:#fff}.el-month-table td.end-date .cell,.el-month-table td.start-date .cell{background-color:var(--el-datepicker-active-color);color:#fff}.el-month-table td.start-date div{border-bottom-left-radius:24px;border-top-left-radius:24px}.el-month-table td.end-date div{border-bottom-right-radius:24px;border-top-right-radius:24px}.el-month-table td.current:not(.disabled) .cell{color:var(--el-datepicker-active-color)}.el-month-table td:focus-visible{outline:0}.el-month-table td:focus-visible .cell{outline:2px solid var(--el-datepicker-active-color)}.el-year-table{border-collapse:collapse;font-size:12px;margin:-1px}.el-year-table .el-icon{color:var(--el-datepicker-icon-color)}.el-year-table td{cursor:pointer;padding:20px 3px;text-align:center}.el-year-table td.today .cell{color:var(--el-color-primary);font-weight:700}.el-year-table td.disabled .cell{background-color:var(--el-fill-color-light);cursor:not-allowed}.el-year-table td.disabled .cell,.el-year-table td.disabled .cell:hover{color:var(--el-text-color-placeholder)}.el-year-table td .cell{border-radius:18px;color:var(--el-datepicker-text-color);display:block;height:36px;line-height:36px;margin:0 auto;width:48px}.el-year-table td .cell:hover{color:var(--el-datepicker-hover-text-color)}.el-year-table td.current:not(.disabled) .cell{color:var(--el-datepicker-active-color)}.el-year-table td:focus-visible{outline:0}.el-year-table td:focus-visible .cell{outline:2px solid var(--el-datepicker-active-color)}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{display:inline-block;max-height:192px;overflow:auto;position:relative;vertical-align:top;width:50%}.el-time-spinner__wrapper.el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__wrapper.is-arrow{box-sizing:border-box;overflow:hidden;text-align:center}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:default}.el-time-spinner__arrow{color:var(--el-text-color-secondary);cursor:pointer;font-size:12px;height:30px;left:0;line-height:30px;position:absolute;text-align:center;width:100%;z-index:var(--el-index-normal)}.el-time-spinner__arrow:hover{color:var(--el-color-primary)}.el-time-spinner__arrow.arrow-up{top:10px}.el-time-spinner__arrow.arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__list{list-style:none;margin:0}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";display:block;height:80px;width:100%}.el-time-spinner__item{color:var(--el-text-color-regular);font-size:12px;height:32px;line-height:32px}.el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:pointer}.el-time-spinner__item.is-active:not(.is-disabled){color:var(--el-text-color-primary);font-weight:700}.el-time-spinner__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transform-origin:center top;transition:var(--el-transition-md-fade)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transform-origin:center bottom;transition:var(--el-transition-md-fade)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transform-origin:top left;transition:var(--el-transition-md-fade)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-picker__popper{--el-datepicker-border-color:var(--el-disabled-border-color)}.el-picker__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-picker__popper.el-popper,.el-picker__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-datepicker-border-color)}.el-picker__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-date-editor{--el-date-editor-width:220px;--el-date-editor-monthrange-width:300px;--el-date-editor-daterange-width:350px;--el-date-editor-datetimerange-width:400px;--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;position:relative;text-align:left;vertical-align:middle}.el-date-editor.el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset}.el-date-editor.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-date-editor.el-input,.el-date-editor.el-input__wrapper{height:var(--el-input-height,var(--el-component-size));width:var(--el-date-editor-width)}.el-date-editor--monthrange{--el-date-editor-width:var(--el-date-editor-monthrange-width)}.el-date-editor--daterange,.el-date-editor--timerange{--el-date-editor-width:var(--el-date-editor-daterange-width)}.el-date-editor--datetimerange{--el-date-editor-width:var(--el-date-editor-datetimerange-width)}.el-date-editor--dates .el-input__wrapper{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .clear-icon,.el-date-editor .close-icon{cursor:pointer}.el-date-editor .clear-icon:hover{color:var(--el-text-color-secondary)}.el-date-editor .el-range__icon{color:var(--el-text-color-placeholder);float:left;font-size:14px;height:inherit}.el-date-editor .el-range__icon svg{vertical-align:middle}.el-date-editor .el-range-input{-webkit-appearance:none;appearance:none;background-color:transparent;border:none;color:var(--el-text-color-regular);display:inline-block;font-size:var(--el-font-size-base);height:30px;line-height:30px;margin:0;outline:0;padding:0;text-align:center;width:39%}.el-date-editor .el-range-input::placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-separator{align-items:center;color:var(--el-text-color-primary);display:inline-flex;flex:1;font-size:14px;height:100%;justify-content:center;margin:0;padding:0 5px;word-break:keep-all}.el-date-editor .el-range__close-icon{color:var(--el-text-color-placeholder);cursor:pointer;font-size:14px;height:inherit;width:unset}.el-date-editor .el-range__close-icon:hover{color:var(--el-text-color-secondary)}.el-date-editor .el-range__close-icon svg{vertical-align:middle}.el-date-editor .el-range__close-icon--hidden{opacity:0;visibility:hidden}.el-range-editor.el-input__wrapper{align-items:center;display:inline-flex;padding:0 10px}.el-range-editor.is-active,.el-range-editor.is-active:hover{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-range-editor--large{line-height:var(--el-component-size-large)}.el-range-editor--large.el-input__wrapper{height:var(--el-component-size-large)}.el-range-editor--large .el-range-separator{font-size:14px;line-height:40px}.el-range-editor--large .el-range-input{font-size:14px;height:38px;line-height:38px}.el-range-editor--small{line-height:var(--el-component-size-small)}.el-range-editor--small.el-input__wrapper{height:var(--el-component-size-small)}.el-range-editor--small .el-range-separator{font-size:12px;line-height:24px}.el-range-editor--small .el-range-input{font-size:12px;height:22px;line-height:22px}.el-range-editor.is-disabled{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled,.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:var(--el-disabled-border-color)}.el-range-editor.is-disabled input{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled input::placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled .el-range-separator{color:var(--el-disabled-text-color)}.el-picker-panel{background:var(--el-bg-color-overlay);border-radius:var(--el-border-radius-base);color:var(--el-text-color-regular);line-height:30px}.el-picker-panel .el-time-panel{background-color:var(--el-bg-color-overlay);border:1px solid var(--el-datepicker-border-color);box-shadow:var(--el-box-shadow-light);margin:5px 0}.el-picker-panel__body-wrapper:after,.el-picker-panel__body:after{clear:both;content:"";display:table}.el-picker-panel__content{margin:15px;position:relative}.el-picker-panel__footer{background-color:var(--el-bg-color-overlay);border-top:1px solid var(--el-datepicker-inner-border-color);font-size:0;padding:4px 12px;position:relative;text-align:right}.el-picker-panel__shortcut{background-color:transparent;border:0;color:var(--el-datepicker-text-color);cursor:pointer;display:block;font-size:14px;line-height:28px;outline:0;padding-left:12px;text-align:left;width:100%}.el-picker-panel__shortcut:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:var(--el-datepicker-active-color)}.el-picker-panel__btn{background-color:transparent;border:1px solid var(--el-fill-color-darker);border-radius:2px;color:var(--el-text-color-primary);cursor:pointer;font-size:12px;line-height:24px;outline:0;padding:0 20px}.el-picker-panel__btn[disabled]{color:var(--el-text-color-disabled);cursor:not-allowed}.el-picker-panel__icon-btn{background:0 0;border:0;color:var(--el-datepicker-icon-color);cursor:pointer;font-size:12px;margin-top:8px;outline:0}.el-picker-panel__icon-btn:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn:focus-visible{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn.is-disabled{color:var(--el-text-color-disabled)}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__icon-btn .el-icon{cursor:pointer;font-size:inherit}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{background-color:var(--el-bg-color-overlay);border-right:1px solid var(--el-datepicker-inner-border-color);bottom:0;box-sizing:border-box;overflow:auto;padding-top:6px;position:absolute;top:0;width:110px}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-date-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{display:table-cell;padding:0 5px;position:relative}.el-date-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;display:table;font-size:12px;padding:8px 5px 5px;position:relative;width:100%}.el-date-picker__header{margin:12px;text-align:center}.el-date-picker__header--bordered{border-bottom:1px solid var(--el-border-color-lighter);margin-bottom:0;padding-bottom:12px}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{color:var(--el-text-color-regular);cursor:pointer;font-size:16px;font-weight:500;line-height:22px;padding:0 5px;text-align:center}.el-date-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:0}.el-date-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{cursor:pointer;float:left;line-height:30px;margin-left:10px}.el-date-picker .el-time-panel{position:absolute}.el-date-range-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{height:28px;position:relative;text-align:center}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__content{box-sizing:border-box;float:left;margin:0;padding:16px;width:50%}.el-date-range-picker__content.is-left{border-right:1px solid var(--el-datepicker-inner-border-color)}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;display:table;font-size:12px;padding:8px 5px 5px;position:relative;width:100%}.el-date-range-picker__time-header>.el-icon-arrow-right{color:var(--el-datepicker-icon-color);display:table-cell;font-size:20px;vertical-align:middle}.el-date-range-picker__time-picker-wrap{display:table-cell;padding:0 5px;position:relative}.el-date-range-picker__time-picker-wrap .el-picker-panel{background:#fff;position:absolute;right:0;top:13px;z-index:1}.el-date-range-picker__time-picker-wrap .el-time-panel{position:absolute}.el-time-range-picker{overflow:visible;width:354px}.el-time-range-picker__content{padding:10px;position:relative;text-align:center;z-index:1}.el-time-range-picker__cell{box-sizing:border-box;display:inline-block;margin:0;padding:4px 7px 7px;width:50%}.el-time-range-picker__header{font-size:14px;margin-bottom:5px;text-align:center}.el-time-range-picker__body{border:1px solid var(--el-datepicker-border-color);border-radius:2px}.el-time-panel{border-radius:2px;box-sizing:content-box;left:0;position:relative;-webkit-user-select:none;user-select:none;width:180px;z-index:var(--el-index-top)}.el-time-panel__content{font-size:0;overflow:hidden;position:relative}.el-time-panel__content:after,.el-time-panel__content:before{box-sizing:border-box;content:"";height:32px;left:0;margin-top:-16px;padding-top:6px;position:absolute;right:0;text-align:left;top:50%;z-index:-1}.el-time-panel__content:after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content:before{border-bottom:1px solid var(--el-border-color-light);border-top:1px solid var(--el-border-color-light);margin-left:12%;margin-right:12%;padding-left:50%}.el-time-panel__content.has-seconds:after{left:66.6666666667%}.el-time-panel__content.has-seconds:before{padding-left:33.3333333333%}.el-time-panel__footer{border-top:1px solid var(--el-timepicker-inner-border-color,var(--el-border-color-light));box-sizing:border-box;height:36px;line-height:25px;padding:4px;text-align:right}.el-time-panel__btn{background-color:transparent;border:none;color:var(--el-text-color-primary);cursor:pointer;font-size:12px;line-height:28px;margin:0 5px;outline:0;padding:0 5px}.el-time-panel__btn.confirm{color:var(--el-timepicker-active-color,var(--el-color-primary));font-weight:800}'; + +const elButton = '.el-button{--el-button-font-weight:var(--el-font-weight-primary);--el-button-border-color:var(--el-border-color);--el-button-bg-color:var(--el-fill-color-blank);--el-button-text-color:var(--el-text-color-regular);--el-button-disabled-text-color:var(--el-disabled-text-color);--el-button-disabled-bg-color:var(--el-fill-color-blank);--el-button-disabled-border-color:var(--el-border-color-light);--el-button-divide-border-color:hsla(0,0%,100%,.5);--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-7);--el-button-active-text-color:var(--el-button-hover-text-color);--el-button-active-border-color:var(--el-color-primary);--el-button-active-bg-color:var(--el-button-hover-bg-color);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-hover-link-text-color:var(--el-color-info);--el-button-active-color:var(--el-text-color-primary);align-items:center;-webkit-appearance:none;background-color:var(--el-button-bg-color);border:var(--el-border);border-color:var(--el-button-border-color);border-radius:var(--el-border-radius-base);box-sizing:border-box;color:var(--el-button-text-color);cursor:pointer;display:inline-flex;font-size:var(--el-font-size-base);font-weight:var(--el-button-font-weight);height:32px;justify-content:center;line-height:1;outline:0;padding:8px 15px;text-align:center;transition:.1s;-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.el-button:focus,.el-button:hover{background-color:var(--el-button-hover-bg-color);border-color:var(--el-button-hover-border-color);color:var(--el-button-hover-text-color);outline:0}.el-button:active{background-color:var(--el-button-active-bg-color);border-color:var(--el-button-active-border-color);color:var(--el-button-active-text-color);outline:0}.el-button:focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px}.el-button>span{align-items:center;display:inline-flex}.el-button+.el-button{margin-left:12px}.el-button.is-round{padding:8px 15px}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon]+span{margin-left:6px}.el-button [class*=el-icon] svg{vertical-align:bottom}.el-button.is-plain{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary)}.el-button.is-active{background-color:var(--el-button-active-bg-color);border-color:var(--el-button-active-border-color);color:var(--el-button-active-text-color);outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{background-color:var(--el-button-disabled-bg-color);background-image:none;border-color:var(--el-button-disabled-border-color);color:var(--el-button-disabled-text-color);cursor:not-allowed}.el-button.is-loading{pointer-events:none;position:relative}.el-button.is-loading:before{background-color:var(--el-mask-color-extra-light);border-radius:inherit;bottom:-1px;content:"";left:-1px;pointer-events:none;position:absolute;right:-1px;top:-1px;z-index:1}.el-button.is-round{border-radius:var(--el-border-radius-round)}.el-button.is-circle{border-radius:50%;padding:8px;width:32px}.el-button.is-text{background-color:transparent;border:0 solid transparent;color:var(--el-button-text-color)}.el-button.is-text.is-disabled{background-color:transparent!important;color:var(--el-button-disabled-text-color)}.el-button.is-text:not(.is-disabled):focus,.el-button.is-text:not(.is-disabled):hover{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled):focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px}.el-button.is-text:not(.is-disabled):active{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled).is-has-bg:focus,.el-button.is-text:not(.is-disabled).is-has-bg:hover{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg:active{background-color:var(--el-fill-color-dark)}.el-button__text--expand{letter-spacing:.3em;margin-right:-.3em}.el-button.is-link{background:0 0;border-color:transparent;color:var(--el-button-text-color);height:auto;padding:2px}.el-button.is-link:focus,.el-button.is-link:hover{color:var(--el-button-hover-link-text-color)}.el-button.is-link.is-disabled{background-color:transparent!important;border-color:transparent!important;color:var(--el-button-disabled-text-color)}.el-button.is-link:not(.is-disabled):active,.el-button.is-link:not(.is-disabled):focus,.el-button.is-link:not(.is-disabled):hover{background-color:transparent;border-color:transparent}.el-button.is-link:not(.is-disabled):active{color:var(--el-button-active-color)}.el-button--text{background:0 0;border-color:transparent;color:var(--el-color-primary);padding-left:0;padding-right:0}.el-button--text.is-disabled{background-color:transparent!important;border-color:transparent!important;color:var(--el-button-disabled-text-color)}.el-button--text:not(.is-disabled):focus,.el-button--text:not(.is-disabled):hover{background-color:transparent;border-color:transparent;color:var(--el-color-primary-light-3)}.el-button--text:not(.is-disabled):active{background-color:transparent;border-color:transparent;color:var(--el-color-primary-dark-2)}.el-button__link--expand{letter-spacing:.3em;margin-right:-.3em}.el-button--primary{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-primary);--el-button-border-color:var(--el-color-primary);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-active-color:var(--el-color-primary-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-primary-light-5);--el-button-hover-bg-color:var(--el-color-primary-light-3);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-bg-color:var(--el-color-primary-dark-2);--el-button-active-border-color:var(--el-color-primary-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-primary-light-5);--el-button-disabled-border-color:var(--el-color-primary-light-5)}.el-button--primary.is-link,.el-button--primary.is-plain,.el-button--primary.is-text{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-primary);--el-button-hover-border-color:var(--el-color-primary);--el-button-active-text-color:var(--el-color-white)}.el-button--primary.is-link.is-disabled,.el-button--primary.is-link.is-disabled:active,.el-button--primary.is-link.is-disabled:focus,.el-button--primary.is-link.is-disabled:hover,.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover,.el-button--primary.is-text.is-disabled,.el-button--primary.is-text.is-disabled:active,.el-button--primary.is-text.is-disabled:focus,.el-button--primary.is-text.is-disabled:hover{background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8);color:var(--el-color-primary-light-5)}.el-button--success{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-success);--el-button-border-color:var(--el-color-success);--el-button-outline-color:var(--el-color-success-light-5);--el-button-active-color:var(--el-color-success-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-success-light-5);--el-button-hover-bg-color:var(--el-color-success-light-3);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-bg-color:var(--el-color-success-dark-2);--el-button-active-border-color:var(--el-color-success-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-success-light-5);--el-button-disabled-border-color:var(--el-color-success-light-5)}.el-button--success.is-link,.el-button--success.is-plain,.el-button--success.is-text{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-success);--el-button-hover-border-color:var(--el-color-success);--el-button-active-text-color:var(--el-color-white)}.el-button--success.is-link.is-disabled,.el-button--success.is-link.is-disabled:active,.el-button--success.is-link.is-disabled:focus,.el-button--success.is-link.is-disabled:hover,.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover,.el-button--success.is-text.is-disabled,.el-button--success.is-text.is-disabled:active,.el-button--success.is-text.is-disabled:focus,.el-button--success.is-text.is-disabled:hover{background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8);color:var(--el-color-success-light-5)}.el-button--warning{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-warning);--el-button-border-color:var(--el-color-warning);--el-button-outline-color:var(--el-color-warning-light-5);--el-button-active-color:var(--el-color-warning-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-warning-light-5);--el-button-hover-bg-color:var(--el-color-warning-light-3);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-bg-color:var(--el-color-warning-dark-2);--el-button-active-border-color:var(--el-color-warning-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-warning-light-5);--el-button-disabled-border-color:var(--el-color-warning-light-5)}.el-button--warning.is-link,.el-button--warning.is-plain,.el-button--warning.is-text{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-warning);--el-button-hover-border-color:var(--el-color-warning);--el-button-active-text-color:var(--el-color-white)}.el-button--warning.is-link.is-disabled,.el-button--warning.is-link.is-disabled:active,.el-button--warning.is-link.is-disabled:focus,.el-button--warning.is-link.is-disabled:hover,.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover,.el-button--warning.is-text.is-disabled,.el-button--warning.is-text.is-disabled:active,.el-button--warning.is-text.is-disabled:focus,.el-button--warning.is-text.is-disabled:hover{background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8);color:var(--el-color-warning-light-5)}.el-button--danger{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-danger);--el-button-border-color:var(--el-color-danger);--el-button-outline-color:var(--el-color-danger-light-5);--el-button-active-color:var(--el-color-danger-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-danger-light-5);--el-button-hover-bg-color:var(--el-color-danger-light-3);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-bg-color:var(--el-color-danger-dark-2);--el-button-active-border-color:var(--el-color-danger-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-danger-light-5);--el-button-disabled-border-color:var(--el-color-danger-light-5)}.el-button--danger.is-link,.el-button--danger.is-plain,.el-button--danger.is-text{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-danger);--el-button-hover-border-color:var(--el-color-danger);--el-button-active-text-color:var(--el-color-white)}.el-button--danger.is-link.is-disabled,.el-button--danger.is-link.is-disabled:active,.el-button--danger.is-link.is-disabled:focus,.el-button--danger.is-link.is-disabled:hover,.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover,.el-button--danger.is-text.is-disabled,.el-button--danger.is-text.is-disabled:active,.el-button--danger.is-text.is-disabled:focus,.el-button--danger.is-text.is-disabled:hover{background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8);color:var(--el-color-danger-light-5)}.el-button--info{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-info);--el-button-border-color:var(--el-color-info);--el-button-outline-color:var(--el-color-info-light-5);--el-button-active-color:var(--el-color-info-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-info-light-5);--el-button-hover-bg-color:var(--el-color-info-light-3);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-bg-color:var(--el-color-info-dark-2);--el-button-active-border-color:var(--el-color-info-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-info-light-5);--el-button-disabled-border-color:var(--el-color-info-light-5)}.el-button--info.is-link,.el-button--info.is-plain,.el-button--info.is-text{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-info);--el-button-hover-border-color:var(--el-color-info);--el-button-active-text-color:var(--el-color-white)}.el-button--info.is-link.is-disabled,.el-button--info.is-link.is-disabled:active,.el-button--info.is-link.is-disabled:focus,.el-button--info.is-link.is-disabled:hover,.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover,.el-button--info.is-text.is-disabled,.el-button--info.is-text.is-disabled:active,.el-button--info.is-text.is-disabled:focus,.el-button--info.is-text.is-disabled:hover{background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8);color:var(--el-color-info-light-5)}.el-button--large{--el-button-size:40px;border-radius:var(--el-border-radius-base);font-size:var(--el-font-size-base);height:var(--el-button-size);padding:12px 19px}.el-button--large [class*=el-icon]+span{margin-left:8px}.el-button--large.is-round{padding:12px 19px}.el-button--large.is-circle{padding:12px;width:var(--el-button-size)}.el-button--small{--el-button-size:24px;border-radius:calc(var(--el-border-radius-base) - 1px);font-size:12px;height:var(--el-button-size);padding:5px 11px}.el-button--small [class*=el-icon]+span{margin-left:4px}.el-button--small.is-round{padding:5px 11px}.el-button--small.is-circle{padding:5px;width:var(--el-button-size)}'; + +const elConfigProvider = ""; + +const index_vue_vue_type_style_index_0_scoped_7cd5a437_lang = ".contentcontent[data-v-7cd5a437]{background:#fff;border-radius:16px;display:flex;flex-direction:column;margin:30px auto 90px;min-height:calc(100vh - 120px);position:relative;width:1200px}.contentcontent .header[data-v-7cd5a437]{border-bottom:1px solid #ebebeb;color:#000;font-size:20px;font-weight:650;height:88px;padding-left:30px}.contentcontent .box .titletitle[data-v-7cd5a437]{color:#666;font-size:14px;margin-bottom:10px}.contentcontent .box .box-left[data-v-7cd5a437]{border-right:16px solid #f6f6f6}.contentcontent .box .box-left .area-box[data-v-7cd5a437]{border-bottom:1px solid #ebebeb;padding:30px 50px 30px 30px}.contentcontent .box .box-left .area-box .item[data-v-7cd5a437]:not(:last-of-type){margin-bottom:30px}.contentcontent .box .box-left .area-box .info-box[data-v-7cd5a437]{background-color:hsla(0,0%,100%,0);border:1px solid #d7d7d7;border-radius:5px;display:flex;flex-direction:column;height:158px;justify-content:center;width:452px}.contentcontent .box .box-left .area-box .info-box .info-item[data-v-7cd5a437]{height:50px}.contentcontent .box .box-left .area-box .info-box .info-item[data-v-7cd5a437]:not(:last-of-type){border-bottom:1px solid #d7d7d7}.contentcontent .box .box-left .area-box .info-box .info-item .info-name[data-v-7cd5a437]{color:#666;font-size:14px;padding:0 14px}.contentcontent .box .box-left .area-box .info-box .info-item .input[data-v-7cd5a437]{border:none;box-shadow:none;height:100%;outline:none}.contentcontent .box .box-left .area-box .info-box .info-item .input[data-v-7cd5a437] .el-input__wrapper{box-shadow:none}.contentcontent .box .box-left .area-box .info-box .info-item[data-v-7cd5a437] .el-autocomplete{width:100%}.contentcontent .box .box-left .area-box .info-box .info-item[data-v-7cd5a437] .el-autocomplete .el-input__wrapper{box-shadow:none}.contentcontent .box .box-left .area-box .item-input-box[data-v-7cd5a437]{border:1px solid #d7d7d7;border-radius:5px;cursor:pointer;height:46px;width:452px}.contentcontent .box .box-left .area-box .item-input-box[data-v-7cd5a437] .el-input{height:100%}.contentcontent .box .box-left .area-box .item-input-box[data-v-7cd5a437] .el-input .el-input__wrapper{box-shadow:none;height:100%}.contentcontent .box .box-left .area-box .time-box .calendar-icon[data-v-7cd5a437]{height:16px;margin:0 12px;width:15px}.contentcontent .box .box-left .area-box .time-box[data-v-7cd5a437] .el-input .el-input__prefix{display:none}.contentcontent .box .box-left .visible-box[data-v-7cd5a437]{color:#555;cursor:pointer;font-size:14px;margin:30px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.contentcontent .box .box-left .visible-box .visible-icon[data-v-7cd5a437]{height:18px;margin-right:5px;width:18px}.contentcontent .box .box-right .area-box[data-v-7cd5a437]{padding:30px 30px 30px 50px}.contentcontent .box .box-right .area-box .course-box[data-v-7cd5a437]{background-color:hsla(0,0%,100%,0);border:1px solid #d7d7d7;border-radius:5px;min-height:480px;width:572px}.contentcontent .box .box-right .area-box .course-box[data-v-7cd5a437] .el-textarea__inner{box-shadow:none;min-height:480px!important;padding:13px}.contentcontent .hint-box[data-v-7cd5a437]{background-color:#f6f6f6;color:#555;font-size:13px;height:58px}.asterisk[data-v-7cd5a437]{color:#fa9183;margin-left:5px}.floor-box[data-v-7cd5a437]{background-color:#fff;bottom:0;box-shadow:0 -1px 2px rgba(0,0,0,.192);height:90px;min-width:1200px;position:fixed;width:100vw}.floor-box .box[data-v-7cd5a437]{height:100%;justify-content:space-between;margin:0 auto;padding:0 30px;width:1200px}.floor-box .box .anonymous-box[data-v-7cd5a437]{color:#333;cursor:pointer;font-size:14px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.floor-box .box .anonymous-box .text[data-v-7cd5a437]{color:#aaa;font-size:13px}.floor-box .box .anonymous-box .anonymous-icon[data-v-7cd5a437]{height:18px;width:18px}.floor-box .box .issue-btn[data-v-7cd5a437]{background-color:#fddf6d;border-radius:190px;color:#000;cursor:pointer;font-size:16px;height:46px;width:200px}@media (max-width:1300px){.save-box.save-left[data-v-7cd5a437]{left:0!important}.save-box.save-right[data-v-7cd5a437]{right:0!important}}.save-box[data-v-7cd5a437]{color:#666;cursor:pointer;font-size:14px;position:absolute;top:0}.save-box.save-left[data-v-7cd5a437]{left:calc(650px - 50vw)}.save-box.save-right[data-v-7cd5a437]{right:calc(650px - 50vw)}.save-box.save-right .save-icon[data-v-7cd5a437]{height:16px;margin-left:10px;width:16px}.save-box .save-icon[data-v-7cd5a437]{height:22px;margin-right:10px;transform:rotate(180deg);width:22px}"; + +const indexStyles_f5784fbd = [elAutocomplete, elInput, elScrollbar, elDatePicker, elButton, elConfigProvider, index_vue_vue_type_style_index_0_scoped_7cd5a437_lang, index_vue_vue_type_style_index_0_scoped_7cd5a437_lang]; + +export { indexStyles_f5784fbd as default }; +//# sourceMappingURL=index-styles.f5784fbd.mjs.map diff --git a/.output/server/chunks/app/_nuxt/index-styles.f5784fbd.mjs.map b/.output/server/chunks/app/_nuxt/index-styles.f5784fbd.mjs.map new file mode 100644 index 0000000..11a3d2a --- /dev/null +++ b/.output/server/chunks/app/_nuxt/index-styles.f5784fbd.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"index-styles.f5784fbd.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/index-styles-1.mjs-435ecdca.js","../../../../../.nuxt/dist/server/_nuxt/index-styles-2.mjs-3f7c657a.js","../../../../../.nuxt/dist/server/_nuxt/index-styles-3.mjs-adcb8369.js","../../../../../.nuxt/dist/server/_nuxt/index-styles-4.mjs-9968d331.js","../../../../../.nuxt/dist/server/_nuxt/index-styles-5.mjs-84b05e65.js","../../../../../.nuxt/dist/server/_nuxt/index-styles-6.mjs-ecc1203b.js","../../../../../.nuxt/dist/server/_nuxt/index-styles-7.mjs-75db866a.js","../../../../../.nuxt/dist/server/_nuxt/index-styles.f5784fbd.mjs"],"sourcesContent":null,"names":["style_0","style_1","style_2","style_3","style_4","style_5","style_6","style_7"],"mappings":"AAAA,MAAM,cAAiB,GAAA,8jEAAA;;ACAvB,MAAM,OAAU,GAAA,4iYAAA;;ACAhB,MAAM,WAAc,GAAA,kzCAAA;;ACApB,MAAM,YAAe,GAAA,k7uBAAA;;ACArB,MAAM,QAAW,GAAA,+zeAAA;;ACAjB,MAAM,gBAAmB,GAAA,EAAA;;ACAzB,MAAM,qDAAwD,GAAA,m+IAAA;;ACQ9D,6BAAe,CAACA,cAAO,EAAEC,OAAO,EAAEC,WAAO,EAAEC,YAAO,EAAEC,QAAO,EAAEC,gBAAO,EAAEC,qDAAO,EAAEC,qDAAO;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/island-renderer-1d37df94.mjs b/.output/server/chunks/app/_nuxt/island-renderer-1d37df94.mjs new file mode 100644 index 0000000..e53160b --- /dev/null +++ b/.output/server/chunks/app/_nuxt/island-renderer-1d37df94.mjs @@ -0,0 +1,43 @@ +import { defineComponent, onErrorCaptured, createVNode } from 'vue'; +import { c as createError } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'vue/server-renderer'; + +const components_islands = {}; +const islandComponents = /* @__PURE__ */ Object.freeze({ + __proto__: null, + default: components_islands +}); +const islandRenderer = defineComponent({ + props: { + context: { + type: Object, + required: true + } + }, + setup(props) { + const component = islandComponents[props.context.name]; + if (!component) { + throw createError({ + statusCode: 404, + statusMessage: `Island component not found: ${props.context.name}` + }); + } + onErrorCaptured((e) => { + console.log(e); + }); + return () => createVNode(component || "span", { ...props.context.props, "nuxt-ssr-component-uid": "" }); + } +}); + +export { islandRenderer as default }; +//# sourceMappingURL=island-renderer-1d37df94.mjs.map diff --git a/.output/server/chunks/app/_nuxt/island-renderer-1d37df94.mjs.map b/.output/server/chunks/app/_nuxt/island-renderer-1d37df94.mjs.map new file mode 100644 index 0000000..bf72b38 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/island-renderer-1d37df94.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"island-renderer-1d37df94.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/island-renderer-1d37df94.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;AAkBA,MAAM,qBAAqB,EAAC,CAAA;AAC5B,MAAM,gBAAA,0BAA0C,MAAO,CAAA;AAAA,EACrD,SAAW,EAAA,IAAA;AAAA,EACX,OAAS,EAAA,kBAAA;AACX,CAAC,CAAA,CAAA;AACD,MAAM,iBAAiB,eAAgB,CAAA;AAAA,EACrC,KAAO,EAAA;AAAA,IACL,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,MAAA;AAAA,MACN,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,GACF;AAAA,EACA,MAAM,KAAO,EAAA;AACX,IAAA,MAAM,SAAY,GAAA,gBAAA,CAAiB,KAAM,CAAA,OAAA,CAAQ,IAAI,CAAA,CAAA;AACrD,IAAA,IAAI,CAAC,SAAW,EAAA;AACd,MAAA,MAAM,WAAY,CAAA;AAAA,QAChB,UAAY,EAAA,GAAA;AAAA,QACZ,aAAe,EAAA,CAAA,4BAAA,EAA+B,KAAM,CAAA,OAAA,CAAQ,IAAI,CAAA,CAAA;AAAA,OACjE,CAAA,CAAA;AAAA,KACH;AACA,IAAA,eAAA,CAAgB,CAAC,CAAM,KAAA;AACrB,MAAA,OAAA,CAAQ,IAAI,CAAC,CAAA,CAAA;AAAA,KACd,CAAA,CAAA;AACD,IAAO,OAAA,MAAM,WAAY,CAAA,SAAA,IAAa,MAAQ,EAAA,EAAE,GAAG,KAAA,CAAM,OAAQ,CAAA,KAAA,EAAO,wBAA0B,EAAA,EAAA,EAAI,CAAA,CAAA;AAAA,GACxG;AACF,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/client.manifest.mjs b/.output/server/chunks/app/client.manifest.mjs new file mode 100644 index 0000000..90c78fe --- /dev/null +++ b/.output/server/chunks/app/client.manifest.mjs @@ -0,0 +1,611 @@ +const client_manifest = { + "__plugin-vue_export-helper.5ffd2309.js": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "_plugin-vue_export-helper.5ffd2309.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ] + }, + "_cross-icon.45090166.js": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "cross-icon.a9c3a5f3.css" + ], + "file": "cross-icon.45090166.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js", + "__plugin-vue_export-helper.5ffd2309.js" + ] + }, + "cross-icon.a9c3a5f3.css": { + "file": "cross-icon.a9c3a5f3.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "_el-popper.fcf550db.js": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "el-popper.7909cce2.css" + ], + "file": "el-popper.fcf550db.js", + "imports": [ + "_cross-icon.45090166.js", + "node_modules/nuxt/dist/app/entry.js" + ] + }, + "el-popper.7909cce2.css": { + "file": "el-popper.7909cce2.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "_eye-icon.d6b90277.js": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "assets": [ + "dot-yellow.4b5e135b.svg", + "dot-gray.86cdd7b5.svg", + "empty-icon.24a01ae2.svg", + "delete-icon.a2ab9c64.svg", + "arrow-gray.271dd0d3.svg", + "tick-green.2df56f28.svg", + "logo-icon.b6345ffb.png", + "add-icon.11ba1b26.svg", + "eye-icon.efcf8c6f.svg" + ], + "css": [ + "eye-icon.4c304c4b.css" + ], + "file": "eye-icon.d6b90277.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js", + "__plugin-vue_export-helper.5ffd2309.js", + "_cross-icon.45090166.js" + ] + }, + "eye-icon.4c304c4b.css": { + "file": "eye-icon.4c304c4b.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "dot-yellow.4b5e135b.svg": { + "file": "dot-yellow.4b5e135b.svg", + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml" + }, + "dot-gray.86cdd7b5.svg": { + "file": "dot-gray.86cdd7b5.svg", + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml" + }, + "empty-icon.24a01ae2.svg": { + "file": "empty-icon.24a01ae2.svg", + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml" + }, + "delete-icon.a2ab9c64.svg": { + "file": "delete-icon.a2ab9c64.svg", + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml" + }, + "arrow-gray.271dd0d3.svg": { + "file": "arrow-gray.271dd0d3.svg", + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml" + }, + "tick-green.2df56f28.svg": { + "file": "tick-green.2df56f28.svg", + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml" + }, + "logo-icon.b6345ffb.png": { + "file": "logo-icon.b6345ffb.png", + "resourceType": "image", + "prefetch": true, + "mimeType": "image/png" + }, + "add-icon.11ba1b26.svg": { + "file": "add-icon.11ba1b26.svg", + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml" + }, + "eye-icon.efcf8c6f.svg": { + "file": "eye-icon.efcf8c6f.svg", + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml" + }, + "_masonry.c851f679.js": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "masonry.c851f679.js", + "imports": [ + "_cross-icon.45090166.js" + ], + "isDynamicEntry": true + }, + "assets/img/QR-code-icon.svg": { + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml", + "file": "QR-code-icon.a546cc6a.svg", + "src": "assets/img/QR-code-icon.svg" + }, + "assets/img/add-icon.svg": { + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml", + "file": "add-icon.11ba1b26.svg", + "src": "assets/img/add-icon.svg" + }, + "assets/img/arrow-black.svg": { + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml", + "file": "arrow-black.9629aa90.svg", + "src": "assets/img/arrow-black.svg" + }, + "assets/img/arrow-gray.svg": { + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml", + "file": "arrow-gray.271dd0d3.svg", + "src": "assets/img/arrow-gray.svg" + }, + "assets/img/calendar-icon.svg": { + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml", + "file": "calendar-icon.dc8f3cea.svg", + "src": "assets/img/calendar-icon.svg" + }, + "assets/img/collect-icon-colours.svg": { + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml", + "file": "collect-icon-colours.6d2ade7f.svg", + "src": "assets/img/collect-icon-colours.svg" + }, + "assets/img/comment-icon-gray.svg": { + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml", + "file": "comment-icon-gray.2c8779f9.svg", + "src": "assets/img/comment-icon-gray.svg" + }, + "assets/img/comment-icon.svg": { + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml", + "file": "comment-icon.f7b16ad3.svg", + "src": "assets/img/comment-icon.svg" + }, + "assets/img/delete-icon.svg": { + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml", + "file": "delete-icon.a2ab9c64.svg", + "src": "assets/img/delete-icon.svg" + }, + "assets/img/dot-gray.svg": { + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml", + "file": "dot-gray.86cdd7b5.svg", + "src": "assets/img/dot-gray.svg" + }, + "assets/img/dot-yellow.svg": { + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml", + "file": "dot-yellow.4b5e135b.svg", + "src": "assets/img/dot-yellow.svg" + }, + "assets/img/empty-icon.svg": { + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml", + "file": "empty-icon.24a01ae2.svg", + "src": "assets/img/empty-icon.svg" + }, + "assets/img/eye-icon.svg": { + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml", + "file": "eye-icon.efcf8c6f.svg", + "src": "assets/img/eye-icon.svg" + }, + "assets/img/frame-no.svg": { + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml", + "file": "frame-no.28983b22.svg", + "src": "assets/img/frame-no.svg" + }, + "assets/img/frame-pitch.svg": { + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml", + "file": "frame-pitch.02620f32.svg", + "src": "assets/img/frame-pitch.svg" + }, + "assets/img/item-bj.svg": { + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml", + "file": "item-bj.0d22947a.svg", + "src": "assets/img/item-bj.svg" + }, + "assets/img/like-no.svg": { + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml", + "file": "like-no.23054eaf.svg", + "src": "assets/img/like-no.svg" + }, + "assets/img/logo-icon.png": { + "resourceType": "image", + "prefetch": true, + "mimeType": "image/png", + "file": "logo-icon.b6345ffb.png", + "src": "assets/img/logo-icon.png" + }, + "assets/img/menu-icon-gray.svg": { + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml", + "file": "menu-icon-gray.d61f02b1.svg", + "src": "assets/img/menu-icon-gray.svg" + }, + "assets/img/tick-green.svg": { + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml", + "file": "tick-green.2df56f28.svg", + "src": "assets/img/tick-green.svg" + }, + "assets/img/time-icon.svg": { + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml", + "file": "time-icon.fef65a83.svg", + "src": "assets/img/time-icon.svg" + }, + "assets/img/time-white-icon.svg": { + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml", + "file": "time-white-icon.805d0e12.svg", + "src": "assets/img/time-white-icon.svg" + }, + "cross-icon.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "cross-icon.a9c3a5f3.css", + "src": "cross-icon.css" + }, + "el-popper.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "el-popper.7909cce2.css", + "src": "el-popper.css" + }, + "eye-icon.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "eye-icon.4c304c4b.css", + "src": "eye-icon.css" + }, + "node_modules/@nuxt/ui-templates/dist/templates/error-404.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "error-404.7fc72018.css", + "src": "node_modules/@nuxt/ui-templates/dist/templates/error-404.css" + }, + "node_modules/@nuxt/ui-templates/dist/templates/error-404.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [], + "file": "error-404.447d008d.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js", + "__plugin-vue_export-helper.5ffd2309.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt/ui-templates/dist/templates/error-404.vue" + }, + "error-404.7fc72018.css": { + "file": "error-404.7fc72018.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt/ui-templates/dist/templates/error-500.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "error-500.c5df6088.css", + "src": "node_modules/@nuxt/ui-templates/dist/templates/error-500.css" + }, + "node_modules/@nuxt/ui-templates/dist/templates/error-500.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [], + "file": "error-500.694510b4.js", + "imports": [ + "__plugin-vue_export-helper.5ffd2309.js", + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt/ui-templates/dist/templates/error-500.vue" + }, + "error-500.c5df6088.css": { + "file": "error-500.c5df6088.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/nuxt/dist/app/entry.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "entry.8609db93.css", + "src": "node_modules/nuxt/dist/app/entry.css" + }, + "node_modules/nuxt/dist/app/entry.js": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "entry.8609db93.css" + ], + "dynamicImports": [ + "node_modules/@nuxt/ui-templates/dist/templates/error-404.vue", + "node_modules/@nuxt/ui-templates/dist/templates/error-500.vue" + ], + "file": "entry.115d913a.js", + "isEntry": true, + "src": "node_modules/nuxt/dist/app/entry.js", + "_globalCSS": true + }, + "entry.8609db93.css": { + "file": "entry.8609db93.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "pages/details/[id].css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "_id_.dcb3d85d.css", + "src": "pages/details/[id].css" + }, + "pages/details/[id].vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "assets": [ + "item-bj.0d22947a.svg", + "menu-icon-gray.d61f02b1.svg", + "comment-icon-gray.2c8779f9.svg", + "collect-icon-colours.6d2ade7f.svg", + "QR-code-icon.a546cc6a.svg" + ], + "css": [], + "file": "_id_.5def5bfc.js", + "imports": [ + "_cross-icon.45090166.js", + "_eye-icon.d6b90277.js", + "_el-popper.fcf550db.js", + "node_modules/nuxt/dist/app/entry.js", + "__plugin-vue_export-helper.5ffd2309.js" + ], + "isDynamicEntry": true, + "src": "pages/details/[id].vue" + }, + "_id_.dcb3d85d.css": { + "file": "_id_.dcb3d85d.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "item-bj.0d22947a.svg": { + "file": "item-bj.0d22947a.svg", + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml" + }, + "menu-icon-gray.d61f02b1.svg": { + "file": "menu-icon-gray.d61f02b1.svg", + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml" + }, + "comment-icon-gray.2c8779f9.svg": { + "file": "comment-icon-gray.2c8779f9.svg", + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml" + }, + "collect-icon-colours.6d2ade7f.svg": { + "file": "collect-icon-colours.6d2ade7f.svg", + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml" + }, + "QR-code-icon.a546cc6a.svg": { + "file": "QR-code-icon.a546cc6a.svg", + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml" + }, + "pages/index.html/index.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "index.bda1eb97.css", + "src": "pages/index.html/index.css" + }, + "pages/index.html/index.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "assets": [ + "time-icon.fef65a83.svg", + "time-white-icon.805d0e12.svg", + "like-no.23054eaf.svg", + "comment-icon.f7b16ad3.svg" + ], + "css": [], + "dynamicImports": [ + "_masonry.c851f679.js" + ], + "file": "index.07256c26.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js", + "_cross-icon.45090166.js", + "_eye-icon.d6b90277.js", + "__plugin-vue_export-helper.5ffd2309.js" + ], + "isDynamicEntry": true, + "src": "pages/index.html/index.vue" + }, + "index.bda1eb97.css": { + "file": "index.bda1eb97.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "time-icon.fef65a83.svg": { + "file": "time-icon.fef65a83.svg", + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml" + }, + "time-white-icon.805d0e12.svg": { + "file": "time-white-icon.805d0e12.svg", + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml" + }, + "like-no.23054eaf.svg": { + "file": "like-no.23054eaf.svg", + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml" + }, + "comment-icon.f7b16ad3.svg": { + "file": "comment-icon.f7b16ad3.svg", + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml" + }, + "pages/index.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "index.c8a98951.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "pages/index.vue" + }, + "pages/publish/index.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "index.0b1f8d4c.css", + "src": "pages/publish/index.css" + }, + "pages/publish/index.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "assets": [ + "arrow-black.9629aa90.svg", + "calendar-icon.dc8f3cea.svg", + "frame-no.28983b22.svg", + "frame-pitch.02620f32.svg" + ], + "css": [], + "file": "index.c68e61d2.js", + "imports": [ + "_cross-icon.45090166.js", + "node_modules/nuxt/dist/app/entry.js", + "_el-popper.fcf550db.js", + "__plugin-vue_export-helper.5ffd2309.js" + ], + "isDynamicEntry": true, + "src": "pages/publish/index.vue" + }, + "index.0b1f8d4c.css": { + "file": "index.0b1f8d4c.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "arrow-black.9629aa90.svg": { + "file": "arrow-black.9629aa90.svg", + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml" + }, + "calendar-icon.dc8f3cea.svg": { + "file": "calendar-icon.dc8f3cea.svg", + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml" + }, + "frame-no.28983b22.svg": { + "file": "frame-no.28983b22.svg", + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml" + }, + "frame-pitch.02620f32.svg": { + "file": "frame-pitch.02620f32.svg", + "resourceType": "image", + "prefetch": true, + "mimeType": "image/svg+xml" + } +}; + +export { client_manifest as default }; +//# sourceMappingURL=client.manifest.mjs.map diff --git a/.output/server/chunks/app/client.manifest.mjs.map b/.output/server/chunks/app/client.manifest.mjs.map new file mode 100644 index 0000000..90a6870 --- /dev/null +++ b/.output/server/chunks/app/client.manifest.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"client.manifest.mjs","sources":["../../../../.nuxt/dist/server/client.manifest.mjs"],"sourcesContent":null,"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/server.mjs b/.output/server/chunks/app/server.mjs new file mode 100644 index 0000000..1ee0c6f --- /dev/null +++ b/.output/server/chunks/app/server.mjs @@ -0,0 +1,1136 @@ +import { version, unref, inject, hasInjectionContext, getCurrentInstance, ref, computed, createApp, effectScope, reactive, useSSRContext, defineAsyncComponent, provide, onErrorCaptured, onServerPrefetch, createVNode, resolveDynamicComponent, toRef, shallowRef, shallowReactive, isReadonly, isRef, isShallow, isReactive, toRaw, watchEffect, resolveComponent, mergeProps, nextTick } from 'vue'; +import { d as useRuntimeConfig$1, $ as $fetch, w as withQuery, l as hasProtocol, p as parseURL, m as isScriptProtocol, j as joinURL, h as createError$1, n as sanitizeStatusCode, o as createHooks } from '../nitro/node-server.mjs'; +import { getActiveHead } from 'unhead'; +import { defineHeadPlugin } from '@unhead/shared'; +import { createMemoryHistory, createRouter, START_LOCATION } from 'vue-router'; +import { ssrRenderSuspense, ssrRenderComponent, ssrRenderVNode } from 'vue/server-renderer'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; + +function createContext$1(opts = {}) { + let currentInstance; + let isSingleton = false; + const checkConflict = (instance) => { + if (currentInstance && currentInstance !== instance) { + throw new Error("Context conflict"); + } + }; + let als; + if (opts.asyncContext) { + const _AsyncLocalStorage = opts.AsyncLocalStorage || globalThis.AsyncLocalStorage; + if (_AsyncLocalStorage) { + als = new _AsyncLocalStorage(); + } else { + console.warn("[unctx] `AsyncLocalStorage` is not provided."); + } + } + const _getCurrentInstance = () => { + if (als && currentInstance === void 0) { + const instance = als.getStore(); + if (instance !== void 0) { + return instance; + } + } + return currentInstance; + }; + return { + use: () => { + const _instance = _getCurrentInstance(); + if (_instance === void 0) { + throw new Error("Context is not available"); + } + return _instance; + }, + tryUse: () => { + return _getCurrentInstance(); + }, + set: (instance, replace) => { + if (!replace) { + checkConflict(instance); + } + currentInstance = instance; + isSingleton = true; + }, + unset: () => { + currentInstance = void 0; + isSingleton = false; + }, + call: (instance, callback) => { + checkConflict(instance); + currentInstance = instance; + try { + return als ? als.run(instance, callback) : callback(); + } finally { + if (!isSingleton) { + currentInstance = void 0; + } + } + }, + async callAsync(instance, callback) { + currentInstance = instance; + const onRestore = () => { + currentInstance = instance; + }; + const onLeave = () => currentInstance === instance ? onRestore : void 0; + asyncHandlers$1.add(onLeave); + try { + const r = als ? als.run(instance, callback) : callback(); + if (!isSingleton) { + currentInstance = void 0; + } + return await r; + } finally { + asyncHandlers$1.delete(onLeave); + } + } + }; +} +function createNamespace$1(defaultOpts = {}) { + const contexts = {}; + return { + get(key, opts = {}) { + if (!contexts[key]) { + contexts[key] = createContext$1({ ...defaultOpts, ...opts }); + } + contexts[key]; + return contexts[key]; + } + }; +} +const _globalThis$1 = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : {}; +const globalKey$2 = "__unctx__"; +const defaultNamespace$1 = _globalThis$1[globalKey$2] || (_globalThis$1[globalKey$2] = createNamespace$1()); +const getContext = (key, opts = {}) => defaultNamespace$1.get(key, opts); +const asyncHandlersKey$1 = "__unctx_async_handlers__"; +const asyncHandlers$1 = _globalThis$1[asyncHandlersKey$1] || (_globalThis$1[asyncHandlersKey$1] = /* @__PURE__ */ new Set()); + +const appConfig = useRuntimeConfig$1().app; +const baseURL = () => appConfig.baseURL; +if (!globalThis.$fetch) { + globalThis.$fetch = $fetch.create({ + baseURL: baseURL() + }); +} +const nuxtAppCtx = /* @__PURE__ */ getContext("nuxt-app", { + asyncContext: false +}); +const NuxtPluginIndicator = "__nuxt_plugin"; +function createNuxtApp(options) { + let hydratingCount = 0; + const nuxtApp = { + _scope: effectScope(), + provide: void 0, + globalName: "nuxt", + versions: { + get nuxt() { + return "3.8.2"; + }, + get vue() { + return nuxtApp.vueApp.version; + } + }, + payload: reactive({ + data: {}, + state: {}, + _errors: {}, + ...{ serverRendered: true } + }), + static: { + data: {} + }, + runWithContext: (fn) => nuxtApp._scope.run(() => callWithNuxt(nuxtApp, fn)), + isHydrating: false, + deferHydration() { + if (!nuxtApp.isHydrating) { + return () => { + }; + } + hydratingCount++; + let called = false; + return () => { + if (called) { + return; + } + called = true; + hydratingCount--; + if (hydratingCount === 0) { + nuxtApp.isHydrating = false; + return nuxtApp.callHook("app:suspense:resolve"); + } + }; + }, + _asyncDataPromises: {}, + _asyncData: {}, + _payloadRevivers: {}, + ...options + }; + nuxtApp.hooks = createHooks(); + nuxtApp.hook = nuxtApp.hooks.hook; + { + const contextCaller = async function(hooks, args) { + for (const hook of hooks) { + await nuxtApp.runWithContext(() => hook(...args)); + } + }; + nuxtApp.hooks.callHook = (name, ...args) => nuxtApp.hooks.callHookWith(contextCaller, name, ...args); + } + nuxtApp.callHook = nuxtApp.hooks.callHook; + nuxtApp.provide = (name, value) => { + const $name = "$" + name; + defineGetter(nuxtApp, $name, value); + defineGetter(nuxtApp.vueApp.config.globalProperties, $name, value); + }; + defineGetter(nuxtApp.vueApp, "$nuxt", nuxtApp); + defineGetter(nuxtApp.vueApp.config.globalProperties, "$nuxt", nuxtApp); + { + if (nuxtApp.ssrContext) { + nuxtApp.ssrContext.nuxt = nuxtApp; + nuxtApp.ssrContext._payloadReducers = {}; + nuxtApp.payload.path = nuxtApp.ssrContext.url; + } + nuxtApp.ssrContext = nuxtApp.ssrContext || {}; + if (nuxtApp.ssrContext.payload) { + Object.assign(nuxtApp.payload, nuxtApp.ssrContext.payload); + } + nuxtApp.ssrContext.payload = nuxtApp.payload; + nuxtApp.ssrContext.config = { + public: options.ssrContext.runtimeConfig.public, + app: options.ssrContext.runtimeConfig.app + }; + } + const runtimeConfig = options.ssrContext.runtimeConfig; + nuxtApp.provide("config", runtimeConfig); + return nuxtApp; +} +async function applyPlugin(nuxtApp, plugin2) { + if (plugin2.hooks) { + nuxtApp.hooks.addHooks(plugin2.hooks); + } + if (typeof plugin2 === "function") { + const { provide: provide2 } = await nuxtApp.runWithContext(() => plugin2(nuxtApp)) || {}; + if (provide2 && typeof provide2 === "object") { + for (const key in provide2) { + nuxtApp.provide(key, provide2[key]); + } + } + } +} +async function applyPlugins(nuxtApp, plugins2) { + var _a, _b; + const parallels = []; + const errors = []; + for (const plugin2 of plugins2) { + if (((_a = nuxtApp.ssrContext) == null ? void 0 : _a.islandContext) && ((_b = plugin2.env) == null ? void 0 : _b.islands) === false) { + continue; + } + const promise = applyPlugin(nuxtApp, plugin2); + if (plugin2.parallel) { + parallels.push(promise.catch((e) => errors.push(e))); + } else { + await promise; + } + } + await Promise.all(parallels); + if (errors.length) { + throw errors[0]; + } +} +/*! @__NO_SIDE_EFFECTS__ */ +// @__NO_SIDE_EFFECTS__ +function defineNuxtPlugin(plugin2) { + if (typeof plugin2 === "function") { + return plugin2; + } + delete plugin2.name; + return Object.assign(plugin2.setup || (() => { + }), plugin2, { [NuxtPluginIndicator]: true }); +} +function callWithNuxt(nuxt, setup, args) { + const fn = () => args ? setup(...args) : setup(); + { + return nuxt.vueApp.runWithContext(() => nuxtAppCtx.callAsync(nuxt, fn)); + } +} +/*! @__NO_SIDE_EFFECTS__ */ +// @__NO_SIDE_EFFECTS__ +function useNuxtApp() { + var _a; + let nuxtAppInstance; + if (hasInjectionContext()) { + nuxtAppInstance = (_a = getCurrentInstance()) == null ? void 0 : _a.appContext.app.$nuxt; + } + nuxtAppInstance = nuxtAppInstance || nuxtAppCtx.tryUse(); + if (!nuxtAppInstance) { + { + throw new Error("[nuxt] instance unavailable"); + } + } + return nuxtAppInstance; +} +/*! @__NO_SIDE_EFFECTS__ */ +// @__NO_SIDE_EFFECTS__ +function useRuntimeConfig() { + return (/* @__PURE__ */ useNuxtApp()).$config; +} +function defineGetter(obj, key, val) { + Object.defineProperty(obj, key, { get: () => val }); +} +version.startsWith("3"); +function resolveUnref(r) { + return typeof r === "function" ? r() : unref(r); +} +function resolveUnrefHeadInput(ref2, lastKey = "") { + if (ref2 instanceof Promise) + return ref2; + const root = resolveUnref(ref2); + if (!ref2 || !root) + return root; + if (Array.isArray(root)) + return root.map((r) => resolveUnrefHeadInput(r, lastKey)); + if (typeof root === "object") { + return Object.fromEntries( + Object.entries(root).map(([k, v]) => { + if (k === "titleTemplate" || k.startsWith("on")) + return [k, unref(v)]; + return [k, resolveUnrefHeadInput(v, k)]; + }) + ); + } + return root; +} +defineHeadPlugin({ + hooks: { + "entries:resolve": function(ctx) { + for (const entry2 of ctx.entries) + entry2.resolvedInput = resolveUnrefHeadInput(entry2.input); + } + } +}); +const headSymbol = "usehead"; +const _global = typeof globalThis !== "undefined" ? globalThis : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {}; +const globalKey$1 = "__unhead_injection_handler__"; +function setHeadInjectionHandler(handler) { + _global[globalKey$1] = handler; +} +function injectHead() { + if (globalKey$1 in _global) { + return _global[globalKey$1](); + } + const head = inject(headSymbol); + if (!head && "production" !== "production") + console.warn("Unhead is missing Vue context, falling back to shared context. This may have unexpected results."); + return head || getActiveHead(); +} +const unhead_KgADcZ0jPj = /* @__PURE__ */ defineNuxtPlugin({ + name: "nuxt:head", + enforce: "pre", + setup(nuxtApp) { + const head = nuxtApp.ssrContext.head; + setHeadInjectionHandler( + // need a fresh instance of the nuxt app to avoid parallel requests interfering with each other + () => (/* @__PURE__ */ useNuxtApp()).vueApp._context.provides.usehead + ); + nuxtApp.vueApp.use(head); + } +}); +function createContext(opts = {}) { + let currentInstance; + let isSingleton = false; + const checkConflict = (instance) => { + if (currentInstance && currentInstance !== instance) { + throw new Error("Context conflict"); + } + }; + let als; + if (opts.asyncContext) { + const _AsyncLocalStorage = opts.AsyncLocalStorage || globalThis.AsyncLocalStorage; + if (_AsyncLocalStorage) { + als = new _AsyncLocalStorage(); + } else { + console.warn("[unctx] `AsyncLocalStorage` is not provided."); + } + } + const _getCurrentInstance = () => { + if (als && currentInstance === void 0) { + const instance = als.getStore(); + if (instance !== void 0) { + return instance; + } + } + return currentInstance; + }; + return { + use: () => { + const _instance = _getCurrentInstance(); + if (_instance === void 0) { + throw new Error("Context is not available"); + } + return _instance; + }, + tryUse: () => { + return _getCurrentInstance(); + }, + set: (instance, replace) => { + if (!replace) { + checkConflict(instance); + } + currentInstance = instance; + isSingleton = true; + }, + unset: () => { + currentInstance = void 0; + isSingleton = false; + }, + call: (instance, callback) => { + checkConflict(instance); + currentInstance = instance; + try { + return als ? als.run(instance, callback) : callback(); + } finally { + if (!isSingleton) { + currentInstance = void 0; + } + } + }, + async callAsync(instance, callback) { + currentInstance = instance; + const onRestore = () => { + currentInstance = instance; + }; + const onLeave = () => currentInstance === instance ? onRestore : void 0; + asyncHandlers.add(onLeave); + try { + const r = als ? als.run(instance, callback) : callback(); + if (!isSingleton) { + currentInstance = void 0; + } + return await r; + } finally { + asyncHandlers.delete(onLeave); + } + } + }; +} +function createNamespace(defaultOpts = {}) { + const contexts = {}; + return { + get(key, opts = {}) { + if (!contexts[key]) { + contexts[key] = createContext({ ...defaultOpts, ...opts }); + } + contexts[key]; + return contexts[key]; + } + }; +} +const _globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : {}; +const globalKey = "__unctx__"; +_globalThis[globalKey] || (_globalThis[globalKey] = createNamespace()); +const asyncHandlersKey = "__unctx_async_handlers__"; +const asyncHandlers = _globalThis[asyncHandlersKey] || (_globalThis[asyncHandlersKey] = /* @__PURE__ */ new Set()); +function executeAsync(function_) { + const restores = []; + for (const leaveHandler of asyncHandlers) { + const restore2 = leaveHandler(); + if (restore2) { + restores.push(restore2); + } + } + const restore = () => { + for (const restore2 of restores) { + restore2(); + } + }; + let awaitable = function_(); + if (awaitable && typeof awaitable === "object" && "catch" in awaitable) { + awaitable = awaitable.catch((error) => { + restore(); + throw error; + }); + } + return [awaitable, restore]; +} +const PageRouteSymbol = Symbol("route"); +const useRouter = () => { + var _a; + return (_a = /* @__PURE__ */ useNuxtApp()) == null ? void 0 : _a.$router; +}; +const useRoute = () => { + if (hasInjectionContext()) { + return inject(PageRouteSymbol, (/* @__PURE__ */ useNuxtApp())._route); + } + return (/* @__PURE__ */ useNuxtApp())._route; +}; +/*! @__NO_SIDE_EFFECTS__ */ +// @__NO_SIDE_EFFECTS__ +function defineNuxtRouteMiddleware(middleware) { + return middleware; +} +const isProcessingMiddleware = () => { + try { + if ((/* @__PURE__ */ useNuxtApp())._processingMiddleware) { + return true; + } + } catch { + return true; + } + return false; +}; +const navigateTo = (to, options) => { + if (!to) { + to = "/"; + } + const toPath = typeof to === "string" ? to : withQuery(to.path || "/", to.query || {}) + (to.hash || ""); + if (options == null ? void 0 : options.open) { + return Promise.resolve(); + } + const isExternal = (options == null ? void 0 : options.external) || hasProtocol(toPath, { acceptRelative: true }); + if (isExternal) { + if (!(options == null ? void 0 : options.external)) { + throw new Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`."); + } + const protocol = parseURL(toPath).protocol; + if (protocol && isScriptProtocol(protocol)) { + throw new Error(`Cannot navigate to a URL with '${protocol}' protocol.`); + } + } + const inMiddleware = isProcessingMiddleware(); + const router = useRouter(); + const nuxtApp = /* @__PURE__ */ useNuxtApp(); + { + if (nuxtApp.ssrContext) { + const fullPath = typeof to === "string" || isExternal ? toPath : router.resolve(to).fullPath || "/"; + const location2 = isExternal ? toPath : joinURL((/* @__PURE__ */ useRuntimeConfig()).app.baseURL, fullPath); + const redirect = async function(response) { + await nuxtApp.callHook("app:redirected"); + const encodedLoc = location2.replace(/"/g, "%22"); + nuxtApp.ssrContext._renderResponse = { + statusCode: sanitizeStatusCode((options == null ? void 0 : options.redirectCode) || 302, 302), + body: ``, + headers: { location: location2 } + }; + return response; + }; + if (!isExternal && inMiddleware) { + router.afterEach((final) => final.fullPath === fullPath ? redirect(false) : void 0); + return to; + } + return redirect(!inMiddleware ? void 0 : ( + /* abort route navigation */ + false + )); + } + } + if (isExternal) { + nuxtApp._scope.stop(); + if (options == null ? void 0 : options.replace) { + location.replace(toPath); + } else { + location.href = toPath; + } + if (inMiddleware) { + if (!nuxtApp.isHydrating) { + return false; + } + return new Promise(() => { + }); + } + return Promise.resolve(); + } + return (options == null ? void 0 : options.replace) ? router.replace(to) : router.push(to); +}; +const useError = () => toRef((/* @__PURE__ */ useNuxtApp()).payload, "error"); +const showError = (_err) => { + const err = createError(_err); + try { + const nuxtApp = /* @__PURE__ */ useNuxtApp(); + const error = useError(); + if (false) + ; + error.value = error.value || err; + } catch { + throw err; + } + return err; +}; +const isNuxtError = (err) => !!(err && typeof err === "object" && "__nuxt_error" in err); +const createError = (err) => { + const _err = createError$1(err); + _err.__nuxt_error = true; + return _err; +}; +const _routes = [ + { + name: "details-id", + path: "/details/:id()", + meta: {}, + alias: [], + redirect: void 0, + component: () => import('./_nuxt/_id_-8ab4d5f6.mjs').then((m) => m.default || m) + }, + { + name: "index.html", + path: "/index.html", + meta: {}, + alias: [], + redirect: void 0, + component: () => import('./_nuxt/index-8ce861f4.mjs').then((m) => m.default || m) + }, + { + name: "index", + path: "/", + meta: {}, + alias: [], + redirect: void 0, + component: () => import('./_nuxt/index-09a76c59.mjs').then((m) => m.default || m) + }, + { + name: "publish", + path: "/publish", + meta: {}, + alias: [], + redirect: void 0, + component: () => import('./_nuxt/index-4bf365d6.mjs').then((m) => m.default || m) + } +]; +function generateRouteKey(route) { + const source = (route == null ? void 0 : route.meta.key) ?? route.path.replace(/(:\w+)\([^)]+\)/g, "$1").replace(/(:\w+)[?+*]/g, "$1").replace(/:\w+/g, (r) => { + var _a; + return ((_a = route.params[r.slice(1)]) == null ? void 0 : _a.toString()) || ""; + }); + return typeof source === "function" ? source(route) : source; +} +function isChangingPage(to, from) { + if (to === from) { + return false; + } + if (generateRouteKey(to) !== generateRouteKey(from)) { + return true; + } + const areComponentsSame = to.matched.every( + (comp, index) => { + var _a, _b; + return comp.components && comp.components.default === ((_b = (_a = from.matched[index]) == null ? void 0 : _a.components) == null ? void 0 : _b.default); + } + ); + if (areComponentsSame) { + return false; + } + return true; +} +const appPageTransition = false; +const nuxtLinkDefaults = { "componentName": "NuxtLink" }; +const routerOptions0 = { + scrollBehavior(to, from, savedPosition) { + var _a; + const nuxtApp = /* @__PURE__ */ useNuxtApp(); + const behavior = ((_a = useRouter().options) == null ? void 0 : _a.scrollBehaviorType) ?? "auto"; + let position = savedPosition || void 0; + const routeAllowsScrollToTop = typeof to.meta.scrollToTop === "function" ? to.meta.scrollToTop(to, from) : to.meta.scrollToTop; + if (!position && from && to && routeAllowsScrollToTop !== false && isChangingPage(to, from)) { + position = { left: 0, top: 0 }; + } + if (to.path === from.path) { + if (from.hash && !to.hash) { + return { left: 0, top: 0 }; + } + if (to.hash) { + return { el: to.hash, top: _getHashElementScrollMarginTop(to.hash), behavior }; + } + } + const hasTransition = (route) => !!(route.meta.pageTransition ?? appPageTransition); + const hookToWait = hasTransition(from) && hasTransition(to) ? "page:transition:finish" : "page:finish"; + return new Promise((resolve) => { + nuxtApp.hooks.hookOnce(hookToWait, async () => { + await nextTick(); + if (to.hash) { + position = { el: to.hash, top: _getHashElementScrollMarginTop(to.hash), behavior }; + } + resolve(position); + }); + }); + } +}; +function _getHashElementScrollMarginTop(selector) { + try { + const elem = document.querySelector(selector); + if (elem) { + return parseFloat(getComputedStyle(elem).scrollMarginTop); + } + } catch { + } + return 0; +} +const configRouterOptions = { + hashMode: false, + scrollBehaviorType: "auto" +}; +const routerOptions = { + ...configRouterOptions, + ...routerOptions0 +}; +const validate = /* @__PURE__ */ defineNuxtRouteMiddleware(async (to) => { + var _a; + let __temp, __restore; + if (!((_a = to.meta) == null ? void 0 : _a.validate)) { + return; + } + useRouter(); + const result = ([__temp, __restore] = executeAsync(() => Promise.resolve(to.meta.validate(to))), __temp = await __temp, __restore(), __temp); + if (result === true) { + return; + } + { + return result; + } +}); +const manifest_45route_45rule = /* @__PURE__ */ defineNuxtRouteMiddleware(async (to) => { + { + return; + } +}); +const globalMiddleware = [ + validate, + manifest_45route_45rule +]; +const namedMiddleware = {}; +const plugin = /* @__PURE__ */ defineNuxtPlugin({ + name: "nuxt:router", + enforce: "pre", + async setup(nuxtApp) { + var _a, _b; + let __temp, __restore; + let routerBase = (/* @__PURE__ */ useRuntimeConfig()).app.baseURL; + if (routerOptions.hashMode && !routerBase.includes("#")) { + routerBase += "#"; + } + const history = ((_a = routerOptions.history) == null ? void 0 : _a.call(routerOptions, routerBase)) ?? createMemoryHistory(routerBase); + const routes = ((_b = routerOptions.routes) == null ? void 0 : _b.call(routerOptions, _routes)) ?? _routes; + let startPosition; + const initialURL = nuxtApp.ssrContext.url; + const router = createRouter({ + ...routerOptions, + scrollBehavior: (to, from, savedPosition) => { + var _a2; + if (from === START_LOCATION) { + startPosition = savedPosition; + return; + } + router.options.scrollBehavior = routerOptions.scrollBehavior; + return (_a2 = routerOptions.scrollBehavior) == null ? void 0 : _a2.call(routerOptions, to, START_LOCATION, startPosition || savedPosition); + }, + history, + routes + }); + nuxtApp.vueApp.use(router); + const previousRoute = shallowRef(router.currentRoute.value); + router.afterEach((_to, from) => { + previousRoute.value = from; + }); + Object.defineProperty(nuxtApp.vueApp.config.globalProperties, "previousRoute", { + get: () => previousRoute.value + }); + const _route = shallowRef(router.resolve(initialURL)); + const syncCurrentRoute = () => { + _route.value = router.currentRoute.value; + }; + nuxtApp.hook("page:finish", syncCurrentRoute); + router.afterEach((to, from) => { + var _a2, _b2, _c, _d; + if (((_b2 = (_a2 = to.matched[0]) == null ? void 0 : _a2.components) == null ? void 0 : _b2.default) === ((_d = (_c = from.matched[0]) == null ? void 0 : _c.components) == null ? void 0 : _d.default)) { + syncCurrentRoute(); + } + }); + const route = {}; + for (const key in _route.value) { + Object.defineProperty(route, key, { + get: () => _route.value[key] + }); + } + nuxtApp._route = shallowReactive(route); + nuxtApp._middleware = nuxtApp._middleware || { + global: [], + named: {} + }; + useError(); + try { + if (true) { + ; + [__temp, __restore] = executeAsync(() => router.push(initialURL)), await __temp, __restore(); + ; + } + ; + [__temp, __restore] = executeAsync(() => router.isReady()), await __temp, __restore(); + ; + } catch (error2) { + [__temp, __restore] = executeAsync(() => nuxtApp.runWithContext(() => showError(error2))), await __temp, __restore(); + } + const initialLayout = nuxtApp.payload.state._layout; + router.beforeEach(async (to, from) => { + var _a2, _b2; + to.meta = reactive(to.meta); + if (nuxtApp.isHydrating && initialLayout && !isReadonly(to.meta.layout)) { + to.meta.layout = initialLayout; + } + nuxtApp._processingMiddleware = true; + if (!((_a2 = nuxtApp.ssrContext) == null ? void 0 : _a2.islandContext)) { + const middlewareEntries = /* @__PURE__ */ new Set([...globalMiddleware, ...nuxtApp._middleware.global]); + for (const component of to.matched) { + const componentMiddleware = component.meta.middleware; + if (!componentMiddleware) { + continue; + } + if (Array.isArray(componentMiddleware)) { + for (const entry2 of componentMiddleware) { + middlewareEntries.add(entry2); + } + } else { + middlewareEntries.add(componentMiddleware); + } + } + for (const entry2 of middlewareEntries) { + const middleware = typeof entry2 === "string" ? nuxtApp._middleware.named[entry2] || await ((_b2 = namedMiddleware[entry2]) == null ? void 0 : _b2.call(namedMiddleware).then((r) => r.default || r)) : entry2; + if (!middleware) { + throw new Error(`Unknown route middleware: '${entry2}'.`); + } + const result = await nuxtApp.runWithContext(() => middleware(to, from)); + { + if (result === false || result instanceof Error) { + const error2 = result || createError$1({ + statusCode: 404, + statusMessage: `Page Not Found: ${initialURL}` + }); + await nuxtApp.runWithContext(() => showError(error2)); + return false; + } + } + if (result === true) { + continue; + } + if (result || result === false) { + return result; + } + } + } + }); + router.onError(() => { + delete nuxtApp._processingMiddleware; + }); + router.afterEach(async (to, _from, failure) => { + var _a2; + delete nuxtApp._processingMiddleware; + if ((failure == null ? void 0 : failure.type) === 4) { + return; + } + if (to.matched.length === 0 && !((_a2 = nuxtApp.ssrContext) == null ? void 0 : _a2.islandContext)) { + await nuxtApp.runWithContext(() => showError(createError$1({ + statusCode: 404, + fatal: false, + statusMessage: `Page not found: ${to.fullPath}` + }))); + } else if (to.redirectedFrom && to.fullPath !== initialURL) { + await nuxtApp.runWithContext(() => navigateTo(to.fullPath || "/")); + } + }); + nuxtApp.hooks.hookOnce("app:created", async () => { + try { + await router.replace({ + ...router.resolve(initialURL), + name: void 0, + // #4920, #4982 + force: true + }); + router.options.scrollBehavior = routerOptions.scrollBehavior; + } catch (error2) { + await nuxtApp.runWithContext(() => showError(error2)); + } + }); + return { provide: { router } }; + } +}); +function definePayloadReducer(name, reduce) { + { + (/* @__PURE__ */ useNuxtApp()).ssrContext._payloadReducers[name] = reduce; + } +} +const reducers = { + NuxtError: (data) => isNuxtError(data) && data.toJSON(), + EmptyShallowRef: (data) => isRef(data) && isShallow(data) && !data.value && (typeof data.value === "bigint" ? "0n" : JSON.stringify(data.value) || "_"), + EmptyRef: (data) => isRef(data) && !data.value && (typeof data.value === "bigint" ? "0n" : JSON.stringify(data.value) || "_"), + ShallowRef: (data) => isRef(data) && isShallow(data) && data.value, + ShallowReactive: (data) => isReactive(data) && isShallow(data) && toRaw(data), + Ref: (data) => isRef(data) && data.value, + Reactive: (data) => isReactive(data) && toRaw(data) +}; +const revive_payload_server_eJ33V7gbc6 = /* @__PURE__ */ defineNuxtPlugin({ + name: "nuxt:revive-payload:server", + setup() { + for (const reducer in reducers) { + definePayloadReducer(reducer, reducers[reducer]); + } + } +}); +const components_plugin_KR1HBZs4kY = /* @__PURE__ */ defineNuxtPlugin({ + name: "nuxt:global-components" +}); +const element_plus_teleports_plugin_h4Dmekbj62 = /* @__PURE__ */ defineNuxtPlugin((nuxtApp) => { + nuxtApp.hook("app:rendered", (ctx) => { + var _a; + if ((_a = ctx.ssrContext) == null ? void 0 : _a.teleports) { + ctx.ssrContext.teleports = renderTeleports(ctx.ssrContext.teleports); + } + }); +}); +function renderTeleports(teleports) { + const body = Object.entries(teleports).reduce((all, [key, value]) => { + if (key.startsWith("#el-popper-container-") || [].includes(key)) { + return `${all}
${value}
`; + } + return all; + }, teleports.body || ""); + return { ...teleports, body }; +} +class ElementPlusError extends Error { + constructor(m) { + super(m); + this.name = "ElementPlusError"; + } +} +function throwError(scope, m) { + throw new ElementPlusError(`[${scope}] ${m}`); +} +function debugWarn(scope, message) { +} +const defaultNamespace = "el"; +const statePrefix = "is-"; +const _bem = (namespace, block, blockSuffix, element, modifier) => { + let cls = `${namespace}-${block}`; + if (blockSuffix) { + cls += `-${blockSuffix}`; + } + if (element) { + cls += `__${element}`; + } + if (modifier) { + cls += `--${modifier}`; + } + return cls; +}; +const namespaceContextKey = Symbol("namespaceContextKey"); +const useGetDerivedNamespace = (namespaceOverrides) => { + const derivedNamespace = namespaceOverrides || (getCurrentInstance() ? inject(namespaceContextKey, ref(defaultNamespace)) : ref(defaultNamespace)); + const namespace = computed(() => { + return unref(derivedNamespace) || defaultNamespace; + }); + return namespace; +}; +const useNamespace = (block, namespaceOverrides) => { + const namespace = useGetDerivedNamespace(namespaceOverrides); + const b = (blockSuffix = "") => _bem(namespace.value, block, blockSuffix, "", ""); + const e = (element) => element ? _bem(namespace.value, block, "", element, "") : ""; + const m = (modifier) => modifier ? _bem(namespace.value, block, "", "", modifier) : ""; + const be = (blockSuffix, element) => blockSuffix && element ? _bem(namespace.value, block, blockSuffix, element, "") : ""; + const em = (element, modifier) => element && modifier ? _bem(namespace.value, block, "", element, modifier) : ""; + const bm = (blockSuffix, modifier) => blockSuffix && modifier ? _bem(namespace.value, block, blockSuffix, "", modifier) : ""; + const bem = (blockSuffix, element, modifier) => blockSuffix && element && modifier ? _bem(namespace.value, block, blockSuffix, element, modifier) : ""; + const is = (name, ...args) => { + const state = args.length >= 1 ? args[0] : true; + return name && state ? `${statePrefix}${name}` : ""; + }; + const cssVar = (object) => { + const styles = {}; + for (const key in object) { + if (object[key]) { + styles[`--${namespace.value}-${key}`] = object[key]; + } + } + return styles; + }; + const cssVarBlock = (object) => { + const styles = {}; + for (const key in object) { + if (object[key]) { + styles[`--${namespace.value}-${block}-${key}`] = object[key]; + } + } + return styles; + }; + const cssVarName = (name) => `--${namespace.value}-${name}`; + const cssVarBlockName = (name) => `--${namespace.value}-${block}-${name}`; + return { + namespace, + b, + e, + m, + be, + em, + bm, + bem, + is, + cssVar, + cssVarName, + cssVarBlock, + cssVarBlockName + }; +}; +const defaultIdInjection = { + prefix: Math.floor(Math.random() * 1e4), + current: 0 +}; +const ID_INJECTION_KEY = Symbol("elIdInjection"); +const useIdInjection = () => { + return getCurrentInstance() ? inject(ID_INJECTION_KEY, defaultIdInjection) : defaultIdInjection; +}; +const useId = (deterministicId) => { + const idInjection = useIdInjection(); + const namespace = useGetDerivedNamespace(); + const idRef = computed(() => unref(deterministicId) || `${namespace.value}-id-${idInjection.prefix}-${idInjection.current++}`); + return idRef; +}; +const element_plus_injection_plugin_1RNPi6ogby = /* @__PURE__ */ defineNuxtPlugin((nuxtApp) => { + nuxtApp.vueApp.provide(ID_INJECTION_KEY, { "prefix": 1024, "current": 0 }); +}); +const plugins = [ + unhead_KgADcZ0jPj, + plugin, + revive_payload_server_eJ33V7gbc6, + components_plugin_KR1HBZs4kY, + element_plus_teleports_plugin_h4Dmekbj62, + element_plus_injection_plugin_1RNPi6ogby +]; +const _sfc_main$2 = { + __name: "app", + __ssrInlineRender: true, + setup(__props) { + useRoute(); + watchEffect(() => { + }); + let isNeedLogin = ref(true); + const goLogin = () => { + return; + }; + provide("isNeedLogin", isNeedLogin); + provide("goLogin", goLogin); + return (_ctx, _push, _parent, _attrs) => { + const _component_RouterView = resolveComponent("RouterView"); + _push(`
`); + _push(ssrRenderComponent(_component_RouterView, null, null, _parent)); + _push(``); + }; + } +}; +const _sfc_setup$2 = _sfc_main$2.setup; +_sfc_main$2.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("app.vue"); + return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0; +}; +const AppComponent = _sfc_main$2; +const _sfc_main$1 = { + __name: "nuxt-error-page", + __ssrInlineRender: true, + props: { + error: Object + }, + setup(__props) { + const props = __props; + const _error = props.error; + (_error.stack || "").split("\n").splice(1).map((line) => { + const text = line.replace("webpack:/", "").replace(".vue", ".js").trim(); + return { + text, + internal: line.includes("node_modules") && !line.includes(".cache") || line.includes("internal") || line.includes("new Promise") + }; + }).map((i) => `${i.text}`).join("\n"); + const statusCode = Number(_error.statusCode || 500); + const is404 = statusCode === 404; + const statusMessage = _error.statusMessage ?? (is404 ? "Page Not Found" : "Internal Server Error"); + const description = _error.message || _error.toString(); + const stack = void 0; + const _Error404 = defineAsyncComponent(() => import('./_nuxt/error-404-28503570.mjs').then((r) => r.default || r)); + const _Error = defineAsyncComponent(() => import('./_nuxt/error-500-1b10eb7c.mjs').then((r) => r.default || r)); + const ErrorTemplate = is404 ? _Error404 : _Error; + return (_ctx, _push, _parent, _attrs) => { + _push(ssrRenderComponent(unref(ErrorTemplate), mergeProps({ statusCode: unref(statusCode), statusMessage: unref(statusMessage), description: unref(description), stack: unref(stack) }, _attrs), null, _parent)); + }; + } +}; +const _sfc_setup$1 = _sfc_main$1.setup; +_sfc_main$1.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/nuxt/dist/app/components/nuxt-error-page.vue"); + return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0; +}; +const ErrorComponent = _sfc_main$1; +const _sfc_main = { + __name: "nuxt-root", + __ssrInlineRender: true, + setup(__props) { + const IslandRenderer = defineAsyncComponent(() => import('./_nuxt/island-renderer-1d37df94.mjs').then((r) => r.default || r)); + const nuxtApp = /* @__PURE__ */ useNuxtApp(); + nuxtApp.deferHydration(); + nuxtApp.ssrContext.url; + const SingleRenderer = false; + provide(PageRouteSymbol, useRoute()); + nuxtApp.hooks.callHookWith((hooks) => hooks.map((hook) => hook()), "vue:setup"); + const error = useError(); + onErrorCaptured((err, target, info) => { + nuxtApp.hooks.callHook("vue:error", err, target, info).catch((hookError) => console.error("[nuxt] Error in `vue:error` hook", hookError)); + { + const p = nuxtApp.runWithContext(() => showError(err)); + onServerPrefetch(() => p); + return false; + } + }); + const islandContext = nuxtApp.ssrContext.islandContext; + return (_ctx, _push, _parent, _attrs) => { + ssrRenderSuspense(_push, { + default: () => { + if (unref(error)) { + _push(ssrRenderComponent(unref(ErrorComponent), { error: unref(error) }, null, _parent)); + } else if (unref(islandContext)) { + _push(ssrRenderComponent(unref(IslandRenderer), { context: unref(islandContext) }, null, _parent)); + } else if (unref(SingleRenderer)) { + ssrRenderVNode(_push, createVNode(resolveDynamicComponent(unref(SingleRenderer)), null, null), _parent); + } else { + _push(ssrRenderComponent(unref(AppComponent), null, null, _parent)); + } + }, + _: 1 + }); + }; + } +}; +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/nuxt/dist/app/components/nuxt-root.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const RootComponent = _sfc_main; +let entry; +{ + entry = async function createNuxtAppServer(ssrContext) { + const vueApp = createApp(RootComponent); + const nuxt = createNuxtApp({ vueApp, ssrContext }); + try { + await applyPlugins(nuxt, plugins); + await nuxt.hooks.callHook("app:created", vueApp); + } catch (err) { + await nuxt.hooks.callHook("app:error", err); + nuxt.payload.error = nuxt.payload.error || err; + } + if (ssrContext == null ? void 0 : ssrContext._renderResponse) { + throw new Error("skipping render"); + } + return vueApp; + }; +} +const entry$1 = (ctx) => entry(ctx); + +export { useRuntimeConfig as a, navigateTo as b, createError as c, useNamespace as d, entry$1 as default, useRoute as e, useId as f, defaultNamespace as g, debugWarn as h, useGetDerivedNamespace as i, useIdInjection as j, namespaceContextKey as k, injectHead as l, nuxtLinkDefaults as n, resolveUnrefHeadInput as r, throwError as t, useRouter as u }; +//# sourceMappingURL=server.mjs.map diff --git a/.output/server/chunks/app/server.mjs.map b/.output/server/chunks/app/server.mjs.map new file mode 100644 index 0000000..d16f554 --- /dev/null +++ b/.output/server/chunks/app/server.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"server.mjs","sources":["../../../../node_modules/unctx/dist/index.mjs","../../../../.nuxt/dist/server/server.mjs"],"sourcesContent":null,"names":["createContext","asyncHandlers","createNamespace","_globalThis","globalKey","defaultNamespace","asyncHandlersKey"],"mappings":"","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/.output/server/chunks/app/styles.mjs b/.output/server/chunks/app/styles.mjs new file mode 100644 index 0000000..4d37ce5 --- /dev/null +++ b/.output/server/chunks/app/styles.mjs @@ -0,0 +1,12 @@ +const interopDefault = r => r.default || r || []; +const styles = { + "node_modules/nuxt/dist/app/entry.js": () => import('./_nuxt/entry-styles.582d7478.mjs').then(interopDefault), + "pages/publish/index.vue": () => import('./_nuxt/index-styles.f5784fbd.mjs').then(interopDefault), + "pages/index.html/index.vue": () => import('./_nuxt/index-styles.9175bb53.mjs').then(interopDefault), + "pages/details/[id].vue": () => import('./_nuxt/_id_-styles.07a32688.mjs').then(interopDefault), + "node_modules/@nuxt/ui-templates/dist/templates/error-404.vue": () => import('./_nuxt/error-404-styles.1e0dde27.mjs').then(interopDefault), + "node_modules/@nuxt/ui-templates/dist/templates/error-500.vue": () => import('./_nuxt/error-500-styles.cf4b3e80.mjs').then(interopDefault) +}; + +export { styles as default }; +//# sourceMappingURL=styles.mjs.map diff --git a/.output/server/chunks/app/styles.mjs.map b/.output/server/chunks/app/styles.mjs.map new file mode 100644 index 0000000..888e63e --- /dev/null +++ b/.output/server/chunks/app/styles.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"styles.mjs","sources":["../../../../.nuxt/dist/server/styles.mjs"],"sourcesContent":null,"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,GAAE;AAChD,eAAe;AACf,EAAE,qCAAqC,EAAE,MAAM,OAAO,mCAAmC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;AAC/G,EAAE,yBAAyB,EAAE,MAAM,OAAO,mCAAmC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;AACnG,EAAE,4BAA4B,EAAE,MAAM,OAAO,mCAAmC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;AACtG,EAAE,wBAAwB,EAAE,MAAM,OAAO,kCAAkC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;AACjG,EAAE,8DAA8D,EAAE,MAAM,OAAO,uCAAuC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;AAC5I,EAAE,8DAA8D,EAAE,MAAM,OAAO,uCAAuC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;AAC5I;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/error-500.mjs b/.output/server/chunks/error-500.mjs new file mode 100644 index 0000000..3f10daa --- /dev/null +++ b/.output/server/chunks/error-500.mjs @@ -0,0 +1,21 @@ +const _messages = {"appName":"Nuxt","version":"","statusCode":500,"statusMessage":"Server error","description":"This page is temporarily unavailable."}; +const _render = function({ messages }) { +var __t, __p = ''; +__p += '' + +((__t = ( messages.statusCode )) == null ? '' : __t) + +' - ' + +((__t = ( messages.statusMessage )) == null ? '' : __t) + +' | ' + +((__t = ( messages.appName )) == null ? '' : __t) + +'

' + +((__t = ( messages.statusCode )) == null ? '' : __t) + +'

' + +((__t = ( messages.description )) == null ? '' : __t) + +'

'; +return __p +}; +const _template = (messages) => _render({ messages: { ..._messages, ...messages } }); +const template = _template; + +export { template }; +//# sourceMappingURL=error-500.mjs.map diff --git a/.output/server/chunks/error-500.mjs.map b/.output/server/chunks/error-500.mjs.map new file mode 100644 index 0000000..5520258 --- /dev/null +++ b/.output/server/chunks/error-500.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"error-500.mjs","sources":["../../../node_modules/@nuxt/ui-templates/dist/templates/error-500.mjs"],"sourcesContent":null,"names":[],"mappings":"","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/.output/server/chunks/handlers/renderer.mjs b/.output/server/chunks/handlers/renderer.mjs new file mode 100644 index 0000000..e5c8521 --- /dev/null +++ b/.output/server/chunks/handlers/renderer.mjs @@ -0,0 +1,384 @@ +import { getRequestDependencies, getPreloadLinks, getPrefetchLinks, createRenderer } from 'vue-bundle-renderer/runtime'; +import { e as eventHandler, s as setResponseHeader, a as send, g as getResponseStatus, b as setResponseStatus, c as setResponseHeaders, u as useNitroApp, j as joinURL, d as useRuntimeConfig, f as getQuery, h as createError, i as getRouteRules, k as getResponseStatusText } from '../nitro/node-server.mjs'; +import { stringify, uneval } from 'devalue'; +import { renderToString } from 'vue/server-renderer'; +import { renderSSRHead } from '@unhead/ssr'; +import { version, unref } from 'vue'; +import { createServerHead as createServerHead$1 } from 'unhead'; +import { defineHeadPlugin } from '@unhead/shared'; + +function defineRenderHandler(handler) { + return eventHandler(async (event) => { + if (event.path.endsWith("/favicon.ico")) { + setResponseHeader(event, "Content-Type", "image/x-icon"); + return send( + event, + "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" + ); + } + const response = await handler(event); + if (!response) { + const _currentStatus = getResponseStatus(event); + setResponseStatus(event, _currentStatus === 200 ? 500 : _currentStatus); + return send( + event, + "No response returned from render handler: " + event.path + ); + } + const nitroApp = useNitroApp(); + await nitroApp.hooks.callHook("render:response", response, { event }); + if (response.headers) { + setResponseHeaders(event, response.headers); + } + if (response.statusCode || response.statusMessage) { + setResponseStatus(event, response.statusCode, response.statusMessage); + } + return response.body; + }); +} + +const Vue3 = version.startsWith("3"); + +function resolveUnref(r) { + return typeof r === "function" ? r() : unref(r); +} +function resolveUnrefHeadInput(ref, lastKey = "") { + if (ref instanceof Promise) + return ref; + const root = resolveUnref(ref); + if (!ref || !root) + return root; + if (Array.isArray(root)) + return root.map((r) => resolveUnrefHeadInput(r, lastKey)); + if (typeof root === "object") { + return Object.fromEntries( + Object.entries(root).map(([k, v]) => { + if (k === "titleTemplate" || k.startsWith("on")) + return [k, unref(v)]; + return [k, resolveUnrefHeadInput(v, k)]; + }) + ); + } + return root; +} + +const VueReactivityPlugin = defineHeadPlugin({ + hooks: { + "entries:resolve": function(ctx) { + for (const entry of ctx.entries) + entry.resolvedInput = resolveUnrefHeadInput(entry.input); + } + } +}); + +const headSymbol = "usehead"; +function vueInstall(head) { + const plugin = { + install(app) { + if (Vue3) { + app.config.globalProperties.$unhead = head; + app.config.globalProperties.$head = head; + app.provide(headSymbol, head); + } + } + }; + return plugin.install; +} +function createServerHead(options = {}) { + const head = createServerHead$1(options); + head.use(VueReactivityPlugin); + head.install = vueInstall(head); + return head; +} + +const unheadPlugins = []; + +const appHead = {"meta":[{"name":"viewport","content":"width=device-width, initial-scale=1"},{"charset":"utf-8"}],"link":[{"rel":"stylesheet","href":"//bbs.gter.net/data/cache/style_2_common.css?Z62"}],"style":[],"script":[{"src":"//bbs.gter.net/static/js/common.js","body":true,"charset":"gb2312"},{"innerHTML":"\n window.userInfoWin = {}\n STYLEID = \"2\";\n STATICURL = \"static/\";\n IMGDIR = \"https://bbs.gter.net/template/archy_plt8/image\";\n VERHASH = \"Z62\";\n charset = \"gbk\";\n discuz_uid = \"0\";\n cookiepre = \"4B5x_c0ae_\";\n cookiedomain = \"gter.net\";\n cookiepath = \"/\";\n showusercard = \"1\";\n attackevasive = \"0\";\n disallowfloat = \"\";\n creditnotice = \",\";\n defaultstyle = \"\";\n REPORTURL = \"aHR0cDovL2Jicy5ndGVyLm5ldC9mb3J1bS5waHA/dGlkPTI0MDYzNTYmZ290bz1sYXN0cG9zdA==\";\n SITEURL = \"https://ask.gter.net/\";\n JSPATH = \"static/js/\";","type":"text/javascript","charset":"utf-8"}],"noscript":[]}; + +const appRootId = "__nuxt"; + +const appRootTag = "div"; + +function buildAssetsDir() { + return useRuntimeConfig().app.buildAssetsDir; +} +function buildAssetsURL(...path) { + return joinURL(publicAssetsURL(), buildAssetsDir(), ...path); +} +function publicAssetsURL(...path) { + const publicBase = useRuntimeConfig().app.cdnURL || useRuntimeConfig().app.baseURL; + return path.length ? joinURL(publicBase, ...path) : publicBase; +} + +globalThis.__buildAssetsURL = buildAssetsURL; +globalThis.__publicAssetsURL = publicAssetsURL; +const getClientManifest = () => import('../app/client.manifest.mjs').then((r) => r.default || r).then((r) => typeof r === "function" ? r() : r); +const getEntryIds = () => getClientManifest().then((r) => Object.values(r).filter( + (r2) => ( + // @ts-expect-error internal key set by CSS inlining configuration + r2._globalCSS + ) +).map((r2) => r2.src)); +const getServerEntry = () => import('../app/server.mjs').then((r) => r.default || r); +const getSSRStyles = lazyCachedFunction(() => import('../app/styles.mjs').then((r) => r.default || r)); +const getSSRRenderer = lazyCachedFunction(async () => { + const manifest = await getClientManifest(); + if (!manifest) { + throw new Error("client.manifest is not available"); + } + const createSSRApp = await getServerEntry(); + if (!createSSRApp) { + throw new Error("Server bundle is not available"); + } + const options = { + manifest, + renderToString: renderToString$1, + buildAssetsURL + }; + const renderer = createRenderer(createSSRApp, options); + async function renderToString$1(input, context) { + const html = await renderToString(input, context); + return `<${appRootTag}${` id="${appRootId}"` }>${html}`; + } + return renderer; +}); +const getSPARenderer = lazyCachedFunction(async () => { + const manifest = await getClientManifest(); + const spaTemplate = await import('../rollup/_virtual_spa-template.mjs').then((r) => r.template).catch(() => ""); + const options = { + manifest, + renderToString: () => `<${appRootTag}${` id="${appRootId}"` }>${spaTemplate}`, + buildAssetsURL + }; + const renderer = createRenderer(() => () => { + }, options); + const result = await renderer.renderToString({}); + const renderToString = (ssrContext) => { + const config = useRuntimeConfig(); + ssrContext.modules = ssrContext.modules || /* @__PURE__ */ new Set(); + ssrContext.payload = { + _errors: {}, + serverRendered: false, + data: {}, + state: {} + }; + ssrContext.config = { + public: config.public, + app: config.app + }; + return Promise.resolve(result); + }; + return { + rendererContext: renderer.rendererContext, + renderToString + }; +}); +const PAYLOAD_URL_RE = /\/_payload(\.[a-zA-Z0-9]+)?.json(\?.*)?$/ ; +const renderer = defineRenderHandler(async (event) => { + const nitroApp = useNitroApp(); + const ssrError = event.path.startsWith("/__nuxt_error") ? getQuery(event) : null; + if (ssrError && ssrError.statusCode) { + ssrError.statusCode = parseInt(ssrError.statusCode); + } + if (ssrError && !("__unenv__" in event.node.req)) { + throw createError({ + statusCode: 404, + statusMessage: "Page Not Found: /__nuxt_error" + }); + } + const islandContext = void 0; + let url = ssrError?.url || islandContext?.url || event.path; + const isRenderingPayload = PAYLOAD_URL_RE.test(url) && !islandContext; + if (isRenderingPayload) { + url = url.substring(0, url.lastIndexOf("/")) || "/"; + event._path = url; + event.node.req.url = url; + } + const routeOptions = getRouteRules(event); + const head = createServerHead({ + plugins: unheadPlugins + }); + const headEntryOptions = { mode: "server" }; + head.push(appHead, headEntryOptions); + const ssrContext = { + url, + event, + runtimeConfig: useRuntimeConfig(), + noSSR: event.context.nuxt?.noSSR || routeOptions.ssr === false && !islandContext || (false), + head, + error: !!ssrError, + nuxt: void 0, + /* NuxtApp */ + payload: ssrError ? { error: ssrError } : {}, + _payloadReducers: {}, + islandContext + }; + const renderer = ssrContext.noSSR ? await getSPARenderer() : await getSSRRenderer(); + const _rendered = await renderer.renderToString(ssrContext).catch(async (error) => { + if (ssrContext._renderResponse && error.message === "skipping render") { + return {}; + } + const _err = !ssrError && ssrContext.payload?.error || error; + await ssrContext.nuxt?.hooks.callHook("app:error", _err); + throw _err; + }); + await ssrContext.nuxt?.hooks.callHook("app:rendered", { ssrContext, renderResult: _rendered }); + if (ssrContext._renderResponse) { + return ssrContext._renderResponse; + } + if (ssrContext.payload?.error && !ssrError) { + throw ssrContext.payload.error; + } + if (isRenderingPayload) { + const response2 = renderPayloadResponse(ssrContext); + return response2; + } + { + const source = ssrContext.modules ?? ssrContext._registeredComponents; + if (source) { + for (const id of await getEntryIds()) { + source.add(id); + } + } + } + const inlinedStyles = await renderInlineStyles(ssrContext.modules ?? ssrContext._registeredComponents ?? []) ; + const NO_SCRIPTS = routeOptions.experimentalNoScripts; + const { styles, scripts } = getRequestDependencies(ssrContext, renderer.rendererContext); + head.push({ style: inlinedStyles }); + head.push({ + link: Object.values(styles).map( + (resource) => ({ rel: "stylesheet", href: renderer.rendererContext.buildAssetsURL(resource.file) }) + ) + }, headEntryOptions); + if (!NO_SCRIPTS) { + head.push({ + link: getPreloadLinks(ssrContext, renderer.rendererContext) + }, headEntryOptions); + head.push({ + link: getPrefetchLinks(ssrContext, renderer.rendererContext) + }, headEntryOptions); + head.push({ + script: renderPayloadJsonScript({ id: "__NUXT_DATA__", ssrContext, data: ssrContext.payload }) + }, { + ...headEntryOptions, + // this should come before another end of body scripts + tagPosition: "bodyClose", + tagPriority: "high" + }); + } + if (!routeOptions.experimentalNoScripts) { + head.push({ + script: Object.values(scripts).map((resource) => ({ + type: resource.module ? "module" : null, + src: renderer.rendererContext.buildAssetsURL(resource.file), + defer: resource.module ? null : true, + crossorigin: "" + })) + }, headEntryOptions); + } + const { headTags, bodyTags, bodyTagsOpen, htmlAttrs, bodyAttrs } = await renderSSRHead(head); + const htmlContext = { + island: Boolean(islandContext), + htmlAttrs: [htmlAttrs], + head: normalizeChunks([headTags, ssrContext.styles]), + bodyAttrs: [bodyAttrs], + bodyPrepend: normalizeChunks([bodyTagsOpen, ssrContext.teleports?.body]), + body: [_rendered.html], + bodyAppend: [bodyTags] + }; + await nitroApp.hooks.callHook("render:html", htmlContext, { event }); + const response = { + body: renderHTMLDocument(htmlContext), + statusCode: getResponseStatus(event), + statusMessage: getResponseStatusText(event), + headers: { + "content-type": "text/html;charset=utf-8", + "x-powered-by": "Nuxt" + } + }; + return response; +}); +function lazyCachedFunction(fn) { + let res = null; + return () => { + if (res === null) { + res = fn().catch((err) => { + res = null; + throw err; + }); + } + return res; + }; +} +function normalizeChunks(chunks) { + return chunks.filter(Boolean).map((i) => i.trim()); +} +function joinTags(tags) { + return tags.join(""); +} +function joinAttrs(chunks) { + return chunks.join(" "); +} +function renderHTMLDocument(html) { + return ` + +${joinTags(html.head)} +${joinTags(html.bodyPrepend)}${joinTags(html.body)}${joinTags(html.bodyAppend)} +`; +} +async function renderInlineStyles(usedModules) { + const styleMap = await getSSRStyles(); + const inlinedStyles = /* @__PURE__ */ new Set(); + for (const mod of usedModules) { + if (mod in styleMap) { + for (const style of await styleMap[mod]()) { + inlinedStyles.add(style); + } + } + } + return Array.from(inlinedStyles).map((style) => ({ innerHTML: style })); +} +function renderPayloadResponse(ssrContext) { + return { + body: stringify(splitPayload(ssrContext).payload, ssrContext._payloadReducers) , + statusCode: getResponseStatus(ssrContext.event), + statusMessage: getResponseStatusText(ssrContext.event), + headers: { + "content-type": "application/json;charset=utf-8" , + "x-powered-by": "Nuxt" + } + }; +} +function renderPayloadJsonScript(opts) { + const contents = opts.data ? stringify(opts.data, opts.ssrContext._payloadReducers) : ""; + const payload = { + type: "application/json", + id: opts.id, + innerHTML: contents, + "data-ssr": !(opts.ssrContext.noSSR) + }; + if (opts.src) { + payload["data-src"] = opts.src; + } + return [ + payload, + { + innerHTML: `window.__NUXT__={};window.__NUXT__.config=${uneval(opts.ssrContext.config)}` + } + ]; +} +function splitPayload(ssrContext) { + const { data, prerenderedAt, ...initial } = ssrContext.payload; + return { + initial: { ...initial, prerenderedAt }, + payload: { data, prerenderedAt } + }; +} + +const renderer$1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + default: renderer +}); + +export { buildAssetsURL as b, renderer$1 as r }; +//# sourceMappingURL=renderer.mjs.map diff --git a/.output/server/chunks/handlers/renderer.mjs.map b/.output/server/chunks/handlers/renderer.mjs.map new file mode 100644 index 0000000..d558b28 --- /dev/null +++ b/.output/server/chunks/handlers/renderer.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"renderer.mjs","sources":["../../../../node_modules/nitropack/dist/runtime/renderer.mjs","../../../../node_modules/@unhead/vue/dist/shared/vue.cf295fb1.mjs","../../../../node_modules/nuxt/dist/core/runtime/nitro/paths.js","../../../../node_modules/nuxt/dist/core/runtime/nitro/renderer.js"],"sourcesContent":null,"names":["renderToString","_renderToString"],"mappings":"","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file diff --git a/.output/server/chunks/nitro/node-server.mjs b/.output/server/chunks/nitro/node-server.mjs new file mode 100644 index 0000000..3ab3c80 --- /dev/null +++ b/.output/server/chunks/nitro/node-server.mjs @@ -0,0 +1,5823 @@ +globalThis._importMeta_=globalThis._importMeta_||{url:"file:///_entry.js",env:process.env};import http, { Server as Server$1 } from 'node:http'; +import https, { Server } from 'node:https'; +import { promises, existsSync } from 'fs'; +import { dirname as dirname$1, resolve as resolve$1, join } from 'path'; +import { promises as promises$1 } from 'node:fs'; +import { fileURLToPath } from 'node:url'; + +const suspectProtoRx = /"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/; +const suspectConstructorRx = /"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/; +const JsonSigRx = /^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/; +function jsonParseTransform(key, value) { + if (key === "__proto__" || key === "constructor" && value && typeof value === "object" && "prototype" in value) { + warnKeyDropped(key); + return; + } + return value; +} +function warnKeyDropped(key) { + console.warn(`[destr] Dropping "${key}" key to prevent prototype pollution.`); +} +function destr(value, options = {}) { + if (typeof value !== "string") { + return value; + } + const _value = value.trim(); + if ( + // eslint-disable-next-line unicorn/prefer-at + value[0] === '"' && value.at(-1) === '"' && !value.includes("\\") + ) { + return _value.slice(1, -1); + } + if (_value.length <= 9) { + const _lval = _value.toLowerCase(); + if (_lval === "true") { + return true; + } + if (_lval === "false") { + return false; + } + if (_lval === "undefined") { + return void 0; + } + if (_lval === "null") { + return null; + } + if (_lval === "nan") { + return Number.NaN; + } + if (_lval === "infinity") { + return Number.POSITIVE_INFINITY; + } + if (_lval === "-infinity") { + return Number.NEGATIVE_INFINITY; + } + } + if (!JsonSigRx.test(value)) { + if (options.strict) { + throw new SyntaxError("[destr] Invalid JSON"); + } + return value; + } + try { + if (suspectProtoRx.test(value) || suspectConstructorRx.test(value)) { + if (options.strict) { + throw new Error("[destr] Possible prototype pollution"); + } + return JSON.parse(value, jsonParseTransform); + } + return JSON.parse(value); + } catch (error) { + if (options.strict) { + throw error; + } + return value; + } +} + +const HASH_RE = /#/g; +const AMPERSAND_RE = /&/g; +const EQUAL_RE = /=/g; +const PLUS_RE = /\+/g; +const ENC_CARET_RE = /%5e/gi; +const ENC_BACKTICK_RE = /%60/gi; +const ENC_PIPE_RE = /%7c/gi; +const ENC_SPACE_RE = /%20/gi; +const ENC_SLASH_RE = /%2f/gi; +function encode(text) { + return encodeURI("" + text).replace(ENC_PIPE_RE, "|"); +} +function encodeQueryValue(input) { + return encode(typeof input === "string" ? input : JSON.stringify(input)).replace(PLUS_RE, "%2B").replace(ENC_SPACE_RE, "+").replace(HASH_RE, "%23").replace(AMPERSAND_RE, "%26").replace(ENC_BACKTICK_RE, "`").replace(ENC_CARET_RE, "^"); +} +function encodeQueryKey(text) { + return encodeQueryValue(text).replace(EQUAL_RE, "%3D"); +} +function decode(text = "") { + try { + return decodeURIComponent("" + text); + } catch { + return "" + text; + } +} +function decodePath(text) { + return decode(text.replace(ENC_SLASH_RE, "%252F")); +} +function decodeQueryKey(text) { + return decode(text.replace(PLUS_RE, " ")); +} +function decodeQueryValue(text) { + return decode(text.replace(PLUS_RE, " ")); +} + +function parseQuery(parametersString = "") { + const object = {}; + if (parametersString[0] === "?") { + parametersString = parametersString.slice(1); + } + for (const parameter of parametersString.split("&")) { + const s = parameter.match(/([^=]+)=?(.*)/) || []; + if (s.length < 2) { + continue; + } + const key = decodeQueryKey(s[1]); + if (key === "__proto__" || key === "constructor") { + continue; + } + const value = decodeQueryValue(s[2] || ""); + if (object[key] === void 0) { + object[key] = value; + } else if (Array.isArray(object[key])) { + object[key].push(value); + } else { + object[key] = [object[key], value]; + } + } + return object; +} +function encodeQueryItem(key, value) { + if (typeof value === "number" || typeof value === "boolean") { + value = String(value); + } + if (!value) { + return encodeQueryKey(key); + } + if (Array.isArray(value)) { + return value.map((_value) => `${encodeQueryKey(key)}=${encodeQueryValue(_value)}`).join("&"); + } + return `${encodeQueryKey(key)}=${encodeQueryValue(value)}`; +} +function stringifyQuery(query) { + return Object.keys(query).filter((k) => query[k] !== void 0).map((k) => encodeQueryItem(k, query[k])).filter(Boolean).join("&"); +} +const PROTOCOL_STRICT_REGEX = /^[\s\w\0+.-]{2,}:([/\\]{1,2})/; +const PROTOCOL_REGEX = /^[\s\w\0+.-]{2,}:([/\\]{2})?/; +const PROTOCOL_RELATIVE_REGEX = /^([/\\]\s*){2,}[^/\\]/; +function hasProtocol(inputString, opts = {}) { + if (typeof opts === "boolean") { + opts = { acceptRelative: opts }; + } + if (opts.strict) { + return PROTOCOL_STRICT_REGEX.test(inputString); + } + return PROTOCOL_REGEX.test(inputString) || (opts.acceptRelative ? PROTOCOL_RELATIVE_REGEX.test(inputString) : false); +} +const PROTOCOL_SCRIPT_RE = /^[\s\0]*(blob|data|javascript|vbscript):$/i; +function isScriptProtocol(protocol) { + return !!protocol && PROTOCOL_SCRIPT_RE.test(protocol); +} +const TRAILING_SLASH_RE = /\/$|\/\?|\/#/; +function hasTrailingSlash(input = "", respectQueryAndFragment) { + if (!respectQueryAndFragment) { + return input.endsWith("/"); + } + return TRAILING_SLASH_RE.test(input); +} +function withoutTrailingSlash(input = "", respectQueryAndFragment) { + if (!respectQueryAndFragment) { + return (hasTrailingSlash(input) ? input.slice(0, -1) : input) || "/"; + } + if (!hasTrailingSlash(input, true)) { + return input || "/"; + } + let path = input; + let fragment = ""; + const fragmentIndex = input.indexOf("#"); + if (fragmentIndex >= 0) { + path = input.slice(0, fragmentIndex); + fragment = input.slice(fragmentIndex); + } + const [s0, ...s] = path.split("?"); + return (s0.slice(0, -1) || "/") + (s.length > 0 ? `?${s.join("?")}` : "") + fragment; +} +function withTrailingSlash(input = "", respectQueryAndFragment) { + if (!respectQueryAndFragment) { + return input.endsWith("/") ? input : input + "/"; + } + if (hasTrailingSlash(input, true)) { + return input || "/"; + } + let path = input; + let fragment = ""; + const fragmentIndex = input.indexOf("#"); + if (fragmentIndex >= 0) { + path = input.slice(0, fragmentIndex); + fragment = input.slice(fragmentIndex); + if (!path) { + return fragment; + } + } + const [s0, ...s] = path.split("?"); + return s0 + "/" + (s.length > 0 ? `?${s.join("?")}` : "") + fragment; +} +function hasLeadingSlash(input = "") { + return input.startsWith("/"); +} +function withLeadingSlash(input = "") { + return hasLeadingSlash(input) ? input : "/" + input; +} +function withBase(input, base) { + if (isEmptyURL(base) || hasProtocol(input)) { + return input; + } + const _base = withoutTrailingSlash(base); + if (input.startsWith(_base)) { + return input; + } + return joinURL(_base, input); +} +function withoutBase(input, base) { + if (isEmptyURL(base)) { + return input; + } + const _base = withoutTrailingSlash(base); + if (!input.startsWith(_base)) { + return input; + } + const trimmed = input.slice(_base.length); + return trimmed[0] === "/" ? trimmed : "/" + trimmed; +} +function withQuery(input, query) { + const parsed = parseURL(input); + const mergedQuery = { ...parseQuery(parsed.search), ...query }; + parsed.search = stringifyQuery(mergedQuery); + return stringifyParsedURL(parsed); +} +function getQuery$1(input) { + return parseQuery(parseURL(input).search); +} +function isEmptyURL(url) { + return !url || url === "/"; +} +function isNonEmptyURL(url) { + return url && url !== "/"; +} +const JOIN_LEADING_SLASH_RE = /^\.?\//; +function joinURL(base, ...input) { + let url = base || ""; + for (const segment of input.filter((url2) => isNonEmptyURL(url2))) { + if (url) { + const _segment = segment.replace(JOIN_LEADING_SLASH_RE, ""); + url = withTrailingSlash(url) + _segment; + } else { + url = segment; + } + } + return url; +} + +function parseURL(input = "", defaultProto) { + const _specialProtoMatch = input.match( + /^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i + ); + if (_specialProtoMatch) { + const [, _proto, _pathname = ""] = _specialProtoMatch; + return { + protocol: _proto.toLowerCase(), + pathname: _pathname, + href: _proto + _pathname, + auth: "", + host: "", + search: "", + hash: "" + }; + } + if (!hasProtocol(input, { acceptRelative: true })) { + return defaultProto ? parseURL(defaultProto + input) : parsePath(input); + } + const [, protocol = "", auth, hostAndPath = ""] = input.replace(/\\/g, "/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/) || []; + const [, host = "", path = ""] = hostAndPath.match(/([^#/?]*)(.*)?/) || []; + const { pathname, search, hash } = parsePath( + path.replace(/\/(?=[A-Za-z]:)/, "") + ); + return { + protocol: protocol.toLowerCase(), + auth: auth ? auth.slice(0, Math.max(0, auth.length - 1)) : "", + host, + pathname, + search, + hash + }; +} +function parsePath(input = "") { + const [pathname = "", search = "", hash = ""] = (input.match(/([^#?]*)(\?[^#]*)?(#.*)?/) || []).splice(1); + return { + pathname, + search, + hash + }; +} +function stringifyParsedURL(parsed) { + const pathname = parsed.pathname || ""; + const search = parsed.search ? (parsed.search.startsWith("?") ? "" : "?") + parsed.search : ""; + const hash = parsed.hash || ""; + const auth = parsed.auth ? parsed.auth + "@" : ""; + const host = parsed.host || ""; + const proto = parsed.protocol ? parsed.protocol + "//" : ""; + return proto + auth + host + pathname + search + hash; +} + +const NODE_TYPES = { + NORMAL: 0, + WILDCARD: 1, + PLACEHOLDER: 2 +}; + +function createRouter$1(options = {}) { + const ctx = { + options, + rootNode: createRadixNode(), + staticRoutesMap: {} + }; + const normalizeTrailingSlash = (p) => options.strictTrailingSlash ? p : p.replace(/\/$/, "") || "/"; + if (options.routes) { + for (const path in options.routes) { + insert(ctx, normalizeTrailingSlash(path), options.routes[path]); + } + } + return { + ctx, + // @ts-ignore + lookup: (path) => lookup(ctx, normalizeTrailingSlash(path)), + insert: (path, data) => insert(ctx, normalizeTrailingSlash(path), data), + remove: (path) => remove(ctx, normalizeTrailingSlash(path)) + }; +} +function lookup(ctx, path) { + const staticPathNode = ctx.staticRoutesMap[path]; + if (staticPathNode) { + return staticPathNode.data; + } + const sections = path.split("/"); + const params = {}; + let paramsFound = false; + let wildcardNode = null; + let node = ctx.rootNode; + let wildCardParam = null; + for (let i = 0; i < sections.length; i++) { + const section = sections[i]; + if (node.wildcardChildNode !== null) { + wildcardNode = node.wildcardChildNode; + wildCardParam = sections.slice(i).join("/"); + } + const nextNode = node.children.get(section); + if (nextNode !== void 0) { + node = nextNode; + } else { + node = node.placeholderChildNode; + if (node !== null) { + params[node.paramName] = section; + paramsFound = true; + } else { + break; + } + } + } + if ((node === null || node.data === null) && wildcardNode !== null) { + node = wildcardNode; + params[node.paramName || "_"] = wildCardParam; + paramsFound = true; + } + if (!node) { + return null; + } + if (paramsFound) { + return { + ...node.data, + params: paramsFound ? params : void 0 + }; + } + return node.data; +} +function insert(ctx, path, data) { + let isStaticRoute = true; + const sections = path.split("/"); + let node = ctx.rootNode; + let _unnamedPlaceholderCtr = 0; + for (const section of sections) { + let childNode; + if (childNode = node.children.get(section)) { + node = childNode; + } else { + const type = getNodeType(section); + childNode = createRadixNode({ type, parent: node }); + node.children.set(section, childNode); + if (type === NODE_TYPES.PLACEHOLDER) { + childNode.paramName = section === "*" ? `_${_unnamedPlaceholderCtr++}` : section.slice(1); + node.placeholderChildNode = childNode; + isStaticRoute = false; + } else if (type === NODE_TYPES.WILDCARD) { + node.wildcardChildNode = childNode; + childNode.paramName = section.slice( + 3 + /* "**:" */ + ) || "_"; + isStaticRoute = false; + } + node = childNode; + } + } + node.data = data; + if (isStaticRoute === true) { + ctx.staticRoutesMap[path] = node; + } + return node; +} +function remove(ctx, path) { + let success = false; + const sections = path.split("/"); + let node = ctx.rootNode; + for (const section of sections) { + node = node.children.get(section); + if (!node) { + return success; + } + } + if (node.data) { + const lastSection = sections[sections.length - 1]; + node.data = null; + if (Object.keys(node.children).length === 0) { + const parentNode = node.parent; + parentNode.children.delete(lastSection); + parentNode.wildcardChildNode = null; + parentNode.placeholderChildNode = null; + } + success = true; + } + return success; +} +function createRadixNode(options = {}) { + return { + type: options.type || NODE_TYPES.NORMAL, + parent: options.parent || null, + children: /* @__PURE__ */ new Map(), + data: options.data || null, + paramName: options.paramName || null, + wildcardChildNode: null, + placeholderChildNode: null + }; +} +function getNodeType(str) { + if (str.startsWith("**")) { + return NODE_TYPES.WILDCARD; + } + if (str[0] === ":" || str === "*") { + return NODE_TYPES.PLACEHOLDER; + } + return NODE_TYPES.NORMAL; +} + +function toRouteMatcher(router) { + const table = _routerNodeToTable("", router.ctx.rootNode); + return _createMatcher(table); +} +function _createMatcher(table) { + return { + ctx: { table }, + matchAll: (path) => _matchRoutes(path, table) + }; +} +function _createRouteTable() { + return { + static: /* @__PURE__ */ new Map(), + wildcard: /* @__PURE__ */ new Map(), + dynamic: /* @__PURE__ */ new Map() + }; +} +function _matchRoutes(path, table) { + const matches = []; + for (const [key, value] of _sortRoutesMap(table.wildcard)) { + if (path.startsWith(key)) { + matches.push(value); + } + } + for (const [key, value] of _sortRoutesMap(table.dynamic)) { + if (path.startsWith(key + "/")) { + const subPath = "/" + path.slice(key.length).split("/").splice(2).join("/"); + matches.push(..._matchRoutes(subPath, value)); + } + } + const staticMatch = table.static.get(path); + if (staticMatch) { + matches.push(staticMatch); + } + return matches.filter(Boolean); +} +function _sortRoutesMap(m) { + return [...m.entries()].sort((a, b) => a[0].length - b[0].length); +} +function _routerNodeToTable(initialPath, initialNode) { + const table = _createRouteTable(); + function _addNode(path, node) { + if (path) { + if (node.type === NODE_TYPES.NORMAL && !(path.includes("*") || path.includes(":"))) { + table.static.set(path, node.data); + } else if (node.type === NODE_TYPES.WILDCARD) { + table.wildcard.set(path.replace("/**", ""), node.data); + } else if (node.type === NODE_TYPES.PLACEHOLDER) { + const subTable = _routerNodeToTable("", node); + if (node.data) { + subTable.static.set("/", node.data); + } + table.dynamic.set(path.replace(/\/\*|\/:\w+/, ""), subTable); + return; + } + } + for (const [childPath, child] of node.children.entries()) { + _addNode(`${path}/${childPath}`.replace("//", "/"), child); + } + } + _addNode(initialPath, initialNode); + return table; +} + +function _defu(baseObject, defaults, namespace = ".", merger) { + if (!_isPlainObject(defaults)) { + return _defu(baseObject, {}, namespace, merger); + } + const object = Object.assign({}, defaults); + for (const key in baseObject) { + if (key === "__proto__" || key === "constructor") { + continue; + } + const value = baseObject[key]; + if (value === null || value === void 0) { + continue; + } + if (merger && merger(object, key, value, namespace)) { + continue; + } + if (Array.isArray(value) && Array.isArray(object[key])) { + object[key] = [...value, ...object[key]]; + } else if (_isPlainObject(value) && _isPlainObject(object[key])) { + object[key] = _defu( + value, + object[key], + (namespace ? `${namespace}.` : "") + key.toString(), + merger + ); + } else { + object[key] = value; + } + } + return object; +} +function _isPlainObject(value) { + if (value === null || typeof value !== "object") { + return false; + } + const prototype = Object.getPrototypeOf(value); + return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value); +} +function createDefu(merger) { + return (...arguments_) => ( + // eslint-disable-next-line unicorn/no-array-reduce + arguments_.reduce((p, c) => _defu(p, c, "", merger), {}) + ); +} +const defu = createDefu(); +const defuFn = createDefu((object, key, currentValue) => { + if (object[key] !== void 0 && typeof currentValue === "function") { + object[key] = currentValue(object[key]); + return true; + } +}); + +function rawHeaders(headers) { + const rawHeaders2 = []; + for (const key in headers) { + if (Array.isArray(headers[key])) { + for (const h of headers[key]) { + rawHeaders2.push(key, h); + } + } else { + rawHeaders2.push(key, headers[key]); + } + } + return rawHeaders2; +} +function mergeFns(...functions) { + return function(...args) { + for (const fn of functions) { + fn(...args); + } + }; +} +function createNotImplementedError(name) { + throw new Error(`[unenv] ${name} is not implemented yet!`); +} + +let defaultMaxListeners = 10; +let EventEmitter$1 = class EventEmitter { + __unenv__ = true; + _events = /* @__PURE__ */ Object.create(null); + _maxListeners; + static get defaultMaxListeners() { + return defaultMaxListeners; + } + static set defaultMaxListeners(arg) { + if (typeof arg !== "number" || arg < 0 || Number.isNaN(arg)) { + throw new RangeError( + 'The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + "." + ); + } + defaultMaxListeners = arg; + } + setMaxListeners(n) { + if (typeof n !== "number" || n < 0 || Number.isNaN(n)) { + throw new RangeError( + 'The value of "n" is out of range. It must be a non-negative number. Received ' + n + "." + ); + } + this._maxListeners = n; + return this; + } + getMaxListeners() { + return _getMaxListeners(this); + } + emit(type, ...args) { + if (!this._events[type] || this._events[type].length === 0) { + return false; + } + if (type === "error") { + let er; + if (args.length > 0) { + er = args[0]; + } + if (er instanceof Error) { + throw er; + } + const err = new Error( + "Unhandled error." + (er ? " (" + er.message + ")" : "") + ); + err.context = er; + throw err; + } + for (const _listener of this._events[type]) { + (_listener.listener || _listener).apply(this, args); + } + return true; + } + addListener(type, listener) { + return _addListener(this, type, listener, false); + } + on(type, listener) { + return _addListener(this, type, listener, false); + } + prependListener(type, listener) { + return _addListener(this, type, listener, true); + } + once(type, listener) { + return this.on(type, _wrapOnce(this, type, listener)); + } + prependOnceListener(type, listener) { + return this.prependListener(type, _wrapOnce(this, type, listener)); + } + removeListener(type, listener) { + return _removeListener(this, type, listener); + } + off(type, listener) { + return this.removeListener(type, listener); + } + removeAllListeners(type) { + return _removeAllListeners(this, type); + } + listeners(type) { + return _listeners(this, type, true); + } + rawListeners(type) { + return _listeners(this, type, false); + } + listenerCount(type) { + return this.rawListeners(type).length; + } + eventNames() { + return Object.keys(this._events); + } +}; +function _addListener(target, type, listener, prepend) { + _checkListener(listener); + if (target._events.newListener !== void 0) { + target.emit("newListener", type, listener.listener || listener); + } + if (!target._events[type]) { + target._events[type] = []; + } + if (prepend) { + target._events[type].unshift(listener); + } else { + target._events[type].push(listener); + } + const maxListeners = _getMaxListeners(target); + if (maxListeners > 0 && target._events[type].length > maxListeners && !target._events[type].warned) { + target._events[type].warned = true; + const warning = new Error( + `[unenv] Possible EventEmitter memory leak detected. ${target._events[type].length} ${type} listeners added. Use emitter.setMaxListeners() to increase limit` + ); + warning.name = "MaxListenersExceededWarning"; + warning.emitter = target; + warning.type = type; + warning.count = target._events[type]?.length; + console.warn(warning); + } + return target; +} +function _removeListener(target, type, listener) { + _checkListener(listener); + if (!target._events[type] || target._events[type].length === 0) { + return target; + } + const lenBeforeFilter = target._events[type].length; + target._events[type] = target._events[type].filter((fn) => fn !== listener); + if (lenBeforeFilter === target._events[type].length) { + return target; + } + if (target._events.removeListener) { + target.emit("removeListener", type, listener.listener || listener); + } + if (target._events[type].length === 0) { + delete target._events[type]; + } + return target; +} +function _removeAllListeners(target, type) { + if (!target._events[type] || target._events[type].length === 0) { + return target; + } + if (target._events.removeListener) { + for (const _listener of target._events[type]) { + target.emit("removeListener", type, _listener.listener || _listener); + } + } + delete target._events[type]; + return target; +} +function _wrapOnce(target, type, listener) { + let fired = false; + const wrapper = (...args) => { + if (fired) { + return; + } + target.removeListener(type, wrapper); + fired = true; + return args.length === 0 ? listener.call(target) : listener.apply(target, args); + }; + wrapper.listener = listener; + return wrapper; +} +function _getMaxListeners(target) { + return target._maxListeners ?? EventEmitter$1.defaultMaxListeners; +} +function _listeners(target, type, unwrap) { + let listeners = target._events[type]; + if (typeof listeners === "function") { + listeners = [listeners]; + } + return unwrap ? listeners.map((l) => l.listener || l) : listeners; +} +function _checkListener(listener) { + if (typeof listener !== "function") { + throw new TypeError( + 'The "listener" argument must be of type Function. Received type ' + typeof listener + ); + } +} + +const EventEmitter = globalThis.EventEmitter || EventEmitter$1; + +class _Readable extends EventEmitter { + __unenv__ = true; + readableEncoding = null; + readableEnded = true; + readableFlowing = false; + readableHighWaterMark = 0; + readableLength = 0; + readableObjectMode = false; + readableAborted = false; + readableDidRead = false; + closed = false; + errored = null; + readable = false; + destroyed = false; + static from(_iterable, options) { + return new _Readable(options); + } + constructor(_opts) { + super(); + } + _read(_size) { + } + read(_size) { + } + setEncoding(_encoding) { + return this; + } + pause() { + return this; + } + resume() { + return this; + } + isPaused() { + return true; + } + unpipe(_destination) { + return this; + } + unshift(_chunk, _encoding) { + } + wrap(_oldStream) { + return this; + } + push(_chunk, _encoding) { + return false; + } + _destroy(_error, _callback) { + this.removeAllListeners(); + } + destroy(error) { + this.destroyed = true; + this._destroy(error); + return this; + } + pipe(_destenition, _options) { + return {}; + } + compose(stream, options) { + throw new Error("[unenv] Method not implemented."); + } + [Symbol.asyncDispose]() { + this.destroy(); + return Promise.resolve(); + } + async *[Symbol.asyncIterator]() { + throw createNotImplementedError("Readable.asyncIterator"); + } + iterator(options) { + throw createNotImplementedError("Readable.iterator"); + } + map(fn, options) { + throw createNotImplementedError("Readable.map"); + } + filter(fn, options) { + throw createNotImplementedError("Readable.filter"); + } + forEach(fn, options) { + throw createNotImplementedError("Readable.forEach"); + } + reduce(fn, initialValue, options) { + throw createNotImplementedError("Readable.reduce"); + } + find(fn, options) { + throw createNotImplementedError("Readable.find"); + } + findIndex(fn, options) { + throw createNotImplementedError("Readable.findIndex"); + } + some(fn, options) { + throw createNotImplementedError("Readable.some"); + } + toArray(options) { + throw createNotImplementedError("Readable.toArray"); + } + every(fn, options) { + throw createNotImplementedError("Readable.every"); + } + flatMap(fn, options) { + throw createNotImplementedError("Readable.flatMap"); + } + drop(limit, options) { + throw createNotImplementedError("Readable.drop"); + } + take(limit, options) { + throw createNotImplementedError("Readable.take"); + } + asIndexedPairs(options) { + throw createNotImplementedError("Readable.asIndexedPairs"); + } +} +const Readable = globalThis.Readable || _Readable; + +class _Writable extends EventEmitter { + __unenv__ = true; + writable = true; + writableEnded = false; + writableFinished = false; + writableHighWaterMark = 0; + writableLength = 0; + writableObjectMode = false; + writableCorked = 0; + closed = false; + errored = null; + writableNeedDrain = false; + destroyed = false; + _data; + _encoding = "utf-8"; + constructor(_opts) { + super(); + } + pipe(_destenition, _options) { + return {}; + } + _write(chunk, encoding, callback) { + if (this.writableEnded) { + if (callback) { + callback(); + } + return; + } + if (this._data === void 0) { + this._data = chunk; + } else { + const a = typeof this._data === "string" ? Buffer.from(this._data, this._encoding || encoding || "utf8") : this._data; + const b = typeof chunk === "string" ? Buffer.from(chunk, encoding || this._encoding || "utf8") : chunk; + this._data = Buffer.concat([a, b]); + } + this._encoding = encoding; + if (callback) { + callback(); + } + } + _writev(_chunks, _callback) { + } + _destroy(_error, _callback) { + } + _final(_callback) { + } + write(chunk, arg2, arg3) { + const encoding = typeof arg2 === "string" ? this._encoding : "utf-8"; + const cb = typeof arg2 === "function" ? arg2 : typeof arg3 === "function" ? arg3 : void 0; + this._write(chunk, encoding, cb); + return true; + } + setDefaultEncoding(_encoding) { + return this; + } + end(arg1, arg2, arg3) { + const callback = typeof arg1 === "function" ? arg1 : typeof arg2 === "function" ? arg2 : typeof arg3 === "function" ? arg3 : void 0; + if (this.writableEnded) { + if (callback) { + callback(); + } + return this; + } + const data = arg1 === callback ? void 0 : arg1; + if (data) { + const encoding = arg2 === callback ? void 0 : arg2; + this.write(data, encoding, callback); + } + this.writableEnded = true; + this.writableFinished = true; + this.emit("close"); + this.emit("finish"); + return this; + } + cork() { + } + uncork() { + } + destroy(_error) { + this.destroyed = true; + delete this._data; + this.removeAllListeners(); + return this; + } + compose(stream, options) { + throw new Error("[h3] Method not implemented."); + } +} +const Writable = globalThis.Writable || _Writable; + +const __Duplex = class { + allowHalfOpen = true; + _destroy; + constructor(readable = new Readable(), writable = new Writable()) { + Object.assign(this, readable); + Object.assign(this, writable); + this._destroy = mergeFns(readable._destroy, writable._destroy); + } +}; +function getDuplex() { + Object.assign(__Duplex.prototype, Readable.prototype); + Object.assign(__Duplex.prototype, Writable.prototype); + return __Duplex; +} +const _Duplex = /* @__PURE__ */ getDuplex(); +const Duplex = globalThis.Duplex || _Duplex; + +class Socket extends Duplex { + __unenv__ = true; + bufferSize = 0; + bytesRead = 0; + bytesWritten = 0; + connecting = false; + destroyed = false; + pending = false; + localAddress = ""; + localPort = 0; + remoteAddress = ""; + remoteFamily = ""; + remotePort = 0; + autoSelectFamilyAttemptedAddresses = []; + readyState = "readOnly"; + constructor(_options) { + super(); + } + write(_buffer, _arg1, _arg2) { + return false; + } + connect(_arg1, _arg2, _arg3) { + return this; + } + end(_arg1, _arg2, _arg3) { + return this; + } + setEncoding(_encoding) { + return this; + } + pause() { + return this; + } + resume() { + return this; + } + setTimeout(_timeout, _callback) { + return this; + } + setNoDelay(_noDelay) { + return this; + } + setKeepAlive(_enable, _initialDelay) { + return this; + } + address() { + return {}; + } + unref() { + return this; + } + ref() { + return this; + } + destroySoon() { + this.destroy(); + } + resetAndDestroy() { + const err = new Error("ERR_SOCKET_CLOSED"); + err.code = "ERR_SOCKET_CLOSED"; + this.destroy(err); + return this; + } +} + +class IncomingMessage extends Readable { + __unenv__ = {}; + aborted = false; + httpVersion = "1.1"; + httpVersionMajor = 1; + httpVersionMinor = 1; + complete = true; + connection; + socket; + headers = {}; + trailers = {}; + method = "GET"; + url = "/"; + statusCode = 200; + statusMessage = ""; + closed = false; + errored = null; + readable = false; + constructor(socket) { + super(); + this.socket = this.connection = socket || new Socket(); + } + get rawHeaders() { + return rawHeaders(this.headers); + } + get rawTrailers() { + return []; + } + setTimeout(_msecs, _callback) { + return this; + } + get headersDistinct() { + return _distinct(this.headers); + } + get trailersDistinct() { + return _distinct(this.trailers); + } +} +function _distinct(obj) { + const d = {}; + for (const [key, value] of Object.entries(obj)) { + if (key) { + d[key] = (Array.isArray(value) ? value : [value]).filter( + Boolean + ); + } + } + return d; +} + +class ServerResponse extends Writable { + __unenv__ = true; + statusCode = 200; + statusMessage = ""; + upgrading = false; + chunkedEncoding = false; + shouldKeepAlive = false; + useChunkedEncodingByDefault = false; + sendDate = false; + finished = false; + headersSent = false; + strictContentLength = false; + connection = null; + socket = null; + req; + _headers = {}; + constructor(req) { + super(); + this.req = req; + } + assignSocket(socket) { + socket._httpMessage = this; + this.socket = socket; + this.connection = socket; + this.emit("socket", socket); + this._flush(); + } + _flush() { + this.flushHeaders(); + } + detachSocket(_socket) { + } + writeContinue(_callback) { + } + writeHead(statusCode, arg1, arg2) { + if (statusCode) { + this.statusCode = statusCode; + } + if (typeof arg1 === "string") { + this.statusMessage = arg1; + arg1 = void 0; + } + const headers = arg2 || arg1; + if (headers) { + if (Array.isArray(headers)) ; else { + for (const key in headers) { + this.setHeader(key, headers[key]); + } + } + } + this.headersSent = true; + return this; + } + writeProcessing() { + } + setTimeout(_msecs, _callback) { + return this; + } + appendHeader(name, value) { + name = name.toLowerCase(); + const current = this._headers[name]; + const all = [ + ...Array.isArray(current) ? current : [current], + ...Array.isArray(value) ? value : [value] + ].filter(Boolean); + this._headers[name] = all.length > 1 ? all : all[0]; + return this; + } + setHeader(name, value) { + this._headers[name.toLowerCase()] = value; + return this; + } + getHeader(name) { + return this._headers[name.toLowerCase()]; + } + getHeaders() { + return this._headers; + } + getHeaderNames() { + return Object.keys(this._headers); + } + hasHeader(name) { + return name.toLowerCase() in this._headers; + } + removeHeader(name) { + delete this._headers[name.toLowerCase()]; + } + addTrailers(_headers) { + } + flushHeaders() { + } + writeEarlyHints(_headers, cb) { + if (typeof cb === "function") { + cb(); + } + } +} + +function hasProp(obj, prop) { + try { + return prop in obj; + } catch { + return false; + } +} + +var __defProp$1 = Object.defineProperty; +var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField$1 = (obj, key, value) => { + __defNormalProp$1(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +class H3Error extends Error { + constructor(message, opts = {}) { + super(message, opts); + __publicField$1(this, "statusCode", 500); + __publicField$1(this, "fatal", false); + __publicField$1(this, "unhandled", false); + __publicField$1(this, "statusMessage"); + __publicField$1(this, "data"); + __publicField$1(this, "cause"); + if (opts.cause && !this.cause) { + this.cause = opts.cause; + } + } + toJSON() { + const obj = { + message: this.message, + statusCode: sanitizeStatusCode(this.statusCode, 500) + }; + if (this.statusMessage) { + obj.statusMessage = sanitizeStatusMessage(this.statusMessage); + } + if (this.data !== void 0) { + obj.data = this.data; + } + return obj; + } +} +__publicField$1(H3Error, "__h3_error__", true); +function createError$1(input) { + if (typeof input === "string") { + return new H3Error(input); + } + if (isError(input)) { + return input; + } + const err = new H3Error(input.message ?? input.statusMessage ?? "", { + cause: input.cause || input + }); + if (hasProp(input, "stack")) { + try { + Object.defineProperty(err, "stack", { + get() { + return input.stack; + } + }); + } catch { + try { + err.stack = input.stack; + } catch { + } + } + } + if (input.data) { + err.data = input.data; + } + if (input.statusCode) { + err.statusCode = sanitizeStatusCode(input.statusCode, err.statusCode); + } else if (input.status) { + err.statusCode = sanitizeStatusCode(input.status, err.statusCode); + } + if (input.statusMessage) { + err.statusMessage = input.statusMessage; + } else if (input.statusText) { + err.statusMessage = input.statusText; + } + if (err.statusMessage) { + const originalMessage = err.statusMessage; + const sanitizedMessage = sanitizeStatusMessage(err.statusMessage); + if (sanitizedMessage !== originalMessage) { + console.warn( + "[h3] Please prefer using `message` for longer error messages instead of `statusMessage`. In the future, `statusMessage` will be sanitized by default." + ); + } + } + if (input.fatal !== void 0) { + err.fatal = input.fatal; + } + if (input.unhandled !== void 0) { + err.unhandled = input.unhandled; + } + return err; +} +function sendError(event, error, debug) { + if (event.handled) { + return; + } + const h3Error = isError(error) ? error : createError$1(error); + const responseBody = { + statusCode: h3Error.statusCode, + statusMessage: h3Error.statusMessage, + stack: [], + data: h3Error.data + }; + if (debug) { + responseBody.stack = (h3Error.stack || "").split("\n").map((l) => l.trim()); + } + if (event.handled) { + return; + } + const _code = Number.parseInt(h3Error.statusCode); + setResponseStatus(event, _code, h3Error.statusMessage); + event.node.res.setHeader("content-type", MIMES.json); + event.node.res.end(JSON.stringify(responseBody, void 0, 2)); +} +function isError(input) { + return input?.constructor?.__h3_error__ === true; +} + +function getQuery(event) { + return getQuery$1(event.path || ""); +} +function isMethod(event, expected, allowHead) { + if (allowHead && event.method === "HEAD") { + return true; + } + if (typeof expected === "string") { + if (event.method === expected) { + return true; + } + } else if (expected.includes(event.method)) { + return true; + } + return false; +} +function assertMethod(event, expected, allowHead) { + if (!isMethod(event, expected, allowHead)) { + throw createError$1({ + statusCode: 405, + statusMessage: "HTTP method is not allowed." + }); + } +} +function getRequestHeaders(event) { + const _headers = {}; + for (const key in event.node.req.headers) { + const val = event.node.req.headers[key]; + _headers[key] = Array.isArray(val) ? val.filter(Boolean).join(", ") : val; + } + return _headers; +} +function getRequestHeader(event, name) { + const headers = getRequestHeaders(event); + const value = headers[name.toLowerCase()]; + return value; +} + +const RawBodySymbol = Symbol.for("h3RawBody"); +const PayloadMethods$1 = ["PATCH", "POST", "PUT", "DELETE"]; +function readRawBody(event, encoding = "utf8") { + assertMethod(event, PayloadMethods$1); + const _rawBody = event._requestBody || event.web?.request?.body || event.node.req[RawBodySymbol] || event.node.req.body; + if (_rawBody) { + const promise2 = Promise.resolve(_rawBody).then((_resolved) => { + if (Buffer.isBuffer(_resolved)) { + return _resolved; + } + if (typeof _resolved.pipeTo === "function") { + return new Promise((resolve, reject) => { + const chunks = []; + _resolved.pipeTo( + new WritableStream({ + write(chunk) { + chunks.push(chunk); + }, + close() { + resolve(Buffer.concat(chunks)); + }, + abort(reason) { + reject(reason); + } + }) + ).catch(reject); + }); + } else if (typeof _resolved.pipe === "function") { + return new Promise((resolve, reject) => { + const chunks = []; + _resolved.on("data", (chunk) => { + chunks.push(chunk); + }).on("end", () => { + resolve(Buffer.concat(chunks)); + }).on("error", reject); + }); + } + if (_resolved.constructor === Object) { + return Buffer.from(JSON.stringify(_resolved)); + } + return Buffer.from(_resolved); + }); + return encoding ? promise2.then((buff) => buff.toString(encoding)) : promise2; + } + if (!Number.parseInt(event.node.req.headers["content-length"] || "")) { + return Promise.resolve(void 0); + } + const promise = event.node.req[RawBodySymbol] = new Promise( + (resolve, reject) => { + const bodyData = []; + event.node.req.on("error", (err) => { + reject(err); + }).on("data", (chunk) => { + bodyData.push(chunk); + }).on("end", () => { + resolve(Buffer.concat(bodyData)); + }); + } + ); + const result = encoding ? promise.then((buff) => buff.toString(encoding)) : promise; + return result; +} +function getRequestWebStream(event) { + if (!PayloadMethods$1.includes(event.method)) { + return; + } + return event.web?.request?.body || event._requestBody || new ReadableStream({ + start: (controller) => { + event.node.req.on("data", (chunk) => { + controller.enqueue(chunk); + }); + event.node.req.on("end", () => { + controller.close(); + }); + event.node.req.on("error", (err) => { + controller.error(err); + }); + } + }); +} + +function handleCacheHeaders(event, opts) { + const cacheControls = ["public", ...opts.cacheControls || []]; + let cacheMatched = false; + if (opts.maxAge !== void 0) { + cacheControls.push(`max-age=${+opts.maxAge}`, `s-maxage=${+opts.maxAge}`); + } + if (opts.modifiedTime) { + const modifiedTime = new Date(opts.modifiedTime); + const ifModifiedSince = event.node.req.headers["if-modified-since"]; + event.node.res.setHeader("last-modified", modifiedTime.toUTCString()); + if (ifModifiedSince && new Date(ifModifiedSince) >= opts.modifiedTime) { + cacheMatched = true; + } + } + if (opts.etag) { + event.node.res.setHeader("etag", opts.etag); + const ifNonMatch = event.node.req.headers["if-none-match"]; + if (ifNonMatch === opts.etag) { + cacheMatched = true; + } + } + event.node.res.setHeader("cache-control", cacheControls.join(", ")); + if (cacheMatched) { + event.node.res.statusCode = 304; + if (!event.handled) { + event.node.res.end(); + } + return true; + } + return false; +} + +const MIMES = { + html: "text/html", + json: "application/json" +}; + +const DISALLOWED_STATUS_CHARS = /[^\u0009\u0020-\u007E]/g; +function sanitizeStatusMessage(statusMessage = "") { + return statusMessage.replace(DISALLOWED_STATUS_CHARS, ""); +} +function sanitizeStatusCode(statusCode, defaultStatusCode = 200) { + if (!statusCode) { + return defaultStatusCode; + } + if (typeof statusCode === "string") { + statusCode = Number.parseInt(statusCode, 10); + } + if (statusCode < 100 || statusCode > 999) { + return defaultStatusCode; + } + return statusCode; +} +function splitCookiesString(cookiesString) { + if (Array.isArray(cookiesString)) { + return cookiesString.flatMap((c) => splitCookiesString(c)); + } + if (typeof cookiesString !== "string") { + return []; + } + const cookiesStrings = []; + let pos = 0; + let start; + let ch; + let lastComma; + let nextStart; + let cookiesSeparatorFound; + const skipWhitespace = () => { + while (pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))) { + pos += 1; + } + return pos < cookiesString.length; + }; + const notSpecialChar = () => { + ch = cookiesString.charAt(pos); + return ch !== "=" && ch !== ";" && ch !== ","; + }; + while (pos < cookiesString.length) { + start = pos; + cookiesSeparatorFound = false; + while (skipWhitespace()) { + ch = cookiesString.charAt(pos); + if (ch === ",") { + lastComma = pos; + pos += 1; + skipWhitespace(); + nextStart = pos; + while (pos < cookiesString.length && notSpecialChar()) { + pos += 1; + } + if (pos < cookiesString.length && cookiesString.charAt(pos) === "=") { + cookiesSeparatorFound = true; + pos = nextStart; + cookiesStrings.push(cookiesString.slice(start, lastComma)); + start = pos; + } else { + pos = lastComma + 1; + } + } else { + pos += 1; + } + } + if (!cookiesSeparatorFound || pos >= cookiesString.length) { + cookiesStrings.push(cookiesString.slice(start, cookiesString.length)); + } + } + return cookiesStrings; +} + +const defer = typeof setImmediate === "undefined" ? (fn) => fn() : setImmediate; +function send(event, data, type) { + if (type) { + defaultContentType(event, type); + } + return new Promise((resolve) => { + defer(() => { + if (!event.handled) { + event.node.res.end(data); + } + resolve(); + }); + }); +} +function sendNoContent(event, code) { + if (event.handled) { + return; + } + if (!code && event.node.res.statusCode !== 200) { + code = event.node.res.statusCode; + } + const _code = sanitizeStatusCode(code, 204); + if (_code === 204) { + event.node.res.removeHeader("content-length"); + } + event.node.res.writeHead(_code); + event.node.res.end(); +} +function setResponseStatus(event, code, text) { + if (code) { + event.node.res.statusCode = sanitizeStatusCode( + code, + event.node.res.statusCode + ); + } + if (text) { + event.node.res.statusMessage = sanitizeStatusMessage(text); + } +} +function getResponseStatus(event) { + return event.node.res.statusCode; +} +function getResponseStatusText(event) { + return event.node.res.statusMessage; +} +function defaultContentType(event, type) { + if (type && !event.node.res.getHeader("content-type")) { + event.node.res.setHeader("content-type", type); + } +} +function sendRedirect(event, location, code = 302) { + event.node.res.statusCode = sanitizeStatusCode( + code, + event.node.res.statusCode + ); + event.node.res.setHeader("location", location); + const encodedLoc = location.replace(/"/g, "%22"); + const html = ``; + return send(event, html, MIMES.html); +} +function getResponseHeader(event, name) { + return event.node.res.getHeader(name); +} +function setResponseHeaders(event, headers) { + for (const [name, value] of Object.entries(headers)) { + event.node.res.setHeader(name, value); + } +} +const setHeaders = setResponseHeaders; +function setResponseHeader(event, name, value) { + event.node.res.setHeader(name, value); +} +function removeResponseHeader(event, name) { + return event.node.res.removeHeader(name); +} +function isStream(data) { + if (!data || typeof data !== "object") { + return false; + } + if (typeof data.pipe === "function") { + if (typeof data._read === "function") { + return true; + } + if (typeof data.abort === "function") { + return true; + } + } + if (typeof data.pipeTo === "function") { + return true; + } + return false; +} +function isWebResponse(data) { + return typeof Response !== "undefined" && data instanceof Response; +} +function sendStream(event, stream) { + if (!stream || typeof stream !== "object") { + throw new Error("[h3] Invalid stream provided."); + } + event.node.res._data = stream; + if (!event.node.res.socket) { + event._handled = true; + return Promise.resolve(); + } + if (hasProp(stream, "pipeTo") && typeof stream.pipeTo === "function") { + return stream.pipeTo( + new WritableStream({ + write(chunk) { + event.node.res.write(chunk); + } + }) + ).then(() => { + event.node.res.end(); + }); + } + if (hasProp(stream, "pipe") && typeof stream.pipe === "function") { + return new Promise((resolve, reject) => { + stream.pipe(event.node.res); + if (stream.on) { + stream.on("end", () => { + event.node.res.end(); + resolve(); + }); + stream.on("error", (error) => { + reject(error); + }); + } + event.node.res.on("close", () => { + if (stream.abort) { + stream.abort(); + } + }); + }); + } + throw new Error("[h3] Invalid or incompatible stream provided."); +} +function sendWebResponse(event, response) { + for (const [key, value] of response.headers) { + if (key === "set-cookie") { + event.node.res.appendHeader(key, splitCookiesString(value)); + } else { + event.node.res.setHeader(key, value); + } + } + if (response.status) { + event.node.res.statusCode = sanitizeStatusCode( + response.status, + event.node.res.statusCode + ); + } + if (response.statusText) { + event.node.res.statusMessage = sanitizeStatusMessage(response.statusText); + } + if (response.redirected) { + event.node.res.setHeader("location", response.url); + } + if (!response.body) { + event.node.res.end(); + return; + } + return sendStream(event, response.body); +} + +const PayloadMethods = /* @__PURE__ */ new Set(["PATCH", "POST", "PUT", "DELETE"]); +const ignoredHeaders = /* @__PURE__ */ new Set([ + "transfer-encoding", + "connection", + "keep-alive", + "upgrade", + "expect", + "host" +]); +async function proxyRequest(event, target, opts = {}) { + let body; + let duplex; + if (PayloadMethods.has(event.method)) { + if (opts.streamRequest) { + body = getRequestWebStream(event); + duplex = "half"; + } else { + body = await readRawBody(event, false).catch(() => void 0); + } + } + const method = opts.fetchOptions?.method || event.method; + const fetchHeaders = mergeHeaders( + getProxyRequestHeaders(event), + opts.fetchOptions?.headers, + opts.headers + ); + return sendProxy(event, target, { + ...opts, + fetchOptions: { + method, + body, + duplex, + ...opts.fetchOptions, + headers: fetchHeaders + } + }); +} +async function sendProxy(event, target, opts = {}) { + const response = await _getFetch(opts.fetch)(target, { + headers: opts.headers, + ignoreResponseError: true, + // make $ofetch.raw transparent + ...opts.fetchOptions + }); + event.node.res.statusCode = sanitizeStatusCode( + response.status, + event.node.res.statusCode + ); + event.node.res.statusMessage = sanitizeStatusMessage(response.statusText); + const cookies = []; + for (const [key, value] of response.headers.entries()) { + if (key === "content-encoding") { + continue; + } + if (key === "content-length") { + continue; + } + if (key === "set-cookie") { + cookies.push(...splitCookiesString(value)); + continue; + } + event.node.res.setHeader(key, value); + } + if (cookies.length > 0) { + event.node.res.setHeader( + "set-cookie", + cookies.map((cookie) => { + if (opts.cookieDomainRewrite) { + cookie = rewriteCookieProperty( + cookie, + opts.cookieDomainRewrite, + "domain" + ); + } + if (opts.cookiePathRewrite) { + cookie = rewriteCookieProperty( + cookie, + opts.cookiePathRewrite, + "path" + ); + } + return cookie; + }) + ); + } + if (opts.onResponse) { + await opts.onResponse(event, response); + } + if (response._data !== void 0) { + return response._data; + } + if (event.handled) { + return; + } + if (opts.sendStream === false) { + const data = new Uint8Array(await response.arrayBuffer()); + return event.node.res.end(data); + } + if (response.body) { + for await (const chunk of response.body) { + event.node.res.write(chunk); + } + } + return event.node.res.end(); +} +function getProxyRequestHeaders(event) { + const headers = /* @__PURE__ */ Object.create(null); + const reqHeaders = getRequestHeaders(event); + for (const name in reqHeaders) { + if (!ignoredHeaders.has(name)) { + headers[name] = reqHeaders[name]; + } + } + return headers; +} +function fetchWithEvent(event, req, init, options) { + return _getFetch(options?.fetch)(req, { + ...init, + context: init?.context || event.context, + headers: { + ...getProxyRequestHeaders(event), + ...init?.headers + } + }); +} +function _getFetch(_fetch) { + if (_fetch) { + return _fetch; + } + if (globalThis.fetch) { + return globalThis.fetch; + } + throw new Error( + "fetch is not available. Try importing `node-fetch-native/polyfill` for Node.js." + ); +} +function rewriteCookieProperty(header, map, property) { + const _map = typeof map === "string" ? { "*": map } : map; + return header.replace( + new RegExp(`(;\\s*${property}=)([^;]+)`, "gi"), + (match, prefix, previousValue) => { + let newValue; + if (previousValue in _map) { + newValue = _map[previousValue]; + } else if ("*" in _map) { + newValue = _map["*"]; + } else { + return match; + } + return newValue ? prefix + newValue : ""; + } + ); +} +function mergeHeaders(defaults, ...inputs) { + const _inputs = inputs.filter(Boolean); + if (_inputs.length === 0) { + return defaults; + } + const merged = new Headers(defaults); + for (const input of _inputs) { + for (const [key, value] of Object.entries(input)) { + if (value !== void 0) { + merged.set(key, value); + } + } + } + return merged; +} + +var __defProp = Object.defineProperty; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => { + __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +class H3Event { + constructor(req, res) { + __publicField(this, "__is_event__", true); + // Context + __publicField(this, "node"); + // Node + __publicField(this, "web"); + // Web + __publicField(this, "context", {}); + // Shared + // Request + __publicField(this, "_method"); + __publicField(this, "_path"); + __publicField(this, "_headers"); + __publicField(this, "_requestBody"); + // Response + __publicField(this, "_handled", false); + this.node = { req, res }; + } + // --- Request --- + get method() { + if (!this._method) { + this._method = (this.node.req.method || "GET").toUpperCase(); + } + return this._method; + } + get path() { + return this._path || this.node.req.url || "/"; + } + get headers() { + if (!this._headers) { + this._headers = _normalizeNodeHeaders(this.node.req.headers); + } + return this._headers; + } + // --- Respoonse --- + get handled() { + return this._handled || this.node.res.writableEnded || this.node.res.headersSent; + } + respondWith(response) { + return Promise.resolve(response).then( + (_response) => sendWebResponse(this, _response) + ); + } + // --- Utils --- + toString() { + return `[${this.method}] ${this.path}`; + } + toJSON() { + return this.toString(); + } + // --- Deprecated --- + /** @deprecated Please use `event.node.req` instead. **/ + get req() { + return this.node.req; + } + /** @deprecated Please use `event.node.res` instead. **/ + get res() { + return this.node.res; + } +} +function isEvent(input) { + return hasProp(input, "__is_event__"); +} +function createEvent(req, res) { + return new H3Event(req, res); +} +function _normalizeNodeHeaders(nodeHeaders) { + const headers = new Headers(); + for (const [name, value] of Object.entries(nodeHeaders)) { + if (Array.isArray(value)) { + for (const item of value) { + headers.append(name, item); + } + } else if (value) { + headers.set(name, value); + } + } + return headers; +} + +function defineEventHandler(handler) { + if (typeof handler === "function") { + return Object.assign(handler, { __is_handler__: true }); + } + const _hooks = { + onRequest: _normalizeArray(handler.onRequest), + onBeforeResponse: _normalizeArray(handler.onBeforeResponse) + }; + const _handler = (event) => { + return _callHandler(event, handler.handler, _hooks); + }; + return Object.assign(_handler, { __is_handler__: true }); +} +function _normalizeArray(input) { + return input ? Array.isArray(input) ? input : [input] : void 0; +} +async function _callHandler(event, handler, hooks) { + if (hooks.onRequest) { + for (const hook of hooks.onRequest) { + await hook(event); + if (event.handled) { + return; + } + } + } + const body = await handler(event); + const response = { body }; + if (hooks.onBeforeResponse) { + for (const hook of hooks.onBeforeResponse) { + await hook(event, response); + } + } + return response.body; +} +const eventHandler = defineEventHandler; +function isEventHandler(input) { + return hasProp(input, "__is_handler__"); +} +function toEventHandler(input, _, _route) { + if (!isEventHandler(input)) { + console.warn( + "[h3] Implicit event handler conversion is deprecated. Use `eventHandler()` or `fromNodeMiddleware()` to define event handlers.", + _route && _route !== "/" ? ` + Route: ${_route}` : "", + ` + Handler: ${input}` + ); + } + return input; +} +function defineLazyEventHandler(factory) { + let _promise; + let _resolved; + const resolveHandler = () => { + if (_resolved) { + return Promise.resolve(_resolved); + } + if (!_promise) { + _promise = Promise.resolve(factory()).then((r) => { + const handler = r.default || r; + if (typeof handler !== "function") { + throw new TypeError( + "Invalid lazy handler result. It should be a function:", + handler + ); + } + _resolved = toEventHandler(r.default || r); + return _resolved; + }); + } + return _promise; + }; + return eventHandler((event) => { + if (_resolved) { + return _resolved(event); + } + return resolveHandler().then((handler) => handler(event)); + }); +} +const lazyEventHandler = defineLazyEventHandler; + +function createApp(options = {}) { + const stack = []; + const handler = createAppEventHandler(stack, options); + const app = { + // @ts-ignore + use: (arg1, arg2, arg3) => use(app, arg1, arg2, arg3), + handler, + stack, + options + }; + return app; +} +function use(app, arg1, arg2, arg3) { + if (Array.isArray(arg1)) { + for (const i of arg1) { + use(app, i, arg2, arg3); + } + } else if (Array.isArray(arg2)) { + for (const i of arg2) { + use(app, arg1, i, arg3); + } + } else if (typeof arg1 === "string") { + app.stack.push( + normalizeLayer({ ...arg3, route: arg1, handler: arg2 }) + ); + } else if (typeof arg1 === "function") { + app.stack.push( + normalizeLayer({ ...arg2, route: "/", handler: arg1 }) + ); + } else { + app.stack.push(normalizeLayer({ ...arg1 })); + } + return app; +} +function createAppEventHandler(stack, options) { + const spacing = options.debug ? 2 : void 0; + return eventHandler(async (event) => { + event.node.req.originalUrl = event.node.req.originalUrl || event.node.req.url || "/"; + const _reqPath = event._path || event.node.req.url || "/"; + let _layerPath; + if (options.onRequest) { + await options.onRequest(event); + } + for (const layer of stack) { + if (layer.route.length > 1) { + if (!_reqPath.startsWith(layer.route)) { + continue; + } + _layerPath = _reqPath.slice(layer.route.length) || "/"; + } else { + _layerPath = _reqPath; + } + if (layer.match && !layer.match(_layerPath, event)) { + continue; + } + event._path = _layerPath; + event.node.req.url = _layerPath; + const val = await layer.handler(event); + const _body = val === void 0 ? void 0 : await val; + if (_body !== void 0) { + const _response = { body: _body }; + if (options.onBeforeResponse) { + await options.onBeforeResponse(event, _response); + } + await handleHandlerResponse(event, _response.body, spacing); + if (options.onAfterResponse) { + await options.onAfterResponse(event, _response); + } + return; + } + if (event.handled) { + if (options.onAfterResponse) { + await options.onAfterResponse(event, void 0); + } + return; + } + } + if (!event.handled) { + throw createError$1({ + statusCode: 404, + statusMessage: `Cannot find any path matching ${event.path || "/"}.` + }); + } + if (options.onAfterResponse) { + await options.onAfterResponse(event, void 0); + } + }); +} +function normalizeLayer(input) { + let handler = input.handler; + if (handler.handler) { + handler = handler.handler; + } + if (input.lazy) { + handler = lazyEventHandler(handler); + } else if (!isEventHandler(handler)) { + handler = toEventHandler(handler, void 0, input.route); + } + return { + route: withoutTrailingSlash(input.route), + match: input.match, + handler + }; +} +function handleHandlerResponse(event, val, jsonSpace) { + if (val === null) { + return sendNoContent(event); + } + if (val) { + if (isWebResponse(val)) { + return sendWebResponse(event, val); + } + if (isStream(val)) { + return sendStream(event, val); + } + if (val.buffer) { + return send(event, val); + } + if (val.arrayBuffer && typeof val.arrayBuffer === "function") { + return val.arrayBuffer().then((arrayBuffer) => { + return send(event, Buffer.from(arrayBuffer), val.type); + }); + } + if (val instanceof Error) { + throw createError$1(val); + } + if (typeof val.end === "function") { + return true; + } + } + const valType = typeof val; + if (valType === "string") { + return send(event, val, MIMES.html); + } + if (valType === "object" || valType === "boolean" || valType === "number") { + return send(event, JSON.stringify(val, void 0, jsonSpace), MIMES.json); + } + if (valType === "bigint") { + return send(event, val.toString(), MIMES.json); + } + throw createError$1({ + statusCode: 500, + statusMessage: `[h3] Cannot send ${valType} as response.` + }); +} + +const RouterMethods = [ + "connect", + "delete", + "get", + "head", + "options", + "post", + "put", + "trace", + "patch" +]; +function createRouter(opts = {}) { + const _router = createRouter$1({}); + const routes = {}; + let _matcher; + const router = {}; + const addRoute = (path, handler, method) => { + let route = routes[path]; + if (!route) { + routes[path] = route = { path, handlers: {} }; + _router.insert(path, route); + } + if (Array.isArray(method)) { + for (const m of method) { + addRoute(path, handler, m); + } + } else { + route.handlers[method] = toEventHandler(handler, void 0, path); + } + return router; + }; + router.use = router.add = (path, handler, method) => addRoute(path, handler, method || "all"); + for (const method of RouterMethods) { + router[method] = (path, handle) => router.add(path, handle, method); + } + router.handler = eventHandler((event) => { + let path = event.path || "/"; + const qIndex = path.indexOf("?"); + if (qIndex !== -1) { + path = path.slice(0, Math.max(0, qIndex)); + } + const matched = _router.lookup(path); + if (!matched || !matched.handlers) { + if (opts.preemptive || opts.preemtive) { + throw createError$1({ + statusCode: 404, + name: "Not Found", + statusMessage: `Cannot find any route matching ${event.path || "/"}.` + }); + } else { + return; + } + } + const method = (event.node.req.method || "get").toLowerCase(); + let handler = matched.handlers[method] || matched.handlers.all; + if (!handler) { + if (!_matcher) { + _matcher = toRouteMatcher(_router); + } + const _matches = _matcher.matchAll(path).reverse(); + for (const _match of _matches) { + if (_match.handlers[method]) { + handler = _match.handlers[method]; + matched.handlers[method] = matched.handlers[method] || handler; + break; + } + if (_match.handlers.all) { + handler = _match.handlers.all; + matched.handlers.all = matched.handlers.all || handler; + break; + } + } + } + if (!handler) { + if (opts.preemptive || opts.preemtive) { + throw createError$1({ + statusCode: 405, + name: "Method Not Allowed", + statusMessage: `Method ${method} is not allowed on this route.` + }); + } else { + return; + } + } + event.context.matchedRoute = matched; + const params = matched.params || {}; + event.context.params = params; + return Promise.resolve(handler(event)).then((res) => { + if (res === void 0 && (opts.preemptive || opts.preemtive)) { + return null; + } + return res; + }); + }); + return router; +} +function toNodeListener(app) { + const toNodeHandle = async function(req, res) { + const event = createEvent(req, res); + try { + await app.handler(event); + } catch (_error) { + const error = createError$1(_error); + if (!isError(_error)) { + error.unhandled = true; + } + if (app.options.onError) { + await app.options.onError(error, event); + } + if (event.handled) { + return; + } + if (error.unhandled || error.fatal) { + console.error("[h3]", error.fatal ? "[fatal]" : "[unhandled]", error); + } + await sendError(event, error, !!app.options.debug); + } + }; + return toNodeHandle; +} + +const s=globalThis.Headers,i=globalThis.AbortController,l=globalThis.fetch||(()=>{throw new Error("[node-fetch-native] Failed to fetch: `globalThis.fetch` is not available!")}); + +class FetchError extends Error { + constructor(message, opts) { + super(message, opts); + this.name = "FetchError"; + if (opts?.cause && !this.cause) { + this.cause = opts.cause; + } + } +} +function createFetchError(ctx) { + const errorMessage = ctx.error?.message || ctx.error?.toString() || ""; + const method = ctx.request?.method || ctx.options?.method || "GET"; + const url = ctx.request?.url || String(ctx.request) || "/"; + const requestStr = `[${method}] ${JSON.stringify(url)}`; + const statusStr = ctx.response ? `${ctx.response.status} ${ctx.response.statusText}` : ""; + const message = `${requestStr}: ${statusStr}${errorMessage ? ` ${errorMessage}` : ""}`; + const fetchError = new FetchError( + message, + ctx.error ? { cause: ctx.error } : void 0 + ); + for (const key of ["request", "options", "response"]) { + Object.defineProperty(fetchError, key, { + get() { + return ctx[key]; + } + }); + } + for (const [key, refKey] of [ + ["data", "_data"], + ["status", "status"], + ["statusCode", "status"], + ["statusText", "statusText"], + ["statusMessage", "statusText"] + ]) { + Object.defineProperty(fetchError, key, { + get() { + return ctx.response && ctx.response[refKey]; + } + }); + } + return fetchError; +} + +const payloadMethods = new Set( + Object.freeze(["PATCH", "POST", "PUT", "DELETE"]) +); +function isPayloadMethod(method = "GET") { + return payloadMethods.has(method.toUpperCase()); +} +function isJSONSerializable(value) { + if (value === void 0) { + return false; + } + const t = typeof value; + if (t === "string" || t === "number" || t === "boolean" || t === null) { + return true; + } + if (t !== "object") { + return false; + } + if (Array.isArray(value)) { + return true; + } + if (value.buffer) { + return false; + } + return value.constructor && value.constructor.name === "Object" || typeof value.toJSON === "function"; +} +const textTypes = /* @__PURE__ */ new Set([ + "image/svg", + "application/xml", + "application/xhtml", + "application/html" +]); +const JSON_RE = /^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i; +function detectResponseType(_contentType = "") { + if (!_contentType) { + return "json"; + } + const contentType = _contentType.split(";").shift() || ""; + if (JSON_RE.test(contentType)) { + return "json"; + } + if (textTypes.has(contentType) || contentType.startsWith("text/")) { + return "text"; + } + return "blob"; +} +function mergeFetchOptions(input, defaults, Headers = globalThis.Headers) { + const merged = { + ...defaults, + ...input + }; + if (defaults?.params && input?.params) { + merged.params = { + ...defaults?.params, + ...input?.params + }; + } + if (defaults?.query && input?.query) { + merged.query = { + ...defaults?.query, + ...input?.query + }; + } + if (defaults?.headers && input?.headers) { + merged.headers = new Headers(defaults?.headers || {}); + for (const [key, value] of new Headers(input?.headers || {})) { + merged.headers.set(key, value); + } + } + return merged; +} + +const retryStatusCodes = /* @__PURE__ */ new Set([ + 408, + // Request Timeout + 409, + // Conflict + 425, + // Too Early + 429, + // Too Many Requests + 500, + // Internal Server Error + 502, + // Bad Gateway + 503, + // Service Unavailable + 504 + // Gateway Timeout +]); +const nullBodyResponses$1 = /* @__PURE__ */ new Set([101, 204, 205, 304]); +function createFetch$1(globalOptions = {}) { + const { + fetch = globalThis.fetch, + Headers = globalThis.Headers, + AbortController = globalThis.AbortController + } = globalOptions; + async function onError(context) { + const isAbort = context.error && context.error.name === "AbortError" && !context.options.timeout || false; + if (context.options.retry !== false && !isAbort) { + let retries; + if (typeof context.options.retry === "number") { + retries = context.options.retry; + } else { + retries = isPayloadMethod(context.options.method) ? 0 : 1; + } + const responseCode = context.response && context.response.status || 500; + if (retries > 0 && (Array.isArray(context.options.retryStatusCodes) ? context.options.retryStatusCodes.includes(responseCode) : retryStatusCodes.has(responseCode))) { + const retryDelay = context.options.retryDelay || 0; + if (retryDelay > 0) { + await new Promise((resolve) => setTimeout(resolve, retryDelay)); + } + return $fetchRaw(context.request, { + ...context.options, + retry: retries - 1, + timeout: context.options.timeout + }); + } + } + const error = createFetchError(context); + if (Error.captureStackTrace) { + Error.captureStackTrace(error, $fetchRaw); + } + throw error; + } + const $fetchRaw = async function $fetchRaw2(_request, _options = {}) { + const context = { + request: _request, + options: mergeFetchOptions(_options, globalOptions.defaults, Headers), + response: void 0, + error: void 0 + }; + context.options.method = context.options.method?.toUpperCase(); + if (context.options.onRequest) { + await context.options.onRequest(context); + } + if (typeof context.request === "string") { + if (context.options.baseURL) { + context.request = withBase(context.request, context.options.baseURL); + } + if (context.options.query || context.options.params) { + context.request = withQuery(context.request, { + ...context.options.params, + ...context.options.query + }); + } + } + if (context.options.body && isPayloadMethod(context.options.method)) { + if (isJSONSerializable(context.options.body)) { + context.options.body = typeof context.options.body === "string" ? context.options.body : JSON.stringify(context.options.body); + context.options.headers = new Headers(context.options.headers || {}); + if (!context.options.headers.has("content-type")) { + context.options.headers.set("content-type", "application/json"); + } + if (!context.options.headers.has("accept")) { + context.options.headers.set("accept", "application/json"); + } + } else if ( + // ReadableStream Body + "pipeTo" in context.options.body && typeof context.options.body.pipeTo === "function" || // Node.js Stream Body + typeof context.options.body.pipe === "function" + ) { + if (!("duplex" in context.options)) { + context.options.duplex = "half"; + } + } + } + if (!context.options.signal && context.options.timeout) { + const controller = new AbortController(); + setTimeout(() => controller.abort(), context.options.timeout); + context.options.signal = controller.signal; + } + try { + context.response = await fetch( + context.request, + context.options + ); + } catch (error) { + context.error = error; + if (context.options.onRequestError) { + await context.options.onRequestError(context); + } + return await onError(context); + } + const hasBody = context.response.body && !nullBodyResponses$1.has(context.response.status) && context.options.method !== "HEAD"; + if (hasBody) { + const responseType = (context.options.parseResponse ? "json" : context.options.responseType) || detectResponseType(context.response.headers.get("content-type") || ""); + switch (responseType) { + case "json": { + const data = await context.response.text(); + const parseFunction = context.options.parseResponse || destr; + context.response._data = parseFunction(data); + break; + } + case "stream": { + context.response._data = context.response.body; + break; + } + default: { + context.response._data = await context.response[responseType](); + } + } + } + if (context.options.onResponse) { + await context.options.onResponse(context); + } + if (!context.options.ignoreResponseError && context.response.status >= 400 && context.response.status < 600) { + if (context.options.onResponseError) { + await context.options.onResponseError(context); + } + return await onError(context); + } + return context.response; + }; + const $fetch = async function $fetch2(request, options) { + const r = await $fetchRaw(request, options); + return r._data; + }; + $fetch.raw = $fetchRaw; + $fetch.native = (...args) => fetch(...args); + $fetch.create = (defaultOptions = {}) => createFetch$1({ + ...globalOptions, + defaults: { + ...globalOptions.defaults, + ...defaultOptions + } + }); + return $fetch; +} + +function createNodeFetch() { + const useKeepAlive = JSON.parse(process.env.FETCH_KEEP_ALIVE || "false"); + if (!useKeepAlive) { + return l; + } + const agentOptions = { keepAlive: true }; + const httpAgent = new http.Agent(agentOptions); + const httpsAgent = new https.Agent(agentOptions); + const nodeFetchOptions = { + agent(parsedURL) { + return parsedURL.protocol === "http:" ? httpAgent : httpsAgent; + } + }; + return function nodeFetchWithKeepAlive(input, init) { + return l(input, { ...nodeFetchOptions, ...init }); + }; +} +const fetch = globalThis.fetch || createNodeFetch(); +const Headers$1 = globalThis.Headers || s; +const AbortController = globalThis.AbortController || i; +const ofetch = createFetch$1({ fetch, Headers: Headers$1, AbortController }); +const $fetch = ofetch; + +const nullBodyResponses = /* @__PURE__ */ new Set([101, 204, 205, 304]); +function createCall(handle) { + return function callHandle(context) { + const req = new IncomingMessage(); + const res = new ServerResponse(req); + req.url = context.url || "/"; + req.method = context.method || "GET"; + req.headers = {}; + if (context.headers) { + const headerEntries = typeof context.headers.entries === "function" ? context.headers.entries() : Object.entries(context.headers); + for (const [name, value] of headerEntries) { + if (!value) { + continue; + } + req.headers[name.toLowerCase()] = value; + } + } + req.headers.host = req.headers.host || context.host || "localhost"; + req.connection.encrypted = // @ts-ignore + req.connection.encrypted || context.protocol === "https"; + req.body = context.body || null; + req.__unenv__ = context.context; + return handle(req, res).then(() => { + let body = res._data; + if (nullBodyResponses.has(res.statusCode) || req.method.toUpperCase() === "HEAD") { + body = null; + delete res._headers["content-length"]; + } + const r = { + body, + headers: res._headers, + status: res.statusCode, + statusText: res.statusMessage + }; + req.destroy(); + res.destroy(); + return r; + }); + }; +} + +function createFetch(call, _fetch = global.fetch) { + return async function ufetch(input, init) { + const url = input.toString(); + if (!url.startsWith("/")) { + return _fetch(url, init); + } + try { + const r = await call({ url, ...init }); + return new Response(r.body, { + status: r.status, + statusText: r.statusText, + headers: Object.fromEntries( + Object.entries(r.headers).map(([name, value]) => [ + name, + Array.isArray(value) ? value.join(",") : String(value) || "" + ]) + ) + }); + } catch (error) { + return new Response(error.toString(), { + status: Number.parseInt(error.statusCode || error.code) || 500, + statusText: error.statusText + }); + } + }; +} + +function flatHooks(configHooks, hooks = {}, parentName) { + for (const key in configHooks) { + const subHook = configHooks[key]; + const name = parentName ? `${parentName}:${key}` : key; + if (typeof subHook === "object" && subHook !== null) { + flatHooks(subHook, hooks, name); + } else if (typeof subHook === "function") { + hooks[name] = subHook; + } + } + return hooks; +} +const defaultTask = { run: (function_) => function_() }; +const _createTask = () => defaultTask; +const createTask = typeof console.createTask !== "undefined" ? console.createTask : _createTask; +function serialTaskCaller(hooks, args) { + const name = args.shift(); + const task = createTask(name); + return hooks.reduce( + (promise, hookFunction) => promise.then(() => task.run(() => hookFunction(...args))), + Promise.resolve() + ); +} +function parallelTaskCaller(hooks, args) { + const name = args.shift(); + const task = createTask(name); + return Promise.all(hooks.map((hook) => task.run(() => hook(...args)))); +} +function callEachWith(callbacks, arg0) { + for (const callback of [...callbacks]) { + callback(arg0); + } +} + +class Hookable { + constructor() { + this._hooks = {}; + this._before = void 0; + this._after = void 0; + this._deprecatedMessages = void 0; + this._deprecatedHooks = {}; + this.hook = this.hook.bind(this); + this.callHook = this.callHook.bind(this); + this.callHookWith = this.callHookWith.bind(this); + } + hook(name, function_, options = {}) { + if (!name || typeof function_ !== "function") { + return () => { + }; + } + const originalName = name; + let dep; + while (this._deprecatedHooks[name]) { + dep = this._deprecatedHooks[name]; + name = dep.to; + } + if (dep && !options.allowDeprecated) { + let message = dep.message; + if (!message) { + message = `${originalName} hook has been deprecated` + (dep.to ? `, please use ${dep.to}` : ""); + } + if (!this._deprecatedMessages) { + this._deprecatedMessages = /* @__PURE__ */ new Set(); + } + if (!this._deprecatedMessages.has(message)) { + console.warn(message); + this._deprecatedMessages.add(message); + } + } + if (!function_.name) { + try { + Object.defineProperty(function_, "name", { + get: () => "_" + name.replace(/\W+/g, "_") + "_hook_cb", + configurable: true + }); + } catch { + } + } + this._hooks[name] = this._hooks[name] || []; + this._hooks[name].push(function_); + return () => { + if (function_) { + this.removeHook(name, function_); + function_ = void 0; + } + }; + } + hookOnce(name, function_) { + let _unreg; + let _function = (...arguments_) => { + if (typeof _unreg === "function") { + _unreg(); + } + _unreg = void 0; + _function = void 0; + return function_(...arguments_); + }; + _unreg = this.hook(name, _function); + return _unreg; + } + removeHook(name, function_) { + if (this._hooks[name]) { + const index = this._hooks[name].indexOf(function_); + if (index !== -1) { + this._hooks[name].splice(index, 1); + } + if (this._hooks[name].length === 0) { + delete this._hooks[name]; + } + } + } + deprecateHook(name, deprecated) { + this._deprecatedHooks[name] = typeof deprecated === "string" ? { to: deprecated } : deprecated; + const _hooks = this._hooks[name] || []; + delete this._hooks[name]; + for (const hook of _hooks) { + this.hook(name, hook); + } + } + deprecateHooks(deprecatedHooks) { + Object.assign(this._deprecatedHooks, deprecatedHooks); + for (const name in deprecatedHooks) { + this.deprecateHook(name, deprecatedHooks[name]); + } + } + addHooks(configHooks) { + const hooks = flatHooks(configHooks); + const removeFns = Object.keys(hooks).map( + (key) => this.hook(key, hooks[key]) + ); + return () => { + for (const unreg of removeFns.splice(0, removeFns.length)) { + unreg(); + } + }; + } + removeHooks(configHooks) { + const hooks = flatHooks(configHooks); + for (const key in hooks) { + this.removeHook(key, hooks[key]); + } + } + removeAllHooks() { + for (const key in this._hooks) { + delete this._hooks[key]; + } + } + callHook(name, ...arguments_) { + arguments_.unshift(name); + return this.callHookWith(serialTaskCaller, name, ...arguments_); + } + callHookParallel(name, ...arguments_) { + arguments_.unshift(name); + return this.callHookWith(parallelTaskCaller, name, ...arguments_); + } + callHookWith(caller, name, ...arguments_) { + const event = this._before || this._after ? { name, args: arguments_, context: {} } : void 0; + if (this._before) { + callEachWith(this._before, event); + } + const result = caller( + name in this._hooks ? [...this._hooks[name]] : [], + arguments_ + ); + if (result instanceof Promise) { + return result.finally(() => { + if (this._after && event) { + callEachWith(this._after, event); + } + }); + } + if (this._after && event) { + callEachWith(this._after, event); + } + return result; + } + beforeEach(function_) { + this._before = this._before || []; + this._before.push(function_); + return () => { + if (this._before !== void 0) { + const index = this._before.indexOf(function_); + if (index !== -1) { + this._before.splice(index, 1); + } + } + }; + } + afterEach(function_) { + this._after = this._after || []; + this._after.push(function_); + return () => { + if (this._after !== void 0) { + const index = this._after.indexOf(function_); + if (index !== -1) { + this._after.splice(index, 1); + } + } + }; + } +} +function createHooks() { + return new Hookable(); +} + +const NUMBER_CHAR_RE = /\d/; +const STR_SPLITTERS = ["-", "_", "/", "."]; +function isUppercase(char = "") { + if (NUMBER_CHAR_RE.test(char)) { + return void 0; + } + return char.toUpperCase() === char; +} +function splitByCase(str, separators) { + const splitters = separators ?? STR_SPLITTERS; + const parts = []; + if (!str || typeof str !== "string") { + return parts; + } + let buff = ""; + let previousUpper; + let previousSplitter; + for (const char of str) { + const isSplitter = splitters.includes(char); + if (isSplitter === true) { + parts.push(buff); + buff = ""; + previousUpper = void 0; + continue; + } + const isUpper = isUppercase(char); + if (previousSplitter === false) { + if (previousUpper === false && isUpper === true) { + parts.push(buff); + buff = char; + previousUpper = isUpper; + continue; + } + if (previousUpper === true && isUpper === false && buff.length > 1) { + const lastChar = buff.at(-1); + parts.push(buff.slice(0, Math.max(0, buff.length - 1))); + buff = lastChar + char; + previousUpper = isUpper; + continue; + } + } + buff += char; + previousUpper = isUpper; + previousSplitter = isSplitter; + } + parts.push(buff); + return parts; +} +function kebabCase(str, joiner) { + return str ? (Array.isArray(str) ? str : splitByCase(str)).map((p) => p.toLowerCase()).join(joiner ?? "-") : ""; +} +function snakeCase(str) { + return kebabCase(str || "", "_"); +} + +function klona(x) { + if (typeof x !== 'object') return x; + + var k, tmp, str=Object.prototype.toString.call(x); + + if (str === '[object Object]') { + if (x.constructor !== Object && typeof x.constructor === 'function') { + tmp = new x.constructor(); + for (k in x) { + if (x.hasOwnProperty(k) && tmp[k] !== x[k]) { + tmp[k] = klona(x[k]); + } + } + } else { + tmp = {}; // null + for (k in x) { + if (k === '__proto__') { + Object.defineProperty(tmp, k, { + value: klona(x[k]), + configurable: true, + enumerable: true, + writable: true, + }); + } else { + tmp[k] = klona(x[k]); + } + } + } + return tmp; + } + + if (str === '[object Array]') { + k = x.length; + for (tmp=Array(k); k--;) { + tmp[k] = klona(x[k]); + } + return tmp; + } + + if (str === '[object Set]') { + tmp = new Set; + x.forEach(function (val) { + tmp.add(klona(val)); + }); + return tmp; + } + + if (str === '[object Map]') { + tmp = new Map; + x.forEach(function (val, key) { + tmp.set(klona(key), klona(val)); + }); + return tmp; + } + + if (str === '[object Date]') { + return new Date(+x); + } + + if (str === '[object RegExp]') { + tmp = new RegExp(x.source, x.flags); + tmp.lastIndex = x.lastIndex; + return tmp; + } + + if (str === '[object DataView]') { + return new x.constructor( klona(x.buffer) ); + } + + if (str === '[object ArrayBuffer]') { + return x.slice(0); + } + + // ArrayBuffer.isView(x) + // ~> `new` bcuz `Buffer.slice` => ref + if (str.slice(-6) === 'Array]') { + return new x.constructor(x); + } + + return x; +} + +const inlineAppConfig = { + "nuxt": { + "buildId": "a486118d-90ff-405f-a6ff-ab1b0c0ca2eb" + } +}; + + + +const appConfig = defuFn(inlineAppConfig); + +const _inlineRuntimeConfig = { + "app": { + "baseURL": "/", + "buildAssetsDir": "/_nuxt/", + "cdnURL": "" + }, + "nitro": { + "envPrefix": "NUXT_", + "routeRules": { + "/__nuxt_error": { + "cache": false + }, + "/_nuxt/builds/meta/**": { + "headers": { + "cache-control": "public, max-age=31536000, immutable" + } + }, + "/_nuxt/builds/**": { + "headers": { + "cache-control": "public, max-age=1, immutable" + } + }, + "/_nuxt/**": { + "headers": { + "cache-control": "public, max-age=31536000, immutable" + } + } + } + }, + "public": {} +}; +const ENV_PREFIX = "NITRO_"; +const ENV_PREFIX_ALT = _inlineRuntimeConfig.nitro.envPrefix ?? process.env.NITRO_ENV_PREFIX ?? "_"; +const _sharedRuntimeConfig = _deepFreeze( + _applyEnv(klona(_inlineRuntimeConfig)) +); +function useRuntimeConfig(event) { + if (!event) { + return _sharedRuntimeConfig; + } + if (event.context.nitro.runtimeConfig) { + return event.context.nitro.runtimeConfig; + } + const runtimeConfig = klona(_inlineRuntimeConfig); + _applyEnv(runtimeConfig); + event.context.nitro.runtimeConfig = runtimeConfig; + return runtimeConfig; +} +_deepFreeze(klona(appConfig)); +function _getEnv(key) { + const envKey = snakeCase(key).toUpperCase(); + return destr( + process.env[ENV_PREFIX + envKey] ?? process.env[ENV_PREFIX_ALT + envKey] + ); +} +function _isObject(input) { + return typeof input === "object" && !Array.isArray(input); +} +function _applyEnv(obj, parentKey = "") { + for (const key in obj) { + const subKey = parentKey ? `${parentKey}_${key}` : key; + const envValue = _getEnv(subKey); + if (_isObject(obj[key])) { + if (_isObject(envValue)) { + obj[key] = { ...obj[key], ...envValue }; + } + _applyEnv(obj[key], subKey); + } else { + obj[key] = envValue ?? obj[key]; + } + } + return obj; +} +function _deepFreeze(object) { + const propNames = Object.getOwnPropertyNames(object); + for (const name of propNames) { + const value = object[name]; + if (value && typeof value === "object") { + _deepFreeze(value); + } + } + return Object.freeze(object); +} +new Proxy(/* @__PURE__ */ Object.create(null), { + get: (_, prop) => { + console.warn( + "Please use `useRuntimeConfig()` instead of accessing config directly." + ); + const runtimeConfig = useRuntimeConfig(); + if (prop in runtimeConfig) { + return runtimeConfig[prop]; + } + return void 0; + } +}); + +const defaults = Object.freeze({ + ignoreUnknown: false, + respectType: false, + respectFunctionNames: false, + respectFunctionProperties: false, + unorderedObjects: true, + unorderedArrays: false, + unorderedSets: false, + excludeKeys: void 0, + excludeValues: void 0, + replacer: void 0 +}); +function objectHash(object, options) { + if (options) { + options = { ...defaults, ...options }; + } else { + options = defaults; + } + const hasher = createHasher(options); + hasher.dispatch(object); + return hasher.toString(); +} +const defaultPrototypesKeys = Object.freeze([ + "prototype", + "__proto__", + "constructor" +]); +function createHasher(options) { + let buff = ""; + let context = /* @__PURE__ */ new Map(); + const write = (str) => { + buff += str; + }; + return { + toString() { + return buff; + }, + getContext() { + return context; + }, + dispatch(value) { + if (options.replacer) { + value = options.replacer(value); + } + const type = value === null ? "null" : typeof value; + return this[type](value); + }, + object(object) { + if (object && typeof object.toJSON === "function") { + return this.object(object.toJSON()); + } + const objString = Object.prototype.toString.call(object); + let objType = ""; + const objectLength = objString.length; + if (objectLength < 10) { + objType = "unknown:[" + objString + "]"; + } else { + objType = objString.slice(8, objectLength - 1); + } + objType = objType.toLowerCase(); + let objectNumber = null; + if ((objectNumber = context.get(object)) === void 0) { + context.set(object, context.size); + } else { + return this.dispatch("[CIRCULAR:" + objectNumber + "]"); + } + if (typeof Buffer !== "undefined" && Buffer.isBuffer && Buffer.isBuffer(object)) { + write("buffer:"); + return write(object.toString("utf8")); + } + if (objType !== "object" && objType !== "function" && objType !== "asyncfunction") { + if (this[objType]) { + this[objType](object); + } else if (!options.ignoreUnknown) { + this.unkown(object, objType); + } + } else { + let keys = Object.keys(object); + if (options.unorderedObjects) { + keys = keys.sort(); + } + let extraKeys = []; + if (options.respectType !== false && !isNativeFunction(object)) { + extraKeys = defaultPrototypesKeys; + } + if (options.excludeKeys) { + keys = keys.filter((key) => { + return !options.excludeKeys(key); + }); + extraKeys = extraKeys.filter((key) => { + return !options.excludeKeys(key); + }); + } + write("object:" + (keys.length + extraKeys.length) + ":"); + const dispatchForKey = (key) => { + this.dispatch(key); + write(":"); + if (!options.excludeValues) { + this.dispatch(object[key]); + } + write(","); + }; + for (const key of keys) { + dispatchForKey(key); + } + for (const key of extraKeys) { + dispatchForKey(key); + } + } + }, + array(arr, unordered) { + unordered = unordered === void 0 ? options.unorderedArrays !== false : unordered; + write("array:" + arr.length + ":"); + if (!unordered || arr.length <= 1) { + for (const entry of arr) { + this.dispatch(entry); + } + return; + } + const contextAdditions = /* @__PURE__ */ new Map(); + const entries = arr.map((entry) => { + const hasher = createHasher(options); + hasher.dispatch(entry); + for (const [key, value] of hasher.getContext()) { + contextAdditions.set(key, value); + } + return hasher.toString(); + }); + context = contextAdditions; + entries.sort(); + return this.array(entries, false); + }, + date(date) { + return write("date:" + date.toJSON()); + }, + symbol(sym) { + return write("symbol:" + sym.toString()); + }, + unkown(value, type) { + write(type); + if (!value) { + return; + } + write(":"); + if (value && typeof value.entries === "function") { + return this.array( + Array.from(value.entries()), + true + /* ordered */ + ); + } + }, + error(err) { + return write("error:" + err.toString()); + }, + boolean(bool) { + return write("bool:" + bool); + }, + string(string) { + write("string:" + string.length + ":"); + write(string); + }, + function(fn) { + write("fn:"); + if (isNativeFunction(fn)) { + this.dispatch("[native]"); + } else { + this.dispatch(fn.toString()); + } + if (options.respectFunctionNames !== false) { + this.dispatch("function-name:" + String(fn.name)); + } + if (options.respectFunctionProperties) { + this.object(fn); + } + }, + number(number) { + return write("number:" + number); + }, + xml(xml) { + return write("xml:" + xml.toString()); + }, + null() { + return write("Null"); + }, + undefined() { + return write("Undefined"); + }, + regexp(regex) { + return write("regex:" + regex.toString()); + }, + uint8array(arr) { + write("uint8array:"); + return this.dispatch(Array.prototype.slice.call(arr)); + }, + uint8clampedarray(arr) { + write("uint8clampedarray:"); + return this.dispatch(Array.prototype.slice.call(arr)); + }, + int8array(arr) { + write("int8array:"); + return this.dispatch(Array.prototype.slice.call(arr)); + }, + uint16array(arr) { + write("uint16array:"); + return this.dispatch(Array.prototype.slice.call(arr)); + }, + int16array(arr) { + write("int16array:"); + return this.dispatch(Array.prototype.slice.call(arr)); + }, + uint32array(arr) { + write("uint32array:"); + return this.dispatch(Array.prototype.slice.call(arr)); + }, + int32array(arr) { + write("int32array:"); + return this.dispatch(Array.prototype.slice.call(arr)); + }, + float32array(arr) { + write("float32array:"); + return this.dispatch(Array.prototype.slice.call(arr)); + }, + float64array(arr) { + write("float64array:"); + return this.dispatch(Array.prototype.slice.call(arr)); + }, + arraybuffer(arr) { + write("arraybuffer:"); + return this.dispatch(new Uint8Array(arr)); + }, + url(url) { + return write("url:" + url.toString()); + }, + map(map) { + write("map:"); + const arr = [...map]; + return this.array(arr, options.unorderedSets !== false); + }, + set(set) { + write("set:"); + const arr = [...set]; + return this.array(arr, options.unorderedSets !== false); + }, + file(file) { + write("file:"); + return this.dispatch([file.name, file.size, file.type, file.lastModfied]); + }, + blob() { + if (options.ignoreUnknown) { + return write("[blob]"); + } + throw new Error( + 'Hashing Blob objects is currently not supported\nUse "options.replacer" or "options.ignoreUnknown"\n' + ); + }, + domwindow() { + return write("domwindow"); + }, + bigint(number) { + return write("bigint:" + number.toString()); + }, + /* Node.js standard native objects */ + process() { + return write("process"); + }, + timer() { + return write("timer"); + }, + pipe() { + return write("pipe"); + }, + tcp() { + return write("tcp"); + }, + udp() { + return write("udp"); + }, + tty() { + return write("tty"); + }, + statwatcher() { + return write("statwatcher"); + }, + securecontext() { + return write("securecontext"); + }, + connection() { + return write("connection"); + }, + zlib() { + return write("zlib"); + }, + context() { + return write("context"); + }, + nodescript() { + return write("nodescript"); + }, + httpparser() { + return write("httpparser"); + }, + dataview() { + return write("dataview"); + }, + signal() { + return write("signal"); + }, + fsevent() { + return write("fsevent"); + }, + tlswrap() { + return write("tlswrap"); + } + }; +} +const nativeFunc = "[native code] }"; +const nativeFuncLength = nativeFunc.length; +function isNativeFunction(f) { + if (typeof f !== "function") { + return false; + } + return Function.prototype.toString.call(f).slice(-nativeFuncLength) === nativeFunc; +} + +class WordArray { + constructor(words, sigBytes) { + words = this.words = words || []; + this.sigBytes = sigBytes === void 0 ? words.length * 4 : sigBytes; + } + toString(encoder) { + return (encoder || Hex).stringify(this); + } + concat(wordArray) { + this.clamp(); + if (this.sigBytes % 4) { + for (let i = 0; i < wordArray.sigBytes; i++) { + const thatByte = wordArray.words[i >>> 2] >>> 24 - i % 4 * 8 & 255; + this.words[this.sigBytes + i >>> 2] |= thatByte << 24 - (this.sigBytes + i) % 4 * 8; + } + } else { + for (let j = 0; j < wordArray.sigBytes; j += 4) { + this.words[this.sigBytes + j >>> 2] = wordArray.words[j >>> 2]; + } + } + this.sigBytes += wordArray.sigBytes; + return this; + } + clamp() { + this.words[this.sigBytes >>> 2] &= 4294967295 << 32 - this.sigBytes % 4 * 8; + this.words.length = Math.ceil(this.sigBytes / 4); + } + clone() { + return new WordArray([...this.words]); + } +} +const Hex = { + stringify(wordArray) { + const hexChars = []; + for (let i = 0; i < wordArray.sigBytes; i++) { + const bite = wordArray.words[i >>> 2] >>> 24 - i % 4 * 8 & 255; + hexChars.push((bite >>> 4).toString(16), (bite & 15).toString(16)); + } + return hexChars.join(""); + } +}; +const Base64 = { + stringify(wordArray) { + const keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + const base64Chars = []; + for (let i = 0; i < wordArray.sigBytes; i += 3) { + const byte1 = wordArray.words[i >>> 2] >>> 24 - i % 4 * 8 & 255; + const byte2 = wordArray.words[i + 1 >>> 2] >>> 24 - (i + 1) % 4 * 8 & 255; + const byte3 = wordArray.words[i + 2 >>> 2] >>> 24 - (i + 2) % 4 * 8 & 255; + const triplet = byte1 << 16 | byte2 << 8 | byte3; + for (let j = 0; j < 4 && i * 8 + j * 6 < wordArray.sigBytes * 8; j++) { + base64Chars.push(keyStr.charAt(triplet >>> 6 * (3 - j) & 63)); + } + } + return base64Chars.join(""); + } +}; +const Latin1 = { + parse(latin1Str) { + const latin1StrLength = latin1Str.length; + const words = []; + for (let i = 0; i < latin1StrLength; i++) { + words[i >>> 2] |= (latin1Str.charCodeAt(i) & 255) << 24 - i % 4 * 8; + } + return new WordArray(words, latin1StrLength); + } +}; +const Utf8 = { + parse(utf8Str) { + return Latin1.parse(unescape(encodeURIComponent(utf8Str))); + } +}; +class BufferedBlockAlgorithm { + constructor() { + this._data = new WordArray(); + this._nDataBytes = 0; + this._minBufferSize = 0; + this.blockSize = 512 / 32; + } + reset() { + this._data = new WordArray(); + this._nDataBytes = 0; + } + _append(data) { + if (typeof data === "string") { + data = Utf8.parse(data); + } + this._data.concat(data); + this._nDataBytes += data.sigBytes; + } + // eslint-disable-next-line @typescript-eslint/no-unused-vars + _doProcessBlock(_dataWords, _offset) { + } + _process(doFlush) { + let processedWords; + let nBlocksReady = this._data.sigBytes / (this.blockSize * 4); + if (doFlush) { + nBlocksReady = Math.ceil(nBlocksReady); + } else { + nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0); + } + const nWordsReady = nBlocksReady * this.blockSize; + const nBytesReady = Math.min(nWordsReady * 4, this._data.sigBytes); + if (nWordsReady) { + for (let offset = 0; offset < nWordsReady; offset += this.blockSize) { + this._doProcessBlock(this._data.words, offset); + } + processedWords = this._data.words.splice(0, nWordsReady); + this._data.sigBytes -= nBytesReady; + } + return new WordArray(processedWords, nBytesReady); + } +} +class Hasher extends BufferedBlockAlgorithm { + update(messageUpdate) { + this._append(messageUpdate); + this._process(); + return this; + } + finalize(messageUpdate) { + if (messageUpdate) { + this._append(messageUpdate); + } + } +} + +const H = [ + 1779033703, + -1150833019, + 1013904242, + -1521486534, + 1359893119, + -1694144372, + 528734635, + 1541459225 +]; +const K = [ + 1116352408, + 1899447441, + -1245643825, + -373957723, + 961987163, + 1508970993, + -1841331548, + -1424204075, + -670586216, + 310598401, + 607225278, + 1426881987, + 1925078388, + -2132889090, + -1680079193, + -1046744716, + -459576895, + -272742522, + 264347078, + 604807628, + 770255983, + 1249150122, + 1555081692, + 1996064986, + -1740746414, + -1473132947, + -1341970488, + -1084653625, + -958395405, + -710438585, + 113926993, + 338241895, + 666307205, + 773529912, + 1294757372, + 1396182291, + 1695183700, + 1986661051, + -2117940946, + -1838011259, + -1564481375, + -1474664885, + -1035236496, + -949202525, + -778901479, + -694614492, + -200395387, + 275423344, + 430227734, + 506948616, + 659060556, + 883997877, + 958139571, + 1322822218, + 1537002063, + 1747873779, + 1955562222, + 2024104815, + -2067236844, + -1933114872, + -1866530822, + -1538233109, + -1090935817, + -965641998 +]; +const W = []; +class SHA256 extends Hasher { + constructor() { + super(...arguments); + this._hash = new WordArray([...H]); + } + reset() { + super.reset(); + this._hash = new WordArray([...H]); + } + _doProcessBlock(M, offset) { + const H2 = this._hash.words; + let a = H2[0]; + let b = H2[1]; + let c = H2[2]; + let d = H2[3]; + let e = H2[4]; + let f = H2[5]; + let g = H2[6]; + let h = H2[7]; + for (let i = 0; i < 64; i++) { + if (i < 16) { + W[i] = M[offset + i] | 0; + } else { + const gamma0x = W[i - 15]; + const gamma0 = (gamma0x << 25 | gamma0x >>> 7) ^ (gamma0x << 14 | gamma0x >>> 18) ^ gamma0x >>> 3; + const gamma1x = W[i - 2]; + const gamma1 = (gamma1x << 15 | gamma1x >>> 17) ^ (gamma1x << 13 | gamma1x >>> 19) ^ gamma1x >>> 10; + W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]; + } + const ch = e & f ^ ~e & g; + const maj = a & b ^ a & c ^ b & c; + const sigma0 = (a << 30 | a >>> 2) ^ (a << 19 | a >>> 13) ^ (a << 10 | a >>> 22); + const sigma1 = (e << 26 | e >>> 6) ^ (e << 21 | e >>> 11) ^ (e << 7 | e >>> 25); + const t1 = h + sigma1 + ch + K[i] + W[i]; + const t2 = sigma0 + maj; + h = g; + g = f; + f = e; + e = d + t1 | 0; + d = c; + c = b; + b = a; + a = t1 + t2 | 0; + } + H2[0] = H2[0] + a | 0; + H2[1] = H2[1] + b | 0; + H2[2] = H2[2] + c | 0; + H2[3] = H2[3] + d | 0; + H2[4] = H2[4] + e | 0; + H2[5] = H2[5] + f | 0; + H2[6] = H2[6] + g | 0; + H2[7] = H2[7] + h | 0; + } + finalize(messageUpdate) { + super.finalize(messageUpdate); + const nBitsTotal = this._nDataBytes * 8; + const nBitsLeft = this._data.sigBytes * 8; + this._data.words[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32; + this._data.words[(nBitsLeft + 64 >>> 9 << 4) + 14] = Math.floor( + nBitsTotal / 4294967296 + ); + this._data.words[(nBitsLeft + 64 >>> 9 << 4) + 15] = nBitsTotal; + this._data.sigBytes = this._data.words.length * 4; + this._process(); + return this._hash; + } +} +function sha256base64(message) { + return new SHA256().finalize(message).toString(Base64); +} + +function hash(object, options = {}) { + const hashed = typeof object === "string" ? object : objectHash(object, options); + return sha256base64(hashed).slice(0, 10); +} + +function wrapToPromise(value) { + if (!value || typeof value.then !== "function") { + return Promise.resolve(value); + } + return value; +} +function asyncCall(function_, ...arguments_) { + try { + return wrapToPromise(function_(...arguments_)); + } catch (error) { + return Promise.reject(error); + } +} +function isPrimitive(value) { + const type = typeof value; + return value === null || type !== "object" && type !== "function"; +} +function isPureObject(value) { + const proto = Object.getPrototypeOf(value); + return !proto || proto.isPrototypeOf(Object); +} +function stringify(value) { + if (isPrimitive(value)) { + return String(value); + } + if (isPureObject(value) || Array.isArray(value)) { + return JSON.stringify(value); + } + if (typeof value.toJSON === "function") { + return stringify(value.toJSON()); + } + throw new Error("[unstorage] Cannot stringify value!"); +} +function checkBufferSupport() { + if (typeof Buffer === void 0) { + throw new TypeError("[unstorage] Buffer is not supported!"); + } +} +const BASE64_PREFIX = "base64:"; +function serializeRaw(value) { + if (typeof value === "string") { + return value; + } + checkBufferSupport(); + const base64 = Buffer.from(value).toString("base64"); + return BASE64_PREFIX + base64; +} +function deserializeRaw(value) { + if (typeof value !== "string") { + return value; + } + if (!value.startsWith(BASE64_PREFIX)) { + return value; + } + checkBufferSupport(); + return Buffer.from(value.slice(BASE64_PREFIX.length), "base64"); +} + +const storageKeyProperties = [ + "hasItem", + "getItem", + "getItemRaw", + "setItem", + "setItemRaw", + "removeItem", + "getMeta", + "setMeta", + "removeMeta", + "getKeys", + "clear", + "mount", + "unmount" +]; +function prefixStorage(storage, base) { + base = normalizeBaseKey(base); + if (!base) { + return storage; + } + const nsStorage = { ...storage }; + for (const property of storageKeyProperties) { + nsStorage[property] = (key = "", ...args) => ( + // @ts-ignore + storage[property](base + key, ...args) + ); + } + nsStorage.getKeys = (key = "", ...arguments_) => storage.getKeys(base + key, ...arguments_).then((keys) => keys.map((key2) => key2.slice(base.length))); + return nsStorage; +} +function normalizeKey$1(key) { + if (!key) { + return ""; + } + return key.split("?")[0].replace(/[/\\]/g, ":").replace(/:+/g, ":").replace(/^:|:$/g, ""); +} +function joinKeys(...keys) { + return normalizeKey$1(keys.join(":")); +} +function normalizeBaseKey(base) { + base = normalizeKey$1(base); + return base ? base + ":" : ""; +} + +function defineDriver$1(factory) { + return factory; +} + +const DRIVER_NAME$1 = "memory"; +const memory = defineDriver$1(() => { + const data = /* @__PURE__ */ new Map(); + return { + name: DRIVER_NAME$1, + options: {}, + hasItem(key) { + return data.has(key); + }, + getItem(key) { + return data.get(key) ?? null; + }, + getItemRaw(key) { + return data.get(key) ?? null; + }, + setItem(key, value) { + data.set(key, value); + }, + setItemRaw(key, value) { + data.set(key, value); + }, + removeItem(key) { + data.delete(key); + }, + getKeys() { + return Array.from(data.keys()); + }, + clear() { + data.clear(); + }, + dispose() { + data.clear(); + } + }; +}); + +function createStorage(options = {}) { + const context = { + mounts: { "": options.driver || memory() }, + mountpoints: [""], + watching: false, + watchListeners: [], + unwatch: {} + }; + const getMount = (key) => { + for (const base of context.mountpoints) { + if (key.startsWith(base)) { + return { + base, + relativeKey: key.slice(base.length), + driver: context.mounts[base] + }; + } + } + return { + base: "", + relativeKey: key, + driver: context.mounts[""] + }; + }; + const getMounts = (base, includeParent) => { + return context.mountpoints.filter( + (mountpoint) => mountpoint.startsWith(base) || includeParent && base.startsWith(mountpoint) + ).map((mountpoint) => ({ + relativeBase: base.length > mountpoint.length ? base.slice(mountpoint.length) : void 0, + mountpoint, + driver: context.mounts[mountpoint] + })); + }; + const onChange = (event, key) => { + if (!context.watching) { + return; + } + key = normalizeKey$1(key); + for (const listener of context.watchListeners) { + listener(event, key); + } + }; + const startWatch = async () => { + if (context.watching) { + return; + } + context.watching = true; + for (const mountpoint in context.mounts) { + context.unwatch[mountpoint] = await watch( + context.mounts[mountpoint], + onChange, + mountpoint + ); + } + }; + const stopWatch = async () => { + if (!context.watching) { + return; + } + for (const mountpoint in context.unwatch) { + await context.unwatch[mountpoint](); + } + context.unwatch = {}; + context.watching = false; + }; + const runBatch = (items, commonOptions, cb) => { + const batches = /* @__PURE__ */ new Map(); + const getBatch = (mount) => { + let batch = batches.get(mount.base); + if (!batch) { + batch = { + driver: mount.driver, + base: mount.base, + items: [] + }; + batches.set(mount.base, batch); + } + return batch; + }; + for (const item of items) { + const isStringItem = typeof item === "string"; + const key = normalizeKey$1(isStringItem ? item : item.key); + const value = isStringItem ? void 0 : item.value; + const options2 = isStringItem || !item.options ? commonOptions : { ...commonOptions, ...item.options }; + const mount = getMount(key); + getBatch(mount).items.push({ + key, + value, + relativeKey: mount.relativeKey, + options: options2 + }); + } + return Promise.all([...batches.values()].map((batch) => cb(batch))).then( + (r) => r.flat() + ); + }; + const storage = { + // Item + hasItem(key, opts = {}) { + key = normalizeKey$1(key); + const { relativeKey, driver } = getMount(key); + return asyncCall(driver.hasItem, relativeKey, opts); + }, + getItem(key, opts = {}) { + key = normalizeKey$1(key); + const { relativeKey, driver } = getMount(key); + return asyncCall(driver.getItem, relativeKey, opts).then( + (value) => destr(value) + ); + }, + getItems(items, commonOptions) { + return runBatch(items, commonOptions, (batch) => { + if (batch.driver.getItems) { + return asyncCall( + batch.driver.getItems, + batch.items.map((item) => ({ + key: item.relativeKey, + options: item.options + })), + commonOptions + ).then( + (r) => r.map((item) => ({ + key: joinKeys(batch.base, item.key), + value: destr(item.value) + })) + ); + } + return Promise.all( + batch.items.map((item) => { + return asyncCall( + batch.driver.getItem, + item.relativeKey, + item.options + ).then((value) => ({ + key: item.key, + value: destr(value) + })); + }) + ); + }); + }, + getItemRaw(key, opts = {}) { + key = normalizeKey$1(key); + const { relativeKey, driver } = getMount(key); + if (driver.getItemRaw) { + return asyncCall(driver.getItemRaw, relativeKey, opts); + } + return asyncCall(driver.getItem, relativeKey, opts).then( + (value) => deserializeRaw(value) + ); + }, + async setItem(key, value, opts = {}) { + if (value === void 0) { + return storage.removeItem(key); + } + key = normalizeKey$1(key); + const { relativeKey, driver } = getMount(key); + if (!driver.setItem) { + return; + } + await asyncCall(driver.setItem, relativeKey, stringify(value), opts); + if (!driver.watch) { + onChange("update", key); + } + }, + async setItems(items, commonOptions) { + await runBatch(items, commonOptions, async (batch) => { + if (batch.driver.setItems) { + await asyncCall( + batch.driver.setItems, + batch.items.map((item) => ({ + key: item.relativeKey, + value: stringify(item.value), + options: item.options + })), + commonOptions + ); + } + if (!batch.driver.setItem) { + return; + } + await Promise.all( + batch.items.map((item) => { + return asyncCall( + batch.driver.setItem, + item.relativeKey, + stringify(item.value), + item.options + ); + }) + ); + }); + }, + async setItemRaw(key, value, opts = {}) { + if (value === void 0) { + return storage.removeItem(key, opts); + } + key = normalizeKey$1(key); + const { relativeKey, driver } = getMount(key); + if (driver.setItemRaw) { + await asyncCall(driver.setItemRaw, relativeKey, value, opts); + } else if (driver.setItem) { + await asyncCall(driver.setItem, relativeKey, serializeRaw(value), opts); + } else { + return; + } + if (!driver.watch) { + onChange("update", key); + } + }, + async removeItem(key, opts = {}) { + if (typeof opts === "boolean") { + opts = { removeMeta: opts }; + } + key = normalizeKey$1(key); + const { relativeKey, driver } = getMount(key); + if (!driver.removeItem) { + return; + } + await asyncCall(driver.removeItem, relativeKey, opts); + if (opts.removeMeta || opts.removeMata) { + await asyncCall(driver.removeItem, relativeKey + "$", opts); + } + if (!driver.watch) { + onChange("remove", key); + } + }, + // Meta + async getMeta(key, opts = {}) { + if (typeof opts === "boolean") { + opts = { nativeOnly: opts }; + } + key = normalizeKey$1(key); + const { relativeKey, driver } = getMount(key); + const meta = /* @__PURE__ */ Object.create(null); + if (driver.getMeta) { + Object.assign(meta, await asyncCall(driver.getMeta, relativeKey, opts)); + } + if (!opts.nativeOnly) { + const value = await asyncCall( + driver.getItem, + relativeKey + "$", + opts + ).then((value_) => destr(value_)); + if (value && typeof value === "object") { + if (typeof value.atime === "string") { + value.atime = new Date(value.atime); + } + if (typeof value.mtime === "string") { + value.mtime = new Date(value.mtime); + } + Object.assign(meta, value); + } + } + return meta; + }, + setMeta(key, value, opts = {}) { + return this.setItem(key + "$", value, opts); + }, + removeMeta(key, opts = {}) { + return this.removeItem(key + "$", opts); + }, + // Keys + async getKeys(base, opts = {}) { + base = normalizeBaseKey(base); + const mounts = getMounts(base, true); + let maskedMounts = []; + const allKeys = []; + for (const mount of mounts) { + const rawKeys = await asyncCall( + mount.driver.getKeys, + mount.relativeBase, + opts + ); + const keys = rawKeys.map((key) => mount.mountpoint + normalizeKey$1(key)).filter((key) => !maskedMounts.some((p) => key.startsWith(p))); + allKeys.push(...keys); + maskedMounts = [ + mount.mountpoint, + ...maskedMounts.filter((p) => !p.startsWith(mount.mountpoint)) + ]; + } + return base ? allKeys.filter((key) => key.startsWith(base) && !key.endsWith("$")) : allKeys.filter((key) => !key.endsWith("$")); + }, + // Utils + async clear(base, opts = {}) { + base = normalizeBaseKey(base); + await Promise.all( + getMounts(base, false).map(async (m) => { + if (m.driver.clear) { + return asyncCall(m.driver.clear, m.relativeBase, opts); + } + if (m.driver.removeItem) { + const keys = await m.driver.getKeys(m.relativeBase || "", opts); + return Promise.all( + keys.map((key) => m.driver.removeItem(key, opts)) + ); + } + }) + ); + }, + async dispose() { + await Promise.all( + Object.values(context.mounts).map((driver) => dispose(driver)) + ); + }, + async watch(callback) { + await startWatch(); + context.watchListeners.push(callback); + return async () => { + context.watchListeners = context.watchListeners.filter( + (listener) => listener !== callback + ); + if (context.watchListeners.length === 0) { + await stopWatch(); + } + }; + }, + async unwatch() { + context.watchListeners = []; + await stopWatch(); + }, + // Mount + mount(base, driver) { + base = normalizeBaseKey(base); + if (base && context.mounts[base]) { + throw new Error(`already mounted at ${base}`); + } + if (base) { + context.mountpoints.push(base); + context.mountpoints.sort((a, b) => b.length - a.length); + } + context.mounts[base] = driver; + if (context.watching) { + Promise.resolve(watch(driver, onChange, base)).then((unwatcher) => { + context.unwatch[base] = unwatcher; + }).catch(console.error); + } + return storage; + }, + async unmount(base, _dispose = true) { + base = normalizeBaseKey(base); + if (!base || !context.mounts[base]) { + return; + } + if (context.watching && base in context.unwatch) { + context.unwatch[base](); + delete context.unwatch[base]; + } + if (_dispose) { + await dispose(context.mounts[base]); + } + context.mountpoints = context.mountpoints.filter((key) => key !== base); + delete context.mounts[base]; + }, + getMount(key = "") { + key = normalizeKey$1(key) + ":"; + const m = getMount(key); + return { + driver: m.driver, + base: m.base + }; + }, + getMounts(base = "", opts = {}) { + base = normalizeKey$1(base); + const mounts = getMounts(base, opts.parents); + return mounts.map((m) => ({ + driver: m.driver, + base: m.mountpoint + })); + } + }; + return storage; +} +function watch(driver, onChange, base) { + return driver.watch ? driver.watch((event, key) => onChange(event, base + key)) : () => { + }; +} +async function dispose(driver) { + if (typeof driver.dispose === "function") { + await asyncCall(driver.dispose); + } +} + +const _assets = { + +}; + +const normalizeKey = function normalizeKey(key) { + if (!key) { + return ""; + } + return key.split("?")[0].replace(/[/\\]/g, ":").replace(/:+/g, ":").replace(/^:|:$/g, ""); +}; + +const assets$1 = { + getKeys() { + return Promise.resolve(Object.keys(_assets)) + }, + hasItem (id) { + id = normalizeKey(id); + return Promise.resolve(id in _assets) + }, + getItem (id) { + id = normalizeKey(id); + return Promise.resolve(_assets[id] ? _assets[id].import() : null) + }, + getMeta (id) { + id = normalizeKey(id); + return Promise.resolve(_assets[id] ? _assets[id].meta : {}) + } +}; + +function defineDriver(factory) { + return factory; +} +function createError(driver, message, opts) { + const err = new Error(`[unstorage] [${driver}] ${message}`, opts); + return err; +} +function createRequiredError(driver, name) { + if (Array.isArray(name)) { + return createError( + driver, + `Missing some of the required options ${name.map((n) => "`" + n + "`").join(", ")}` + ); + } + return createError(driver, `Missing required option \`${name}\`.`); +} + +function ignoreNotfound(err) { + return err.code === "ENOENT" || err.code === "EISDIR" ? null : err; +} +function ignoreExists(err) { + return err.code === "EEXIST" ? null : err; +} +async function writeFile(path, data, encoding) { + await ensuredir(dirname$1(path)); + return promises.writeFile(path, data, encoding); +} +function readFile(path, encoding) { + return promises.readFile(path, encoding).catch(ignoreNotfound); +} +function unlink(path) { + return promises.unlink(path).catch(ignoreNotfound); +} +function readdir(dir) { + return promises.readdir(dir, { withFileTypes: true }).catch(ignoreNotfound).then((r) => r || []); +} +async function ensuredir(dir) { + if (existsSync(dir)) { + return; + } + await ensuredir(dirname$1(dir)).catch(ignoreExists); + await promises.mkdir(dir).catch(ignoreExists); +} +async function readdirRecursive(dir, ignore) { + if (ignore && ignore(dir)) { + return []; + } + const entries = await readdir(dir); + const files = []; + await Promise.all( + entries.map(async (entry) => { + const entryPath = resolve$1(dir, entry.name); + if (entry.isDirectory()) { + const dirFiles = await readdirRecursive(entryPath, ignore); + files.push(...dirFiles.map((f) => entry.name + "/" + f)); + } else { + if (!(ignore && ignore(entry.name))) { + files.push(entry.name); + } + } + }) + ); + return files; +} +async function rmRecursive(dir) { + const entries = await readdir(dir); + await Promise.all( + entries.map((entry) => { + const entryPath = resolve$1(dir, entry.name); + if (entry.isDirectory()) { + return rmRecursive(entryPath).then(() => promises.rmdir(entryPath)); + } else { + return promises.unlink(entryPath); + } + }) + ); +} + +const PATH_TRAVERSE_RE = /\.\.\:|\.\.$/; +const DRIVER_NAME = "fs-lite"; +const unstorage_47drivers_47fs_45lite = defineDriver((opts = {}) => { + if (!opts.base) { + throw createRequiredError(DRIVER_NAME, "base"); + } + opts.base = resolve$1(opts.base); + const r = (key) => { + if (PATH_TRAVERSE_RE.test(key)) { + throw createError( + DRIVER_NAME, + `Invalid key: ${JSON.stringify(key)}. It should not contain .. segments` + ); + } + const resolved = join(opts.base, key.replace(/:/g, "/")); + return resolved; + }; + return { + name: DRIVER_NAME, + options: opts, + hasItem(key) { + return existsSync(r(key)); + }, + getItem(key) { + return readFile(r(key), "utf8"); + }, + getItemRaw(key) { + return readFile(r(key)); + }, + async getMeta(key) { + const { atime, mtime, size, birthtime, ctime } = await promises.stat(r(key)).catch(() => ({})); + return { atime, mtime, size, birthtime, ctime }; + }, + setItem(key, value) { + if (opts.readOnly) { + return; + } + return writeFile(r(key), value, "utf8"); + }, + setItemRaw(key, value) { + if (opts.readOnly) { + return; + } + return writeFile(r(key), value); + }, + removeItem(key) { + if (opts.readOnly) { + return; + } + return unlink(r(key)); + }, + getKeys() { + return readdirRecursive(r("."), opts.ignore); + }, + async clear() { + if (opts.readOnly || opts.noClear) { + return; + } + await rmRecursive(r(".")); + } + }; +}); + +const storage = createStorage({}); + +storage.mount('/assets', assets$1); + +storage.mount('data', unstorage_47drivers_47fs_45lite({"driver":"fsLite","base":"E:\\工作文件\\寄托\\SynologyDrive\\寄托\\PC面经\\mj\\.data\\kv"})); + +function useStorage(base = "") { + return base ? prefixStorage(storage, base) : storage; +} + +const defaultCacheOptions = { + name: "_", + base: "/cache", + swr: true, + maxAge: 1 +}; +function defineCachedFunction(fn, opts = {}) { + opts = { ...defaultCacheOptions, ...opts }; + const pending = {}; + const group = opts.group || "nitro/functions"; + const name = opts.name || fn.name || "_"; + const integrity = opts.integrity || hash([fn, opts]); + const validate = opts.validate || ((entry) => entry.value !== void 0); + async function get(key, resolver, shouldInvalidateCache, event) { + const cacheKey = [opts.base, group, name, key + ".json"].filter(Boolean).join(":").replace(/:\/$/, ":index"); + const entry = await useStorage().getItem(cacheKey) || {}; + const ttl = (opts.maxAge ?? opts.maxAge ?? 0) * 1e3; + if (ttl) { + entry.expires = Date.now() + ttl; + } + const expired = shouldInvalidateCache || entry.integrity !== integrity || ttl && Date.now() - (entry.mtime || 0) > ttl || validate(entry) === false; + const _resolve = async () => { + const isPending = pending[key]; + if (!isPending) { + if (entry.value !== void 0 && (opts.staleMaxAge || 0) >= 0 && opts.swr === false) { + entry.value = void 0; + entry.integrity = void 0; + entry.mtime = void 0; + entry.expires = void 0; + } + pending[key] = Promise.resolve(resolver()); + } + try { + entry.value = await pending[key]; + } catch (error) { + if (!isPending) { + delete pending[key]; + } + throw error; + } + if (!isPending) { + entry.mtime = Date.now(); + entry.integrity = integrity; + delete pending[key]; + if (validate(entry) !== false) { + const promise = useStorage().setItem(cacheKey, entry).catch((error) => { + console.error(`[nitro] [cache] Cache write error.`, error); + useNitroApp().captureError(error, { event, tags: ["cache"] }); + }); + if (event && event.waitUntil) { + event.waitUntil(promise); + } + } + } + }; + const _resolvePromise = expired ? _resolve() : Promise.resolve(); + if (entry.value === void 0) { + await _resolvePromise; + } else if (expired && event && event.waitUntil) { + event.waitUntil(_resolvePromise); + } + if (opts.swr && validate(entry) !== false) { + _resolvePromise.catch((error) => { + console.error(`[nitro] [cache] SWR handler error.`, error); + useNitroApp().captureError(error, { event, tags: ["cache"] }); + }); + return entry; + } + return _resolvePromise.then(() => entry); + } + return async (...args) => { + const shouldBypassCache = opts.shouldBypassCache?.(...args); + if (shouldBypassCache) { + return fn(...args); + } + const key = await (opts.getKey || getKey)(...args); + const shouldInvalidateCache = opts.shouldInvalidateCache?.(...args); + const entry = await get( + key, + () => fn(...args), + shouldInvalidateCache, + args[0] && isEvent(args[0]) ? args[0] : void 0 + ); + let value = entry.value; + if (opts.transform) { + value = await opts.transform(entry, ...args) || value; + } + return value; + }; +} +const cachedFunction = defineCachedFunction; +function getKey(...args) { + return args.length > 0 ? hash(args, {}) : ""; +} +function escapeKey(key) { + return String(key).replace(/\W/g, ""); +} +function defineCachedEventHandler(handler, opts = defaultCacheOptions) { + const variableHeaderNames = (opts.varies || []).filter(Boolean).map((h) => h.toLowerCase()).sort(); + const _opts = { + ...opts, + getKey: async (event) => { + const customKey = await opts.getKey?.(event); + if (customKey) { + return escapeKey(customKey); + } + const _path = event.node.req.originalUrl || event.node.req.url || event.path; + const _pathname = escapeKey(decodeURI(parseURL(_path).pathname)).slice(0, 16) || "index"; + const _hashedPath = `${_pathname}.${hash(_path)}`; + const _headers = variableHeaderNames.map((header) => [header, event.node.req.headers[header]]).map(([name, value]) => `${escapeKey(name)}.${hash(value)}`); + return [_hashedPath, ..._headers].join(":"); + }, + validate: (entry) => { + if (!entry.value) { + return false; + } + if (entry.value.code >= 400) { + return false; + } + if (entry.value.body === void 0) { + return false; + } + if (entry.value.headers.etag === "undefined" || entry.value.headers["last-modified"] === "undefined") { + return false; + } + return true; + }, + group: opts.group || "nitro/handlers", + integrity: opts.integrity || hash([handler, opts]) + }; + const _cachedHandler = cachedFunction( + async (incomingEvent) => { + const variableHeaders = {}; + for (const header of variableHeaderNames) { + variableHeaders[header] = incomingEvent.node.req.headers[header]; + } + const reqProxy = cloneWithProxy(incomingEvent.node.req, { + headers: variableHeaders + }); + const resHeaders = {}; + let _resSendBody; + const resProxy = cloneWithProxy(incomingEvent.node.res, { + statusCode: 200, + writableEnded: false, + writableFinished: false, + headersSent: false, + closed: false, + getHeader(name) { + return resHeaders[name]; + }, + setHeader(name, value) { + resHeaders[name] = value; + return this; + }, + getHeaderNames() { + return Object.keys(resHeaders); + }, + hasHeader(name) { + return name in resHeaders; + }, + removeHeader(name) { + delete resHeaders[name]; + }, + getHeaders() { + return resHeaders; + }, + end(chunk, arg2, arg3) { + if (typeof chunk === "string") { + _resSendBody = chunk; + } + if (typeof arg2 === "function") { + arg2(); + } + if (typeof arg3 === "function") { + arg3(); + } + return this; + }, + write(chunk, arg2, arg3) { + if (typeof chunk === "string") { + _resSendBody = chunk; + } + if (typeof arg2 === "function") { + arg2(); + } + if (typeof arg3 === "function") { + arg3(); + } + return this; + }, + writeHead(statusCode, headers2) { + this.statusCode = statusCode; + if (headers2) { + for (const header in headers2) { + this.setHeader(header, headers2[header]); + } + } + return this; + } + }); + const event = createEvent(reqProxy, resProxy); + event.context = incomingEvent.context; + const body = await handler(event) || _resSendBody; + const headers = event.node.res.getHeaders(); + headers.etag = String( + headers.Etag || headers.etag || `W/"${hash(body)}"` + ); + headers["last-modified"] = String( + headers["Last-Modified"] || headers["last-modified"] || (/* @__PURE__ */ new Date()).toUTCString() + ); + const cacheControl = []; + if (opts.swr) { + if (opts.maxAge) { + cacheControl.push(`s-maxage=${opts.maxAge}`); + } + if (opts.staleMaxAge) { + cacheControl.push(`stale-while-revalidate=${opts.staleMaxAge}`); + } else { + cacheControl.push("stale-while-revalidate"); + } + } else if (opts.maxAge) { + cacheControl.push(`max-age=${opts.maxAge}`); + } + if (cacheControl.length > 0) { + headers["cache-control"] = cacheControl.join(", "); + } + const cacheEntry = { + code: event.node.res.statusCode, + headers, + body + }; + return cacheEntry; + }, + _opts + ); + return defineEventHandler(async (event) => { + if (opts.headersOnly) { + if (handleCacheHeaders(event, { maxAge: opts.maxAge })) { + return; + } + return handler(event); + } + const response = await _cachedHandler(event); + if (event.node.res.headersSent || event.node.res.writableEnded) { + return response.body; + } + if (handleCacheHeaders(event, { + modifiedTime: new Date(response.headers["last-modified"]), + etag: response.headers.etag, + maxAge: opts.maxAge + })) { + return; + } + event.node.res.statusCode = response.code; + for (const name in response.headers) { + const value = response.headers[name]; + if (name === "set-cookie") { + event.node.res.appendHeader( + name, + splitCookiesString(value) + ); + } else { + event.node.res.setHeader(name, value); + } + } + return response.body; + }); +} +function cloneWithProxy(obj, overrides) { + return new Proxy(obj, { + get(target, property, receiver) { + if (property in overrides) { + return overrides[property]; + } + return Reflect.get(target, property, receiver); + }, + set(target, property, value, receiver) { + if (property in overrides) { + overrides[property] = value; + return true; + } + return Reflect.set(target, property, value, receiver); + } + }); +} +const cachedEventHandler = defineCachedEventHandler; + +function hasReqHeader(event, name, includes) { + const value = getRequestHeader(event, name); + return value && typeof value === "string" && value.toLowerCase().includes(includes); +} +function isJsonRequest(event) { + if (hasReqHeader(event, "accept", "text/html")) { + return false; + } + return hasReqHeader(event, "accept", "application/json") || hasReqHeader(event, "user-agent", "curl/") || hasReqHeader(event, "user-agent", "httpie/") || hasReqHeader(event, "sec-fetch-mode", "cors") || event.path.startsWith("/api/") || event.path.endsWith(".json"); +} +function normalizeError(error) { + const cwd = typeof process.cwd === "function" ? process.cwd() : "/"; + const stack = (error.stack || "").split("\n").splice(1).filter((line) => line.includes("at ")).map((line) => { + const text = line.replace(cwd + "/", "./").replace("webpack:/", "").replace("file://", "").trim(); + return { + text, + internal: line.includes("node_modules") && !line.includes(".cache") || line.includes("internal") || line.includes("new Promise") + }; + }); + const statusCode = error.statusCode || 500; + const statusMessage = error.statusMessage ?? (statusCode === 404 ? "Not Found" : ""); + const message = error.message || error.toString(); + return { + stack, + statusCode, + statusMessage, + message + }; +} +function _captureError(error, type) { + console.error(`[nitro] [${type}]`, error); + useNitroApp().captureError(error, { tags: [type] }); +} +function trapUnhandledNodeErrors() { + process.on( + "unhandledRejection", + (error) => _captureError(error, "unhandledRejection") + ); + process.on( + "uncaughtException", + (error) => _captureError(error, "uncaughtException") + ); +} +function joinHeaders(value) { + return Array.isArray(value) ? value.join(", ") : String(value); +} +function normalizeFetchResponse(response) { + if (!response.headers.has("set-cookie")) { + return response; + } + return new Response(response.body, { + status: response.status, + statusText: response.statusText, + headers: normalizeCookieHeaders(response.headers) + }); +} +function normalizeCookieHeader(header = "") { + return splitCookiesString(joinHeaders(header)); +} +function normalizeCookieHeaders(headers) { + const outgoingHeaders = new Headers(); + for (const [name, header] of headers) { + if (name === "set-cookie") { + for (const cookie of normalizeCookieHeader(header)) { + outgoingHeaders.append("set-cookie", cookie); + } + } else { + outgoingHeaders.set(name, joinHeaders(header)); + } + } + return outgoingHeaders; +} + +const config = useRuntimeConfig(); +const _routeRulesMatcher = toRouteMatcher( + createRouter$1({ routes: config.nitro.routeRules }) +); +function createRouteRulesHandler(ctx) { + return eventHandler((event) => { + const routeRules = getRouteRules(event); + if (routeRules.headers) { + setHeaders(event, routeRules.headers); + } + if (routeRules.redirect) { + return sendRedirect( + event, + routeRules.redirect.to, + routeRules.redirect.statusCode + ); + } + if (routeRules.proxy) { + let target = routeRules.proxy.to; + if (target.endsWith("/**")) { + let targetPath = event.path; + const strpBase = routeRules.proxy._proxyStripBase; + if (strpBase) { + targetPath = withoutBase(targetPath, strpBase); + } + target = joinURL(target.slice(0, -3), targetPath); + } else if (event.path.includes("?")) { + const query = getQuery$1(event.path); + target = withQuery(target, query); + } + return proxyRequest(event, target, { + fetch: ctx.localFetch, + ...routeRules.proxy + }); + } + }); +} +function getRouteRules(event) { + event.context._nitro = event.context._nitro || {}; + if (!event.context._nitro.routeRules) { + event.context._nitro.routeRules = getRouteRulesForPath( + withoutBase(event.path.split("?")[0], useRuntimeConfig().app.baseURL) + ); + } + return event.context._nitro.routeRules; +} +function getRouteRulesForPath(path) { + return defu({}, ..._routeRulesMatcher.matchAll(path).reverse()); +} + +const plugins = [ + +]; + +const errorHandler = (async function errorhandler(error, event) { + const { stack, statusCode, statusMessage, message } = normalizeError(error); + const errorObject = { + url: event.path, + statusCode, + statusMessage, + message, + stack: "", + data: error.data + }; + if (error.unhandled || error.fatal) { + const tags = [ + "[nuxt]", + "[request error]", + error.unhandled && "[unhandled]", + error.fatal && "[fatal]", + Number(errorObject.statusCode) !== 200 && `[${errorObject.statusCode}]` + ].filter(Boolean).join(" "); + console.error(tags, errorObject.message + "\n" + stack.map((l) => " " + l.text).join(" \n")); + } + if (event.handled) { + return; + } + setResponseStatus(event, errorObject.statusCode !== 200 && errorObject.statusCode || 500, errorObject.statusMessage); + if (isJsonRequest(event)) { + setResponseHeader(event, "Content-Type", "application/json"); + return send(event, JSON.stringify(errorObject)); + } + const isErrorPage = event.path.startsWith("/__nuxt_error"); + const res = !isErrorPage ? await useNitroApp().localFetch(withQuery(joinURL(useRuntimeConfig().app.baseURL, "/__nuxt_error"), errorObject), { + headers: getRequestHeaders(event), + redirect: "manual" + }).catch(() => null) : null; + if (!res) { + const { template } = await import('../error-500.mjs'); + if (event.handled) { + return; + } + setResponseHeader(event, "Content-Type", "text/html;charset=UTF-8"); + return send(event, template(errorObject)); + } + const html = await res.text(); + if (event.handled) { + return; + } + for (const [header, value] of res.headers.entries()) { + setResponseHeader(event, header, value); + } + setResponseStatus(event, res.status && res.status !== 200 ? res.status : void 0, res.statusText); + return send(event, html); +}); + +const assets = { + "/favicon.ico": { + "type": "image/vnd.microsoft.icon", + "etag": "\"8be-ny/AuTW5JYo7/wKERUbLq+/v+kI\"", + "mtime": "2023-12-13T02:53:54.661Z", + "size": 2238, + "path": "../public/favicon.ico" + }, + "/_nuxt/add-icon.11ba1b26.svg": { + "type": "image/svg+xml", + "etag": "\"d69-duZUYoq/gIoW/hsCgAAlIfqukFo\"", + "mtime": "2024-01-03T10:30:57.154Z", + "size": 3433, + "path": "../public/_nuxt/add-icon.11ba1b26.svg" + }, + "/_nuxt/arrow-black.9629aa90.svg": { + "type": "image/svg+xml", + "etag": "\"5ab-mUimGnxA37Y4Vok7vuE0Eo/8BmQ\"", + "mtime": "2024-01-03T10:30:57.154Z", + "size": 1451, + "path": "../public/_nuxt/arrow-black.9629aa90.svg" + }, + "/_nuxt/arrow-gray.271dd0d3.svg": { + "type": "image/svg+xml", + "etag": "\"5a0-yAit7q5lcKJMd35iOMMifZv2uno\"", + "mtime": "2024-01-03T10:30:57.156Z", + "size": 1440, + "path": "../public/_nuxt/arrow-gray.271dd0d3.svg" + }, + "/_nuxt/calendar-icon.dc8f3cea.svg": { + "type": "image/svg+xml", + "etag": "\"10de-7GpYtlC2JwrcocvS/s1VFTYW1Oc\"", + "mtime": "2024-01-03T10:30:57.154Z", + "size": 4318, + "path": "../public/_nuxt/calendar-icon.dc8f3cea.svg" + }, + "/_nuxt/collect-icon-colours.6d2ade7f.svg": { + "type": "image/svg+xml", + "etag": "\"7ab-av9D1DgxgD5cvY5wd30haD7c1q0\"", + "mtime": "2024-01-03T10:30:57.154Z", + "size": 1963, + "path": "../public/_nuxt/collect-icon-colours.6d2ade7f.svg" + }, + "/_nuxt/comment-icon-gray.2c8779f9.svg": { + "type": "image/svg+xml", + "etag": "\"816-HEGvNjvS0TeA/3uJweilvZfCqlk\"", + "mtime": "2024-01-03T10:30:57.154Z", + "size": 2070, + "path": "../public/_nuxt/comment-icon-gray.2c8779f9.svg" + }, + "/_nuxt/comment-icon.f7b16ad3.svg": { + "type": "image/svg+xml", + "etag": "\"819-PW0BXYJ16LW06IW1vlSRDssyEjM\"", + "mtime": "2024-01-03T10:30:57.155Z", + "size": 2073, + "path": "../public/_nuxt/comment-icon.f7b16ad3.svg" + }, + "/_nuxt/cross-icon.45090166.js": { + "type": "application/javascript", + "etag": "\"1b23b-U5Wtgg3lfDSvyUwSczw6l8qsT5c\"", + "mtime": "2024-01-03T10:30:57.159Z", + "size": 111163, + "path": "../public/_nuxt/cross-icon.45090166.js" + }, + "/_nuxt/cross-icon.a9c3a5f3.css": { + "type": "text/css; charset=utf-8", + "etag": "\"2f18-X2LwY1zonFbAYkszX8nkwpxEDwA\"", + "mtime": "2024-01-03T10:30:57.157Z", + "size": 12056, + "path": "../public/_nuxt/cross-icon.a9c3a5f3.css" + }, + "/_nuxt/delete-icon.a2ab9c64.svg": { + "type": "image/svg+xml", + "etag": "\"17fc-i1z5ruTbyKdk0KmaLxdHbFn0fDE\"", + "mtime": "2024-01-03T10:30:57.155Z", + "size": 6140, + "path": "../public/_nuxt/delete-icon.a2ab9c64.svg" + }, + "/_nuxt/dot-gray.86cdd7b5.svg": { + "type": "image/svg+xml", + "etag": "\"2af-sBMsuPZbsh28jzlFWO9lVYMVDk8\"", + "mtime": "2024-01-03T10:30:57.154Z", + "size": 687, + "path": "../public/_nuxt/dot-gray.86cdd7b5.svg" + }, + "/_nuxt/dot-yellow.4b5e135b.svg": { + "type": "image/svg+xml", + "etag": "\"2af-6L7YsWhGTHBB6NqQztB/l2OFRfE\"", + "mtime": "2024-01-03T10:30:57.154Z", + "size": 687, + "path": "../public/_nuxt/dot-yellow.4b5e135b.svg" + }, + "/_nuxt/el-popper.7909cce2.css": { + "type": "text/css; charset=utf-8", + "etag": "\"88c-q7HKsWWqF0HepgoRAmPvps8X1hw\"", + "mtime": "2024-01-03T10:30:57.157Z", + "size": 2188, + "path": "../public/_nuxt/el-popper.7909cce2.css" + }, + "/_nuxt/el-popper.fcf550db.js": { + "type": "application/javascript", + "etag": "\"9a64-F7rNyfXvCN7xCb1yTOuI6xwXuUg\"", + "mtime": "2024-01-03T10:30:57.158Z", + "size": 39524, + "path": "../public/_nuxt/el-popper.fcf550db.js" + }, + "/_nuxt/empty-icon.24a01ae2.svg": { + "type": "image/svg+xml", + "etag": "\"d028-Our2UxxUiciRSduORd8JZCt5Prw\"", + "mtime": "2024-01-03T10:30:57.154Z", + "size": 53288, + "path": "../public/_nuxt/empty-icon.24a01ae2.svg" + }, + "/_nuxt/entry.115d913a.js": { + "type": "application/javascript", + "etag": "\"24788-A59B2xMdLQM5nGvKH9Fw7jb9zr4\"", + "mtime": "2024-01-03T10:30:57.159Z", + "size": 149384, + "path": "../public/_nuxt/entry.115d913a.js" + }, + "/_nuxt/entry.8609db93.css": { + "type": "text/css; charset=utf-8", + "etag": "\"5a8-Uxe2X56DGY9AjljhIV0OJBN3wpg\"", + "mtime": "2024-01-03T10:30:57.157Z", + "size": 1448, + "path": "../public/_nuxt/entry.8609db93.css" + }, + "/_nuxt/error-404.447d008d.js": { + "type": "application/javascript", + "etag": "\"1913-qrb9DPNBkU8SzxRN8jCntsVoMhs\"", + "mtime": "2024-01-03T10:30:57.158Z", + "size": 6419, + "path": "../public/_nuxt/error-404.447d008d.js" + }, + "/_nuxt/error-404.7fc72018.css": { + "type": "text/css; charset=utf-8", + "etag": "\"e2e-iNt1cqPQ0WDudfCTZVQd31BeRGs\"", + "mtime": "2024-01-03T10:30:57.157Z", + "size": 3630, + "path": "../public/_nuxt/error-404.7fc72018.css" + }, + "/_nuxt/error-500.694510b4.js": { + "type": "application/javascript", + "etag": "\"78b-C10zDqUcUJu9KgRd7T0+RWiqFVY\"", + "mtime": "2024-01-03T10:30:57.158Z", + "size": 1931, + "path": "../public/_nuxt/error-500.694510b4.js" + }, + "/_nuxt/error-500.c5df6088.css": { + "type": "text/css; charset=utf-8", + "etag": "\"79e-ByRo+49BgcevWdRjJy3CMx2IA5k\"", + "mtime": "2024-01-03T10:30:57.157Z", + "size": 1950, + "path": "../public/_nuxt/error-500.c5df6088.css" + }, + "/_nuxt/eye-icon.4c304c4b.css": { + "type": "text/css; charset=utf-8", + "etag": "\"28bd-tkjEZMSc6YUqhrUtHCEXvVcT0so\"", + "mtime": "2024-01-03T10:30:57.157Z", + "size": 10429, + "path": "../public/_nuxt/eye-icon.4c304c4b.css" + }, + "/_nuxt/eye-icon.d6b90277.js": { + "type": "application/javascript", + "etag": "\"54f5-sJ5x4hKvsZFl3HRfdHf3UHc8zvQ\"", + "mtime": "2024-01-03T10:30:57.158Z", + "size": 21749, + "path": "../public/_nuxt/eye-icon.d6b90277.js" + }, + "/_nuxt/eye-icon.efcf8c6f.svg": { + "type": "image/svg+xml", + "etag": "\"f39-QCU0maVN6PY9o1JtSXoWOGORq7k\"", + "mtime": "2024-01-03T10:30:57.153Z", + "size": 3897, + "path": "../public/_nuxt/eye-icon.efcf8c6f.svg" + }, + "/_nuxt/frame-no.28983b22.svg": { + "type": "image/svg+xml", + "etag": "\"480-EKwGi4QYQkg109aJtnbD+fV8Klg\"", + "mtime": "2024-01-03T10:30:57.154Z", + "size": 1152, + "path": "../public/_nuxt/frame-no.28983b22.svg" + }, + "/_nuxt/frame-pitch.02620f32.svg": { + "type": "image/svg+xml", + "etag": "\"52f-YILNP2Fxjqbxv0F3c/ve1Wp95qE\"", + "mtime": "2024-01-03T10:30:57.154Z", + "size": 1327, + "path": "../public/_nuxt/frame-pitch.02620f32.svg" + }, + "/_nuxt/index.07256c26.js": { + "type": "application/javascript", + "etag": "\"221d-EYQfa614iKXJYcOSkCDBtz1aKV4\"", + "mtime": "2024-01-03T10:30:57.158Z", + "size": 8733, + "path": "../public/_nuxt/index.07256c26.js" + }, + "/_nuxt/index.0b1f8d4c.css": { + "type": "text/css; charset=utf-8", + "etag": "\"ea58-zX0OiDzxHjTyQUVCGcSTjjdj5tI\"", + "mtime": "2024-01-03T10:30:57.157Z", + "size": 59992, + "path": "../public/_nuxt/index.0b1f8d4c.css" + }, + "/_nuxt/index.bda1eb97.css": { + "type": "text/css; charset=utf-8", + "etag": "\"b05-OKCz6xH55LzpgDNRe3cw9rU7FvU\"", + "mtime": "2024-01-03T10:30:57.157Z", + "size": 2821, + "path": "../public/_nuxt/index.bda1eb97.css" + }, + "/_nuxt/index.c68e61d2.js": { + "type": "application/javascript", + "etag": "\"23537-vxGQFusj9YxDtOY4etcZSPMXUXw\"", + "mtime": "2024-01-03T10:30:57.159Z", + "size": 144695, + "path": "../public/_nuxt/index.c68e61d2.js" + }, + "/_nuxt/index.c8a98951.js": { + "type": "application/javascript", + "etag": "\"8f-dGEBq6XKfrJJbBl+lbBkHex5W2Y\"", + "mtime": "2024-01-03T10:30:57.157Z", + "size": 143, + "path": "../public/_nuxt/index.c8a98951.js" + }, + "/_nuxt/item-bj.0d22947a.svg": { + "type": "image/svg+xml", + "etag": "\"3d7-dIcqtJMy6cC9svK+dEBLPfovQwM\"", + "mtime": "2024-01-03T10:30:57.154Z", + "size": 983, + "path": "../public/_nuxt/item-bj.0d22947a.svg" + }, + "/_nuxt/like-no.23054eaf.svg": { + "type": "image/svg+xml", + "etag": "\"9fd-c4VosqDtp2PHBW0jJzEl1nYadIE\"", + "mtime": "2024-01-03T10:30:57.154Z", + "size": 2557, + "path": "../public/_nuxt/like-no.23054eaf.svg" + }, + "/_nuxt/logo-icon.b6345ffb.png": { + "type": "image/png", + "etag": "\"873a-OTH/h653HLUhRYOH8opOgbwEiyY\"", + "mtime": "2024-01-03T10:30:57.154Z", + "size": 34618, + "path": "../public/_nuxt/logo-icon.b6345ffb.png" + }, + "/_nuxt/masonry.c851f679.js": { + "type": "application/javascript", + "etag": "\"5925-+CGR/dcHEcrIpoFv1hhJFPUMs/0\"", + "mtime": "2024-01-03T10:30:57.157Z", + "size": 22821, + "path": "../public/_nuxt/masonry.c851f679.js" + }, + "/_nuxt/menu-icon-gray.d61f02b1.svg": { + "type": "image/svg+xml", + "etag": "\"6de-kmXhltPHfF4W1gmV7wT4aZCZ6gg\"", + "mtime": "2024-01-03T10:30:57.154Z", + "size": 1758, + "path": "../public/_nuxt/menu-icon-gray.d61f02b1.svg" + }, + "/_nuxt/QR-code-icon.a546cc6a.svg": { + "type": "image/svg+xml", + "etag": "\"9bd-ImV+qFyLa7hJs/2PJyqggYBfPNw\"", + "mtime": "2024-01-03T10:30:57.154Z", + "size": 2493, + "path": "../public/_nuxt/QR-code-icon.a546cc6a.svg" + }, + "/_nuxt/tick-green.2df56f28.svg": { + "type": "image/svg+xml", + "etag": "\"608-urxwjzCBJZRmYN0dWUHVWuRnvs8\"", + "mtime": "2024-01-03T10:30:57.157Z", + "size": 1544, + "path": "../public/_nuxt/tick-green.2df56f28.svg" + }, + "/_nuxt/time-icon.fef65a83.svg": { + "type": "image/svg+xml", + "etag": "\"9c8-FBZvkJIJ1KnFwwu84cF+Jq4O4Yk\"", + "mtime": "2024-01-03T10:30:57.154Z", + "size": 2504, + "path": "../public/_nuxt/time-icon.fef65a83.svg" + }, + "/_nuxt/time-white-icon.805d0e12.svg": { + "type": "image/svg+xml", + "etag": "\"9c8-4/hVTUPF2p1SNwSaFoj2p+3S4qo\"", + "mtime": "2024-01-03T10:30:57.155Z", + "size": 2504, + "path": "../public/_nuxt/time-white-icon.805d0e12.svg" + }, + "/_nuxt/_id_.5def5bfc.js": { + "type": "application/javascript", + "etag": "\"c56e-zt9f8dwjBPpmwVinXgvpDNp+1JY\"", + "mtime": "2024-01-03T10:30:57.158Z", + "size": 50542, + "path": "../public/_nuxt/_id_.5def5bfc.js" + }, + "/_nuxt/_id_.dcb3d85d.css": { + "type": "text/css; charset=utf-8", + "etag": "\"58c2-3E3Z1s1iDLVhM3LfzVSU+GzWCjs\"", + "mtime": "2024-01-03T10:30:57.157Z", + "size": 22722, + "path": "../public/_nuxt/_id_.dcb3d85d.css" + }, + "/_nuxt/_plugin-vue_export-helper.5ffd2309.js": { + "type": "application/javascript", + "etag": "\"1df-puj697KZkZROcFWvLrqjAeZRyzg\"", + "mtime": "2024-01-03T10:30:57.157Z", + "size": 479, + "path": "../public/_nuxt/_plugin-vue_export-helper.5ffd2309.js" + }, + "/_nuxt/builds/latest.json": { + "type": "application/json", + "etag": "\"47-H7Ade0yb8CatuJe0STf1zCYA9lc\"", + "mtime": "2024-01-03T10:31:02.855Z", + "size": 71, + "path": "../public/_nuxt/builds/latest.json" + }, + "/_nuxt/builds/meta/a486118d-90ff-405f-a6ff-ab1b0c0ca2eb.json": { + "type": "application/json", + "etag": "\"8b-yrN38tFXC2N2m/T1wScwpjKc+q8\"", + "mtime": "2024-01-03T10:31:02.855Z", + "size": 139, + "path": "../public/_nuxt/builds/meta/a486118d-90ff-405f-a6ff-ab1b0c0ca2eb.json" + } +}; + +function normalizeWindowsPath(input = "") { + if (!input || !input.includes("\\")) { + return input; + } + return input.replace(/\\/g, "/"); +} +const _IS_ABSOLUTE_RE = /^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/; +const _DRIVE_LETTER_RE = /^[A-Za-z]:$/; +function cwd() { + if (typeof process !== "undefined") { + return process.cwd().replace(/\\/g, "/"); + } + return "/"; +} +const resolve = function(...arguments_) { + arguments_ = arguments_.map((argument) => normalizeWindowsPath(argument)); + let resolvedPath = ""; + let resolvedAbsolute = false; + for (let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--) { + const path = index >= 0 ? arguments_[index] : cwd(); + if (!path || path.length === 0) { + continue; + } + resolvedPath = `${path}/${resolvedPath}`; + resolvedAbsolute = isAbsolute(path); + } + resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute); + if (resolvedAbsolute && !isAbsolute(resolvedPath)) { + return `/${resolvedPath}`; + } + return resolvedPath.length > 0 ? resolvedPath : "."; +}; +function normalizeString(path, allowAboveRoot) { + let res = ""; + let lastSegmentLength = 0; + let lastSlash = -1; + let dots = 0; + let char = null; + for (let index = 0; index <= path.length; ++index) { + if (index < path.length) { + char = path[index]; + } else if (char === "/") { + break; + } else { + char = "/"; + } + if (char === "/") { + if (lastSlash === index - 1 || dots === 1) ; else if (dots === 2) { + if (res.length < 2 || lastSegmentLength !== 2 || res[res.length - 1] !== "." || res[res.length - 2] !== ".") { + if (res.length > 2) { + const lastSlashIndex = res.lastIndexOf("/"); + if (lastSlashIndex === -1) { + res = ""; + lastSegmentLength = 0; + } else { + res = res.slice(0, lastSlashIndex); + lastSegmentLength = res.length - 1 - res.lastIndexOf("/"); + } + lastSlash = index; + dots = 0; + continue; + } else if (res.length > 0) { + res = ""; + lastSegmentLength = 0; + lastSlash = index; + dots = 0; + continue; + } + } + if (allowAboveRoot) { + res += res.length > 0 ? "/.." : ".."; + lastSegmentLength = 2; + } + } else { + if (res.length > 0) { + res += `/${path.slice(lastSlash + 1, index)}`; + } else { + res = path.slice(lastSlash + 1, index); + } + lastSegmentLength = index - lastSlash - 1; + } + lastSlash = index; + dots = 0; + } else if (char === "." && dots !== -1) { + ++dots; + } else { + dots = -1; + } + } + return res; +} +const isAbsolute = function(p) { + return _IS_ABSOLUTE_RE.test(p); +}; +const dirname = function(p) { + const segments = normalizeWindowsPath(p).replace(/\/$/, "").split("/").slice(0, -1); + if (segments.length === 1 && _DRIVE_LETTER_RE.test(segments[0])) { + segments[0] += "/"; + } + return segments.join("/") || (isAbsolute(p) ? "/" : "."); +}; + +function readAsset (id) { + const serverDir = dirname(fileURLToPath(globalThis._importMeta_.url)); + return promises$1.readFile(resolve(serverDir, assets[id].path)) +} + +const publicAssetBases = {"/_nuxt/builds/meta":{"maxAge":31536000},"/_nuxt/builds":{"maxAge":1},"/_nuxt":{"maxAge":31536000}}; + +function isPublicAssetURL(id = '') { + if (assets[id]) { + return true + } + for (const base in publicAssetBases) { + if (id.startsWith(base)) { return true } + } + return false +} + +function getAsset (id) { + return assets[id] +} + +const METHODS = /* @__PURE__ */ new Set(["HEAD", "GET"]); +const EncodingMap = { gzip: ".gz", br: ".br" }; +const _f4b49z = eventHandler((event) => { + if (event.method && !METHODS.has(event.method)) { + return; + } + let id = decodePath( + withLeadingSlash(withoutTrailingSlash(parseURL(event.path).pathname)) + ); + let asset; + const encodingHeader = String( + getRequestHeader(event, "accept-encoding") || "" + ); + const encodings = [ + ...encodingHeader.split(",").map((e) => EncodingMap[e.trim()]).filter(Boolean).sort(), + "" + ]; + if (encodings.length > 1) { + setResponseHeader(event, "Vary", "Accept-Encoding"); + } + for (const encoding of encodings) { + for (const _id of [id + encoding, joinURL(id, "index.html" + encoding)]) { + const _asset = getAsset(_id); + if (_asset) { + asset = _asset; + id = _id; + break; + } + } + } + if (!asset) { + if (isPublicAssetURL(id)) { + removeResponseHeader(event, "Cache-Control"); + throw createError$1({ + statusMessage: "Cannot find static asset " + id, + statusCode: 404 + }); + } + return; + } + const ifNotMatch = getRequestHeader(event, "if-none-match") === asset.etag; + if (ifNotMatch) { + setResponseStatus(event, 304, "Not Modified"); + return ""; + } + const ifModifiedSinceH = getRequestHeader(event, "if-modified-since"); + const mtimeDate = new Date(asset.mtime); + if (ifModifiedSinceH && asset.mtime && new Date(ifModifiedSinceH) >= mtimeDate) { + setResponseStatus(event, 304, "Not Modified"); + return ""; + } + if (asset.type && !getResponseHeader(event, "Content-Type")) { + setResponseHeader(event, "Content-Type", asset.type); + } + if (asset.etag && !getResponseHeader(event, "ETag")) { + setResponseHeader(event, "ETag", asset.etag); + } + if (asset.mtime && !getResponseHeader(event, "Last-Modified")) { + setResponseHeader(event, "Last-Modified", mtimeDate.toUTCString()); + } + if (asset.encoding && !getResponseHeader(event, "Content-Encoding")) { + setResponseHeader(event, "Content-Encoding", asset.encoding); + } + if (asset.size > 0 && !getResponseHeader(event, "Content-Length")) { + setResponseHeader(event, "Content-Length", asset.size); + } + return readAsset(id); +}); + +const _lazy_EL7iRl = () => import('../handlers/renderer.mjs').then(function (n) { return n.r; }); + +const handlers = [ + { route: '', handler: _f4b49z, lazy: false, middleware: true, method: undefined }, + { route: '/__nuxt_error', handler: _lazy_EL7iRl, lazy: true, middleware: false, method: undefined }, + { route: '/**', handler: _lazy_EL7iRl, lazy: true, middleware: false, method: undefined } +]; + +function createNitroApp() { + const config = useRuntimeConfig(); + const hooks = createHooks(); + const captureError = (error, context = {}) => { + const promise = hooks.callHookParallel("error", error, context).catch((_err) => { + console.error("Error while capturing another error", _err); + }); + if (context.event && isEvent(context.event)) { + const errors = context.event.context.nitro?.errors; + if (errors) { + errors.push({ error, context }); + } + if (context.event.waitUntil) { + context.event.waitUntil(promise); + } + } + }; + const h3App = createApp({ + debug: destr(false), + onError: (error, event) => { + captureError(error, { event, tags: ["request"] }); + return errorHandler(error, event); + }, + onRequest: async (event) => { + await nitroApp.hooks.callHook("request", event).catch((error) => { + captureError(error, { event, tags: ["request"] }); + }); + }, + onBeforeResponse: async (event, response) => { + await nitroApp.hooks.callHook("beforeResponse", event, response).catch((error) => { + captureError(error, { event, tags: ["request", "response"] }); + }); + }, + onAfterResponse: async (event, response) => { + await nitroApp.hooks.callHook("afterResponse", event, response).catch((error) => { + captureError(error, { event, tags: ["request", "response"] }); + }); + } + }); + const router = createRouter({ + preemptive: true + }); + const localCall = createCall(toNodeListener(h3App)); + const _localFetch = createFetch(localCall, globalThis.fetch); + const localFetch = (input, init) => _localFetch(input, init).then( + (response) => normalizeFetchResponse(response) + ); + const $fetch = createFetch$1({ + fetch: localFetch, + Headers: Headers$1, + defaults: { baseURL: config.app.baseURL } + }); + globalThis.$fetch = $fetch; + h3App.use(createRouteRulesHandler({ localFetch })); + h3App.use( + eventHandler((event) => { + event.context.nitro = event.context.nitro || { errors: [] }; + const envContext = event.node.req?.__unenv__; + if (envContext) { + Object.assign(event.context, envContext); + } + event.fetch = (req, init) => fetchWithEvent(event, req, init, { fetch: localFetch }); + event.$fetch = (req, init) => fetchWithEvent(event, req, init, { + fetch: $fetch + }); + event.waitUntil = (promise) => { + if (!event.context.nitro._waitUntilPromises) { + event.context.nitro._waitUntilPromises = []; + } + event.context.nitro._waitUntilPromises.push(promise); + if (envContext?.waitUntil) { + envContext.waitUntil(promise); + } + }; + event.captureError = (error, context) => { + captureError(error, { event, ...context }); + }; + }) + ); + for (const h of handlers) { + let handler = h.lazy ? lazyEventHandler(h.handler) : h.handler; + if (h.middleware || !h.route) { + const middlewareBase = (config.app.baseURL + (h.route || "/")).replace( + /\/+/g, + "/" + ); + h3App.use(middlewareBase, handler); + } else { + const routeRules = getRouteRulesForPath( + h.route.replace(/:\w+|\*\*/g, "_") + ); + if (routeRules.cache) { + handler = cachedEventHandler(handler, { + group: "nitro/routes", + ...routeRules.cache + }); + } + router.use(h.route, handler, h.method); + } + } + h3App.use(config.app.baseURL, router.handler); + const app = { + hooks, + h3App, + router, + localCall, + localFetch, + captureError + }; + for (const plugin of plugins) { + try { + plugin(app); + } catch (err) { + captureError(err, { tags: ["plugin"] }); + throw err; + } + } + return app; +} +const nitroApp = createNitroApp(); +const useNitroApp = () => nitroApp; + +const debug = (...args) => { +}; +function GracefulShutdown(server, opts) { + opts = opts || {}; + const options = Object.assign( + { + signals: "SIGINT SIGTERM", + timeout: 3e4, + development: false, + forceExit: true, + onShutdown: (signal) => Promise.resolve(signal), + preShutdown: (signal) => Promise.resolve(signal) + }, + opts + ); + let isShuttingDown = false; + const connections = {}; + let connectionCounter = 0; + const secureConnections = {}; + let secureConnectionCounter = 0; + let failed = false; + let finalRun = false; + function onceFactory() { + let called = false; + return (emitter, events, callback) => { + function call() { + if (!called) { + called = true; + return Reflect.apply(callback, this, arguments); + } + } + for (const e of events) { + emitter.on(e, call); + } + }; + } + const signals = options.signals.split(" ").map((s) => s.trim()).filter((s) => s.length > 0); + const once = onceFactory(); + once(process, signals, (signal) => { + shutdown(signal).then(() => { + if (options.forceExit) { + process.exit(failed ? 1 : 0); + } + }).catch((err) => { + process.exit(1); + }); + }); + function isFunction(functionToCheck) { + const getType = Object.prototype.toString.call(functionToCheck); + return /^\[object\s([A-Za-z]+)?Function]$/.test(getType); + } + function destroy(socket, force = false) { + if (socket._isIdle && isShuttingDown || force) { + socket.destroy(); + if (socket.server instanceof http.Server) { + delete connections[socket._connectionId]; + } else { + delete secureConnections[socket._connectionId]; + } + } + } + function destroyAllConnections(force = false) { + for (const key of Object.keys(connections)) { + const socket = connections[key]; + const serverResponse = socket._httpMessage; + if (serverResponse && !force) { + if (!serverResponse.headersSent) { + serverResponse.setHeader("connection", "close"); + } + } else { + destroy(socket); + } + } + for (const key of Object.keys(secureConnections)) { + const socket = secureConnections[key]; + const serverResponse = socket._httpMessage; + if (serverResponse && !force) { + if (!serverResponse.headersSent) { + serverResponse.setHeader("connection", "close"); + } + } else { + destroy(socket); + } + } + } + server.on("request", function(req, res) { + req.socket._isIdle = false; + if (isShuttingDown && !res.headersSent) { + res.setHeader("connection", "close"); + } + res.on("finish", function() { + req.socket._isIdle = true; + destroy(req.socket); + }); + }); + server.on("connection", function(socket) { + if (isShuttingDown) { + socket.destroy(); + } else { + const id = connectionCounter++; + socket._isIdle = true; + socket._connectionId = id; + connections[id] = socket; + socket.once("close", () => { + delete connections[socket._connectionId]; + }); + } + }); + server.on("secureConnection", (socket) => { + if (isShuttingDown) { + socket.destroy(); + } else { + const id = secureConnectionCounter++; + socket._isIdle = true; + socket._connectionId = id; + secureConnections[id] = socket; + socket.once("close", () => { + delete secureConnections[socket._connectionId]; + }); + } + }); + process.on("close", function() { + }); + function shutdown(sig) { + function cleanupHttp() { + destroyAllConnections(); + return new Promise((resolve, reject) => { + server.close((err) => { + if (err) { + return reject(err); + } + return resolve(true); + }); + }); + } + if (options.development) { + return process.exit(0); + } + function finalHandler() { + if (!finalRun) { + finalRun = true; + if (options.finally && isFunction(options.finally)) { + options.finally(); + } + } + return Promise.resolve(); + } + function waitForReadyToShutDown(totalNumInterval) { + if (totalNumInterval === 0) { + debug( + `Could not close connections in time (${options.timeout}ms), will forcefully shut down` + ); + return Promise.resolve(true); + } + const allConnectionsClosed = Object.keys(connections).length === 0 && Object.keys(secureConnections).length === 0; + if (allConnectionsClosed) { + return Promise.resolve(false); + } + return new Promise((resolve) => { + setTimeout(() => { + resolve(waitForReadyToShutDown(totalNumInterval - 1)); + }, 250); + }); + } + if (isShuttingDown) { + return Promise.resolve(); + } + return options.preShutdown(sig).then(() => { + isShuttingDown = true; + cleanupHttp(); + }).then(() => { + const pollIterations = options.timeout ? Math.round(options.timeout / 250) : 0; + return waitForReadyToShutDown(pollIterations); + }).then((force) => { + if (force) { + destroyAllConnections(force); + } + return options.onShutdown(sig); + }).then(finalHandler).catch((err) => { + const errString = typeof err === "string" ? err : JSON.stringify(err); + failed = true; + throw errString; + }); + } + function shutdownManual() { + return shutdown("manual"); + } + return shutdownManual; +} + +function getGracefulShutdownConfig() { + return { + disabled: !!process.env.NITRO_SHUTDOWN_DISABLED, + signals: (process.env.NITRO_SHUTDOWN_SIGNALS || "SIGTERM SIGINT").split(" ").map((s) => s.trim()), + timeout: Number.parseInt(process.env.NITRO_SHUTDOWN_TIMEOUT, 10) || 3e4, + forceExit: !process.env.NITRO_SHUTDOWN_NO_FORCE_EXIT + }; +} +function setupGracefulShutdown(listener, nitroApp) { + const shutdownConfig = getGracefulShutdownConfig(); + if (shutdownConfig.disabled) { + return; + } + GracefulShutdown(listener, { + signals: shutdownConfig.signals.join(" "), + timeout: shutdownConfig.timeout, + forceExit: shutdownConfig.forceExit, + onShutdown: async () => { + await new Promise((resolve) => { + const timeout = setTimeout(() => { + console.warn("Graceful shutdown timeout, force exiting..."); + resolve(); + }, shutdownConfig.timeout); + nitroApp.hooks.callHook("close").catch((err) => { + console.error(err); + }).finally(() => { + clearTimeout(timeout); + resolve(); + }); + }); + } + }); +} + +const cert = process.env.NITRO_SSL_CERT; +const key = process.env.NITRO_SSL_KEY; +const server = cert && key ? new Server({ key, cert }, toNodeListener(nitroApp.h3App)) : new Server$1(toNodeListener(nitroApp.h3App)); +const port = destr(process.env.NITRO_PORT || process.env.PORT) || 3e3; +const host = process.env.NITRO_HOST || process.env.HOST; +const path = process.env.NITRO_UNIX_SOCKET; +const listener = server.listen(path ? { path } : { port, host }, (err) => { + if (err) { + console.error(err); + process.exit(1); + } + const protocol = cert && key ? "https" : "http"; + const addressInfo = listener.address(); + if (typeof addressInfo === "string") { + console.log(`Listening on unix socket ${addressInfo}`); + return; + } + const baseURL = (useRuntimeConfig().app.baseURL || "").replace(/\/$/, ""); + const url = `${protocol}://${addressInfo.family === "IPv6" ? `[${addressInfo.address}]` : addressInfo.address}:${addressInfo.port}${baseURL}`; + console.log(`Listening on ${url}`); +}); +trapUnhandledNodeErrors(); +setupGracefulShutdown(listener, nitroApp); +const nodeServer = {}; + +export { $fetch as $, send as a, setResponseStatus as b, setResponseHeaders as c, useRuntimeConfig as d, eventHandler as e, getQuery as f, getResponseStatus as g, createError$1 as h, getRouteRules as i, joinURL as j, getResponseStatusText as k, hasProtocol as l, isScriptProtocol as m, sanitizeStatusCode as n, createHooks as o, parseURL as p, parseQuery as q, withTrailingSlash as r, setResponseHeader as s, withoutTrailingSlash as t, useNitroApp as u, nodeServer as v, withQuery as w }; +//# sourceMappingURL=node-server.mjs.map diff --git a/.output/server/chunks/nitro/node-server.mjs.map b/.output/server/chunks/nitro/node-server.mjs.map new file mode 100644 index 0000000..888b2ec --- /dev/null +++ b/.output/server/chunks/nitro/node-server.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"node-server.mjs","sources":["../../../../node_modules/destr/dist/index.mjs","../../../../node_modules/ufo/dist/index.mjs","../../../../node_modules/radix3/dist/index.mjs","../../../../node_modules/defu/dist/defu.mjs","../../../../node_modules/unenv/runtime/_internal/utils.mjs","../../../../node_modules/unenv/runtime/node/events/_events.mjs","../../../../node_modules/unenv/runtime/node/events/index.mjs","../../../../node_modules/unenv/runtime/node/stream/readable.mjs","../../../../node_modules/unenv/runtime/node/stream/writable.mjs","../../../../node_modules/unenv/runtime/node/stream/duplex.mjs","../../../../node_modules/unenv/runtime/node/net/socket.mjs","../../../../node_modules/unenv/runtime/node/http/_request.mjs","../../../../node_modules/unenv/runtime/node/http/_response.mjs","../../../../node_modules/h3/dist/index.mjs","../../../../node_modules/node-fetch-native/dist/native.mjs","../../../../node_modules/ofetch/dist/shared/ofetch.00501375.mjs","../../../../node_modules/ofetch/dist/node.mjs","../../../../node_modules/unenv/runtime/fetch/call.mjs","../../../../node_modules/unenv/runtime/fetch/index.mjs","../../../../node_modules/hookable/dist/index.mjs","../../../../node_modules/scule/dist/index.mjs","../../../../node_modules/klona/dist/index.mjs","../../../../node_modules/nitropack/dist/runtime/config.mjs","../../../../node_modules/ohash/dist/index.mjs","../../../../node_modules/unstorage/dist/shared/unstorage.8581f561.mjs","../../../../node_modules/unstorage/dist/index.mjs","../../../../node_modules/unstorage/drivers/utils/index.mjs","../../../../node_modules/unstorage/drivers/utils/node-fs.mjs","../../../../node_modules/unstorage/drivers/fs-lite.mjs","../../../../node_modules/nitropack/dist/runtime/storage.mjs","../../../../node_modules/nitropack/dist/runtime/cache.mjs","../../../../node_modules/nitropack/dist/runtime/utils.mjs","../../../../node_modules/nitropack/dist/runtime/route-rules.mjs","../../../../node_modules/nuxt/dist/core/runtime/nitro/error.js","../../../../node_modules/pathe/dist/shared/pathe.92c04245.mjs","../../../../node_modules/nitropack/dist/runtime/static.mjs","../../../../node_modules/nitropack/dist/runtime/app.mjs","../../../../node_modules/nitropack/dist/runtime/lib/http-graceful-shutdown.mjs","../../../../node_modules/nitropack/dist/runtime/shutdown.mjs","../../../../node_modules/nitropack/dist/runtime/entries/node-server.mjs"],"sourcesContent":null,"names":["getQuery","createRouter","EventEmitter","_EventEmitter","createError","nullBodyResponses","createFetch","nodeFetch","Headers","Headers$1","AbortController$1","_inlineAppConfig","normalizeKey","defineDriver","DRIVER_NAME","dirname","fsPromises","resolve","fsp","createRadixRouter","createLocalFetch","gracefulShutdown","HttpsServer","HttpServer"],"mappings":"","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]} \ No newline at end of file diff --git a/.output/server/chunks/rollup/_virtual_spa-template.mjs b/.output/server/chunks/rollup/_virtual_spa-template.mjs new file mode 100644 index 0000000..7ade71c --- /dev/null +++ b/.output/server/chunks/rollup/_virtual_spa-template.mjs @@ -0,0 +1,4 @@ +const template = ""; + +export { template }; +//# sourceMappingURL=_virtual_spa-template.mjs.map diff --git a/.output/server/chunks/rollup/_virtual_spa-template.mjs.map b/.output/server/chunks/rollup/_virtual_spa-template.mjs.map new file mode 100644 index 0000000..4ab708b --- /dev/null +++ b/.output/server/chunks/rollup/_virtual_spa-template.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"_virtual_spa-template.mjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;"} \ No newline at end of file diff --git a/.output/server/index.mjs b/.output/server/index.mjs new file mode 100644 index 0000000..266fec6 --- /dev/null +++ b/.output/server/index.mjs @@ -0,0 +1,8 @@ +globalThis._importMeta_={url:import.meta.url,env:process.env};import 'node:http'; +import 'node:https'; +export { v as default } from './chunks/nitro/node-server.mjs'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +//# sourceMappingURL=index.mjs.map diff --git a/.output/server/index.mjs.map b/.output/server/index.mjs.map new file mode 100644 index 0000000..52e8828 --- /dev/null +++ b/.output/server/index.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"index.mjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;;;"} \ No newline at end of file diff --git a/.output/server/node_modules/@babel/parser/lib/index.js b/.output/server/node_modules/@babel/parser/lib/index.js new file mode 100644 index 0000000..68ee00c --- /dev/null +++ b/.output/server/node_modules/@babel/parser/lib/index.js @@ -0,0 +1,14460 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { + value: true +}); +function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + return target; +} +class Position { + constructor(line, col, index) { + this.line = void 0; + this.column = void 0; + this.index = void 0; + this.line = line; + this.column = col; + this.index = index; + } +} +class SourceLocation { + constructor(start, end) { + this.start = void 0; + this.end = void 0; + this.filename = void 0; + this.identifierName = void 0; + this.start = start; + this.end = end; + } +} +function createPositionWithColumnOffset(position, columnOffset) { + const { + line, + column, + index + } = position; + return new Position(line, column + columnOffset, index + columnOffset); +} +const code = "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"; +var ModuleErrors = { + ImportMetaOutsideModule: { + message: `import.meta may appear only with 'sourceType: "module"'`, + code + }, + ImportOutsideModule: { + message: `'import' and 'export' may appear only with 'sourceType: "module"'`, + code + } +}; +const NodeDescriptions = { + ArrayPattern: "array destructuring pattern", + AssignmentExpression: "assignment expression", + AssignmentPattern: "assignment expression", + ArrowFunctionExpression: "arrow function expression", + ConditionalExpression: "conditional expression", + CatchClause: "catch clause", + ForOfStatement: "for-of statement", + ForInStatement: "for-in statement", + ForStatement: "for-loop", + FormalParameters: "function parameter list", + Identifier: "identifier", + ImportSpecifier: "import specifier", + ImportDefaultSpecifier: "import default specifier", + ImportNamespaceSpecifier: "import namespace specifier", + ObjectPattern: "object destructuring pattern", + ParenthesizedExpression: "parenthesized expression", + RestElement: "rest element", + UpdateExpression: { + true: "prefix operation", + false: "postfix operation" + }, + VariableDeclarator: "variable declaration", + YieldExpression: "yield expression" +}; +const toNodeDescription = ({ + type, + prefix +}) => type === "UpdateExpression" ? NodeDescriptions.UpdateExpression[String(prefix)] : NodeDescriptions[type]; +var StandardErrors = { + AccessorIsGenerator: ({ + kind + }) => `A ${kind}ter cannot be a generator.`, + ArgumentsInClass: "'arguments' is only allowed in functions and class methods.", + AsyncFunctionInSingleStatementContext: "Async functions can only be declared at the top level or inside a block.", + AwaitBindingIdentifier: "Can not use 'await' as identifier inside an async function.", + AwaitBindingIdentifierInStaticBlock: "Can not use 'await' as identifier inside a static block.", + AwaitExpressionFormalParameter: "'await' is not allowed in async function parameters.", + AwaitUsingNotInAsyncContext: "'await using' is only allowed within async functions and at the top levels of modules.", + AwaitNotInAsyncContext: "'await' is only allowed within async functions and at the top levels of modules.", + AwaitNotInAsyncFunction: "'await' is only allowed within async functions.", + BadGetterArity: "A 'get' accessor must not have any formal parameters.", + BadSetterArity: "A 'set' accessor must have exactly one formal parameter.", + BadSetterRestParameter: "A 'set' accessor function argument must not be a rest parameter.", + ConstructorClassField: "Classes may not have a field named 'constructor'.", + ConstructorClassPrivateField: "Classes may not have a private field named '#constructor'.", + ConstructorIsAccessor: "Class constructor may not be an accessor.", + ConstructorIsAsync: "Constructor can't be an async function.", + ConstructorIsGenerator: "Constructor can't be a generator.", + DeclarationMissingInitializer: ({ + kind + }) => `Missing initializer in ${kind} declaration.`, + DecoratorArgumentsOutsideParentheses: "Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(decorator)(args)'.", + DecoratorBeforeExport: "Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use the 'export @decorator class {}' syntax.", + DecoratorsBeforeAfterExport: "Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the same time.", + DecoratorConstructor: "Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?", + DecoratorExportClass: "Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use the '@decorator export class {}' syntax.", + DecoratorSemicolon: "Decorators must not be followed by a semicolon.", + DecoratorStaticBlock: "Decorators can't be used with a static block.", + DeferImportRequiresNamespace: 'Only `import defer * as x from "./module"` is valid.', + DeletePrivateField: "Deleting a private field is not allowed.", + DestructureNamedImport: "ES2015 named imports do not destructure. Use another statement for destructuring after the import.", + DuplicateConstructor: "Duplicate constructor in the same class.", + DuplicateDefaultExport: "Only one default export allowed per module.", + DuplicateExport: ({ + exportName + }) => `\`${exportName}\` has already been exported. Exported identifiers must be unique.`, + DuplicateProto: "Redefinition of __proto__ property.", + DuplicateRegExpFlags: "Duplicate regular expression flag.", + DynamicImportPhaseRequiresImportExpressions: ({ + phase + }) => `'import.${phase}(...)' can only be parsed when using the 'createImportExpressions' option.`, + ElementAfterRest: "Rest element must be last element.", + EscapedCharNotAnIdentifier: "Invalid Unicode escape.", + ExportBindingIsString: ({ + localName, + exportName + }) => `A string literal cannot be used as an exported binding without \`from\`.\n- Did you mean \`export { '${localName}' as '${exportName}' } from 'some-module'\`?`, + ExportDefaultFromAsIdentifier: "'from' is not allowed as an identifier after 'export default'.", + ForInOfLoopInitializer: ({ + type + }) => `'${type === "ForInStatement" ? "for-in" : "for-of"}' loop variable declaration may not have an initializer.`, + ForInUsing: "For-in loop may not start with 'using' declaration.", + ForOfAsync: "The left-hand side of a for-of loop may not be 'async'.", + ForOfLet: "The left-hand side of a for-of loop may not start with 'let'.", + GeneratorInSingleStatementContext: "Generators can only be declared at the top level or inside a block.", + IllegalBreakContinue: ({ + type + }) => `Unsyntactic ${type === "BreakStatement" ? "break" : "continue"}.`, + IllegalLanguageModeDirective: "Illegal 'use strict' directive in function with non-simple parameter list.", + IllegalReturn: "'return' outside of function.", + ImportAttributesUseAssert: "The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You can enable the `deprecatedAssertSyntax: true` option in the import attributes plugin to suppress this error.", + ImportBindingIsString: ({ + importName + }) => `A string literal cannot be used as an imported binding.\n- Did you mean \`import { "${importName}" as foo }\`?`, + ImportCallArgumentTrailingComma: "Trailing comma is disallowed inside import(...) arguments.", + ImportCallArity: ({ + maxArgumentCount + }) => `\`import()\` requires exactly ${maxArgumentCount === 1 ? "one argument" : "one or two arguments"}.`, + ImportCallNotNewExpression: "Cannot use new with import(...).", + ImportCallSpreadArgument: "`...` is not allowed in `import()`.", + ImportJSONBindingNotDefault: "A JSON module can only be imported with `default`.", + ImportReflectionHasAssertion: "`import module x` cannot have assertions.", + ImportReflectionNotBinding: 'Only `import module x from "./module"` is valid.', + IncompatibleRegExpUVFlags: "The 'u' and 'v' regular expression flags cannot be enabled at the same time.", + InvalidBigIntLiteral: "Invalid BigIntLiteral.", + InvalidCodePoint: "Code point out of bounds.", + InvalidCoverInitializedName: "Invalid shorthand property initializer.", + InvalidDecimal: "Invalid decimal.", + InvalidDigit: ({ + radix + }) => `Expected number in radix ${radix}.`, + InvalidEscapeSequence: "Bad character escape sequence.", + InvalidEscapeSequenceTemplate: "Invalid escape sequence in template.", + InvalidEscapedReservedWord: ({ + reservedWord + }) => `Escape sequence in keyword ${reservedWord}.`, + InvalidIdentifier: ({ + identifierName + }) => `Invalid identifier ${identifierName}.`, + InvalidLhs: ({ + ancestor + }) => `Invalid left-hand side in ${toNodeDescription(ancestor)}.`, + InvalidLhsBinding: ({ + ancestor + }) => `Binding invalid left-hand side in ${toNodeDescription(ancestor)}.`, + InvalidLhsOptionalChaining: ({ + ancestor + }) => `Invalid optional chaining in the left-hand side of ${toNodeDescription(ancestor)}.`, + InvalidNumber: "Invalid number.", + InvalidOrMissingExponent: "Floating-point numbers require a valid exponent after the 'e'.", + InvalidOrUnexpectedToken: ({ + unexpected + }) => `Unexpected character '${unexpected}'.`, + InvalidParenthesizedAssignment: "Invalid parenthesized assignment pattern.", + InvalidPrivateFieldResolution: ({ + identifierName + }) => `Private name #${identifierName} is not defined.`, + InvalidPropertyBindingPattern: "Binding member expression.", + InvalidRecordProperty: "Only properties and spread elements are allowed in record definitions.", + InvalidRestAssignmentPattern: "Invalid rest operator's argument.", + LabelRedeclaration: ({ + labelName + }) => `Label '${labelName}' is already declared.`, + LetInLexicalBinding: "'let' is disallowed as a lexically bound name.", + LineTerminatorBeforeArrow: "No line break is allowed before '=>'.", + MalformedRegExpFlags: "Invalid regular expression flag.", + MissingClassName: "A class name is required.", + MissingEqInAssignment: "Only '=' operator can be used for specifying default value.", + MissingSemicolon: "Missing semicolon.", + MissingPlugin: ({ + missingPlugin + }) => `This experimental syntax requires enabling the parser plugin: ${missingPlugin.map(name => JSON.stringify(name)).join(", ")}.`, + MissingOneOfPlugins: ({ + missingPlugin + }) => `This experimental syntax requires enabling one of the following parser plugin(s): ${missingPlugin.map(name => JSON.stringify(name)).join(", ")}.`, + MissingUnicodeEscape: "Expecting Unicode escape sequence \\uXXXX.", + MixingCoalesceWithLogical: "Nullish coalescing operator(??) requires parens when mixing with logical operators.", + ModuleAttributeDifferentFromType: "The only accepted module attribute is `type`.", + ModuleAttributeInvalidValue: "Only string literals are allowed as module attribute values.", + ModuleAttributesWithDuplicateKeys: ({ + key + }) => `Duplicate key "${key}" is not allowed in module attributes.`, + ModuleExportNameHasLoneSurrogate: ({ + surrogateCharCode + }) => `An export name cannot include a lone surrogate, found '\\u${surrogateCharCode.toString(16)}'.`, + ModuleExportUndefined: ({ + localName + }) => `Export '${localName}' is not defined.`, + MultipleDefaultsInSwitch: "Multiple default clauses.", + NewlineAfterThrow: "Illegal newline after throw.", + NoCatchOrFinally: "Missing catch or finally clause.", + NumberIdentifier: "Identifier directly after number.", + NumericSeparatorInEscapeSequence: "Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.", + ObsoleteAwaitStar: "'await*' has been removed from the async functions proposal. Use Promise.all() instead.", + OptionalChainingNoNew: "Constructors in/after an Optional Chain are not allowed.", + OptionalChainingNoTemplate: "Tagged Template Literals are not allowed in optionalChain.", + OverrideOnConstructor: "'override' modifier cannot appear on a constructor declaration.", + ParamDupe: "Argument name clash.", + PatternHasAccessor: "Object pattern can't contain getter or setter.", + PatternHasMethod: "Object pattern can't contain methods.", + PrivateInExpectedIn: ({ + identifierName + }) => `Private names are only allowed in property accesses (\`obj.#${identifierName}\`) or in \`in\` expressions (\`#${identifierName} in obj\`).`, + PrivateNameRedeclaration: ({ + identifierName + }) => `Duplicate private name #${identifierName}.`, + RecordExpressionBarIncorrectEndSyntaxType: "Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + RecordExpressionBarIncorrectStartSyntaxType: "Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + RecordExpressionHashIncorrectStartSyntaxType: "Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.", + RecordNoProto: "'__proto__' is not allowed in Record expressions.", + RestTrailingComma: "Unexpected trailing comma after rest element.", + SloppyFunction: "In non-strict mode code, functions can only be declared at top level or inside a block.", + SloppyFunctionAnnexB: "In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.", + SourcePhaseImportRequiresDefault: 'Only `import source x from "./module"` is valid.', + StaticPrototype: "Classes may not have static property named prototype.", + SuperNotAllowed: "`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?", + SuperPrivateField: "Private fields can't be accessed on super.", + TrailingDecorator: "Decorators must be attached to a class element.", + TupleExpressionBarIncorrectEndSyntaxType: "Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + TupleExpressionBarIncorrectStartSyntaxType: "Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + TupleExpressionHashIncorrectStartSyntaxType: "Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.", + UnexpectedArgumentPlaceholder: "Unexpected argument placeholder.", + UnexpectedAwaitAfterPipelineBody: 'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.', + UnexpectedDigitAfterHash: "Unexpected digit after hash token.", + UnexpectedImportExport: "'import' and 'export' may only appear at the top level.", + UnexpectedKeyword: ({ + keyword + }) => `Unexpected keyword '${keyword}'.`, + UnexpectedLeadingDecorator: "Leading decorators must be attached to a class declaration.", + UnexpectedLexicalDeclaration: "Lexical declaration cannot appear in a single-statement context.", + UnexpectedNewTarget: "`new.target` can only be used in functions or class properties.", + UnexpectedNumericSeparator: "A numeric separator is only allowed between two digits.", + UnexpectedPrivateField: "Unexpected private name.", + UnexpectedReservedWord: ({ + reservedWord + }) => `Unexpected reserved word '${reservedWord}'.`, + UnexpectedSuper: "'super' is only allowed in object methods and classes.", + UnexpectedToken: ({ + expected, + unexpected + }) => `Unexpected token${unexpected ? ` '${unexpected}'.` : ""}${expected ? `, expected "${expected}"` : ""}`, + UnexpectedTokenUnaryExponentiation: "Illegal expression. Wrap left hand side or entire exponentiation in parentheses.", + UnexpectedUsingDeclaration: "Using declaration cannot appear in the top level when source type is `script`.", + UnsupportedBind: "Binding should be performed on object property.", + UnsupportedDecoratorExport: "A decorated export must export a class declaration.", + UnsupportedDefaultExport: "Only expressions, functions or classes are allowed as the `default` export.", + UnsupportedImport: "`import` can only be used in `import()` or `import.meta`.", + UnsupportedMetaProperty: ({ + target, + onlyValidPropertyName + }) => `The only valid meta property for ${target} is ${target}.${onlyValidPropertyName}.`, + UnsupportedParameterDecorator: "Decorators cannot be used to decorate parameters.", + UnsupportedPropertyDecorator: "Decorators cannot be used to decorate object literal properties.", + UnsupportedSuper: "'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).", + UnterminatedComment: "Unterminated comment.", + UnterminatedRegExp: "Unterminated regular expression.", + UnterminatedString: "Unterminated string constant.", + UnterminatedTemplate: "Unterminated template.", + UsingDeclarationHasBindingPattern: "Using declaration cannot have destructuring patterns.", + VarRedeclaration: ({ + identifierName + }) => `Identifier '${identifierName}' has already been declared.`, + YieldBindingIdentifier: "Can not use 'yield' as identifier inside a generator.", + YieldInParameter: "Yield expression is not allowed in formal parameters.", + ZeroDigitNumericSeparator: "Numeric separator can not be used after leading 0." +}; +var StrictModeErrors = { + StrictDelete: "Deleting local variable in strict mode.", + StrictEvalArguments: ({ + referenceName + }) => `Assigning to '${referenceName}' in strict mode.`, + StrictEvalArgumentsBinding: ({ + bindingName + }) => `Binding '${bindingName}' in strict mode.`, + StrictFunction: "In strict mode code, functions can only be declared at top level or inside a block.", + StrictNumericEscape: "The only valid numeric escape in strict mode is '\\0'.", + StrictOctalLiteral: "Legacy octal literals are not allowed in strict mode.", + StrictWith: "'with' in strict mode." +}; +const UnparenthesizedPipeBodyDescriptions = new Set(["ArrowFunctionExpression", "AssignmentExpression", "ConditionalExpression", "YieldExpression"]); +var PipelineOperatorErrors = { + PipeBodyIsTighter: "Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.", + PipeTopicRequiresHackPipes: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.', + PipeTopicUnbound: "Topic reference is unbound; it must be inside a pipe body.", + PipeTopicUnconfiguredToken: ({ + token + }) => `Invalid topic token ${token}. In order to use ${token} as a topic reference, the pipelineOperator plugin must be configured with { "proposal": "hack", "topicToken": "${token}" }.`, + PipeTopicUnused: "Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.", + PipeUnparenthesizedBody: ({ + type + }) => `Hack-style pipe body cannot be an unparenthesized ${toNodeDescription({ + type + })}; please wrap it in parentheses.`, + PipelineBodyNoArrow: 'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.', + PipelineBodySequenceExpression: "Pipeline body may not be a comma-separated sequence expression.", + PipelineHeadSequenceExpression: "Pipeline head should not be a comma-separated sequence expression.", + PipelineTopicUnused: "Pipeline is in topic style but does not use topic reference.", + PrimaryTopicNotAllowed: "Topic reference was used in a lexical context without topic binding.", + PrimaryTopicRequiresSmartPipeline: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.' +}; +const _excluded$1 = ["toMessage"], + _excluded2$1 = ["message"]; +function defineHidden(obj, key, value) { + Object.defineProperty(obj, key, { + enumerable: false, + configurable: true, + value + }); +} +function toParseErrorConstructor(_ref) { + let { + toMessage + } = _ref, + properties = _objectWithoutPropertiesLoose(_ref, _excluded$1); + return function constructor({ + loc, + details + }) { + const error = new SyntaxError(); + Object.assign(error, properties, { + loc, + pos: loc.index + }); + if ("missingPlugin" in details) { + Object.assign(error, { + missingPlugin: details.missingPlugin + }); + } + defineHidden(error, "clone", function clone(overrides = {}) { + var _overrides$loc; + const { + line, + column, + index + } = (_overrides$loc = overrides.loc) != null ? _overrides$loc : loc; + return constructor({ + loc: new Position(line, column, index), + details: Object.assign({}, details, overrides.details) + }); + }); + defineHidden(error, "details", details); + Object.defineProperty(error, "message", { + configurable: true, + get() { + const message = `${toMessage(details)} (${loc.line}:${loc.column})`; + this.message = message; + return message; + }, + set(value) { + Object.defineProperty(this, "message", { + value, + writable: true + }); + } + }); + return error; + }; +} +function ParseErrorEnum(argument, syntaxPlugin) { + if (Array.isArray(argument)) { + return parseErrorTemplates => ParseErrorEnum(parseErrorTemplates, argument[0]); + } + const ParseErrorConstructors = {}; + for (const reasonCode of Object.keys(argument)) { + const template = argument[reasonCode]; + const _ref2 = typeof template === "string" ? { + message: () => template + } : typeof template === "function" ? { + message: template + } : template, + { + message + } = _ref2, + rest = _objectWithoutPropertiesLoose(_ref2, _excluded2$1); + const toMessage = typeof message === "string" ? () => message : message; + ParseErrorConstructors[reasonCode] = toParseErrorConstructor(Object.assign({ + code: "BABEL_PARSER_SYNTAX_ERROR", + reasonCode, + toMessage + }, syntaxPlugin ? { + syntaxPlugin + } : {}, rest)); + } + return ParseErrorConstructors; +} +const Errors = Object.assign({}, ParseErrorEnum(ModuleErrors), ParseErrorEnum(StandardErrors), ParseErrorEnum(StrictModeErrors), ParseErrorEnum`pipelineOperator`(PipelineOperatorErrors)); +const { + defineProperty +} = Object; +const toUnenumerable = (object, key) => defineProperty(object, key, { + enumerable: false, + value: object[key] +}); +function toESTreeLocation(node) { + node.loc.start && toUnenumerable(node.loc.start, "index"); + node.loc.end && toUnenumerable(node.loc.end, "index"); + return node; +} +var estree = superClass => class ESTreeParserMixin extends superClass { + parse() { + const file = toESTreeLocation(super.parse()); + if (this.options.tokens) { + file.tokens = file.tokens.map(toESTreeLocation); + } + return file; + } + parseRegExpLiteral({ + pattern, + flags + }) { + let regex = null; + try { + regex = new RegExp(pattern, flags); + } catch (e) {} + const node = this.estreeParseLiteral(regex); + node.regex = { + pattern, + flags + }; + return node; + } + parseBigIntLiteral(value) { + let bigInt; + try { + bigInt = BigInt(value); + } catch (_unused) { + bigInt = null; + } + const node = this.estreeParseLiteral(bigInt); + node.bigint = String(node.value || value); + return node; + } + parseDecimalLiteral(value) { + const decimal = null; + const node = this.estreeParseLiteral(decimal); + node.decimal = String(node.value || value); + return node; + } + estreeParseLiteral(value) { + return this.parseLiteral(value, "Literal"); + } + parseStringLiteral(value) { + return this.estreeParseLiteral(value); + } + parseNumericLiteral(value) { + return this.estreeParseLiteral(value); + } + parseNullLiteral() { + return this.estreeParseLiteral(null); + } + parseBooleanLiteral(value) { + return this.estreeParseLiteral(value); + } + directiveToStmt(directive) { + const expression = directive.value; + delete directive.value; + expression.type = "Literal"; + expression.raw = expression.extra.raw; + expression.value = expression.extra.expressionValue; + const stmt = directive; + stmt.type = "ExpressionStatement"; + stmt.expression = expression; + stmt.directive = expression.extra.rawValue; + delete expression.extra; + return stmt; + } + initFunction(node, isAsync) { + super.initFunction(node, isAsync); + node.expression = false; + } + checkDeclaration(node) { + if (node != null && this.isObjectProperty(node)) { + this.checkDeclaration(node.value); + } else { + super.checkDeclaration(node); + } + } + getObjectOrClassMethodParams(method) { + return method.value.params; + } + isValidDirective(stmt) { + var _stmt$expression$extr; + return stmt.type === "ExpressionStatement" && stmt.expression.type === "Literal" && typeof stmt.expression.value === "string" && !((_stmt$expression$extr = stmt.expression.extra) != null && _stmt$expression$extr.parenthesized); + } + parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse) { + super.parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse); + const directiveStatements = node.directives.map(d => this.directiveToStmt(d)); + node.body = directiveStatements.concat(node.body); + delete node.directives; + } + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, "ClassMethod", true); + if (method.typeParameters) { + method.value.typeParameters = method.typeParameters; + delete method.typeParameters; + } + classBody.body.push(method); + } + parsePrivateName() { + const node = super.parsePrivateName(); + { + if (!this.getPluginOption("estree", "classFeatures")) { + return node; + } + } + return this.convertPrivateNameToPrivateIdentifier(node); + } + convertPrivateNameToPrivateIdentifier(node) { + const name = super.getPrivateNameSV(node); + node = node; + delete node.id; + node.name = name; + node.type = "PrivateIdentifier"; + return node; + } + isPrivateName(node) { + { + if (!this.getPluginOption("estree", "classFeatures")) { + return super.isPrivateName(node); + } + } + return node.type === "PrivateIdentifier"; + } + getPrivateNameSV(node) { + { + if (!this.getPluginOption("estree", "classFeatures")) { + return super.getPrivateNameSV(node); + } + } + return node.name; + } + parseLiteral(value, type) { + const node = super.parseLiteral(value, type); + node.raw = node.extra.raw; + delete node.extra; + return node; + } + parseFunctionBody(node, allowExpression, isMethod = false) { + super.parseFunctionBody(node, allowExpression, isMethod); + node.expression = node.body.type !== "BlockStatement"; + } + parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope = false) { + let funcNode = this.startNode(); + funcNode.kind = node.kind; + funcNode = super.parseMethod(funcNode, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope); + funcNode.type = "FunctionExpression"; + delete funcNode.kind; + node.value = funcNode; + if (type === "ClassPrivateMethod") { + node.computed = false; + } + return this.finishNode(node, "MethodDefinition"); + } + parseClassProperty(...args) { + const propertyNode = super.parseClassProperty(...args); + { + if (!this.getPluginOption("estree", "classFeatures")) { + return propertyNode; + } + } + propertyNode.type = "PropertyDefinition"; + return propertyNode; + } + parseClassPrivateProperty(...args) { + const propertyNode = super.parseClassPrivateProperty(...args); + { + if (!this.getPluginOption("estree", "classFeatures")) { + return propertyNode; + } + } + propertyNode.type = "PropertyDefinition"; + propertyNode.computed = false; + return propertyNode; + } + parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) { + const node = super.parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor); + if (node) { + node.type = "Property"; + if (node.kind === "method") { + node.kind = "init"; + } + node.shorthand = false; + } + return node; + } + parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors) { + const node = super.parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors); + if (node) { + node.kind = "init"; + node.type = "Property"; + } + return node; + } + isValidLVal(type, isUnparenthesizedInAssign, binding) { + return type === "Property" ? "value" : super.isValidLVal(type, isUnparenthesizedInAssign, binding); + } + isAssignable(node, isBinding) { + if (node != null && this.isObjectProperty(node)) { + return this.isAssignable(node.value, isBinding); + } + return super.isAssignable(node, isBinding); + } + toAssignable(node, isLHS = false) { + if (node != null && this.isObjectProperty(node)) { + const { + key, + value + } = node; + if (this.isPrivateName(key)) { + this.classScope.usePrivateName(this.getPrivateNameSV(key), key.loc.start); + } + this.toAssignable(value, isLHS); + } else { + super.toAssignable(node, isLHS); + } + } + toAssignableObjectExpressionProp(prop, isLast, isLHS) { + if (prop.kind === "get" || prop.kind === "set") { + this.raise(Errors.PatternHasAccessor, { + at: prop.key + }); + } else if (prop.method) { + this.raise(Errors.PatternHasMethod, { + at: prop.key + }); + } else { + super.toAssignableObjectExpressionProp(prop, isLast, isLHS); + } + } + finishCallExpression(unfinished, optional) { + const node = super.finishCallExpression(unfinished, optional); + if (node.callee.type === "Import") { + node.type = "ImportExpression"; + node.source = node.arguments[0]; + if (this.hasPlugin("importAttributes") || this.hasPlugin("importAssertions")) { + var _node$arguments$, _node$arguments$2; + node.options = (_node$arguments$ = node.arguments[1]) != null ? _node$arguments$ : null; + node.attributes = (_node$arguments$2 = node.arguments[1]) != null ? _node$arguments$2 : null; + } + delete node.arguments; + delete node.callee; + } + return node; + } + toReferencedArguments(node) { + if (node.type === "ImportExpression") { + return; + } + super.toReferencedArguments(node); + } + parseExport(unfinished, decorators) { + const exportStartLoc = this.state.lastTokStartLoc; + const node = super.parseExport(unfinished, decorators); + switch (node.type) { + case "ExportAllDeclaration": + node.exported = null; + break; + case "ExportNamedDeclaration": + if (node.specifiers.length === 1 && node.specifiers[0].type === "ExportNamespaceSpecifier") { + node.type = "ExportAllDeclaration"; + node.exported = node.specifiers[0].exported; + delete node.specifiers; + } + case "ExportDefaultDeclaration": + { + var _declaration$decorato; + const { + declaration + } = node; + if ((declaration == null ? void 0 : declaration.type) === "ClassDeclaration" && ((_declaration$decorato = declaration.decorators) == null ? void 0 : _declaration$decorato.length) > 0 && declaration.start === node.start) { + this.resetStartLocation(node, exportStartLoc); + } + } + break; + } + return node; + } + parseSubscript(base, startLoc, noCalls, state) { + const node = super.parseSubscript(base, startLoc, noCalls, state); + if (state.optionalChainMember) { + if (node.type === "OptionalMemberExpression" || node.type === "OptionalCallExpression") { + node.type = node.type.substring(8); + } + if (state.stop) { + const chain = this.startNodeAtNode(node); + chain.expression = node; + return this.finishNode(chain, "ChainExpression"); + } + } else if (node.type === "MemberExpression" || node.type === "CallExpression") { + node.optional = false; + } + return node; + } + isOptionalMemberExpression(node) { + if (node.type === "ChainExpression") { + return node.expression.type === "MemberExpression"; + } + return super.isOptionalMemberExpression(node); + } + hasPropertyAsPrivateName(node) { + if (node.type === "ChainExpression") { + node = node.expression; + } + return super.hasPropertyAsPrivateName(node); + } + isObjectProperty(node) { + return node.type === "Property" && node.kind === "init" && !node.method; + } + isObjectMethod(node) { + return node.method || node.kind === "get" || node.kind === "set"; + } + finishNodeAt(node, type, endLoc) { + return toESTreeLocation(super.finishNodeAt(node, type, endLoc)); + } + resetStartLocation(node, startLoc) { + super.resetStartLocation(node, startLoc); + toESTreeLocation(node); + } + resetEndLocation(node, endLoc = this.state.lastTokEndLoc) { + super.resetEndLocation(node, endLoc); + toESTreeLocation(node); + } +}; +class TokContext { + constructor(token, preserveSpace) { + this.token = void 0; + this.preserveSpace = void 0; + this.token = token; + this.preserveSpace = !!preserveSpace; + } +} +const types = { + brace: new TokContext("{"), + j_oTag: new TokContext("...", true) +}; +{ + types.template = new TokContext("`", true); +} +const beforeExpr = true; +const startsExpr = true; +const isLoop = true; +const isAssign = true; +const prefix = true; +const postfix = true; +class ExportedTokenType { + constructor(label, conf = {}) { + this.label = void 0; + this.keyword = void 0; + this.beforeExpr = void 0; + this.startsExpr = void 0; + this.rightAssociative = void 0; + this.isLoop = void 0; + this.isAssign = void 0; + this.prefix = void 0; + this.postfix = void 0; + this.binop = void 0; + this.label = label; + this.keyword = conf.keyword; + this.beforeExpr = !!conf.beforeExpr; + this.startsExpr = !!conf.startsExpr; + this.rightAssociative = !!conf.rightAssociative; + this.isLoop = !!conf.isLoop; + this.isAssign = !!conf.isAssign; + this.prefix = !!conf.prefix; + this.postfix = !!conf.postfix; + this.binop = conf.binop != null ? conf.binop : null; + { + this.updateContext = null; + } + } +} +const keywords$1 = new Map(); +function createKeyword(name, options = {}) { + options.keyword = name; + const token = createToken(name, options); + keywords$1.set(name, token); + return token; +} +function createBinop(name, binop) { + return createToken(name, { + beforeExpr, + binop + }); +} +let tokenTypeCounter = -1; +const tokenTypes = []; +const tokenLabels = []; +const tokenBinops = []; +const tokenBeforeExprs = []; +const tokenStartsExprs = []; +const tokenPrefixes = []; +function createToken(name, options = {}) { + var _options$binop, _options$beforeExpr, _options$startsExpr, _options$prefix; + ++tokenTypeCounter; + tokenLabels.push(name); + tokenBinops.push((_options$binop = options.binop) != null ? _options$binop : -1); + tokenBeforeExprs.push((_options$beforeExpr = options.beforeExpr) != null ? _options$beforeExpr : false); + tokenStartsExprs.push((_options$startsExpr = options.startsExpr) != null ? _options$startsExpr : false); + tokenPrefixes.push((_options$prefix = options.prefix) != null ? _options$prefix : false); + tokenTypes.push(new ExportedTokenType(name, options)); + return tokenTypeCounter; +} +function createKeywordLike(name, options = {}) { + var _options$binop2, _options$beforeExpr2, _options$startsExpr2, _options$prefix2; + ++tokenTypeCounter; + keywords$1.set(name, tokenTypeCounter); + tokenLabels.push(name); + tokenBinops.push((_options$binop2 = options.binop) != null ? _options$binop2 : -1); + tokenBeforeExprs.push((_options$beforeExpr2 = options.beforeExpr) != null ? _options$beforeExpr2 : false); + tokenStartsExprs.push((_options$startsExpr2 = options.startsExpr) != null ? _options$startsExpr2 : false); + tokenPrefixes.push((_options$prefix2 = options.prefix) != null ? _options$prefix2 : false); + tokenTypes.push(new ExportedTokenType("name", options)); + return tokenTypeCounter; +} +const tt = { + bracketL: createToken("[", { + beforeExpr, + startsExpr + }), + bracketHashL: createToken("#[", { + beforeExpr, + startsExpr + }), + bracketBarL: createToken("[|", { + beforeExpr, + startsExpr + }), + bracketR: createToken("]"), + bracketBarR: createToken("|]"), + braceL: createToken("{", { + beforeExpr, + startsExpr + }), + braceBarL: createToken("{|", { + beforeExpr, + startsExpr + }), + braceHashL: createToken("#{", { + beforeExpr, + startsExpr + }), + braceR: createToken("}"), + braceBarR: createToken("|}"), + parenL: createToken("(", { + beforeExpr, + startsExpr + }), + parenR: createToken(")"), + comma: createToken(",", { + beforeExpr + }), + semi: createToken(";", { + beforeExpr + }), + colon: createToken(":", { + beforeExpr + }), + doubleColon: createToken("::", { + beforeExpr + }), + dot: createToken("."), + question: createToken("?", { + beforeExpr + }), + questionDot: createToken("?."), + arrow: createToken("=>", { + beforeExpr + }), + template: createToken("template"), + ellipsis: createToken("...", { + beforeExpr + }), + backQuote: createToken("`", { + startsExpr + }), + dollarBraceL: createToken("${", { + beforeExpr, + startsExpr + }), + templateTail: createToken("...`", { + startsExpr + }), + templateNonTail: createToken("...${", { + beforeExpr, + startsExpr + }), + at: createToken("@"), + hash: createToken("#", { + startsExpr + }), + interpreterDirective: createToken("#!..."), + eq: createToken("=", { + beforeExpr, + isAssign + }), + assign: createToken("_=", { + beforeExpr, + isAssign + }), + slashAssign: createToken("_=", { + beforeExpr, + isAssign + }), + xorAssign: createToken("_=", { + beforeExpr, + isAssign + }), + moduloAssign: createToken("_=", { + beforeExpr, + isAssign + }), + incDec: createToken("++/--", { + prefix, + postfix, + startsExpr + }), + bang: createToken("!", { + beforeExpr, + prefix, + startsExpr + }), + tilde: createToken("~", { + beforeExpr, + prefix, + startsExpr + }), + doubleCaret: createToken("^^", { + startsExpr + }), + doubleAt: createToken("@@", { + startsExpr + }), + pipeline: createBinop("|>", 0), + nullishCoalescing: createBinop("??", 1), + logicalOR: createBinop("||", 1), + logicalAND: createBinop("&&", 2), + bitwiseOR: createBinop("|", 3), + bitwiseXOR: createBinop("^", 4), + bitwiseAND: createBinop("&", 5), + equality: createBinop("==/!=/===/!==", 6), + lt: createBinop("/<=/>=", 7), + gt: createBinop("/<=/>=", 7), + relational: createBinop("/<=/>=", 7), + bitShift: createBinop("<>/>>>", 8), + bitShiftL: createBinop("<>/>>>", 8), + bitShiftR: createBinop("<>/>>>", 8), + plusMin: createToken("+/-", { + beforeExpr, + binop: 9, + prefix, + startsExpr + }), + modulo: createToken("%", { + binop: 10, + startsExpr + }), + star: createToken("*", { + binop: 10 + }), + slash: createBinop("/", 10), + exponent: createToken("**", { + beforeExpr, + binop: 11, + rightAssociative: true + }), + _in: createKeyword("in", { + beforeExpr, + binop: 7 + }), + _instanceof: createKeyword("instanceof", { + beforeExpr, + binop: 7 + }), + _break: createKeyword("break"), + _case: createKeyword("case", { + beforeExpr + }), + _catch: createKeyword("catch"), + _continue: createKeyword("continue"), + _debugger: createKeyword("debugger"), + _default: createKeyword("default", { + beforeExpr + }), + _else: createKeyword("else", { + beforeExpr + }), + _finally: createKeyword("finally"), + _function: createKeyword("function", { + startsExpr + }), + _if: createKeyword("if"), + _return: createKeyword("return", { + beforeExpr + }), + _switch: createKeyword("switch"), + _throw: createKeyword("throw", { + beforeExpr, + prefix, + startsExpr + }), + _try: createKeyword("try"), + _var: createKeyword("var"), + _const: createKeyword("const"), + _with: createKeyword("with"), + _new: createKeyword("new", { + beforeExpr, + startsExpr + }), + _this: createKeyword("this", { + startsExpr + }), + _super: createKeyword("super", { + startsExpr + }), + _class: createKeyword("class", { + startsExpr + }), + _extends: createKeyword("extends", { + beforeExpr + }), + _export: createKeyword("export"), + _import: createKeyword("import", { + startsExpr + }), + _null: createKeyword("null", { + startsExpr + }), + _true: createKeyword("true", { + startsExpr + }), + _false: createKeyword("false", { + startsExpr + }), + _typeof: createKeyword("typeof", { + beforeExpr, + prefix, + startsExpr + }), + _void: createKeyword("void", { + beforeExpr, + prefix, + startsExpr + }), + _delete: createKeyword("delete", { + beforeExpr, + prefix, + startsExpr + }), + _do: createKeyword("do", { + isLoop, + beforeExpr + }), + _for: createKeyword("for", { + isLoop + }), + _while: createKeyword("while", { + isLoop + }), + _as: createKeywordLike("as", { + startsExpr + }), + _assert: createKeywordLike("assert", { + startsExpr + }), + _async: createKeywordLike("async", { + startsExpr + }), + _await: createKeywordLike("await", { + startsExpr + }), + _defer: createKeywordLike("defer", { + startsExpr + }), + _from: createKeywordLike("from", { + startsExpr + }), + _get: createKeywordLike("get", { + startsExpr + }), + _let: createKeywordLike("let", { + startsExpr + }), + _meta: createKeywordLike("meta", { + startsExpr + }), + _of: createKeywordLike("of", { + startsExpr + }), + _sent: createKeywordLike("sent", { + startsExpr + }), + _set: createKeywordLike("set", { + startsExpr + }), + _source: createKeywordLike("source", { + startsExpr + }), + _static: createKeywordLike("static", { + startsExpr + }), + _using: createKeywordLike("using", { + startsExpr + }), + _yield: createKeywordLike("yield", { + startsExpr + }), + _asserts: createKeywordLike("asserts", { + startsExpr + }), + _checks: createKeywordLike("checks", { + startsExpr + }), + _exports: createKeywordLike("exports", { + startsExpr + }), + _global: createKeywordLike("global", { + startsExpr + }), + _implements: createKeywordLike("implements", { + startsExpr + }), + _intrinsic: createKeywordLike("intrinsic", { + startsExpr + }), + _infer: createKeywordLike("infer", { + startsExpr + }), + _is: createKeywordLike("is", { + startsExpr + }), + _mixins: createKeywordLike("mixins", { + startsExpr + }), + _proto: createKeywordLike("proto", { + startsExpr + }), + _require: createKeywordLike("require", { + startsExpr + }), + _satisfies: createKeywordLike("satisfies", { + startsExpr + }), + _keyof: createKeywordLike("keyof", { + startsExpr + }), + _readonly: createKeywordLike("readonly", { + startsExpr + }), + _unique: createKeywordLike("unique", { + startsExpr + }), + _abstract: createKeywordLike("abstract", { + startsExpr + }), + _declare: createKeywordLike("declare", { + startsExpr + }), + _enum: createKeywordLike("enum", { + startsExpr + }), + _module: createKeywordLike("module", { + startsExpr + }), + _namespace: createKeywordLike("namespace", { + startsExpr + }), + _interface: createKeywordLike("interface", { + startsExpr + }), + _type: createKeywordLike("type", { + startsExpr + }), + _opaque: createKeywordLike("opaque", { + startsExpr + }), + name: createToken("name", { + startsExpr + }), + string: createToken("string", { + startsExpr + }), + num: createToken("num", { + startsExpr + }), + bigint: createToken("bigint", { + startsExpr + }), + decimal: createToken("decimal", { + startsExpr + }), + regexp: createToken("regexp", { + startsExpr + }), + privateName: createToken("#name", { + startsExpr + }), + eof: createToken("eof"), + jsxName: createToken("jsxName"), + jsxText: createToken("jsxText", { + beforeExpr: true + }), + jsxTagStart: createToken("jsxTagStart", { + startsExpr: true + }), + jsxTagEnd: createToken("jsxTagEnd"), + placeholder: createToken("%%", { + startsExpr: true + }) +}; +function tokenIsIdentifier(token) { + return token >= 93 && token <= 132; +} +function tokenKeywordOrIdentifierIsKeyword(token) { + return token <= 92; +} +function tokenIsKeywordOrIdentifier(token) { + return token >= 58 && token <= 132; +} +function tokenIsLiteralPropertyName(token) { + return token >= 58 && token <= 136; +} +function tokenComesBeforeExpression(token) { + return tokenBeforeExprs[token]; +} +function tokenCanStartExpression(token) { + return tokenStartsExprs[token]; +} +function tokenIsAssignment(token) { + return token >= 29 && token <= 33; +} +function tokenIsFlowInterfaceOrTypeOrOpaque(token) { + return token >= 129 && token <= 131; +} +function tokenIsLoop(token) { + return token >= 90 && token <= 92; +} +function tokenIsKeyword(token) { + return token >= 58 && token <= 92; +} +function tokenIsOperator(token) { + return token >= 39 && token <= 59; +} +function tokenIsPostfix(token) { + return token === 34; +} +function tokenIsPrefix(token) { + return tokenPrefixes[token]; +} +function tokenIsTSTypeOperator(token) { + return token >= 121 && token <= 123; +} +function tokenIsTSDeclarationStart(token) { + return token >= 124 && token <= 130; +} +function tokenLabelName(token) { + return tokenLabels[token]; +} +function tokenOperatorPrecedence(token) { + return tokenBinops[token]; +} +function tokenIsRightAssociative(token) { + return token === 57; +} +function tokenIsTemplate(token) { + return token >= 24 && token <= 25; +} +function getExportedToken(token) { + return tokenTypes[token]; +} +{ + tokenTypes[8].updateContext = context => { + context.pop(); + }; + tokenTypes[5].updateContext = tokenTypes[7].updateContext = tokenTypes[23].updateContext = context => { + context.push(types.brace); + }; + tokenTypes[22].updateContext = context => { + if (context[context.length - 1] === types.template) { + context.pop(); + } else { + context.push(types.template); + } + }; + tokenTypes[142].updateContext = context => { + context.push(types.j_expr, types.j_oTag); + }; +} +let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; +let nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65"; +const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); +const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); +nonASCIIidentifierStartChars = nonASCIIidentifierChars = null; +const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191]; +const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 81, 2, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 9, 5351, 0, 7, 14, 13835, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 983, 6, 110, 6, 6, 9, 4759, 9, 787719, 239]; +function isInAstralSet(code, set) { + let pos = 0x10000; + for (let i = 0, length = set.length; i < length; i += 2) { + pos += set[i]; + if (pos > code) return false; + pos += set[i + 1]; + if (pos >= code) return true; + } + return false; +} +function isIdentifierStart(code) { + if (code < 65) return code === 36; + if (code <= 90) return true; + if (code < 97) return code === 95; + if (code <= 122) return true; + if (code <= 0xffff) { + return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)); + } + return isInAstralSet(code, astralIdentifierStartCodes); +} +function isIdentifierChar(code) { + if (code < 48) return code === 36; + if (code < 58) return true; + if (code < 65) return false; + if (code <= 90) return true; + if (code < 97) return code === 95; + if (code <= 122) return true; + if (code <= 0xffff) { + return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)); + } + return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes); +} +const reservedWords = { + keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"], + strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], + strictBind: ["eval", "arguments"] +}; +const keywords = new Set(reservedWords.keyword); +const reservedWordsStrictSet = new Set(reservedWords.strict); +const reservedWordsStrictBindSet = new Set(reservedWords.strictBind); +function isReservedWord(word, inModule) { + return inModule && word === "await" || word === "enum"; +} +function isStrictReservedWord(word, inModule) { + return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word); +} +function isStrictBindOnlyReservedWord(word) { + return reservedWordsStrictBindSet.has(word); +} +function isStrictBindReservedWord(word, inModule) { + return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word); +} +function isKeyword(word) { + return keywords.has(word); +} +function isIteratorStart(current, next, next2) { + return current === 64 && next === 64 && isIdentifierStart(next2); +} +const reservedWordLikeSet = new Set(["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete", "implements", "interface", "let", "package", "private", "protected", "public", "static", "yield", "eval", "arguments", "enum", "await"]); +function canBeReservedWord(word) { + return reservedWordLikeSet.has(word); +} +class Scope { + constructor(flags) { + this.var = new Set(); + this.lexical = new Set(); + this.functions = new Set(); + this.flags = flags; + } +} +class ScopeHandler { + constructor(parser, inModule) { + this.parser = void 0; + this.scopeStack = []; + this.inModule = void 0; + this.undefinedExports = new Map(); + this.parser = parser; + this.inModule = inModule; + } + get inTopLevel() { + return (this.currentScope().flags & 1) > 0; + } + get inFunction() { + return (this.currentVarScopeFlags() & 2) > 0; + } + get allowSuper() { + return (this.currentThisScopeFlags() & 16) > 0; + } + get allowDirectSuper() { + return (this.currentThisScopeFlags() & 32) > 0; + } + get inClass() { + return (this.currentThisScopeFlags() & 64) > 0; + } + get inClassAndNotInNonArrowFunction() { + const flags = this.currentThisScopeFlags(); + return (flags & 64) > 0 && (flags & 2) === 0; + } + get inStaticBlock() { + for (let i = this.scopeStack.length - 1;; i--) { + const { + flags + } = this.scopeStack[i]; + if (flags & 128) { + return true; + } + if (flags & (387 | 64)) { + return false; + } + } + } + get inNonArrowFunction() { + return (this.currentThisScopeFlags() & 2) > 0; + } + get treatFunctionsAsVar() { + return this.treatFunctionsAsVarInScope(this.currentScope()); + } + createScope(flags) { + return new Scope(flags); + } + enter(flags) { + this.scopeStack.push(this.createScope(flags)); + } + exit() { + const scope = this.scopeStack.pop(); + return scope.flags; + } + treatFunctionsAsVarInScope(scope) { + return !!(scope.flags & (2 | 128) || !this.parser.inModule && scope.flags & 1); + } + declareName(name, bindingType, loc) { + let scope = this.currentScope(); + if (bindingType & 8 || bindingType & 16) { + this.checkRedeclarationInScope(scope, name, bindingType, loc); + if (bindingType & 16) { + scope.functions.add(name); + } else { + scope.lexical.add(name); + } + if (bindingType & 8) { + this.maybeExportDefined(scope, name); + } + } else if (bindingType & 4) { + for (let i = this.scopeStack.length - 1; i >= 0; --i) { + scope = this.scopeStack[i]; + this.checkRedeclarationInScope(scope, name, bindingType, loc); + scope.var.add(name); + this.maybeExportDefined(scope, name); + if (scope.flags & 387) break; + } + } + if (this.parser.inModule && scope.flags & 1) { + this.undefinedExports.delete(name); + } + } + maybeExportDefined(scope, name) { + if (this.parser.inModule && scope.flags & 1) { + this.undefinedExports.delete(name); + } + } + checkRedeclarationInScope(scope, name, bindingType, loc) { + if (this.isRedeclaredInScope(scope, name, bindingType)) { + this.parser.raise(Errors.VarRedeclaration, { + at: loc, + identifierName: name + }); + } + } + isRedeclaredInScope(scope, name, bindingType) { + if (!(bindingType & 1)) return false; + if (bindingType & 8) { + return scope.lexical.has(name) || scope.functions.has(name) || scope.var.has(name); + } + if (bindingType & 16) { + return scope.lexical.has(name) || !this.treatFunctionsAsVarInScope(scope) && scope.var.has(name); + } + return scope.lexical.has(name) && !(scope.flags & 8 && scope.lexical.values().next().value === name) || !this.treatFunctionsAsVarInScope(scope) && scope.functions.has(name); + } + checkLocalExport(id) { + const { + name + } = id; + const topLevelScope = this.scopeStack[0]; + if (!topLevelScope.lexical.has(name) && !topLevelScope.var.has(name) && !topLevelScope.functions.has(name)) { + this.undefinedExports.set(name, id.loc.start); + } + } + currentScope() { + return this.scopeStack[this.scopeStack.length - 1]; + } + currentVarScopeFlags() { + for (let i = this.scopeStack.length - 1;; i--) { + const { + flags + } = this.scopeStack[i]; + if (flags & 387) { + return flags; + } + } + } + currentThisScopeFlags() { + for (let i = this.scopeStack.length - 1;; i--) { + const { + flags + } = this.scopeStack[i]; + if (flags & (387 | 64) && !(flags & 4)) { + return flags; + } + } + } +} +class FlowScope extends Scope { + constructor(...args) { + super(...args); + this.declareFunctions = new Set(); + } +} +class FlowScopeHandler extends ScopeHandler { + createScope(flags) { + return new FlowScope(flags); + } + declareName(name, bindingType, loc) { + const scope = this.currentScope(); + if (bindingType & 2048) { + this.checkRedeclarationInScope(scope, name, bindingType, loc); + this.maybeExportDefined(scope, name); + scope.declareFunctions.add(name); + return; + } + super.declareName(name, bindingType, loc); + } + isRedeclaredInScope(scope, name, bindingType) { + if (super.isRedeclaredInScope(scope, name, bindingType)) return true; + if (bindingType & 2048) { + return !scope.declareFunctions.has(name) && (scope.lexical.has(name) || scope.functions.has(name)); + } + return false; + } + checkLocalExport(id) { + if (!this.scopeStack[0].declareFunctions.has(id.name)) { + super.checkLocalExport(id); + } + } +} +class BaseParser { + constructor() { + this.sawUnambiguousESM = false; + this.ambiguousScriptDifferentAst = false; + } + hasPlugin(pluginConfig) { + if (typeof pluginConfig === "string") { + return this.plugins.has(pluginConfig); + } else { + const [pluginName, pluginOptions] = pluginConfig; + if (!this.hasPlugin(pluginName)) { + return false; + } + const actualOptions = this.plugins.get(pluginName); + for (const key of Object.keys(pluginOptions)) { + if ((actualOptions == null ? void 0 : actualOptions[key]) !== pluginOptions[key]) { + return false; + } + } + return true; + } + } + getPluginOption(plugin, name) { + var _this$plugins$get; + return (_this$plugins$get = this.plugins.get(plugin)) == null ? void 0 : _this$plugins$get[name]; + } +} +function setTrailingComments(node, comments) { + if (node.trailingComments === undefined) { + node.trailingComments = comments; + } else { + node.trailingComments.unshift(...comments); + } +} +function setLeadingComments(node, comments) { + if (node.leadingComments === undefined) { + node.leadingComments = comments; + } else { + node.leadingComments.unshift(...comments); + } +} +function setInnerComments(node, comments) { + if (node.innerComments === undefined) { + node.innerComments = comments; + } else { + node.innerComments.unshift(...comments); + } +} +function adjustInnerComments(node, elements, commentWS) { + let lastElement = null; + let i = elements.length; + while (lastElement === null && i > 0) { + lastElement = elements[--i]; + } + if (lastElement === null || lastElement.start > commentWS.start) { + setInnerComments(node, commentWS.comments); + } else { + setTrailingComments(lastElement, commentWS.comments); + } +} +class CommentsParser extends BaseParser { + addComment(comment) { + if (this.filename) comment.loc.filename = this.filename; + this.state.comments.push(comment); + } + processComment(node) { + const { + commentStack + } = this.state; + const commentStackLength = commentStack.length; + if (commentStackLength === 0) return; + let i = commentStackLength - 1; + const lastCommentWS = commentStack[i]; + if (lastCommentWS.start === node.end) { + lastCommentWS.leadingNode = node; + i--; + } + const { + start: nodeStart + } = node; + for (; i >= 0; i--) { + const commentWS = commentStack[i]; + const commentEnd = commentWS.end; + if (commentEnd > nodeStart) { + commentWS.containingNode = node; + this.finalizeComment(commentWS); + commentStack.splice(i, 1); + } else { + if (commentEnd === nodeStart) { + commentWS.trailingNode = node; + } + break; + } + } + } + finalizeComment(commentWS) { + const { + comments + } = commentWS; + if (commentWS.leadingNode !== null || commentWS.trailingNode !== null) { + if (commentWS.leadingNode !== null) { + setTrailingComments(commentWS.leadingNode, comments); + } + if (commentWS.trailingNode !== null) { + setLeadingComments(commentWS.trailingNode, comments); + } + } else { + const { + containingNode: node, + start: commentStart + } = commentWS; + if (this.input.charCodeAt(commentStart - 1) === 44) { + switch (node.type) { + case "ObjectExpression": + case "ObjectPattern": + case "RecordExpression": + adjustInnerComments(node, node.properties, commentWS); + break; + case "CallExpression": + case "OptionalCallExpression": + adjustInnerComments(node, node.arguments, commentWS); + break; + case "FunctionDeclaration": + case "FunctionExpression": + case "ArrowFunctionExpression": + case "ObjectMethod": + case "ClassMethod": + case "ClassPrivateMethod": + adjustInnerComments(node, node.params, commentWS); + break; + case "ArrayExpression": + case "ArrayPattern": + case "TupleExpression": + adjustInnerComments(node, node.elements, commentWS); + break; + case "ExportNamedDeclaration": + case "ImportDeclaration": + adjustInnerComments(node, node.specifiers, commentWS); + break; + default: + { + setInnerComments(node, comments); + } + } + } else { + setInnerComments(node, comments); + } + } + } + finalizeRemainingComments() { + const { + commentStack + } = this.state; + for (let i = commentStack.length - 1; i >= 0; i--) { + this.finalizeComment(commentStack[i]); + } + this.state.commentStack = []; + } + resetPreviousNodeTrailingComments(node) { + const { + commentStack + } = this.state; + const { + length + } = commentStack; + if (length === 0) return; + const commentWS = commentStack[length - 1]; + if (commentWS.leadingNode === node) { + commentWS.leadingNode = null; + } + } + resetPreviousIdentifierLeadingComments(node) { + const { + commentStack + } = this.state; + const { + length + } = commentStack; + if (length === 0) return; + if (commentStack[length - 1].trailingNode === node) { + commentStack[length - 1].trailingNode = null; + } else if (length >= 2 && commentStack[length - 2].trailingNode === node) { + commentStack[length - 2].trailingNode = null; + } + } + takeSurroundingComments(node, start, end) { + const { + commentStack + } = this.state; + const commentStackLength = commentStack.length; + if (commentStackLength === 0) return; + let i = commentStackLength - 1; + for (; i >= 0; i--) { + const commentWS = commentStack[i]; + const commentEnd = commentWS.end; + const commentStart = commentWS.start; + if (commentStart === end) { + commentWS.leadingNode = node; + } else if (commentEnd === start) { + commentWS.trailingNode = node; + } else if (commentEnd < start) { + break; + } + } + } +} +const lineBreak = /\r\n?|[\n\u2028\u2029]/; +const lineBreakG = new RegExp(lineBreak.source, "g"); +function isNewLine(code) { + switch (code) { + case 10: + case 13: + case 8232: + case 8233: + return true; + default: + return false; + } +} +const skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g; +const skipWhiteSpaceInLine = /(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/g; +const skipWhiteSpaceToLineBreak = new RegExp("(?=(" + skipWhiteSpaceInLine.source + "))\\1" + /(?=[\n\r\u2028\u2029]|\/\*(?!.*?\*\/)|$)/.source, "y"); +function isWhitespace(code) { + switch (code) { + case 0x0009: + case 0x000b: + case 0x000c: + case 32: + case 160: + case 5760: + case 0x2000: + case 0x2001: + case 0x2002: + case 0x2003: + case 0x2004: + case 0x2005: + case 0x2006: + case 0x2007: + case 0x2008: + case 0x2009: + case 0x200a: + case 0x202f: + case 0x205f: + case 0x3000: + case 0xfeff: + return true; + default: + return false; + } +} +class State { + constructor() { + this.strict = void 0; + this.curLine = void 0; + this.lineStart = void 0; + this.startLoc = void 0; + this.endLoc = void 0; + this.errors = []; + this.potentialArrowAt = -1; + this.noArrowAt = []; + this.noArrowParamsConversionAt = []; + this.maybeInArrowParameters = false; + this.inType = false; + this.noAnonFunctionType = false; + this.hasFlowComment = false; + this.isAmbientContext = false; + this.inAbstractClass = false; + this.inDisallowConditionalTypesContext = false; + this.topicContext = { + maxNumOfResolvableTopics: 0, + maxTopicIndex: null + }; + this.soloAwait = false; + this.inFSharpPipelineDirectBody = false; + this.labels = []; + this.comments = []; + this.commentStack = []; + this.pos = 0; + this.type = 139; + this.value = null; + this.start = 0; + this.end = 0; + this.lastTokEndLoc = null; + this.lastTokStartLoc = null; + this.lastTokStart = 0; + this.context = [types.brace]; + this.canStartJSXElement = true; + this.containsEsc = false; + this.firstInvalidTemplateEscapePos = null; + this.strictErrors = new Map(); + this.tokensLength = 0; + } + init({ + strictMode, + sourceType, + startLine, + startColumn + }) { + this.strict = strictMode === false ? false : strictMode === true ? true : sourceType === "module"; + this.curLine = startLine; + this.lineStart = -startColumn; + this.startLoc = this.endLoc = new Position(startLine, startColumn, 0); + } + curPosition() { + return new Position(this.curLine, this.pos - this.lineStart, this.pos); + } + clone(skipArrays) { + const state = new State(); + const keys = Object.keys(this); + for (let i = 0, length = keys.length; i < length; i++) { + const key = keys[i]; + let val = this[key]; + if (!skipArrays && Array.isArray(val)) { + val = val.slice(); + } + state[key] = val; + } + return state; + } +} +var _isDigit = function isDigit(code) { + return code >= 48 && code <= 57; +}; +const forbiddenNumericSeparatorSiblings = { + decBinOct: new Set([46, 66, 69, 79, 95, 98, 101, 111]), + hex: new Set([46, 88, 95, 120]) +}; +const isAllowedNumericSeparatorSibling = { + bin: ch => ch === 48 || ch === 49, + oct: ch => ch >= 48 && ch <= 55, + dec: ch => ch >= 48 && ch <= 57, + hex: ch => ch >= 48 && ch <= 57 || ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102 +}; +function readStringContents(type, input, pos, lineStart, curLine, errors) { + const initialPos = pos; + const initialLineStart = lineStart; + const initialCurLine = curLine; + let out = ""; + let firstInvalidLoc = null; + let chunkStart = pos; + const { + length + } = input; + for (;;) { + if (pos >= length) { + errors.unterminated(initialPos, initialLineStart, initialCurLine); + out += input.slice(chunkStart, pos); + break; + } + const ch = input.charCodeAt(pos); + if (isStringEnd(type, ch, input, pos)) { + out += input.slice(chunkStart, pos); + break; + } + if (ch === 92) { + out += input.slice(chunkStart, pos); + const res = readEscapedChar(input, pos, lineStart, curLine, type === "template", errors); + if (res.ch === null && !firstInvalidLoc) { + firstInvalidLoc = { + pos, + lineStart, + curLine + }; + } else { + out += res.ch; + } + ({ + pos, + lineStart, + curLine + } = res); + chunkStart = pos; + } else if (ch === 8232 || ch === 8233) { + ++pos; + ++curLine; + lineStart = pos; + } else if (ch === 10 || ch === 13) { + if (type === "template") { + out += input.slice(chunkStart, pos) + "\n"; + ++pos; + if (ch === 13 && input.charCodeAt(pos) === 10) { + ++pos; + } + ++curLine; + chunkStart = lineStart = pos; + } else { + errors.unterminated(initialPos, initialLineStart, initialCurLine); + } + } else { + ++pos; + } + } + return { + pos, + str: out, + firstInvalidLoc, + lineStart, + curLine, + containsInvalid: !!firstInvalidLoc + }; +} +function isStringEnd(type, ch, input, pos) { + if (type === "template") { + return ch === 96 || ch === 36 && input.charCodeAt(pos + 1) === 123; + } + return ch === (type === "double" ? 34 : 39); +} +function readEscapedChar(input, pos, lineStart, curLine, inTemplate, errors) { + const throwOnInvalid = !inTemplate; + pos++; + const res = ch => ({ + pos, + ch, + lineStart, + curLine + }); + const ch = input.charCodeAt(pos++); + switch (ch) { + case 110: + return res("\n"); + case 114: + return res("\r"); + case 120: + { + let code; + ({ + code, + pos + } = readHexChar(input, pos, lineStart, curLine, 2, false, throwOnInvalid, errors)); + return res(code === null ? null : String.fromCharCode(code)); + } + case 117: + { + let code; + ({ + code, + pos + } = readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors)); + return res(code === null ? null : String.fromCodePoint(code)); + } + case 116: + return res("\t"); + case 98: + return res("\b"); + case 118: + return res("\u000b"); + case 102: + return res("\f"); + case 13: + if (input.charCodeAt(pos) === 10) { + ++pos; + } + case 10: + lineStart = pos; + ++curLine; + case 8232: + case 8233: + return res(""); + case 56: + case 57: + if (inTemplate) { + return res(null); + } else { + errors.strictNumericEscape(pos - 1, lineStart, curLine); + } + default: + if (ch >= 48 && ch <= 55) { + const startPos = pos - 1; + const match = input.slice(startPos, pos + 2).match(/^[0-7]+/); + let octalStr = match[0]; + let octal = parseInt(octalStr, 8); + if (octal > 255) { + octalStr = octalStr.slice(0, -1); + octal = parseInt(octalStr, 8); + } + pos += octalStr.length - 1; + const next = input.charCodeAt(pos); + if (octalStr !== "0" || next === 56 || next === 57) { + if (inTemplate) { + return res(null); + } else { + errors.strictNumericEscape(startPos, lineStart, curLine); + } + } + return res(String.fromCharCode(octal)); + } + return res(String.fromCharCode(ch)); + } +} +function readHexChar(input, pos, lineStart, curLine, len, forceLen, throwOnInvalid, errors) { + const initialPos = pos; + let n; + ({ + n, + pos + } = readInt(input, pos, lineStart, curLine, 16, len, forceLen, false, errors, !throwOnInvalid)); + if (n === null) { + if (throwOnInvalid) { + errors.invalidEscapeSequence(initialPos, lineStart, curLine); + } else { + pos = initialPos - 1; + } + } + return { + code: n, + pos + }; +} +function readInt(input, pos, lineStart, curLine, radix, len, forceLen, allowNumSeparator, errors, bailOnError) { + const start = pos; + const forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct; + const isAllowedSibling = radix === 16 ? isAllowedNumericSeparatorSibling.hex : radix === 10 ? isAllowedNumericSeparatorSibling.dec : radix === 8 ? isAllowedNumericSeparatorSibling.oct : isAllowedNumericSeparatorSibling.bin; + let invalid = false; + let total = 0; + for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) { + const code = input.charCodeAt(pos); + let val; + if (code === 95 && allowNumSeparator !== "bail") { + const prev = input.charCodeAt(pos - 1); + const next = input.charCodeAt(pos + 1); + if (!allowNumSeparator) { + if (bailOnError) return { + n: null, + pos + }; + errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine); + } else if (Number.isNaN(next) || !isAllowedSibling(next) || forbiddenSiblings.has(prev) || forbiddenSiblings.has(next)) { + if (bailOnError) return { + n: null, + pos + }; + errors.unexpectedNumericSeparator(pos, lineStart, curLine); + } + ++pos; + continue; + } + if (code >= 97) { + val = code - 97 + 10; + } else if (code >= 65) { + val = code - 65 + 10; + } else if (_isDigit(code)) { + val = code - 48; + } else { + val = Infinity; + } + if (val >= radix) { + if (val <= 9 && bailOnError) { + return { + n: null, + pos + }; + } else if (val <= 9 && errors.invalidDigit(pos, lineStart, curLine, radix)) { + val = 0; + } else if (forceLen) { + val = 0; + invalid = true; + } else { + break; + } + } + ++pos; + total = total * radix + val; + } + if (pos === start || len != null && pos - start !== len || invalid) { + return { + n: null, + pos + }; + } + return { + n: total, + pos + }; +} +function readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors) { + const ch = input.charCodeAt(pos); + let code; + if (ch === 123) { + ++pos; + ({ + code, + pos + } = readHexChar(input, pos, lineStart, curLine, input.indexOf("}", pos) - pos, true, throwOnInvalid, errors)); + ++pos; + if (code !== null && code > 0x10ffff) { + if (throwOnInvalid) { + errors.invalidCodePoint(pos, lineStart, curLine); + } else { + return { + code: null, + pos + }; + } + } + } else { + ({ + code, + pos + } = readHexChar(input, pos, lineStart, curLine, 4, false, throwOnInvalid, errors)); + } + return { + code, + pos + }; +} +const _excluded = ["at"], + _excluded2 = ["at"]; +function buildPosition(pos, lineStart, curLine) { + return new Position(curLine, pos - lineStart, pos); +} +const VALID_REGEX_FLAGS = new Set([103, 109, 115, 105, 121, 117, 100, 118]); +class Token { + constructor(state) { + this.type = state.type; + this.value = state.value; + this.start = state.start; + this.end = state.end; + this.loc = new SourceLocation(state.startLoc, state.endLoc); + } +} +class Tokenizer extends CommentsParser { + constructor(options, input) { + super(); + this.isLookahead = void 0; + this.tokens = []; + this.errorHandlers_readInt = { + invalidDigit: (pos, lineStart, curLine, radix) => { + if (!this.options.errorRecovery) return false; + this.raise(Errors.InvalidDigit, { + at: buildPosition(pos, lineStart, curLine), + radix + }); + return true; + }, + numericSeparatorInEscapeSequence: this.errorBuilder(Errors.NumericSeparatorInEscapeSequence), + unexpectedNumericSeparator: this.errorBuilder(Errors.UnexpectedNumericSeparator) + }; + this.errorHandlers_readCodePoint = Object.assign({}, this.errorHandlers_readInt, { + invalidEscapeSequence: this.errorBuilder(Errors.InvalidEscapeSequence), + invalidCodePoint: this.errorBuilder(Errors.InvalidCodePoint) + }); + this.errorHandlers_readStringContents_string = Object.assign({}, this.errorHandlers_readCodePoint, { + strictNumericEscape: (pos, lineStart, curLine) => { + this.recordStrictModeErrors(Errors.StrictNumericEscape, { + at: buildPosition(pos, lineStart, curLine) + }); + }, + unterminated: (pos, lineStart, curLine) => { + throw this.raise(Errors.UnterminatedString, { + at: buildPosition(pos - 1, lineStart, curLine) + }); + } + }); + this.errorHandlers_readStringContents_template = Object.assign({}, this.errorHandlers_readCodePoint, { + strictNumericEscape: this.errorBuilder(Errors.StrictNumericEscape), + unterminated: (pos, lineStart, curLine) => { + throw this.raise(Errors.UnterminatedTemplate, { + at: buildPosition(pos, lineStart, curLine) + }); + } + }); + this.state = new State(); + this.state.init(options); + this.input = input; + this.length = input.length; + this.isLookahead = false; + } + pushToken(token) { + this.tokens.length = this.state.tokensLength; + this.tokens.push(token); + ++this.state.tokensLength; + } + next() { + this.checkKeywordEscapes(); + if (this.options.tokens) { + this.pushToken(new Token(this.state)); + } + this.state.lastTokStart = this.state.start; + this.state.lastTokEndLoc = this.state.endLoc; + this.state.lastTokStartLoc = this.state.startLoc; + this.nextToken(); + } + eat(type) { + if (this.match(type)) { + this.next(); + return true; + } else { + return false; + } + } + match(type) { + return this.state.type === type; + } + createLookaheadState(state) { + return { + pos: state.pos, + value: null, + type: state.type, + start: state.start, + end: state.end, + context: [this.curContext()], + inType: state.inType, + startLoc: state.startLoc, + lastTokEndLoc: state.lastTokEndLoc, + curLine: state.curLine, + lineStart: state.lineStart, + curPosition: state.curPosition + }; + } + lookahead() { + const old = this.state; + this.state = this.createLookaheadState(old); + this.isLookahead = true; + this.nextToken(); + this.isLookahead = false; + const curr = this.state; + this.state = old; + return curr; + } + nextTokenStart() { + return this.nextTokenStartSince(this.state.pos); + } + nextTokenStartSince(pos) { + skipWhiteSpace.lastIndex = pos; + return skipWhiteSpace.test(this.input) ? skipWhiteSpace.lastIndex : pos; + } + lookaheadCharCode() { + return this.input.charCodeAt(this.nextTokenStart()); + } + nextTokenInLineStart() { + return this.nextTokenInLineStartSince(this.state.pos); + } + nextTokenInLineStartSince(pos) { + skipWhiteSpaceInLine.lastIndex = pos; + return skipWhiteSpaceInLine.test(this.input) ? skipWhiteSpaceInLine.lastIndex : pos; + } + lookaheadInLineCharCode() { + return this.input.charCodeAt(this.nextTokenInLineStart()); + } + codePointAtPos(pos) { + let cp = this.input.charCodeAt(pos); + if ((cp & 0xfc00) === 0xd800 && ++pos < this.input.length) { + const trail = this.input.charCodeAt(pos); + if ((trail & 0xfc00) === 0xdc00) { + cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff); + } + } + return cp; + } + setStrict(strict) { + this.state.strict = strict; + if (strict) { + this.state.strictErrors.forEach(([toParseError, at]) => this.raise(toParseError, { + at + })); + this.state.strictErrors.clear(); + } + } + curContext() { + return this.state.context[this.state.context.length - 1]; + } + nextToken() { + this.skipSpace(); + this.state.start = this.state.pos; + if (!this.isLookahead) this.state.startLoc = this.state.curPosition(); + if (this.state.pos >= this.length) { + this.finishToken(139); + return; + } + this.getTokenFromCode(this.codePointAtPos(this.state.pos)); + } + skipBlockComment(commentEnd) { + let startLoc; + if (!this.isLookahead) startLoc = this.state.curPosition(); + const start = this.state.pos; + const end = this.input.indexOf(commentEnd, start + 2); + if (end === -1) { + throw this.raise(Errors.UnterminatedComment, { + at: this.state.curPosition() + }); + } + this.state.pos = end + commentEnd.length; + lineBreakG.lastIndex = start + 2; + while (lineBreakG.test(this.input) && lineBreakG.lastIndex <= end) { + ++this.state.curLine; + this.state.lineStart = lineBreakG.lastIndex; + } + if (this.isLookahead) return; + const comment = { + type: "CommentBlock", + value: this.input.slice(start + 2, end), + start, + end: end + commentEnd.length, + loc: new SourceLocation(startLoc, this.state.curPosition()) + }; + if (this.options.tokens) this.pushToken(comment); + return comment; + } + skipLineComment(startSkip) { + const start = this.state.pos; + let startLoc; + if (!this.isLookahead) startLoc = this.state.curPosition(); + let ch = this.input.charCodeAt(this.state.pos += startSkip); + if (this.state.pos < this.length) { + while (!isNewLine(ch) && ++this.state.pos < this.length) { + ch = this.input.charCodeAt(this.state.pos); + } + } + if (this.isLookahead) return; + const end = this.state.pos; + const value = this.input.slice(start + startSkip, end); + const comment = { + type: "CommentLine", + value, + start, + end, + loc: new SourceLocation(startLoc, this.state.curPosition()) + }; + if (this.options.tokens) this.pushToken(comment); + return comment; + } + skipSpace() { + const spaceStart = this.state.pos; + const comments = []; + loop: while (this.state.pos < this.length) { + const ch = this.input.charCodeAt(this.state.pos); + switch (ch) { + case 32: + case 160: + case 9: + ++this.state.pos; + break; + case 13: + if (this.input.charCodeAt(this.state.pos + 1) === 10) { + ++this.state.pos; + } + case 10: + case 8232: + case 8233: + ++this.state.pos; + ++this.state.curLine; + this.state.lineStart = this.state.pos; + break; + case 47: + switch (this.input.charCodeAt(this.state.pos + 1)) { + case 42: + { + const comment = this.skipBlockComment("*/"); + if (comment !== undefined) { + this.addComment(comment); + if (this.options.attachComment) comments.push(comment); + } + break; + } + case 47: + { + const comment = this.skipLineComment(2); + if (comment !== undefined) { + this.addComment(comment); + if (this.options.attachComment) comments.push(comment); + } + break; + } + default: + break loop; + } + break; + default: + if (isWhitespace(ch)) { + ++this.state.pos; + } else if (ch === 45 && !this.inModule && this.options.annexB) { + const pos = this.state.pos; + if (this.input.charCodeAt(pos + 1) === 45 && this.input.charCodeAt(pos + 2) === 62 && (spaceStart === 0 || this.state.lineStart > spaceStart)) { + const comment = this.skipLineComment(3); + if (comment !== undefined) { + this.addComment(comment); + if (this.options.attachComment) comments.push(comment); + } + } else { + break loop; + } + } else if (ch === 60 && !this.inModule && this.options.annexB) { + const pos = this.state.pos; + if (this.input.charCodeAt(pos + 1) === 33 && this.input.charCodeAt(pos + 2) === 45 && this.input.charCodeAt(pos + 3) === 45) { + const comment = this.skipLineComment(4); + if (comment !== undefined) { + this.addComment(comment); + if (this.options.attachComment) comments.push(comment); + } + } else { + break loop; + } + } else { + break loop; + } + } + } + if (comments.length > 0) { + const end = this.state.pos; + const commentWhitespace = { + start: spaceStart, + end, + comments, + leadingNode: null, + trailingNode: null, + containingNode: null + }; + this.state.commentStack.push(commentWhitespace); + } + } + finishToken(type, val) { + this.state.end = this.state.pos; + this.state.endLoc = this.state.curPosition(); + const prevType = this.state.type; + this.state.type = type; + this.state.value = val; + if (!this.isLookahead) { + this.updateContext(prevType); + } + } + replaceToken(type) { + this.state.type = type; + this.updateContext(); + } + readToken_numberSign() { + if (this.state.pos === 0 && this.readToken_interpreter()) { + return; + } + const nextPos = this.state.pos + 1; + const next = this.codePointAtPos(nextPos); + if (next >= 48 && next <= 57) { + throw this.raise(Errors.UnexpectedDigitAfterHash, { + at: this.state.curPosition() + }); + } + if (next === 123 || next === 91 && this.hasPlugin("recordAndTuple")) { + this.expectPlugin("recordAndTuple"); + if (this.getPluginOption("recordAndTuple", "syntaxType") === "bar") { + throw this.raise(next === 123 ? Errors.RecordExpressionHashIncorrectStartSyntaxType : Errors.TupleExpressionHashIncorrectStartSyntaxType, { + at: this.state.curPosition() + }); + } + this.state.pos += 2; + if (next === 123) { + this.finishToken(7); + } else { + this.finishToken(1); + } + } else if (isIdentifierStart(next)) { + ++this.state.pos; + this.finishToken(138, this.readWord1(next)); + } else if (next === 92) { + ++this.state.pos; + this.finishToken(138, this.readWord1()); + } else { + this.finishOp(27, 1); + } + } + readToken_dot() { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next >= 48 && next <= 57) { + this.readNumber(true); + return; + } + if (next === 46 && this.input.charCodeAt(this.state.pos + 2) === 46) { + this.state.pos += 3; + this.finishToken(21); + } else { + ++this.state.pos; + this.finishToken(16); + } + } + readToken_slash() { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === 61) { + this.finishOp(31, 2); + } else { + this.finishOp(56, 1); + } + } + readToken_interpreter() { + if (this.state.pos !== 0 || this.length < 2) return false; + let ch = this.input.charCodeAt(this.state.pos + 1); + if (ch !== 33) return false; + const start = this.state.pos; + this.state.pos += 1; + while (!isNewLine(ch) && ++this.state.pos < this.length) { + ch = this.input.charCodeAt(this.state.pos); + } + const value = this.input.slice(start + 2, this.state.pos); + this.finishToken(28, value); + return true; + } + readToken_mult_modulo(code) { + let type = code === 42 ? 55 : 54; + let width = 1; + let next = this.input.charCodeAt(this.state.pos + 1); + if (code === 42 && next === 42) { + width++; + next = this.input.charCodeAt(this.state.pos + 2); + type = 57; + } + if (next === 61 && !this.state.inType) { + width++; + type = code === 37 ? 33 : 30; + } + this.finishOp(type, width); + } + readToken_pipe_amp(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === code) { + if (this.input.charCodeAt(this.state.pos + 2) === 61) { + this.finishOp(30, 3); + } else { + this.finishOp(code === 124 ? 41 : 42, 2); + } + return; + } + if (code === 124) { + if (next === 62) { + this.finishOp(39, 2); + return; + } + if (this.hasPlugin("recordAndTuple") && next === 125) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(Errors.RecordExpressionBarIncorrectEndSyntaxType, { + at: this.state.curPosition() + }); + } + this.state.pos += 2; + this.finishToken(9); + return; + } + if (this.hasPlugin("recordAndTuple") && next === 93) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(Errors.TupleExpressionBarIncorrectEndSyntaxType, { + at: this.state.curPosition() + }); + } + this.state.pos += 2; + this.finishToken(4); + return; + } + } + if (next === 61) { + this.finishOp(30, 2); + return; + } + this.finishOp(code === 124 ? 43 : 45, 1); + } + readToken_caret() { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === 61 && !this.state.inType) { + this.finishOp(32, 2); + } else if (next === 94 && this.hasPlugin(["pipelineOperator", { + proposal: "hack", + topicToken: "^^" + }])) { + this.finishOp(37, 2); + const lookaheadCh = this.input.codePointAt(this.state.pos); + if (lookaheadCh === 94) { + this.unexpected(); + } + } else { + this.finishOp(44, 1); + } + } + readToken_atSign() { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === 64 && this.hasPlugin(["pipelineOperator", { + proposal: "hack", + topicToken: "@@" + }])) { + this.finishOp(38, 2); + } else { + this.finishOp(26, 1); + } + } + readToken_plus_min(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === code) { + this.finishOp(34, 2); + return; + } + if (next === 61) { + this.finishOp(30, 2); + } else { + this.finishOp(53, 1); + } + } + readToken_lt() { + const { + pos + } = this.state; + const next = this.input.charCodeAt(pos + 1); + if (next === 60) { + if (this.input.charCodeAt(pos + 2) === 61) { + this.finishOp(30, 3); + return; + } + this.finishOp(51, 2); + return; + } + if (next === 61) { + this.finishOp(49, 2); + return; + } + this.finishOp(47, 1); + } + readToken_gt() { + const { + pos + } = this.state; + const next = this.input.charCodeAt(pos + 1); + if (next === 62) { + const size = this.input.charCodeAt(pos + 2) === 62 ? 3 : 2; + if (this.input.charCodeAt(pos + size) === 61) { + this.finishOp(30, size + 1); + return; + } + this.finishOp(52, size); + return; + } + if (next === 61) { + this.finishOp(49, 2); + return; + } + this.finishOp(48, 1); + } + readToken_eq_excl(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === 61) { + this.finishOp(46, this.input.charCodeAt(this.state.pos + 2) === 61 ? 3 : 2); + return; + } + if (code === 61 && next === 62) { + this.state.pos += 2; + this.finishToken(19); + return; + } + this.finishOp(code === 61 ? 29 : 35, 1); + } + readToken_question() { + const next = this.input.charCodeAt(this.state.pos + 1); + const next2 = this.input.charCodeAt(this.state.pos + 2); + if (next === 63) { + if (next2 === 61) { + this.finishOp(30, 3); + } else { + this.finishOp(40, 2); + } + } else if (next === 46 && !(next2 >= 48 && next2 <= 57)) { + this.state.pos += 2; + this.finishToken(18); + } else { + ++this.state.pos; + this.finishToken(17); + } + } + getTokenFromCode(code) { + switch (code) { + case 46: + this.readToken_dot(); + return; + case 40: + ++this.state.pos; + this.finishToken(10); + return; + case 41: + ++this.state.pos; + this.finishToken(11); + return; + case 59: + ++this.state.pos; + this.finishToken(13); + return; + case 44: + ++this.state.pos; + this.finishToken(12); + return; + case 91: + if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(Errors.TupleExpressionBarIncorrectStartSyntaxType, { + at: this.state.curPosition() + }); + } + this.state.pos += 2; + this.finishToken(2); + } else { + ++this.state.pos; + this.finishToken(0); + } + return; + case 93: + ++this.state.pos; + this.finishToken(3); + return; + case 123: + if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(Errors.RecordExpressionBarIncorrectStartSyntaxType, { + at: this.state.curPosition() + }); + } + this.state.pos += 2; + this.finishToken(6); + } else { + ++this.state.pos; + this.finishToken(5); + } + return; + case 125: + ++this.state.pos; + this.finishToken(8); + return; + case 58: + if (this.hasPlugin("functionBind") && this.input.charCodeAt(this.state.pos + 1) === 58) { + this.finishOp(15, 2); + } else { + ++this.state.pos; + this.finishToken(14); + } + return; + case 63: + this.readToken_question(); + return; + case 96: + this.readTemplateToken(); + return; + case 48: + { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === 120 || next === 88) { + this.readRadixNumber(16); + return; + } + if (next === 111 || next === 79) { + this.readRadixNumber(8); + return; + } + if (next === 98 || next === 66) { + this.readRadixNumber(2); + return; + } + } + case 49: + case 50: + case 51: + case 52: + case 53: + case 54: + case 55: + case 56: + case 57: + this.readNumber(false); + return; + case 34: + case 39: + this.readString(code); + return; + case 47: + this.readToken_slash(); + return; + case 37: + case 42: + this.readToken_mult_modulo(code); + return; + case 124: + case 38: + this.readToken_pipe_amp(code); + return; + case 94: + this.readToken_caret(); + return; + case 43: + case 45: + this.readToken_plus_min(code); + return; + case 60: + this.readToken_lt(); + return; + case 62: + this.readToken_gt(); + return; + case 61: + case 33: + this.readToken_eq_excl(code); + return; + case 126: + this.finishOp(36, 1); + return; + case 64: + this.readToken_atSign(); + return; + case 35: + this.readToken_numberSign(); + return; + case 92: + this.readWord(); + return; + default: + if (isIdentifierStart(code)) { + this.readWord(code); + return; + } + } + throw this.raise(Errors.InvalidOrUnexpectedToken, { + at: this.state.curPosition(), + unexpected: String.fromCodePoint(code) + }); + } + finishOp(type, size) { + const str = this.input.slice(this.state.pos, this.state.pos + size); + this.state.pos += size; + this.finishToken(type, str); + } + readRegexp() { + const startLoc = this.state.startLoc; + const start = this.state.start + 1; + let escaped, inClass; + let { + pos + } = this.state; + for (;; ++pos) { + if (pos >= this.length) { + throw this.raise(Errors.UnterminatedRegExp, { + at: createPositionWithColumnOffset(startLoc, 1) + }); + } + const ch = this.input.charCodeAt(pos); + if (isNewLine(ch)) { + throw this.raise(Errors.UnterminatedRegExp, { + at: createPositionWithColumnOffset(startLoc, 1) + }); + } + if (escaped) { + escaped = false; + } else { + if (ch === 91) { + inClass = true; + } else if (ch === 93 && inClass) { + inClass = false; + } else if (ch === 47 && !inClass) { + break; + } + escaped = ch === 92; + } + } + const content = this.input.slice(start, pos); + ++pos; + let mods = ""; + const nextPos = () => createPositionWithColumnOffset(startLoc, pos + 2 - start); + while (pos < this.length) { + const cp = this.codePointAtPos(pos); + const char = String.fromCharCode(cp); + if (VALID_REGEX_FLAGS.has(cp)) { + if (cp === 118) { + if (mods.includes("u")) { + this.raise(Errors.IncompatibleRegExpUVFlags, { + at: nextPos() + }); + } + } else if (cp === 117) { + if (mods.includes("v")) { + this.raise(Errors.IncompatibleRegExpUVFlags, { + at: nextPos() + }); + } + } + if (mods.includes(char)) { + this.raise(Errors.DuplicateRegExpFlags, { + at: nextPos() + }); + } + } else if (isIdentifierChar(cp) || cp === 92) { + this.raise(Errors.MalformedRegExpFlags, { + at: nextPos() + }); + } else { + break; + } + ++pos; + mods += char; + } + this.state.pos = pos; + this.finishToken(137, { + pattern: content, + flags: mods + }); + } + readInt(radix, len, forceLen = false, allowNumSeparator = true) { + const { + n, + pos + } = readInt(this.input, this.state.pos, this.state.lineStart, this.state.curLine, radix, len, forceLen, allowNumSeparator, this.errorHandlers_readInt, false); + this.state.pos = pos; + return n; + } + readRadixNumber(radix) { + const startLoc = this.state.curPosition(); + let isBigInt = false; + this.state.pos += 2; + const val = this.readInt(radix); + if (val == null) { + this.raise(Errors.InvalidDigit, { + at: createPositionWithColumnOffset(startLoc, 2), + radix + }); + } + const next = this.input.charCodeAt(this.state.pos); + if (next === 110) { + ++this.state.pos; + isBigInt = true; + } else if (next === 109) { + throw this.raise(Errors.InvalidDecimal, { + at: startLoc + }); + } + if (isIdentifierStart(this.codePointAtPos(this.state.pos))) { + throw this.raise(Errors.NumberIdentifier, { + at: this.state.curPosition() + }); + } + if (isBigInt) { + const str = this.input.slice(startLoc.index, this.state.pos).replace(/[_n]/g, ""); + this.finishToken(135, str); + return; + } + this.finishToken(134, val); + } + readNumber(startsWithDot) { + const start = this.state.pos; + const startLoc = this.state.curPosition(); + let isFloat = false; + let isBigInt = false; + let isDecimal = false; + let hasExponent = false; + let isOctal = false; + if (!startsWithDot && this.readInt(10) === null) { + this.raise(Errors.InvalidNumber, { + at: this.state.curPosition() + }); + } + const hasLeadingZero = this.state.pos - start >= 2 && this.input.charCodeAt(start) === 48; + if (hasLeadingZero) { + const integer = this.input.slice(start, this.state.pos); + this.recordStrictModeErrors(Errors.StrictOctalLiteral, { + at: startLoc + }); + if (!this.state.strict) { + const underscorePos = integer.indexOf("_"); + if (underscorePos > 0) { + this.raise(Errors.ZeroDigitNumericSeparator, { + at: createPositionWithColumnOffset(startLoc, underscorePos) + }); + } + } + isOctal = hasLeadingZero && !/[89]/.test(integer); + } + let next = this.input.charCodeAt(this.state.pos); + if (next === 46 && !isOctal) { + ++this.state.pos; + this.readInt(10); + isFloat = true; + next = this.input.charCodeAt(this.state.pos); + } + if ((next === 69 || next === 101) && !isOctal) { + next = this.input.charCodeAt(++this.state.pos); + if (next === 43 || next === 45) { + ++this.state.pos; + } + if (this.readInt(10) === null) { + this.raise(Errors.InvalidOrMissingExponent, { + at: startLoc + }); + } + isFloat = true; + hasExponent = true; + next = this.input.charCodeAt(this.state.pos); + } + if (next === 110) { + if (isFloat || hasLeadingZero) { + this.raise(Errors.InvalidBigIntLiteral, { + at: startLoc + }); + } + ++this.state.pos; + isBigInt = true; + } + if (next === 109) { + this.expectPlugin("decimal", this.state.curPosition()); + if (hasExponent || hasLeadingZero) { + this.raise(Errors.InvalidDecimal, { + at: startLoc + }); + } + ++this.state.pos; + isDecimal = true; + } + if (isIdentifierStart(this.codePointAtPos(this.state.pos))) { + throw this.raise(Errors.NumberIdentifier, { + at: this.state.curPosition() + }); + } + const str = this.input.slice(start, this.state.pos).replace(/[_mn]/g, ""); + if (isBigInt) { + this.finishToken(135, str); + return; + } + if (isDecimal) { + this.finishToken(136, str); + return; + } + const val = isOctal ? parseInt(str, 8) : parseFloat(str); + this.finishToken(134, val); + } + readCodePoint(throwOnInvalid) { + const { + code, + pos + } = readCodePoint(this.input, this.state.pos, this.state.lineStart, this.state.curLine, throwOnInvalid, this.errorHandlers_readCodePoint); + this.state.pos = pos; + return code; + } + readString(quote) { + const { + str, + pos, + curLine, + lineStart + } = readStringContents(quote === 34 ? "double" : "single", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_string); + this.state.pos = pos + 1; + this.state.lineStart = lineStart; + this.state.curLine = curLine; + this.finishToken(133, str); + } + readTemplateContinuation() { + if (!this.match(8)) { + this.unexpected(null, 8); + } + this.state.pos--; + this.readTemplateToken(); + } + readTemplateToken() { + const opening = this.input[this.state.pos]; + const { + str, + firstInvalidLoc, + pos, + curLine, + lineStart + } = readStringContents("template", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_template); + this.state.pos = pos + 1; + this.state.lineStart = lineStart; + this.state.curLine = curLine; + if (firstInvalidLoc) { + this.state.firstInvalidTemplateEscapePos = new Position(firstInvalidLoc.curLine, firstInvalidLoc.pos - firstInvalidLoc.lineStart, firstInvalidLoc.pos); + } + if (this.input.codePointAt(pos) === 96) { + this.finishToken(24, firstInvalidLoc ? null : opening + str + "`"); + } else { + this.state.pos++; + this.finishToken(25, firstInvalidLoc ? null : opening + str + "${"); + } + } + recordStrictModeErrors(toParseError, { + at + }) { + const index = at.index; + if (this.state.strict && !this.state.strictErrors.has(index)) { + this.raise(toParseError, { + at + }); + } else { + this.state.strictErrors.set(index, [toParseError, at]); + } + } + readWord1(firstCode) { + this.state.containsEsc = false; + let word = ""; + const start = this.state.pos; + let chunkStart = this.state.pos; + if (firstCode !== undefined) { + this.state.pos += firstCode <= 0xffff ? 1 : 2; + } + while (this.state.pos < this.length) { + const ch = this.codePointAtPos(this.state.pos); + if (isIdentifierChar(ch)) { + this.state.pos += ch <= 0xffff ? 1 : 2; + } else if (ch === 92) { + this.state.containsEsc = true; + word += this.input.slice(chunkStart, this.state.pos); + const escStart = this.state.curPosition(); + const identifierCheck = this.state.pos === start ? isIdentifierStart : isIdentifierChar; + if (this.input.charCodeAt(++this.state.pos) !== 117) { + this.raise(Errors.MissingUnicodeEscape, { + at: this.state.curPosition() + }); + chunkStart = this.state.pos - 1; + continue; + } + ++this.state.pos; + const esc = this.readCodePoint(true); + if (esc !== null) { + if (!identifierCheck(esc)) { + this.raise(Errors.EscapedCharNotAnIdentifier, { + at: escStart + }); + } + word += String.fromCodePoint(esc); + } + chunkStart = this.state.pos; + } else { + break; + } + } + return word + this.input.slice(chunkStart, this.state.pos); + } + readWord(firstCode) { + const word = this.readWord1(firstCode); + const type = keywords$1.get(word); + if (type !== undefined) { + this.finishToken(type, tokenLabelName(type)); + } else { + this.finishToken(132, word); + } + } + checkKeywordEscapes() { + const { + type + } = this.state; + if (tokenIsKeyword(type) && this.state.containsEsc) { + this.raise(Errors.InvalidEscapedReservedWord, { + at: this.state.startLoc, + reservedWord: tokenLabelName(type) + }); + } + } + raise(toParseError, raiseProperties) { + const { + at + } = raiseProperties, + details = _objectWithoutPropertiesLoose(raiseProperties, _excluded); + const loc = at instanceof Position ? at : at.loc.start; + const error = toParseError({ + loc, + details + }); + if (!this.options.errorRecovery) throw error; + if (!this.isLookahead) this.state.errors.push(error); + return error; + } + raiseOverwrite(toParseError, raiseProperties) { + const { + at + } = raiseProperties, + details = _objectWithoutPropertiesLoose(raiseProperties, _excluded2); + const loc = at instanceof Position ? at : at.loc.start; + const pos = loc.index; + const errors = this.state.errors; + for (let i = errors.length - 1; i >= 0; i--) { + const error = errors[i]; + if (error.loc.index === pos) { + return errors[i] = toParseError({ + loc, + details + }); + } + if (error.loc.index < pos) break; + } + return this.raise(toParseError, raiseProperties); + } + updateContext(prevType) {} + unexpected(loc, type) { + throw this.raise(Errors.UnexpectedToken, { + expected: type ? tokenLabelName(type) : null, + at: loc != null ? loc : this.state.startLoc + }); + } + expectPlugin(pluginName, loc) { + if (this.hasPlugin(pluginName)) { + return true; + } + throw this.raise(Errors.MissingPlugin, { + at: loc != null ? loc : this.state.startLoc, + missingPlugin: [pluginName] + }); + } + expectOnePlugin(pluginNames) { + if (!pluginNames.some(name => this.hasPlugin(name))) { + throw this.raise(Errors.MissingOneOfPlugins, { + at: this.state.startLoc, + missingPlugin: pluginNames + }); + } + } + errorBuilder(error) { + return (pos, lineStart, curLine) => { + this.raise(error, { + at: buildPosition(pos, lineStart, curLine) + }); + }; + } +} +class ClassScope { + constructor() { + this.privateNames = new Set(); + this.loneAccessors = new Map(); + this.undefinedPrivateNames = new Map(); + } +} +class ClassScopeHandler { + constructor(parser) { + this.parser = void 0; + this.stack = []; + this.undefinedPrivateNames = new Map(); + this.parser = parser; + } + current() { + return this.stack[this.stack.length - 1]; + } + enter() { + this.stack.push(new ClassScope()); + } + exit() { + const oldClassScope = this.stack.pop(); + const current = this.current(); + for (const [name, loc] of Array.from(oldClassScope.undefinedPrivateNames)) { + if (current) { + if (!current.undefinedPrivateNames.has(name)) { + current.undefinedPrivateNames.set(name, loc); + } + } else { + this.parser.raise(Errors.InvalidPrivateFieldResolution, { + at: loc, + identifierName: name + }); + } + } + } + declarePrivateName(name, elementType, loc) { + const { + privateNames, + loneAccessors, + undefinedPrivateNames + } = this.current(); + let redefined = privateNames.has(name); + if (elementType & 3) { + const accessor = redefined && loneAccessors.get(name); + if (accessor) { + const oldStatic = accessor & 4; + const newStatic = elementType & 4; + const oldKind = accessor & 3; + const newKind = elementType & 3; + redefined = oldKind === newKind || oldStatic !== newStatic; + if (!redefined) loneAccessors.delete(name); + } else if (!redefined) { + loneAccessors.set(name, elementType); + } + } + if (redefined) { + this.parser.raise(Errors.PrivateNameRedeclaration, { + at: loc, + identifierName: name + }); + } + privateNames.add(name); + undefinedPrivateNames.delete(name); + } + usePrivateName(name, loc) { + let classScope; + for (classScope of this.stack) { + if (classScope.privateNames.has(name)) return; + } + if (classScope) { + classScope.undefinedPrivateNames.set(name, loc); + } else { + this.parser.raise(Errors.InvalidPrivateFieldResolution, { + at: loc, + identifierName: name + }); + } + } +} +class ExpressionScope { + constructor(type = 0) { + this.type = type; + } + canBeArrowParameterDeclaration() { + return this.type === 2 || this.type === 1; + } + isCertainlyParameterDeclaration() { + return this.type === 3; + } +} +class ArrowHeadParsingScope extends ExpressionScope { + constructor(type) { + super(type); + this.declarationErrors = new Map(); + } + recordDeclarationError(ParsingErrorClass, { + at + }) { + const index = at.index; + this.declarationErrors.set(index, [ParsingErrorClass, at]); + } + clearDeclarationError(index) { + this.declarationErrors.delete(index); + } + iterateErrors(iterator) { + this.declarationErrors.forEach(iterator); + } +} +class ExpressionScopeHandler { + constructor(parser) { + this.parser = void 0; + this.stack = [new ExpressionScope()]; + this.parser = parser; + } + enter(scope) { + this.stack.push(scope); + } + exit() { + this.stack.pop(); + } + recordParameterInitializerError(toParseError, { + at: node + }) { + const origin = { + at: node.loc.start + }; + const { + stack + } = this; + let i = stack.length - 1; + let scope = stack[i]; + while (!scope.isCertainlyParameterDeclaration()) { + if (scope.canBeArrowParameterDeclaration()) { + scope.recordDeclarationError(toParseError, origin); + } else { + return; + } + scope = stack[--i]; + } + this.parser.raise(toParseError, origin); + } + recordArrowParameterBindingError(error, { + at: node + }) { + const { + stack + } = this; + const scope = stack[stack.length - 1]; + const origin = { + at: node.loc.start + }; + if (scope.isCertainlyParameterDeclaration()) { + this.parser.raise(error, origin); + } else if (scope.canBeArrowParameterDeclaration()) { + scope.recordDeclarationError(error, origin); + } else { + return; + } + } + recordAsyncArrowParametersError({ + at + }) { + const { + stack + } = this; + let i = stack.length - 1; + let scope = stack[i]; + while (scope.canBeArrowParameterDeclaration()) { + if (scope.type === 2) { + scope.recordDeclarationError(Errors.AwaitBindingIdentifier, { + at + }); + } + scope = stack[--i]; + } + } + validateAsPattern() { + const { + stack + } = this; + const currentScope = stack[stack.length - 1]; + if (!currentScope.canBeArrowParameterDeclaration()) return; + currentScope.iterateErrors(([toParseError, loc]) => { + this.parser.raise(toParseError, { + at: loc + }); + let i = stack.length - 2; + let scope = stack[i]; + while (scope.canBeArrowParameterDeclaration()) { + scope.clearDeclarationError(loc.index); + scope = stack[--i]; + } + }); + } +} +function newParameterDeclarationScope() { + return new ExpressionScope(3); +} +function newArrowHeadScope() { + return new ArrowHeadParsingScope(1); +} +function newAsyncArrowScope() { + return new ArrowHeadParsingScope(2); +} +function newExpressionScope() { + return new ExpressionScope(); +} +class ProductionParameterHandler { + constructor() { + this.stacks = []; + } + enter(flags) { + this.stacks.push(flags); + } + exit() { + this.stacks.pop(); + } + currentFlags() { + return this.stacks[this.stacks.length - 1]; + } + get hasAwait() { + return (this.currentFlags() & 2) > 0; + } + get hasYield() { + return (this.currentFlags() & 1) > 0; + } + get hasReturn() { + return (this.currentFlags() & 4) > 0; + } + get hasIn() { + return (this.currentFlags() & 8) > 0; + } +} +function functionFlags(isAsync, isGenerator) { + return (isAsync ? 2 : 0) | (isGenerator ? 1 : 0); +} +class UtilParser extends Tokenizer { + addExtra(node, key, value, enumerable = true) { + if (!node) return; + const extra = node.extra = node.extra || {}; + if (enumerable) { + extra[key] = value; + } else { + Object.defineProperty(extra, key, { + enumerable, + value + }); + } + } + isContextual(token) { + return this.state.type === token && !this.state.containsEsc; + } + isUnparsedContextual(nameStart, name) { + const nameEnd = nameStart + name.length; + if (this.input.slice(nameStart, nameEnd) === name) { + const nextCh = this.input.charCodeAt(nameEnd); + return !(isIdentifierChar(nextCh) || (nextCh & 0xfc00) === 0xd800); + } + return false; + } + isLookaheadContextual(name) { + const next = this.nextTokenStart(); + return this.isUnparsedContextual(next, name); + } + eatContextual(token) { + if (this.isContextual(token)) { + this.next(); + return true; + } + return false; + } + expectContextual(token, toParseError) { + if (!this.eatContextual(token)) { + if (toParseError != null) { + throw this.raise(toParseError, { + at: this.state.startLoc + }); + } + this.unexpected(null, token); + } + } + canInsertSemicolon() { + return this.match(139) || this.match(8) || this.hasPrecedingLineBreak(); + } + hasPrecedingLineBreak() { + return lineBreak.test(this.input.slice(this.state.lastTokEndLoc.index, this.state.start)); + } + hasFollowingLineBreak() { + skipWhiteSpaceToLineBreak.lastIndex = this.state.end; + return skipWhiteSpaceToLineBreak.test(this.input); + } + isLineTerminator() { + return this.eat(13) || this.canInsertSemicolon(); + } + semicolon(allowAsi = true) { + if (allowAsi ? this.isLineTerminator() : this.eat(13)) return; + this.raise(Errors.MissingSemicolon, { + at: this.state.lastTokEndLoc + }); + } + expect(type, loc) { + this.eat(type) || this.unexpected(loc, type); + } + tryParse(fn, oldState = this.state.clone()) { + const abortSignal = { + node: null + }; + try { + const node = fn((node = null) => { + abortSignal.node = node; + throw abortSignal; + }); + if (this.state.errors.length > oldState.errors.length) { + const failState = this.state; + this.state = oldState; + this.state.tokensLength = failState.tokensLength; + return { + node, + error: failState.errors[oldState.errors.length], + thrown: false, + aborted: false, + failState + }; + } + return { + node, + error: null, + thrown: false, + aborted: false, + failState: null + }; + } catch (error) { + const failState = this.state; + this.state = oldState; + if (error instanceof SyntaxError) { + return { + node: null, + error, + thrown: true, + aborted: false, + failState + }; + } + if (error === abortSignal) { + return { + node: abortSignal.node, + error: null, + thrown: false, + aborted: true, + failState + }; + } + throw error; + } + } + checkExpressionErrors(refExpressionErrors, andThrow) { + if (!refExpressionErrors) return false; + const { + shorthandAssignLoc, + doubleProtoLoc, + privateKeyLoc, + optionalParametersLoc + } = refExpressionErrors; + const hasErrors = !!shorthandAssignLoc || !!doubleProtoLoc || !!optionalParametersLoc || !!privateKeyLoc; + if (!andThrow) { + return hasErrors; + } + if (shorthandAssignLoc != null) { + this.raise(Errors.InvalidCoverInitializedName, { + at: shorthandAssignLoc + }); + } + if (doubleProtoLoc != null) { + this.raise(Errors.DuplicateProto, { + at: doubleProtoLoc + }); + } + if (privateKeyLoc != null) { + this.raise(Errors.UnexpectedPrivateField, { + at: privateKeyLoc + }); + } + if (optionalParametersLoc != null) { + this.unexpected(optionalParametersLoc); + } + } + isLiteralPropertyName() { + return tokenIsLiteralPropertyName(this.state.type); + } + isPrivateName(node) { + return node.type === "PrivateName"; + } + getPrivateNameSV(node) { + return node.id.name; + } + hasPropertyAsPrivateName(node) { + return (node.type === "MemberExpression" || node.type === "OptionalMemberExpression") && this.isPrivateName(node.property); + } + isObjectProperty(node) { + return node.type === "ObjectProperty"; + } + isObjectMethod(node) { + return node.type === "ObjectMethod"; + } + initializeScopes(inModule = this.options.sourceType === "module") { + const oldLabels = this.state.labels; + this.state.labels = []; + const oldExportedIdentifiers = this.exportedIdentifiers; + this.exportedIdentifiers = new Set(); + const oldInModule = this.inModule; + this.inModule = inModule; + const oldScope = this.scope; + const ScopeHandler = this.getScopeHandler(); + this.scope = new ScopeHandler(this, inModule); + const oldProdParam = this.prodParam; + this.prodParam = new ProductionParameterHandler(); + const oldClassScope = this.classScope; + this.classScope = new ClassScopeHandler(this); + const oldExpressionScope = this.expressionScope; + this.expressionScope = new ExpressionScopeHandler(this); + return () => { + this.state.labels = oldLabels; + this.exportedIdentifiers = oldExportedIdentifiers; + this.inModule = oldInModule; + this.scope = oldScope; + this.prodParam = oldProdParam; + this.classScope = oldClassScope; + this.expressionScope = oldExpressionScope; + }; + } + enterInitialScopes() { + let paramFlags = 0; + if (this.inModule) { + paramFlags |= 2; + } + this.scope.enter(1); + this.prodParam.enter(paramFlags); + } + checkDestructuringPrivate(refExpressionErrors) { + const { + privateKeyLoc + } = refExpressionErrors; + if (privateKeyLoc !== null) { + this.expectPlugin("destructuringPrivate", privateKeyLoc); + } + } +} +class ExpressionErrors { + constructor() { + this.shorthandAssignLoc = null; + this.doubleProtoLoc = null; + this.privateKeyLoc = null; + this.optionalParametersLoc = null; + } +} +class Node { + constructor(parser, pos, loc) { + this.type = ""; + this.start = pos; + this.end = 0; + this.loc = new SourceLocation(loc); + if (parser != null && parser.options.ranges) this.range = [pos, 0]; + if (parser != null && parser.filename) this.loc.filename = parser.filename; + } +} +const NodePrototype = Node.prototype; +{ + NodePrototype.__clone = function () { + const newNode = new Node(undefined, this.start, this.loc.start); + const keys = Object.keys(this); + for (let i = 0, length = keys.length; i < length; i++) { + const key = keys[i]; + if (key !== "leadingComments" && key !== "trailingComments" && key !== "innerComments") { + newNode[key] = this[key]; + } + } + return newNode; + }; +} +function clonePlaceholder(node) { + return cloneIdentifier(node); +} +function cloneIdentifier(node) { + const { + type, + start, + end, + loc, + range, + extra, + name + } = node; + const cloned = Object.create(NodePrototype); + cloned.type = type; + cloned.start = start; + cloned.end = end; + cloned.loc = loc; + cloned.range = range; + cloned.extra = extra; + cloned.name = name; + if (type === "Placeholder") { + cloned.expectedNode = node.expectedNode; + } + return cloned; +} +function cloneStringLiteral(node) { + const { + type, + start, + end, + loc, + range, + extra + } = node; + if (type === "Placeholder") { + return clonePlaceholder(node); + } + const cloned = Object.create(NodePrototype); + cloned.type = type; + cloned.start = start; + cloned.end = end; + cloned.loc = loc; + cloned.range = range; + if (node.raw !== undefined) { + cloned.raw = node.raw; + } else { + cloned.extra = extra; + } + cloned.value = node.value; + return cloned; +} +class NodeUtils extends UtilParser { + startNode() { + return new Node(this, this.state.start, this.state.startLoc); + } + startNodeAt(loc) { + return new Node(this, loc.index, loc); + } + startNodeAtNode(type) { + return this.startNodeAt(type.loc.start); + } + finishNode(node, type) { + return this.finishNodeAt(node, type, this.state.lastTokEndLoc); + } + finishNodeAt(node, type, endLoc) { + node.type = type; + node.end = endLoc.index; + node.loc.end = endLoc; + if (this.options.ranges) node.range[1] = endLoc.index; + if (this.options.attachComment) this.processComment(node); + return node; + } + resetStartLocation(node, startLoc) { + node.start = startLoc.index; + node.loc.start = startLoc; + if (this.options.ranges) node.range[0] = startLoc.index; + } + resetEndLocation(node, endLoc = this.state.lastTokEndLoc) { + node.end = endLoc.index; + node.loc.end = endLoc; + if (this.options.ranges) node.range[1] = endLoc.index; + } + resetStartLocationFromNode(node, locationNode) { + this.resetStartLocation(node, locationNode.loc.start); + } +} +const reservedTypes = new Set(["_", "any", "bool", "boolean", "empty", "extends", "false", "interface", "mixed", "null", "number", "static", "string", "true", "typeof", "void"]); +const FlowErrors = ParseErrorEnum`flow`({ + AmbiguousConditionalArrow: "Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.", + AmbiguousDeclareModuleKind: "Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module.", + AssignReservedType: ({ + reservedType + }) => `Cannot overwrite reserved type ${reservedType}.`, + DeclareClassElement: "The `declare` modifier can only appear on class fields.", + DeclareClassFieldInitializer: "Initializers are not allowed in fields with the `declare` modifier.", + DuplicateDeclareModuleExports: "Duplicate `declare module.exports` statement.", + EnumBooleanMemberNotInitialized: ({ + memberName, + enumName + }) => `Boolean enum members need to be initialized. Use either \`${memberName} = true,\` or \`${memberName} = false,\` in enum \`${enumName}\`.`, + EnumDuplicateMemberName: ({ + memberName, + enumName + }) => `Enum member names need to be unique, but the name \`${memberName}\` has already been used before in enum \`${enumName}\`.`, + EnumInconsistentMemberValues: ({ + enumName + }) => `Enum \`${enumName}\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.`, + EnumInvalidExplicitType: ({ + invalidEnumType, + enumName + }) => `Enum type \`${invalidEnumType}\` is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${enumName}\`.`, + EnumInvalidExplicitTypeUnknownSupplied: ({ + enumName + }) => `Supplied enum type is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${enumName}\`.`, + EnumInvalidMemberInitializerPrimaryType: ({ + enumName, + memberName, + explicitType + }) => `Enum \`${enumName}\` has type \`${explicitType}\`, so the initializer of \`${memberName}\` needs to be a ${explicitType} literal.`, + EnumInvalidMemberInitializerSymbolType: ({ + enumName, + memberName + }) => `Symbol enum members cannot be initialized. Use \`${memberName},\` in enum \`${enumName}\`.`, + EnumInvalidMemberInitializerUnknownType: ({ + enumName, + memberName + }) => `The enum member initializer for \`${memberName}\` needs to be a literal (either a boolean, number, or string) in enum \`${enumName}\`.`, + EnumInvalidMemberName: ({ + enumName, + memberName, + suggestion + }) => `Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \`${memberName}\`, consider using \`${suggestion}\`, in enum \`${enumName}\`.`, + EnumNumberMemberNotInitialized: ({ + enumName, + memberName + }) => `Number enum members need to be initialized, e.g. \`${memberName} = 1\` in enum \`${enumName}\`.`, + EnumStringMemberInconsistentlyInitialized: ({ + enumName + }) => `String enum members need to consistently either all use initializers, or use no initializers, in enum \`${enumName}\`.`, + GetterMayNotHaveThisParam: "A getter cannot have a `this` parameter.", + ImportReflectionHasImportType: "An `import module` declaration can not use `type` or `typeof` keyword.", + ImportTypeShorthandOnlyInPureImport: "The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.", + InexactInsideExact: "Explicit inexact syntax cannot appear inside an explicit exact object type.", + InexactInsideNonObject: "Explicit inexact syntax cannot appear in class or interface definitions.", + InexactVariance: "Explicit inexact syntax cannot have variance.", + InvalidNonTypeImportInDeclareModule: "Imports within a `declare module` body must always be `import type` or `import typeof`.", + MissingTypeParamDefault: "Type parameter declaration needs a default, since a preceding type parameter declaration has a default.", + NestedDeclareModule: "`declare module` cannot be used inside another `declare module`.", + NestedFlowComment: "Cannot have a flow comment inside another flow comment.", + PatternIsOptional: Object.assign({ + message: "A binding pattern parameter cannot be optional in an implementation signature." + }, { + reasonCode: "OptionalBindingPattern" + }), + SetterMayNotHaveThisParam: "A setter cannot have a `this` parameter.", + SpreadVariance: "Spread properties cannot have variance.", + ThisParamAnnotationRequired: "A type annotation is required for the `this` parameter.", + ThisParamBannedInConstructor: "Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.", + ThisParamMayNotBeOptional: "The `this` parameter cannot be optional.", + ThisParamMustBeFirst: "The `this` parameter must be the first function parameter.", + ThisParamNoDefault: "The `this` parameter may not have a default value.", + TypeBeforeInitializer: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.", + TypeCastInPattern: "The type cast expression is expected to be wrapped with parenthesis.", + UnexpectedExplicitInexactInObject: "Explicit inexact syntax must appear at the end of an inexact object.", + UnexpectedReservedType: ({ + reservedType + }) => `Unexpected reserved type ${reservedType}.`, + UnexpectedReservedUnderscore: "`_` is only allowed as a type argument to call or new.", + UnexpectedSpaceBetweenModuloChecks: "Spaces between `%` and `checks` are not allowed here.", + UnexpectedSpreadType: "Spread operator cannot appear in class or interface definitions.", + UnexpectedSubtractionOperand: 'Unexpected token, expected "number" or "bigint".', + UnexpectedTokenAfterTypeParameter: "Expected an arrow function after this type parameter declaration.", + UnexpectedTypeParameterBeforeAsyncArrowFunction: "Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`.", + UnsupportedDeclareExportKind: ({ + unsupportedExportKind, + suggestion + }) => `\`declare export ${unsupportedExportKind}\` is not supported. Use \`${suggestion}\` instead.`, + UnsupportedStatementInDeclareModule: "Only declares and type imports are allowed inside declare module.", + UnterminatedFlowComment: "Unterminated flow-comment." +}); +function isEsModuleType(bodyElement) { + return bodyElement.type === "DeclareExportAllDeclaration" || bodyElement.type === "DeclareExportDeclaration" && (!bodyElement.declaration || bodyElement.declaration.type !== "TypeAlias" && bodyElement.declaration.type !== "InterfaceDeclaration"); +} +function hasTypeImportKind(node) { + return node.importKind === "type" || node.importKind === "typeof"; +} +const exportSuggestions = { + const: "declare export var", + let: "declare export var", + type: "export type", + interface: "export interface" +}; +function partition(list, test) { + const list1 = []; + const list2 = []; + for (let i = 0; i < list.length; i++) { + (test(list[i], i, list) ? list1 : list2).push(list[i]); + } + return [list1, list2]; +} +const FLOW_PRAGMA_REGEX = /\*?\s*@((?:no)?flow)\b/; +var flow = superClass => class FlowParserMixin extends superClass { + constructor(...args) { + super(...args); + this.flowPragma = undefined; + } + getScopeHandler() { + return FlowScopeHandler; + } + shouldParseTypes() { + return this.getPluginOption("flow", "all") || this.flowPragma === "flow"; + } + shouldParseEnums() { + return !!this.getPluginOption("flow", "enums"); + } + finishToken(type, val) { + if (type !== 133 && type !== 13 && type !== 28) { + if (this.flowPragma === undefined) { + this.flowPragma = null; + } + } + super.finishToken(type, val); + } + addComment(comment) { + if (this.flowPragma === undefined) { + const matches = FLOW_PRAGMA_REGEX.exec(comment.value); + if (!matches) ;else if (matches[1] === "flow") { + this.flowPragma = "flow"; + } else if (matches[1] === "noflow") { + this.flowPragma = "noflow"; + } else { + throw new Error("Unexpected flow pragma"); + } + } + super.addComment(comment); + } + flowParseTypeInitialiser(tok) { + const oldInType = this.state.inType; + this.state.inType = true; + this.expect(tok || 14); + const type = this.flowParseType(); + this.state.inType = oldInType; + return type; + } + flowParsePredicate() { + const node = this.startNode(); + const moduloLoc = this.state.startLoc; + this.next(); + this.expectContextual(110); + if (this.state.lastTokStart > moduloLoc.index + 1) { + this.raise(FlowErrors.UnexpectedSpaceBetweenModuloChecks, { + at: moduloLoc + }); + } + if (this.eat(10)) { + node.value = super.parseExpression(); + this.expect(11); + return this.finishNode(node, "DeclaredPredicate"); + } else { + return this.finishNode(node, "InferredPredicate"); + } + } + flowParseTypeAndPredicateInitialiser() { + const oldInType = this.state.inType; + this.state.inType = true; + this.expect(14); + let type = null; + let predicate = null; + if (this.match(54)) { + this.state.inType = oldInType; + predicate = this.flowParsePredicate(); + } else { + type = this.flowParseType(); + this.state.inType = oldInType; + if (this.match(54)) { + predicate = this.flowParsePredicate(); + } + } + return [type, predicate]; + } + flowParseDeclareClass(node) { + this.next(); + this.flowParseInterfaceish(node, true); + return this.finishNode(node, "DeclareClass"); + } + flowParseDeclareFunction(node) { + this.next(); + const id = node.id = this.parseIdentifier(); + const typeNode = this.startNode(); + const typeContainer = this.startNode(); + if (this.match(47)) { + typeNode.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + typeNode.typeParameters = null; + } + this.expect(10); + const tmp = this.flowParseFunctionTypeParams(); + typeNode.params = tmp.params; + typeNode.rest = tmp.rest; + typeNode.this = tmp._this; + this.expect(11); + [typeNode.returnType, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); + typeContainer.typeAnnotation = this.finishNode(typeNode, "FunctionTypeAnnotation"); + id.typeAnnotation = this.finishNode(typeContainer, "TypeAnnotation"); + this.resetEndLocation(id); + this.semicolon(); + this.scope.declareName(node.id.name, 2048, node.id.loc.start); + return this.finishNode(node, "DeclareFunction"); + } + flowParseDeclare(node, insideModule) { + if (this.match(80)) { + return this.flowParseDeclareClass(node); + } else if (this.match(68)) { + return this.flowParseDeclareFunction(node); + } else if (this.match(74)) { + return this.flowParseDeclareVariable(node); + } else if (this.eatContextual(127)) { + if (this.match(16)) { + return this.flowParseDeclareModuleExports(node); + } else { + if (insideModule) { + this.raise(FlowErrors.NestedDeclareModule, { + at: this.state.lastTokStartLoc + }); + } + return this.flowParseDeclareModule(node); + } + } else if (this.isContextual(130)) { + return this.flowParseDeclareTypeAlias(node); + } else if (this.isContextual(131)) { + return this.flowParseDeclareOpaqueType(node); + } else if (this.isContextual(129)) { + return this.flowParseDeclareInterface(node); + } else if (this.match(82)) { + return this.flowParseDeclareExportDeclaration(node, insideModule); + } else { + this.unexpected(); + } + } + flowParseDeclareVariable(node) { + this.next(); + node.id = this.flowParseTypeAnnotatableIdentifier(true); + this.scope.declareName(node.id.name, 5, node.id.loc.start); + this.semicolon(); + return this.finishNode(node, "DeclareVariable"); + } + flowParseDeclareModule(node) { + this.scope.enter(0); + if (this.match(133)) { + node.id = super.parseExprAtom(); + } else { + node.id = this.parseIdentifier(); + } + const bodyNode = node.body = this.startNode(); + const body = bodyNode.body = []; + this.expect(5); + while (!this.match(8)) { + let bodyNode = this.startNode(); + if (this.match(83)) { + this.next(); + if (!this.isContextual(130) && !this.match(87)) { + this.raise(FlowErrors.InvalidNonTypeImportInDeclareModule, { + at: this.state.lastTokStartLoc + }); + } + super.parseImport(bodyNode); + } else { + this.expectContextual(125, FlowErrors.UnsupportedStatementInDeclareModule); + bodyNode = this.flowParseDeclare(bodyNode, true); + } + body.push(bodyNode); + } + this.scope.exit(); + this.expect(8); + this.finishNode(bodyNode, "BlockStatement"); + let kind = null; + let hasModuleExport = false; + body.forEach(bodyElement => { + if (isEsModuleType(bodyElement)) { + if (kind === "CommonJS") { + this.raise(FlowErrors.AmbiguousDeclareModuleKind, { + at: bodyElement + }); + } + kind = "ES"; + } else if (bodyElement.type === "DeclareModuleExports") { + if (hasModuleExport) { + this.raise(FlowErrors.DuplicateDeclareModuleExports, { + at: bodyElement + }); + } + if (kind === "ES") { + this.raise(FlowErrors.AmbiguousDeclareModuleKind, { + at: bodyElement + }); + } + kind = "CommonJS"; + hasModuleExport = true; + } + }); + node.kind = kind || "CommonJS"; + return this.finishNode(node, "DeclareModule"); + } + flowParseDeclareExportDeclaration(node, insideModule) { + this.expect(82); + if (this.eat(65)) { + if (this.match(68) || this.match(80)) { + node.declaration = this.flowParseDeclare(this.startNode()); + } else { + node.declaration = this.flowParseType(); + this.semicolon(); + } + node.default = true; + return this.finishNode(node, "DeclareExportDeclaration"); + } else { + if (this.match(75) || this.isLet() || (this.isContextual(130) || this.isContextual(129)) && !insideModule) { + const label = this.state.value; + throw this.raise(FlowErrors.UnsupportedDeclareExportKind, { + at: this.state.startLoc, + unsupportedExportKind: label, + suggestion: exportSuggestions[label] + }); + } + if (this.match(74) || this.match(68) || this.match(80) || this.isContextual(131)) { + node.declaration = this.flowParseDeclare(this.startNode()); + node.default = false; + return this.finishNode(node, "DeclareExportDeclaration"); + } else if (this.match(55) || this.match(5) || this.isContextual(129) || this.isContextual(130) || this.isContextual(131)) { + node = this.parseExport(node, null); + if (node.type === "ExportNamedDeclaration") { + node.type = "ExportDeclaration"; + node.default = false; + delete node.exportKind; + } + node.type = "Declare" + node.type; + return node; + } + } + this.unexpected(); + } + flowParseDeclareModuleExports(node) { + this.next(); + this.expectContextual(111); + node.typeAnnotation = this.flowParseTypeAnnotation(); + this.semicolon(); + return this.finishNode(node, "DeclareModuleExports"); + } + flowParseDeclareTypeAlias(node) { + this.next(); + const finished = this.flowParseTypeAlias(node); + finished.type = "DeclareTypeAlias"; + return finished; + } + flowParseDeclareOpaqueType(node) { + this.next(); + const finished = this.flowParseOpaqueType(node, true); + finished.type = "DeclareOpaqueType"; + return finished; + } + flowParseDeclareInterface(node) { + this.next(); + this.flowParseInterfaceish(node, false); + return this.finishNode(node, "DeclareInterface"); + } + flowParseInterfaceish(node, isClass) { + node.id = this.flowParseRestrictedIdentifier(!isClass, true); + this.scope.declareName(node.id.name, isClass ? 17 : 8201, node.id.loc.start); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + node.extends = []; + if (this.eat(81)) { + do { + node.extends.push(this.flowParseInterfaceExtends()); + } while (!isClass && this.eat(12)); + } + if (isClass) { + node.implements = []; + node.mixins = []; + if (this.eatContextual(117)) { + do { + node.mixins.push(this.flowParseInterfaceExtends()); + } while (this.eat(12)); + } + if (this.eatContextual(113)) { + do { + node.implements.push(this.flowParseInterfaceExtends()); + } while (this.eat(12)); + } + } + node.body = this.flowParseObjectType({ + allowStatic: isClass, + allowExact: false, + allowSpread: false, + allowProto: isClass, + allowInexact: false + }); + } + flowParseInterfaceExtends() { + const node = this.startNode(); + node.id = this.flowParseQualifiedTypeIdentifier(); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } else { + node.typeParameters = null; + } + return this.finishNode(node, "InterfaceExtends"); + } + flowParseInterface(node) { + this.flowParseInterfaceish(node, false); + return this.finishNode(node, "InterfaceDeclaration"); + } + checkNotUnderscore(word) { + if (word === "_") { + this.raise(FlowErrors.UnexpectedReservedUnderscore, { + at: this.state.startLoc + }); + } + } + checkReservedType(word, startLoc, declaration) { + if (!reservedTypes.has(word)) return; + this.raise(declaration ? FlowErrors.AssignReservedType : FlowErrors.UnexpectedReservedType, { + at: startLoc, + reservedType: word + }); + } + flowParseRestrictedIdentifier(liberal, declaration) { + this.checkReservedType(this.state.value, this.state.startLoc, declaration); + return this.parseIdentifier(liberal); + } + flowParseTypeAlias(node) { + node.id = this.flowParseRestrictedIdentifier(false, true); + this.scope.declareName(node.id.name, 8201, node.id.loc.start); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + node.right = this.flowParseTypeInitialiser(29); + this.semicolon(); + return this.finishNode(node, "TypeAlias"); + } + flowParseOpaqueType(node, declare) { + this.expectContextual(130); + node.id = this.flowParseRestrictedIdentifier(true, true); + this.scope.declareName(node.id.name, 8201, node.id.loc.start); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + node.supertype = null; + if (this.match(14)) { + node.supertype = this.flowParseTypeInitialiser(14); + } + node.impltype = null; + if (!declare) { + node.impltype = this.flowParseTypeInitialiser(29); + } + this.semicolon(); + return this.finishNode(node, "OpaqueType"); + } + flowParseTypeParameter(requireDefault = false) { + const nodeStartLoc = this.state.startLoc; + const node = this.startNode(); + const variance = this.flowParseVariance(); + const ident = this.flowParseTypeAnnotatableIdentifier(); + node.name = ident.name; + node.variance = variance; + node.bound = ident.typeAnnotation; + if (this.match(29)) { + this.eat(29); + node.default = this.flowParseType(); + } else { + if (requireDefault) { + this.raise(FlowErrors.MissingTypeParamDefault, { + at: nodeStartLoc + }); + } + } + return this.finishNode(node, "TypeParameter"); + } + flowParseTypeParameterDeclaration() { + const oldInType = this.state.inType; + const node = this.startNode(); + node.params = []; + this.state.inType = true; + if (this.match(47) || this.match(142)) { + this.next(); + } else { + this.unexpected(); + } + let defaultRequired = false; + do { + const typeParameter = this.flowParseTypeParameter(defaultRequired); + node.params.push(typeParameter); + if (typeParameter.default) { + defaultRequired = true; + } + if (!this.match(48)) { + this.expect(12); + } + } while (!this.match(48)); + this.expect(48); + this.state.inType = oldInType; + return this.finishNode(node, "TypeParameterDeclaration"); + } + flowParseTypeParameterInstantiation() { + const node = this.startNode(); + const oldInType = this.state.inType; + node.params = []; + this.state.inType = true; + this.expect(47); + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = false; + while (!this.match(48)) { + node.params.push(this.flowParseType()); + if (!this.match(48)) { + this.expect(12); + } + } + this.state.noAnonFunctionType = oldNoAnonFunctionType; + this.expect(48); + this.state.inType = oldInType; + return this.finishNode(node, "TypeParameterInstantiation"); + } + flowParseTypeParameterInstantiationCallOrNew() { + const node = this.startNode(); + const oldInType = this.state.inType; + node.params = []; + this.state.inType = true; + this.expect(47); + while (!this.match(48)) { + node.params.push(this.flowParseTypeOrImplicitInstantiation()); + if (!this.match(48)) { + this.expect(12); + } + } + this.expect(48); + this.state.inType = oldInType; + return this.finishNode(node, "TypeParameterInstantiation"); + } + flowParseInterfaceType() { + const node = this.startNode(); + this.expectContextual(129); + node.extends = []; + if (this.eat(81)) { + do { + node.extends.push(this.flowParseInterfaceExtends()); + } while (this.eat(12)); + } + node.body = this.flowParseObjectType({ + allowStatic: false, + allowExact: false, + allowSpread: false, + allowProto: false, + allowInexact: false + }); + return this.finishNode(node, "InterfaceTypeAnnotation"); + } + flowParseObjectPropertyKey() { + return this.match(134) || this.match(133) ? super.parseExprAtom() : this.parseIdentifier(true); + } + flowParseObjectTypeIndexer(node, isStatic, variance) { + node.static = isStatic; + if (this.lookahead().type === 14) { + node.id = this.flowParseObjectPropertyKey(); + node.key = this.flowParseTypeInitialiser(); + } else { + node.id = null; + node.key = this.flowParseType(); + } + this.expect(3); + node.value = this.flowParseTypeInitialiser(); + node.variance = variance; + return this.finishNode(node, "ObjectTypeIndexer"); + } + flowParseObjectTypeInternalSlot(node, isStatic) { + node.static = isStatic; + node.id = this.flowParseObjectPropertyKey(); + this.expect(3); + this.expect(3); + if (this.match(47) || this.match(10)) { + node.method = true; + node.optional = false; + node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.loc.start)); + } else { + node.method = false; + if (this.eat(17)) { + node.optional = true; + } + node.value = this.flowParseTypeInitialiser(); + } + return this.finishNode(node, "ObjectTypeInternalSlot"); + } + flowParseObjectTypeMethodish(node) { + node.params = []; + node.rest = null; + node.typeParameters = null; + node.this = null; + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + this.expect(10); + if (this.match(78)) { + node.this = this.flowParseFunctionTypeParam(true); + node.this.name = null; + if (!this.match(11)) { + this.expect(12); + } + } + while (!this.match(11) && !this.match(21)) { + node.params.push(this.flowParseFunctionTypeParam(false)); + if (!this.match(11)) { + this.expect(12); + } + } + if (this.eat(21)) { + node.rest = this.flowParseFunctionTypeParam(false); + } + this.expect(11); + node.returnType = this.flowParseTypeInitialiser(); + return this.finishNode(node, "FunctionTypeAnnotation"); + } + flowParseObjectTypeCallProperty(node, isStatic) { + const valueNode = this.startNode(); + node.static = isStatic; + node.value = this.flowParseObjectTypeMethodish(valueNode); + return this.finishNode(node, "ObjectTypeCallProperty"); + } + flowParseObjectType({ + allowStatic, + allowExact, + allowSpread, + allowProto, + allowInexact + }) { + const oldInType = this.state.inType; + this.state.inType = true; + const nodeStart = this.startNode(); + nodeStart.callProperties = []; + nodeStart.properties = []; + nodeStart.indexers = []; + nodeStart.internalSlots = []; + let endDelim; + let exact; + let inexact = false; + if (allowExact && this.match(6)) { + this.expect(6); + endDelim = 9; + exact = true; + } else { + this.expect(5); + endDelim = 8; + exact = false; + } + nodeStart.exact = exact; + while (!this.match(endDelim)) { + let isStatic = false; + let protoStartLoc = null; + let inexactStartLoc = null; + const node = this.startNode(); + if (allowProto && this.isContextual(118)) { + const lookahead = this.lookahead(); + if (lookahead.type !== 14 && lookahead.type !== 17) { + this.next(); + protoStartLoc = this.state.startLoc; + allowStatic = false; + } + } + if (allowStatic && this.isContextual(106)) { + const lookahead = this.lookahead(); + if (lookahead.type !== 14 && lookahead.type !== 17) { + this.next(); + isStatic = true; + } + } + const variance = this.flowParseVariance(); + if (this.eat(0)) { + if (protoStartLoc != null) { + this.unexpected(protoStartLoc); + } + if (this.eat(0)) { + if (variance) { + this.unexpected(variance.loc.start); + } + nodeStart.internalSlots.push(this.flowParseObjectTypeInternalSlot(node, isStatic)); + } else { + nodeStart.indexers.push(this.flowParseObjectTypeIndexer(node, isStatic, variance)); + } + } else if (this.match(10) || this.match(47)) { + if (protoStartLoc != null) { + this.unexpected(protoStartLoc); + } + if (variance) { + this.unexpected(variance.loc.start); + } + nodeStart.callProperties.push(this.flowParseObjectTypeCallProperty(node, isStatic)); + } else { + let kind = "init"; + if (this.isContextual(99) || this.isContextual(104)) { + const lookahead = this.lookahead(); + if (tokenIsLiteralPropertyName(lookahead.type)) { + kind = this.state.value; + this.next(); + } + } + const propOrInexact = this.flowParseObjectTypeProperty(node, isStatic, protoStartLoc, variance, kind, allowSpread, allowInexact != null ? allowInexact : !exact); + if (propOrInexact === null) { + inexact = true; + inexactStartLoc = this.state.lastTokStartLoc; + } else { + nodeStart.properties.push(propOrInexact); + } + } + this.flowObjectTypeSemicolon(); + if (inexactStartLoc && !this.match(8) && !this.match(9)) { + this.raise(FlowErrors.UnexpectedExplicitInexactInObject, { + at: inexactStartLoc + }); + } + } + this.expect(endDelim); + if (allowSpread) { + nodeStart.inexact = inexact; + } + const out = this.finishNode(nodeStart, "ObjectTypeAnnotation"); + this.state.inType = oldInType; + return out; + } + flowParseObjectTypeProperty(node, isStatic, protoStartLoc, variance, kind, allowSpread, allowInexact) { + if (this.eat(21)) { + const isInexactToken = this.match(12) || this.match(13) || this.match(8) || this.match(9); + if (isInexactToken) { + if (!allowSpread) { + this.raise(FlowErrors.InexactInsideNonObject, { + at: this.state.lastTokStartLoc + }); + } else if (!allowInexact) { + this.raise(FlowErrors.InexactInsideExact, { + at: this.state.lastTokStartLoc + }); + } + if (variance) { + this.raise(FlowErrors.InexactVariance, { + at: variance + }); + } + return null; + } + if (!allowSpread) { + this.raise(FlowErrors.UnexpectedSpreadType, { + at: this.state.lastTokStartLoc + }); + } + if (protoStartLoc != null) { + this.unexpected(protoStartLoc); + } + if (variance) { + this.raise(FlowErrors.SpreadVariance, { + at: variance + }); + } + node.argument = this.flowParseType(); + return this.finishNode(node, "ObjectTypeSpreadProperty"); + } else { + node.key = this.flowParseObjectPropertyKey(); + node.static = isStatic; + node.proto = protoStartLoc != null; + node.kind = kind; + let optional = false; + if (this.match(47) || this.match(10)) { + node.method = true; + if (protoStartLoc != null) { + this.unexpected(protoStartLoc); + } + if (variance) { + this.unexpected(variance.loc.start); + } + node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.loc.start)); + if (kind === "get" || kind === "set") { + this.flowCheckGetterSetterParams(node); + } + if (!allowSpread && node.key.name === "constructor" && node.value.this) { + this.raise(FlowErrors.ThisParamBannedInConstructor, { + at: node.value.this + }); + } + } else { + if (kind !== "init") this.unexpected(); + node.method = false; + if (this.eat(17)) { + optional = true; + } + node.value = this.flowParseTypeInitialiser(); + node.variance = variance; + } + node.optional = optional; + return this.finishNode(node, "ObjectTypeProperty"); + } + } + flowCheckGetterSetterParams(property) { + const paramCount = property.kind === "get" ? 0 : 1; + const length = property.value.params.length + (property.value.rest ? 1 : 0); + if (property.value.this) { + this.raise(property.kind === "get" ? FlowErrors.GetterMayNotHaveThisParam : FlowErrors.SetterMayNotHaveThisParam, { + at: property.value.this + }); + } + if (length !== paramCount) { + this.raise(property.kind === "get" ? Errors.BadGetterArity : Errors.BadSetterArity, { + at: property + }); + } + if (property.kind === "set" && property.value.rest) { + this.raise(Errors.BadSetterRestParameter, { + at: property + }); + } + } + flowObjectTypeSemicolon() { + if (!this.eat(13) && !this.eat(12) && !this.match(8) && !this.match(9)) { + this.unexpected(); + } + } + flowParseQualifiedTypeIdentifier(startLoc, id) { + var _startLoc; + (_startLoc = startLoc) != null ? _startLoc : startLoc = this.state.startLoc; + let node = id || this.flowParseRestrictedIdentifier(true); + while (this.eat(16)) { + const node2 = this.startNodeAt(startLoc); + node2.qualification = node; + node2.id = this.flowParseRestrictedIdentifier(true); + node = this.finishNode(node2, "QualifiedTypeIdentifier"); + } + return node; + } + flowParseGenericType(startLoc, id) { + const node = this.startNodeAt(startLoc); + node.typeParameters = null; + node.id = this.flowParseQualifiedTypeIdentifier(startLoc, id); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } + return this.finishNode(node, "GenericTypeAnnotation"); + } + flowParseTypeofType() { + const node = this.startNode(); + this.expect(87); + node.argument = this.flowParsePrimaryType(); + return this.finishNode(node, "TypeofTypeAnnotation"); + } + flowParseTupleType() { + const node = this.startNode(); + node.types = []; + this.expect(0); + while (this.state.pos < this.length && !this.match(3)) { + node.types.push(this.flowParseType()); + if (this.match(3)) break; + this.expect(12); + } + this.expect(3); + return this.finishNode(node, "TupleTypeAnnotation"); + } + flowParseFunctionTypeParam(first) { + let name = null; + let optional = false; + let typeAnnotation = null; + const node = this.startNode(); + const lh = this.lookahead(); + const isThis = this.state.type === 78; + if (lh.type === 14 || lh.type === 17) { + if (isThis && !first) { + this.raise(FlowErrors.ThisParamMustBeFirst, { + at: node + }); + } + name = this.parseIdentifier(isThis); + if (this.eat(17)) { + optional = true; + if (isThis) { + this.raise(FlowErrors.ThisParamMayNotBeOptional, { + at: node + }); + } + } + typeAnnotation = this.flowParseTypeInitialiser(); + } else { + typeAnnotation = this.flowParseType(); + } + node.name = name; + node.optional = optional; + node.typeAnnotation = typeAnnotation; + return this.finishNode(node, "FunctionTypeParam"); + } + reinterpretTypeAsFunctionTypeParam(type) { + const node = this.startNodeAt(type.loc.start); + node.name = null; + node.optional = false; + node.typeAnnotation = type; + return this.finishNode(node, "FunctionTypeParam"); + } + flowParseFunctionTypeParams(params = []) { + let rest = null; + let _this = null; + if (this.match(78)) { + _this = this.flowParseFunctionTypeParam(true); + _this.name = null; + if (!this.match(11)) { + this.expect(12); + } + } + while (!this.match(11) && !this.match(21)) { + params.push(this.flowParseFunctionTypeParam(false)); + if (!this.match(11)) { + this.expect(12); + } + } + if (this.eat(21)) { + rest = this.flowParseFunctionTypeParam(false); + } + return { + params, + rest, + _this + }; + } + flowIdentToTypeAnnotation(startLoc, node, id) { + switch (id.name) { + case "any": + return this.finishNode(node, "AnyTypeAnnotation"); + case "bool": + case "boolean": + return this.finishNode(node, "BooleanTypeAnnotation"); + case "mixed": + return this.finishNode(node, "MixedTypeAnnotation"); + case "empty": + return this.finishNode(node, "EmptyTypeAnnotation"); + case "number": + return this.finishNode(node, "NumberTypeAnnotation"); + case "string": + return this.finishNode(node, "StringTypeAnnotation"); + case "symbol": + return this.finishNode(node, "SymbolTypeAnnotation"); + default: + this.checkNotUnderscore(id.name); + return this.flowParseGenericType(startLoc, id); + } + } + flowParsePrimaryType() { + const startLoc = this.state.startLoc; + const node = this.startNode(); + let tmp; + let type; + let isGroupedType = false; + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + switch (this.state.type) { + case 5: + return this.flowParseObjectType({ + allowStatic: false, + allowExact: false, + allowSpread: true, + allowProto: false, + allowInexact: true + }); + case 6: + return this.flowParseObjectType({ + allowStatic: false, + allowExact: true, + allowSpread: true, + allowProto: false, + allowInexact: false + }); + case 0: + this.state.noAnonFunctionType = false; + type = this.flowParseTupleType(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + return type; + case 47: + node.typeParameters = this.flowParseTypeParameterDeclaration(); + this.expect(10); + tmp = this.flowParseFunctionTypeParams(); + node.params = tmp.params; + node.rest = tmp.rest; + node.this = tmp._this; + this.expect(11); + this.expect(19); + node.returnType = this.flowParseType(); + return this.finishNode(node, "FunctionTypeAnnotation"); + case 10: + this.next(); + if (!this.match(11) && !this.match(21)) { + if (tokenIsIdentifier(this.state.type) || this.match(78)) { + const token = this.lookahead().type; + isGroupedType = token !== 17 && token !== 14; + } else { + isGroupedType = true; + } + } + if (isGroupedType) { + this.state.noAnonFunctionType = false; + type = this.flowParseType(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + if (this.state.noAnonFunctionType || !(this.match(12) || this.match(11) && this.lookahead().type === 19)) { + this.expect(11); + return type; + } else { + this.eat(12); + } + } + if (type) { + tmp = this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(type)]); + } else { + tmp = this.flowParseFunctionTypeParams(); + } + node.params = tmp.params; + node.rest = tmp.rest; + node.this = tmp._this; + this.expect(11); + this.expect(19); + node.returnType = this.flowParseType(); + node.typeParameters = null; + return this.finishNode(node, "FunctionTypeAnnotation"); + case 133: + return this.parseLiteral(this.state.value, "StringLiteralTypeAnnotation"); + case 85: + case 86: + node.value = this.match(85); + this.next(); + return this.finishNode(node, "BooleanLiteralTypeAnnotation"); + case 53: + if (this.state.value === "-") { + this.next(); + if (this.match(134)) { + return this.parseLiteralAtNode(-this.state.value, "NumberLiteralTypeAnnotation", node); + } + if (this.match(135)) { + return this.parseLiteralAtNode(-this.state.value, "BigIntLiteralTypeAnnotation", node); + } + throw this.raise(FlowErrors.UnexpectedSubtractionOperand, { + at: this.state.startLoc + }); + } + this.unexpected(); + return; + case 134: + return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation"); + case 135: + return this.parseLiteral(this.state.value, "BigIntLiteralTypeAnnotation"); + case 88: + this.next(); + return this.finishNode(node, "VoidTypeAnnotation"); + case 84: + this.next(); + return this.finishNode(node, "NullLiteralTypeAnnotation"); + case 78: + this.next(); + return this.finishNode(node, "ThisTypeAnnotation"); + case 55: + this.next(); + return this.finishNode(node, "ExistsTypeAnnotation"); + case 87: + return this.flowParseTypeofType(); + default: + if (tokenIsKeyword(this.state.type)) { + const label = tokenLabelName(this.state.type); + this.next(); + return super.createIdentifier(node, label); + } else if (tokenIsIdentifier(this.state.type)) { + if (this.isContextual(129)) { + return this.flowParseInterfaceType(); + } + return this.flowIdentToTypeAnnotation(startLoc, node, this.parseIdentifier()); + } + } + this.unexpected(); + } + flowParsePostfixType() { + const startLoc = this.state.startLoc; + let type = this.flowParsePrimaryType(); + let seenOptionalIndexedAccess = false; + while ((this.match(0) || this.match(18)) && !this.canInsertSemicolon()) { + const node = this.startNodeAt(startLoc); + const optional = this.eat(18); + seenOptionalIndexedAccess = seenOptionalIndexedAccess || optional; + this.expect(0); + if (!optional && this.match(3)) { + node.elementType = type; + this.next(); + type = this.finishNode(node, "ArrayTypeAnnotation"); + } else { + node.objectType = type; + node.indexType = this.flowParseType(); + this.expect(3); + if (seenOptionalIndexedAccess) { + node.optional = optional; + type = this.finishNode(node, "OptionalIndexedAccessType"); + } else { + type = this.finishNode(node, "IndexedAccessType"); + } + } + } + return type; + } + flowParsePrefixType() { + const node = this.startNode(); + if (this.eat(17)) { + node.typeAnnotation = this.flowParsePrefixType(); + return this.finishNode(node, "NullableTypeAnnotation"); + } else { + return this.flowParsePostfixType(); + } + } + flowParseAnonFunctionWithoutParens() { + const param = this.flowParsePrefixType(); + if (!this.state.noAnonFunctionType && this.eat(19)) { + const node = this.startNodeAt(param.loc.start); + node.params = [this.reinterpretTypeAsFunctionTypeParam(param)]; + node.rest = null; + node.this = null; + node.returnType = this.flowParseType(); + node.typeParameters = null; + return this.finishNode(node, "FunctionTypeAnnotation"); + } + return param; + } + flowParseIntersectionType() { + const node = this.startNode(); + this.eat(45); + const type = this.flowParseAnonFunctionWithoutParens(); + node.types = [type]; + while (this.eat(45)) { + node.types.push(this.flowParseAnonFunctionWithoutParens()); + } + return node.types.length === 1 ? type : this.finishNode(node, "IntersectionTypeAnnotation"); + } + flowParseUnionType() { + const node = this.startNode(); + this.eat(43); + const type = this.flowParseIntersectionType(); + node.types = [type]; + while (this.eat(43)) { + node.types.push(this.flowParseIntersectionType()); + } + return node.types.length === 1 ? type : this.finishNode(node, "UnionTypeAnnotation"); + } + flowParseType() { + const oldInType = this.state.inType; + this.state.inType = true; + const type = this.flowParseUnionType(); + this.state.inType = oldInType; + return type; + } + flowParseTypeOrImplicitInstantiation() { + if (this.state.type === 132 && this.state.value === "_") { + const startLoc = this.state.startLoc; + const node = this.parseIdentifier(); + return this.flowParseGenericType(startLoc, node); + } else { + return this.flowParseType(); + } + } + flowParseTypeAnnotation() { + const node = this.startNode(); + node.typeAnnotation = this.flowParseTypeInitialiser(); + return this.finishNode(node, "TypeAnnotation"); + } + flowParseTypeAnnotatableIdentifier(allowPrimitiveOverride) { + const ident = allowPrimitiveOverride ? this.parseIdentifier() : this.flowParseRestrictedIdentifier(); + if (this.match(14)) { + ident.typeAnnotation = this.flowParseTypeAnnotation(); + this.resetEndLocation(ident); + } + return ident; + } + typeCastToParameter(node) { + node.expression.typeAnnotation = node.typeAnnotation; + this.resetEndLocation(node.expression, node.typeAnnotation.loc.end); + return node.expression; + } + flowParseVariance() { + let variance = null; + if (this.match(53)) { + variance = this.startNode(); + if (this.state.value === "+") { + variance.kind = "plus"; + } else { + variance.kind = "minus"; + } + this.next(); + return this.finishNode(variance, "Variance"); + } + return variance; + } + parseFunctionBody(node, allowExpressionBody, isMethod = false) { + if (allowExpressionBody) { + this.forwardNoArrowParamsConversionAt(node, () => super.parseFunctionBody(node, true, isMethod)); + return; + } + super.parseFunctionBody(node, false, isMethod); + } + parseFunctionBodyAndFinish(node, type, isMethod = false) { + if (this.match(14)) { + const typeNode = this.startNode(); + [typeNode.typeAnnotation, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); + node.returnType = typeNode.typeAnnotation ? this.finishNode(typeNode, "TypeAnnotation") : null; + } + return super.parseFunctionBodyAndFinish(node, type, isMethod); + } + parseStatementLike(flags) { + if (this.state.strict && this.isContextual(129)) { + const lookahead = this.lookahead(); + if (tokenIsKeywordOrIdentifier(lookahead.type)) { + const node = this.startNode(); + this.next(); + return this.flowParseInterface(node); + } + } else if (this.shouldParseEnums() && this.isContextual(126)) { + const node = this.startNode(); + this.next(); + return this.flowParseEnumDeclaration(node); + } + const stmt = super.parseStatementLike(flags); + if (this.flowPragma === undefined && !this.isValidDirective(stmt)) { + this.flowPragma = null; + } + return stmt; + } + parseExpressionStatement(node, expr, decorators) { + if (expr.type === "Identifier") { + if (expr.name === "declare") { + if (this.match(80) || tokenIsIdentifier(this.state.type) || this.match(68) || this.match(74) || this.match(82)) { + return this.flowParseDeclare(node); + } + } else if (tokenIsIdentifier(this.state.type)) { + if (expr.name === "interface") { + return this.flowParseInterface(node); + } else if (expr.name === "type") { + return this.flowParseTypeAlias(node); + } else if (expr.name === "opaque") { + return this.flowParseOpaqueType(node, false); + } + } + } + return super.parseExpressionStatement(node, expr, decorators); + } + shouldParseExportDeclaration() { + const { + type + } = this.state; + if (tokenIsFlowInterfaceOrTypeOrOpaque(type) || this.shouldParseEnums() && type === 126) { + return !this.state.containsEsc; + } + return super.shouldParseExportDeclaration(); + } + isExportDefaultSpecifier() { + const { + type + } = this.state; + if (tokenIsFlowInterfaceOrTypeOrOpaque(type) || this.shouldParseEnums() && type === 126) { + return this.state.containsEsc; + } + return super.isExportDefaultSpecifier(); + } + parseExportDefaultExpression() { + if (this.shouldParseEnums() && this.isContextual(126)) { + const node = this.startNode(); + this.next(); + return this.flowParseEnumDeclaration(node); + } + return super.parseExportDefaultExpression(); + } + parseConditional(expr, startLoc, refExpressionErrors) { + if (!this.match(17)) return expr; + if (this.state.maybeInArrowParameters) { + const nextCh = this.lookaheadCharCode(); + if (nextCh === 44 || nextCh === 61 || nextCh === 58 || nextCh === 41) { + this.setOptionalParametersError(refExpressionErrors); + return expr; + } + } + this.expect(17); + const state = this.state.clone(); + const originalNoArrowAt = this.state.noArrowAt; + const node = this.startNodeAt(startLoc); + let { + consequent, + failed + } = this.tryParseConditionalConsequent(); + let [valid, invalid] = this.getArrowLikeExpressions(consequent); + if (failed || invalid.length > 0) { + const noArrowAt = [...originalNoArrowAt]; + if (invalid.length > 0) { + this.state = state; + this.state.noArrowAt = noArrowAt; + for (let i = 0; i < invalid.length; i++) { + noArrowAt.push(invalid[i].start); + } + ({ + consequent, + failed + } = this.tryParseConditionalConsequent()); + [valid, invalid] = this.getArrowLikeExpressions(consequent); + } + if (failed && valid.length > 1) { + this.raise(FlowErrors.AmbiguousConditionalArrow, { + at: state.startLoc + }); + } + if (failed && valid.length === 1) { + this.state = state; + noArrowAt.push(valid[0].start); + this.state.noArrowAt = noArrowAt; + ({ + consequent, + failed + } = this.tryParseConditionalConsequent()); + } + } + this.getArrowLikeExpressions(consequent, true); + this.state.noArrowAt = originalNoArrowAt; + this.expect(14); + node.test = expr; + node.consequent = consequent; + node.alternate = this.forwardNoArrowParamsConversionAt(node, () => this.parseMaybeAssign(undefined, undefined)); + return this.finishNode(node, "ConditionalExpression"); + } + tryParseConditionalConsequent() { + this.state.noArrowParamsConversionAt.push(this.state.start); + const consequent = this.parseMaybeAssignAllowIn(); + const failed = !this.match(14); + this.state.noArrowParamsConversionAt.pop(); + return { + consequent, + failed + }; + } + getArrowLikeExpressions(node, disallowInvalid) { + const stack = [node]; + const arrows = []; + while (stack.length !== 0) { + const node = stack.pop(); + if (node.type === "ArrowFunctionExpression") { + if (node.typeParameters || !node.returnType) { + this.finishArrowValidation(node); + } else { + arrows.push(node); + } + stack.push(node.body); + } else if (node.type === "ConditionalExpression") { + stack.push(node.consequent); + stack.push(node.alternate); + } + } + if (disallowInvalid) { + arrows.forEach(node => this.finishArrowValidation(node)); + return [arrows, []]; + } + return partition(arrows, node => node.params.every(param => this.isAssignable(param, true))); + } + finishArrowValidation(node) { + var _node$extra; + this.toAssignableList(node.params, (_node$extra = node.extra) == null ? void 0 : _node$extra.trailingCommaLoc, false); + this.scope.enter(2 | 4); + super.checkParams(node, false, true); + this.scope.exit(); + } + forwardNoArrowParamsConversionAt(node, parse) { + let result; + if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { + this.state.noArrowParamsConversionAt.push(this.state.start); + result = parse(); + this.state.noArrowParamsConversionAt.pop(); + } else { + result = parse(); + } + return result; + } + parseParenItem(node, startLoc) { + node = super.parseParenItem(node, startLoc); + if (this.eat(17)) { + node.optional = true; + this.resetEndLocation(node); + } + if (this.match(14)) { + const typeCastNode = this.startNodeAt(startLoc); + typeCastNode.expression = node; + typeCastNode.typeAnnotation = this.flowParseTypeAnnotation(); + return this.finishNode(typeCastNode, "TypeCastExpression"); + } + return node; + } + assertModuleNodeAllowed(node) { + if (node.type === "ImportDeclaration" && (node.importKind === "type" || node.importKind === "typeof") || node.type === "ExportNamedDeclaration" && node.exportKind === "type" || node.type === "ExportAllDeclaration" && node.exportKind === "type") { + return; + } + super.assertModuleNodeAllowed(node); + } + parseExportDeclaration(node) { + if (this.isContextual(130)) { + node.exportKind = "type"; + const declarationNode = this.startNode(); + this.next(); + if (this.match(5)) { + node.specifiers = this.parseExportSpecifiers(true); + super.parseExportFrom(node); + return null; + } else { + return this.flowParseTypeAlias(declarationNode); + } + } else if (this.isContextual(131)) { + node.exportKind = "type"; + const declarationNode = this.startNode(); + this.next(); + return this.flowParseOpaqueType(declarationNode, false); + } else if (this.isContextual(129)) { + node.exportKind = "type"; + const declarationNode = this.startNode(); + this.next(); + return this.flowParseInterface(declarationNode); + } else if (this.shouldParseEnums() && this.isContextual(126)) { + node.exportKind = "value"; + const declarationNode = this.startNode(); + this.next(); + return this.flowParseEnumDeclaration(declarationNode); + } else { + return super.parseExportDeclaration(node); + } + } + eatExportStar(node) { + if (super.eatExportStar(node)) return true; + if (this.isContextual(130) && this.lookahead().type === 55) { + node.exportKind = "type"; + this.next(); + this.next(); + return true; + } + return false; + } + maybeParseExportNamespaceSpecifier(node) { + const { + startLoc + } = this.state; + const hasNamespace = super.maybeParseExportNamespaceSpecifier(node); + if (hasNamespace && node.exportKind === "type") { + this.unexpected(startLoc); + } + return hasNamespace; + } + parseClassId(node, isStatement, optionalId) { + super.parseClassId(node, isStatement, optionalId); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + } + parseClassMember(classBody, member, state) { + const { + startLoc + } = this.state; + if (this.isContextual(125)) { + if (super.parseClassMemberFromModifier(classBody, member)) { + return; + } + member.declare = true; + } + super.parseClassMember(classBody, member, state); + if (member.declare) { + if (member.type !== "ClassProperty" && member.type !== "ClassPrivateProperty" && member.type !== "PropertyDefinition") { + this.raise(FlowErrors.DeclareClassElement, { + at: startLoc + }); + } else if (member.value) { + this.raise(FlowErrors.DeclareClassFieldInitializer, { + at: member.value + }); + } + } + } + isIterator(word) { + return word === "iterator" || word === "asyncIterator"; + } + readIterator() { + const word = super.readWord1(); + const fullWord = "@@" + word; + if (!this.isIterator(word) || !this.state.inType) { + this.raise(Errors.InvalidIdentifier, { + at: this.state.curPosition(), + identifierName: fullWord + }); + } + this.finishToken(132, fullWord); + } + getTokenFromCode(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (code === 123 && next === 124) { + this.finishOp(6, 2); + } else if (this.state.inType && (code === 62 || code === 60)) { + this.finishOp(code === 62 ? 48 : 47, 1); + } else if (this.state.inType && code === 63) { + if (next === 46) { + this.finishOp(18, 2); + } else { + this.finishOp(17, 1); + } + } else if (isIteratorStart(code, next, this.input.charCodeAt(this.state.pos + 2))) { + this.state.pos += 2; + this.readIterator(); + } else { + super.getTokenFromCode(code); + } + } + isAssignable(node, isBinding) { + if (node.type === "TypeCastExpression") { + return this.isAssignable(node.expression, isBinding); + } else { + return super.isAssignable(node, isBinding); + } + } + toAssignable(node, isLHS = false) { + if (!isLHS && node.type === "AssignmentExpression" && node.left.type === "TypeCastExpression") { + node.left = this.typeCastToParameter(node.left); + } + super.toAssignable(node, isLHS); + } + toAssignableList(exprList, trailingCommaLoc, isLHS) { + for (let i = 0; i < exprList.length; i++) { + const expr = exprList[i]; + if ((expr == null ? void 0 : expr.type) === "TypeCastExpression") { + exprList[i] = this.typeCastToParameter(expr); + } + } + super.toAssignableList(exprList, trailingCommaLoc, isLHS); + } + toReferencedList(exprList, isParenthesizedExpr) { + for (let i = 0; i < exprList.length; i++) { + var _expr$extra; + const expr = exprList[i]; + if (expr && expr.type === "TypeCastExpression" && !((_expr$extra = expr.extra) != null && _expr$extra.parenthesized) && (exprList.length > 1 || !isParenthesizedExpr)) { + this.raise(FlowErrors.TypeCastInPattern, { + at: expr.typeAnnotation + }); + } + } + return exprList; + } + parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) { + const node = super.parseArrayLike(close, canBePattern, isTuple, refExpressionErrors); + if (canBePattern && !this.state.maybeInArrowParameters) { + this.toReferencedList(node.elements); + } + return node; + } + isValidLVal(type, isParenthesized, binding) { + return type === "TypeCastExpression" || super.isValidLVal(type, isParenthesized, binding); + } + parseClassProperty(node) { + if (this.match(14)) { + node.typeAnnotation = this.flowParseTypeAnnotation(); + } + return super.parseClassProperty(node); + } + parseClassPrivateProperty(node) { + if (this.match(14)) { + node.typeAnnotation = this.flowParseTypeAnnotation(); + } + return super.parseClassPrivateProperty(node); + } + isClassMethod() { + return this.match(47) || super.isClassMethod(); + } + isClassProperty() { + return this.match(14) || super.isClassProperty(); + } + isNonstaticConstructor(method) { + return !this.match(14) && super.isNonstaticConstructor(method); + } + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + if (method.variance) { + this.unexpected(method.variance.loc.start); + } + delete method.variance; + if (this.match(47)) { + method.typeParameters = this.flowParseTypeParameterDeclaration(); + } + super.pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper); + if (method.params && isConstructor) { + const params = method.params; + if (params.length > 0 && this.isThisParam(params[0])) { + this.raise(FlowErrors.ThisParamBannedInConstructor, { + at: method + }); + } + } else if (method.type === "MethodDefinition" && isConstructor && method.value.params) { + const params = method.value.params; + if (params.length > 0 && this.isThisParam(params[0])) { + this.raise(FlowErrors.ThisParamBannedInConstructor, { + at: method + }); + } + } + } + pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { + if (method.variance) { + this.unexpected(method.variance.loc.start); + } + delete method.variance; + if (this.match(47)) { + method.typeParameters = this.flowParseTypeParameterDeclaration(); + } + super.pushClassPrivateMethod(classBody, method, isGenerator, isAsync); + } + parseClassSuper(node) { + super.parseClassSuper(node); + if (node.superClass && this.match(47)) { + node.superTypeParameters = this.flowParseTypeParameterInstantiation(); + } + if (this.isContextual(113)) { + this.next(); + const implemented = node.implements = []; + do { + const node = this.startNode(); + node.id = this.flowParseRestrictedIdentifier(true); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } else { + node.typeParameters = null; + } + implemented.push(this.finishNode(node, "ClassImplements")); + } while (this.eat(12)); + } + } + checkGetterSetterParams(method) { + super.checkGetterSetterParams(method); + const params = this.getObjectOrClassMethodParams(method); + if (params.length > 0) { + const param = params[0]; + if (this.isThisParam(param) && method.kind === "get") { + this.raise(FlowErrors.GetterMayNotHaveThisParam, { + at: param + }); + } else if (this.isThisParam(param)) { + this.raise(FlowErrors.SetterMayNotHaveThisParam, { + at: param + }); + } + } + } + parsePropertyNamePrefixOperator(node) { + node.variance = this.flowParseVariance(); + } + parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) { + if (prop.variance) { + this.unexpected(prop.variance.loc.start); + } + delete prop.variance; + let typeParameters; + if (this.match(47) && !isAccessor) { + typeParameters = this.flowParseTypeParameterDeclaration(); + if (!this.match(10)) this.unexpected(); + } + const result = super.parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors); + if (typeParameters) { + (result.value || result).typeParameters = typeParameters; + } + return result; + } + parseAssignableListItemTypes(param) { + if (this.eat(17)) { + if (param.type !== "Identifier") { + this.raise(FlowErrors.PatternIsOptional, { + at: param + }); + } + if (this.isThisParam(param)) { + this.raise(FlowErrors.ThisParamMayNotBeOptional, { + at: param + }); + } + param.optional = true; + } + if (this.match(14)) { + param.typeAnnotation = this.flowParseTypeAnnotation(); + } else if (this.isThisParam(param)) { + this.raise(FlowErrors.ThisParamAnnotationRequired, { + at: param + }); + } + if (this.match(29) && this.isThisParam(param)) { + this.raise(FlowErrors.ThisParamNoDefault, { + at: param + }); + } + this.resetEndLocation(param); + return param; + } + parseMaybeDefault(startLoc, left) { + const node = super.parseMaybeDefault(startLoc, left); + if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) { + this.raise(FlowErrors.TypeBeforeInitializer, { + at: node.typeAnnotation + }); + } + return node; + } + checkImportReflection(node) { + super.checkImportReflection(node); + if (node.module && node.importKind !== "value") { + this.raise(FlowErrors.ImportReflectionHasImportType, { + at: node.specifiers[0].loc.start + }); + } + } + parseImportSpecifierLocal(node, specifier, type) { + specifier.local = hasTypeImportKind(node) ? this.flowParseRestrictedIdentifier(true, true) : this.parseIdentifier(); + node.specifiers.push(this.finishImportSpecifier(specifier, type)); + } + isPotentialImportPhase(isExport) { + if (super.isPotentialImportPhase(isExport)) return true; + if (this.isContextual(130)) { + if (!isExport) return true; + const ch = this.lookaheadCharCode(); + return ch === 123 || ch === 42; + } + return !isExport && this.isContextual(87); + } + applyImportPhase(node, isExport, phase, loc) { + super.applyImportPhase(node, isExport, phase, loc); + if (isExport) { + if (!phase && this.match(65)) { + return; + } + node.exportKind = phase === "type" ? phase : "value"; + } else { + if (phase === "type" && this.match(55)) this.unexpected(); + node.importKind = phase === "type" || phase === "typeof" ? phase : "value"; + } + } + parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, bindingType) { + const firstIdent = specifier.imported; + let specifierTypeKind = null; + if (firstIdent.type === "Identifier") { + if (firstIdent.name === "type") { + specifierTypeKind = "type"; + } else if (firstIdent.name === "typeof") { + specifierTypeKind = "typeof"; + } + } + let isBinding = false; + if (this.isContextual(93) && !this.isLookaheadContextual("as")) { + const as_ident = this.parseIdentifier(true); + if (specifierTypeKind !== null && !tokenIsKeywordOrIdentifier(this.state.type)) { + specifier.imported = as_ident; + specifier.importKind = specifierTypeKind; + specifier.local = cloneIdentifier(as_ident); + } else { + specifier.imported = firstIdent; + specifier.importKind = null; + specifier.local = this.parseIdentifier(); + } + } else { + if (specifierTypeKind !== null && tokenIsKeywordOrIdentifier(this.state.type)) { + specifier.imported = this.parseIdentifier(true); + specifier.importKind = specifierTypeKind; + } else { + if (importedIsString) { + throw this.raise(Errors.ImportBindingIsString, { + at: specifier, + importName: firstIdent.value + }); + } + specifier.imported = firstIdent; + specifier.importKind = null; + } + if (this.eatContextual(93)) { + specifier.local = this.parseIdentifier(); + } else { + isBinding = true; + specifier.local = cloneIdentifier(specifier.imported); + } + } + const specifierIsTypeImport = hasTypeImportKind(specifier); + if (isInTypeOnlyImport && specifierIsTypeImport) { + this.raise(FlowErrors.ImportTypeShorthandOnlyInPureImport, { + at: specifier + }); + } + if (isInTypeOnlyImport || specifierIsTypeImport) { + this.checkReservedType(specifier.local.name, specifier.local.loc.start, true); + } + if (isBinding && !isInTypeOnlyImport && !specifierIsTypeImport) { + this.checkReservedWord(specifier.local.name, specifier.loc.start, true, true); + } + return this.finishImportSpecifier(specifier, "ImportSpecifier"); + } + parseBindingAtom() { + switch (this.state.type) { + case 78: + return this.parseIdentifier(true); + default: + return super.parseBindingAtom(); + } + } + parseFunctionParams(node, isConstructor) { + const kind = node.kind; + if (kind !== "get" && kind !== "set" && this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + super.parseFunctionParams(node, isConstructor); + } + parseVarId(decl, kind) { + super.parseVarId(decl, kind); + if (this.match(14)) { + decl.id.typeAnnotation = this.flowParseTypeAnnotation(); + this.resetEndLocation(decl.id); + } + } + parseAsyncArrowFromCallExpression(node, call) { + if (this.match(14)) { + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = true; + node.returnType = this.flowParseTypeAnnotation(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + } + return super.parseAsyncArrowFromCallExpression(node, call); + } + shouldParseAsyncArrow() { + return this.match(14) || super.shouldParseAsyncArrow(); + } + parseMaybeAssign(refExpressionErrors, afterLeftParse) { + var _jsx; + let state = null; + let jsx; + if (this.hasPlugin("jsx") && (this.match(142) || this.match(47))) { + state = this.state.clone(); + jsx = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state); + if (!jsx.error) return jsx.node; + const { + context + } = this.state; + const currentContext = context[context.length - 1]; + if (currentContext === types.j_oTag || currentContext === types.j_expr) { + context.pop(); + } + } + if ((_jsx = jsx) != null && _jsx.error || this.match(47)) { + var _jsx2, _jsx3; + state = state || this.state.clone(); + let typeParameters; + const arrow = this.tryParse(abort => { + var _arrowExpression$extr; + typeParameters = this.flowParseTypeParameterDeclaration(); + const arrowExpression = this.forwardNoArrowParamsConversionAt(typeParameters, () => { + const result = super.parseMaybeAssign(refExpressionErrors, afterLeftParse); + this.resetStartLocationFromNode(result, typeParameters); + return result; + }); + if ((_arrowExpression$extr = arrowExpression.extra) != null && _arrowExpression$extr.parenthesized) abort(); + const expr = this.maybeUnwrapTypeCastExpression(arrowExpression); + if (expr.type !== "ArrowFunctionExpression") abort(); + expr.typeParameters = typeParameters; + this.resetStartLocationFromNode(expr, typeParameters); + return arrowExpression; + }, state); + let arrowExpression = null; + if (arrow.node && this.maybeUnwrapTypeCastExpression(arrow.node).type === "ArrowFunctionExpression") { + if (!arrow.error && !arrow.aborted) { + if (arrow.node.async) { + this.raise(FlowErrors.UnexpectedTypeParameterBeforeAsyncArrowFunction, { + at: typeParameters + }); + } + return arrow.node; + } + arrowExpression = arrow.node; + } + if ((_jsx2 = jsx) != null && _jsx2.node) { + this.state = jsx.failState; + return jsx.node; + } + if (arrowExpression) { + this.state = arrow.failState; + return arrowExpression; + } + if ((_jsx3 = jsx) != null && _jsx3.thrown) throw jsx.error; + if (arrow.thrown) throw arrow.error; + throw this.raise(FlowErrors.UnexpectedTokenAfterTypeParameter, { + at: typeParameters + }); + } + return super.parseMaybeAssign(refExpressionErrors, afterLeftParse); + } + parseArrow(node) { + if (this.match(14)) { + const result = this.tryParse(() => { + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = true; + const typeNode = this.startNode(); + [typeNode.typeAnnotation, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + if (this.canInsertSemicolon()) this.unexpected(); + if (!this.match(19)) this.unexpected(); + return typeNode; + }); + if (result.thrown) return null; + if (result.error) this.state = result.failState; + node.returnType = result.node.typeAnnotation ? this.finishNode(result.node, "TypeAnnotation") : null; + } + return super.parseArrow(node); + } + shouldParseArrow(params) { + return this.match(14) || super.shouldParseArrow(params); + } + setArrowFunctionParameters(node, params) { + if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { + node.params = params; + } else { + super.setArrowFunctionParameters(node, params); + } + } + checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged = true) { + if (isArrowFunction && this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { + return; + } + for (let i = 0; i < node.params.length; i++) { + if (this.isThisParam(node.params[i]) && i > 0) { + this.raise(FlowErrors.ThisParamMustBeFirst, { + at: node.params[i] + }); + } + } + super.checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged); + } + parseParenAndDistinguishExpression(canBeArrow) { + return super.parseParenAndDistinguishExpression(canBeArrow && this.state.noArrowAt.indexOf(this.state.start) === -1); + } + parseSubscripts(base, startLoc, noCalls) { + if (base.type === "Identifier" && base.name === "async" && this.state.noArrowAt.indexOf(startLoc.index) !== -1) { + this.next(); + const node = this.startNodeAt(startLoc); + node.callee = base; + node.arguments = super.parseCallExpressionArguments(11, false); + base = this.finishNode(node, "CallExpression"); + } else if (base.type === "Identifier" && base.name === "async" && this.match(47)) { + const state = this.state.clone(); + const arrow = this.tryParse(abort => this.parseAsyncArrowWithTypeParameters(startLoc) || abort(), state); + if (!arrow.error && !arrow.aborted) return arrow.node; + const result = this.tryParse(() => super.parseSubscripts(base, startLoc, noCalls), state); + if (result.node && !result.error) return result.node; + if (arrow.node) { + this.state = arrow.failState; + return arrow.node; + } + if (result.node) { + this.state = result.failState; + return result.node; + } + throw arrow.error || result.error; + } + return super.parseSubscripts(base, startLoc, noCalls); + } + parseSubscript(base, startLoc, noCalls, subscriptState) { + if (this.match(18) && this.isLookaheadToken_lt()) { + subscriptState.optionalChainMember = true; + if (noCalls) { + subscriptState.stop = true; + return base; + } + this.next(); + const node = this.startNodeAt(startLoc); + node.callee = base; + node.typeArguments = this.flowParseTypeParameterInstantiation(); + this.expect(10); + node.arguments = this.parseCallExpressionArguments(11, false); + node.optional = true; + return this.finishCallExpression(node, true); + } else if (!noCalls && this.shouldParseTypes() && this.match(47)) { + const node = this.startNodeAt(startLoc); + node.callee = base; + const result = this.tryParse(() => { + node.typeArguments = this.flowParseTypeParameterInstantiationCallOrNew(); + this.expect(10); + node.arguments = super.parseCallExpressionArguments(11, false); + if (subscriptState.optionalChainMember) { + node.optional = false; + } + return this.finishCallExpression(node, subscriptState.optionalChainMember); + }); + if (result.node) { + if (result.error) this.state = result.failState; + return result.node; + } + } + return super.parseSubscript(base, startLoc, noCalls, subscriptState); + } + parseNewCallee(node) { + super.parseNewCallee(node); + let targs = null; + if (this.shouldParseTypes() && this.match(47)) { + targs = this.tryParse(() => this.flowParseTypeParameterInstantiationCallOrNew()).node; + } + node.typeArguments = targs; + } + parseAsyncArrowWithTypeParameters(startLoc) { + const node = this.startNodeAt(startLoc); + this.parseFunctionParams(node, false); + if (!this.parseArrow(node)) return; + return super.parseArrowExpression(node, undefined, true); + } + readToken_mult_modulo(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (code === 42 && next === 47 && this.state.hasFlowComment) { + this.state.hasFlowComment = false; + this.state.pos += 2; + this.nextToken(); + return; + } + super.readToken_mult_modulo(code); + } + readToken_pipe_amp(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (code === 124 && next === 125) { + this.finishOp(9, 2); + return; + } + super.readToken_pipe_amp(code); + } + parseTopLevel(file, program) { + const fileNode = super.parseTopLevel(file, program); + if (this.state.hasFlowComment) { + this.raise(FlowErrors.UnterminatedFlowComment, { + at: this.state.curPosition() + }); + } + return fileNode; + } + skipBlockComment() { + if (this.hasPlugin("flowComments") && this.skipFlowComment()) { + if (this.state.hasFlowComment) { + throw this.raise(FlowErrors.NestedFlowComment, { + at: this.state.startLoc + }); + } + this.hasFlowCommentCompletion(); + const commentSkip = this.skipFlowComment(); + if (commentSkip) { + this.state.pos += commentSkip; + this.state.hasFlowComment = true; + } + return; + } + return super.skipBlockComment(this.state.hasFlowComment ? "*-/" : "*/"); + } + skipFlowComment() { + const { + pos + } = this.state; + let shiftToFirstNonWhiteSpace = 2; + while ([32, 9].includes(this.input.charCodeAt(pos + shiftToFirstNonWhiteSpace))) { + shiftToFirstNonWhiteSpace++; + } + const ch2 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos); + const ch3 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos + 1); + if (ch2 === 58 && ch3 === 58) { + return shiftToFirstNonWhiteSpace + 2; + } + if (this.input.slice(shiftToFirstNonWhiteSpace + pos, shiftToFirstNonWhiteSpace + pos + 12) === "flow-include") { + return shiftToFirstNonWhiteSpace + 12; + } + if (ch2 === 58 && ch3 !== 58) { + return shiftToFirstNonWhiteSpace; + } + return false; + } + hasFlowCommentCompletion() { + const end = this.input.indexOf("*/", this.state.pos); + if (end === -1) { + throw this.raise(Errors.UnterminatedComment, { + at: this.state.curPosition() + }); + } + } + flowEnumErrorBooleanMemberNotInitialized(loc, { + enumName, + memberName + }) { + this.raise(FlowErrors.EnumBooleanMemberNotInitialized, { + at: loc, + memberName, + enumName + }); + } + flowEnumErrorInvalidMemberInitializer(loc, enumContext) { + return this.raise(!enumContext.explicitType ? FlowErrors.EnumInvalidMemberInitializerUnknownType : enumContext.explicitType === "symbol" ? FlowErrors.EnumInvalidMemberInitializerSymbolType : FlowErrors.EnumInvalidMemberInitializerPrimaryType, Object.assign({ + at: loc + }, enumContext)); + } + flowEnumErrorNumberMemberNotInitialized(loc, { + enumName, + memberName + }) { + this.raise(FlowErrors.EnumNumberMemberNotInitialized, { + at: loc, + enumName, + memberName + }); + } + flowEnumErrorStringMemberInconsistentlyInitialized(node, { + enumName + }) { + this.raise(FlowErrors.EnumStringMemberInconsistentlyInitialized, { + at: node, + enumName + }); + } + flowEnumMemberInit() { + const startLoc = this.state.startLoc; + const endOfInit = () => this.match(12) || this.match(8); + switch (this.state.type) { + case 134: + { + const literal = this.parseNumericLiteral(this.state.value); + if (endOfInit()) { + return { + type: "number", + loc: literal.loc.start, + value: literal + }; + } + return { + type: "invalid", + loc: startLoc + }; + } + case 133: + { + const literal = this.parseStringLiteral(this.state.value); + if (endOfInit()) { + return { + type: "string", + loc: literal.loc.start, + value: literal + }; + } + return { + type: "invalid", + loc: startLoc + }; + } + case 85: + case 86: + { + const literal = this.parseBooleanLiteral(this.match(85)); + if (endOfInit()) { + return { + type: "boolean", + loc: literal.loc.start, + value: literal + }; + } + return { + type: "invalid", + loc: startLoc + }; + } + default: + return { + type: "invalid", + loc: startLoc + }; + } + } + flowEnumMemberRaw() { + const loc = this.state.startLoc; + const id = this.parseIdentifier(true); + const init = this.eat(29) ? this.flowEnumMemberInit() : { + type: "none", + loc + }; + return { + id, + init + }; + } + flowEnumCheckExplicitTypeMismatch(loc, context, expectedType) { + const { + explicitType + } = context; + if (explicitType === null) { + return; + } + if (explicitType !== expectedType) { + this.flowEnumErrorInvalidMemberInitializer(loc, context); + } + } + flowEnumMembers({ + enumName, + explicitType + }) { + const seenNames = new Set(); + const members = { + booleanMembers: [], + numberMembers: [], + stringMembers: [], + defaultedMembers: [] + }; + let hasUnknownMembers = false; + while (!this.match(8)) { + if (this.eat(21)) { + hasUnknownMembers = true; + break; + } + const memberNode = this.startNode(); + const { + id, + init + } = this.flowEnumMemberRaw(); + const memberName = id.name; + if (memberName === "") { + continue; + } + if (/^[a-z]/.test(memberName)) { + this.raise(FlowErrors.EnumInvalidMemberName, { + at: id, + memberName, + suggestion: memberName[0].toUpperCase() + memberName.slice(1), + enumName + }); + } + if (seenNames.has(memberName)) { + this.raise(FlowErrors.EnumDuplicateMemberName, { + at: id, + memberName, + enumName + }); + } + seenNames.add(memberName); + const context = { + enumName, + explicitType, + memberName + }; + memberNode.id = id; + switch (init.type) { + case "boolean": + { + this.flowEnumCheckExplicitTypeMismatch(init.loc, context, "boolean"); + memberNode.init = init.value; + members.booleanMembers.push(this.finishNode(memberNode, "EnumBooleanMember")); + break; + } + case "number": + { + this.flowEnumCheckExplicitTypeMismatch(init.loc, context, "number"); + memberNode.init = init.value; + members.numberMembers.push(this.finishNode(memberNode, "EnumNumberMember")); + break; + } + case "string": + { + this.flowEnumCheckExplicitTypeMismatch(init.loc, context, "string"); + memberNode.init = init.value; + members.stringMembers.push(this.finishNode(memberNode, "EnumStringMember")); + break; + } + case "invalid": + { + throw this.flowEnumErrorInvalidMemberInitializer(init.loc, context); + } + case "none": + { + switch (explicitType) { + case "boolean": + this.flowEnumErrorBooleanMemberNotInitialized(init.loc, context); + break; + case "number": + this.flowEnumErrorNumberMemberNotInitialized(init.loc, context); + break; + default: + members.defaultedMembers.push(this.finishNode(memberNode, "EnumDefaultedMember")); + } + } + } + if (!this.match(8)) { + this.expect(12); + } + } + return { + members, + hasUnknownMembers + }; + } + flowEnumStringMembers(initializedMembers, defaultedMembers, { + enumName + }) { + if (initializedMembers.length === 0) { + return defaultedMembers; + } else if (defaultedMembers.length === 0) { + return initializedMembers; + } else if (defaultedMembers.length > initializedMembers.length) { + for (const member of initializedMembers) { + this.flowEnumErrorStringMemberInconsistentlyInitialized(member, { + enumName + }); + } + return defaultedMembers; + } else { + for (const member of defaultedMembers) { + this.flowEnumErrorStringMemberInconsistentlyInitialized(member, { + enumName + }); + } + return initializedMembers; + } + } + flowEnumParseExplicitType({ + enumName + }) { + if (!this.eatContextual(102)) return null; + if (!tokenIsIdentifier(this.state.type)) { + throw this.raise(FlowErrors.EnumInvalidExplicitTypeUnknownSupplied, { + at: this.state.startLoc, + enumName + }); + } + const { + value + } = this.state; + this.next(); + if (value !== "boolean" && value !== "number" && value !== "string" && value !== "symbol") { + this.raise(FlowErrors.EnumInvalidExplicitType, { + at: this.state.startLoc, + enumName, + invalidEnumType: value + }); + } + return value; + } + flowEnumBody(node, id) { + const enumName = id.name; + const nameLoc = id.loc.start; + const explicitType = this.flowEnumParseExplicitType({ + enumName + }); + this.expect(5); + const { + members, + hasUnknownMembers + } = this.flowEnumMembers({ + enumName, + explicitType + }); + node.hasUnknownMembers = hasUnknownMembers; + switch (explicitType) { + case "boolean": + node.explicitType = true; + node.members = members.booleanMembers; + this.expect(8); + return this.finishNode(node, "EnumBooleanBody"); + case "number": + node.explicitType = true; + node.members = members.numberMembers; + this.expect(8); + return this.finishNode(node, "EnumNumberBody"); + case "string": + node.explicitType = true; + node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, { + enumName + }); + this.expect(8); + return this.finishNode(node, "EnumStringBody"); + case "symbol": + node.members = members.defaultedMembers; + this.expect(8); + return this.finishNode(node, "EnumSymbolBody"); + default: + { + const empty = () => { + node.members = []; + this.expect(8); + return this.finishNode(node, "EnumStringBody"); + }; + node.explicitType = false; + const boolsLen = members.booleanMembers.length; + const numsLen = members.numberMembers.length; + const strsLen = members.stringMembers.length; + const defaultedLen = members.defaultedMembers.length; + if (!boolsLen && !numsLen && !strsLen && !defaultedLen) { + return empty(); + } else if (!boolsLen && !numsLen) { + node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, { + enumName + }); + this.expect(8); + return this.finishNode(node, "EnumStringBody"); + } else if (!numsLen && !strsLen && boolsLen >= defaultedLen) { + for (const member of members.defaultedMembers) { + this.flowEnumErrorBooleanMemberNotInitialized(member.loc.start, { + enumName, + memberName: member.id.name + }); + } + node.members = members.booleanMembers; + this.expect(8); + return this.finishNode(node, "EnumBooleanBody"); + } else if (!boolsLen && !strsLen && numsLen >= defaultedLen) { + for (const member of members.defaultedMembers) { + this.flowEnumErrorNumberMemberNotInitialized(member.loc.start, { + enumName, + memberName: member.id.name + }); + } + node.members = members.numberMembers; + this.expect(8); + return this.finishNode(node, "EnumNumberBody"); + } else { + this.raise(FlowErrors.EnumInconsistentMemberValues, { + at: nameLoc, + enumName + }); + return empty(); + } + } + } + } + flowParseEnumDeclaration(node) { + const id = this.parseIdentifier(); + node.id = id; + node.body = this.flowEnumBody(this.startNode(), id); + return this.finishNode(node, "EnumDeclaration"); + } + isLookaheadToken_lt() { + const next = this.nextTokenStart(); + if (this.input.charCodeAt(next) === 60) { + const afterNext = this.input.charCodeAt(next + 1); + return afterNext !== 60 && afterNext !== 61; + } + return false; + } + maybeUnwrapTypeCastExpression(node) { + return node.type === "TypeCastExpression" ? node.expression : node; + } +}; +const entities = { + __proto__: null, + quot: "\u0022", + amp: "&", + apos: "\u0027", + lt: "<", + gt: ">", + nbsp: "\u00A0", + iexcl: "\u00A1", + cent: "\u00A2", + pound: "\u00A3", + curren: "\u00A4", + yen: "\u00A5", + brvbar: "\u00A6", + sect: "\u00A7", + uml: "\u00A8", + copy: "\u00A9", + ordf: "\u00AA", + laquo: "\u00AB", + not: "\u00AC", + shy: "\u00AD", + reg: "\u00AE", + macr: "\u00AF", + deg: "\u00B0", + plusmn: "\u00B1", + sup2: "\u00B2", + sup3: "\u00B3", + acute: "\u00B4", + micro: "\u00B5", + para: "\u00B6", + middot: "\u00B7", + cedil: "\u00B8", + sup1: "\u00B9", + ordm: "\u00BA", + raquo: "\u00BB", + frac14: "\u00BC", + frac12: "\u00BD", + frac34: "\u00BE", + iquest: "\u00BF", + Agrave: "\u00C0", + Aacute: "\u00C1", + Acirc: "\u00C2", + Atilde: "\u00C3", + Auml: "\u00C4", + Aring: "\u00C5", + AElig: "\u00C6", + Ccedil: "\u00C7", + Egrave: "\u00C8", + Eacute: "\u00C9", + Ecirc: "\u00CA", + Euml: "\u00CB", + Igrave: "\u00CC", + Iacute: "\u00CD", + Icirc: "\u00CE", + Iuml: "\u00CF", + ETH: "\u00D0", + Ntilde: "\u00D1", + Ograve: "\u00D2", + Oacute: "\u00D3", + Ocirc: "\u00D4", + Otilde: "\u00D5", + Ouml: "\u00D6", + times: "\u00D7", + Oslash: "\u00D8", + Ugrave: "\u00D9", + Uacute: "\u00DA", + Ucirc: "\u00DB", + Uuml: "\u00DC", + Yacute: "\u00DD", + THORN: "\u00DE", + szlig: "\u00DF", + agrave: "\u00E0", + aacute: "\u00E1", + acirc: "\u00E2", + atilde: "\u00E3", + auml: "\u00E4", + aring: "\u00E5", + aelig: "\u00E6", + ccedil: "\u00E7", + egrave: "\u00E8", + eacute: "\u00E9", + ecirc: "\u00EA", + euml: "\u00EB", + igrave: "\u00EC", + iacute: "\u00ED", + icirc: "\u00EE", + iuml: "\u00EF", + eth: "\u00F0", + ntilde: "\u00F1", + ograve: "\u00F2", + oacute: "\u00F3", + ocirc: "\u00F4", + otilde: "\u00F5", + ouml: "\u00F6", + divide: "\u00F7", + oslash: "\u00F8", + ugrave: "\u00F9", + uacute: "\u00FA", + ucirc: "\u00FB", + uuml: "\u00FC", + yacute: "\u00FD", + thorn: "\u00FE", + yuml: "\u00FF", + OElig: "\u0152", + oelig: "\u0153", + Scaron: "\u0160", + scaron: "\u0161", + Yuml: "\u0178", + fnof: "\u0192", + circ: "\u02C6", + tilde: "\u02DC", + Alpha: "\u0391", + Beta: "\u0392", + Gamma: "\u0393", + Delta: "\u0394", + Epsilon: "\u0395", + Zeta: "\u0396", + Eta: "\u0397", + Theta: "\u0398", + Iota: "\u0399", + Kappa: "\u039A", + Lambda: "\u039B", + Mu: "\u039C", + Nu: "\u039D", + Xi: "\u039E", + Omicron: "\u039F", + Pi: "\u03A0", + Rho: "\u03A1", + Sigma: "\u03A3", + Tau: "\u03A4", + Upsilon: "\u03A5", + Phi: "\u03A6", + Chi: "\u03A7", + Psi: "\u03A8", + Omega: "\u03A9", + alpha: "\u03B1", + beta: "\u03B2", + gamma: "\u03B3", + delta: "\u03B4", + epsilon: "\u03B5", + zeta: "\u03B6", + eta: "\u03B7", + theta: "\u03B8", + iota: "\u03B9", + kappa: "\u03BA", + lambda: "\u03BB", + mu: "\u03BC", + nu: "\u03BD", + xi: "\u03BE", + omicron: "\u03BF", + pi: "\u03C0", + rho: "\u03C1", + sigmaf: "\u03C2", + sigma: "\u03C3", + tau: "\u03C4", + upsilon: "\u03C5", + phi: "\u03C6", + chi: "\u03C7", + psi: "\u03C8", + omega: "\u03C9", + thetasym: "\u03D1", + upsih: "\u03D2", + piv: "\u03D6", + ensp: "\u2002", + emsp: "\u2003", + thinsp: "\u2009", + zwnj: "\u200C", + zwj: "\u200D", + lrm: "\u200E", + rlm: "\u200F", + ndash: "\u2013", + mdash: "\u2014", + lsquo: "\u2018", + rsquo: "\u2019", + sbquo: "\u201A", + ldquo: "\u201C", + rdquo: "\u201D", + bdquo: "\u201E", + dagger: "\u2020", + Dagger: "\u2021", + bull: "\u2022", + hellip: "\u2026", + permil: "\u2030", + prime: "\u2032", + Prime: "\u2033", + lsaquo: "\u2039", + rsaquo: "\u203A", + oline: "\u203E", + frasl: "\u2044", + euro: "\u20AC", + image: "\u2111", + weierp: "\u2118", + real: "\u211C", + trade: "\u2122", + alefsym: "\u2135", + larr: "\u2190", + uarr: "\u2191", + rarr: "\u2192", + darr: "\u2193", + harr: "\u2194", + crarr: "\u21B5", + lArr: "\u21D0", + uArr: "\u21D1", + rArr: "\u21D2", + dArr: "\u21D3", + hArr: "\u21D4", + forall: "\u2200", + part: "\u2202", + exist: "\u2203", + empty: "\u2205", + nabla: "\u2207", + isin: "\u2208", + notin: "\u2209", + ni: "\u220B", + prod: "\u220F", + sum: "\u2211", + minus: "\u2212", + lowast: "\u2217", + radic: "\u221A", + prop: "\u221D", + infin: "\u221E", + ang: "\u2220", + and: "\u2227", + or: "\u2228", + cap: "\u2229", + cup: "\u222A", + int: "\u222B", + there4: "\u2234", + sim: "\u223C", + cong: "\u2245", + asymp: "\u2248", + ne: "\u2260", + equiv: "\u2261", + le: "\u2264", + ge: "\u2265", + sub: "\u2282", + sup: "\u2283", + nsub: "\u2284", + sube: "\u2286", + supe: "\u2287", + oplus: "\u2295", + otimes: "\u2297", + perp: "\u22A5", + sdot: "\u22C5", + lceil: "\u2308", + rceil: "\u2309", + lfloor: "\u230A", + rfloor: "\u230B", + lang: "\u2329", + rang: "\u232A", + loz: "\u25CA", + spades: "\u2660", + clubs: "\u2663", + hearts: "\u2665", + diams: "\u2666" +}; +const JsxErrors = ParseErrorEnum`jsx`({ + AttributeIsEmpty: "JSX attributes must only be assigned a non-empty expression.", + MissingClosingTagElement: ({ + openingTagName + }) => `Expected corresponding JSX closing tag for <${openingTagName}>.`, + MissingClosingTagFragment: "Expected corresponding JSX closing tag for <>.", + UnexpectedSequenceExpression: "Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?", + UnexpectedToken: ({ + unexpected, + HTMLEntity + }) => `Unexpected token \`${unexpected}\`. Did you mean \`${HTMLEntity}\` or \`{'${unexpected}'}\`?`, + UnsupportedJsxValue: "JSX value should be either an expression or a quoted JSX text.", + UnterminatedJsxContent: "Unterminated JSX contents.", + UnwrappedAdjacentJSXElements: "Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?" +}); +function isFragment(object) { + return object ? object.type === "JSXOpeningFragment" || object.type === "JSXClosingFragment" : false; +} +function getQualifiedJSXName(object) { + if (object.type === "JSXIdentifier") { + return object.name; + } + if (object.type === "JSXNamespacedName") { + return object.namespace.name + ":" + object.name.name; + } + if (object.type === "JSXMemberExpression") { + return getQualifiedJSXName(object.object) + "." + getQualifiedJSXName(object.property); + } + throw new Error("Node had unexpected type: " + object.type); +} +var jsx = superClass => class JSXParserMixin extends superClass { + jsxReadToken() { + let out = ""; + let chunkStart = this.state.pos; + for (;;) { + if (this.state.pos >= this.length) { + throw this.raise(JsxErrors.UnterminatedJsxContent, { + at: this.state.startLoc + }); + } + const ch = this.input.charCodeAt(this.state.pos); + switch (ch) { + case 60: + case 123: + if (this.state.pos === this.state.start) { + if (ch === 60 && this.state.canStartJSXElement) { + ++this.state.pos; + this.finishToken(142); + } else { + super.getTokenFromCode(ch); + } + return; + } + out += this.input.slice(chunkStart, this.state.pos); + this.finishToken(141, out); + return; + case 38: + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadEntity(); + chunkStart = this.state.pos; + break; + case 62: + case 125: + default: + if (isNewLine(ch)) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadNewLine(true); + chunkStart = this.state.pos; + } else { + ++this.state.pos; + } + } + } + } + jsxReadNewLine(normalizeCRLF) { + const ch = this.input.charCodeAt(this.state.pos); + let out; + ++this.state.pos; + if (ch === 13 && this.input.charCodeAt(this.state.pos) === 10) { + ++this.state.pos; + out = normalizeCRLF ? "\n" : "\r\n"; + } else { + out = String.fromCharCode(ch); + } + ++this.state.curLine; + this.state.lineStart = this.state.pos; + return out; + } + jsxReadString(quote) { + let out = ""; + let chunkStart = ++this.state.pos; + for (;;) { + if (this.state.pos >= this.length) { + throw this.raise(Errors.UnterminatedString, { + at: this.state.startLoc + }); + } + const ch = this.input.charCodeAt(this.state.pos); + if (ch === quote) break; + if (ch === 38) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadEntity(); + chunkStart = this.state.pos; + } else if (isNewLine(ch)) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadNewLine(false); + chunkStart = this.state.pos; + } else { + ++this.state.pos; + } + } + out += this.input.slice(chunkStart, this.state.pos++); + this.finishToken(133, out); + } + jsxReadEntity() { + const startPos = ++this.state.pos; + if (this.codePointAtPos(this.state.pos) === 35) { + ++this.state.pos; + let radix = 10; + if (this.codePointAtPos(this.state.pos) === 120) { + radix = 16; + ++this.state.pos; + } + const codePoint = this.readInt(radix, undefined, false, "bail"); + if (codePoint !== null && this.codePointAtPos(this.state.pos) === 59) { + ++this.state.pos; + return String.fromCodePoint(codePoint); + } + } else { + let count = 0; + let semi = false; + while (count++ < 10 && this.state.pos < this.length && !(semi = this.codePointAtPos(this.state.pos) == 59)) { + ++this.state.pos; + } + if (semi) { + const desc = this.input.slice(startPos, this.state.pos); + const entity = entities[desc]; + ++this.state.pos; + if (entity) { + return entity; + } + } + } + this.state.pos = startPos; + return "&"; + } + jsxReadWord() { + let ch; + const start = this.state.pos; + do { + ch = this.input.charCodeAt(++this.state.pos); + } while (isIdentifierChar(ch) || ch === 45); + this.finishToken(140, this.input.slice(start, this.state.pos)); + } + jsxParseIdentifier() { + const node = this.startNode(); + if (this.match(140)) { + node.name = this.state.value; + } else if (tokenIsKeyword(this.state.type)) { + node.name = tokenLabelName(this.state.type); + } else { + this.unexpected(); + } + this.next(); + return this.finishNode(node, "JSXIdentifier"); + } + jsxParseNamespacedName() { + const startLoc = this.state.startLoc; + const name = this.jsxParseIdentifier(); + if (!this.eat(14)) return name; + const node = this.startNodeAt(startLoc); + node.namespace = name; + node.name = this.jsxParseIdentifier(); + return this.finishNode(node, "JSXNamespacedName"); + } + jsxParseElementName() { + const startLoc = this.state.startLoc; + let node = this.jsxParseNamespacedName(); + if (node.type === "JSXNamespacedName") { + return node; + } + while (this.eat(16)) { + const newNode = this.startNodeAt(startLoc); + newNode.object = node; + newNode.property = this.jsxParseIdentifier(); + node = this.finishNode(newNode, "JSXMemberExpression"); + } + return node; + } + jsxParseAttributeValue() { + let node; + switch (this.state.type) { + case 5: + node = this.startNode(); + this.setContext(types.brace); + this.next(); + node = this.jsxParseExpressionContainer(node, types.j_oTag); + if (node.expression.type === "JSXEmptyExpression") { + this.raise(JsxErrors.AttributeIsEmpty, { + at: node + }); + } + return node; + case 142: + case 133: + return this.parseExprAtom(); + default: + throw this.raise(JsxErrors.UnsupportedJsxValue, { + at: this.state.startLoc + }); + } + } + jsxParseEmptyExpression() { + const node = this.startNodeAt(this.state.lastTokEndLoc); + return this.finishNodeAt(node, "JSXEmptyExpression", this.state.startLoc); + } + jsxParseSpreadChild(node) { + this.next(); + node.expression = this.parseExpression(); + this.setContext(types.j_expr); + this.state.canStartJSXElement = true; + this.expect(8); + return this.finishNode(node, "JSXSpreadChild"); + } + jsxParseExpressionContainer(node, previousContext) { + if (this.match(8)) { + node.expression = this.jsxParseEmptyExpression(); + } else { + const expression = this.parseExpression(); + node.expression = expression; + } + this.setContext(previousContext); + this.state.canStartJSXElement = true; + this.expect(8); + return this.finishNode(node, "JSXExpressionContainer"); + } + jsxParseAttribute() { + const node = this.startNode(); + if (this.match(5)) { + this.setContext(types.brace); + this.next(); + this.expect(21); + node.argument = this.parseMaybeAssignAllowIn(); + this.setContext(types.j_oTag); + this.state.canStartJSXElement = true; + this.expect(8); + return this.finishNode(node, "JSXSpreadAttribute"); + } + node.name = this.jsxParseNamespacedName(); + node.value = this.eat(29) ? this.jsxParseAttributeValue() : null; + return this.finishNode(node, "JSXAttribute"); + } + jsxParseOpeningElementAt(startLoc) { + const node = this.startNodeAt(startLoc); + if (this.eat(143)) { + return this.finishNode(node, "JSXOpeningFragment"); + } + node.name = this.jsxParseElementName(); + return this.jsxParseOpeningElementAfterName(node); + } + jsxParseOpeningElementAfterName(node) { + const attributes = []; + while (!this.match(56) && !this.match(143)) { + attributes.push(this.jsxParseAttribute()); + } + node.attributes = attributes; + node.selfClosing = this.eat(56); + this.expect(143); + return this.finishNode(node, "JSXOpeningElement"); + } + jsxParseClosingElementAt(startLoc) { + const node = this.startNodeAt(startLoc); + if (this.eat(143)) { + return this.finishNode(node, "JSXClosingFragment"); + } + node.name = this.jsxParseElementName(); + this.expect(143); + return this.finishNode(node, "JSXClosingElement"); + } + jsxParseElementAt(startLoc) { + const node = this.startNodeAt(startLoc); + const children = []; + const openingElement = this.jsxParseOpeningElementAt(startLoc); + let closingElement = null; + if (!openingElement.selfClosing) { + contents: for (;;) { + switch (this.state.type) { + case 142: + startLoc = this.state.startLoc; + this.next(); + if (this.eat(56)) { + closingElement = this.jsxParseClosingElementAt(startLoc); + break contents; + } + children.push(this.jsxParseElementAt(startLoc)); + break; + case 141: + children.push(this.parseExprAtom()); + break; + case 5: + { + const node = this.startNode(); + this.setContext(types.brace); + this.next(); + if (this.match(21)) { + children.push(this.jsxParseSpreadChild(node)); + } else { + children.push(this.jsxParseExpressionContainer(node, types.j_expr)); + } + break; + } + default: + this.unexpected(); + } + } + if (isFragment(openingElement) && !isFragment(closingElement) && closingElement !== null) { + this.raise(JsxErrors.MissingClosingTagFragment, { + at: closingElement + }); + } else if (!isFragment(openingElement) && isFragment(closingElement)) { + this.raise(JsxErrors.MissingClosingTagElement, { + at: closingElement, + openingTagName: getQualifiedJSXName(openingElement.name) + }); + } else if (!isFragment(openingElement) && !isFragment(closingElement)) { + if (getQualifiedJSXName(closingElement.name) !== getQualifiedJSXName(openingElement.name)) { + this.raise(JsxErrors.MissingClosingTagElement, { + at: closingElement, + openingTagName: getQualifiedJSXName(openingElement.name) + }); + } + } + } + if (isFragment(openingElement)) { + node.openingFragment = openingElement; + node.closingFragment = closingElement; + } else { + node.openingElement = openingElement; + node.closingElement = closingElement; + } + node.children = children; + if (this.match(47)) { + throw this.raise(JsxErrors.UnwrappedAdjacentJSXElements, { + at: this.state.startLoc + }); + } + return isFragment(openingElement) ? this.finishNode(node, "JSXFragment") : this.finishNode(node, "JSXElement"); + } + jsxParseElement() { + const startLoc = this.state.startLoc; + this.next(); + return this.jsxParseElementAt(startLoc); + } + setContext(newContext) { + const { + context + } = this.state; + context[context.length - 1] = newContext; + } + parseExprAtom(refExpressionErrors) { + if (this.match(141)) { + return this.parseLiteral(this.state.value, "JSXText"); + } else if (this.match(142)) { + return this.jsxParseElement(); + } else if (this.match(47) && this.input.charCodeAt(this.state.pos) !== 33) { + this.replaceToken(142); + return this.jsxParseElement(); + } else { + return super.parseExprAtom(refExpressionErrors); + } + } + skipSpace() { + const curContext = this.curContext(); + if (!curContext.preserveSpace) super.skipSpace(); + } + getTokenFromCode(code) { + const context = this.curContext(); + if (context === types.j_expr) { + this.jsxReadToken(); + return; + } + if (context === types.j_oTag || context === types.j_cTag) { + if (isIdentifierStart(code)) { + this.jsxReadWord(); + return; + } + if (code === 62) { + ++this.state.pos; + this.finishToken(143); + return; + } + if ((code === 34 || code === 39) && context === types.j_oTag) { + this.jsxReadString(code); + return; + } + } + if (code === 60 && this.state.canStartJSXElement && this.input.charCodeAt(this.state.pos + 1) !== 33) { + ++this.state.pos; + this.finishToken(142); + return; + } + super.getTokenFromCode(code); + } + updateContext(prevType) { + const { + context, + type + } = this.state; + if (type === 56 && prevType === 142) { + context.splice(-2, 2, types.j_cTag); + this.state.canStartJSXElement = false; + } else if (type === 142) { + context.push(types.j_oTag); + } else if (type === 143) { + const out = context[context.length - 1]; + if (out === types.j_oTag && prevType === 56 || out === types.j_cTag) { + context.pop(); + this.state.canStartJSXElement = context[context.length - 1] === types.j_expr; + } else { + this.setContext(types.j_expr); + this.state.canStartJSXElement = true; + } + } else { + this.state.canStartJSXElement = tokenComesBeforeExpression(type); + } + } +}; +class TypeScriptScope extends Scope { + constructor(...args) { + super(...args); + this.types = new Set(); + this.enums = new Set(); + this.constEnums = new Set(); + this.classes = new Set(); + this.exportOnlyBindings = new Set(); + } +} +class TypeScriptScopeHandler extends ScopeHandler { + constructor(...args) { + super(...args); + this.importsStack = []; + } + createScope(flags) { + this.importsStack.push(new Set()); + return new TypeScriptScope(flags); + } + enter(flags) { + if (flags == 256) { + this.importsStack.push(new Set()); + } + super.enter(flags); + } + exit() { + const flags = super.exit(); + if (flags == 256) { + this.importsStack.pop(); + } + return flags; + } + hasImport(name, allowShadow) { + const len = this.importsStack.length; + if (this.importsStack[len - 1].has(name)) { + return true; + } + if (!allowShadow && len > 1) { + for (let i = 0; i < len - 1; i++) { + if (this.importsStack[i].has(name)) return true; + } + } + return false; + } + declareName(name, bindingType, loc) { + if (bindingType & 4096) { + if (this.hasImport(name, true)) { + this.parser.raise(Errors.VarRedeclaration, { + at: loc, + identifierName: name + }); + } + this.importsStack[this.importsStack.length - 1].add(name); + return; + } + const scope = this.currentScope(); + if (bindingType & 1024) { + this.maybeExportDefined(scope, name); + scope.exportOnlyBindings.add(name); + return; + } + super.declareName(name, bindingType, loc); + if (bindingType & 2) { + if (!(bindingType & 1)) { + this.checkRedeclarationInScope(scope, name, bindingType, loc); + this.maybeExportDefined(scope, name); + } + scope.types.add(name); + } + if (bindingType & 256) scope.enums.add(name); + if (bindingType & 512) { + scope.constEnums.add(name); + } + if (bindingType & 128) scope.classes.add(name); + } + isRedeclaredInScope(scope, name, bindingType) { + if (scope.enums.has(name)) { + if (bindingType & 256) { + const isConst = !!(bindingType & 512); + const wasConst = scope.constEnums.has(name); + return isConst !== wasConst; + } + return true; + } + if (bindingType & 128 && scope.classes.has(name)) { + if (scope.lexical.has(name)) { + return !!(bindingType & 1); + } else { + return false; + } + } + if (bindingType & 2 && scope.types.has(name)) { + return true; + } + return super.isRedeclaredInScope(scope, name, bindingType); + } + checkLocalExport(id) { + const { + name + } = id; + if (this.hasImport(name)) return; + const len = this.scopeStack.length; + for (let i = len - 1; i >= 0; i--) { + const scope = this.scopeStack[i]; + if (scope.types.has(name) || scope.exportOnlyBindings.has(name)) return; + } + super.checkLocalExport(id); + } +} +const getOwn$1 = (object, key) => Object.hasOwnProperty.call(object, key) && object[key]; +const unwrapParenthesizedExpression = node => { + return node.type === "ParenthesizedExpression" ? unwrapParenthesizedExpression(node.expression) : node; +}; +class LValParser extends NodeUtils { + toAssignable(node, isLHS = false) { + var _node$extra, _node$extra3; + let parenthesized = undefined; + if (node.type === "ParenthesizedExpression" || (_node$extra = node.extra) != null && _node$extra.parenthesized) { + parenthesized = unwrapParenthesizedExpression(node); + if (isLHS) { + if (parenthesized.type === "Identifier") { + this.expressionScope.recordArrowParameterBindingError(Errors.InvalidParenthesizedAssignment, { + at: node + }); + } else if (parenthesized.type !== "MemberExpression" && !this.isOptionalMemberExpression(parenthesized)) { + this.raise(Errors.InvalidParenthesizedAssignment, { + at: node + }); + } + } else { + this.raise(Errors.InvalidParenthesizedAssignment, { + at: node + }); + } + } + switch (node.type) { + case "Identifier": + case "ObjectPattern": + case "ArrayPattern": + case "AssignmentPattern": + case "RestElement": + break; + case "ObjectExpression": + node.type = "ObjectPattern"; + for (let i = 0, length = node.properties.length, last = length - 1; i < length; i++) { + var _node$extra2; + const prop = node.properties[i]; + const isLast = i === last; + this.toAssignableObjectExpressionProp(prop, isLast, isLHS); + if (isLast && prop.type === "RestElement" && (_node$extra2 = node.extra) != null && _node$extra2.trailingCommaLoc) { + this.raise(Errors.RestTrailingComma, { + at: node.extra.trailingCommaLoc + }); + } + } + break; + case "ObjectProperty": + { + const { + key, + value + } = node; + if (this.isPrivateName(key)) { + this.classScope.usePrivateName(this.getPrivateNameSV(key), key.loc.start); + } + this.toAssignable(value, isLHS); + break; + } + case "SpreadElement": + { + throw new Error("Internal @babel/parser error (this is a bug, please report it)." + " SpreadElement should be converted by .toAssignable's caller."); + } + case "ArrayExpression": + node.type = "ArrayPattern"; + this.toAssignableList(node.elements, (_node$extra3 = node.extra) == null ? void 0 : _node$extra3.trailingCommaLoc, isLHS); + break; + case "AssignmentExpression": + if (node.operator !== "=") { + this.raise(Errors.MissingEqInAssignment, { + at: node.left.loc.end + }); + } + node.type = "AssignmentPattern"; + delete node.operator; + this.toAssignable(node.left, isLHS); + break; + case "ParenthesizedExpression": + this.toAssignable(parenthesized, isLHS); + break; + } + } + toAssignableObjectExpressionProp(prop, isLast, isLHS) { + if (prop.type === "ObjectMethod") { + this.raise(prop.kind === "get" || prop.kind === "set" ? Errors.PatternHasAccessor : Errors.PatternHasMethod, { + at: prop.key + }); + } else if (prop.type === "SpreadElement") { + prop.type = "RestElement"; + const arg = prop.argument; + this.checkToRestConversion(arg, false); + this.toAssignable(arg, isLHS); + if (!isLast) { + this.raise(Errors.RestTrailingComma, { + at: prop + }); + } + } else { + this.toAssignable(prop, isLHS); + } + } + toAssignableList(exprList, trailingCommaLoc, isLHS) { + const end = exprList.length - 1; + for (let i = 0; i <= end; i++) { + const elt = exprList[i]; + if (!elt) continue; + if (elt.type === "SpreadElement") { + elt.type = "RestElement"; + const arg = elt.argument; + this.checkToRestConversion(arg, true); + this.toAssignable(arg, isLHS); + } else { + this.toAssignable(elt, isLHS); + } + if (elt.type === "RestElement") { + if (i < end) { + this.raise(Errors.RestTrailingComma, { + at: elt + }); + } else if (trailingCommaLoc) { + this.raise(Errors.RestTrailingComma, { + at: trailingCommaLoc + }); + } + } + } + } + isAssignable(node, isBinding) { + switch (node.type) { + case "Identifier": + case "ObjectPattern": + case "ArrayPattern": + case "AssignmentPattern": + case "RestElement": + return true; + case "ObjectExpression": + { + const last = node.properties.length - 1; + return node.properties.every((prop, i) => { + return prop.type !== "ObjectMethod" && (i === last || prop.type !== "SpreadElement") && this.isAssignable(prop); + }); + } + case "ObjectProperty": + return this.isAssignable(node.value); + case "SpreadElement": + return this.isAssignable(node.argument); + case "ArrayExpression": + return node.elements.every(element => element === null || this.isAssignable(element)); + case "AssignmentExpression": + return node.operator === "="; + case "ParenthesizedExpression": + return this.isAssignable(node.expression); + case "MemberExpression": + case "OptionalMemberExpression": + return !isBinding; + default: + return false; + } + } + toReferencedList(exprList, isParenthesizedExpr) { + return exprList; + } + toReferencedListDeep(exprList, isParenthesizedExpr) { + this.toReferencedList(exprList, isParenthesizedExpr); + for (const expr of exprList) { + if ((expr == null ? void 0 : expr.type) === "ArrayExpression") { + this.toReferencedListDeep(expr.elements); + } + } + } + parseSpread(refExpressionErrors) { + const node = this.startNode(); + this.next(); + node.argument = this.parseMaybeAssignAllowIn(refExpressionErrors, undefined); + return this.finishNode(node, "SpreadElement"); + } + parseRestBinding() { + const node = this.startNode(); + this.next(); + node.argument = this.parseBindingAtom(); + return this.finishNode(node, "RestElement"); + } + parseBindingAtom() { + switch (this.state.type) { + case 0: + { + const node = this.startNode(); + this.next(); + node.elements = this.parseBindingList(3, 93, 1); + return this.finishNode(node, "ArrayPattern"); + } + case 5: + return this.parseObjectLike(8, true); + } + return this.parseIdentifier(); + } + parseBindingList(close, closeCharCode, flags) { + const allowEmpty = flags & 1; + const elts = []; + let first = true; + while (!this.eat(close)) { + if (first) { + first = false; + } else { + this.expect(12); + } + if (allowEmpty && this.match(12)) { + elts.push(null); + } else if (this.eat(close)) { + break; + } else if (this.match(21)) { + elts.push(this.parseAssignableListItemTypes(this.parseRestBinding(), flags)); + if (!this.checkCommaAfterRest(closeCharCode)) { + this.expect(close); + break; + } + } else { + const decorators = []; + if (this.match(26) && this.hasPlugin("decorators")) { + this.raise(Errors.UnsupportedParameterDecorator, { + at: this.state.startLoc + }); + } + while (this.match(26)) { + decorators.push(this.parseDecorator()); + } + elts.push(this.parseAssignableListItem(flags, decorators)); + } + } + return elts; + } + parseBindingRestProperty(prop) { + this.next(); + prop.argument = this.parseIdentifier(); + this.checkCommaAfterRest(125); + return this.finishNode(prop, "RestElement"); + } + parseBindingProperty() { + const prop = this.startNode(); + const { + type, + startLoc + } = this.state; + if (type === 21) { + return this.parseBindingRestProperty(prop); + } else if (type === 138) { + this.expectPlugin("destructuringPrivate", startLoc); + this.classScope.usePrivateName(this.state.value, startLoc); + prop.key = this.parsePrivateName(); + } else { + this.parsePropertyName(prop); + } + prop.method = false; + return this.parseObjPropValue(prop, startLoc, false, false, true, false); + } + parseAssignableListItem(flags, decorators) { + const left = this.parseMaybeDefault(); + this.parseAssignableListItemTypes(left, flags); + const elt = this.parseMaybeDefault(left.loc.start, left); + if (decorators.length) { + left.decorators = decorators; + } + return elt; + } + parseAssignableListItemTypes(param, flags) { + return param; + } + parseMaybeDefault(startLoc, left) { + var _startLoc, _left; + (_startLoc = startLoc) != null ? _startLoc : startLoc = this.state.startLoc; + left = (_left = left) != null ? _left : this.parseBindingAtom(); + if (!this.eat(29)) return left; + const node = this.startNodeAt(startLoc); + node.left = left; + node.right = this.parseMaybeAssignAllowIn(); + return this.finishNode(node, "AssignmentPattern"); + } + isValidLVal(type, isUnparenthesizedInAssign, binding) { + return getOwn$1({ + AssignmentPattern: "left", + RestElement: "argument", + ObjectProperty: "value", + ParenthesizedExpression: "expression", + ArrayPattern: "elements", + ObjectPattern: "properties" + }, type); + } + isOptionalMemberExpression(expression) { + return expression.type === "OptionalMemberExpression"; + } + checkLVal(expression, { + in: ancestor, + binding = 64, + checkClashes = false, + strictModeChanged = false, + hasParenthesizedAncestor = false + }) { + var _expression$extra; + const type = expression.type; + if (this.isObjectMethod(expression)) return; + const isOptionalMemberExpression = this.isOptionalMemberExpression(expression); + if (isOptionalMemberExpression || type === "MemberExpression") { + if (isOptionalMemberExpression) { + this.expectPlugin("optionalChainingAssign", expression.loc.start); + if (ancestor.type !== "AssignmentExpression") { + this.raise(Errors.InvalidLhsOptionalChaining, { + at: expression, + ancestor + }); + } + } + if (binding !== 64) { + this.raise(Errors.InvalidPropertyBindingPattern, { + at: expression + }); + } + return; + } + if (type === "Identifier") { + this.checkIdentifier(expression, binding, strictModeChanged); + const { + name + } = expression; + if (checkClashes) { + if (checkClashes.has(name)) { + this.raise(Errors.ParamDupe, { + at: expression + }); + } else { + checkClashes.add(name); + } + } + return; + } + const validity = this.isValidLVal(type, !(hasParenthesizedAncestor || (_expression$extra = expression.extra) != null && _expression$extra.parenthesized) && ancestor.type === "AssignmentExpression", binding); + if (validity === true) return; + if (validity === false) { + const ParseErrorClass = binding === 64 ? Errors.InvalidLhs : Errors.InvalidLhsBinding; + this.raise(ParseErrorClass, { + at: expression, + ancestor + }); + return; + } + const [key, isParenthesizedExpression] = Array.isArray(validity) ? validity : [validity, type === "ParenthesizedExpression"]; + const nextAncestor = type === "ArrayPattern" || type === "ObjectPattern" ? { + type + } : ancestor; + for (const child of [].concat(expression[key])) { + if (child) { + this.checkLVal(child, { + in: nextAncestor, + binding, + checkClashes, + strictModeChanged, + hasParenthesizedAncestor: isParenthesizedExpression + }); + } + } + } + checkIdentifier(at, bindingType, strictModeChanged = false) { + if (this.state.strict && (strictModeChanged ? isStrictBindReservedWord(at.name, this.inModule) : isStrictBindOnlyReservedWord(at.name))) { + if (bindingType === 64) { + this.raise(Errors.StrictEvalArguments, { + at, + referenceName: at.name + }); + } else { + this.raise(Errors.StrictEvalArgumentsBinding, { + at, + bindingName: at.name + }); + } + } + if (bindingType & 8192 && at.name === "let") { + this.raise(Errors.LetInLexicalBinding, { + at + }); + } + if (!(bindingType & 64)) { + this.declareNameFromIdentifier(at, bindingType); + } + } + declareNameFromIdentifier(identifier, binding) { + this.scope.declareName(identifier.name, binding, identifier.loc.start); + } + checkToRestConversion(node, allowPattern) { + switch (node.type) { + case "ParenthesizedExpression": + this.checkToRestConversion(node.expression, allowPattern); + break; + case "Identifier": + case "MemberExpression": + break; + case "ArrayExpression": + case "ObjectExpression": + if (allowPattern) break; + default: + this.raise(Errors.InvalidRestAssignmentPattern, { + at: node + }); + } + } + checkCommaAfterRest(close) { + if (!this.match(12)) { + return false; + } + this.raise(this.lookaheadCharCode() === close ? Errors.RestTrailingComma : Errors.ElementAfterRest, { + at: this.state.startLoc + }); + return true; + } +} +const getOwn = (object, key) => Object.hasOwnProperty.call(object, key) && object[key]; +function nonNull(x) { + if (x == null) { + throw new Error(`Unexpected ${x} value.`); + } + return x; +} +function assert(x) { + if (!x) { + throw new Error("Assert fail"); + } +} +const TSErrors = ParseErrorEnum`typescript`({ + AbstractMethodHasImplementation: ({ + methodName + }) => `Method '${methodName}' cannot have an implementation because it is marked abstract.`, + AbstractPropertyHasInitializer: ({ + propertyName + }) => `Property '${propertyName}' cannot have an initializer because it is marked abstract.`, + AccesorCannotDeclareThisParameter: "'get' and 'set' accessors cannot declare 'this' parameters.", + AccesorCannotHaveTypeParameters: "An accessor cannot have type parameters.", + AccessorCannotBeOptional: "An 'accessor' property cannot be declared optional.", + ClassMethodHasDeclare: "Class methods cannot have the 'declare' modifier.", + ClassMethodHasReadonly: "Class methods cannot have the 'readonly' modifier.", + ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference: "A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.", + ConstructorHasTypeParameters: "Type parameters cannot appear on a constructor declaration.", + DeclareAccessor: ({ + kind + }) => `'declare' is not allowed in ${kind}ters.`, + DeclareClassFieldHasInitializer: "Initializers are not allowed in ambient contexts.", + DeclareFunctionHasImplementation: "An implementation cannot be declared in ambient contexts.", + DuplicateAccessibilityModifier: ({ + modifier + }) => `Accessibility modifier already seen.`, + DuplicateModifier: ({ + modifier + }) => `Duplicate modifier: '${modifier}'.`, + EmptyHeritageClauseType: ({ + token + }) => `'${token}' list cannot be empty.`, + EmptyTypeArguments: "Type argument list cannot be empty.", + EmptyTypeParameters: "Type parameter list cannot be empty.", + ExpectedAmbientAfterExportDeclare: "'export declare' must be followed by an ambient declaration.", + ImportAliasHasImportType: "An import alias can not use 'import type'.", + ImportReflectionHasImportType: "An `import module` declaration can not use `type` modifier", + IncompatibleModifiers: ({ + modifiers + }) => `'${modifiers[0]}' modifier cannot be used with '${modifiers[1]}' modifier.`, + IndexSignatureHasAbstract: "Index signatures cannot have the 'abstract' modifier.", + IndexSignatureHasAccessibility: ({ + modifier + }) => `Index signatures cannot have an accessibility modifier ('${modifier}').`, + IndexSignatureHasDeclare: "Index signatures cannot have the 'declare' modifier.", + IndexSignatureHasOverride: "'override' modifier cannot appear on an index signature.", + IndexSignatureHasStatic: "Index signatures cannot have the 'static' modifier.", + InitializerNotAllowedInAmbientContext: "Initializers are not allowed in ambient contexts.", + InvalidModifierOnTypeMember: ({ + modifier + }) => `'${modifier}' modifier cannot appear on a type member.`, + InvalidModifierOnTypeParameter: ({ + modifier + }) => `'${modifier}' modifier cannot appear on a type parameter.`, + InvalidModifierOnTypeParameterPositions: ({ + modifier + }) => `'${modifier}' modifier can only appear on a type parameter of a class, interface or type alias.`, + InvalidModifiersOrder: ({ + orderedModifiers + }) => `'${orderedModifiers[0]}' modifier must precede '${orderedModifiers[1]}' modifier.`, + InvalidPropertyAccessAfterInstantiationExpression: "Invalid property access after an instantiation expression. " + "You can either wrap the instantiation expression in parentheses, or delete the type arguments.", + InvalidTupleMemberLabel: "Tuple members must be labeled with a simple identifier.", + MissingInterfaceName: "'interface' declarations must be followed by an identifier.", + NonAbstractClassHasAbstractMethod: "Abstract methods can only appear within an abstract class.", + NonClassMethodPropertyHasAbstractModifer: "'abstract' modifier can only appear on a class, method, or property declaration.", + OptionalTypeBeforeRequired: "A required element cannot follow an optional element.", + OverrideNotInSubClass: "This member cannot have an 'override' modifier because its containing class does not extend another class.", + PatternIsOptional: "A binding pattern parameter cannot be optional in an implementation signature.", + PrivateElementHasAbstract: "Private elements cannot have the 'abstract' modifier.", + PrivateElementHasAccessibility: ({ + modifier + }) => `Private elements cannot have an accessibility modifier ('${modifier}').`, + ReadonlyForMethodSignature: "'readonly' modifier can only appear on a property declaration or index signature.", + ReservedArrowTypeParam: "This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `() => ...`.", + ReservedTypeAssertion: "This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.", + SetAccesorCannotHaveOptionalParameter: "A 'set' accessor cannot have an optional parameter.", + SetAccesorCannotHaveRestParameter: "A 'set' accessor cannot have rest parameter.", + SetAccesorCannotHaveReturnType: "A 'set' accessor cannot have a return type annotation.", + SingleTypeParameterWithoutTrailingComma: ({ + typeParameterName + }) => `Single type parameter ${typeParameterName} should have a trailing comma. Example usage: <${typeParameterName},>.`, + StaticBlockCannotHaveModifier: "Static class blocks cannot have any modifier.", + TupleOptionalAfterType: "A labeled tuple optional element must be declared using a question mark after the name and before the colon (`name?: type`), rather than after the type (`name: type?`).", + TypeAnnotationAfterAssign: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.", + TypeImportCannotSpecifyDefaultAndNamed: "A type-only import can specify a default import or named bindings, but not both.", + TypeModifierIsUsedInTypeExports: "The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.", + TypeModifierIsUsedInTypeImports: "The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.", + UnexpectedParameterModifier: "A parameter property is only allowed in a constructor implementation.", + UnexpectedReadonly: "'readonly' type modifier is only permitted on array and tuple literal types.", + UnexpectedTypeAnnotation: "Did not expect a type annotation here.", + UnexpectedTypeCastInParameter: "Unexpected type cast in parameter position.", + UnsupportedImportTypeArgument: "Argument in a type import must be a string literal.", + UnsupportedParameterPropertyKind: "A parameter property may not be declared using a binding pattern.", + UnsupportedSignatureParameterKind: ({ + type + }) => `Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${type}.` +}); +function keywordTypeFromName(value) { + switch (value) { + case "any": + return "TSAnyKeyword"; + case "boolean": + return "TSBooleanKeyword"; + case "bigint": + return "TSBigIntKeyword"; + case "never": + return "TSNeverKeyword"; + case "number": + return "TSNumberKeyword"; + case "object": + return "TSObjectKeyword"; + case "string": + return "TSStringKeyword"; + case "symbol": + return "TSSymbolKeyword"; + case "undefined": + return "TSUndefinedKeyword"; + case "unknown": + return "TSUnknownKeyword"; + default: + return undefined; + } +} +function tsIsAccessModifier(modifier) { + return modifier === "private" || modifier === "public" || modifier === "protected"; +} +function tsIsVarianceAnnotations(modifier) { + return modifier === "in" || modifier === "out"; +} +var typescript = superClass => class TypeScriptParserMixin extends superClass { + constructor(...args) { + super(...args); + this.tsParseInOutModifiers = this.tsParseModifiers.bind(this, { + allowedModifiers: ["in", "out"], + disallowedModifiers: ["const", "public", "private", "protected", "readonly", "declare", "abstract", "override"], + errorTemplate: TSErrors.InvalidModifierOnTypeParameter + }); + this.tsParseConstModifier = this.tsParseModifiers.bind(this, { + allowedModifiers: ["const"], + disallowedModifiers: ["in", "out"], + errorTemplate: TSErrors.InvalidModifierOnTypeParameterPositions + }); + this.tsParseInOutConstModifiers = this.tsParseModifiers.bind(this, { + allowedModifiers: ["in", "out", "const"], + disallowedModifiers: ["public", "private", "protected", "readonly", "declare", "abstract", "override"], + errorTemplate: TSErrors.InvalidModifierOnTypeParameter + }); + } + getScopeHandler() { + return TypeScriptScopeHandler; + } + tsIsIdentifier() { + return tokenIsIdentifier(this.state.type); + } + tsTokenCanFollowModifier() { + return (this.match(0) || this.match(5) || this.match(55) || this.match(21) || this.match(138) || this.isLiteralPropertyName()) && !this.hasPrecedingLineBreak(); + } + tsNextTokenCanFollowModifier() { + this.next(); + return this.tsTokenCanFollowModifier(); + } + tsParseModifier(allowedModifiers, stopOnStartOfClassStaticBlock) { + if (!tokenIsIdentifier(this.state.type) && this.state.type !== 58 && this.state.type !== 75) { + return undefined; + } + const modifier = this.state.value; + if (allowedModifiers.indexOf(modifier) !== -1) { + if (stopOnStartOfClassStaticBlock && this.tsIsStartOfStaticBlocks()) { + return undefined; + } + if (this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))) { + return modifier; + } + } + return undefined; + } + tsParseModifiers({ + allowedModifiers, + disallowedModifiers, + stopOnStartOfClassStaticBlock, + errorTemplate = TSErrors.InvalidModifierOnTypeMember + }, modified) { + const enforceOrder = (loc, modifier, before, after) => { + if (modifier === before && modified[after]) { + this.raise(TSErrors.InvalidModifiersOrder, { + at: loc, + orderedModifiers: [before, after] + }); + } + }; + const incompatible = (loc, modifier, mod1, mod2) => { + if (modified[mod1] && modifier === mod2 || modified[mod2] && modifier === mod1) { + this.raise(TSErrors.IncompatibleModifiers, { + at: loc, + modifiers: [mod1, mod2] + }); + } + }; + for (;;) { + const { + startLoc + } = this.state; + const modifier = this.tsParseModifier(allowedModifiers.concat(disallowedModifiers != null ? disallowedModifiers : []), stopOnStartOfClassStaticBlock); + if (!modifier) break; + if (tsIsAccessModifier(modifier)) { + if (modified.accessibility) { + this.raise(TSErrors.DuplicateAccessibilityModifier, { + at: startLoc, + modifier + }); + } else { + enforceOrder(startLoc, modifier, modifier, "override"); + enforceOrder(startLoc, modifier, modifier, "static"); + enforceOrder(startLoc, modifier, modifier, "readonly"); + modified.accessibility = modifier; + } + } else if (tsIsVarianceAnnotations(modifier)) { + if (modified[modifier]) { + this.raise(TSErrors.DuplicateModifier, { + at: startLoc, + modifier + }); + } + modified[modifier] = true; + enforceOrder(startLoc, modifier, "in", "out"); + } else { + if (Object.hasOwnProperty.call(modified, modifier)) { + this.raise(TSErrors.DuplicateModifier, { + at: startLoc, + modifier + }); + } else { + enforceOrder(startLoc, modifier, "static", "readonly"); + enforceOrder(startLoc, modifier, "static", "override"); + enforceOrder(startLoc, modifier, "override", "readonly"); + enforceOrder(startLoc, modifier, "abstract", "override"); + incompatible(startLoc, modifier, "declare", "override"); + incompatible(startLoc, modifier, "static", "abstract"); + } + modified[modifier] = true; + } + if (disallowedModifiers != null && disallowedModifiers.includes(modifier)) { + this.raise(errorTemplate, { + at: startLoc, + modifier + }); + } + } + } + tsIsListTerminator(kind) { + switch (kind) { + case "EnumMembers": + case "TypeMembers": + return this.match(8); + case "HeritageClauseElement": + return this.match(5); + case "TupleElementTypes": + return this.match(3); + case "TypeParametersOrArguments": + return this.match(48); + } + } + tsParseList(kind, parseElement) { + const result = []; + while (!this.tsIsListTerminator(kind)) { + result.push(parseElement()); + } + return result; + } + tsParseDelimitedList(kind, parseElement, refTrailingCommaPos) { + return nonNull(this.tsParseDelimitedListWorker(kind, parseElement, true, refTrailingCommaPos)); + } + tsParseDelimitedListWorker(kind, parseElement, expectSuccess, refTrailingCommaPos) { + const result = []; + let trailingCommaPos = -1; + for (;;) { + if (this.tsIsListTerminator(kind)) { + break; + } + trailingCommaPos = -1; + const element = parseElement(); + if (element == null) { + return undefined; + } + result.push(element); + if (this.eat(12)) { + trailingCommaPos = this.state.lastTokStart; + continue; + } + if (this.tsIsListTerminator(kind)) { + break; + } + if (expectSuccess) { + this.expect(12); + } + return undefined; + } + if (refTrailingCommaPos) { + refTrailingCommaPos.value = trailingCommaPos; + } + return result; + } + tsParseBracketedList(kind, parseElement, bracket, skipFirstToken, refTrailingCommaPos) { + if (!skipFirstToken) { + if (bracket) { + this.expect(0); + } else { + this.expect(47); + } + } + const result = this.tsParseDelimitedList(kind, parseElement, refTrailingCommaPos); + if (bracket) { + this.expect(3); + } else { + this.expect(48); + } + return result; + } + tsParseImportType() { + const node = this.startNode(); + this.expect(83); + this.expect(10); + if (!this.match(133)) { + this.raise(TSErrors.UnsupportedImportTypeArgument, { + at: this.state.startLoc + }); + } + node.argument = super.parseExprAtom(); + this.expect(11); + if (this.eat(16)) { + node.qualifier = this.tsParseEntityName(); + } + if (this.match(47)) { + node.typeParameters = this.tsParseTypeArguments(); + } + return this.finishNode(node, "TSImportType"); + } + tsParseEntityName(allowReservedWords = true) { + let entity = this.parseIdentifier(allowReservedWords); + while (this.eat(16)) { + const node = this.startNodeAtNode(entity); + node.left = entity; + node.right = this.parseIdentifier(allowReservedWords); + entity = this.finishNode(node, "TSQualifiedName"); + } + return entity; + } + tsParseTypeReference() { + const node = this.startNode(); + node.typeName = this.tsParseEntityName(); + if (!this.hasPrecedingLineBreak() && this.match(47)) { + node.typeParameters = this.tsParseTypeArguments(); + } + return this.finishNode(node, "TSTypeReference"); + } + tsParseThisTypePredicate(lhs) { + this.next(); + const node = this.startNodeAtNode(lhs); + node.parameterName = lhs; + node.typeAnnotation = this.tsParseTypeAnnotation(false); + node.asserts = false; + return this.finishNode(node, "TSTypePredicate"); + } + tsParseThisTypeNode() { + const node = this.startNode(); + this.next(); + return this.finishNode(node, "TSThisType"); + } + tsParseTypeQuery() { + const node = this.startNode(); + this.expect(87); + if (this.match(83)) { + node.exprName = this.tsParseImportType(); + } else { + node.exprName = this.tsParseEntityName(); + } + if (!this.hasPrecedingLineBreak() && this.match(47)) { + node.typeParameters = this.tsParseTypeArguments(); + } + return this.finishNode(node, "TSTypeQuery"); + } + tsParseTypeParameter(parseModifiers) { + const node = this.startNode(); + parseModifiers(node); + node.name = this.tsParseTypeParameterName(); + node.constraint = this.tsEatThenParseType(81); + node.default = this.tsEatThenParseType(29); + return this.finishNode(node, "TSTypeParameter"); + } + tsTryParseTypeParameters(parseModifiers) { + if (this.match(47)) { + return this.tsParseTypeParameters(parseModifiers); + } + } + tsParseTypeParameters(parseModifiers) { + const node = this.startNode(); + if (this.match(47) || this.match(142)) { + this.next(); + } else { + this.unexpected(); + } + const refTrailingCommaPos = { + value: -1 + }; + node.params = this.tsParseBracketedList("TypeParametersOrArguments", this.tsParseTypeParameter.bind(this, parseModifiers), false, true, refTrailingCommaPos); + if (node.params.length === 0) { + this.raise(TSErrors.EmptyTypeParameters, { + at: node + }); + } + if (refTrailingCommaPos.value !== -1) { + this.addExtra(node, "trailingComma", refTrailingCommaPos.value); + } + return this.finishNode(node, "TSTypeParameterDeclaration"); + } + tsFillSignature(returnToken, signature) { + const returnTokenRequired = returnToken === 19; + const paramsKey = "parameters"; + const returnTypeKey = "typeAnnotation"; + signature.typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier); + this.expect(10); + signature[paramsKey] = this.tsParseBindingListForSignature(); + if (returnTokenRequired) { + signature[returnTypeKey] = this.tsParseTypeOrTypePredicateAnnotation(returnToken); + } else if (this.match(returnToken)) { + signature[returnTypeKey] = this.tsParseTypeOrTypePredicateAnnotation(returnToken); + } + } + tsParseBindingListForSignature() { + const list = super.parseBindingList(11, 41, 2); + for (const pattern of list) { + const { + type + } = pattern; + if (type === "AssignmentPattern" || type === "TSParameterProperty") { + this.raise(TSErrors.UnsupportedSignatureParameterKind, { + at: pattern, + type + }); + } + } + return list; + } + tsParseTypeMemberSemicolon() { + if (!this.eat(12) && !this.isLineTerminator()) { + this.expect(13); + } + } + tsParseSignatureMember(kind, node) { + this.tsFillSignature(14, node); + this.tsParseTypeMemberSemicolon(); + return this.finishNode(node, kind); + } + tsIsUnambiguouslyIndexSignature() { + this.next(); + if (tokenIsIdentifier(this.state.type)) { + this.next(); + return this.match(14); + } + return false; + } + tsTryParseIndexSignature(node) { + if (!(this.match(0) && this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))) { + return; + } + this.expect(0); + const id = this.parseIdentifier(); + id.typeAnnotation = this.tsParseTypeAnnotation(); + this.resetEndLocation(id); + this.expect(3); + node.parameters = [id]; + const type = this.tsTryParseTypeAnnotation(); + if (type) node.typeAnnotation = type; + this.tsParseTypeMemberSemicolon(); + return this.finishNode(node, "TSIndexSignature"); + } + tsParsePropertyOrMethodSignature(node, readonly) { + if (this.eat(17)) node.optional = true; + const nodeAny = node; + if (this.match(10) || this.match(47)) { + if (readonly) { + this.raise(TSErrors.ReadonlyForMethodSignature, { + at: node + }); + } + const method = nodeAny; + if (method.kind && this.match(47)) { + this.raise(TSErrors.AccesorCannotHaveTypeParameters, { + at: this.state.curPosition() + }); + } + this.tsFillSignature(14, method); + this.tsParseTypeMemberSemicolon(); + const paramsKey = "parameters"; + const returnTypeKey = "typeAnnotation"; + if (method.kind === "get") { + if (method[paramsKey].length > 0) { + this.raise(Errors.BadGetterArity, { + at: this.state.curPosition() + }); + if (this.isThisParam(method[paramsKey][0])) { + this.raise(TSErrors.AccesorCannotDeclareThisParameter, { + at: this.state.curPosition() + }); + } + } + } else if (method.kind === "set") { + if (method[paramsKey].length !== 1) { + this.raise(Errors.BadSetterArity, { + at: this.state.curPosition() + }); + } else { + const firstParameter = method[paramsKey][0]; + if (this.isThisParam(firstParameter)) { + this.raise(TSErrors.AccesorCannotDeclareThisParameter, { + at: this.state.curPosition() + }); + } + if (firstParameter.type === "Identifier" && firstParameter.optional) { + this.raise(TSErrors.SetAccesorCannotHaveOptionalParameter, { + at: this.state.curPosition() + }); + } + if (firstParameter.type === "RestElement") { + this.raise(TSErrors.SetAccesorCannotHaveRestParameter, { + at: this.state.curPosition() + }); + } + } + if (method[returnTypeKey]) { + this.raise(TSErrors.SetAccesorCannotHaveReturnType, { + at: method[returnTypeKey] + }); + } + } else { + method.kind = "method"; + } + return this.finishNode(method, "TSMethodSignature"); + } else { + const property = nodeAny; + if (readonly) property.readonly = true; + const type = this.tsTryParseTypeAnnotation(); + if (type) property.typeAnnotation = type; + this.tsParseTypeMemberSemicolon(); + return this.finishNode(property, "TSPropertySignature"); + } + } + tsParseTypeMember() { + const node = this.startNode(); + if (this.match(10) || this.match(47)) { + return this.tsParseSignatureMember("TSCallSignatureDeclaration", node); + } + if (this.match(77)) { + const id = this.startNode(); + this.next(); + if (this.match(10) || this.match(47)) { + return this.tsParseSignatureMember("TSConstructSignatureDeclaration", node); + } else { + node.key = this.createIdentifier(id, "new"); + return this.tsParsePropertyOrMethodSignature(node, false); + } + } + this.tsParseModifiers({ + allowedModifiers: ["readonly"], + disallowedModifiers: ["declare", "abstract", "private", "protected", "public", "static", "override"] + }, node); + const idx = this.tsTryParseIndexSignature(node); + if (idx) { + return idx; + } + super.parsePropertyName(node); + if (!node.computed && node.key.type === "Identifier" && (node.key.name === "get" || node.key.name === "set") && this.tsTokenCanFollowModifier()) { + node.kind = node.key.name; + super.parsePropertyName(node); + } + return this.tsParsePropertyOrMethodSignature(node, !!node.readonly); + } + tsParseTypeLiteral() { + const node = this.startNode(); + node.members = this.tsParseObjectTypeMembers(); + return this.finishNode(node, "TSTypeLiteral"); + } + tsParseObjectTypeMembers() { + this.expect(5); + const members = this.tsParseList("TypeMembers", this.tsParseTypeMember.bind(this)); + this.expect(8); + return members; + } + tsIsStartOfMappedType() { + this.next(); + if (this.eat(53)) { + return this.isContextual(122); + } + if (this.isContextual(122)) { + this.next(); + } + if (!this.match(0)) { + return false; + } + this.next(); + if (!this.tsIsIdentifier()) { + return false; + } + this.next(); + return this.match(58); + } + tsParseMappedTypeParameter() { + const node = this.startNode(); + node.name = this.tsParseTypeParameterName(); + node.constraint = this.tsExpectThenParseType(58); + return this.finishNode(node, "TSTypeParameter"); + } + tsParseMappedType() { + const node = this.startNode(); + this.expect(5); + if (this.match(53)) { + node.readonly = this.state.value; + this.next(); + this.expectContextual(122); + } else if (this.eatContextual(122)) { + node.readonly = true; + } + this.expect(0); + node.typeParameter = this.tsParseMappedTypeParameter(); + node.nameType = this.eatContextual(93) ? this.tsParseType() : null; + this.expect(3); + if (this.match(53)) { + node.optional = this.state.value; + this.next(); + this.expect(17); + } else if (this.eat(17)) { + node.optional = true; + } + node.typeAnnotation = this.tsTryParseType(); + this.semicolon(); + this.expect(8); + return this.finishNode(node, "TSMappedType"); + } + tsParseTupleType() { + const node = this.startNode(); + node.elementTypes = this.tsParseBracketedList("TupleElementTypes", this.tsParseTupleElementType.bind(this), true, false); + let seenOptionalElement = false; + node.elementTypes.forEach(elementNode => { + const { + type + } = elementNode; + if (seenOptionalElement && type !== "TSRestType" && type !== "TSOptionalType" && !(type === "TSNamedTupleMember" && elementNode.optional)) { + this.raise(TSErrors.OptionalTypeBeforeRequired, { + at: elementNode + }); + } + seenOptionalElement || (seenOptionalElement = type === "TSNamedTupleMember" && elementNode.optional || type === "TSOptionalType"); + }); + return this.finishNode(node, "TSTupleType"); + } + tsParseTupleElementType() { + const { + startLoc + } = this.state; + const rest = this.eat(21); + let labeled; + let label; + let optional; + let type; + const isWord = tokenIsKeywordOrIdentifier(this.state.type); + const chAfterWord = isWord ? this.lookaheadCharCode() : null; + if (chAfterWord === 58) { + labeled = true; + optional = false; + label = this.parseIdentifier(true); + this.expect(14); + type = this.tsParseType(); + } else if (chAfterWord === 63) { + optional = true; + const startLoc = this.state.startLoc; + const wordName = this.state.value; + const typeOrLabel = this.tsParseNonArrayType(); + if (this.lookaheadCharCode() === 58) { + labeled = true; + label = this.createIdentifier(this.startNodeAt(startLoc), wordName); + this.expect(17); + this.expect(14); + type = this.tsParseType(); + } else { + labeled = false; + type = typeOrLabel; + this.expect(17); + } + } else { + type = this.tsParseType(); + optional = this.eat(17); + labeled = this.eat(14); + } + if (labeled) { + let labeledNode; + if (label) { + labeledNode = this.startNodeAtNode(label); + labeledNode.optional = optional; + labeledNode.label = label; + labeledNode.elementType = type; + if (this.eat(17)) { + labeledNode.optional = true; + this.raise(TSErrors.TupleOptionalAfterType, { + at: this.state.lastTokStartLoc + }); + } + } else { + labeledNode = this.startNodeAtNode(type); + labeledNode.optional = optional; + this.raise(TSErrors.InvalidTupleMemberLabel, { + at: type + }); + labeledNode.label = type; + labeledNode.elementType = this.tsParseType(); + } + type = this.finishNode(labeledNode, "TSNamedTupleMember"); + } else if (optional) { + const optionalTypeNode = this.startNodeAtNode(type); + optionalTypeNode.typeAnnotation = type; + type = this.finishNode(optionalTypeNode, "TSOptionalType"); + } + if (rest) { + const restNode = this.startNodeAt(startLoc); + restNode.typeAnnotation = type; + type = this.finishNode(restNode, "TSRestType"); + } + return type; + } + tsParseParenthesizedType() { + const node = this.startNode(); + this.expect(10); + node.typeAnnotation = this.tsParseType(); + this.expect(11); + return this.finishNode(node, "TSParenthesizedType"); + } + tsParseFunctionOrConstructorType(type, abstract) { + const node = this.startNode(); + if (type === "TSConstructorType") { + node.abstract = !!abstract; + if (abstract) this.next(); + this.next(); + } + this.tsInAllowConditionalTypesContext(() => this.tsFillSignature(19, node)); + return this.finishNode(node, type); + } + tsParseLiteralTypeNode() { + const node = this.startNode(); + switch (this.state.type) { + case 134: + case 135: + case 133: + case 85: + case 86: + node.literal = super.parseExprAtom(); + break; + default: + this.unexpected(); + } + return this.finishNode(node, "TSLiteralType"); + } + tsParseTemplateLiteralType() { + const node = this.startNode(); + node.literal = super.parseTemplate(false); + return this.finishNode(node, "TSLiteralType"); + } + parseTemplateSubstitution() { + if (this.state.inType) return this.tsParseType(); + return super.parseTemplateSubstitution(); + } + tsParseThisTypeOrThisTypePredicate() { + const thisKeyword = this.tsParseThisTypeNode(); + if (this.isContextual(116) && !this.hasPrecedingLineBreak()) { + return this.tsParseThisTypePredicate(thisKeyword); + } else { + return thisKeyword; + } + } + tsParseNonArrayType() { + switch (this.state.type) { + case 133: + case 134: + case 135: + case 85: + case 86: + return this.tsParseLiteralTypeNode(); + case 53: + if (this.state.value === "-") { + const node = this.startNode(); + const nextToken = this.lookahead(); + if (nextToken.type !== 134 && nextToken.type !== 135) { + this.unexpected(); + } + node.literal = this.parseMaybeUnary(); + return this.finishNode(node, "TSLiteralType"); + } + break; + case 78: + return this.tsParseThisTypeOrThisTypePredicate(); + case 87: + return this.tsParseTypeQuery(); + case 83: + return this.tsParseImportType(); + case 5: + return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this)) ? this.tsParseMappedType() : this.tsParseTypeLiteral(); + case 0: + return this.tsParseTupleType(); + case 10: + return this.tsParseParenthesizedType(); + case 25: + case 24: + return this.tsParseTemplateLiteralType(); + default: + { + const { + type + } = this.state; + if (tokenIsIdentifier(type) || type === 88 || type === 84) { + const nodeType = type === 88 ? "TSVoidKeyword" : type === 84 ? "TSNullKeyword" : keywordTypeFromName(this.state.value); + if (nodeType !== undefined && this.lookaheadCharCode() !== 46) { + const node = this.startNode(); + this.next(); + return this.finishNode(node, nodeType); + } + return this.tsParseTypeReference(); + } + } + } + this.unexpected(); + } + tsParseArrayTypeOrHigher() { + let type = this.tsParseNonArrayType(); + while (!this.hasPrecedingLineBreak() && this.eat(0)) { + if (this.match(3)) { + const node = this.startNodeAtNode(type); + node.elementType = type; + this.expect(3); + type = this.finishNode(node, "TSArrayType"); + } else { + const node = this.startNodeAtNode(type); + node.objectType = type; + node.indexType = this.tsParseType(); + this.expect(3); + type = this.finishNode(node, "TSIndexedAccessType"); + } + } + return type; + } + tsParseTypeOperator() { + const node = this.startNode(); + const operator = this.state.value; + this.next(); + node.operator = operator; + node.typeAnnotation = this.tsParseTypeOperatorOrHigher(); + if (operator === "readonly") { + this.tsCheckTypeAnnotationForReadOnly(node); + } + return this.finishNode(node, "TSTypeOperator"); + } + tsCheckTypeAnnotationForReadOnly(node) { + switch (node.typeAnnotation.type) { + case "TSTupleType": + case "TSArrayType": + return; + default: + this.raise(TSErrors.UnexpectedReadonly, { + at: node + }); + } + } + tsParseInferType() { + const node = this.startNode(); + this.expectContextual(115); + const typeParameter = this.startNode(); + typeParameter.name = this.tsParseTypeParameterName(); + typeParameter.constraint = this.tsTryParse(() => this.tsParseConstraintForInferType()); + node.typeParameter = this.finishNode(typeParameter, "TSTypeParameter"); + return this.finishNode(node, "TSInferType"); + } + tsParseConstraintForInferType() { + if (this.eat(81)) { + const constraint = this.tsInDisallowConditionalTypesContext(() => this.tsParseType()); + if (this.state.inDisallowConditionalTypesContext || !this.match(17)) { + return constraint; + } + } + } + tsParseTypeOperatorOrHigher() { + const isTypeOperator = tokenIsTSTypeOperator(this.state.type) && !this.state.containsEsc; + return isTypeOperator ? this.tsParseTypeOperator() : this.isContextual(115) ? this.tsParseInferType() : this.tsInAllowConditionalTypesContext(() => this.tsParseArrayTypeOrHigher()); + } + tsParseUnionOrIntersectionType(kind, parseConstituentType, operator) { + const node = this.startNode(); + const hasLeadingOperator = this.eat(operator); + const types = []; + do { + types.push(parseConstituentType()); + } while (this.eat(operator)); + if (types.length === 1 && !hasLeadingOperator) { + return types[0]; + } + node.types = types; + return this.finishNode(node, kind); + } + tsParseIntersectionTypeOrHigher() { + return this.tsParseUnionOrIntersectionType("TSIntersectionType", this.tsParseTypeOperatorOrHigher.bind(this), 45); + } + tsParseUnionTypeOrHigher() { + return this.tsParseUnionOrIntersectionType("TSUnionType", this.tsParseIntersectionTypeOrHigher.bind(this), 43); + } + tsIsStartOfFunctionType() { + if (this.match(47)) { + return true; + } + return this.match(10) && this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this)); + } + tsSkipParameterStart() { + if (tokenIsIdentifier(this.state.type) || this.match(78)) { + this.next(); + return true; + } + if (this.match(5)) { + const { + errors + } = this.state; + const previousErrorCount = errors.length; + try { + this.parseObjectLike(8, true); + return errors.length === previousErrorCount; + } catch (_unused) { + return false; + } + } + if (this.match(0)) { + this.next(); + const { + errors + } = this.state; + const previousErrorCount = errors.length; + try { + super.parseBindingList(3, 93, 1); + return errors.length === previousErrorCount; + } catch (_unused2) { + return false; + } + } + return false; + } + tsIsUnambiguouslyStartOfFunctionType() { + this.next(); + if (this.match(11) || this.match(21)) { + return true; + } + if (this.tsSkipParameterStart()) { + if (this.match(14) || this.match(12) || this.match(17) || this.match(29)) { + return true; + } + if (this.match(11)) { + this.next(); + if (this.match(19)) { + return true; + } + } + } + return false; + } + tsParseTypeOrTypePredicateAnnotation(returnToken) { + return this.tsInType(() => { + const t = this.startNode(); + this.expect(returnToken); + const node = this.startNode(); + const asserts = !!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this)); + if (asserts && this.match(78)) { + let thisTypePredicate = this.tsParseThisTypeOrThisTypePredicate(); + if (thisTypePredicate.type === "TSThisType") { + node.parameterName = thisTypePredicate; + node.asserts = true; + node.typeAnnotation = null; + thisTypePredicate = this.finishNode(node, "TSTypePredicate"); + } else { + this.resetStartLocationFromNode(thisTypePredicate, node); + thisTypePredicate.asserts = true; + } + t.typeAnnotation = thisTypePredicate; + return this.finishNode(t, "TSTypeAnnotation"); + } + const typePredicateVariable = this.tsIsIdentifier() && this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this)); + if (!typePredicateVariable) { + if (!asserts) { + return this.tsParseTypeAnnotation(false, t); + } + node.parameterName = this.parseIdentifier(); + node.asserts = asserts; + node.typeAnnotation = null; + t.typeAnnotation = this.finishNode(node, "TSTypePredicate"); + return this.finishNode(t, "TSTypeAnnotation"); + } + const type = this.tsParseTypeAnnotation(false); + node.parameterName = typePredicateVariable; + node.typeAnnotation = type; + node.asserts = asserts; + t.typeAnnotation = this.finishNode(node, "TSTypePredicate"); + return this.finishNode(t, "TSTypeAnnotation"); + }); + } + tsTryParseTypeOrTypePredicateAnnotation() { + if (this.match(14)) { + return this.tsParseTypeOrTypePredicateAnnotation(14); + } + } + tsTryParseTypeAnnotation() { + if (this.match(14)) { + return this.tsParseTypeAnnotation(); + } + } + tsTryParseType() { + return this.tsEatThenParseType(14); + } + tsParseTypePredicatePrefix() { + const id = this.parseIdentifier(); + if (this.isContextual(116) && !this.hasPrecedingLineBreak()) { + this.next(); + return id; + } + } + tsParseTypePredicateAsserts() { + if (this.state.type !== 109) { + return false; + } + const containsEsc = this.state.containsEsc; + this.next(); + if (!tokenIsIdentifier(this.state.type) && !this.match(78)) { + return false; + } + if (containsEsc) { + this.raise(Errors.InvalidEscapedReservedWord, { + at: this.state.lastTokStartLoc, + reservedWord: "asserts" + }); + } + return true; + } + tsParseTypeAnnotation(eatColon = true, t = this.startNode()) { + this.tsInType(() => { + if (eatColon) this.expect(14); + t.typeAnnotation = this.tsParseType(); + }); + return this.finishNode(t, "TSTypeAnnotation"); + } + tsParseType() { + assert(this.state.inType); + const type = this.tsParseNonConditionalType(); + if (this.state.inDisallowConditionalTypesContext || this.hasPrecedingLineBreak() || !this.eat(81)) { + return type; + } + const node = this.startNodeAtNode(type); + node.checkType = type; + node.extendsType = this.tsInDisallowConditionalTypesContext(() => this.tsParseNonConditionalType()); + this.expect(17); + node.trueType = this.tsInAllowConditionalTypesContext(() => this.tsParseType()); + this.expect(14); + node.falseType = this.tsInAllowConditionalTypesContext(() => this.tsParseType()); + return this.finishNode(node, "TSConditionalType"); + } + isAbstractConstructorSignature() { + return this.isContextual(124) && this.lookahead().type === 77; + } + tsParseNonConditionalType() { + if (this.tsIsStartOfFunctionType()) { + return this.tsParseFunctionOrConstructorType("TSFunctionType"); + } + if (this.match(77)) { + return this.tsParseFunctionOrConstructorType("TSConstructorType"); + } else if (this.isAbstractConstructorSignature()) { + return this.tsParseFunctionOrConstructorType("TSConstructorType", true); + } + return this.tsParseUnionTypeOrHigher(); + } + tsParseTypeAssertion() { + if (this.getPluginOption("typescript", "disallowAmbiguousJSXLike")) { + this.raise(TSErrors.ReservedTypeAssertion, { + at: this.state.startLoc + }); + } + const node = this.startNode(); + node.typeAnnotation = this.tsInType(() => { + this.next(); + return this.match(75) ? this.tsParseTypeReference() : this.tsParseType(); + }); + this.expect(48); + node.expression = this.parseMaybeUnary(); + return this.finishNode(node, "TSTypeAssertion"); + } + tsParseHeritageClause(token) { + const originalStartLoc = this.state.startLoc; + const delimitedList = this.tsParseDelimitedList("HeritageClauseElement", () => { + const node = this.startNode(); + node.expression = this.tsParseEntityName(); + if (this.match(47)) { + node.typeParameters = this.tsParseTypeArguments(); + } + return this.finishNode(node, "TSExpressionWithTypeArguments"); + }); + if (!delimitedList.length) { + this.raise(TSErrors.EmptyHeritageClauseType, { + at: originalStartLoc, + token + }); + } + return delimitedList; + } + tsParseInterfaceDeclaration(node, properties = {}) { + if (this.hasFollowingLineBreak()) return null; + this.expectContextual(129); + if (properties.declare) node.declare = true; + if (tokenIsIdentifier(this.state.type)) { + node.id = this.parseIdentifier(); + this.checkIdentifier(node.id, 130); + } else { + node.id = null; + this.raise(TSErrors.MissingInterfaceName, { + at: this.state.startLoc + }); + } + node.typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers); + if (this.eat(81)) { + node.extends = this.tsParseHeritageClause("extends"); + } + const body = this.startNode(); + body.body = this.tsInType(this.tsParseObjectTypeMembers.bind(this)); + node.body = this.finishNode(body, "TSInterfaceBody"); + return this.finishNode(node, "TSInterfaceDeclaration"); + } + tsParseTypeAliasDeclaration(node) { + node.id = this.parseIdentifier(); + this.checkIdentifier(node.id, 2); + node.typeAnnotation = this.tsInType(() => { + node.typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutModifiers); + this.expect(29); + if (this.isContextual(114) && this.lookahead().type !== 16) { + const node = this.startNode(); + this.next(); + return this.finishNode(node, "TSIntrinsicKeyword"); + } + return this.tsParseType(); + }); + this.semicolon(); + return this.finishNode(node, "TSTypeAliasDeclaration"); + } + tsInNoContext(cb) { + const oldContext = this.state.context; + this.state.context = [oldContext[0]]; + try { + return cb(); + } finally { + this.state.context = oldContext; + } + } + tsInType(cb) { + const oldInType = this.state.inType; + this.state.inType = true; + try { + return cb(); + } finally { + this.state.inType = oldInType; + } + } + tsInDisallowConditionalTypesContext(cb) { + const oldInDisallowConditionalTypesContext = this.state.inDisallowConditionalTypesContext; + this.state.inDisallowConditionalTypesContext = true; + try { + return cb(); + } finally { + this.state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext; + } + } + tsInAllowConditionalTypesContext(cb) { + const oldInDisallowConditionalTypesContext = this.state.inDisallowConditionalTypesContext; + this.state.inDisallowConditionalTypesContext = false; + try { + return cb(); + } finally { + this.state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext; + } + } + tsEatThenParseType(token) { + if (this.match(token)) { + return this.tsNextThenParseType(); + } + } + tsExpectThenParseType(token) { + return this.tsInType(() => { + this.expect(token); + return this.tsParseType(); + }); + } + tsNextThenParseType() { + return this.tsInType(() => { + this.next(); + return this.tsParseType(); + }); + } + tsParseEnumMember() { + const node = this.startNode(); + node.id = this.match(133) ? super.parseStringLiteral(this.state.value) : this.parseIdentifier(true); + if (this.eat(29)) { + node.initializer = super.parseMaybeAssignAllowIn(); + } + return this.finishNode(node, "TSEnumMember"); + } + tsParseEnumDeclaration(node, properties = {}) { + if (properties.const) node.const = true; + if (properties.declare) node.declare = true; + this.expectContextual(126); + node.id = this.parseIdentifier(); + this.checkIdentifier(node.id, node.const ? 8971 : 8459); + this.expect(5); + node.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)); + this.expect(8); + return this.finishNode(node, "TSEnumDeclaration"); + } + tsParseModuleBlock() { + const node = this.startNode(); + this.scope.enter(0); + this.expect(5); + super.parseBlockOrModuleBlockBody(node.body = [], undefined, true, 8); + this.scope.exit(); + return this.finishNode(node, "TSModuleBlock"); + } + tsParseModuleOrNamespaceDeclaration(node, nested = false) { + node.id = this.parseIdentifier(); + if (!nested) { + this.checkIdentifier(node.id, 1024); + } + if (this.eat(16)) { + const inner = this.startNode(); + this.tsParseModuleOrNamespaceDeclaration(inner, true); + node.body = inner; + } else { + this.scope.enter(256); + this.prodParam.enter(0); + node.body = this.tsParseModuleBlock(); + this.prodParam.exit(); + this.scope.exit(); + } + return this.finishNode(node, "TSModuleDeclaration"); + } + tsParseAmbientExternalModuleDeclaration(node) { + if (this.isContextual(112)) { + node.global = true; + node.id = this.parseIdentifier(); + } else if (this.match(133)) { + node.id = super.parseStringLiteral(this.state.value); + } else { + this.unexpected(); + } + if (this.match(5)) { + this.scope.enter(256); + this.prodParam.enter(0); + node.body = this.tsParseModuleBlock(); + this.prodParam.exit(); + this.scope.exit(); + } else { + this.semicolon(); + } + return this.finishNode(node, "TSModuleDeclaration"); + } + tsParseImportEqualsDeclaration(node, maybeDefaultIdentifier, isExport) { + node.isExport = isExport || false; + node.id = maybeDefaultIdentifier || this.parseIdentifier(); + this.checkIdentifier(node.id, 4096); + this.expect(29); + const moduleReference = this.tsParseModuleReference(); + if (node.importKind === "type" && moduleReference.type !== "TSExternalModuleReference") { + this.raise(TSErrors.ImportAliasHasImportType, { + at: moduleReference + }); + } + node.moduleReference = moduleReference; + this.semicolon(); + return this.finishNode(node, "TSImportEqualsDeclaration"); + } + tsIsExternalModuleReference() { + return this.isContextual(119) && this.lookaheadCharCode() === 40; + } + tsParseModuleReference() { + return this.tsIsExternalModuleReference() ? this.tsParseExternalModuleReference() : this.tsParseEntityName(false); + } + tsParseExternalModuleReference() { + const node = this.startNode(); + this.expectContextual(119); + this.expect(10); + if (!this.match(133)) { + this.unexpected(); + } + node.expression = super.parseExprAtom(); + this.expect(11); + this.sawUnambiguousESM = true; + return this.finishNode(node, "TSExternalModuleReference"); + } + tsLookAhead(f) { + const state = this.state.clone(); + const res = f(); + this.state = state; + return res; + } + tsTryParseAndCatch(f) { + const result = this.tryParse(abort => f() || abort()); + if (result.aborted || !result.node) return; + if (result.error) this.state = result.failState; + return result.node; + } + tsTryParse(f) { + const state = this.state.clone(); + const result = f(); + if (result !== undefined && result !== false) { + return result; + } + this.state = state; + } + tsTryParseDeclare(nany) { + if (this.isLineTerminator()) { + return; + } + let startType = this.state.type; + let kind; + if (this.isContextual(100)) { + startType = 74; + kind = "let"; + } + return this.tsInAmbientContext(() => { + switch (startType) { + case 68: + nany.declare = true; + return super.parseFunctionStatement(nany, false, false); + case 80: + nany.declare = true; + return this.parseClass(nany, true, false); + case 126: + return this.tsParseEnumDeclaration(nany, { + declare: true + }); + case 112: + return this.tsParseAmbientExternalModuleDeclaration(nany); + case 75: + case 74: + if (!this.match(75) || !this.isLookaheadContextual("enum")) { + nany.declare = true; + return this.parseVarStatement(nany, kind || this.state.value, true); + } + this.expect(75); + return this.tsParseEnumDeclaration(nany, { + const: true, + declare: true + }); + case 129: + { + const result = this.tsParseInterfaceDeclaration(nany, { + declare: true + }); + if (result) return result; + } + default: + if (tokenIsIdentifier(startType)) { + return this.tsParseDeclaration(nany, this.state.value, true, null); + } + } + }); + } + tsTryParseExportDeclaration() { + return this.tsParseDeclaration(this.startNode(), this.state.value, true, null); + } + tsParseExpressionStatement(node, expr, decorators) { + switch (expr.name) { + case "declare": + { + const declaration = this.tsTryParseDeclare(node); + if (declaration) { + declaration.declare = true; + } + return declaration; + } + case "global": + if (this.match(5)) { + this.scope.enter(256); + this.prodParam.enter(0); + const mod = node; + mod.global = true; + mod.id = expr; + mod.body = this.tsParseModuleBlock(); + this.scope.exit(); + this.prodParam.exit(); + return this.finishNode(mod, "TSModuleDeclaration"); + } + break; + default: + return this.tsParseDeclaration(node, expr.name, false, decorators); + } + } + tsParseDeclaration(node, value, next, decorators) { + switch (value) { + case "abstract": + if (this.tsCheckLineTerminator(next) && (this.match(80) || tokenIsIdentifier(this.state.type))) { + return this.tsParseAbstractDeclaration(node, decorators); + } + break; + case "module": + if (this.tsCheckLineTerminator(next)) { + if (this.match(133)) { + return this.tsParseAmbientExternalModuleDeclaration(node); + } else if (tokenIsIdentifier(this.state.type)) { + return this.tsParseModuleOrNamespaceDeclaration(node); + } + } + break; + case "namespace": + if (this.tsCheckLineTerminator(next) && tokenIsIdentifier(this.state.type)) { + return this.tsParseModuleOrNamespaceDeclaration(node); + } + break; + case "type": + if (this.tsCheckLineTerminator(next) && tokenIsIdentifier(this.state.type)) { + return this.tsParseTypeAliasDeclaration(node); + } + break; + } + } + tsCheckLineTerminator(next) { + if (next) { + if (this.hasFollowingLineBreak()) return false; + this.next(); + return true; + } + return !this.isLineTerminator(); + } + tsTryParseGenericAsyncArrowFunction(startLoc) { + if (!this.match(47)) return; + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + this.state.maybeInArrowParameters = true; + const res = this.tsTryParseAndCatch(() => { + const node = this.startNodeAt(startLoc); + node.typeParameters = this.tsParseTypeParameters(this.tsParseConstModifier); + super.parseFunctionParams(node); + node.returnType = this.tsTryParseTypeOrTypePredicateAnnotation(); + this.expect(19); + return node; + }); + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + if (!res) return; + return super.parseArrowExpression(res, null, true); + } + tsParseTypeArgumentsInExpression() { + if (this.reScan_lt() !== 47) return; + return this.tsParseTypeArguments(); + } + tsParseTypeArguments() { + const node = this.startNode(); + node.params = this.tsInType(() => this.tsInNoContext(() => { + this.expect(47); + return this.tsParseDelimitedList("TypeParametersOrArguments", this.tsParseType.bind(this)); + })); + if (node.params.length === 0) { + this.raise(TSErrors.EmptyTypeArguments, { + at: node + }); + } else if (!this.state.inType && this.curContext() === types.brace) { + this.reScan_lt_gt(); + } + this.expect(48); + return this.finishNode(node, "TSTypeParameterInstantiation"); + } + tsIsDeclarationStart() { + return tokenIsTSDeclarationStart(this.state.type); + } + isExportDefaultSpecifier() { + if (this.tsIsDeclarationStart()) return false; + return super.isExportDefaultSpecifier(); + } + parseAssignableListItem(flags, decorators) { + const startLoc = this.state.startLoc; + const modified = {}; + this.tsParseModifiers({ + allowedModifiers: ["public", "private", "protected", "override", "readonly"] + }, modified); + const accessibility = modified.accessibility; + const override = modified.override; + const readonly = modified.readonly; + if (!(flags & 4) && (accessibility || readonly || override)) { + this.raise(TSErrors.UnexpectedParameterModifier, { + at: startLoc + }); + } + const left = this.parseMaybeDefault(); + this.parseAssignableListItemTypes(left, flags); + const elt = this.parseMaybeDefault(left.loc.start, left); + if (accessibility || readonly || override) { + const pp = this.startNodeAt(startLoc); + if (decorators.length) { + pp.decorators = decorators; + } + if (accessibility) pp.accessibility = accessibility; + if (readonly) pp.readonly = readonly; + if (override) pp.override = override; + if (elt.type !== "Identifier" && elt.type !== "AssignmentPattern") { + this.raise(TSErrors.UnsupportedParameterPropertyKind, { + at: pp + }); + } + pp.parameter = elt; + return this.finishNode(pp, "TSParameterProperty"); + } + if (decorators.length) { + left.decorators = decorators; + } + return elt; + } + isSimpleParameter(node) { + return node.type === "TSParameterProperty" && super.isSimpleParameter(node.parameter) || super.isSimpleParameter(node); + } + tsDisallowOptionalPattern(node) { + for (const param of node.params) { + if (param.type !== "Identifier" && param.optional && !this.state.isAmbientContext) { + this.raise(TSErrors.PatternIsOptional, { + at: param + }); + } + } + } + setArrowFunctionParameters(node, params, trailingCommaLoc) { + super.setArrowFunctionParameters(node, params, trailingCommaLoc); + this.tsDisallowOptionalPattern(node); + } + parseFunctionBodyAndFinish(node, type, isMethod = false) { + if (this.match(14)) { + node.returnType = this.tsParseTypeOrTypePredicateAnnotation(14); + } + const bodilessType = type === "FunctionDeclaration" ? "TSDeclareFunction" : type === "ClassMethod" || type === "ClassPrivateMethod" ? "TSDeclareMethod" : undefined; + if (bodilessType && !this.match(5) && this.isLineTerminator()) { + return this.finishNode(node, bodilessType); + } + if (bodilessType === "TSDeclareFunction" && this.state.isAmbientContext) { + this.raise(TSErrors.DeclareFunctionHasImplementation, { + at: node + }); + if (node.declare) { + return super.parseFunctionBodyAndFinish(node, bodilessType, isMethod); + } + } + this.tsDisallowOptionalPattern(node); + return super.parseFunctionBodyAndFinish(node, type, isMethod); + } + registerFunctionStatementId(node) { + if (!node.body && node.id) { + this.checkIdentifier(node.id, 1024); + } else { + super.registerFunctionStatementId(node); + } + } + tsCheckForInvalidTypeCasts(items) { + items.forEach(node => { + if ((node == null ? void 0 : node.type) === "TSTypeCastExpression") { + this.raise(TSErrors.UnexpectedTypeAnnotation, { + at: node.typeAnnotation + }); + } + }); + } + toReferencedList(exprList, isInParens) { + this.tsCheckForInvalidTypeCasts(exprList); + return exprList; + } + parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) { + const node = super.parseArrayLike(close, canBePattern, isTuple, refExpressionErrors); + if (node.type === "ArrayExpression") { + this.tsCheckForInvalidTypeCasts(node.elements); + } + return node; + } + parseSubscript(base, startLoc, noCalls, state) { + if (!this.hasPrecedingLineBreak() && this.match(35)) { + this.state.canStartJSXElement = false; + this.next(); + const nonNullExpression = this.startNodeAt(startLoc); + nonNullExpression.expression = base; + return this.finishNode(nonNullExpression, "TSNonNullExpression"); + } + let isOptionalCall = false; + if (this.match(18) && this.lookaheadCharCode() === 60) { + if (noCalls) { + state.stop = true; + return base; + } + state.optionalChainMember = isOptionalCall = true; + this.next(); + } + if (this.match(47) || this.match(51)) { + let missingParenErrorLoc; + const result = this.tsTryParseAndCatch(() => { + if (!noCalls && this.atPossibleAsyncArrow(base)) { + const asyncArrowFn = this.tsTryParseGenericAsyncArrowFunction(startLoc); + if (asyncArrowFn) { + return asyncArrowFn; + } + } + const typeArguments = this.tsParseTypeArgumentsInExpression(); + if (!typeArguments) return; + if (isOptionalCall && !this.match(10)) { + missingParenErrorLoc = this.state.curPosition(); + return; + } + if (tokenIsTemplate(this.state.type)) { + const result = super.parseTaggedTemplateExpression(base, startLoc, state); + result.typeParameters = typeArguments; + return result; + } + if (!noCalls && this.eat(10)) { + const node = this.startNodeAt(startLoc); + node.callee = base; + node.arguments = this.parseCallExpressionArguments(11, false); + this.tsCheckForInvalidTypeCasts(node.arguments); + node.typeParameters = typeArguments; + if (state.optionalChainMember) { + node.optional = isOptionalCall; + } + return this.finishCallExpression(node, state.optionalChainMember); + } + const tokenType = this.state.type; + if (tokenType === 48 || tokenType === 52 || tokenType !== 10 && tokenCanStartExpression(tokenType) && !this.hasPrecedingLineBreak()) { + return; + } + const node = this.startNodeAt(startLoc); + node.expression = base; + node.typeParameters = typeArguments; + return this.finishNode(node, "TSInstantiationExpression"); + }); + if (missingParenErrorLoc) { + this.unexpected(missingParenErrorLoc, 10); + } + if (result) { + if (result.type === "TSInstantiationExpression" && (this.match(16) || this.match(18) && this.lookaheadCharCode() !== 40)) { + this.raise(TSErrors.InvalidPropertyAccessAfterInstantiationExpression, { + at: this.state.startLoc + }); + } + return result; + } + } + return super.parseSubscript(base, startLoc, noCalls, state); + } + parseNewCallee(node) { + var _callee$extra; + super.parseNewCallee(node); + const { + callee + } = node; + if (callee.type === "TSInstantiationExpression" && !((_callee$extra = callee.extra) != null && _callee$extra.parenthesized)) { + node.typeParameters = callee.typeParameters; + node.callee = callee.expression; + } + } + parseExprOp(left, leftStartLoc, minPrec) { + let isSatisfies; + if (tokenOperatorPrecedence(58) > minPrec && !this.hasPrecedingLineBreak() && (this.isContextual(93) || (isSatisfies = this.isContextual(120)))) { + const node = this.startNodeAt(leftStartLoc); + node.expression = left; + node.typeAnnotation = this.tsInType(() => { + this.next(); + if (this.match(75)) { + if (isSatisfies) { + this.raise(Errors.UnexpectedKeyword, { + at: this.state.startLoc, + keyword: "const" + }); + } + return this.tsParseTypeReference(); + } + return this.tsParseType(); + }); + this.finishNode(node, isSatisfies ? "TSSatisfiesExpression" : "TSAsExpression"); + this.reScan_lt_gt(); + return this.parseExprOp(node, leftStartLoc, minPrec); + } + return super.parseExprOp(left, leftStartLoc, minPrec); + } + checkReservedWord(word, startLoc, checkKeywords, isBinding) { + if (!this.state.isAmbientContext) { + super.checkReservedWord(word, startLoc, checkKeywords, isBinding); + } + } + checkImportReflection(node) { + super.checkImportReflection(node); + if (node.module && node.importKind !== "value") { + this.raise(TSErrors.ImportReflectionHasImportType, { + at: node.specifiers[0].loc.start + }); + } + } + checkDuplicateExports() {} + isPotentialImportPhase(isExport) { + if (super.isPotentialImportPhase(isExport)) return true; + if (this.isContextual(130)) { + const ch = this.lookaheadCharCode(); + return isExport ? ch === 123 || ch === 42 : ch !== 61; + } + return !isExport && this.isContextual(87); + } + applyImportPhase(node, isExport, phase, loc) { + super.applyImportPhase(node, isExport, phase, loc); + if (isExport) { + node.exportKind = phase === "type" ? "type" : "value"; + } else { + node.importKind = phase === "type" || phase === "typeof" ? phase : "value"; + } + } + parseImport(node) { + if (this.match(133)) { + node.importKind = "value"; + return super.parseImport(node); + } + let importNode; + if (tokenIsIdentifier(this.state.type) && this.lookaheadCharCode() === 61) { + node.importKind = "value"; + return this.tsParseImportEqualsDeclaration(node); + } else if (this.isContextual(130)) { + const maybeDefaultIdentifier = this.parseMaybeImportPhase(node, false); + if (this.lookaheadCharCode() === 61) { + return this.tsParseImportEqualsDeclaration(node, maybeDefaultIdentifier); + } else { + importNode = super.parseImportSpecifiersAndAfter(node, maybeDefaultIdentifier); + } + } else { + importNode = super.parseImport(node); + } + if (importNode.importKind === "type" && importNode.specifiers.length > 1 && importNode.specifiers[0].type === "ImportDefaultSpecifier") { + this.raise(TSErrors.TypeImportCannotSpecifyDefaultAndNamed, { + at: importNode + }); + } + return importNode; + } + parseExport(node, decorators) { + if (this.match(83)) { + this.next(); + let maybeDefaultIdentifier = null; + if (this.isContextual(130) && this.isPotentialImportPhase(false)) { + maybeDefaultIdentifier = this.parseMaybeImportPhase(node, false); + } else { + node.importKind = "value"; + } + return this.tsParseImportEqualsDeclaration(node, maybeDefaultIdentifier, true); + } else if (this.eat(29)) { + const assign = node; + assign.expression = super.parseExpression(); + this.semicolon(); + this.sawUnambiguousESM = true; + return this.finishNode(assign, "TSExportAssignment"); + } else if (this.eatContextual(93)) { + const decl = node; + this.expectContextual(128); + decl.id = this.parseIdentifier(); + this.semicolon(); + return this.finishNode(decl, "TSNamespaceExportDeclaration"); + } else { + return super.parseExport(node, decorators); + } + } + isAbstractClass() { + return this.isContextual(124) && this.lookahead().type === 80; + } + parseExportDefaultExpression() { + if (this.isAbstractClass()) { + const cls = this.startNode(); + this.next(); + cls.abstract = true; + return this.parseClass(cls, true, true); + } + if (this.match(129)) { + const result = this.tsParseInterfaceDeclaration(this.startNode()); + if (result) return result; + } + return super.parseExportDefaultExpression(); + } + parseVarStatement(node, kind, allowMissingInitializer = false) { + const { + isAmbientContext + } = this.state; + const declaration = super.parseVarStatement(node, kind, allowMissingInitializer || isAmbientContext); + if (!isAmbientContext) return declaration; + for (const { + id, + init + } of declaration.declarations) { + if (!init) continue; + if (kind !== "const" || !!id.typeAnnotation) { + this.raise(TSErrors.InitializerNotAllowedInAmbientContext, { + at: init + }); + } else if (!isValidAmbientConstInitializer(init, this.hasPlugin("estree"))) { + this.raise(TSErrors.ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference, { + at: init + }); + } + } + return declaration; + } + parseStatementContent(flags, decorators) { + if (this.match(75) && this.isLookaheadContextual("enum")) { + const node = this.startNode(); + this.expect(75); + return this.tsParseEnumDeclaration(node, { + const: true + }); + } + if (this.isContextual(126)) { + return this.tsParseEnumDeclaration(this.startNode()); + } + if (this.isContextual(129)) { + const result = this.tsParseInterfaceDeclaration(this.startNode()); + if (result) return result; + } + return super.parseStatementContent(flags, decorators); + } + parseAccessModifier() { + return this.tsParseModifier(["public", "protected", "private"]); + } + tsHasSomeModifiers(member, modifiers) { + return modifiers.some(modifier => { + if (tsIsAccessModifier(modifier)) { + return member.accessibility === modifier; + } + return !!member[modifier]; + }); + } + tsIsStartOfStaticBlocks() { + return this.isContextual(106) && this.lookaheadCharCode() === 123; + } + parseClassMember(classBody, member, state) { + const modifiers = ["declare", "private", "public", "protected", "override", "abstract", "readonly", "static"]; + this.tsParseModifiers({ + allowedModifiers: modifiers, + disallowedModifiers: ["in", "out"], + stopOnStartOfClassStaticBlock: true, + errorTemplate: TSErrors.InvalidModifierOnTypeParameterPositions + }, member); + const callParseClassMemberWithIsStatic = () => { + if (this.tsIsStartOfStaticBlocks()) { + this.next(); + this.next(); + if (this.tsHasSomeModifiers(member, modifiers)) { + this.raise(TSErrors.StaticBlockCannotHaveModifier, { + at: this.state.curPosition() + }); + } + super.parseClassStaticBlock(classBody, member); + } else { + this.parseClassMemberWithIsStatic(classBody, member, state, !!member.static); + } + }; + if (member.declare) { + this.tsInAmbientContext(callParseClassMemberWithIsStatic); + } else { + callParseClassMemberWithIsStatic(); + } + } + parseClassMemberWithIsStatic(classBody, member, state, isStatic) { + const idx = this.tsTryParseIndexSignature(member); + if (idx) { + classBody.body.push(idx); + if (member.abstract) { + this.raise(TSErrors.IndexSignatureHasAbstract, { + at: member + }); + } + if (member.accessibility) { + this.raise(TSErrors.IndexSignatureHasAccessibility, { + at: member, + modifier: member.accessibility + }); + } + if (member.declare) { + this.raise(TSErrors.IndexSignatureHasDeclare, { + at: member + }); + } + if (member.override) { + this.raise(TSErrors.IndexSignatureHasOverride, { + at: member + }); + } + return; + } + if (!this.state.inAbstractClass && member.abstract) { + this.raise(TSErrors.NonAbstractClassHasAbstractMethod, { + at: member + }); + } + if (member.override) { + if (!state.hadSuperClass) { + this.raise(TSErrors.OverrideNotInSubClass, { + at: member + }); + } + } + super.parseClassMemberWithIsStatic(classBody, member, state, isStatic); + } + parsePostMemberNameModifiers(methodOrProp) { + const optional = this.eat(17); + if (optional) methodOrProp.optional = true; + if (methodOrProp.readonly && this.match(10)) { + this.raise(TSErrors.ClassMethodHasReadonly, { + at: methodOrProp + }); + } + if (methodOrProp.declare && this.match(10)) { + this.raise(TSErrors.ClassMethodHasDeclare, { + at: methodOrProp + }); + } + } + parseExpressionStatement(node, expr, decorators) { + const decl = expr.type === "Identifier" ? this.tsParseExpressionStatement(node, expr, decorators) : undefined; + return decl || super.parseExpressionStatement(node, expr, decorators); + } + shouldParseExportDeclaration() { + if (this.tsIsDeclarationStart()) return true; + return super.shouldParseExportDeclaration(); + } + parseConditional(expr, startLoc, refExpressionErrors) { + if (!this.state.maybeInArrowParameters || !this.match(17)) { + return super.parseConditional(expr, startLoc, refExpressionErrors); + } + const result = this.tryParse(() => super.parseConditional(expr, startLoc)); + if (!result.node) { + if (result.error) { + super.setOptionalParametersError(refExpressionErrors, result.error); + } + return expr; + } + if (result.error) this.state = result.failState; + return result.node; + } + parseParenItem(node, startLoc) { + node = super.parseParenItem(node, startLoc); + if (this.eat(17)) { + node.optional = true; + this.resetEndLocation(node); + } + if (this.match(14)) { + const typeCastNode = this.startNodeAt(startLoc); + typeCastNode.expression = node; + typeCastNode.typeAnnotation = this.tsParseTypeAnnotation(); + return this.finishNode(typeCastNode, "TSTypeCastExpression"); + } + return node; + } + parseExportDeclaration(node) { + if (!this.state.isAmbientContext && this.isContextual(125)) { + return this.tsInAmbientContext(() => this.parseExportDeclaration(node)); + } + const startLoc = this.state.startLoc; + const isDeclare = this.eatContextual(125); + if (isDeclare && (this.isContextual(125) || !this.shouldParseExportDeclaration())) { + throw this.raise(TSErrors.ExpectedAmbientAfterExportDeclare, { + at: this.state.startLoc + }); + } + const isIdentifier = tokenIsIdentifier(this.state.type); + const declaration = isIdentifier && this.tsTryParseExportDeclaration() || super.parseExportDeclaration(node); + if (!declaration) return null; + if (declaration.type === "TSInterfaceDeclaration" || declaration.type === "TSTypeAliasDeclaration" || isDeclare) { + node.exportKind = "type"; + } + if (isDeclare) { + this.resetStartLocation(declaration, startLoc); + declaration.declare = true; + } + return declaration; + } + parseClassId(node, isStatement, optionalId, bindingType) { + if ((!isStatement || optionalId) && this.isContextual(113)) { + return; + } + super.parseClassId(node, isStatement, optionalId, node.declare ? 1024 : 8331); + const typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers); + if (typeParameters) node.typeParameters = typeParameters; + } + parseClassPropertyAnnotation(node) { + if (!node.optional) { + if (this.eat(35)) { + node.definite = true; + } else if (this.eat(17)) { + node.optional = true; + } + } + const type = this.tsTryParseTypeAnnotation(); + if (type) node.typeAnnotation = type; + } + parseClassProperty(node) { + this.parseClassPropertyAnnotation(node); + if (this.state.isAmbientContext && !(node.readonly && !node.typeAnnotation) && this.match(29)) { + this.raise(TSErrors.DeclareClassFieldHasInitializer, { + at: this.state.startLoc + }); + } + if (node.abstract && this.match(29)) { + const { + key + } = node; + this.raise(TSErrors.AbstractPropertyHasInitializer, { + at: this.state.startLoc, + propertyName: key.type === "Identifier" && !node.computed ? key.name : `[${this.input.slice(key.start, key.end)}]` + }); + } + return super.parseClassProperty(node); + } + parseClassPrivateProperty(node) { + if (node.abstract) { + this.raise(TSErrors.PrivateElementHasAbstract, { + at: node + }); + } + if (node.accessibility) { + this.raise(TSErrors.PrivateElementHasAccessibility, { + at: node, + modifier: node.accessibility + }); + } + this.parseClassPropertyAnnotation(node); + return super.parseClassPrivateProperty(node); + } + parseClassAccessorProperty(node) { + this.parseClassPropertyAnnotation(node); + if (node.optional) { + this.raise(TSErrors.AccessorCannotBeOptional, { + at: node + }); + } + return super.parseClassAccessorProperty(node); + } + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + const typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier); + if (typeParameters && isConstructor) { + this.raise(TSErrors.ConstructorHasTypeParameters, { + at: typeParameters + }); + } + const { + declare = false, + kind + } = method; + if (declare && (kind === "get" || kind === "set")) { + this.raise(TSErrors.DeclareAccessor, { + at: method, + kind + }); + } + if (typeParameters) method.typeParameters = typeParameters; + super.pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper); + } + pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { + const typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier); + if (typeParameters) method.typeParameters = typeParameters; + super.pushClassPrivateMethod(classBody, method, isGenerator, isAsync); + } + declareClassPrivateMethodInScope(node, kind) { + if (node.type === "TSDeclareMethod") return; + if (node.type === "MethodDefinition" && !node.value.body) return; + super.declareClassPrivateMethodInScope(node, kind); + } + parseClassSuper(node) { + super.parseClassSuper(node); + if (node.superClass && (this.match(47) || this.match(51))) { + node.superTypeParameters = this.tsParseTypeArgumentsInExpression(); + } + if (this.eatContextual(113)) { + node.implements = this.tsParseHeritageClause("implements"); + } + } + parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) { + const typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier); + if (typeParameters) prop.typeParameters = typeParameters; + return super.parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors); + } + parseFunctionParams(node, isConstructor) { + const typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier); + if (typeParameters) node.typeParameters = typeParameters; + super.parseFunctionParams(node, isConstructor); + } + parseVarId(decl, kind) { + super.parseVarId(decl, kind); + if (decl.id.type === "Identifier" && !this.hasPrecedingLineBreak() && this.eat(35)) { + decl.definite = true; + } + const type = this.tsTryParseTypeAnnotation(); + if (type) { + decl.id.typeAnnotation = type; + this.resetEndLocation(decl.id); + } + } + parseAsyncArrowFromCallExpression(node, call) { + if (this.match(14)) { + node.returnType = this.tsParseTypeAnnotation(); + } + return super.parseAsyncArrowFromCallExpression(node, call); + } + parseMaybeAssign(refExpressionErrors, afterLeftParse) { + var _jsx, _jsx2, _typeCast, _jsx3, _typeCast2; + let state; + let jsx; + let typeCast; + if (this.hasPlugin("jsx") && (this.match(142) || this.match(47))) { + state = this.state.clone(); + jsx = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state); + if (!jsx.error) return jsx.node; + const { + context + } = this.state; + const currentContext = context[context.length - 1]; + if (currentContext === types.j_oTag || currentContext === types.j_expr) { + context.pop(); + } + } + if (!((_jsx = jsx) != null && _jsx.error) && !this.match(47)) { + return super.parseMaybeAssign(refExpressionErrors, afterLeftParse); + } + if (!state || state === this.state) state = this.state.clone(); + let typeParameters; + const arrow = this.tryParse(abort => { + var _expr$extra, _typeParameters; + typeParameters = this.tsParseTypeParameters(this.tsParseConstModifier); + const expr = super.parseMaybeAssign(refExpressionErrors, afterLeftParse); + if (expr.type !== "ArrowFunctionExpression" || (_expr$extra = expr.extra) != null && _expr$extra.parenthesized) { + abort(); + } + if (((_typeParameters = typeParameters) == null ? void 0 : _typeParameters.params.length) !== 0) { + this.resetStartLocationFromNode(expr, typeParameters); + } + expr.typeParameters = typeParameters; + return expr; + }, state); + if (!arrow.error && !arrow.aborted) { + if (typeParameters) this.reportReservedArrowTypeParam(typeParameters); + return arrow.node; + } + if (!jsx) { + assert(!this.hasPlugin("jsx")); + typeCast = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state); + if (!typeCast.error) return typeCast.node; + } + if ((_jsx2 = jsx) != null && _jsx2.node) { + this.state = jsx.failState; + return jsx.node; + } + if (arrow.node) { + this.state = arrow.failState; + if (typeParameters) this.reportReservedArrowTypeParam(typeParameters); + return arrow.node; + } + if ((_typeCast = typeCast) != null && _typeCast.node) { + this.state = typeCast.failState; + return typeCast.node; + } + throw ((_jsx3 = jsx) == null ? void 0 : _jsx3.error) || arrow.error || ((_typeCast2 = typeCast) == null ? void 0 : _typeCast2.error); + } + reportReservedArrowTypeParam(node) { + var _node$extra; + if (node.params.length === 1 && !node.params[0].constraint && !((_node$extra = node.extra) != null && _node$extra.trailingComma) && this.getPluginOption("typescript", "disallowAmbiguousJSXLike")) { + this.raise(TSErrors.ReservedArrowTypeParam, { + at: node + }); + } + } + parseMaybeUnary(refExpressionErrors, sawUnary) { + if (!this.hasPlugin("jsx") && this.match(47)) { + return this.tsParseTypeAssertion(); + } + return super.parseMaybeUnary(refExpressionErrors, sawUnary); + } + parseArrow(node) { + if (this.match(14)) { + const result = this.tryParse(abort => { + const returnType = this.tsParseTypeOrTypePredicateAnnotation(14); + if (this.canInsertSemicolon() || !this.match(19)) abort(); + return returnType; + }); + if (result.aborted) return; + if (!result.thrown) { + if (result.error) this.state = result.failState; + node.returnType = result.node; + } + } + return super.parseArrow(node); + } + parseAssignableListItemTypes(param, flags) { + if (!(flags & 2)) return param; + if (this.eat(17)) { + param.optional = true; + } + const type = this.tsTryParseTypeAnnotation(); + if (type) param.typeAnnotation = type; + this.resetEndLocation(param); + return param; + } + isAssignable(node, isBinding) { + switch (node.type) { + case "TSTypeCastExpression": + return this.isAssignable(node.expression, isBinding); + case "TSParameterProperty": + return true; + default: + return super.isAssignable(node, isBinding); + } + } + toAssignable(node, isLHS = false) { + switch (node.type) { + case "ParenthesizedExpression": + this.toAssignableParenthesizedExpression(node, isLHS); + break; + case "TSAsExpression": + case "TSSatisfiesExpression": + case "TSNonNullExpression": + case "TSTypeAssertion": + if (isLHS) { + this.expressionScope.recordArrowParameterBindingError(TSErrors.UnexpectedTypeCastInParameter, { + at: node + }); + } else { + this.raise(TSErrors.UnexpectedTypeCastInParameter, { + at: node + }); + } + this.toAssignable(node.expression, isLHS); + break; + case "AssignmentExpression": + if (!isLHS && node.left.type === "TSTypeCastExpression") { + node.left = this.typeCastToParameter(node.left); + } + default: + super.toAssignable(node, isLHS); + } + } + toAssignableParenthesizedExpression(node, isLHS) { + switch (node.expression.type) { + case "TSAsExpression": + case "TSSatisfiesExpression": + case "TSNonNullExpression": + case "TSTypeAssertion": + case "ParenthesizedExpression": + this.toAssignable(node.expression, isLHS); + break; + default: + super.toAssignable(node, isLHS); + } + } + checkToRestConversion(node, allowPattern) { + switch (node.type) { + case "TSAsExpression": + case "TSSatisfiesExpression": + case "TSTypeAssertion": + case "TSNonNullExpression": + this.checkToRestConversion(node.expression, false); + break; + default: + super.checkToRestConversion(node, allowPattern); + } + } + isValidLVal(type, isUnparenthesizedInAssign, binding) { + return getOwn({ + TSTypeCastExpression: true, + TSParameterProperty: "parameter", + TSNonNullExpression: "expression", + TSAsExpression: (binding !== 64 || !isUnparenthesizedInAssign) && ["expression", true], + TSSatisfiesExpression: (binding !== 64 || !isUnparenthesizedInAssign) && ["expression", true], + TSTypeAssertion: (binding !== 64 || !isUnparenthesizedInAssign) && ["expression", true] + }, type) || super.isValidLVal(type, isUnparenthesizedInAssign, binding); + } + parseBindingAtom() { + if (this.state.type === 78) { + return this.parseIdentifier(true); + } + return super.parseBindingAtom(); + } + parseMaybeDecoratorArguments(expr) { + if (this.match(47) || this.match(51)) { + const typeArguments = this.tsParseTypeArgumentsInExpression(); + if (this.match(10)) { + const call = super.parseMaybeDecoratorArguments(expr); + call.typeParameters = typeArguments; + return call; + } + this.unexpected(null, 10); + } + return super.parseMaybeDecoratorArguments(expr); + } + checkCommaAfterRest(close) { + if (this.state.isAmbientContext && this.match(12) && this.lookaheadCharCode() === close) { + this.next(); + return false; + } + return super.checkCommaAfterRest(close); + } + isClassMethod() { + return this.match(47) || super.isClassMethod(); + } + isClassProperty() { + return this.match(35) || this.match(14) || super.isClassProperty(); + } + parseMaybeDefault(startLoc, left) { + const node = super.parseMaybeDefault(startLoc, left); + if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) { + this.raise(TSErrors.TypeAnnotationAfterAssign, { + at: node.typeAnnotation + }); + } + return node; + } + getTokenFromCode(code) { + if (this.state.inType) { + if (code === 62) { + this.finishOp(48, 1); + return; + } + if (code === 60) { + this.finishOp(47, 1); + return; + } + } + super.getTokenFromCode(code); + } + reScan_lt_gt() { + const { + type + } = this.state; + if (type === 47) { + this.state.pos -= 1; + this.readToken_lt(); + } else if (type === 48) { + this.state.pos -= 1; + this.readToken_gt(); + } + } + reScan_lt() { + const { + type + } = this.state; + if (type === 51) { + this.state.pos -= 2; + this.finishOp(47, 1); + return 47; + } + return type; + } + toAssignableList(exprList, trailingCommaLoc, isLHS) { + for (let i = 0; i < exprList.length; i++) { + const expr = exprList[i]; + if ((expr == null ? void 0 : expr.type) === "TSTypeCastExpression") { + exprList[i] = this.typeCastToParameter(expr); + } + } + super.toAssignableList(exprList, trailingCommaLoc, isLHS); + } + typeCastToParameter(node) { + node.expression.typeAnnotation = node.typeAnnotation; + this.resetEndLocation(node.expression, node.typeAnnotation.loc.end); + return node.expression; + } + shouldParseArrow(params) { + if (this.match(14)) { + return params.every(expr => this.isAssignable(expr, true)); + } + return super.shouldParseArrow(params); + } + shouldParseAsyncArrow() { + return this.match(14) || super.shouldParseAsyncArrow(); + } + canHaveLeadingDecorator() { + return super.canHaveLeadingDecorator() || this.isAbstractClass(); + } + jsxParseOpeningElementAfterName(node) { + if (this.match(47) || this.match(51)) { + const typeArguments = this.tsTryParseAndCatch(() => this.tsParseTypeArgumentsInExpression()); + if (typeArguments) node.typeParameters = typeArguments; + } + return super.jsxParseOpeningElementAfterName(node); + } + getGetterSetterExpectedParamCount(method) { + const baseCount = super.getGetterSetterExpectedParamCount(method); + const params = this.getObjectOrClassMethodParams(method); + const firstParam = params[0]; + const hasContextParam = firstParam && this.isThisParam(firstParam); + return hasContextParam ? baseCount + 1 : baseCount; + } + parseCatchClauseParam() { + const param = super.parseCatchClauseParam(); + const type = this.tsTryParseTypeAnnotation(); + if (type) { + param.typeAnnotation = type; + this.resetEndLocation(param); + } + return param; + } + tsInAmbientContext(cb) { + const oldIsAmbientContext = this.state.isAmbientContext; + this.state.isAmbientContext = true; + try { + return cb(); + } finally { + this.state.isAmbientContext = oldIsAmbientContext; + } + } + parseClass(node, isStatement, optionalId) { + const oldInAbstractClass = this.state.inAbstractClass; + this.state.inAbstractClass = !!node.abstract; + try { + return super.parseClass(node, isStatement, optionalId); + } finally { + this.state.inAbstractClass = oldInAbstractClass; + } + } + tsParseAbstractDeclaration(node, decorators) { + if (this.match(80)) { + node.abstract = true; + return this.maybeTakeDecorators(decorators, this.parseClass(node, true, false)); + } else if (this.isContextual(129)) { + if (!this.hasFollowingLineBreak()) { + node.abstract = true; + this.raise(TSErrors.NonClassMethodPropertyHasAbstractModifer, { + at: node + }); + return this.tsParseInterfaceDeclaration(node); + } + } else { + this.unexpected(null, 80); + } + } + parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope) { + const method = super.parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope); + if (method.abstract) { + const hasBody = this.hasPlugin("estree") ? !!method.value.body : !!method.body; + if (hasBody) { + const { + key + } = method; + this.raise(TSErrors.AbstractMethodHasImplementation, { + at: method, + methodName: key.type === "Identifier" && !method.computed ? key.name : `[${this.input.slice(key.start, key.end)}]` + }); + } + } + return method; + } + tsParseTypeParameterName() { + const typeName = this.parseIdentifier(); + return typeName.name; + } + shouldParseAsAmbientContext() { + return !!this.getPluginOption("typescript", "dts"); + } + parse() { + if (this.shouldParseAsAmbientContext()) { + this.state.isAmbientContext = true; + } + return super.parse(); + } + getExpression() { + if (this.shouldParseAsAmbientContext()) { + this.state.isAmbientContext = true; + } + return super.getExpression(); + } + parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly) { + if (!isString && isMaybeTypeOnly) { + this.parseTypeOnlyImportExportSpecifier(node, false, isInTypeExport); + return this.finishNode(node, "ExportSpecifier"); + } + node.exportKind = "value"; + return super.parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly); + } + parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, bindingType) { + if (!importedIsString && isMaybeTypeOnly) { + this.parseTypeOnlyImportExportSpecifier(specifier, true, isInTypeOnlyImport); + return this.finishNode(specifier, "ImportSpecifier"); + } + specifier.importKind = "value"; + return super.parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, isInTypeOnlyImport ? 4098 : 4096); + } + parseTypeOnlyImportExportSpecifier(node, isImport, isInTypeOnlyImportExport) { + const leftOfAsKey = isImport ? "imported" : "local"; + const rightOfAsKey = isImport ? "local" : "exported"; + let leftOfAs = node[leftOfAsKey]; + let rightOfAs; + let hasTypeSpecifier = false; + let canParseAsKeyword = true; + const loc = leftOfAs.loc.start; + if (this.isContextual(93)) { + const firstAs = this.parseIdentifier(); + if (this.isContextual(93)) { + const secondAs = this.parseIdentifier(); + if (tokenIsKeywordOrIdentifier(this.state.type)) { + hasTypeSpecifier = true; + leftOfAs = firstAs; + rightOfAs = isImport ? this.parseIdentifier() : this.parseModuleExportName(); + canParseAsKeyword = false; + } else { + rightOfAs = secondAs; + canParseAsKeyword = false; + } + } else if (tokenIsKeywordOrIdentifier(this.state.type)) { + canParseAsKeyword = false; + rightOfAs = isImport ? this.parseIdentifier() : this.parseModuleExportName(); + } else { + hasTypeSpecifier = true; + leftOfAs = firstAs; + } + } else if (tokenIsKeywordOrIdentifier(this.state.type)) { + hasTypeSpecifier = true; + if (isImport) { + leftOfAs = this.parseIdentifier(true); + if (!this.isContextual(93)) { + this.checkReservedWord(leftOfAs.name, leftOfAs.loc.start, true, true); + } + } else { + leftOfAs = this.parseModuleExportName(); + } + } + if (hasTypeSpecifier && isInTypeOnlyImportExport) { + this.raise(isImport ? TSErrors.TypeModifierIsUsedInTypeImports : TSErrors.TypeModifierIsUsedInTypeExports, { + at: loc + }); + } + node[leftOfAsKey] = leftOfAs; + node[rightOfAsKey] = rightOfAs; + const kindKey = isImport ? "importKind" : "exportKind"; + node[kindKey] = hasTypeSpecifier ? "type" : "value"; + if (canParseAsKeyword && this.eatContextual(93)) { + node[rightOfAsKey] = isImport ? this.parseIdentifier() : this.parseModuleExportName(); + } + if (!node[rightOfAsKey]) { + node[rightOfAsKey] = cloneIdentifier(node[leftOfAsKey]); + } + if (isImport) { + this.checkIdentifier(node[rightOfAsKey], hasTypeSpecifier ? 4098 : 4096); + } + } +}; +function isPossiblyLiteralEnum(expression) { + if (expression.type !== "MemberExpression") return false; + const { + computed, + property + } = expression; + if (computed && property.type !== "StringLiteral" && (property.type !== "TemplateLiteral" || property.expressions.length > 0)) { + return false; + } + return isUncomputedMemberExpressionChain(expression.object); +} +function isValidAmbientConstInitializer(expression, estree) { + var _expression$extra; + const { + type + } = expression; + if ((_expression$extra = expression.extra) != null && _expression$extra.parenthesized) { + return false; + } + if (estree) { + if (type === "Literal") { + const { + value + } = expression; + if (typeof value === "string" || typeof value === "boolean") { + return true; + } + } + } else { + if (type === "StringLiteral" || type === "BooleanLiteral") { + return true; + } + } + if (isNumber(expression, estree) || isNegativeNumber(expression, estree)) { + return true; + } + if (type === "TemplateLiteral" && expression.expressions.length === 0) { + return true; + } + if (isPossiblyLiteralEnum(expression)) { + return true; + } + return false; +} +function isNumber(expression, estree) { + if (estree) { + return expression.type === "Literal" && (typeof expression.value === "number" || "bigint" in expression); + } + return expression.type === "NumericLiteral" || expression.type === "BigIntLiteral"; +} +function isNegativeNumber(expression, estree) { + if (expression.type === "UnaryExpression") { + const { + operator, + argument + } = expression; + if (operator === "-" && isNumber(argument, estree)) { + return true; + } + } + return false; +} +function isUncomputedMemberExpressionChain(expression) { + if (expression.type === "Identifier") return true; + if (expression.type !== "MemberExpression" || expression.computed) { + return false; + } + return isUncomputedMemberExpressionChain(expression.object); +} +const PlaceholderErrors = ParseErrorEnum`placeholders`({ + ClassNameIsRequired: "A class name is required.", + UnexpectedSpace: "Unexpected space in placeholder." +}); +var placeholders = superClass => class PlaceholdersParserMixin extends superClass { + parsePlaceholder(expectedNode) { + if (this.match(144)) { + const node = this.startNode(); + this.next(); + this.assertNoSpace(); + node.name = super.parseIdentifier(true); + this.assertNoSpace(); + this.expect(144); + return this.finishPlaceholder(node, expectedNode); + } + } + finishPlaceholder(node, expectedNode) { + const isFinished = !!(node.expectedNode && node.type === "Placeholder"); + node.expectedNode = expectedNode; + return isFinished ? node : this.finishNode(node, "Placeholder"); + } + getTokenFromCode(code) { + if (code === 37 && this.input.charCodeAt(this.state.pos + 1) === 37) { + this.finishOp(144, 2); + } else { + super.getTokenFromCode(code); + } + } + parseExprAtom(refExpressionErrors) { + return this.parsePlaceholder("Expression") || super.parseExprAtom(refExpressionErrors); + } + parseIdentifier(liberal) { + return this.parsePlaceholder("Identifier") || super.parseIdentifier(liberal); + } + checkReservedWord(word, startLoc, checkKeywords, isBinding) { + if (word !== undefined) { + super.checkReservedWord(word, startLoc, checkKeywords, isBinding); + } + } + parseBindingAtom() { + return this.parsePlaceholder("Pattern") || super.parseBindingAtom(); + } + isValidLVal(type, isParenthesized, binding) { + return type === "Placeholder" || super.isValidLVal(type, isParenthesized, binding); + } + toAssignable(node, isLHS) { + if (node && node.type === "Placeholder" && node.expectedNode === "Expression") { + node.expectedNode = "Pattern"; + } else { + super.toAssignable(node, isLHS); + } + } + chStartsBindingIdentifier(ch, pos) { + if (super.chStartsBindingIdentifier(ch, pos)) { + return true; + } + const nextToken = this.lookahead(); + if (nextToken.type === 144) { + return true; + } + return false; + } + verifyBreakContinue(node, isBreak) { + if (node.label && node.label.type === "Placeholder") return; + super.verifyBreakContinue(node, isBreak); + } + parseExpressionStatement(node, expr) { + var _expr$extra; + if (expr.type !== "Placeholder" || (_expr$extra = expr.extra) != null && _expr$extra.parenthesized) { + return super.parseExpressionStatement(node, expr); + } + if (this.match(14)) { + const stmt = node; + stmt.label = this.finishPlaceholder(expr, "Identifier"); + this.next(); + stmt.body = super.parseStatementOrSloppyAnnexBFunctionDeclaration(); + return this.finishNode(stmt, "LabeledStatement"); + } + this.semicolon(); + node.name = expr.name; + return this.finishPlaceholder(node, "Statement"); + } + parseBlock(allowDirectives, createNewLexicalScope, afterBlockParse) { + return this.parsePlaceholder("BlockStatement") || super.parseBlock(allowDirectives, createNewLexicalScope, afterBlockParse); + } + parseFunctionId(requireId) { + return this.parsePlaceholder("Identifier") || super.parseFunctionId(requireId); + } + parseClass(node, isStatement, optionalId) { + const type = isStatement ? "ClassDeclaration" : "ClassExpression"; + this.next(); + const oldStrict = this.state.strict; + const placeholder = this.parsePlaceholder("Identifier"); + if (placeholder) { + if (this.match(81) || this.match(144) || this.match(5)) { + node.id = placeholder; + } else if (optionalId || !isStatement) { + node.id = null; + node.body = this.finishPlaceholder(placeholder, "ClassBody"); + return this.finishNode(node, type); + } else { + throw this.raise(PlaceholderErrors.ClassNameIsRequired, { + at: this.state.startLoc + }); + } + } else { + this.parseClassId(node, isStatement, optionalId); + } + super.parseClassSuper(node); + node.body = this.parsePlaceholder("ClassBody") || super.parseClassBody(!!node.superClass, oldStrict); + return this.finishNode(node, type); + } + parseExport(node, decorators) { + const placeholder = this.parsePlaceholder("Identifier"); + if (!placeholder) return super.parseExport(node, decorators); + if (!this.isContextual(98) && !this.match(12)) { + node.specifiers = []; + node.source = null; + node.declaration = this.finishPlaceholder(placeholder, "Declaration"); + return this.finishNode(node, "ExportNamedDeclaration"); + } + this.expectPlugin("exportDefaultFrom"); + const specifier = this.startNode(); + specifier.exported = placeholder; + node.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")]; + return super.parseExport(node, decorators); + } + isExportDefaultSpecifier() { + if (this.match(65)) { + const next = this.nextTokenStart(); + if (this.isUnparsedContextual(next, "from")) { + if (this.input.startsWith(tokenLabelName(144), this.nextTokenStartSince(next + 4))) { + return true; + } + } + } + return super.isExportDefaultSpecifier(); + } + maybeParseExportDefaultSpecifier(node, maybeDefaultIdentifier) { + var _specifiers; + if ((_specifiers = node.specifiers) != null && _specifiers.length) { + return true; + } + return super.maybeParseExportDefaultSpecifier(node, maybeDefaultIdentifier); + } + checkExport(node) { + const { + specifiers + } = node; + if (specifiers != null && specifiers.length) { + node.specifiers = specifiers.filter(node => node.exported.type === "Placeholder"); + } + super.checkExport(node); + node.specifiers = specifiers; + } + parseImport(node) { + const placeholder = this.parsePlaceholder("Identifier"); + if (!placeholder) return super.parseImport(node); + node.specifiers = []; + if (!this.isContextual(98) && !this.match(12)) { + node.source = this.finishPlaceholder(placeholder, "StringLiteral"); + this.semicolon(); + return this.finishNode(node, "ImportDeclaration"); + } + const specifier = this.startNodeAtNode(placeholder); + specifier.local = placeholder; + node.specifiers.push(this.finishNode(specifier, "ImportDefaultSpecifier")); + if (this.eat(12)) { + const hasStarImport = this.maybeParseStarImportSpecifier(node); + if (!hasStarImport) this.parseNamedImportSpecifiers(node); + } + this.expectContextual(98); + node.source = this.parseImportSource(); + this.semicolon(); + return this.finishNode(node, "ImportDeclaration"); + } + parseImportSource() { + return this.parsePlaceholder("StringLiteral") || super.parseImportSource(); + } + assertNoSpace() { + if (this.state.start > this.state.lastTokEndLoc.index) { + this.raise(PlaceholderErrors.UnexpectedSpace, { + at: this.state.lastTokEndLoc + }); + } + } +}; +var v8intrinsic = superClass => class V8IntrinsicMixin extends superClass { + parseV8Intrinsic() { + if (this.match(54)) { + const v8IntrinsicStartLoc = this.state.startLoc; + const node = this.startNode(); + this.next(); + if (tokenIsIdentifier(this.state.type)) { + const name = this.parseIdentifierName(); + const identifier = this.createIdentifier(node, name); + identifier.type = "V8IntrinsicIdentifier"; + if (this.match(10)) { + return identifier; + } + } + this.unexpected(v8IntrinsicStartLoc); + } + } + parseExprAtom(refExpressionErrors) { + return this.parseV8Intrinsic() || super.parseExprAtom(refExpressionErrors); + } +}; +function hasPlugin(plugins, expectedConfig) { + const [expectedName, expectedOptions] = typeof expectedConfig === "string" ? [expectedConfig, {}] : expectedConfig; + const expectedKeys = Object.keys(expectedOptions); + const expectedOptionsIsEmpty = expectedKeys.length === 0; + return plugins.some(p => { + if (typeof p === "string") { + return expectedOptionsIsEmpty && p === expectedName; + } else { + const [pluginName, pluginOptions] = p; + if (pluginName !== expectedName) { + return false; + } + for (const key of expectedKeys) { + if (pluginOptions[key] !== expectedOptions[key]) { + return false; + } + } + return true; + } + }); +} +function getPluginOption(plugins, name, option) { + const plugin = plugins.find(plugin => { + if (Array.isArray(plugin)) { + return plugin[0] === name; + } else { + return plugin === name; + } + }); + if (plugin && Array.isArray(plugin) && plugin.length > 1) { + return plugin[1][option]; + } + return null; +} +const PIPELINE_PROPOSALS = ["minimal", "fsharp", "hack", "smart"]; +const TOPIC_TOKENS = ["^^", "@@", "^", "%", "#"]; +const RECORD_AND_TUPLE_SYNTAX_TYPES = ["hash", "bar"]; +function validatePlugins(plugins) { + if (hasPlugin(plugins, "decorators")) { + if (hasPlugin(plugins, "decorators-legacy")) { + throw new Error("Cannot use the decorators and decorators-legacy plugin together"); + } + const decoratorsBeforeExport = getPluginOption(plugins, "decorators", "decoratorsBeforeExport"); + if (decoratorsBeforeExport != null && typeof decoratorsBeforeExport !== "boolean") { + throw new Error("'decoratorsBeforeExport' must be a boolean, if specified."); + } + const allowCallParenthesized = getPluginOption(plugins, "decorators", "allowCallParenthesized"); + if (allowCallParenthesized != null && typeof allowCallParenthesized !== "boolean") { + throw new Error("'allowCallParenthesized' must be a boolean."); + } + } + if (hasPlugin(plugins, "flow") && hasPlugin(plugins, "typescript")) { + throw new Error("Cannot combine flow and typescript plugins."); + } + if (hasPlugin(plugins, "placeholders") && hasPlugin(plugins, "v8intrinsic")) { + throw new Error("Cannot combine placeholders and v8intrinsic plugins."); + } + if (hasPlugin(plugins, "pipelineOperator")) { + const proposal = getPluginOption(plugins, "pipelineOperator", "proposal"); + if (!PIPELINE_PROPOSALS.includes(proposal)) { + const proposalList = PIPELINE_PROPOSALS.map(p => `"${p}"`).join(", "); + throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${proposalList}.`); + } + const tupleSyntaxIsHash = hasPlugin(plugins, ["recordAndTuple", { + syntaxType: "hash" + }]); + if (proposal === "hack") { + if (hasPlugin(plugins, "placeholders")) { + throw new Error("Cannot combine placeholders plugin and Hack-style pipes."); + } + if (hasPlugin(plugins, "v8intrinsic")) { + throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes."); + } + const topicToken = getPluginOption(plugins, "pipelineOperator", "topicToken"); + if (!TOPIC_TOKENS.includes(topicToken)) { + const tokenList = TOPIC_TOKENS.map(t => `"${t}"`).join(", "); + throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${tokenList}.`); + } + if (topicToken === "#" && tupleSyntaxIsHash) { + throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "hack", topicToken: "#" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.'); + } + } else if (proposal === "smart" && tupleSyntaxIsHash) { + throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "smart" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.'); + } + } + if (hasPlugin(plugins, "moduleAttributes")) { + { + if (hasPlugin(plugins, "importAssertions") || hasPlugin(plugins, "importAttributes")) { + throw new Error("Cannot combine importAssertions, importAttributes and moduleAttributes plugins."); + } + const moduleAttributesVersionPluginOption = getPluginOption(plugins, "moduleAttributes", "version"); + if (moduleAttributesVersionPluginOption !== "may-2020") { + throw new Error("The 'moduleAttributes' plugin requires a 'version' option," + " representing the last proposal update. Currently, the" + " only supported value is 'may-2020'."); + } + } + } + if (hasPlugin(plugins, "importAssertions") && hasPlugin(plugins, "importAttributes")) { + throw new Error("Cannot combine importAssertions and importAttributes plugins."); + } + if (hasPlugin(plugins, "recordAndTuple") && getPluginOption(plugins, "recordAndTuple", "syntaxType") != null && !RECORD_AND_TUPLE_SYNTAX_TYPES.includes(getPluginOption(plugins, "recordAndTuple", "syntaxType"))) { + throw new Error("The 'syntaxType' option of the 'recordAndTuple' plugin must be one of: " + RECORD_AND_TUPLE_SYNTAX_TYPES.map(p => `'${p}'`).join(", ")); + } + if (hasPlugin(plugins, "asyncDoExpressions") && !hasPlugin(plugins, "doExpressions")) { + const error = new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins."); + error.missingPlugins = "doExpressions"; + throw error; + } + if (hasPlugin(plugins, "optionalChainingAssign") && getPluginOption(plugins, "optionalChainingAssign", "version") !== "2023-07") { + throw new Error("The 'optionalChainingAssign' plugin requires a 'version' option," + " representing the last proposal update. Currently, the" + " only supported value is '2023-07'."); + } +} +const mixinPlugins = { + estree, + jsx, + flow, + typescript, + v8intrinsic, + placeholders +}; +const mixinPluginNames = Object.keys(mixinPlugins); +const defaultOptions = { + sourceType: "script", + sourceFilename: undefined, + startColumn: 0, + startLine: 1, + allowAwaitOutsideFunction: false, + allowReturnOutsideFunction: false, + allowNewTargetOutsideFunction: false, + allowImportExportEverywhere: false, + allowSuperOutsideMethod: false, + allowUndeclaredExports: false, + plugins: [], + strictMode: null, + ranges: false, + tokens: false, + createImportExpressions: false, + createParenthesizedExpressions: false, + errorRecovery: false, + attachComment: true, + annexB: true +}; +function getOptions(opts) { + if (opts == null) { + return Object.assign({}, defaultOptions); + } + if (opts.annexB != null && opts.annexB !== false) { + throw new Error("The `annexB` option can only be set to `false`."); + } + const options = {}; + for (const key of Object.keys(defaultOptions)) { + var _opts$key; + options[key] = (_opts$key = opts[key]) != null ? _opts$key : defaultOptions[key]; + } + return options; +} +class ExpressionParser extends LValParser { + checkProto(prop, isRecord, protoRef, refExpressionErrors) { + if (prop.type === "SpreadElement" || this.isObjectMethod(prop) || prop.computed || prop.shorthand) { + return; + } + const key = prop.key; + const name = key.type === "Identifier" ? key.name : key.value; + if (name === "__proto__") { + if (isRecord) { + this.raise(Errors.RecordNoProto, { + at: key + }); + return; + } + if (protoRef.used) { + if (refExpressionErrors) { + if (refExpressionErrors.doubleProtoLoc === null) { + refExpressionErrors.doubleProtoLoc = key.loc.start; + } + } else { + this.raise(Errors.DuplicateProto, { + at: key + }); + } + } + protoRef.used = true; + } + } + shouldExitDescending(expr, potentialArrowAt) { + return expr.type === "ArrowFunctionExpression" && expr.start === potentialArrowAt; + } + getExpression() { + this.enterInitialScopes(); + this.nextToken(); + const expr = this.parseExpression(); + if (!this.match(139)) { + this.unexpected(); + } + this.finalizeRemainingComments(); + expr.comments = this.state.comments; + expr.errors = this.state.errors; + if (this.options.tokens) { + expr.tokens = this.tokens; + } + return expr; + } + parseExpression(disallowIn, refExpressionErrors) { + if (disallowIn) { + return this.disallowInAnd(() => this.parseExpressionBase(refExpressionErrors)); + } + return this.allowInAnd(() => this.parseExpressionBase(refExpressionErrors)); + } + parseExpressionBase(refExpressionErrors) { + const startLoc = this.state.startLoc; + const expr = this.parseMaybeAssign(refExpressionErrors); + if (this.match(12)) { + const node = this.startNodeAt(startLoc); + node.expressions = [expr]; + while (this.eat(12)) { + node.expressions.push(this.parseMaybeAssign(refExpressionErrors)); + } + this.toReferencedList(node.expressions); + return this.finishNode(node, "SequenceExpression"); + } + return expr; + } + parseMaybeAssignDisallowIn(refExpressionErrors, afterLeftParse) { + return this.disallowInAnd(() => this.parseMaybeAssign(refExpressionErrors, afterLeftParse)); + } + parseMaybeAssignAllowIn(refExpressionErrors, afterLeftParse) { + return this.allowInAnd(() => this.parseMaybeAssign(refExpressionErrors, afterLeftParse)); + } + setOptionalParametersError(refExpressionErrors, resultError) { + var _resultError$loc; + refExpressionErrors.optionalParametersLoc = (_resultError$loc = resultError == null ? void 0 : resultError.loc) != null ? _resultError$loc : this.state.startLoc; + } + parseMaybeAssign(refExpressionErrors, afterLeftParse) { + const startLoc = this.state.startLoc; + if (this.isContextual(108)) { + if (this.prodParam.hasYield) { + let left = this.parseYield(); + if (afterLeftParse) { + left = afterLeftParse.call(this, left, startLoc); + } + return left; + } + } + let ownExpressionErrors; + if (refExpressionErrors) { + ownExpressionErrors = false; + } else { + refExpressionErrors = new ExpressionErrors(); + ownExpressionErrors = true; + } + const { + type + } = this.state; + if (type === 10 || tokenIsIdentifier(type)) { + this.state.potentialArrowAt = this.state.start; + } + let left = this.parseMaybeConditional(refExpressionErrors); + if (afterLeftParse) { + left = afterLeftParse.call(this, left, startLoc); + } + if (tokenIsAssignment(this.state.type)) { + const node = this.startNodeAt(startLoc); + const operator = this.state.value; + node.operator = operator; + if (this.match(29)) { + this.toAssignable(left, true); + node.left = left; + const startIndex = startLoc.index; + if (refExpressionErrors.doubleProtoLoc != null && refExpressionErrors.doubleProtoLoc.index >= startIndex) { + refExpressionErrors.doubleProtoLoc = null; + } + if (refExpressionErrors.shorthandAssignLoc != null && refExpressionErrors.shorthandAssignLoc.index >= startIndex) { + refExpressionErrors.shorthandAssignLoc = null; + } + if (refExpressionErrors.privateKeyLoc != null && refExpressionErrors.privateKeyLoc.index >= startIndex) { + this.checkDestructuringPrivate(refExpressionErrors); + refExpressionErrors.privateKeyLoc = null; + } + } else { + node.left = left; + } + this.next(); + node.right = this.parseMaybeAssign(); + this.checkLVal(left, { + in: this.finishNode(node, "AssignmentExpression") + }); + return node; + } else if (ownExpressionErrors) { + this.checkExpressionErrors(refExpressionErrors, true); + } + return left; + } + parseMaybeConditional(refExpressionErrors) { + const startLoc = this.state.startLoc; + const potentialArrowAt = this.state.potentialArrowAt; + const expr = this.parseExprOps(refExpressionErrors); + if (this.shouldExitDescending(expr, potentialArrowAt)) { + return expr; + } + return this.parseConditional(expr, startLoc, refExpressionErrors); + } + parseConditional(expr, startLoc, refExpressionErrors) { + if (this.eat(17)) { + const node = this.startNodeAt(startLoc); + node.test = expr; + node.consequent = this.parseMaybeAssignAllowIn(); + this.expect(14); + node.alternate = this.parseMaybeAssign(); + return this.finishNode(node, "ConditionalExpression"); + } + return expr; + } + parseMaybeUnaryOrPrivate(refExpressionErrors) { + return this.match(138) ? this.parsePrivateName() : this.parseMaybeUnary(refExpressionErrors); + } + parseExprOps(refExpressionErrors) { + const startLoc = this.state.startLoc; + const potentialArrowAt = this.state.potentialArrowAt; + const expr = this.parseMaybeUnaryOrPrivate(refExpressionErrors); + if (this.shouldExitDescending(expr, potentialArrowAt)) { + return expr; + } + return this.parseExprOp(expr, startLoc, -1); + } + parseExprOp(left, leftStartLoc, minPrec) { + if (this.isPrivateName(left)) { + const value = this.getPrivateNameSV(left); + if (minPrec >= tokenOperatorPrecedence(58) || !this.prodParam.hasIn || !this.match(58)) { + this.raise(Errors.PrivateInExpectedIn, { + at: left, + identifierName: value + }); + } + this.classScope.usePrivateName(value, left.loc.start); + } + const op = this.state.type; + if (tokenIsOperator(op) && (this.prodParam.hasIn || !this.match(58))) { + let prec = tokenOperatorPrecedence(op); + if (prec > minPrec) { + if (op === 39) { + this.expectPlugin("pipelineOperator"); + if (this.state.inFSharpPipelineDirectBody) { + return left; + } + this.checkPipelineAtInfixOperator(left, leftStartLoc); + } + const node = this.startNodeAt(leftStartLoc); + node.left = left; + node.operator = this.state.value; + const logical = op === 41 || op === 42; + const coalesce = op === 40; + if (coalesce) { + prec = tokenOperatorPrecedence(42); + } + this.next(); + if (op === 39 && this.hasPlugin(["pipelineOperator", { + proposal: "minimal" + }])) { + if (this.state.type === 96 && this.prodParam.hasAwait) { + throw this.raise(Errors.UnexpectedAwaitAfterPipelineBody, { + at: this.state.startLoc + }); + } + } + node.right = this.parseExprOpRightExpr(op, prec); + const finishedNode = this.finishNode(node, logical || coalesce ? "LogicalExpression" : "BinaryExpression"); + const nextOp = this.state.type; + if (coalesce && (nextOp === 41 || nextOp === 42) || logical && nextOp === 40) { + throw this.raise(Errors.MixingCoalesceWithLogical, { + at: this.state.startLoc + }); + } + return this.parseExprOp(finishedNode, leftStartLoc, minPrec); + } + } + return left; + } + parseExprOpRightExpr(op, prec) { + const startLoc = this.state.startLoc; + switch (op) { + case 39: + switch (this.getPluginOption("pipelineOperator", "proposal")) { + case "hack": + return this.withTopicBindingContext(() => { + return this.parseHackPipeBody(); + }); + case "smart": + return this.withTopicBindingContext(() => { + if (this.prodParam.hasYield && this.isContextual(108)) { + throw this.raise(Errors.PipeBodyIsTighter, { + at: this.state.startLoc + }); + } + return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(op, prec), startLoc); + }); + case "fsharp": + return this.withSoloAwaitPermittingContext(() => { + return this.parseFSharpPipelineBody(prec); + }); + } + default: + return this.parseExprOpBaseRightExpr(op, prec); + } + } + parseExprOpBaseRightExpr(op, prec) { + const startLoc = this.state.startLoc; + return this.parseExprOp(this.parseMaybeUnaryOrPrivate(), startLoc, tokenIsRightAssociative(op) ? prec - 1 : prec); + } + parseHackPipeBody() { + var _body$extra; + const { + startLoc + } = this.state; + const body = this.parseMaybeAssign(); + const requiredParentheses = UnparenthesizedPipeBodyDescriptions.has(body.type); + if (requiredParentheses && !((_body$extra = body.extra) != null && _body$extra.parenthesized)) { + this.raise(Errors.PipeUnparenthesizedBody, { + at: startLoc, + type: body.type + }); + } + if (!this.topicReferenceWasUsedInCurrentContext()) { + this.raise(Errors.PipeTopicUnused, { + at: startLoc + }); + } + return body; + } + checkExponentialAfterUnary(node) { + if (this.match(57)) { + this.raise(Errors.UnexpectedTokenUnaryExponentiation, { + at: node.argument + }); + } + } + parseMaybeUnary(refExpressionErrors, sawUnary) { + const startLoc = this.state.startLoc; + const isAwait = this.isContextual(96); + if (isAwait && this.isAwaitAllowed()) { + this.next(); + const expr = this.parseAwait(startLoc); + if (!sawUnary) this.checkExponentialAfterUnary(expr); + return expr; + } + const update = this.match(34); + const node = this.startNode(); + if (tokenIsPrefix(this.state.type)) { + node.operator = this.state.value; + node.prefix = true; + if (this.match(72)) { + this.expectPlugin("throwExpressions"); + } + const isDelete = this.match(89); + this.next(); + node.argument = this.parseMaybeUnary(null, true); + this.checkExpressionErrors(refExpressionErrors, true); + if (this.state.strict && isDelete) { + const arg = node.argument; + if (arg.type === "Identifier") { + this.raise(Errors.StrictDelete, { + at: node + }); + } else if (this.hasPropertyAsPrivateName(arg)) { + this.raise(Errors.DeletePrivateField, { + at: node + }); + } + } + if (!update) { + if (!sawUnary) { + this.checkExponentialAfterUnary(node); + } + return this.finishNode(node, "UnaryExpression"); + } + } + const expr = this.parseUpdate(node, update, refExpressionErrors); + if (isAwait) { + const { + type + } = this.state; + const startsExpr = this.hasPlugin("v8intrinsic") ? tokenCanStartExpression(type) : tokenCanStartExpression(type) && !this.match(54); + if (startsExpr && !this.isAmbiguousAwait()) { + this.raiseOverwrite(Errors.AwaitNotInAsyncContext, { + at: startLoc + }); + return this.parseAwait(startLoc); + } + } + return expr; + } + parseUpdate(node, update, refExpressionErrors) { + if (update) { + const updateExpressionNode = node; + this.checkLVal(updateExpressionNode.argument, { + in: this.finishNode(updateExpressionNode, "UpdateExpression") + }); + return node; + } + const startLoc = this.state.startLoc; + let expr = this.parseExprSubscripts(refExpressionErrors); + if (this.checkExpressionErrors(refExpressionErrors, false)) return expr; + while (tokenIsPostfix(this.state.type) && !this.canInsertSemicolon()) { + const node = this.startNodeAt(startLoc); + node.operator = this.state.value; + node.prefix = false; + node.argument = expr; + this.next(); + this.checkLVal(expr, { + in: expr = this.finishNode(node, "UpdateExpression") + }); + } + return expr; + } + parseExprSubscripts(refExpressionErrors) { + const startLoc = this.state.startLoc; + const potentialArrowAt = this.state.potentialArrowAt; + const expr = this.parseExprAtom(refExpressionErrors); + if (this.shouldExitDescending(expr, potentialArrowAt)) { + return expr; + } + return this.parseSubscripts(expr, startLoc); + } + parseSubscripts(base, startLoc, noCalls) { + const state = { + optionalChainMember: false, + maybeAsyncArrow: this.atPossibleAsyncArrow(base), + stop: false + }; + do { + base = this.parseSubscript(base, startLoc, noCalls, state); + state.maybeAsyncArrow = false; + } while (!state.stop); + return base; + } + parseSubscript(base, startLoc, noCalls, state) { + const { + type + } = this.state; + if (!noCalls && type === 15) { + return this.parseBind(base, startLoc, noCalls, state); + } else if (tokenIsTemplate(type)) { + return this.parseTaggedTemplateExpression(base, startLoc, state); + } + let optional = false; + if (type === 18) { + if (noCalls) { + this.raise(Errors.OptionalChainingNoNew, { + at: this.state.startLoc + }); + if (this.lookaheadCharCode() === 40) { + state.stop = true; + return base; + } + } + state.optionalChainMember = optional = true; + this.next(); + } + if (!noCalls && this.match(10)) { + return this.parseCoverCallAndAsyncArrowHead(base, startLoc, state, optional); + } else { + const computed = this.eat(0); + if (computed || optional || this.eat(16)) { + return this.parseMember(base, startLoc, state, computed, optional); + } else { + state.stop = true; + return base; + } + } + } + parseMember(base, startLoc, state, computed, optional) { + const node = this.startNodeAt(startLoc); + node.object = base; + node.computed = computed; + if (computed) { + node.property = this.parseExpression(); + this.expect(3); + } else if (this.match(138)) { + if (base.type === "Super") { + this.raise(Errors.SuperPrivateField, { + at: startLoc + }); + } + this.classScope.usePrivateName(this.state.value, this.state.startLoc); + node.property = this.parsePrivateName(); + } else { + node.property = this.parseIdentifier(true); + } + if (state.optionalChainMember) { + node.optional = optional; + return this.finishNode(node, "OptionalMemberExpression"); + } else { + return this.finishNode(node, "MemberExpression"); + } + } + parseBind(base, startLoc, noCalls, state) { + const node = this.startNodeAt(startLoc); + node.object = base; + this.next(); + node.callee = this.parseNoCallExpr(); + state.stop = true; + return this.parseSubscripts(this.finishNode(node, "BindExpression"), startLoc, noCalls); + } + parseCoverCallAndAsyncArrowHead(base, startLoc, state, optional) { + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + let refExpressionErrors = null; + this.state.maybeInArrowParameters = true; + this.next(); + const node = this.startNodeAt(startLoc); + node.callee = base; + const { + maybeAsyncArrow, + optionalChainMember + } = state; + if (maybeAsyncArrow) { + this.expressionScope.enter(newAsyncArrowScope()); + refExpressionErrors = new ExpressionErrors(); + } + if (optionalChainMember) { + node.optional = optional; + } + if (optional) { + node.arguments = this.parseCallExpressionArguments(11); + } else { + node.arguments = this.parseCallExpressionArguments(11, base.type === "Import", base.type !== "Super", node, refExpressionErrors); + } + let finishedNode = this.finishCallExpression(node, optionalChainMember); + if (maybeAsyncArrow && this.shouldParseAsyncArrow() && !optional) { + state.stop = true; + this.checkDestructuringPrivate(refExpressionErrors); + this.expressionScope.validateAsPattern(); + this.expressionScope.exit(); + finishedNode = this.parseAsyncArrowFromCallExpression(this.startNodeAt(startLoc), finishedNode); + } else { + if (maybeAsyncArrow) { + this.checkExpressionErrors(refExpressionErrors, true); + this.expressionScope.exit(); + } + this.toReferencedArguments(finishedNode); + } + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + return finishedNode; + } + toReferencedArguments(node, isParenthesizedExpr) { + this.toReferencedListDeep(node.arguments, isParenthesizedExpr); + } + parseTaggedTemplateExpression(base, startLoc, state) { + const node = this.startNodeAt(startLoc); + node.tag = base; + node.quasi = this.parseTemplate(true); + if (state.optionalChainMember) { + this.raise(Errors.OptionalChainingNoTemplate, { + at: startLoc + }); + } + return this.finishNode(node, "TaggedTemplateExpression"); + } + atPossibleAsyncArrow(base) { + return base.type === "Identifier" && base.name === "async" && this.state.lastTokEndLoc.index === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 && base.start === this.state.potentialArrowAt; + } + expectImportAttributesPlugin() { + if (!this.hasPlugin("importAssertions")) { + this.expectPlugin("importAttributes"); + } + } + finishCallExpression(node, optional) { + if (node.callee.type === "Import") { + if (node.arguments.length === 2) { + { + if (!this.hasPlugin("moduleAttributes")) { + this.expectImportAttributesPlugin(); + } + } + } + if (node.arguments.length === 0 || node.arguments.length > 2) { + this.raise(Errors.ImportCallArity, { + at: node, + maxArgumentCount: this.hasPlugin("importAttributes") || this.hasPlugin("importAssertions") || this.hasPlugin("moduleAttributes") ? 2 : 1 + }); + } else { + for (const arg of node.arguments) { + if (arg.type === "SpreadElement") { + this.raise(Errors.ImportCallSpreadArgument, { + at: arg + }); + } + } + } + } + return this.finishNode(node, optional ? "OptionalCallExpression" : "CallExpression"); + } + parseCallExpressionArguments(close, dynamicImport, allowPlaceholder, nodeForExtra, refExpressionErrors) { + const elts = []; + let first = true; + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = false; + while (!this.eat(close)) { + if (first) { + first = false; + } else { + this.expect(12); + if (this.match(close)) { + if (dynamicImport && !this.hasPlugin("importAttributes") && !this.hasPlugin("importAssertions") && !this.hasPlugin("moduleAttributes")) { + this.raise(Errors.ImportCallArgumentTrailingComma, { + at: this.state.lastTokStartLoc + }); + } + if (nodeForExtra) { + this.addTrailingCommaExtraToNode(nodeForExtra); + } + this.next(); + break; + } + } + elts.push(this.parseExprListItem(false, refExpressionErrors, allowPlaceholder)); + } + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + return elts; + } + shouldParseAsyncArrow() { + return this.match(19) && !this.canInsertSemicolon(); + } + parseAsyncArrowFromCallExpression(node, call) { + var _call$extra; + this.resetPreviousNodeTrailingComments(call); + this.expect(19); + this.parseArrowExpression(node, call.arguments, true, (_call$extra = call.extra) == null ? void 0 : _call$extra.trailingCommaLoc); + if (call.innerComments) { + setInnerComments(node, call.innerComments); + } + if (call.callee.trailingComments) { + setInnerComments(node, call.callee.trailingComments); + } + return node; + } + parseNoCallExpr() { + const startLoc = this.state.startLoc; + return this.parseSubscripts(this.parseExprAtom(), startLoc, true); + } + parseExprAtom(refExpressionErrors) { + let node; + let decorators = null; + const { + type + } = this.state; + switch (type) { + case 79: + return this.parseSuper(); + case 83: + node = this.startNode(); + this.next(); + if (this.match(16)) { + return this.parseImportMetaProperty(node); + } + if (this.match(10)) { + if (this.options.createImportExpressions) { + return this.parseImportCall(node); + } else { + return this.finishNode(node, "Import"); + } + } else { + this.raise(Errors.UnsupportedImport, { + at: this.state.lastTokStartLoc + }); + return this.finishNode(node, "Import"); + } + case 78: + node = this.startNode(); + this.next(); + return this.finishNode(node, "ThisExpression"); + case 90: + { + return this.parseDo(this.startNode(), false); + } + case 56: + case 31: + { + this.readRegexp(); + return this.parseRegExpLiteral(this.state.value); + } + case 134: + return this.parseNumericLiteral(this.state.value); + case 135: + return this.parseBigIntLiteral(this.state.value); + case 136: + return this.parseDecimalLiteral(this.state.value); + case 133: + return this.parseStringLiteral(this.state.value); + case 84: + return this.parseNullLiteral(); + case 85: + return this.parseBooleanLiteral(true); + case 86: + return this.parseBooleanLiteral(false); + case 10: + { + const canBeArrow = this.state.potentialArrowAt === this.state.start; + return this.parseParenAndDistinguishExpression(canBeArrow); + } + case 2: + case 1: + { + return this.parseArrayLike(this.state.type === 2 ? 4 : 3, false, true); + } + case 0: + { + return this.parseArrayLike(3, true, false, refExpressionErrors); + } + case 6: + case 7: + { + return this.parseObjectLike(this.state.type === 6 ? 9 : 8, false, true); + } + case 5: + { + return this.parseObjectLike(8, false, false, refExpressionErrors); + } + case 68: + return this.parseFunctionOrFunctionSent(); + case 26: + decorators = this.parseDecorators(); + case 80: + return this.parseClass(this.maybeTakeDecorators(decorators, this.startNode()), false); + case 77: + return this.parseNewOrNewTarget(); + case 25: + case 24: + return this.parseTemplate(false); + case 15: + { + node = this.startNode(); + this.next(); + node.object = null; + const callee = node.callee = this.parseNoCallExpr(); + if (callee.type === "MemberExpression") { + return this.finishNode(node, "BindExpression"); + } else { + throw this.raise(Errors.UnsupportedBind, { + at: callee + }); + } + } + case 138: + { + this.raise(Errors.PrivateInExpectedIn, { + at: this.state.startLoc, + identifierName: this.state.value + }); + return this.parsePrivateName(); + } + case 33: + { + return this.parseTopicReferenceThenEqualsSign(54, "%"); + } + case 32: + { + return this.parseTopicReferenceThenEqualsSign(44, "^"); + } + case 37: + case 38: + { + return this.parseTopicReference("hack"); + } + case 44: + case 54: + case 27: + { + const pipeProposal = this.getPluginOption("pipelineOperator", "proposal"); + if (pipeProposal) { + return this.parseTopicReference(pipeProposal); + } + this.unexpected(); + break; + } + case 47: + { + const lookaheadCh = this.input.codePointAt(this.nextTokenStart()); + if (isIdentifierStart(lookaheadCh) || lookaheadCh === 62) { + this.expectOnePlugin(["jsx", "flow", "typescript"]); + } else { + this.unexpected(); + } + break; + } + default: + if (tokenIsIdentifier(type)) { + if (this.isContextual(127) && this.lookaheadInLineCharCode() === 123) { + return this.parseModuleExpression(); + } + const canBeArrow = this.state.potentialArrowAt === this.state.start; + const containsEsc = this.state.containsEsc; + const id = this.parseIdentifier(); + if (!containsEsc && id.name === "async" && !this.canInsertSemicolon()) { + const { + type + } = this.state; + if (type === 68) { + this.resetPreviousNodeTrailingComments(id); + this.next(); + return this.parseAsyncFunctionExpression(this.startNodeAtNode(id)); + } else if (tokenIsIdentifier(type)) { + if (this.lookaheadCharCode() === 61) { + return this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(id)); + } else { + return id; + } + } else if (type === 90) { + this.resetPreviousNodeTrailingComments(id); + return this.parseDo(this.startNodeAtNode(id), true); + } + } + if (canBeArrow && this.match(19) && !this.canInsertSemicolon()) { + this.next(); + return this.parseArrowExpression(this.startNodeAtNode(id), [id], false); + } + return id; + } else { + this.unexpected(); + } + } + } + parseTopicReferenceThenEqualsSign(topicTokenType, topicTokenValue) { + const pipeProposal = this.getPluginOption("pipelineOperator", "proposal"); + if (pipeProposal) { + this.state.type = topicTokenType; + this.state.value = topicTokenValue; + this.state.pos--; + this.state.end--; + this.state.endLoc = createPositionWithColumnOffset(this.state.endLoc, -1); + return this.parseTopicReference(pipeProposal); + } else { + this.unexpected(); + } + } + parseTopicReference(pipeProposal) { + const node = this.startNode(); + const startLoc = this.state.startLoc; + const tokenType = this.state.type; + this.next(); + return this.finishTopicReference(node, startLoc, pipeProposal, tokenType); + } + finishTopicReference(node, startLoc, pipeProposal, tokenType) { + if (this.testTopicReferenceConfiguration(pipeProposal, startLoc, tokenType)) { + const nodeType = pipeProposal === "smart" ? "PipelinePrimaryTopicReference" : "TopicReference"; + if (!this.topicReferenceIsAllowedInCurrentContext()) { + this.raise(pipeProposal === "smart" ? Errors.PrimaryTopicNotAllowed : Errors.PipeTopicUnbound, { + at: startLoc + }); + } + this.registerTopicReference(); + return this.finishNode(node, nodeType); + } else { + throw this.raise(Errors.PipeTopicUnconfiguredToken, { + at: startLoc, + token: tokenLabelName(tokenType) + }); + } + } + testTopicReferenceConfiguration(pipeProposal, startLoc, tokenType) { + switch (pipeProposal) { + case "hack": + { + return this.hasPlugin(["pipelineOperator", { + topicToken: tokenLabelName(tokenType) + }]); + } + case "smart": + return tokenType === 27; + default: + throw this.raise(Errors.PipeTopicRequiresHackPipes, { + at: startLoc + }); + } + } + parseAsyncArrowUnaryFunction(node) { + this.prodParam.enter(functionFlags(true, this.prodParam.hasYield)); + const params = [this.parseIdentifier()]; + this.prodParam.exit(); + if (this.hasPrecedingLineBreak()) { + this.raise(Errors.LineTerminatorBeforeArrow, { + at: this.state.curPosition() + }); + } + this.expect(19); + return this.parseArrowExpression(node, params, true); + } + parseDo(node, isAsync) { + this.expectPlugin("doExpressions"); + if (isAsync) { + this.expectPlugin("asyncDoExpressions"); + } + node.async = isAsync; + this.next(); + const oldLabels = this.state.labels; + this.state.labels = []; + if (isAsync) { + this.prodParam.enter(2); + node.body = this.parseBlock(); + this.prodParam.exit(); + } else { + node.body = this.parseBlock(); + } + this.state.labels = oldLabels; + return this.finishNode(node, "DoExpression"); + } + parseSuper() { + const node = this.startNode(); + this.next(); + if (this.match(10) && !this.scope.allowDirectSuper && !this.options.allowSuperOutsideMethod) { + this.raise(Errors.SuperNotAllowed, { + at: node + }); + } else if (!this.scope.allowSuper && !this.options.allowSuperOutsideMethod) { + this.raise(Errors.UnexpectedSuper, { + at: node + }); + } + if (!this.match(10) && !this.match(0) && !this.match(16)) { + this.raise(Errors.UnsupportedSuper, { + at: node + }); + } + return this.finishNode(node, "Super"); + } + parsePrivateName() { + const node = this.startNode(); + const id = this.startNodeAt(createPositionWithColumnOffset(this.state.startLoc, 1)); + const name = this.state.value; + this.next(); + node.id = this.createIdentifier(id, name); + return this.finishNode(node, "PrivateName"); + } + parseFunctionOrFunctionSent() { + const node = this.startNode(); + this.next(); + if (this.prodParam.hasYield && this.match(16)) { + const meta = this.createIdentifier(this.startNodeAtNode(node), "function"); + this.next(); + if (this.match(103)) { + this.expectPlugin("functionSent"); + } else if (!this.hasPlugin("functionSent")) { + this.unexpected(); + } + return this.parseMetaProperty(node, meta, "sent"); + } + return this.parseFunction(node); + } + parseMetaProperty(node, meta, propertyName) { + node.meta = meta; + const containsEsc = this.state.containsEsc; + node.property = this.parseIdentifier(true); + if (node.property.name !== propertyName || containsEsc) { + this.raise(Errors.UnsupportedMetaProperty, { + at: node.property, + target: meta.name, + onlyValidPropertyName: propertyName + }); + } + return this.finishNode(node, "MetaProperty"); + } + parseImportMetaProperty(node) { + const id = this.createIdentifier(this.startNodeAtNode(node), "import"); + this.next(); + if (this.isContextual(101)) { + if (!this.inModule) { + this.raise(Errors.ImportMetaOutsideModule, { + at: id + }); + } + this.sawUnambiguousESM = true; + } else if (this.isContextual(105) || this.isContextual(97)) { + const isSource = this.isContextual(105); + if (!isSource) this.unexpected(); + this.expectPlugin(isSource ? "sourcePhaseImports" : "deferredImportEvaluation"); + if (!this.options.createImportExpressions) { + throw this.raise(Errors.DynamicImportPhaseRequiresImportExpressions, { + at: this.state.startLoc, + phase: this.state.value + }); + } + this.next(); + node.phase = isSource ? "source" : "defer"; + return this.parseImportCall(node); + } + return this.parseMetaProperty(node, id, "meta"); + } + parseLiteralAtNode(value, type, node) { + this.addExtra(node, "rawValue", value); + this.addExtra(node, "raw", this.input.slice(node.start, this.state.end)); + node.value = value; + this.next(); + return this.finishNode(node, type); + } + parseLiteral(value, type) { + const node = this.startNode(); + return this.parseLiteralAtNode(value, type, node); + } + parseStringLiteral(value) { + return this.parseLiteral(value, "StringLiteral"); + } + parseNumericLiteral(value) { + return this.parseLiteral(value, "NumericLiteral"); + } + parseBigIntLiteral(value) { + return this.parseLiteral(value, "BigIntLiteral"); + } + parseDecimalLiteral(value) { + return this.parseLiteral(value, "DecimalLiteral"); + } + parseRegExpLiteral(value) { + const node = this.parseLiteral(value.value, "RegExpLiteral"); + node.pattern = value.pattern; + node.flags = value.flags; + return node; + } + parseBooleanLiteral(value) { + const node = this.startNode(); + node.value = value; + this.next(); + return this.finishNode(node, "BooleanLiteral"); + } + parseNullLiteral() { + const node = this.startNode(); + this.next(); + return this.finishNode(node, "NullLiteral"); + } + parseParenAndDistinguishExpression(canBeArrow) { + const startLoc = this.state.startLoc; + let val; + this.next(); + this.expressionScope.enter(newArrowHeadScope()); + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.maybeInArrowParameters = true; + this.state.inFSharpPipelineDirectBody = false; + const innerStartLoc = this.state.startLoc; + const exprList = []; + const refExpressionErrors = new ExpressionErrors(); + let first = true; + let spreadStartLoc; + let optionalCommaStartLoc; + while (!this.match(11)) { + if (first) { + first = false; + } else { + this.expect(12, refExpressionErrors.optionalParametersLoc === null ? null : refExpressionErrors.optionalParametersLoc); + if (this.match(11)) { + optionalCommaStartLoc = this.state.startLoc; + break; + } + } + if (this.match(21)) { + const spreadNodeStartLoc = this.state.startLoc; + spreadStartLoc = this.state.startLoc; + exprList.push(this.parseParenItem(this.parseRestBinding(), spreadNodeStartLoc)); + if (!this.checkCommaAfterRest(41)) { + break; + } + } else { + exprList.push(this.parseMaybeAssignAllowIn(refExpressionErrors, this.parseParenItem)); + } + } + const innerEndLoc = this.state.lastTokEndLoc; + this.expect(11); + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + let arrowNode = this.startNodeAt(startLoc); + if (canBeArrow && this.shouldParseArrow(exprList) && (arrowNode = this.parseArrow(arrowNode))) { + this.checkDestructuringPrivate(refExpressionErrors); + this.expressionScope.validateAsPattern(); + this.expressionScope.exit(); + this.parseArrowExpression(arrowNode, exprList, false); + return arrowNode; + } + this.expressionScope.exit(); + if (!exprList.length) { + this.unexpected(this.state.lastTokStartLoc); + } + if (optionalCommaStartLoc) this.unexpected(optionalCommaStartLoc); + if (spreadStartLoc) this.unexpected(spreadStartLoc); + this.checkExpressionErrors(refExpressionErrors, true); + this.toReferencedListDeep(exprList, true); + if (exprList.length > 1) { + val = this.startNodeAt(innerStartLoc); + val.expressions = exprList; + this.finishNode(val, "SequenceExpression"); + this.resetEndLocation(val, innerEndLoc); + } else { + val = exprList[0]; + } + return this.wrapParenthesis(startLoc, val); + } + wrapParenthesis(startLoc, expression) { + if (!this.options.createParenthesizedExpressions) { + this.addExtra(expression, "parenthesized", true); + this.addExtra(expression, "parenStart", startLoc.index); + this.takeSurroundingComments(expression, startLoc.index, this.state.lastTokEndLoc.index); + return expression; + } + const parenExpression = this.startNodeAt(startLoc); + parenExpression.expression = expression; + return this.finishNode(parenExpression, "ParenthesizedExpression"); + } + shouldParseArrow(params) { + return !this.canInsertSemicolon(); + } + parseArrow(node) { + if (this.eat(19)) { + return node; + } + } + parseParenItem(node, startLoc) { + return node; + } + parseNewOrNewTarget() { + const node = this.startNode(); + this.next(); + if (this.match(16)) { + const meta = this.createIdentifier(this.startNodeAtNode(node), "new"); + this.next(); + const metaProp = this.parseMetaProperty(node, meta, "target"); + if (!this.scope.inNonArrowFunction && !this.scope.inClass && !this.options.allowNewTargetOutsideFunction) { + this.raise(Errors.UnexpectedNewTarget, { + at: metaProp + }); + } + return metaProp; + } + return this.parseNew(node); + } + parseNew(node) { + this.parseNewCallee(node); + if (this.eat(10)) { + const args = this.parseExprList(11); + this.toReferencedList(args); + node.arguments = args; + } else { + node.arguments = []; + } + return this.finishNode(node, "NewExpression"); + } + parseNewCallee(node) { + const isImport = this.match(83); + const callee = this.parseNoCallExpr(); + node.callee = callee; + if (isImport && (callee.type === "Import" || callee.type === "ImportExpression")) { + this.raise(Errors.ImportCallNotNewExpression, { + at: callee + }); + } + } + parseTemplateElement(isTagged) { + const { + start, + startLoc, + end, + value + } = this.state; + const elemStart = start + 1; + const elem = this.startNodeAt(createPositionWithColumnOffset(startLoc, 1)); + if (value === null) { + if (!isTagged) { + this.raise(Errors.InvalidEscapeSequenceTemplate, { + at: createPositionWithColumnOffset(this.state.firstInvalidTemplateEscapePos, 1) + }); + } + } + const isTail = this.match(24); + const endOffset = isTail ? -1 : -2; + const elemEnd = end + endOffset; + elem.value = { + raw: this.input.slice(elemStart, elemEnd).replace(/\r\n?/g, "\n"), + cooked: value === null ? null : value.slice(1, endOffset) + }; + elem.tail = isTail; + this.next(); + const finishedNode = this.finishNode(elem, "TemplateElement"); + this.resetEndLocation(finishedNode, createPositionWithColumnOffset(this.state.lastTokEndLoc, endOffset)); + return finishedNode; + } + parseTemplate(isTagged) { + const node = this.startNode(); + node.expressions = []; + let curElt = this.parseTemplateElement(isTagged); + node.quasis = [curElt]; + while (!curElt.tail) { + node.expressions.push(this.parseTemplateSubstitution()); + this.readTemplateContinuation(); + node.quasis.push(curElt = this.parseTemplateElement(isTagged)); + } + return this.finishNode(node, "TemplateLiteral"); + } + parseTemplateSubstitution() { + return this.parseExpression(); + } + parseObjectLike(close, isPattern, isRecord, refExpressionErrors) { + if (isRecord) { + this.expectPlugin("recordAndTuple"); + } + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = false; + const propHash = Object.create(null); + let first = true; + const node = this.startNode(); + node.properties = []; + this.next(); + while (!this.match(close)) { + if (first) { + first = false; + } else { + this.expect(12); + if (this.match(close)) { + this.addTrailingCommaExtraToNode(node); + break; + } + } + let prop; + if (isPattern) { + prop = this.parseBindingProperty(); + } else { + prop = this.parsePropertyDefinition(refExpressionErrors); + this.checkProto(prop, isRecord, propHash, refExpressionErrors); + } + if (isRecord && !this.isObjectProperty(prop) && prop.type !== "SpreadElement") { + this.raise(Errors.InvalidRecordProperty, { + at: prop + }); + } + if (prop.shorthand) { + this.addExtra(prop, "shorthand", true); + } + node.properties.push(prop); + } + this.next(); + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + let type = "ObjectExpression"; + if (isPattern) { + type = "ObjectPattern"; + } else if (isRecord) { + type = "RecordExpression"; + } + return this.finishNode(node, type); + } + addTrailingCommaExtraToNode(node) { + this.addExtra(node, "trailingComma", this.state.lastTokStart); + this.addExtra(node, "trailingCommaLoc", this.state.lastTokStartLoc, false); + } + maybeAsyncOrAccessorProp(prop) { + return !prop.computed && prop.key.type === "Identifier" && (this.isLiteralPropertyName() || this.match(0) || this.match(55)); + } + parsePropertyDefinition(refExpressionErrors) { + let decorators = []; + if (this.match(26)) { + if (this.hasPlugin("decorators")) { + this.raise(Errors.UnsupportedPropertyDecorator, { + at: this.state.startLoc + }); + } + while (this.match(26)) { + decorators.push(this.parseDecorator()); + } + } + const prop = this.startNode(); + let isAsync = false; + let isAccessor = false; + let startLoc; + if (this.match(21)) { + if (decorators.length) this.unexpected(); + return this.parseSpread(); + } + if (decorators.length) { + prop.decorators = decorators; + decorators = []; + } + prop.method = false; + if (refExpressionErrors) { + startLoc = this.state.startLoc; + } + let isGenerator = this.eat(55); + this.parsePropertyNamePrefixOperator(prop); + const containsEsc = this.state.containsEsc; + const key = this.parsePropertyName(prop, refExpressionErrors); + if (!isGenerator && !containsEsc && this.maybeAsyncOrAccessorProp(prop)) { + const keyName = key.name; + if (keyName === "async" && !this.hasPrecedingLineBreak()) { + isAsync = true; + this.resetPreviousNodeTrailingComments(key); + isGenerator = this.eat(55); + this.parsePropertyName(prop); + } + if (keyName === "get" || keyName === "set") { + isAccessor = true; + this.resetPreviousNodeTrailingComments(key); + prop.kind = keyName; + if (this.match(55)) { + isGenerator = true; + this.raise(Errors.AccessorIsGenerator, { + at: this.state.curPosition(), + kind: keyName + }); + this.next(); + } + this.parsePropertyName(prop); + } + } + return this.parseObjPropValue(prop, startLoc, isGenerator, isAsync, false, isAccessor, refExpressionErrors); + } + getGetterSetterExpectedParamCount(method) { + return method.kind === "get" ? 0 : 1; + } + getObjectOrClassMethodParams(method) { + return method.params; + } + checkGetterSetterParams(method) { + var _params; + const paramCount = this.getGetterSetterExpectedParamCount(method); + const params = this.getObjectOrClassMethodParams(method); + if (params.length !== paramCount) { + this.raise(method.kind === "get" ? Errors.BadGetterArity : Errors.BadSetterArity, { + at: method + }); + } + if (method.kind === "set" && ((_params = params[params.length - 1]) == null ? void 0 : _params.type) === "RestElement") { + this.raise(Errors.BadSetterRestParameter, { + at: method + }); + } + } + parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) { + if (isAccessor) { + const finishedProp = this.parseMethod(prop, isGenerator, false, false, false, "ObjectMethod"); + this.checkGetterSetterParams(finishedProp); + return finishedProp; + } + if (isAsync || isGenerator || this.match(10)) { + if (isPattern) this.unexpected(); + prop.kind = "method"; + prop.method = true; + return this.parseMethod(prop, isGenerator, isAsync, false, false, "ObjectMethod"); + } + } + parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors) { + prop.shorthand = false; + if (this.eat(14)) { + prop.value = isPattern ? this.parseMaybeDefault(this.state.startLoc) : this.parseMaybeAssignAllowIn(refExpressionErrors); + return this.finishNode(prop, "ObjectProperty"); + } + if (!prop.computed && prop.key.type === "Identifier") { + this.checkReservedWord(prop.key.name, prop.key.loc.start, true, false); + if (isPattern) { + prop.value = this.parseMaybeDefault(startLoc, cloneIdentifier(prop.key)); + } else if (this.match(29)) { + const shorthandAssignLoc = this.state.startLoc; + if (refExpressionErrors != null) { + if (refExpressionErrors.shorthandAssignLoc === null) { + refExpressionErrors.shorthandAssignLoc = shorthandAssignLoc; + } + } else { + this.raise(Errors.InvalidCoverInitializedName, { + at: shorthandAssignLoc + }); + } + prop.value = this.parseMaybeDefault(startLoc, cloneIdentifier(prop.key)); + } else { + prop.value = cloneIdentifier(prop.key); + } + prop.shorthand = true; + return this.finishNode(prop, "ObjectProperty"); + } + } + parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) { + const node = this.parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) || this.parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors); + if (!node) this.unexpected(); + return node; + } + parsePropertyName(prop, refExpressionErrors) { + if (this.eat(0)) { + prop.computed = true; + prop.key = this.parseMaybeAssignAllowIn(); + this.expect(3); + } else { + const { + type, + value + } = this.state; + let key; + if (tokenIsKeywordOrIdentifier(type)) { + key = this.parseIdentifier(true); + } else { + switch (type) { + case 134: + key = this.parseNumericLiteral(value); + break; + case 133: + key = this.parseStringLiteral(value); + break; + case 135: + key = this.parseBigIntLiteral(value); + break; + case 136: + key = this.parseDecimalLiteral(value); + break; + case 138: + { + const privateKeyLoc = this.state.startLoc; + if (refExpressionErrors != null) { + if (refExpressionErrors.privateKeyLoc === null) { + refExpressionErrors.privateKeyLoc = privateKeyLoc; + } + } else { + this.raise(Errors.UnexpectedPrivateField, { + at: privateKeyLoc + }); + } + key = this.parsePrivateName(); + break; + } + default: + this.unexpected(); + } + } + prop.key = key; + if (type !== 138) { + prop.computed = false; + } + } + return prop.key; + } + initFunction(node, isAsync) { + node.id = null; + node.generator = false; + node.async = isAsync; + } + parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope = false) { + this.initFunction(node, isAsync); + node.generator = isGenerator; + this.scope.enter(2 | 16 | (inClassScope ? 64 : 0) | (allowDirectSuper ? 32 : 0)); + this.prodParam.enter(functionFlags(isAsync, node.generator)); + this.parseFunctionParams(node, isConstructor); + const finishedNode = this.parseFunctionBodyAndFinish(node, type, true); + this.prodParam.exit(); + this.scope.exit(); + return finishedNode; + } + parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) { + if (isTuple) { + this.expectPlugin("recordAndTuple"); + } + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = false; + const node = this.startNode(); + this.next(); + node.elements = this.parseExprList(close, !isTuple, refExpressionErrors, node); + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + return this.finishNode(node, isTuple ? "TupleExpression" : "ArrayExpression"); + } + parseArrowExpression(node, params, isAsync, trailingCommaLoc) { + this.scope.enter(2 | 4); + let flags = functionFlags(isAsync, false); + if (!this.match(5) && this.prodParam.hasIn) { + flags |= 8; + } + this.prodParam.enter(flags); + this.initFunction(node, isAsync); + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + if (params) { + this.state.maybeInArrowParameters = true; + this.setArrowFunctionParameters(node, params, trailingCommaLoc); + } + this.state.maybeInArrowParameters = false; + this.parseFunctionBody(node, true); + this.prodParam.exit(); + this.scope.exit(); + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + return this.finishNode(node, "ArrowFunctionExpression"); + } + setArrowFunctionParameters(node, params, trailingCommaLoc) { + this.toAssignableList(params, trailingCommaLoc, false); + node.params = params; + } + parseFunctionBodyAndFinish(node, type, isMethod = false) { + this.parseFunctionBody(node, false, isMethod); + return this.finishNode(node, type); + } + parseFunctionBody(node, allowExpression, isMethod = false) { + const isExpression = allowExpression && !this.match(5); + this.expressionScope.enter(newExpressionScope()); + if (isExpression) { + node.body = this.parseMaybeAssign(); + this.checkParams(node, false, allowExpression, false); + } else { + const oldStrict = this.state.strict; + const oldLabels = this.state.labels; + this.state.labels = []; + this.prodParam.enter(this.prodParam.currentFlags() | 4); + node.body = this.parseBlock(true, false, hasStrictModeDirective => { + const nonSimple = !this.isSimpleParamList(node.params); + if (hasStrictModeDirective && nonSimple) { + this.raise(Errors.IllegalLanguageModeDirective, { + at: (node.kind === "method" || node.kind === "constructor") && !!node.key ? node.key.loc.end : node + }); + } + const strictModeChanged = !oldStrict && this.state.strict; + this.checkParams(node, !this.state.strict && !allowExpression && !isMethod && !nonSimple, allowExpression, strictModeChanged); + if (this.state.strict && node.id) { + this.checkIdentifier(node.id, 65, strictModeChanged); + } + }); + this.prodParam.exit(); + this.state.labels = oldLabels; + } + this.expressionScope.exit(); + } + isSimpleParameter(node) { + return node.type === "Identifier"; + } + isSimpleParamList(params) { + for (let i = 0, len = params.length; i < len; i++) { + if (!this.isSimpleParameter(params[i])) return false; + } + return true; + } + checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged = true) { + const checkClashes = !allowDuplicates && new Set(); + const formalParameters = { + type: "FormalParameters" + }; + for (const param of node.params) { + this.checkLVal(param, { + in: formalParameters, + binding: 5, + checkClashes, + strictModeChanged + }); + } + } + parseExprList(close, allowEmpty, refExpressionErrors, nodeForExtra) { + const elts = []; + let first = true; + while (!this.eat(close)) { + if (first) { + first = false; + } else { + this.expect(12); + if (this.match(close)) { + if (nodeForExtra) { + this.addTrailingCommaExtraToNode(nodeForExtra); + } + this.next(); + break; + } + } + elts.push(this.parseExprListItem(allowEmpty, refExpressionErrors)); + } + return elts; + } + parseExprListItem(allowEmpty, refExpressionErrors, allowPlaceholder) { + let elt; + if (this.match(12)) { + if (!allowEmpty) { + this.raise(Errors.UnexpectedToken, { + at: this.state.curPosition(), + unexpected: "," + }); + } + elt = null; + } else if (this.match(21)) { + const spreadNodeStartLoc = this.state.startLoc; + elt = this.parseParenItem(this.parseSpread(refExpressionErrors), spreadNodeStartLoc); + } else if (this.match(17)) { + this.expectPlugin("partialApplication"); + if (!allowPlaceholder) { + this.raise(Errors.UnexpectedArgumentPlaceholder, { + at: this.state.startLoc + }); + } + const node = this.startNode(); + this.next(); + elt = this.finishNode(node, "ArgumentPlaceholder"); + } else { + elt = this.parseMaybeAssignAllowIn(refExpressionErrors, this.parseParenItem); + } + return elt; + } + parseIdentifier(liberal) { + const node = this.startNode(); + const name = this.parseIdentifierName(liberal); + return this.createIdentifier(node, name); + } + createIdentifier(node, name) { + node.name = name; + node.loc.identifierName = name; + return this.finishNode(node, "Identifier"); + } + parseIdentifierName(liberal) { + let name; + const { + startLoc, + type + } = this.state; + if (tokenIsKeywordOrIdentifier(type)) { + name = this.state.value; + } else { + this.unexpected(); + } + const tokenIsKeyword = tokenKeywordOrIdentifierIsKeyword(type); + if (liberal) { + if (tokenIsKeyword) { + this.replaceToken(132); + } + } else { + this.checkReservedWord(name, startLoc, tokenIsKeyword, false); + } + this.next(); + return name; + } + checkReservedWord(word, startLoc, checkKeywords, isBinding) { + if (word.length > 10) { + return; + } + if (!canBeReservedWord(word)) { + return; + } + if (checkKeywords && isKeyword(word)) { + this.raise(Errors.UnexpectedKeyword, { + at: startLoc, + keyword: word + }); + return; + } + const reservedTest = !this.state.strict ? isReservedWord : isBinding ? isStrictBindReservedWord : isStrictReservedWord; + if (reservedTest(word, this.inModule)) { + this.raise(Errors.UnexpectedReservedWord, { + at: startLoc, + reservedWord: word + }); + return; + } else if (word === "yield") { + if (this.prodParam.hasYield) { + this.raise(Errors.YieldBindingIdentifier, { + at: startLoc + }); + return; + } + } else if (word === "await") { + if (this.prodParam.hasAwait) { + this.raise(Errors.AwaitBindingIdentifier, { + at: startLoc + }); + return; + } + if (this.scope.inStaticBlock) { + this.raise(Errors.AwaitBindingIdentifierInStaticBlock, { + at: startLoc + }); + return; + } + this.expressionScope.recordAsyncArrowParametersError({ + at: startLoc + }); + } else if (word === "arguments") { + if (this.scope.inClassAndNotInNonArrowFunction) { + this.raise(Errors.ArgumentsInClass, { + at: startLoc + }); + return; + } + } + } + isAwaitAllowed() { + if (this.prodParam.hasAwait) return true; + if (this.options.allowAwaitOutsideFunction && !this.scope.inFunction) { + return true; + } + return false; + } + parseAwait(startLoc) { + const node = this.startNodeAt(startLoc); + this.expressionScope.recordParameterInitializerError(Errors.AwaitExpressionFormalParameter, { + at: node + }); + if (this.eat(55)) { + this.raise(Errors.ObsoleteAwaitStar, { + at: node + }); + } + if (!this.scope.inFunction && !this.options.allowAwaitOutsideFunction) { + if (this.isAmbiguousAwait()) { + this.ambiguousScriptDifferentAst = true; + } else { + this.sawUnambiguousESM = true; + } + } + if (!this.state.soloAwait) { + node.argument = this.parseMaybeUnary(null, true); + } + return this.finishNode(node, "AwaitExpression"); + } + isAmbiguousAwait() { + if (this.hasPrecedingLineBreak()) return true; + const { + type + } = this.state; + return type === 53 || type === 10 || type === 0 || tokenIsTemplate(type) || type === 102 && !this.state.containsEsc || type === 137 || type === 56 || this.hasPlugin("v8intrinsic") && type === 54; + } + parseYield() { + const node = this.startNode(); + this.expressionScope.recordParameterInitializerError(Errors.YieldInParameter, { + at: node + }); + this.next(); + let delegating = false; + let argument = null; + if (!this.hasPrecedingLineBreak()) { + delegating = this.eat(55); + switch (this.state.type) { + case 13: + case 139: + case 8: + case 11: + case 3: + case 9: + case 14: + case 12: + if (!delegating) break; + default: + argument = this.parseMaybeAssign(); + } + } + node.delegate = delegating; + node.argument = argument; + return this.finishNode(node, "YieldExpression"); + } + parseImportCall(node) { + this.next(); + node.source = this.parseMaybeAssignAllowIn(); + if (this.hasPlugin("importAttributes") || this.hasPlugin("importAssertions")) { + node.options = null; + } + if (this.eat(12)) { + this.expectImportAttributesPlugin(); + if (!this.match(11)) { + node.options = this.parseMaybeAssignAllowIn(); + this.eat(12); + } + } + this.expect(11); + return this.finishNode(node, "ImportExpression"); + } + checkPipelineAtInfixOperator(left, leftStartLoc) { + if (this.hasPlugin(["pipelineOperator", { + proposal: "smart" + }])) { + if (left.type === "SequenceExpression") { + this.raise(Errors.PipelineHeadSequenceExpression, { + at: leftStartLoc + }); + } + } + } + parseSmartPipelineBodyInStyle(childExpr, startLoc) { + if (this.isSimpleReference(childExpr)) { + const bodyNode = this.startNodeAt(startLoc); + bodyNode.callee = childExpr; + return this.finishNode(bodyNode, "PipelineBareFunction"); + } else { + const bodyNode = this.startNodeAt(startLoc); + this.checkSmartPipeTopicBodyEarlyErrors(startLoc); + bodyNode.expression = childExpr; + return this.finishNode(bodyNode, "PipelineTopicExpression"); + } + } + isSimpleReference(expression) { + switch (expression.type) { + case "MemberExpression": + return !expression.computed && this.isSimpleReference(expression.object); + case "Identifier": + return true; + default: + return false; + } + } + checkSmartPipeTopicBodyEarlyErrors(startLoc) { + if (this.match(19)) { + throw this.raise(Errors.PipelineBodyNoArrow, { + at: this.state.startLoc + }); + } + if (!this.topicReferenceWasUsedInCurrentContext()) { + this.raise(Errors.PipelineTopicUnused, { + at: startLoc + }); + } + } + withTopicBindingContext(callback) { + const outerContextTopicState = this.state.topicContext; + this.state.topicContext = { + maxNumOfResolvableTopics: 1, + maxTopicIndex: null + }; + try { + return callback(); + } finally { + this.state.topicContext = outerContextTopicState; + } + } + withSmartMixTopicForbiddingContext(callback) { + if (this.hasPlugin(["pipelineOperator", { + proposal: "smart" + }])) { + const outerContextTopicState = this.state.topicContext; + this.state.topicContext = { + maxNumOfResolvableTopics: 0, + maxTopicIndex: null + }; + try { + return callback(); + } finally { + this.state.topicContext = outerContextTopicState; + } + } else { + return callback(); + } + } + withSoloAwaitPermittingContext(callback) { + const outerContextSoloAwaitState = this.state.soloAwait; + this.state.soloAwait = true; + try { + return callback(); + } finally { + this.state.soloAwait = outerContextSoloAwaitState; + } + } + allowInAnd(callback) { + const flags = this.prodParam.currentFlags(); + const prodParamToSet = 8 & ~flags; + if (prodParamToSet) { + this.prodParam.enter(flags | 8); + try { + return callback(); + } finally { + this.prodParam.exit(); + } + } + return callback(); + } + disallowInAnd(callback) { + const flags = this.prodParam.currentFlags(); + const prodParamToClear = 8 & flags; + if (prodParamToClear) { + this.prodParam.enter(flags & ~8); + try { + return callback(); + } finally { + this.prodParam.exit(); + } + } + return callback(); + } + registerTopicReference() { + this.state.topicContext.maxTopicIndex = 0; + } + topicReferenceIsAllowedInCurrentContext() { + return this.state.topicContext.maxNumOfResolvableTopics >= 1; + } + topicReferenceWasUsedInCurrentContext() { + return this.state.topicContext.maxTopicIndex != null && this.state.topicContext.maxTopicIndex >= 0; + } + parseFSharpPipelineBody(prec) { + const startLoc = this.state.startLoc; + this.state.potentialArrowAt = this.state.start; + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = true; + const ret = this.parseExprOp(this.parseMaybeUnaryOrPrivate(), startLoc, prec); + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + return ret; + } + parseModuleExpression() { + this.expectPlugin("moduleBlocks"); + const node = this.startNode(); + this.next(); + if (!this.match(5)) { + this.unexpected(null, 5); + } + const program = this.startNodeAt(this.state.endLoc); + this.next(); + const revertScopes = this.initializeScopes(true); + this.enterInitialScopes(); + try { + node.body = this.parseProgram(program, 8, "module"); + } finally { + revertScopes(); + } + return this.finishNode(node, "ModuleExpression"); + } + parsePropertyNamePrefixOperator(prop) {} +} +const loopLabel = { + kind: "loop" + }, + switchLabel = { + kind: "switch" + }; +const loneSurrogate = /[\uD800-\uDFFF]/u; +const keywordRelationalOperator = /in(?:stanceof)?/y; +function babel7CompatTokens(tokens, input) { + for (let i = 0; i < tokens.length; i++) { + const token = tokens[i]; + const { + type + } = token; + if (typeof type === "number") { + { + if (type === 138) { + const { + loc, + start, + value, + end + } = token; + const hashEndPos = start + 1; + const hashEndLoc = createPositionWithColumnOffset(loc.start, 1); + tokens.splice(i, 1, new Token({ + type: getExportedToken(27), + value: "#", + start: start, + end: hashEndPos, + startLoc: loc.start, + endLoc: hashEndLoc + }), new Token({ + type: getExportedToken(132), + value: value, + start: hashEndPos, + end: end, + startLoc: hashEndLoc, + endLoc: loc.end + })); + i++; + continue; + } + if (tokenIsTemplate(type)) { + const { + loc, + start, + value, + end + } = token; + const backquoteEnd = start + 1; + const backquoteEndLoc = createPositionWithColumnOffset(loc.start, 1); + let startToken; + if (input.charCodeAt(start) === 96) { + startToken = new Token({ + type: getExportedToken(22), + value: "`", + start: start, + end: backquoteEnd, + startLoc: loc.start, + endLoc: backquoteEndLoc + }); + } else { + startToken = new Token({ + type: getExportedToken(8), + value: "}", + start: start, + end: backquoteEnd, + startLoc: loc.start, + endLoc: backquoteEndLoc + }); + } + let templateValue, templateElementEnd, templateElementEndLoc, endToken; + if (type === 24) { + templateElementEnd = end - 1; + templateElementEndLoc = createPositionWithColumnOffset(loc.end, -1); + templateValue = value === null ? null : value.slice(1, -1); + endToken = new Token({ + type: getExportedToken(22), + value: "`", + start: templateElementEnd, + end: end, + startLoc: templateElementEndLoc, + endLoc: loc.end + }); + } else { + templateElementEnd = end - 2; + templateElementEndLoc = createPositionWithColumnOffset(loc.end, -2); + templateValue = value === null ? null : value.slice(1, -2); + endToken = new Token({ + type: getExportedToken(23), + value: "${", + start: templateElementEnd, + end: end, + startLoc: templateElementEndLoc, + endLoc: loc.end + }); + } + tokens.splice(i, 1, startToken, new Token({ + type: getExportedToken(20), + value: templateValue, + start: backquoteEnd, + end: templateElementEnd, + startLoc: backquoteEndLoc, + endLoc: templateElementEndLoc + }), endToken); + i += 2; + continue; + } + } + token.type = getExportedToken(type); + } + } + return tokens; +} +class StatementParser extends ExpressionParser { + parseTopLevel(file, program) { + file.program = this.parseProgram(program); + file.comments = this.state.comments; + if (this.options.tokens) { + file.tokens = babel7CompatTokens(this.tokens, this.input); + } + return this.finishNode(file, "File"); + } + parseProgram(program, end = 139, sourceType = this.options.sourceType) { + program.sourceType = sourceType; + program.interpreter = this.parseInterpreterDirective(); + this.parseBlockBody(program, true, true, end); + if (this.inModule && !this.options.allowUndeclaredExports && this.scope.undefinedExports.size > 0) { + for (const [localName, at] of Array.from(this.scope.undefinedExports)) { + this.raise(Errors.ModuleExportUndefined, { + at, + localName + }); + } + } + let finishedProgram; + if (end === 139) { + finishedProgram = this.finishNode(program, "Program"); + } else { + finishedProgram = this.finishNodeAt(program, "Program", createPositionWithColumnOffset(this.state.startLoc, -1)); + } + return finishedProgram; + } + stmtToDirective(stmt) { + const directive = stmt; + directive.type = "Directive"; + directive.value = directive.expression; + delete directive.expression; + const directiveLiteral = directive.value; + const expressionValue = directiveLiteral.value; + const raw = this.input.slice(directiveLiteral.start, directiveLiteral.end); + const val = directiveLiteral.value = raw.slice(1, -1); + this.addExtra(directiveLiteral, "raw", raw); + this.addExtra(directiveLiteral, "rawValue", val); + this.addExtra(directiveLiteral, "expressionValue", expressionValue); + directiveLiteral.type = "DirectiveLiteral"; + return directive; + } + parseInterpreterDirective() { + if (!this.match(28)) { + return null; + } + const node = this.startNode(); + node.value = this.state.value; + this.next(); + return this.finishNode(node, "InterpreterDirective"); + } + isLet() { + if (!this.isContextual(100)) { + return false; + } + return this.hasFollowingBindingAtom(); + } + chStartsBindingIdentifier(ch, pos) { + if (isIdentifierStart(ch)) { + keywordRelationalOperator.lastIndex = pos; + if (keywordRelationalOperator.test(this.input)) { + const endCh = this.codePointAtPos(keywordRelationalOperator.lastIndex); + if (!isIdentifierChar(endCh) && endCh !== 92) { + return false; + } + } + return true; + } else if (ch === 92) { + return true; + } else { + return false; + } + } + chStartsBindingPattern(ch) { + return ch === 91 || ch === 123; + } + hasFollowingBindingAtom() { + const next = this.nextTokenStart(); + const nextCh = this.codePointAtPos(next); + return this.chStartsBindingPattern(nextCh) || this.chStartsBindingIdentifier(nextCh, next); + } + hasInLineFollowingBindingIdentifier() { + const next = this.nextTokenInLineStart(); + const nextCh = this.codePointAtPos(next); + return this.chStartsBindingIdentifier(nextCh, next); + } + startsUsingForOf() { + const { + type, + containsEsc + } = this.lookahead(); + if (type === 102 && !containsEsc) { + return false; + } else if (tokenIsIdentifier(type) && !this.hasFollowingLineBreak()) { + this.expectPlugin("explicitResourceManagement"); + return true; + } + } + startsAwaitUsing() { + let next = this.nextTokenInLineStart(); + if (this.isUnparsedContextual(next, "using")) { + next = this.nextTokenInLineStartSince(next + 5); + const nextCh = this.codePointAtPos(next); + if (this.chStartsBindingIdentifier(nextCh, next)) { + this.expectPlugin("explicitResourceManagement"); + return true; + } + } + return false; + } + parseModuleItem() { + return this.parseStatementLike(1 | 2 | 4 | 8); + } + parseStatementListItem() { + return this.parseStatementLike(2 | 4 | (!this.options.annexB || this.state.strict ? 0 : 8)); + } + parseStatementOrSloppyAnnexBFunctionDeclaration(allowLabeledFunction = false) { + let flags = 0; + if (this.options.annexB && !this.state.strict) { + flags |= 4; + if (allowLabeledFunction) { + flags |= 8; + } + } + return this.parseStatementLike(flags); + } + parseStatement() { + return this.parseStatementLike(0); + } + parseStatementLike(flags) { + let decorators = null; + if (this.match(26)) { + decorators = this.parseDecorators(true); + } + return this.parseStatementContent(flags, decorators); + } + parseStatementContent(flags, decorators) { + const starttype = this.state.type; + const node = this.startNode(); + const allowDeclaration = !!(flags & 2); + const allowFunctionDeclaration = !!(flags & 4); + const topLevel = flags & 1; + switch (starttype) { + case 60: + return this.parseBreakContinueStatement(node, true); + case 63: + return this.parseBreakContinueStatement(node, false); + case 64: + return this.parseDebuggerStatement(node); + case 90: + return this.parseDoWhileStatement(node); + case 91: + return this.parseForStatement(node); + case 68: + if (this.lookaheadCharCode() === 46) break; + if (!allowFunctionDeclaration) { + this.raise(this.state.strict ? Errors.StrictFunction : this.options.annexB ? Errors.SloppyFunctionAnnexB : Errors.SloppyFunction, { + at: this.state.startLoc + }); + } + return this.parseFunctionStatement(node, false, !allowDeclaration && allowFunctionDeclaration); + case 80: + if (!allowDeclaration) this.unexpected(); + return this.parseClass(this.maybeTakeDecorators(decorators, node), true); + case 69: + return this.parseIfStatement(node); + case 70: + return this.parseReturnStatement(node); + case 71: + return this.parseSwitchStatement(node); + case 72: + return this.parseThrowStatement(node); + case 73: + return this.parseTryStatement(node); + case 96: + if (!this.state.containsEsc && this.startsAwaitUsing()) { + if (!this.isAwaitAllowed()) { + this.raise(Errors.AwaitUsingNotInAsyncContext, { + at: node + }); + } else if (!allowDeclaration) { + this.raise(Errors.UnexpectedLexicalDeclaration, { + at: node + }); + } + this.next(); + return this.parseVarStatement(node, "await using"); + } + break; + case 107: + if (this.state.containsEsc || !this.hasInLineFollowingBindingIdentifier()) { + break; + } + this.expectPlugin("explicitResourceManagement"); + if (!this.scope.inModule && this.scope.inTopLevel) { + this.raise(Errors.UnexpectedUsingDeclaration, { + at: this.state.startLoc + }); + } else if (!allowDeclaration) { + this.raise(Errors.UnexpectedLexicalDeclaration, { + at: this.state.startLoc + }); + } + return this.parseVarStatement(node, "using"); + case 100: + { + if (this.state.containsEsc) { + break; + } + const next = this.nextTokenStart(); + const nextCh = this.codePointAtPos(next); + if (nextCh !== 91) { + if (!allowDeclaration && this.hasFollowingLineBreak()) break; + if (!this.chStartsBindingIdentifier(nextCh, next) && nextCh !== 123) { + break; + } + } + } + case 75: + { + if (!allowDeclaration) { + this.raise(Errors.UnexpectedLexicalDeclaration, { + at: this.state.startLoc + }); + } + } + case 74: + { + const kind = this.state.value; + return this.parseVarStatement(node, kind); + } + case 92: + return this.parseWhileStatement(node); + case 76: + return this.parseWithStatement(node); + case 5: + return this.parseBlock(); + case 13: + return this.parseEmptyStatement(node); + case 83: + { + const nextTokenCharCode = this.lookaheadCharCode(); + if (nextTokenCharCode === 40 || nextTokenCharCode === 46) { + break; + } + } + case 82: + { + if (!this.options.allowImportExportEverywhere && !topLevel) { + this.raise(Errors.UnexpectedImportExport, { + at: this.state.startLoc + }); + } + this.next(); + let result; + if (starttype === 83) { + result = this.parseImport(node); + if (result.type === "ImportDeclaration" && (!result.importKind || result.importKind === "value")) { + this.sawUnambiguousESM = true; + } + } else { + result = this.parseExport(node, decorators); + if (result.type === "ExportNamedDeclaration" && (!result.exportKind || result.exportKind === "value") || result.type === "ExportAllDeclaration" && (!result.exportKind || result.exportKind === "value") || result.type === "ExportDefaultDeclaration") { + this.sawUnambiguousESM = true; + } + } + this.assertModuleNodeAllowed(result); + return result; + } + default: + { + if (this.isAsyncFunction()) { + if (!allowDeclaration) { + this.raise(Errors.AsyncFunctionInSingleStatementContext, { + at: this.state.startLoc + }); + } + this.next(); + return this.parseFunctionStatement(node, true, !allowDeclaration && allowFunctionDeclaration); + } + } + } + const maybeName = this.state.value; + const expr = this.parseExpression(); + if (tokenIsIdentifier(starttype) && expr.type === "Identifier" && this.eat(14)) { + return this.parseLabeledStatement(node, maybeName, expr, flags); + } else { + return this.parseExpressionStatement(node, expr, decorators); + } + } + assertModuleNodeAllowed(node) { + if (!this.options.allowImportExportEverywhere && !this.inModule) { + this.raise(Errors.ImportOutsideModule, { + at: node + }); + } + } + decoratorsEnabledBeforeExport() { + if (this.hasPlugin("decorators-legacy")) return true; + return this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport") !== false; + } + maybeTakeDecorators(maybeDecorators, classNode, exportNode) { + if (maybeDecorators) { + if (classNode.decorators && classNode.decorators.length > 0) { + if (typeof this.getPluginOption("decorators", "decoratorsBeforeExport") !== "boolean") { + this.raise(Errors.DecoratorsBeforeAfterExport, { + at: classNode.decorators[0] + }); + } + classNode.decorators.unshift(...maybeDecorators); + } else { + classNode.decorators = maybeDecorators; + } + this.resetStartLocationFromNode(classNode, maybeDecorators[0]); + if (exportNode) this.resetStartLocationFromNode(exportNode, classNode); + } + return classNode; + } + canHaveLeadingDecorator() { + return this.match(80); + } + parseDecorators(allowExport) { + const decorators = []; + do { + decorators.push(this.parseDecorator()); + } while (this.match(26)); + if (this.match(82)) { + if (!allowExport) { + this.unexpected(); + } + if (!this.decoratorsEnabledBeforeExport()) { + this.raise(Errors.DecoratorExportClass, { + at: this.state.startLoc + }); + } + } else if (!this.canHaveLeadingDecorator()) { + throw this.raise(Errors.UnexpectedLeadingDecorator, { + at: this.state.startLoc + }); + } + return decorators; + } + parseDecorator() { + this.expectOnePlugin(["decorators", "decorators-legacy"]); + const node = this.startNode(); + this.next(); + if (this.hasPlugin("decorators")) { + const startLoc = this.state.startLoc; + let expr; + if (this.match(10)) { + const startLoc = this.state.startLoc; + this.next(); + expr = this.parseExpression(); + this.expect(11); + expr = this.wrapParenthesis(startLoc, expr); + const paramsStartLoc = this.state.startLoc; + node.expression = this.parseMaybeDecoratorArguments(expr); + if (this.getPluginOption("decorators", "allowCallParenthesized") === false && node.expression !== expr) { + this.raise(Errors.DecoratorArgumentsOutsideParentheses, { + at: paramsStartLoc + }); + } + } else { + expr = this.parseIdentifier(false); + while (this.eat(16)) { + const node = this.startNodeAt(startLoc); + node.object = expr; + if (this.match(138)) { + this.classScope.usePrivateName(this.state.value, this.state.startLoc); + node.property = this.parsePrivateName(); + } else { + node.property = this.parseIdentifier(true); + } + node.computed = false; + expr = this.finishNode(node, "MemberExpression"); + } + node.expression = this.parseMaybeDecoratorArguments(expr); + } + } else { + node.expression = this.parseExprSubscripts(); + } + return this.finishNode(node, "Decorator"); + } + parseMaybeDecoratorArguments(expr) { + if (this.eat(10)) { + const node = this.startNodeAtNode(expr); + node.callee = expr; + node.arguments = this.parseCallExpressionArguments(11, false); + this.toReferencedList(node.arguments); + return this.finishNode(node, "CallExpression"); + } + return expr; + } + parseBreakContinueStatement(node, isBreak) { + this.next(); + if (this.isLineTerminator()) { + node.label = null; + } else { + node.label = this.parseIdentifier(); + this.semicolon(); + } + this.verifyBreakContinue(node, isBreak); + return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement"); + } + verifyBreakContinue(node, isBreak) { + let i; + for (i = 0; i < this.state.labels.length; ++i) { + const lab = this.state.labels[i]; + if (node.label == null || lab.name === node.label.name) { + if (lab.kind != null && (isBreak || lab.kind === "loop")) break; + if (node.label && isBreak) break; + } + } + if (i === this.state.labels.length) { + const type = isBreak ? "BreakStatement" : "ContinueStatement"; + this.raise(Errors.IllegalBreakContinue, { + at: node, + type + }); + } + } + parseDebuggerStatement(node) { + this.next(); + this.semicolon(); + return this.finishNode(node, "DebuggerStatement"); + } + parseHeaderExpression() { + this.expect(10); + const val = this.parseExpression(); + this.expect(11); + return val; + } + parseDoWhileStatement(node) { + this.next(); + this.state.labels.push(loopLabel); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()); + this.state.labels.pop(); + this.expect(92); + node.test = this.parseHeaderExpression(); + this.eat(13); + return this.finishNode(node, "DoWhileStatement"); + } + parseForStatement(node) { + this.next(); + this.state.labels.push(loopLabel); + let awaitAt = null; + if (this.isAwaitAllowed() && this.eatContextual(96)) { + awaitAt = this.state.lastTokStartLoc; + } + this.scope.enter(0); + this.expect(10); + if (this.match(13)) { + if (awaitAt !== null) { + this.unexpected(awaitAt); + } + return this.parseFor(node, null); + } + const startsWithLet = this.isContextual(100); + { + const startsWithAwaitUsing = this.isContextual(96) && this.startsAwaitUsing(); + const starsWithUsingDeclaration = startsWithAwaitUsing || this.isContextual(107) && this.startsUsingForOf(); + const isLetOrUsing = startsWithLet && this.hasFollowingBindingAtom() || starsWithUsingDeclaration; + if (this.match(74) || this.match(75) || isLetOrUsing) { + const initNode = this.startNode(); + let kind; + if (startsWithAwaitUsing) { + kind = "await using"; + if (!this.isAwaitAllowed()) { + this.raise(Errors.AwaitUsingNotInAsyncContext, { + at: this.state.startLoc + }); + } + this.next(); + } else { + kind = this.state.value; + } + this.next(); + this.parseVar(initNode, true, kind); + const init = this.finishNode(initNode, "VariableDeclaration"); + const isForIn = this.match(58); + if (isForIn && starsWithUsingDeclaration) { + this.raise(Errors.ForInUsing, { + at: init + }); + } + if ((isForIn || this.isContextual(102)) && init.declarations.length === 1) { + return this.parseForIn(node, init, awaitAt); + } + if (awaitAt !== null) { + this.unexpected(awaitAt); + } + return this.parseFor(node, init); + } + } + const startsWithAsync = this.isContextual(95); + const refExpressionErrors = new ExpressionErrors(); + const init = this.parseExpression(true, refExpressionErrors); + const isForOf = this.isContextual(102); + if (isForOf) { + if (startsWithLet) { + this.raise(Errors.ForOfLet, { + at: init + }); + } + if (awaitAt === null && startsWithAsync && init.type === "Identifier") { + this.raise(Errors.ForOfAsync, { + at: init + }); + } + } + if (isForOf || this.match(58)) { + this.checkDestructuringPrivate(refExpressionErrors); + this.toAssignable(init, true); + const type = isForOf ? "ForOfStatement" : "ForInStatement"; + this.checkLVal(init, { + in: { + type + } + }); + return this.parseForIn(node, init, awaitAt); + } else { + this.checkExpressionErrors(refExpressionErrors, true); + } + if (awaitAt !== null) { + this.unexpected(awaitAt); + } + return this.parseFor(node, init); + } + parseFunctionStatement(node, isAsync, isHangingDeclaration) { + this.next(); + return this.parseFunction(node, 1 | (isHangingDeclaration ? 2 : 0) | (isAsync ? 8 : 0)); + } + parseIfStatement(node) { + this.next(); + node.test = this.parseHeaderExpression(); + node.consequent = this.parseStatementOrSloppyAnnexBFunctionDeclaration(); + node.alternate = this.eat(66) ? this.parseStatementOrSloppyAnnexBFunctionDeclaration() : null; + return this.finishNode(node, "IfStatement"); + } + parseReturnStatement(node) { + if (!this.prodParam.hasReturn && !this.options.allowReturnOutsideFunction) { + this.raise(Errors.IllegalReturn, { + at: this.state.startLoc + }); + } + this.next(); + if (this.isLineTerminator()) { + node.argument = null; + } else { + node.argument = this.parseExpression(); + this.semicolon(); + } + return this.finishNode(node, "ReturnStatement"); + } + parseSwitchStatement(node) { + this.next(); + node.discriminant = this.parseHeaderExpression(); + const cases = node.cases = []; + this.expect(5); + this.state.labels.push(switchLabel); + this.scope.enter(0); + let cur; + for (let sawDefault; !this.match(8);) { + if (this.match(61) || this.match(65)) { + const isCase = this.match(61); + if (cur) this.finishNode(cur, "SwitchCase"); + cases.push(cur = this.startNode()); + cur.consequent = []; + this.next(); + if (isCase) { + cur.test = this.parseExpression(); + } else { + if (sawDefault) { + this.raise(Errors.MultipleDefaultsInSwitch, { + at: this.state.lastTokStartLoc + }); + } + sawDefault = true; + cur.test = null; + } + this.expect(14); + } else { + if (cur) { + cur.consequent.push(this.parseStatementListItem()); + } else { + this.unexpected(); + } + } + } + this.scope.exit(); + if (cur) this.finishNode(cur, "SwitchCase"); + this.next(); + this.state.labels.pop(); + return this.finishNode(node, "SwitchStatement"); + } + parseThrowStatement(node) { + this.next(); + if (this.hasPrecedingLineBreak()) { + this.raise(Errors.NewlineAfterThrow, { + at: this.state.lastTokEndLoc + }); + } + node.argument = this.parseExpression(); + this.semicolon(); + return this.finishNode(node, "ThrowStatement"); + } + parseCatchClauseParam() { + const param = this.parseBindingAtom(); + this.scope.enter(this.options.annexB && param.type === "Identifier" ? 8 : 0); + this.checkLVal(param, { + in: { + type: "CatchClause" + }, + binding: 9 + }); + return param; + } + parseTryStatement(node) { + this.next(); + node.block = this.parseBlock(); + node.handler = null; + if (this.match(62)) { + const clause = this.startNode(); + this.next(); + if (this.match(10)) { + this.expect(10); + clause.param = this.parseCatchClauseParam(); + this.expect(11); + } else { + clause.param = null; + this.scope.enter(0); + } + clause.body = this.withSmartMixTopicForbiddingContext(() => this.parseBlock(false, false)); + this.scope.exit(); + node.handler = this.finishNode(clause, "CatchClause"); + } + node.finalizer = this.eat(67) ? this.parseBlock() : null; + if (!node.handler && !node.finalizer) { + this.raise(Errors.NoCatchOrFinally, { + at: node + }); + } + return this.finishNode(node, "TryStatement"); + } + parseVarStatement(node, kind, allowMissingInitializer = false) { + this.next(); + this.parseVar(node, false, kind, allowMissingInitializer); + this.semicolon(); + return this.finishNode(node, "VariableDeclaration"); + } + parseWhileStatement(node) { + this.next(); + node.test = this.parseHeaderExpression(); + this.state.labels.push(loopLabel); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()); + this.state.labels.pop(); + return this.finishNode(node, "WhileStatement"); + } + parseWithStatement(node) { + if (this.state.strict) { + this.raise(Errors.StrictWith, { + at: this.state.startLoc + }); + } + this.next(); + node.object = this.parseHeaderExpression(); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()); + return this.finishNode(node, "WithStatement"); + } + parseEmptyStatement(node) { + this.next(); + return this.finishNode(node, "EmptyStatement"); + } + parseLabeledStatement(node, maybeName, expr, flags) { + for (const label of this.state.labels) { + if (label.name === maybeName) { + this.raise(Errors.LabelRedeclaration, { + at: expr, + labelName: maybeName + }); + } + } + const kind = tokenIsLoop(this.state.type) ? "loop" : this.match(71) ? "switch" : null; + for (let i = this.state.labels.length - 1; i >= 0; i--) { + const label = this.state.labels[i]; + if (label.statementStart === node.start) { + label.statementStart = this.state.start; + label.kind = kind; + } else { + break; + } + } + this.state.labels.push({ + name: maybeName, + kind: kind, + statementStart: this.state.start + }); + node.body = flags & 8 ? this.parseStatementOrSloppyAnnexBFunctionDeclaration(true) : this.parseStatement(); + this.state.labels.pop(); + node.label = expr; + return this.finishNode(node, "LabeledStatement"); + } + parseExpressionStatement(node, expr, decorators) { + node.expression = expr; + this.semicolon(); + return this.finishNode(node, "ExpressionStatement"); + } + parseBlock(allowDirectives = false, createNewLexicalScope = true, afterBlockParse) { + const node = this.startNode(); + if (allowDirectives) { + this.state.strictErrors.clear(); + } + this.expect(5); + if (createNewLexicalScope) { + this.scope.enter(0); + } + this.parseBlockBody(node, allowDirectives, false, 8, afterBlockParse); + if (createNewLexicalScope) { + this.scope.exit(); + } + return this.finishNode(node, "BlockStatement"); + } + isValidDirective(stmt) { + return stmt.type === "ExpressionStatement" && stmt.expression.type === "StringLiteral" && !stmt.expression.extra.parenthesized; + } + parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse) { + const body = node.body = []; + const directives = node.directives = []; + this.parseBlockOrModuleBlockBody(body, allowDirectives ? directives : undefined, topLevel, end, afterBlockParse); + } + parseBlockOrModuleBlockBody(body, directives, topLevel, end, afterBlockParse) { + const oldStrict = this.state.strict; + let hasStrictModeDirective = false; + let parsedNonDirective = false; + while (!this.match(end)) { + const stmt = topLevel ? this.parseModuleItem() : this.parseStatementListItem(); + if (directives && !parsedNonDirective) { + if (this.isValidDirective(stmt)) { + const directive = this.stmtToDirective(stmt); + directives.push(directive); + if (!hasStrictModeDirective && directive.value.value === "use strict") { + hasStrictModeDirective = true; + this.setStrict(true); + } + continue; + } + parsedNonDirective = true; + this.state.strictErrors.clear(); + } + body.push(stmt); + } + afterBlockParse == null || afterBlockParse.call(this, hasStrictModeDirective); + if (!oldStrict) { + this.setStrict(false); + } + this.next(); + } + parseFor(node, init) { + node.init = init; + this.semicolon(false); + node.test = this.match(13) ? null : this.parseExpression(); + this.semicolon(false); + node.update = this.match(11) ? null : this.parseExpression(); + this.expect(11); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()); + this.scope.exit(); + this.state.labels.pop(); + return this.finishNode(node, "ForStatement"); + } + parseForIn(node, init, awaitAt) { + const isForIn = this.match(58); + this.next(); + if (isForIn) { + if (awaitAt !== null) this.unexpected(awaitAt); + } else { + node.await = awaitAt !== null; + } + if (init.type === "VariableDeclaration" && init.declarations[0].init != null && (!isForIn || !this.options.annexB || this.state.strict || init.kind !== "var" || init.declarations[0].id.type !== "Identifier")) { + this.raise(Errors.ForInOfLoopInitializer, { + at: init, + type: isForIn ? "ForInStatement" : "ForOfStatement" + }); + } + if (init.type === "AssignmentPattern") { + this.raise(Errors.InvalidLhs, { + at: init, + ancestor: { + type: "ForStatement" + } + }); + } + node.left = init; + node.right = isForIn ? this.parseExpression() : this.parseMaybeAssignAllowIn(); + this.expect(11); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()); + this.scope.exit(); + this.state.labels.pop(); + return this.finishNode(node, isForIn ? "ForInStatement" : "ForOfStatement"); + } + parseVar(node, isFor, kind, allowMissingInitializer = false) { + const declarations = node.declarations = []; + node.kind = kind; + for (;;) { + const decl = this.startNode(); + this.parseVarId(decl, kind); + decl.init = !this.eat(29) ? null : isFor ? this.parseMaybeAssignDisallowIn() : this.parseMaybeAssignAllowIn(); + if (decl.init === null && !allowMissingInitializer) { + if (decl.id.type !== "Identifier" && !(isFor && (this.match(58) || this.isContextual(102)))) { + this.raise(Errors.DeclarationMissingInitializer, { + at: this.state.lastTokEndLoc, + kind: "destructuring" + }); + } else if (kind === "const" && !(this.match(58) || this.isContextual(102))) { + this.raise(Errors.DeclarationMissingInitializer, { + at: this.state.lastTokEndLoc, + kind: "const" + }); + } + } + declarations.push(this.finishNode(decl, "VariableDeclarator")); + if (!this.eat(12)) break; + } + return node; + } + parseVarId(decl, kind) { + const id = this.parseBindingAtom(); + this.checkLVal(id, { + in: { + type: "VariableDeclarator" + }, + binding: kind === "var" ? 5 : 8201 + }); + decl.id = id; + } + parseAsyncFunctionExpression(node) { + return this.parseFunction(node, 8); + } + parseFunction(node, flags = 0) { + const hangingDeclaration = flags & 2; + const isDeclaration = !!(flags & 1); + const requireId = isDeclaration && !(flags & 4); + const isAsync = !!(flags & 8); + this.initFunction(node, isAsync); + if (this.match(55)) { + if (hangingDeclaration) { + this.raise(Errors.GeneratorInSingleStatementContext, { + at: this.state.startLoc + }); + } + this.next(); + node.generator = true; + } + if (isDeclaration) { + node.id = this.parseFunctionId(requireId); + } + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + this.state.maybeInArrowParameters = false; + this.scope.enter(2); + this.prodParam.enter(functionFlags(isAsync, node.generator)); + if (!isDeclaration) { + node.id = this.parseFunctionId(); + } + this.parseFunctionParams(node, false); + this.withSmartMixTopicForbiddingContext(() => { + this.parseFunctionBodyAndFinish(node, isDeclaration ? "FunctionDeclaration" : "FunctionExpression"); + }); + this.prodParam.exit(); + this.scope.exit(); + if (isDeclaration && !hangingDeclaration) { + this.registerFunctionStatementId(node); + } + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + return node; + } + parseFunctionId(requireId) { + return requireId || tokenIsIdentifier(this.state.type) ? this.parseIdentifier() : null; + } + parseFunctionParams(node, isConstructor) { + this.expect(10); + this.expressionScope.enter(newParameterDeclarationScope()); + node.params = this.parseBindingList(11, 41, 2 | (isConstructor ? 4 : 0)); + this.expressionScope.exit(); + } + registerFunctionStatementId(node) { + if (!node.id) return; + this.scope.declareName(node.id.name, !this.options.annexB || this.state.strict || node.generator || node.async ? this.scope.treatFunctionsAsVar ? 5 : 8201 : 17, node.id.loc.start); + } + parseClass(node, isStatement, optionalId) { + this.next(); + const oldStrict = this.state.strict; + this.state.strict = true; + this.parseClassId(node, isStatement, optionalId); + this.parseClassSuper(node); + node.body = this.parseClassBody(!!node.superClass, oldStrict); + return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression"); + } + isClassProperty() { + return this.match(29) || this.match(13) || this.match(8); + } + isClassMethod() { + return this.match(10); + } + isNonstaticConstructor(method) { + return !method.computed && !method.static && (method.key.name === "constructor" || method.key.value === "constructor"); + } + parseClassBody(hadSuperClass, oldStrict) { + this.classScope.enter(); + const state = { + hadConstructor: false, + hadSuperClass + }; + let decorators = []; + const classBody = this.startNode(); + classBody.body = []; + this.expect(5); + this.withSmartMixTopicForbiddingContext(() => { + while (!this.match(8)) { + if (this.eat(13)) { + if (decorators.length > 0) { + throw this.raise(Errors.DecoratorSemicolon, { + at: this.state.lastTokEndLoc + }); + } + continue; + } + if (this.match(26)) { + decorators.push(this.parseDecorator()); + continue; + } + const member = this.startNode(); + if (decorators.length) { + member.decorators = decorators; + this.resetStartLocationFromNode(member, decorators[0]); + decorators = []; + } + this.parseClassMember(classBody, member, state); + if (member.kind === "constructor" && member.decorators && member.decorators.length > 0) { + this.raise(Errors.DecoratorConstructor, { + at: member + }); + } + } + }); + this.state.strict = oldStrict; + this.next(); + if (decorators.length) { + throw this.raise(Errors.TrailingDecorator, { + at: this.state.startLoc + }); + } + this.classScope.exit(); + return this.finishNode(classBody, "ClassBody"); + } + parseClassMemberFromModifier(classBody, member) { + const key = this.parseIdentifier(true); + if (this.isClassMethod()) { + const method = member; + method.kind = "method"; + method.computed = false; + method.key = key; + method.static = false; + this.pushClassMethod(classBody, method, false, false, false, false); + return true; + } else if (this.isClassProperty()) { + const prop = member; + prop.computed = false; + prop.key = key; + prop.static = false; + classBody.body.push(this.parseClassProperty(prop)); + return true; + } + this.resetPreviousNodeTrailingComments(key); + return false; + } + parseClassMember(classBody, member, state) { + const isStatic = this.isContextual(106); + if (isStatic) { + if (this.parseClassMemberFromModifier(classBody, member)) { + return; + } + if (this.eat(5)) { + this.parseClassStaticBlock(classBody, member); + return; + } + } + this.parseClassMemberWithIsStatic(classBody, member, state, isStatic); + } + parseClassMemberWithIsStatic(classBody, member, state, isStatic) { + const publicMethod = member; + const privateMethod = member; + const publicProp = member; + const privateProp = member; + const accessorProp = member; + const method = publicMethod; + const publicMember = publicMethod; + member.static = isStatic; + this.parsePropertyNamePrefixOperator(member); + if (this.eat(55)) { + method.kind = "method"; + const isPrivateName = this.match(138); + this.parseClassElementName(method); + if (isPrivateName) { + this.pushClassPrivateMethod(classBody, privateMethod, true, false); + return; + } + if (this.isNonstaticConstructor(publicMethod)) { + this.raise(Errors.ConstructorIsGenerator, { + at: publicMethod.key + }); + } + this.pushClassMethod(classBody, publicMethod, true, false, false, false); + return; + } + const isContextual = tokenIsIdentifier(this.state.type) && !this.state.containsEsc; + const isPrivate = this.match(138); + const key = this.parseClassElementName(member); + const maybeQuestionTokenStartLoc = this.state.startLoc; + this.parsePostMemberNameModifiers(publicMember); + if (this.isClassMethod()) { + method.kind = "method"; + if (isPrivate) { + this.pushClassPrivateMethod(classBody, privateMethod, false, false); + return; + } + const isConstructor = this.isNonstaticConstructor(publicMethod); + let allowsDirectSuper = false; + if (isConstructor) { + publicMethod.kind = "constructor"; + if (state.hadConstructor && !this.hasPlugin("typescript")) { + this.raise(Errors.DuplicateConstructor, { + at: key + }); + } + if (isConstructor && this.hasPlugin("typescript") && member.override) { + this.raise(Errors.OverrideOnConstructor, { + at: key + }); + } + state.hadConstructor = true; + allowsDirectSuper = state.hadSuperClass; + } + this.pushClassMethod(classBody, publicMethod, false, false, isConstructor, allowsDirectSuper); + } else if (this.isClassProperty()) { + if (isPrivate) { + this.pushClassPrivateProperty(classBody, privateProp); + } else { + this.pushClassProperty(classBody, publicProp); + } + } else if (isContextual && key.name === "async" && !this.isLineTerminator()) { + this.resetPreviousNodeTrailingComments(key); + const isGenerator = this.eat(55); + if (publicMember.optional) { + this.unexpected(maybeQuestionTokenStartLoc); + } + method.kind = "method"; + const isPrivate = this.match(138); + this.parseClassElementName(method); + this.parsePostMemberNameModifiers(publicMember); + if (isPrivate) { + this.pushClassPrivateMethod(classBody, privateMethod, isGenerator, true); + } else { + if (this.isNonstaticConstructor(publicMethod)) { + this.raise(Errors.ConstructorIsAsync, { + at: publicMethod.key + }); + } + this.pushClassMethod(classBody, publicMethod, isGenerator, true, false, false); + } + } else if (isContextual && (key.name === "get" || key.name === "set") && !(this.match(55) && this.isLineTerminator())) { + this.resetPreviousNodeTrailingComments(key); + method.kind = key.name; + const isPrivate = this.match(138); + this.parseClassElementName(publicMethod); + if (isPrivate) { + this.pushClassPrivateMethod(classBody, privateMethod, false, false); + } else { + if (this.isNonstaticConstructor(publicMethod)) { + this.raise(Errors.ConstructorIsAccessor, { + at: publicMethod.key + }); + } + this.pushClassMethod(classBody, publicMethod, false, false, false, false); + } + this.checkGetterSetterParams(publicMethod); + } else if (isContextual && key.name === "accessor" && !this.isLineTerminator()) { + this.expectPlugin("decoratorAutoAccessors"); + this.resetPreviousNodeTrailingComments(key); + const isPrivate = this.match(138); + this.parseClassElementName(publicProp); + this.pushClassAccessorProperty(classBody, accessorProp, isPrivate); + } else if (this.isLineTerminator()) { + if (isPrivate) { + this.pushClassPrivateProperty(classBody, privateProp); + } else { + this.pushClassProperty(classBody, publicProp); + } + } else { + this.unexpected(); + } + } + parseClassElementName(member) { + const { + type, + value + } = this.state; + if ((type === 132 || type === 133) && member.static && value === "prototype") { + this.raise(Errors.StaticPrototype, { + at: this.state.startLoc + }); + } + if (type === 138) { + if (value === "constructor") { + this.raise(Errors.ConstructorClassPrivateField, { + at: this.state.startLoc + }); + } + const key = this.parsePrivateName(); + member.key = key; + return key; + } + return this.parsePropertyName(member); + } + parseClassStaticBlock(classBody, member) { + var _member$decorators; + this.scope.enter(64 | 128 | 16); + const oldLabels = this.state.labels; + this.state.labels = []; + this.prodParam.enter(0); + const body = member.body = []; + this.parseBlockOrModuleBlockBody(body, undefined, false, 8); + this.prodParam.exit(); + this.scope.exit(); + this.state.labels = oldLabels; + classBody.body.push(this.finishNode(member, "StaticBlock")); + if ((_member$decorators = member.decorators) != null && _member$decorators.length) { + this.raise(Errors.DecoratorStaticBlock, { + at: member + }); + } + } + pushClassProperty(classBody, prop) { + if (!prop.computed && (prop.key.name === "constructor" || prop.key.value === "constructor")) { + this.raise(Errors.ConstructorClassField, { + at: prop.key + }); + } + classBody.body.push(this.parseClassProperty(prop)); + } + pushClassPrivateProperty(classBody, prop) { + const node = this.parseClassPrivateProperty(prop); + classBody.body.push(node); + this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), 0, node.key.loc.start); + } + pushClassAccessorProperty(classBody, prop, isPrivate) { + if (!isPrivate && !prop.computed) { + const key = prop.key; + if (key.name === "constructor" || key.value === "constructor") { + this.raise(Errors.ConstructorClassField, { + at: key + }); + } + } + const node = this.parseClassAccessorProperty(prop); + classBody.body.push(node); + if (isPrivate) { + this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), 0, node.key.loc.start); + } + } + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + classBody.body.push(this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, "ClassMethod", true)); + } + pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { + const node = this.parseMethod(method, isGenerator, isAsync, false, false, "ClassPrivateMethod", true); + classBody.body.push(node); + const kind = node.kind === "get" ? node.static ? 6 : 2 : node.kind === "set" ? node.static ? 5 : 1 : 0; + this.declareClassPrivateMethodInScope(node, kind); + } + declareClassPrivateMethodInScope(node, kind) { + this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), kind, node.key.loc.start); + } + parsePostMemberNameModifiers(methodOrProp) {} + parseClassPrivateProperty(node) { + this.parseInitializer(node); + this.semicolon(); + return this.finishNode(node, "ClassPrivateProperty"); + } + parseClassProperty(node) { + this.parseInitializer(node); + this.semicolon(); + return this.finishNode(node, "ClassProperty"); + } + parseClassAccessorProperty(node) { + this.parseInitializer(node); + this.semicolon(); + return this.finishNode(node, "ClassAccessorProperty"); + } + parseInitializer(node) { + this.scope.enter(64 | 16); + this.expressionScope.enter(newExpressionScope()); + this.prodParam.enter(0); + node.value = this.eat(29) ? this.parseMaybeAssignAllowIn() : null; + this.expressionScope.exit(); + this.prodParam.exit(); + this.scope.exit(); + } + parseClassId(node, isStatement, optionalId, bindingType = 8331) { + if (tokenIsIdentifier(this.state.type)) { + node.id = this.parseIdentifier(); + if (isStatement) { + this.declareNameFromIdentifier(node.id, bindingType); + } + } else { + if (optionalId || !isStatement) { + node.id = null; + } else { + throw this.raise(Errors.MissingClassName, { + at: this.state.startLoc + }); + } + } + } + parseClassSuper(node) { + node.superClass = this.eat(81) ? this.parseExprSubscripts() : null; + } + parseExport(node, decorators) { + const maybeDefaultIdentifier = this.parseMaybeImportPhase(node, true); + const hasDefault = this.maybeParseExportDefaultSpecifier(node, maybeDefaultIdentifier); + const parseAfterDefault = !hasDefault || this.eat(12); + const hasStar = parseAfterDefault && this.eatExportStar(node); + const hasNamespace = hasStar && this.maybeParseExportNamespaceSpecifier(node); + const parseAfterNamespace = parseAfterDefault && (!hasNamespace || this.eat(12)); + const isFromRequired = hasDefault || hasStar; + if (hasStar && !hasNamespace) { + if (hasDefault) this.unexpected(); + if (decorators) { + throw this.raise(Errors.UnsupportedDecoratorExport, { + at: node + }); + } + this.parseExportFrom(node, true); + return this.finishNode(node, "ExportAllDeclaration"); + } + const hasSpecifiers = this.maybeParseExportNamedSpecifiers(node); + if (hasDefault && parseAfterDefault && !hasStar && !hasSpecifiers) { + this.unexpected(null, 5); + } + if (hasNamespace && parseAfterNamespace) { + this.unexpected(null, 98); + } + let hasDeclaration; + if (isFromRequired || hasSpecifiers) { + hasDeclaration = false; + if (decorators) { + throw this.raise(Errors.UnsupportedDecoratorExport, { + at: node + }); + } + this.parseExportFrom(node, isFromRequired); + } else { + hasDeclaration = this.maybeParseExportDeclaration(node); + } + if (isFromRequired || hasSpecifiers || hasDeclaration) { + var _node2$declaration; + const node2 = node; + this.checkExport(node2, true, false, !!node2.source); + if (((_node2$declaration = node2.declaration) == null ? void 0 : _node2$declaration.type) === "ClassDeclaration") { + this.maybeTakeDecorators(decorators, node2.declaration, node2); + } else if (decorators) { + throw this.raise(Errors.UnsupportedDecoratorExport, { + at: node + }); + } + return this.finishNode(node2, "ExportNamedDeclaration"); + } + if (this.eat(65)) { + const node2 = node; + const decl = this.parseExportDefaultExpression(); + node2.declaration = decl; + if (decl.type === "ClassDeclaration") { + this.maybeTakeDecorators(decorators, decl, node2); + } else if (decorators) { + throw this.raise(Errors.UnsupportedDecoratorExport, { + at: node + }); + } + this.checkExport(node2, true, true); + return this.finishNode(node2, "ExportDefaultDeclaration"); + } + this.unexpected(null, 5); + } + eatExportStar(node) { + return this.eat(55); + } + maybeParseExportDefaultSpecifier(node, maybeDefaultIdentifier) { + if (maybeDefaultIdentifier || this.isExportDefaultSpecifier()) { + this.expectPlugin("exportDefaultFrom", maybeDefaultIdentifier == null ? void 0 : maybeDefaultIdentifier.loc.start); + const id = maybeDefaultIdentifier || this.parseIdentifier(true); + const specifier = this.startNodeAtNode(id); + specifier.exported = id; + node.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")]; + return true; + } + return false; + } + maybeParseExportNamespaceSpecifier(node) { + if (this.isContextual(93)) { + if (!node.specifiers) node.specifiers = []; + const specifier = this.startNodeAt(this.state.lastTokStartLoc); + this.next(); + specifier.exported = this.parseModuleExportName(); + node.specifiers.push(this.finishNode(specifier, "ExportNamespaceSpecifier")); + return true; + } + return false; + } + maybeParseExportNamedSpecifiers(node) { + if (this.match(5)) { + if (!node.specifiers) node.specifiers = []; + const isTypeExport = node.exportKind === "type"; + node.specifiers.push(...this.parseExportSpecifiers(isTypeExport)); + node.source = null; + node.declaration = null; + if (this.hasPlugin("importAssertions")) { + node.assertions = []; + } + return true; + } + return false; + } + maybeParseExportDeclaration(node) { + if (this.shouldParseExportDeclaration()) { + node.specifiers = []; + node.source = null; + if (this.hasPlugin("importAssertions")) { + node.assertions = []; + } + node.declaration = this.parseExportDeclaration(node); + return true; + } + return false; + } + isAsyncFunction() { + if (!this.isContextual(95)) return false; + const next = this.nextTokenInLineStart(); + return this.isUnparsedContextual(next, "function"); + } + parseExportDefaultExpression() { + const expr = this.startNode(); + if (this.match(68)) { + this.next(); + return this.parseFunction(expr, 1 | 4); + } else if (this.isAsyncFunction()) { + this.next(); + this.next(); + return this.parseFunction(expr, 1 | 4 | 8); + } + if (this.match(80)) { + return this.parseClass(expr, true, true); + } + if (this.match(26)) { + if (this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport") === true) { + this.raise(Errors.DecoratorBeforeExport, { + at: this.state.startLoc + }); + } + return this.parseClass(this.maybeTakeDecorators(this.parseDecorators(false), this.startNode()), true, true); + } + if (this.match(75) || this.match(74) || this.isLet()) { + throw this.raise(Errors.UnsupportedDefaultExport, { + at: this.state.startLoc + }); + } + const res = this.parseMaybeAssignAllowIn(); + this.semicolon(); + return res; + } + parseExportDeclaration(node) { + if (this.match(80)) { + const node = this.parseClass(this.startNode(), true, false); + return node; + } + return this.parseStatementListItem(); + } + isExportDefaultSpecifier() { + const { + type + } = this.state; + if (tokenIsIdentifier(type)) { + if (type === 95 && !this.state.containsEsc || type === 100) { + return false; + } + if ((type === 130 || type === 129) && !this.state.containsEsc) { + const { + type: nextType + } = this.lookahead(); + if (tokenIsIdentifier(nextType) && nextType !== 98 || nextType === 5) { + this.expectOnePlugin(["flow", "typescript"]); + return false; + } + } + } else if (!this.match(65)) { + return false; + } + const next = this.nextTokenStart(); + const hasFrom = this.isUnparsedContextual(next, "from"); + if (this.input.charCodeAt(next) === 44 || tokenIsIdentifier(this.state.type) && hasFrom) { + return true; + } + if (this.match(65) && hasFrom) { + const nextAfterFrom = this.input.charCodeAt(this.nextTokenStartSince(next + 4)); + return nextAfterFrom === 34 || nextAfterFrom === 39; + } + return false; + } + parseExportFrom(node, expect) { + if (this.eatContextual(98)) { + node.source = this.parseImportSource(); + this.checkExport(node); + this.maybeParseImportAttributes(node); + this.checkJSONModuleImport(node); + } else if (expect) { + this.unexpected(); + } + this.semicolon(); + } + shouldParseExportDeclaration() { + const { + type + } = this.state; + if (type === 26) { + this.expectOnePlugin(["decorators", "decorators-legacy"]); + if (this.hasPlugin("decorators")) { + if (this.getPluginOption("decorators", "decoratorsBeforeExport") === true) { + this.raise(Errors.DecoratorBeforeExport, { + at: this.state.startLoc + }); + } + return true; + } + } + return type === 74 || type === 75 || type === 68 || type === 80 || this.isLet() || this.isAsyncFunction(); + } + checkExport(node, checkNames, isDefault, isFrom) { + if (checkNames) { + var _node$specifiers; + if (isDefault) { + this.checkDuplicateExports(node, "default"); + if (this.hasPlugin("exportDefaultFrom")) { + var _declaration$extra; + const declaration = node.declaration; + if (declaration.type === "Identifier" && declaration.name === "from" && declaration.end - declaration.start === 4 && !((_declaration$extra = declaration.extra) != null && _declaration$extra.parenthesized)) { + this.raise(Errors.ExportDefaultFromAsIdentifier, { + at: declaration + }); + } + } + } else if ((_node$specifiers = node.specifiers) != null && _node$specifiers.length) { + for (const specifier of node.specifiers) { + const { + exported + } = specifier; + const exportName = exported.type === "Identifier" ? exported.name : exported.value; + this.checkDuplicateExports(specifier, exportName); + if (!isFrom && specifier.local) { + const { + local + } = specifier; + if (local.type !== "Identifier") { + this.raise(Errors.ExportBindingIsString, { + at: specifier, + localName: local.value, + exportName + }); + } else { + this.checkReservedWord(local.name, local.loc.start, true, false); + this.scope.checkLocalExport(local); + } + } + } + } else if (node.declaration) { + if (node.declaration.type === "FunctionDeclaration" || node.declaration.type === "ClassDeclaration") { + const id = node.declaration.id; + if (!id) throw new Error("Assertion failure"); + this.checkDuplicateExports(node, id.name); + } else if (node.declaration.type === "VariableDeclaration") { + for (const declaration of node.declaration.declarations) { + this.checkDeclaration(declaration.id); + } + } + } + } + } + checkDeclaration(node) { + if (node.type === "Identifier") { + this.checkDuplicateExports(node, node.name); + } else if (node.type === "ObjectPattern") { + for (const prop of node.properties) { + this.checkDeclaration(prop); + } + } else if (node.type === "ArrayPattern") { + for (const elem of node.elements) { + if (elem) { + this.checkDeclaration(elem); + } + } + } else if (node.type === "ObjectProperty") { + this.checkDeclaration(node.value); + } else if (node.type === "RestElement") { + this.checkDeclaration(node.argument); + } else if (node.type === "AssignmentPattern") { + this.checkDeclaration(node.left); + } + } + checkDuplicateExports(node, exportName) { + if (this.exportedIdentifiers.has(exportName)) { + if (exportName === "default") { + this.raise(Errors.DuplicateDefaultExport, { + at: node + }); + } else { + this.raise(Errors.DuplicateExport, { + at: node, + exportName + }); + } + } + this.exportedIdentifiers.add(exportName); + } + parseExportSpecifiers(isInTypeExport) { + const nodes = []; + let first = true; + this.expect(5); + while (!this.eat(8)) { + if (first) { + first = false; + } else { + this.expect(12); + if (this.eat(8)) break; + } + const isMaybeTypeOnly = this.isContextual(130); + const isString = this.match(133); + const node = this.startNode(); + node.local = this.parseModuleExportName(); + nodes.push(this.parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly)); + } + return nodes; + } + parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly) { + if (this.eatContextual(93)) { + node.exported = this.parseModuleExportName(); + } else if (isString) { + node.exported = cloneStringLiteral(node.local); + } else if (!node.exported) { + node.exported = cloneIdentifier(node.local); + } + return this.finishNode(node, "ExportSpecifier"); + } + parseModuleExportName() { + if (this.match(133)) { + const result = this.parseStringLiteral(this.state.value); + const surrogate = result.value.match(loneSurrogate); + if (surrogate) { + this.raise(Errors.ModuleExportNameHasLoneSurrogate, { + at: result, + surrogateCharCode: surrogate[0].charCodeAt(0) + }); + } + return result; + } + return this.parseIdentifier(true); + } + isJSONModuleImport(node) { + if (node.assertions != null) { + return node.assertions.some(({ + key, + value + }) => { + return value.value === "json" && (key.type === "Identifier" ? key.name === "type" : key.value === "type"); + }); + } + return false; + } + checkImportReflection(node) { + const { + specifiers + } = node; + const singleBindingType = specifiers.length === 1 ? specifiers[0].type : null; + if (node.phase === "source") { + if (singleBindingType !== "ImportDefaultSpecifier") { + this.raise(Errors.SourcePhaseImportRequiresDefault, { + at: specifiers[0].loc.start + }); + } + } else if (node.phase === "defer") { + if (singleBindingType !== "ImportNamespaceSpecifier") { + this.raise(Errors.DeferImportRequiresNamespace, { + at: specifiers[0].loc.start + }); + } + } else if (node.module) { + var _node$assertions; + if (singleBindingType !== "ImportDefaultSpecifier") { + this.raise(Errors.ImportReflectionNotBinding, { + at: specifiers[0].loc.start + }); + } + if (((_node$assertions = node.assertions) == null ? void 0 : _node$assertions.length) > 0) { + this.raise(Errors.ImportReflectionHasAssertion, { + at: node.specifiers[0].loc.start + }); + } + } + } + checkJSONModuleImport(node) { + if (this.isJSONModuleImport(node) && node.type !== "ExportAllDeclaration") { + const { + specifiers + } = node; + if (specifiers != null) { + const nonDefaultNamedSpecifier = specifiers.find(specifier => { + let imported; + if (specifier.type === "ExportSpecifier") { + imported = specifier.local; + } else if (specifier.type === "ImportSpecifier") { + imported = specifier.imported; + } + if (imported !== undefined) { + return imported.type === "Identifier" ? imported.name !== "default" : imported.value !== "default"; + } + }); + if (nonDefaultNamedSpecifier !== undefined) { + this.raise(Errors.ImportJSONBindingNotDefault, { + at: nonDefaultNamedSpecifier.loc.start + }); + } + } + } + } + isPotentialImportPhase(isExport) { + if (isExport) return false; + return this.isContextual(105) || this.isContextual(97) || this.isContextual(127); + } + applyImportPhase(node, isExport, phase, loc) { + if (isExport) { + return; + } + if (phase === "module") { + this.expectPlugin("importReflection", loc); + node.module = true; + } else if (this.hasPlugin("importReflection")) { + node.module = false; + } + if (phase === "source") { + this.expectPlugin("sourcePhaseImports", loc); + node.phase = "source"; + } else if (phase === "defer") { + this.expectPlugin("deferredImportEvaluation", loc); + node.phase = "defer"; + } else if (this.hasPlugin("sourcePhaseImports")) { + node.phase = null; + } + } + parseMaybeImportPhase(node, isExport) { + if (!this.isPotentialImportPhase(isExport)) { + this.applyImportPhase(node, isExport, null); + return null; + } + const phaseIdentifier = this.parseIdentifier(true); + const { + type + } = this.state; + const isImportPhase = tokenIsKeywordOrIdentifier(type) ? type !== 98 || this.lookaheadCharCode() === 102 : type !== 12; + if (isImportPhase) { + this.resetPreviousIdentifierLeadingComments(phaseIdentifier); + this.applyImportPhase(node, isExport, phaseIdentifier.name, phaseIdentifier.loc.start); + return null; + } else { + this.applyImportPhase(node, isExport, null); + return phaseIdentifier; + } + } + isPrecedingIdImportPhase(phase) { + const { + type + } = this.state; + return tokenIsIdentifier(type) ? type !== 98 || this.lookaheadCharCode() === 102 : type !== 12; + } + parseImport(node) { + if (this.match(133)) { + return this.parseImportSourceAndAttributes(node); + } + return this.parseImportSpecifiersAndAfter(node, this.parseMaybeImportPhase(node, false)); + } + parseImportSpecifiersAndAfter(node, maybeDefaultIdentifier) { + node.specifiers = []; + const hasDefault = this.maybeParseDefaultImportSpecifier(node, maybeDefaultIdentifier); + const parseNext = !hasDefault || this.eat(12); + const hasStar = parseNext && this.maybeParseStarImportSpecifier(node); + if (parseNext && !hasStar) this.parseNamedImportSpecifiers(node); + this.expectContextual(98); + return this.parseImportSourceAndAttributes(node); + } + parseImportSourceAndAttributes(node) { + var _node$specifiers2; + (_node$specifiers2 = node.specifiers) != null ? _node$specifiers2 : node.specifiers = []; + node.source = this.parseImportSource(); + this.maybeParseImportAttributes(node); + this.checkImportReflection(node); + this.checkJSONModuleImport(node); + this.semicolon(); + return this.finishNode(node, "ImportDeclaration"); + } + parseImportSource() { + if (!this.match(133)) this.unexpected(); + return this.parseExprAtom(); + } + parseImportSpecifierLocal(node, specifier, type) { + specifier.local = this.parseIdentifier(); + node.specifiers.push(this.finishImportSpecifier(specifier, type)); + } + finishImportSpecifier(specifier, type, bindingType = 8201) { + this.checkLVal(specifier.local, { + in: { + type + }, + binding: bindingType + }); + return this.finishNode(specifier, type); + } + parseImportAttributes() { + this.expect(5); + const attrs = []; + const attrNames = new Set(); + do { + if (this.match(8)) { + break; + } + const node = this.startNode(); + const keyName = this.state.value; + if (attrNames.has(keyName)) { + this.raise(Errors.ModuleAttributesWithDuplicateKeys, { + at: this.state.startLoc, + key: keyName + }); + } + attrNames.add(keyName); + if (this.match(133)) { + node.key = this.parseStringLiteral(keyName); + } else { + node.key = this.parseIdentifier(true); + } + this.expect(14); + if (!this.match(133)) { + throw this.raise(Errors.ModuleAttributeInvalidValue, { + at: this.state.startLoc + }); + } + node.value = this.parseStringLiteral(this.state.value); + attrs.push(this.finishNode(node, "ImportAttribute")); + } while (this.eat(12)); + this.expect(8); + return attrs; + } + parseModuleAttributes() { + const attrs = []; + const attributes = new Set(); + do { + const node = this.startNode(); + node.key = this.parseIdentifier(true); + if (node.key.name !== "type") { + this.raise(Errors.ModuleAttributeDifferentFromType, { + at: node.key + }); + } + if (attributes.has(node.key.name)) { + this.raise(Errors.ModuleAttributesWithDuplicateKeys, { + at: node.key, + key: node.key.name + }); + } + attributes.add(node.key.name); + this.expect(14); + if (!this.match(133)) { + throw this.raise(Errors.ModuleAttributeInvalidValue, { + at: this.state.startLoc + }); + } + node.value = this.parseStringLiteral(this.state.value); + attrs.push(this.finishNode(node, "ImportAttribute")); + } while (this.eat(12)); + return attrs; + } + maybeParseImportAttributes(node) { + let attributes; + let useWith = false; + if (this.match(76)) { + if (this.hasPrecedingLineBreak() && this.lookaheadCharCode() === 40) { + return; + } + this.next(); + { + if (this.hasPlugin("moduleAttributes")) { + attributes = this.parseModuleAttributes(); + } else { + this.expectImportAttributesPlugin(); + attributes = this.parseImportAttributes(); + } + } + useWith = true; + } else if (this.isContextual(94) && !this.hasPrecedingLineBreak()) { + if (this.hasPlugin("importAttributes")) { + if (this.getPluginOption("importAttributes", "deprecatedAssertSyntax") !== true) { + this.raise(Errors.ImportAttributesUseAssert, { + at: this.state.startLoc + }); + } + this.addExtra(node, "deprecatedAssertSyntax", true); + } else { + this.expectOnePlugin(["importAttributes", "importAssertions"]); + } + this.next(); + attributes = this.parseImportAttributes(); + } else if (this.hasPlugin("importAttributes") || this.hasPlugin("importAssertions")) { + attributes = []; + } else { + if (this.hasPlugin("moduleAttributes")) { + attributes = []; + } else return; + } + if (!useWith && this.hasPlugin("importAssertions")) { + node.assertions = attributes; + } else { + node.attributes = attributes; + } + } + maybeParseDefaultImportSpecifier(node, maybeDefaultIdentifier) { + if (maybeDefaultIdentifier) { + const specifier = this.startNodeAtNode(maybeDefaultIdentifier); + specifier.local = maybeDefaultIdentifier; + node.specifiers.push(this.finishImportSpecifier(specifier, "ImportDefaultSpecifier")); + return true; + } else if (tokenIsKeywordOrIdentifier(this.state.type)) { + this.parseImportSpecifierLocal(node, this.startNode(), "ImportDefaultSpecifier"); + return true; + } + return false; + } + maybeParseStarImportSpecifier(node) { + if (this.match(55)) { + const specifier = this.startNode(); + this.next(); + this.expectContextual(93); + this.parseImportSpecifierLocal(node, specifier, "ImportNamespaceSpecifier"); + return true; + } + return false; + } + parseNamedImportSpecifiers(node) { + let first = true; + this.expect(5); + while (!this.eat(8)) { + if (first) { + first = false; + } else { + if (this.eat(14)) { + throw this.raise(Errors.DestructureNamedImport, { + at: this.state.startLoc + }); + } + this.expect(12); + if (this.eat(8)) break; + } + const specifier = this.startNode(); + const importedIsString = this.match(133); + const isMaybeTypeOnly = this.isContextual(130); + specifier.imported = this.parseModuleExportName(); + const importSpecifier = this.parseImportSpecifier(specifier, importedIsString, node.importKind === "type" || node.importKind === "typeof", isMaybeTypeOnly, undefined); + node.specifiers.push(importSpecifier); + } + } + parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, bindingType) { + if (this.eatContextual(93)) { + specifier.local = this.parseIdentifier(); + } else { + const { + imported + } = specifier; + if (importedIsString) { + throw this.raise(Errors.ImportBindingIsString, { + at: specifier, + importName: imported.value + }); + } + this.checkReservedWord(imported.name, specifier.loc.start, true, true); + if (!specifier.local) { + specifier.local = cloneIdentifier(imported); + } + } + return this.finishImportSpecifier(specifier, "ImportSpecifier", bindingType); + } + isThisParam(param) { + return param.type === "Identifier" && param.name === "this"; + } +} +class Parser extends StatementParser { + constructor(options, input) { + options = getOptions(options); + super(options, input); + this.options = options; + this.initializeScopes(); + this.plugins = pluginsMap(this.options.plugins); + this.filename = options.sourceFilename; + } + getScopeHandler() { + return ScopeHandler; + } + parse() { + this.enterInitialScopes(); + const file = this.startNode(); + const program = this.startNode(); + this.nextToken(); + file.errors = null; + this.parseTopLevel(file, program); + file.errors = this.state.errors; + return file; + } +} +function pluginsMap(plugins) { + const pluginMap = new Map(); + for (const plugin of plugins) { + const [name, options] = Array.isArray(plugin) ? plugin : [plugin, {}]; + if (!pluginMap.has(name)) pluginMap.set(name, options || {}); + } + return pluginMap; +} +function parse(input, options) { + var _options; + if (((_options = options) == null ? void 0 : _options.sourceType) === "unambiguous") { + options = Object.assign({}, options); + try { + options.sourceType = "module"; + const parser = getParser(options, input); + const ast = parser.parse(); + if (parser.sawUnambiguousESM) { + return ast; + } + if (parser.ambiguousScriptDifferentAst) { + try { + options.sourceType = "script"; + return getParser(options, input).parse(); + } catch (_unused) {} + } else { + ast.program.sourceType = "script"; + } + return ast; + } catch (moduleError) { + try { + options.sourceType = "script"; + return getParser(options, input).parse(); + } catch (_unused2) {} + throw moduleError; + } + } else { + return getParser(options, input).parse(); + } +} +function parseExpression(input, options) { + const parser = getParser(options, input); + if (parser.options.strictMode) { + parser.state.strict = true; + } + return parser.getExpression(); +} +function generateExportedTokenTypes(internalTokenTypes) { + const tokenTypes = {}; + for (const typeName of Object.keys(internalTokenTypes)) { + tokenTypes[typeName] = getExportedToken(internalTokenTypes[typeName]); + } + return tokenTypes; +} +const tokTypes = generateExportedTokenTypes(tt); +function getParser(options, input) { + let cls = Parser; + if (options != null && options.plugins) { + validatePlugins(options.plugins); + cls = getParserClass(options.plugins); + } + return new cls(options, input); +} +const parserClassCache = {}; +function getParserClass(pluginsFromOptions) { + const pluginList = mixinPluginNames.filter(name => hasPlugin(pluginsFromOptions, name)); + const key = pluginList.join("/"); + let cls = parserClassCache[key]; + if (!cls) { + cls = Parser; + for (const plugin of pluginList) { + cls = mixinPlugins[plugin](cls); + } + parserClassCache[key] = cls; + } + return cls; +} +exports.parse = parse; +exports.parseExpression = parseExpression; +exports.tokTypes = tokTypes; +//# sourceMappingURL=index.js.map diff --git a/.output/server/node_modules/@babel/parser/package.json b/.output/server/node_modules/@babel/parser/package.json new file mode 100644 index 0000000..cbe3a52 --- /dev/null +++ b/.output/server/node_modules/@babel/parser/package.json @@ -0,0 +1,46 @@ +{ + "name": "@babel/parser", + "version": "7.23.5", + "description": "A JavaScript parser", + "author": "The Babel Team (https://babel.dev/team)", + "homepage": "https://babel.dev/docs/en/next/babel-parser", + "bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A+parser+%28babylon%29%22+is%3Aopen", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "keywords": [ + "babel", + "javascript", + "parser", + "tc39", + "ecmascript", + "@babel/parser" + ], + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-parser" + }, + "main": "./lib/index.js", + "types": "./typings/babel-parser.d.ts", + "files": [ + "bin", + "lib", + "typings/babel-parser.d.ts", + "index.cjs" + ], + "engines": { + "node": ">=6.0.0" + }, + "devDependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/helper-check-duplicate-nodes": "^7.22.5", + "@babel/helper-fixtures": "^7.23.4", + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "charcodes": "^0.2.0" + }, + "bin": "./bin/babel-parser.js", + "type": "commonjs" +} \ No newline at end of file diff --git a/.output/server/node_modules/@ctrl/tinycolor/dist/conversion.js b/.output/server/node_modules/@ctrl/tinycolor/dist/conversion.js new file mode 100644 index 0000000..15782bd --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/dist/conversion.js @@ -0,0 +1,250 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.numberInputToObject = exports.parseIntFromHex = exports.convertHexToDecimal = exports.convertDecimalToHex = exports.rgbaToArgbHex = exports.rgbaToHex = exports.rgbToHex = exports.hsvToRgb = exports.rgbToHsv = exports.hslToRgb = exports.rgbToHsl = exports.rgbToRgb = void 0; +var util_js_1 = require("./util.js"); +// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from: +// +/** + * Handle bounds / percentage checking to conform to CSS color spec + * + * *Assumes:* r, g, b in [0, 255] or [0, 1] + * *Returns:* { r, g, b } in [0, 255] + */ +function rgbToRgb(r, g, b) { + return { + r: (0, util_js_1.bound01)(r, 255) * 255, + g: (0, util_js_1.bound01)(g, 255) * 255, + b: (0, util_js_1.bound01)(b, 255) * 255, + }; +} +exports.rgbToRgb = rgbToRgb; +/** + * Converts an RGB color value to HSL. + * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1] + * *Returns:* { h, s, l } in [0,1] + */ +function rgbToHsl(r, g, b) { + r = (0, util_js_1.bound01)(r, 255); + g = (0, util_js_1.bound01)(g, 255); + b = (0, util_js_1.bound01)(b, 255); + var max = Math.max(r, g, b); + var min = Math.min(r, g, b); + var h = 0; + var s = 0; + var l = (max + min) / 2; + if (max === min) { + s = 0; + h = 0; // achromatic + } + else { + var d = max - min; + s = l > 0.5 ? d / (2 - max - min) : d / (max + min); + switch (max) { + case r: + h = (g - b) / d + (g < b ? 6 : 0); + break; + case g: + h = (b - r) / d + 2; + break; + case b: + h = (r - g) / d + 4; + break; + default: + break; + } + h /= 6; + } + return { h: h, s: s, l: l }; +} +exports.rgbToHsl = rgbToHsl; +function hue2rgb(p, q, t) { + if (t < 0) { + t += 1; + } + if (t > 1) { + t -= 1; + } + if (t < 1 / 6) { + return p + (q - p) * (6 * t); + } + if (t < 1 / 2) { + return q; + } + if (t < 2 / 3) { + return p + (q - p) * (2 / 3 - t) * 6; + } + return p; +} +/** + * Converts an HSL color value to RGB. + * + * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100] + * *Returns:* { r, g, b } in the set [0, 255] + */ +function hslToRgb(h, s, l) { + var r; + var g; + var b; + h = (0, util_js_1.bound01)(h, 360); + s = (0, util_js_1.bound01)(s, 100); + l = (0, util_js_1.bound01)(l, 100); + if (s === 0) { + // achromatic + g = l; + b = l; + r = l; + } + else { + var q = l < 0.5 ? l * (1 + s) : l + s - l * s; + var p = 2 * l - q; + r = hue2rgb(p, q, h + 1 / 3); + g = hue2rgb(p, q, h); + b = hue2rgb(p, q, h - 1 / 3); + } + return { r: r * 255, g: g * 255, b: b * 255 }; +} +exports.hslToRgb = hslToRgb; +/** + * Converts an RGB color value to HSV + * + * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1] + * *Returns:* { h, s, v } in [0,1] + */ +function rgbToHsv(r, g, b) { + r = (0, util_js_1.bound01)(r, 255); + g = (0, util_js_1.bound01)(g, 255); + b = (0, util_js_1.bound01)(b, 255); + var max = Math.max(r, g, b); + var min = Math.min(r, g, b); + var h = 0; + var v = max; + var d = max - min; + var s = max === 0 ? 0 : d / max; + if (max === min) { + h = 0; // achromatic + } + else { + switch (max) { + case r: + h = (g - b) / d + (g < b ? 6 : 0); + break; + case g: + h = (b - r) / d + 2; + break; + case b: + h = (r - g) / d + 4; + break; + default: + break; + } + h /= 6; + } + return { h: h, s: s, v: v }; +} +exports.rgbToHsv = rgbToHsv; +/** + * Converts an HSV color value to RGB. + * + * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100] + * *Returns:* { r, g, b } in the set [0, 255] + */ +function hsvToRgb(h, s, v) { + h = (0, util_js_1.bound01)(h, 360) * 6; + s = (0, util_js_1.bound01)(s, 100); + v = (0, util_js_1.bound01)(v, 100); + var i = Math.floor(h); + var f = h - i; + var p = v * (1 - s); + var q = v * (1 - f * s); + var t = v * (1 - (1 - f) * s); + var mod = i % 6; + var r = [v, q, p, p, t, v][mod]; + var g = [t, v, v, q, p, p][mod]; + var b = [p, p, t, v, v, q][mod]; + return { r: r * 255, g: g * 255, b: b * 255 }; +} +exports.hsvToRgb = hsvToRgb; +/** + * Converts an RGB color to hex + * + * Assumes r, g, and b are contained in the set [0, 255] + * Returns a 3 or 6 character hex + */ +function rgbToHex(r, g, b, allow3Char) { + var hex = [ + (0, util_js_1.pad2)(Math.round(r).toString(16)), + (0, util_js_1.pad2)(Math.round(g).toString(16)), + (0, util_js_1.pad2)(Math.round(b).toString(16)), + ]; + // Return a 3 character hex if possible + if (allow3Char && + hex[0].startsWith(hex[0].charAt(1)) && + hex[1].startsWith(hex[1].charAt(1)) && + hex[2].startsWith(hex[2].charAt(1))) { + return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0); + } + return hex.join(''); +} +exports.rgbToHex = rgbToHex; +/** + * Converts an RGBA color plus alpha transparency to hex + * + * Assumes r, g, b are contained in the set [0, 255] and + * a in [0, 1]. Returns a 4 or 8 character rgba hex + */ +// eslint-disable-next-line max-params +function rgbaToHex(r, g, b, a, allow4Char) { + var hex = [ + (0, util_js_1.pad2)(Math.round(r).toString(16)), + (0, util_js_1.pad2)(Math.round(g).toString(16)), + (0, util_js_1.pad2)(Math.round(b).toString(16)), + (0, util_js_1.pad2)(convertDecimalToHex(a)), + ]; + // Return a 4 character hex if possible + if (allow4Char && + hex[0].startsWith(hex[0].charAt(1)) && + hex[1].startsWith(hex[1].charAt(1)) && + hex[2].startsWith(hex[2].charAt(1)) && + hex[3].startsWith(hex[3].charAt(1))) { + return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0); + } + return hex.join(''); +} +exports.rgbaToHex = rgbaToHex; +/** + * Converts an RGBA color to an ARGB Hex8 string + * Rarely used, but required for "toFilter()" + */ +function rgbaToArgbHex(r, g, b, a) { + var hex = [ + (0, util_js_1.pad2)(convertDecimalToHex(a)), + (0, util_js_1.pad2)(Math.round(r).toString(16)), + (0, util_js_1.pad2)(Math.round(g).toString(16)), + (0, util_js_1.pad2)(Math.round(b).toString(16)), + ]; + return hex.join(''); +} +exports.rgbaToArgbHex = rgbaToArgbHex; +/** Converts a decimal to a hex value */ +function convertDecimalToHex(d) { + return Math.round(parseFloat(d) * 255).toString(16); +} +exports.convertDecimalToHex = convertDecimalToHex; +/** Converts a hex value to a decimal */ +function convertHexToDecimal(h) { + return parseIntFromHex(h) / 255; +} +exports.convertHexToDecimal = convertHexToDecimal; +/** Parse a base-16 hex value into a base-10 integer */ +function parseIntFromHex(val) { + return parseInt(val, 16); +} +exports.parseIntFromHex = parseIntFromHex; +function numberInputToObject(color) { + return { + r: color >> 16, + g: (color & 0xff00) >> 8, + b: color & 0xff, + }; +} +exports.numberInputToObject = numberInputToObject; diff --git a/.output/server/node_modules/@ctrl/tinycolor/dist/css-color-names.js b/.output/server/node_modules/@ctrl/tinycolor/dist/css-color-names.js new file mode 100644 index 0000000..bb6656e --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/dist/css-color-names.js @@ -0,0 +1,157 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.names = void 0; +// https://github.com/bahamas10/css-color-names/blob/master/css-color-names.json +/** + * @hidden + */ +exports.names = { + aliceblue: '#f0f8ff', + antiquewhite: '#faebd7', + aqua: '#00ffff', + aquamarine: '#7fffd4', + azure: '#f0ffff', + beige: '#f5f5dc', + bisque: '#ffe4c4', + black: '#000000', + blanchedalmond: '#ffebcd', + blue: '#0000ff', + blueviolet: '#8a2be2', + brown: '#a52a2a', + burlywood: '#deb887', + cadetblue: '#5f9ea0', + chartreuse: '#7fff00', + chocolate: '#d2691e', + coral: '#ff7f50', + cornflowerblue: '#6495ed', + cornsilk: '#fff8dc', + crimson: '#dc143c', + cyan: '#00ffff', + darkblue: '#00008b', + darkcyan: '#008b8b', + darkgoldenrod: '#b8860b', + darkgray: '#a9a9a9', + darkgreen: '#006400', + darkgrey: '#a9a9a9', + darkkhaki: '#bdb76b', + darkmagenta: '#8b008b', + darkolivegreen: '#556b2f', + darkorange: '#ff8c00', + darkorchid: '#9932cc', + darkred: '#8b0000', + darksalmon: '#e9967a', + darkseagreen: '#8fbc8f', + darkslateblue: '#483d8b', + darkslategray: '#2f4f4f', + darkslategrey: '#2f4f4f', + darkturquoise: '#00ced1', + darkviolet: '#9400d3', + deeppink: '#ff1493', + deepskyblue: '#00bfff', + dimgray: '#696969', + dimgrey: '#696969', + dodgerblue: '#1e90ff', + firebrick: '#b22222', + floralwhite: '#fffaf0', + forestgreen: '#228b22', + fuchsia: '#ff00ff', + gainsboro: '#dcdcdc', + ghostwhite: '#f8f8ff', + goldenrod: '#daa520', + gold: '#ffd700', + gray: '#808080', + green: '#008000', + greenyellow: '#adff2f', + grey: '#808080', + honeydew: '#f0fff0', + hotpink: '#ff69b4', + indianred: '#cd5c5c', + indigo: '#4b0082', + ivory: '#fffff0', + khaki: '#f0e68c', + lavenderblush: '#fff0f5', + lavender: '#e6e6fa', + lawngreen: '#7cfc00', + lemonchiffon: '#fffacd', + lightblue: '#add8e6', + lightcoral: '#f08080', + lightcyan: '#e0ffff', + lightgoldenrodyellow: '#fafad2', + lightgray: '#d3d3d3', + lightgreen: '#90ee90', + lightgrey: '#d3d3d3', + lightpink: '#ffb6c1', + lightsalmon: '#ffa07a', + lightseagreen: '#20b2aa', + lightskyblue: '#87cefa', + lightslategray: '#778899', + lightslategrey: '#778899', + lightsteelblue: '#b0c4de', + lightyellow: '#ffffe0', + lime: '#00ff00', + limegreen: '#32cd32', + linen: '#faf0e6', + magenta: '#ff00ff', + maroon: '#800000', + mediumaquamarine: '#66cdaa', + mediumblue: '#0000cd', + mediumorchid: '#ba55d3', + mediumpurple: '#9370db', + mediumseagreen: '#3cb371', + mediumslateblue: '#7b68ee', + mediumspringgreen: '#00fa9a', + mediumturquoise: '#48d1cc', + mediumvioletred: '#c71585', + midnightblue: '#191970', + mintcream: '#f5fffa', + mistyrose: '#ffe4e1', + moccasin: '#ffe4b5', + navajowhite: '#ffdead', + navy: '#000080', + oldlace: '#fdf5e6', + olive: '#808000', + olivedrab: '#6b8e23', + orange: '#ffa500', + orangered: '#ff4500', + orchid: '#da70d6', + palegoldenrod: '#eee8aa', + palegreen: '#98fb98', + paleturquoise: '#afeeee', + palevioletred: '#db7093', + papayawhip: '#ffefd5', + peachpuff: '#ffdab9', + peru: '#cd853f', + pink: '#ffc0cb', + plum: '#dda0dd', + powderblue: '#b0e0e6', + purple: '#800080', + rebeccapurple: '#663399', + red: '#ff0000', + rosybrown: '#bc8f8f', + royalblue: '#4169e1', + saddlebrown: '#8b4513', + salmon: '#fa8072', + sandybrown: '#f4a460', + seagreen: '#2e8b57', + seashell: '#fff5ee', + sienna: '#a0522d', + silver: '#c0c0c0', + skyblue: '#87ceeb', + slateblue: '#6a5acd', + slategray: '#708090', + slategrey: '#708090', + snow: '#fffafa', + springgreen: '#00ff7f', + steelblue: '#4682b4', + tan: '#d2b48c', + teal: '#008080', + thistle: '#d8bfd8', + tomato: '#ff6347', + turquoise: '#40e0d0', + violet: '#ee82ee', + wheat: '#f5deb3', + white: '#ffffff', + whitesmoke: '#f5f5f5', + yellow: '#ffff00', + yellowgreen: '#9acd32', +}; diff --git a/.output/server/node_modules/@ctrl/tinycolor/dist/format-input.js b/.output/server/node_modules/@ctrl/tinycolor/dist/format-input.js new file mode 100644 index 0000000..7636869 --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/dist/format-input.js @@ -0,0 +1,189 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isValidCSSUnit = exports.stringInputToObject = exports.inputToRGB = void 0; +/* eslint-disable @typescript-eslint/no-redundant-type-constituents */ +var conversion_js_1 = require("./conversion.js"); +var css_color_names_js_1 = require("./css-color-names.js"); +var util_js_1 = require("./util.js"); +/** + * Given a string or object, convert that input to RGB + * + * Possible string inputs: + * ``` + * "red" + * "#f00" or "f00" + * "#ff0000" or "ff0000" + * "#ff000000" or "ff000000" + * "rgb 255 0 0" or "rgb (255, 0, 0)" + * "rgb 1.0 0 0" or "rgb (1, 0, 0)" + * "rgba (255, 0, 0, 1)" or "rgba 255, 0, 0, 1" + * "rgba (1.0, 0, 0, 1)" or "rgba 1.0, 0, 0, 1" + * "hsl(0, 100%, 50%)" or "hsl 0 100% 50%" + * "hsla(0, 100%, 50%, 1)" or "hsla 0 100% 50%, 1" + * "hsv(0, 100%, 100%)" or "hsv 0 100% 100%" + * ``` + */ +function inputToRGB(color) { + var rgb = { r: 0, g: 0, b: 0 }; + var a = 1; + var s = null; + var v = null; + var l = null; + var ok = false; + var format = false; + if (typeof color === 'string') { + color = stringInputToObject(color); + } + if (typeof color === 'object') { + if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) { + rgb = (0, conversion_js_1.rgbToRgb)(color.r, color.g, color.b); + ok = true; + format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb'; + } + else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) { + s = (0, util_js_1.convertToPercentage)(color.s); + v = (0, util_js_1.convertToPercentage)(color.v); + rgb = (0, conversion_js_1.hsvToRgb)(color.h, s, v); + ok = true; + format = 'hsv'; + } + else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) { + s = (0, util_js_1.convertToPercentage)(color.s); + l = (0, util_js_1.convertToPercentage)(color.l); + rgb = (0, conversion_js_1.hslToRgb)(color.h, s, l); + ok = true; + format = 'hsl'; + } + if (Object.prototype.hasOwnProperty.call(color, 'a')) { + a = color.a; + } + } + a = (0, util_js_1.boundAlpha)(a); + return { + ok: ok, + format: color.format || format, + r: Math.min(255, Math.max(rgb.r, 0)), + g: Math.min(255, Math.max(rgb.g, 0)), + b: Math.min(255, Math.max(rgb.b, 0)), + a: a, + }; +} +exports.inputToRGB = inputToRGB; +// +var CSS_INTEGER = '[-\\+]?\\d+%?'; +// +var CSS_NUMBER = '[-\\+]?\\d*\\.\\d+%?'; +// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome. +var CSS_UNIT = "(?:".concat(CSS_NUMBER, ")|(?:").concat(CSS_INTEGER, ")"); +// Actual matching. +// Parentheses and commas are optional, but not required. +// Whitespace can take the place of commas or opening paren +var PERMISSIVE_MATCH3 = "[\\s|\\(]+(".concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")\\s*\\)?"); +var PERMISSIVE_MATCH4 = "[\\s|\\(]+(".concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")\\s*\\)?"); +var matchers = { + CSS_UNIT: new RegExp(CSS_UNIT), + rgb: new RegExp('rgb' + PERMISSIVE_MATCH3), + rgba: new RegExp('rgba' + PERMISSIVE_MATCH4), + hsl: new RegExp('hsl' + PERMISSIVE_MATCH3), + hsla: new RegExp('hsla' + PERMISSIVE_MATCH4), + hsv: new RegExp('hsv' + PERMISSIVE_MATCH3), + hsva: new RegExp('hsva' + PERMISSIVE_MATCH4), + hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, + hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, + hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, + hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, +}; +/** + * Permissive string parsing. Take in a number of formats, and output an object + * based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}` + */ +function stringInputToObject(color) { + color = color.trim().toLowerCase(); + if (color.length === 0) { + return false; + } + var named = false; + if (css_color_names_js_1.names[color]) { + color = css_color_names_js_1.names[color]; + named = true; + } + else if (color === 'transparent') { + return { r: 0, g: 0, b: 0, a: 0, format: 'name' }; + } + // Try to match string input using regular expressions. + // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360] + // Just return an object and let the conversion functions handle that. + // This way the result will be the same whether the tinycolor is initialized with string or object. + var match = matchers.rgb.exec(color); + if (match) { + return { r: match[1], g: match[2], b: match[3] }; + } + match = matchers.rgba.exec(color); + if (match) { + return { r: match[1], g: match[2], b: match[3], a: match[4] }; + } + match = matchers.hsl.exec(color); + if (match) { + return { h: match[1], s: match[2], l: match[3] }; + } + match = matchers.hsla.exec(color); + if (match) { + return { h: match[1], s: match[2], l: match[3], a: match[4] }; + } + match = matchers.hsv.exec(color); + if (match) { + return { h: match[1], s: match[2], v: match[3] }; + } + match = matchers.hsva.exec(color); + if (match) { + return { h: match[1], s: match[2], v: match[3], a: match[4] }; + } + match = matchers.hex8.exec(color); + if (match) { + return { + r: (0, conversion_js_1.parseIntFromHex)(match[1]), + g: (0, conversion_js_1.parseIntFromHex)(match[2]), + b: (0, conversion_js_1.parseIntFromHex)(match[3]), + a: (0, conversion_js_1.convertHexToDecimal)(match[4]), + format: named ? 'name' : 'hex8', + }; + } + match = matchers.hex6.exec(color); + if (match) { + return { + r: (0, conversion_js_1.parseIntFromHex)(match[1]), + g: (0, conversion_js_1.parseIntFromHex)(match[2]), + b: (0, conversion_js_1.parseIntFromHex)(match[3]), + format: named ? 'name' : 'hex', + }; + } + match = matchers.hex4.exec(color); + if (match) { + return { + r: (0, conversion_js_1.parseIntFromHex)(match[1] + match[1]), + g: (0, conversion_js_1.parseIntFromHex)(match[2] + match[2]), + b: (0, conversion_js_1.parseIntFromHex)(match[3] + match[3]), + a: (0, conversion_js_1.convertHexToDecimal)(match[4] + match[4]), + format: named ? 'name' : 'hex8', + }; + } + match = matchers.hex3.exec(color); + if (match) { + return { + r: (0, conversion_js_1.parseIntFromHex)(match[1] + match[1]), + g: (0, conversion_js_1.parseIntFromHex)(match[2] + match[2]), + b: (0, conversion_js_1.parseIntFromHex)(match[3] + match[3]), + format: named ? 'name' : 'hex', + }; + } + return false; +} +exports.stringInputToObject = stringInputToObject; +/** + * Check to see if it looks like a CSS unit + * (see `matchers` above for definition). + */ +function isValidCSSUnit(color) { + return Boolean(matchers.CSS_UNIT.exec(String(color))); +} +exports.isValidCSSUnit = isValidCSSUnit; diff --git a/.output/server/node_modules/@ctrl/tinycolor/dist/from-ratio.js b/.output/server/node_modules/@ctrl/tinycolor/dist/from-ratio.js new file mode 100644 index 0000000..14e9d15 --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/dist/from-ratio.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.legacyRandom = exports.fromRatio = void 0; +var index_js_1 = require("./index.js"); +var util_js_1 = require("./util.js"); +/** + * If input is an object, force 1 into "1.0" to handle ratios properly + * String input requires "1.0" as input, so 1 will be treated as 1 + */ +function fromRatio(ratio, opts) { + var newColor = { + r: (0, util_js_1.convertToPercentage)(ratio.r), + g: (0, util_js_1.convertToPercentage)(ratio.g), + b: (0, util_js_1.convertToPercentage)(ratio.b), + }; + if (ratio.a !== undefined) { + newColor.a = Number(ratio.a); + } + return new index_js_1.TinyColor(newColor, opts); +} +exports.fromRatio = fromRatio; +/** old random function */ +function legacyRandom() { + return new index_js_1.TinyColor({ + r: Math.random(), + g: Math.random(), + b: Math.random(), + }); +} +exports.legacyRandom = legacyRandom; diff --git a/.output/server/node_modules/@ctrl/tinycolor/dist/index.js b/.output/server/node_modules/@ctrl/tinycolor/dist/index.js new file mode 100644 index 0000000..c9bc1d9 --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/dist/index.js @@ -0,0 +1,512 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.tinycolor = exports.TinyColor = void 0; +var conversion_js_1 = require("./conversion.js"); +var css_color_names_js_1 = require("./css-color-names.js"); +var format_input_1 = require("./format-input"); +var util_js_1 = require("./util.js"); +var TinyColor = /** @class */ (function () { + function TinyColor(color, opts) { + if (color === void 0) { color = ''; } + if (opts === void 0) { opts = {}; } + var _a; + // If input is already a tinycolor, return itself + if (color instanceof TinyColor) { + // eslint-disable-next-line no-constructor-return + return color; + } + if (typeof color === 'number') { + color = (0, conversion_js_1.numberInputToObject)(color); + } + this.originalInput = color; + var rgb = (0, format_input_1.inputToRGB)(color); + this.originalInput = color; + this.r = rgb.r; + this.g = rgb.g; + this.b = rgb.b; + this.a = rgb.a; + this.roundA = Math.round(100 * this.a) / 100; + this.format = (_a = opts.format) !== null && _a !== void 0 ? _a : rgb.format; + this.gradientType = opts.gradientType; + // Don't let the range of [0,255] come back in [0,1]. + // Potentially lose a little bit of precision here, but will fix issues where + // .5 gets interpreted as half of the total, instead of half of 1 + // If it was supposed to be 128, this was already taken care of by `inputToRgb` + if (this.r < 1) { + this.r = Math.round(this.r); + } + if (this.g < 1) { + this.g = Math.round(this.g); + } + if (this.b < 1) { + this.b = Math.round(this.b); + } + this.isValid = rgb.ok; + } + TinyColor.prototype.isDark = function () { + return this.getBrightness() < 128; + }; + TinyColor.prototype.isLight = function () { + return !this.isDark(); + }; + /** + * Returns the perceived brightness of the color, from 0-255. + */ + TinyColor.prototype.getBrightness = function () { + // http://www.w3.org/TR/AERT#color-contrast + var rgb = this.toRgb(); + return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000; + }; + /** + * Returns the perceived luminance of a color, from 0-1. + */ + TinyColor.prototype.getLuminance = function () { + // http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef + var rgb = this.toRgb(); + var R; + var G; + var B; + var RsRGB = rgb.r / 255; + var GsRGB = rgb.g / 255; + var BsRGB = rgb.b / 255; + if (RsRGB <= 0.03928) { + R = RsRGB / 12.92; + } + else { + // eslint-disable-next-line prefer-exponentiation-operator + R = Math.pow((RsRGB + 0.055) / 1.055, 2.4); + } + if (GsRGB <= 0.03928) { + G = GsRGB / 12.92; + } + else { + // eslint-disable-next-line prefer-exponentiation-operator + G = Math.pow((GsRGB + 0.055) / 1.055, 2.4); + } + if (BsRGB <= 0.03928) { + B = BsRGB / 12.92; + } + else { + // eslint-disable-next-line prefer-exponentiation-operator + B = Math.pow((BsRGB + 0.055) / 1.055, 2.4); + } + return 0.2126 * R + 0.7152 * G + 0.0722 * B; + }; + /** + * Returns the alpha value of a color, from 0-1. + */ + TinyColor.prototype.getAlpha = function () { + return this.a; + }; + /** + * Sets the alpha value on the current color. + * + * @param alpha - The new alpha value. The accepted range is 0-1. + */ + TinyColor.prototype.setAlpha = function (alpha) { + this.a = (0, util_js_1.boundAlpha)(alpha); + this.roundA = Math.round(100 * this.a) / 100; + return this; + }; + /** + * Returns whether the color is monochrome. + */ + TinyColor.prototype.isMonochrome = function () { + var s = this.toHsl().s; + return s === 0; + }; + /** + * Returns the object as a HSVA object. + */ + TinyColor.prototype.toHsv = function () { + var hsv = (0, conversion_js_1.rgbToHsv)(this.r, this.g, this.b); + return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this.a }; + }; + /** + * Returns the hsva values interpolated into a string with the following format: + * "hsva(xxx, xxx, xxx, xx)". + */ + TinyColor.prototype.toHsvString = function () { + var hsv = (0, conversion_js_1.rgbToHsv)(this.r, this.g, this.b); + var h = Math.round(hsv.h * 360); + var s = Math.round(hsv.s * 100); + var v = Math.round(hsv.v * 100); + return this.a === 1 ? "hsv(".concat(h, ", ").concat(s, "%, ").concat(v, "%)") : "hsva(".concat(h, ", ").concat(s, "%, ").concat(v, "%, ").concat(this.roundA, ")"); + }; + /** + * Returns the object as a HSLA object. + */ + TinyColor.prototype.toHsl = function () { + var hsl = (0, conversion_js_1.rgbToHsl)(this.r, this.g, this.b); + return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this.a }; + }; + /** + * Returns the hsla values interpolated into a string with the following format: + * "hsla(xxx, xxx, xxx, xx)". + */ + TinyColor.prototype.toHslString = function () { + var hsl = (0, conversion_js_1.rgbToHsl)(this.r, this.g, this.b); + var h = Math.round(hsl.h * 360); + var s = Math.round(hsl.s * 100); + var l = Math.round(hsl.l * 100); + return this.a === 1 ? "hsl(".concat(h, ", ").concat(s, "%, ").concat(l, "%)") : "hsla(".concat(h, ", ").concat(s, "%, ").concat(l, "%, ").concat(this.roundA, ")"); + }; + /** + * Returns the hex value of the color. + * @param allow3Char will shorten hex value to 3 char if possible + */ + TinyColor.prototype.toHex = function (allow3Char) { + if (allow3Char === void 0) { allow3Char = false; } + return (0, conversion_js_1.rgbToHex)(this.r, this.g, this.b, allow3Char); + }; + /** + * Returns the hex value of the color -with a # prefixed. + * @param allow3Char will shorten hex value to 3 char if possible + */ + TinyColor.prototype.toHexString = function (allow3Char) { + if (allow3Char === void 0) { allow3Char = false; } + return '#' + this.toHex(allow3Char); + }; + /** + * Returns the hex 8 value of the color. + * @param allow4Char will shorten hex value to 4 char if possible + */ + TinyColor.prototype.toHex8 = function (allow4Char) { + if (allow4Char === void 0) { allow4Char = false; } + return (0, conversion_js_1.rgbaToHex)(this.r, this.g, this.b, this.a, allow4Char); + }; + /** + * Returns the hex 8 value of the color -with a # prefixed. + * @param allow4Char will shorten hex value to 4 char if possible + */ + TinyColor.prototype.toHex8String = function (allow4Char) { + if (allow4Char === void 0) { allow4Char = false; } + return '#' + this.toHex8(allow4Char); + }; + /** + * Returns the shorter hex value of the color depends on its alpha -with a # prefixed. + * @param allowShortChar will shorten hex value to 3 or 4 char if possible + */ + TinyColor.prototype.toHexShortString = function (allowShortChar) { + if (allowShortChar === void 0) { allowShortChar = false; } + return this.a === 1 ? this.toHexString(allowShortChar) : this.toHex8String(allowShortChar); + }; + /** + * Returns the object as a RGBA object. + */ + TinyColor.prototype.toRgb = function () { + return { + r: Math.round(this.r), + g: Math.round(this.g), + b: Math.round(this.b), + a: this.a, + }; + }; + /** + * Returns the RGBA values interpolated into a string with the following format: + * "RGBA(xxx, xxx, xxx, xx)". + */ + TinyColor.prototype.toRgbString = function () { + var r = Math.round(this.r); + var g = Math.round(this.g); + var b = Math.round(this.b); + return this.a === 1 ? "rgb(".concat(r, ", ").concat(g, ", ").concat(b, ")") : "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(this.roundA, ")"); + }; + /** + * Returns the object as a RGBA object. + */ + TinyColor.prototype.toPercentageRgb = function () { + var fmt = function (x) { return "".concat(Math.round((0, util_js_1.bound01)(x, 255) * 100), "%"); }; + return { + r: fmt(this.r), + g: fmt(this.g), + b: fmt(this.b), + a: this.a, + }; + }; + /** + * Returns the RGBA relative values interpolated into a string + */ + TinyColor.prototype.toPercentageRgbString = function () { + var rnd = function (x) { return Math.round((0, util_js_1.bound01)(x, 255) * 100); }; + return this.a === 1 + ? "rgb(".concat(rnd(this.r), "%, ").concat(rnd(this.g), "%, ").concat(rnd(this.b), "%)") + : "rgba(".concat(rnd(this.r), "%, ").concat(rnd(this.g), "%, ").concat(rnd(this.b), "%, ").concat(this.roundA, ")"); + }; + /** + * The 'real' name of the color -if there is one. + */ + TinyColor.prototype.toName = function () { + if (this.a === 0) { + return 'transparent'; + } + if (this.a < 1) { + return false; + } + var hex = '#' + (0, conversion_js_1.rgbToHex)(this.r, this.g, this.b, false); + for (var _i = 0, _a = Object.entries(css_color_names_js_1.names); _i < _a.length; _i++) { + var _b = _a[_i], key = _b[0], value = _b[1]; + if (hex === value) { + return key; + } + } + return false; + }; + TinyColor.prototype.toString = function (format) { + var formatSet = Boolean(format); + format = format !== null && format !== void 0 ? format : this.format; + var formattedString = false; + var hasAlpha = this.a < 1 && this.a >= 0; + var needsAlphaFormat = !formatSet && hasAlpha && (format.startsWith('hex') || format === 'name'); + if (needsAlphaFormat) { + // Special case for "transparent", all other non-alpha formats + // will return rgba when there is transparency. + if (format === 'name' && this.a === 0) { + return this.toName(); + } + return this.toRgbString(); + } + if (format === 'rgb') { + formattedString = this.toRgbString(); + } + if (format === 'prgb') { + formattedString = this.toPercentageRgbString(); + } + if (format === 'hex' || format === 'hex6') { + formattedString = this.toHexString(); + } + if (format === 'hex3') { + formattedString = this.toHexString(true); + } + if (format === 'hex4') { + formattedString = this.toHex8String(true); + } + if (format === 'hex8') { + formattedString = this.toHex8String(); + } + if (format === 'name') { + formattedString = this.toName(); + } + if (format === 'hsl') { + formattedString = this.toHslString(); + } + if (format === 'hsv') { + formattedString = this.toHsvString(); + } + return formattedString || this.toHexString(); + }; + TinyColor.prototype.toNumber = function () { + return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b); + }; + TinyColor.prototype.clone = function () { + return new TinyColor(this.toString()); + }; + /** + * Lighten the color a given amount. Providing 100 will always return white. + * @param amount - valid between 1-100 + */ + TinyColor.prototype.lighten = function (amount) { + if (amount === void 0) { amount = 10; } + var hsl = this.toHsl(); + hsl.l += amount / 100; + hsl.l = (0, util_js_1.clamp01)(hsl.l); + return new TinyColor(hsl); + }; + /** + * Brighten the color a given amount, from 0 to 100. + * @param amount - valid between 1-100 + */ + TinyColor.prototype.brighten = function (amount) { + if (amount === void 0) { amount = 10; } + var rgb = this.toRgb(); + rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100)))); + rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100)))); + rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100)))); + return new TinyColor(rgb); + }; + /** + * Darken the color a given amount, from 0 to 100. + * Providing 100 will always return black. + * @param amount - valid between 1-100 + */ + TinyColor.prototype.darken = function (amount) { + if (amount === void 0) { amount = 10; } + var hsl = this.toHsl(); + hsl.l -= amount / 100; + hsl.l = (0, util_js_1.clamp01)(hsl.l); + return new TinyColor(hsl); + }; + /** + * Mix the color with pure white, from 0 to 100. + * Providing 0 will do nothing, providing 100 will always return white. + * @param amount - valid between 1-100 + */ + TinyColor.prototype.tint = function (amount) { + if (amount === void 0) { amount = 10; } + return this.mix('white', amount); + }; + /** + * Mix the color with pure black, from 0 to 100. + * Providing 0 will do nothing, providing 100 will always return black. + * @param amount - valid between 1-100 + */ + TinyColor.prototype.shade = function (amount) { + if (amount === void 0) { amount = 10; } + return this.mix('black', amount); + }; + /** + * Desaturate the color a given amount, from 0 to 100. + * Providing 100 will is the same as calling greyscale + * @param amount - valid between 1-100 + */ + TinyColor.prototype.desaturate = function (amount) { + if (amount === void 0) { amount = 10; } + var hsl = this.toHsl(); + hsl.s -= amount / 100; + hsl.s = (0, util_js_1.clamp01)(hsl.s); + return new TinyColor(hsl); + }; + /** + * Saturate the color a given amount, from 0 to 100. + * @param amount - valid between 1-100 + */ + TinyColor.prototype.saturate = function (amount) { + if (amount === void 0) { amount = 10; } + var hsl = this.toHsl(); + hsl.s += amount / 100; + hsl.s = (0, util_js_1.clamp01)(hsl.s); + return new TinyColor(hsl); + }; + /** + * Completely desaturates a color into greyscale. + * Same as calling `desaturate(100)` + */ + TinyColor.prototype.greyscale = function () { + return this.desaturate(100); + }; + /** + * Spin takes a positive or negative amount within [-360, 360] indicating the change of hue. + * Values outside of this range will be wrapped into this range. + */ + TinyColor.prototype.spin = function (amount) { + var hsl = this.toHsl(); + var hue = (hsl.h + amount) % 360; + hsl.h = hue < 0 ? 360 + hue : hue; + return new TinyColor(hsl); + }; + /** + * Mix the current color a given amount with another color, from 0 to 100. + * 0 means no mixing (return current color). + */ + TinyColor.prototype.mix = function (color, amount) { + if (amount === void 0) { amount = 50; } + var rgb1 = this.toRgb(); + var rgb2 = new TinyColor(color).toRgb(); + var p = amount / 100; + var rgba = { + r: (rgb2.r - rgb1.r) * p + rgb1.r, + g: (rgb2.g - rgb1.g) * p + rgb1.g, + b: (rgb2.b - rgb1.b) * p + rgb1.b, + a: (rgb2.a - rgb1.a) * p + rgb1.a, + }; + return new TinyColor(rgba); + }; + TinyColor.prototype.analogous = function (results, slices) { + if (results === void 0) { results = 6; } + if (slices === void 0) { slices = 30; } + var hsl = this.toHsl(); + var part = 360 / slices; + var ret = [this]; + for (hsl.h = (hsl.h - ((part * results) >> 1) + 720) % 360; --results;) { + hsl.h = (hsl.h + part) % 360; + ret.push(new TinyColor(hsl)); + } + return ret; + }; + /** + * taken from https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js + */ + TinyColor.prototype.complement = function () { + var hsl = this.toHsl(); + hsl.h = (hsl.h + 180) % 360; + return new TinyColor(hsl); + }; + TinyColor.prototype.monochromatic = function (results) { + if (results === void 0) { results = 6; } + var hsv = this.toHsv(); + var h = hsv.h; + var s = hsv.s; + var v = hsv.v; + var res = []; + var modification = 1 / results; + while (results--) { + res.push(new TinyColor({ h: h, s: s, v: v })); + v = (v + modification) % 1; + } + return res; + }; + TinyColor.prototype.splitcomplement = function () { + var hsl = this.toHsl(); + var h = hsl.h; + return [ + this, + new TinyColor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l }), + new TinyColor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l }), + ]; + }; + /** + * Compute how the color would appear on a background + */ + TinyColor.prototype.onBackground = function (background) { + var fg = this.toRgb(); + var bg = new TinyColor(background).toRgb(); + var alpha = fg.a + bg.a * (1 - fg.a); + return new TinyColor({ + r: (fg.r * fg.a + bg.r * bg.a * (1 - fg.a)) / alpha, + g: (fg.g * fg.a + bg.g * bg.a * (1 - fg.a)) / alpha, + b: (fg.b * fg.a + bg.b * bg.a * (1 - fg.a)) / alpha, + a: alpha, + }); + }; + /** + * Alias for `polyad(3)` + */ + TinyColor.prototype.triad = function () { + return this.polyad(3); + }; + /** + * Alias for `polyad(4)` + */ + TinyColor.prototype.tetrad = function () { + return this.polyad(4); + }; + /** + * Get polyad colors, like (for 1, 2, 3, 4, 5, 6, 7, 8, etc...) + * monad, dyad, triad, tetrad, pentad, hexad, heptad, octad, etc... + */ + TinyColor.prototype.polyad = function (n) { + var hsl = this.toHsl(); + var h = hsl.h; + var result = [this]; + var increment = 360 / n; + for (var i = 1; i < n; i++) { + result.push(new TinyColor({ h: (h + i * increment) % 360, s: hsl.s, l: hsl.l })); + } + return result; + }; + /** + * compare color vs current color + */ + TinyColor.prototype.equals = function (color) { + return this.toRgbString() === new TinyColor(color).toRgbString(); + }; + return TinyColor; +}()); +exports.TinyColor = TinyColor; +// kept for backwards compatability with v1 +function tinycolor(color, opts) { + if (color === void 0) { color = ''; } + if (opts === void 0) { opts = {}; } + return new TinyColor(color, opts); +} +exports.tinycolor = tinycolor; diff --git a/.output/server/node_modules/@ctrl/tinycolor/dist/interfaces.js b/.output/server/node_modules/@ctrl/tinycolor/dist/interfaces.js new file mode 100644 index 0000000..c8ad2e5 --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/dist/interfaces.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/.output/server/node_modules/@ctrl/tinycolor/dist/public_api.js b/.output/server/node_modules/@ctrl/tinycolor/dist/public_api.js new file mode 100644 index 0000000..e57f647 --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/dist/public_api.js @@ -0,0 +1,28 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var index_js_1 = require("./index.js"); +__exportStar(require("./index.js"), exports); +__exportStar(require("./css-color-names.js"), exports); +__exportStar(require("./readability.js"), exports); +__exportStar(require("./to-ms-filter.js"), exports); +__exportStar(require("./from-ratio.js"), exports); +__exportStar(require("./format-input.js"), exports); +__exportStar(require("./random.js"), exports); +__exportStar(require("./interfaces.js"), exports); +__exportStar(require("./conversion.js"), exports); +// kept for backwards compatability with v1 +exports.default = index_js_1.tinycolor; diff --git a/.output/server/node_modules/@ctrl/tinycolor/dist/random.js b/.output/server/node_modules/@ctrl/tinycolor/dist/random.js new file mode 100644 index 0000000..5fd805c --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/dist/random.js @@ -0,0 +1,282 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.bounds = exports.random = void 0; +/* eslint-disable @typescript-eslint/no-redundant-type-constituents */ +// randomColor by David Merfield under the CC0 license +// https://github.com/davidmerfield/randomColor/ +var index_js_1 = require("./index.js"); +function random(options) { + if (options === void 0) { options = {}; } + // Check if we need to generate multiple colors + if (options.count !== undefined && + options.count !== null) { + var totalColors = options.count; + var colors = []; + options.count = undefined; + while (totalColors > colors.length) { + // Since we're generating multiple colors, + // incremement the seed. Otherwise we'd just + // generate the same color each time... + options.count = null; + if (options.seed) { + options.seed += 1; + } + colors.push(random(options)); + } + options.count = totalColors; + return colors; + } + // First we pick a hue (H) + var h = pickHue(options.hue, options.seed); + // Then use H to determine saturation (S) + var s = pickSaturation(h, options); + // Then use S and H to determine brightness (B). + var v = pickBrightness(h, s, options); + var res = { h: h, s: s, v: v }; + if (options.alpha !== undefined) { + res.a = options.alpha; + } + // Then we return the HSB color in the desired format + return new index_js_1.TinyColor(res); +} +exports.random = random; +function pickHue(hue, seed) { + var hueRange = getHueRange(hue); + var res = randomWithin(hueRange, seed); + // Instead of storing red as two seperate ranges, + // we group them, using negative numbers + if (res < 0) { + res = 360 + res; + } + return res; +} +function pickSaturation(hue, options) { + if (options.hue === 'monochrome') { + return 0; + } + if (options.luminosity === 'random') { + return randomWithin([0, 100], options.seed); + } + var saturationRange = getColorInfo(hue).saturationRange; + var sMin = saturationRange[0]; + var sMax = saturationRange[1]; + switch (options.luminosity) { + case 'bright': + sMin = 55; + break; + case 'dark': + sMin = sMax - 10; + break; + case 'light': + sMax = 55; + break; + default: + break; + } + return randomWithin([sMin, sMax], options.seed); +} +function pickBrightness(H, S, options) { + var bMin = getMinimumBrightness(H, S); + var bMax = 100; + switch (options.luminosity) { + case 'dark': + bMax = bMin + 20; + break; + case 'light': + bMin = (bMax + bMin) / 2; + break; + case 'random': + bMin = 0; + bMax = 100; + break; + default: + break; + } + return randomWithin([bMin, bMax], options.seed); +} +function getMinimumBrightness(H, S) { + var lowerBounds = getColorInfo(H).lowerBounds; + for (var i = 0; i < lowerBounds.length - 1; i++) { + var s1 = lowerBounds[i][0]; + var v1 = lowerBounds[i][1]; + var s2 = lowerBounds[i + 1][0]; + var v2 = lowerBounds[i + 1][1]; + if (S >= s1 && S <= s2) { + var m = (v2 - v1) / (s2 - s1); + var b = v1 - m * s1; + return m * S + b; + } + } + return 0; +} +function getHueRange(colorInput) { + var num = parseInt(colorInput, 10); + if (!Number.isNaN(num) && num < 360 && num > 0) { + return [num, num]; + } + if (typeof colorInput === 'string') { + var namedColor = exports.bounds.find(function (n) { return n.name === colorInput; }); + if (namedColor) { + var color = defineColor(namedColor); + if (color.hueRange) { + return color.hueRange; + } + } + var parsed = new index_js_1.TinyColor(colorInput); + if (parsed.isValid) { + var hue = parsed.toHsv().h; + return [hue, hue]; + } + } + return [0, 360]; +} +function getColorInfo(hue) { + // Maps red colors to make picking hue easier + if (hue >= 334 && hue <= 360) { + hue -= 360; + } + for (var _i = 0, bounds_1 = exports.bounds; _i < bounds_1.length; _i++) { + var bound = bounds_1[_i]; + var color = defineColor(bound); + if (color.hueRange && hue >= color.hueRange[0] && hue <= color.hueRange[1]) { + return color; + } + } + throw Error('Color not found'); +} +function randomWithin(range, seed) { + if (seed === undefined) { + return Math.floor(range[0] + Math.random() * (range[1] + 1 - range[0])); + } + // Seeded random algorithm from http://indiegamr.com/generate-repeatable-random-numbers-in-js/ + var max = range[1] || 1; + var min = range[0] || 0; + seed = (seed * 9301 + 49297) % 233280; + var rnd = seed / 233280.0; + return Math.floor(min + rnd * (max - min)); +} +function defineColor(bound) { + var sMin = bound.lowerBounds[0][0]; + var sMax = bound.lowerBounds[bound.lowerBounds.length - 1][0]; + var bMin = bound.lowerBounds[bound.lowerBounds.length - 1][1]; + var bMax = bound.lowerBounds[0][1]; + return { + name: bound.name, + hueRange: bound.hueRange, + lowerBounds: bound.lowerBounds, + saturationRange: [sMin, sMax], + brightnessRange: [bMin, bMax], + }; +} +/** + * @hidden + */ +exports.bounds = [ + { + name: 'monochrome', + hueRange: null, + lowerBounds: [ + [0, 0], + [100, 0], + ], + }, + { + name: 'red', + hueRange: [-26, 18], + lowerBounds: [ + [20, 100], + [30, 92], + [40, 89], + [50, 85], + [60, 78], + [70, 70], + [80, 60], + [90, 55], + [100, 50], + ], + }, + { + name: 'orange', + hueRange: [19, 46], + lowerBounds: [ + [20, 100], + [30, 93], + [40, 88], + [50, 86], + [60, 85], + [70, 70], + [100, 70], + ], + }, + { + name: 'yellow', + hueRange: [47, 62], + lowerBounds: [ + [25, 100], + [40, 94], + [50, 89], + [60, 86], + [70, 84], + [80, 82], + [90, 80], + [100, 75], + ], + }, + { + name: 'green', + hueRange: [63, 178], + lowerBounds: [ + [30, 100], + [40, 90], + [50, 85], + [60, 81], + [70, 74], + [80, 64], + [90, 50], + [100, 40], + ], + }, + { + name: 'blue', + hueRange: [179, 257], + lowerBounds: [ + [20, 100], + [30, 86], + [40, 80], + [50, 74], + [60, 60], + [70, 52], + [80, 44], + [90, 39], + [100, 35], + ], + }, + { + name: 'purple', + hueRange: [258, 282], + lowerBounds: [ + [20, 100], + [30, 87], + [40, 79], + [50, 70], + [60, 65], + [70, 59], + [80, 52], + [90, 45], + [100, 42], + ], + }, + { + name: 'pink', + hueRange: [283, 334], + lowerBounds: [ + [20, 100], + [30, 90], + [40, 86], + [60, 84], + [80, 80], + [90, 75], + [100, 73], + ], + }, +]; diff --git a/.output/server/node_modules/@ctrl/tinycolor/dist/readability.js b/.output/server/node_modules/@ctrl/tinycolor/dist/readability.js new file mode 100644 index 0000000..e358ff8 --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/dist/readability.js @@ -0,0 +1,86 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.mostReadable = exports.isReadable = exports.readability = void 0; +var index_js_1 = require("./index.js"); +// Readability Functions +// --------------------- +// false + * new TinyColor().isReadable('#000', '#111', { level: 'AA', size: 'large' }) => false + * ``` + */ +function isReadable(color1, color2, wcag2) { + var _a, _b; + if (wcag2 === void 0) { wcag2 = { level: 'AA', size: 'small' }; } + var readabilityLevel = readability(color1, color2); + switch (((_a = wcag2.level) !== null && _a !== void 0 ? _a : 'AA') + ((_b = wcag2.size) !== null && _b !== void 0 ? _b : 'small')) { + case 'AAsmall': + case 'AAAlarge': + return readabilityLevel >= 4.5; + case 'AAlarge': + return readabilityLevel >= 3; + case 'AAAsmall': + return readabilityLevel >= 7; + default: + return false; + } +} +exports.isReadable = isReadable; +/** + * Given a base color and a list of possible foreground or background + * colors for that base, returns the most readable color. + * Optionally returns Black or White if the most readable color is unreadable. + * + * @param baseColor - the base color. + * @param colorList - array of colors to pick the most readable one from. + * @param args - and object with extra arguments + * + * Example + * ```ts + * new TinyColor().mostReadable('#123', ['#124", "#125'], { includeFallbackColors: false }).toHexString(); // "#112255" + * new TinyColor().mostReadable('#123', ['#124", "#125'],{ includeFallbackColors: true }).toHexString(); // "#ffffff" + * new TinyColor().mostReadable('#a8015a', ["#faf3f3"], { includeFallbackColors:true, level: 'AAA', size: 'large' }).toHexString(); // "#faf3f3" + * new TinyColor().mostReadable('#a8015a', ["#faf3f3"], { includeFallbackColors:true, level: 'AAA', size: 'small' }).toHexString(); // "#ffffff" + * ``` + */ +function mostReadable(baseColor, colorList, args) { + if (args === void 0) { args = { includeFallbackColors: false, level: 'AA', size: 'small' }; } + var bestColor = null; + var bestScore = 0; + var includeFallbackColors = args.includeFallbackColors, level = args.level, size = args.size; + for (var _i = 0, colorList_1 = colorList; _i < colorList_1.length; _i++) { + var color = colorList_1[_i]; + var score = readability(baseColor, color); + if (score > bestScore) { + bestScore = score; + bestColor = new index_js_1.TinyColor(color); + } + } + if (isReadable(baseColor, bestColor, { level: level, size: size }) || !includeFallbackColors) { + return bestColor; + } + args.includeFallbackColors = false; + return mostReadable(baseColor, ['#fff', '#000'], args); +} +exports.mostReadable = mostReadable; diff --git a/.output/server/node_modules/@ctrl/tinycolor/dist/to-ms-filter.js b/.output/server/node_modules/@ctrl/tinycolor/dist/to-ms-filter.js new file mode 100644 index 0000000..bb97d9d --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/dist/to-ms-filter.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toMsFilter = void 0; +var conversion_js_1 = require("./conversion.js"); +var index_js_1 = require("./index.js"); +/** + * Returns the color represented as a Microsoft filter for use in old versions of IE. + */ +function toMsFilter(firstColor, secondColor) { + var color = new index_js_1.TinyColor(firstColor); + var hex8String = '#' + (0, conversion_js_1.rgbaToArgbHex)(color.r, color.g, color.b, color.a); + var secondHex8String = hex8String; + var gradientType = color.gradientType ? 'GradientType = 1, ' : ''; + if (secondColor) { + var s = new index_js_1.TinyColor(secondColor); + secondHex8String = '#' + (0, conversion_js_1.rgbaToArgbHex)(s.r, s.g, s.b, s.a); + } + return "progid:DXImageTransform.Microsoft.gradient(".concat(gradientType, "startColorstr=").concat(hex8String, ",endColorstr=").concat(secondHex8String, ")"); +} +exports.toMsFilter = toMsFilter; diff --git a/.output/server/node_modules/@ctrl/tinycolor/dist/util.js b/.output/server/node_modules/@ctrl/tinycolor/dist/util.js new file mode 100644 index 0000000..05485b6 --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/dist/util.js @@ -0,0 +1,92 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.pad2 = exports.convertToPercentage = exports.boundAlpha = exports.isPercentage = exports.isOnePointZero = exports.clamp01 = exports.bound01 = void 0; +/** + * Take input from [0, n] and return it as [0, 1] + * @hidden + */ +function bound01(n, max) { + if (isOnePointZero(n)) { + n = '100%'; + } + var isPercent = isPercentage(n); + n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n))); + // Automatically convert percentage into number + if (isPercent) { + n = parseInt(String(n * max), 10) / 100; + } + // Handle floating point rounding errors + if (Math.abs(n - max) < 0.000001) { + return 1; + } + // Convert into [0, 1] range if it isn't already + if (max === 360) { + // If n is a hue given in degrees, + // wrap around out-of-range values into [0, 360] range + // then convert into [0, 1]. + n = (n < 0 ? (n % max) + max : n % max) / parseFloat(String(max)); + } + else { + // If n not a hue given in degrees + // Convert into [0, 1] range if it isn't already. + n = (n % max) / parseFloat(String(max)); + } + return n; +} +exports.bound01 = bound01; +/** + * Force a number between 0 and 1 + * @hidden + */ +function clamp01(val) { + return Math.min(1, Math.max(0, val)); +} +exports.clamp01 = clamp01; +/** + * Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1 + * + * @hidden + */ +function isOnePointZero(n) { + return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1; +} +exports.isOnePointZero = isOnePointZero; +/** + * Check to see if string passed in is a percentage + * @hidden + */ +function isPercentage(n) { + return typeof n === 'string' && n.indexOf('%') !== -1; +} +exports.isPercentage = isPercentage; +/** + * Return a valid alpha value [0,1] with all invalid values being set to 1 + * @hidden + */ +function boundAlpha(a) { + a = parseFloat(a); + if (isNaN(a) || a < 0 || a > 1) { + a = 1; + } + return a; +} +exports.boundAlpha = boundAlpha; +/** + * Replace a decimal with it's percentage value + * @hidden + */ +function convertToPercentage(n) { + if (n <= 1) { + return "".concat(Number(n) * 100, "%"); + } + return n; +} +exports.convertToPercentage = convertToPercentage; +/** + * Force a hex value to have 2 characters + * @hidden + */ +function pad2(c) { + return c.length === 1 ? '0' + c : String(c); +} +exports.pad2 = pad2; diff --git a/.output/server/node_modules/@ctrl/tinycolor/package.json b/.output/server/node_modules/@ctrl/tinycolor/package.json new file mode 100644 index 0000000..2173855 --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/package.json @@ -0,0 +1,80 @@ +{ + "name": "@ctrl/tinycolor", + "version": "3.6.1", + "description": "Fast, small color manipulation and conversion for JavaScript", + "author": "Scott Cooper ", + "publishConfig": { + "access": "public" + }, + "license": "MIT", + "homepage": "https://tinycolor.vercel.app", + "repository": "scttcper/tinycolor", + "keywords": [ + "typescript", + "color", + "manipulation", + "tinycolor", + "hsa", + "rgb" + ], + "main": "dist/public_api.js", + "module": "dist/module/public_api.js", + "typings": "dist/public_api.d.ts", + "files": [ + "dist" + ], + "sideEffects": false, + "scripts": { + "build:demo": "rollup -c rollup.demo.js", + "watch:demo": "rollup -c rollup.demo.js -w", + "lint": "eslint --ext .js,.ts, .", + "lint:fix": "eslint --fix --ext .js,.ts, .", + "prepare": "npm run build", + "build": "del-cli dist && tsc -p tsconfig.build.json && tsc -p tsconfig.module.json && ts-node build", + "build:docs": "typedoc --out demo/public/docs --hideGenerator --tsconfig tsconfig.build.json src/public_api.ts", + "test": "jest", + "test:ci": "jest --ci --runInBand --reporters=default --reporters=jest-junit --coverage", + "test:watch": "jest --watch" + }, + "dependencies": {}, + "devDependencies": { + "@babel/plugin-transform-modules-commonjs": "7.19.6", + "@babel/preset-typescript": "7.18.6", + "@ctrl/eslint-config": "3.5.6", + "@jest/globals": "29.3.1", + "@types/node": "18.11.11", + "del-cli": "5.0.0", + "jest": "29.3.1", + "jest-junit": "15.0.0", + "rollup": "2.70.1", + "rollup-plugin-livereload": "2.0.5", + "rollup-plugin-serve": "1.1.0", + "rollup-plugin-sourcemaps": "0.6.3", + "rollup-plugin-terser": "7.0.2", + "rollup-plugin-typescript2": "0.34.1", + "ts-node": "10.9.1", + "typedoc": "0.23.21", + "typescript": "4.9.3" + }, + "jest": { + "testEnvironment": "node", + "coverageProvider": "v8", + "moduleNameMapper": { + "(.+)\\.js": "$1" + } + }, + "babel": { + "presets": [ + "@babel/preset-typescript" + ], + "plugins": [ + "@babel/plugin-transform-modules-commonjs" + ] + }, + "release": { + "branch": "master" + }, + "engines": { + "node": ">=10" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@popperjs/core/dist/index.mjs b/.output/server/node_modules/@popperjs/core/dist/index.mjs new file mode 100644 index 0000000..927eb4b --- /dev/null +++ b/.output/server/node_modules/@popperjs/core/dist/index.mjs @@ -0,0 +1 @@ +var E="top",R="bottom",W="right",P="left",me="auto",G=[E,R,W,P],U="start",J="end",Xe="clippingParents",je="viewport",K="popper",Ye="reference",De=G.reduce(function(t,e){return t.concat([e+"-"+U,e+"-"+J])},[]),Ee=[].concat(G,[me]).reduce(function(t,e){return t.concat([e,e+"-"+U,e+"-"+J])},[]),Ge="beforeRead",Je="read",Ke="afterRead",Qe="beforeMain",Ze="main",et="afterMain",tt="beforeWrite",nt="write",rt="afterWrite",ot=[Ge,Je,Ke,Qe,Ze,et,tt,nt,rt];function C(t){return t?(t.nodeName||"").toLowerCase():null}function H(t){if(t==null)return window;if(t.toString()!=="[object Window]"){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function Q(t){var e=H(t).Element;return t instanceof e||t instanceof Element}function B(t){var e=H(t).HTMLElement;return t instanceof e||t instanceof HTMLElement}function Pe(t){if(typeof ShadowRoot=="undefined")return!1;var e=H(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function Mt(t){var e=t.state;Object.keys(e.elements).forEach(function(n){var r=e.styles[n]||{},o=e.attributes[n]||{},i=e.elements[n];!B(i)||!C(i)||(Object.assign(i.style,r),Object.keys(o).forEach(function(a){var s=o[a];s===!1?i.removeAttribute(a):i.setAttribute(a,s===!0?"":s)}))})}function Rt(t){var e=t.state,n={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,n.popper),e.styles=n,e.elements.arrow&&Object.assign(e.elements.arrow.style,n.arrow),function(){Object.keys(e.elements).forEach(function(r){var o=e.elements[r],i=e.attributes[r]||{},a=Object.keys(e.styles.hasOwnProperty(r)?e.styles[r]:n[r]),s=a.reduce(function(f,c){return f[c]="",f},{});!B(o)||!C(o)||(Object.assign(o.style,s),Object.keys(i).forEach(function(f){o.removeAttribute(f)}))})}}var Ae={name:"applyStyles",enabled:!0,phase:"write",fn:Mt,effect:Rt,requires:["computeStyles"]};function q(t){return t.split("-")[0]}var X=Math.max,ve=Math.min,Z=Math.round;function ee(t,e){e===void 0&&(e=!1);var n=t.getBoundingClientRect(),r=1,o=1;if(B(t)&&e){var i=t.offsetHeight,a=t.offsetWidth;a>0&&(r=Z(n.width)/a||1),i>0&&(o=Z(n.height)/i||1)}return{width:n.width/r,height:n.height/o,top:n.top/o,right:n.right/r,bottom:n.bottom/o,left:n.left/r,x:n.left/r,y:n.top/o}}function ke(t){var e=ee(t),n=t.offsetWidth,r=t.offsetHeight;return Math.abs(e.width-n)<=1&&(n=e.width),Math.abs(e.height-r)<=1&&(r=e.height),{x:t.offsetLeft,y:t.offsetTop,width:n,height:r}}function it(t,e){var n=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(n&&Pe(n)){var r=e;do{if(r&&t.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function N(t){return H(t).getComputedStyle(t)}function Wt(t){return["table","td","th"].indexOf(C(t))>=0}function I(t){return((Q(t)?t.ownerDocument:t.document)||window.document).documentElement}function ge(t){return C(t)==="html"?t:t.assignedSlot||t.parentNode||(Pe(t)?t.host:null)||I(t)}function at(t){return!B(t)||N(t).position==="fixed"?null:t.offsetParent}function Bt(t){var e=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,n=navigator.userAgent.indexOf("Trident")!==-1;if(n&&B(t)){var r=N(t);if(r.position==="fixed")return null}var o=ge(t);for(Pe(o)&&(o=o.host);B(o)&&["html","body"].indexOf(C(o))<0;){var i=N(o);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||e&&i.willChange==="filter"||e&&i.filter&&i.filter!=="none")return o;o=o.parentNode}return null}function se(t){for(var e=H(t),n=at(t);n&&Wt(n)&&N(n).position==="static";)n=at(n);return n&&(C(n)==="html"||C(n)==="body"&&N(n).position==="static")?e:n||Bt(t)||e}function Le(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function fe(t,e,n){return X(t,ve(e,n))}function St(t,e,n){var r=fe(t,e,n);return r>n?n:r}function st(){return{top:0,right:0,bottom:0,left:0}}function ft(t){return Object.assign({},st(),t)}function ct(t,e){return e.reduce(function(n,r){return n[r]=t,n},{})}var Tt=function(t,e){return t=typeof t=="function"?t(Object.assign({},e.rects,{placement:e.placement})):t,ft(typeof t!="number"?t:ct(t,G))};function Ht(t){var e,n=t.state,r=t.name,o=t.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,s=q(n.placement),f=Le(s),c=[P,W].indexOf(s)>=0,u=c?"height":"width";if(!(!i||!a)){var m=Tt(o.padding,n),v=ke(i),l=f==="y"?E:P,h=f==="y"?R:W,p=n.rects.reference[u]+n.rects.reference[f]-a[f]-n.rects.popper[u],g=a[f]-n.rects.reference[f],x=se(i),y=x?f==="y"?x.clientHeight||0:x.clientWidth||0:0,$=p/2-g/2,d=m[l],b=y-v[u]-m[h],w=y/2-v[u]/2+$,O=fe(d,w,b),j=f;n.modifiersData[r]=(e={},e[j]=O,e.centerOffset=O-w,e)}}function Ct(t){var e=t.state,n=t.options,r=n.element,o=r===void 0?"[data-popper-arrow]":r;o!=null&&(typeof o=="string"&&(o=e.elements.popper.querySelector(o),!o)||!it(e.elements.popper,o)||(e.elements.arrow=o))}var pt={name:"arrow",enabled:!0,phase:"main",fn:Ht,effect:Ct,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function te(t){return t.split("-")[1]}var qt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Vt(t){var e=t.x,n=t.y,r=window,o=r.devicePixelRatio||1;return{x:Z(e*o)/o||0,y:Z(n*o)/o||0}}function ut(t){var e,n=t.popper,r=t.popperRect,o=t.placement,i=t.variation,a=t.offsets,s=t.position,f=t.gpuAcceleration,c=t.adaptive,u=t.roundOffsets,m=t.isFixed,v=a.x,l=v===void 0?0:v,h=a.y,p=h===void 0?0:h,g=typeof u=="function"?u({x:l,y:p}):{x:l,y:p};l=g.x,p=g.y;var x=a.hasOwnProperty("x"),y=a.hasOwnProperty("y"),$=P,d=E,b=window;if(c){var w=se(n),O="clientHeight",j="clientWidth";if(w===H(n)&&(w=I(n),N(w).position!=="static"&&s==="absolute"&&(O="scrollHeight",j="scrollWidth")),w=w,o===E||(o===P||o===W)&&i===J){d=R;var A=m&&w===b&&b.visualViewport?b.visualViewport.height:w[O];p-=A-r.height,p*=f?1:-1}if(o===P||(o===E||o===R)&&i===J){$=W;var k=m&&w===b&&b.visualViewport?b.visualViewport.width:w[j];l-=k-r.width,l*=f?1:-1}}var D=Object.assign({position:s},c&&qt),S=u===!0?Vt({x:l,y:p}):{x:l,y:p};if(l=S.x,p=S.y,f){var L;return Object.assign({},D,(L={},L[d]=y?"0":"",L[$]=x?"0":"",L.transform=(b.devicePixelRatio||1)<=1?"translate("+l+"px, "+p+"px)":"translate3d("+l+"px, "+p+"px, 0)",L))}return Object.assign({},D,(e={},e[d]=y?p+"px":"",e[$]=x?l+"px":"",e.transform="",e))}function Nt(t){var e=t.state,n=t.options,r=n.gpuAcceleration,o=r===void 0?!0:r,i=n.adaptive,a=i===void 0?!0:i,s=n.roundOffsets,f=s===void 0?!0:s,c={placement:q(e.placement),variation:te(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:o,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,ut(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:a,roundOffsets:f})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,ut(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:f})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}var Me={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Nt,data:{}},ye={passive:!0};function It(t){var e=t.state,n=t.instance,r=t.options,o=r.scroll,i=o===void 0?!0:o,a=r.resize,s=a===void 0?!0:a,f=H(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return i&&c.forEach(function(u){u.addEventListener("scroll",n.update,ye)}),s&&f.addEventListener("resize",n.update,ye),function(){i&&c.forEach(function(u){u.removeEventListener("scroll",n.update,ye)}),s&&f.removeEventListener("resize",n.update,ye)}}var Re={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:It,data:{}},_t={left:"right",right:"left",bottom:"top",top:"bottom"};function be(t){return t.replace(/left|right|bottom|top/g,function(e){return _t[e]})}var zt={start:"end",end:"start"};function lt(t){return t.replace(/start|end/g,function(e){return zt[e]})}function We(t){var e=H(t),n=e.pageXOffset,r=e.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Be(t){return ee(I(t)).left+We(t).scrollLeft}function Ft(t){var e=H(t),n=I(t),r=e.visualViewport,o=n.clientWidth,i=n.clientHeight,a=0,s=0;return r&&(o=r.width,i=r.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(a=r.offsetLeft,s=r.offsetTop)),{width:o,height:i,x:a+Be(t),y:s}}function Ut(t){var e,n=I(t),r=We(t),o=(e=t.ownerDocument)==null?void 0:e.body,i=X(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=X(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),s=-r.scrollLeft+Be(t),f=-r.scrollTop;return N(o||n).direction==="rtl"&&(s+=X(n.clientWidth,o?o.clientWidth:0)-i),{width:i,height:a,x:s,y:f}}function Se(t){var e=N(t),n=e.overflow,r=e.overflowX,o=e.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function dt(t){return["html","body","#document"].indexOf(C(t))>=0?t.ownerDocument.body:B(t)&&Se(t)?t:dt(ge(t))}function ce(t,e){var n;e===void 0&&(e=[]);var r=dt(t),o=r===((n=t.ownerDocument)==null?void 0:n.body),i=H(r),a=o?[i].concat(i.visualViewport||[],Se(r)?r:[]):r,s=e.concat(a);return o?s:s.concat(ce(ge(a)))}function Te(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Xt(t){var e=ee(t);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}function ht(t,e){return e===je?Te(Ft(t)):Q(e)?Xt(e):Te(Ut(I(t)))}function Yt(t){var e=ce(ge(t)),n=["absolute","fixed"].indexOf(N(t).position)>=0,r=n&&B(t)?se(t):t;return Q(r)?e.filter(function(o){return Q(o)&&it(o,r)&&C(o)!=="body"}):[]}function Gt(t,e,n){var r=e==="clippingParents"?Yt(t):[].concat(e),o=[].concat(r,[n]),i=o[0],a=o.reduce(function(s,f){var c=ht(t,f);return s.top=X(c.top,s.top),s.right=ve(c.right,s.right),s.bottom=ve(c.bottom,s.bottom),s.left=X(c.left,s.left),s},ht(t,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function mt(t){var e=t.reference,n=t.element,r=t.placement,o=r?q(r):null,i=r?te(r):null,a=e.x+e.width/2-n.width/2,s=e.y+e.height/2-n.height/2,f;switch(o){case E:f={x:a,y:e.y-n.height};break;case R:f={x:a,y:e.y+e.height};break;case W:f={x:e.x+e.width,y:s};break;case P:f={x:e.x-n.width,y:s};break;default:f={x:e.x,y:e.y}}var c=o?Le(o):null;if(c!=null){var u=c==="y"?"height":"width";switch(i){case U:f[c]=f[c]-(e[u]/2-n[u]/2);break;case J:f[c]=f[c]+(e[u]/2-n[u]/2);break}}return f}function ne(t,e){e===void 0&&(e={});var n=e,r=n.placement,o=r===void 0?t.placement:r,i=n.boundary,a=i===void 0?Xe:i,s=n.rootBoundary,f=s===void 0?je:s,c=n.elementContext,u=c===void 0?K:c,m=n.altBoundary,v=m===void 0?!1:m,l=n.padding,h=l===void 0?0:l,p=ft(typeof h!="number"?h:ct(h,G)),g=u===K?Ye:K,x=t.rects.popper,y=t.elements[v?g:u],$=Gt(Q(y)?y:y.contextElement||I(t.elements.popper),a,f),d=ee(t.elements.reference),b=mt({reference:d,element:x,strategy:"absolute",placement:o}),w=Te(Object.assign({},x,b)),O=u===K?w:d,j={top:$.top-O.top+p.top,bottom:O.bottom-$.bottom+p.bottom,left:$.left-O.left+p.left,right:O.right-$.right+p.right},A=t.modifiersData.offset;if(u===K&&A){var k=A[o];Object.keys(j).forEach(function(D){var S=[W,R].indexOf(D)>=0?1:-1,L=[E,R].indexOf(D)>=0?"y":"x";j[D]+=k[L]*S})}return j}function Jt(t,e){e===void 0&&(e={});var n=e,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,s=n.flipVariations,f=n.allowedAutoPlacements,c=f===void 0?Ee:f,u=te(r),m=u?s?De:De.filter(function(h){return te(h)===u}):G,v=m.filter(function(h){return c.indexOf(h)>=0});v.length===0&&(v=m);var l=v.reduce(function(h,p){return h[p]=ne(t,{placement:p,boundary:o,rootBoundary:i,padding:a})[q(p)],h},{});return Object.keys(l).sort(function(h,p){return l[h]-l[p]})}function Kt(t){if(q(t)===me)return[];var e=be(t);return[lt(t),e,lt(e)]}function Qt(t){var e=t.state,n=t.options,r=t.name;if(!e.modifiersData[r]._skip){for(var o=n.mainAxis,i=o===void 0?!0:o,a=n.altAxis,s=a===void 0?!0:a,f=n.fallbackPlacements,c=n.padding,u=n.boundary,m=n.rootBoundary,v=n.altBoundary,l=n.flipVariations,h=l===void 0?!0:l,p=n.allowedAutoPlacements,g=e.options.placement,x=q(g),y=x===g,$=f||(y||!h?[be(g)]:Kt(g)),d=[g].concat($).reduce(function(z,V){return z.concat(q(V)===me?Jt(e,{placement:V,boundary:u,rootBoundary:m,padding:c,flipVariations:h,allowedAutoPlacements:p}):V)},[]),b=e.rects.reference,w=e.rects.popper,O=new Map,j=!0,A=d[0],k=0;k=0,oe=re?"width":"height",M=ne(e,{placement:D,boundary:u,rootBoundary:m,altBoundary:v,padding:c}),T=re?L?W:P:L?R:E;b[oe]>w[oe]&&(T=be(T));var pe=be(T),_=[];if(i&&_.push(M[S]<=0),s&&_.push(M[T]<=0,M[pe]<=0),_.every(function(z){return z})){A=D,j=!1;break}O.set(D,_)}if(j)for(var ue=h?3:1,xe=function(z){var V=d.find(function(de){var ae=O.get(de);if(ae)return ae.slice(0,z).every(function(Y){return Y})});if(V)return A=V,"break"},ie=ue;ie>0;ie--){var le=xe(ie);if(le==="break")break}e.placement!==A&&(e.modifiersData[r]._skip=!0,e.placement=A,e.reset=!0)}}var vt={name:"flip",enabled:!0,phase:"main",fn:Qt,requiresIfExists:["offset"],data:{_skip:!1}};function gt(t,e,n){return n===void 0&&(n={x:0,y:0}),{top:t.top-e.height-n.y,right:t.right-e.width+n.x,bottom:t.bottom-e.height+n.y,left:t.left-e.width-n.x}}function yt(t){return[E,W,R,P].some(function(e){return t[e]>=0})}function Zt(t){var e=t.state,n=t.name,r=e.rects.reference,o=e.rects.popper,i=e.modifiersData.preventOverflow,a=ne(e,{elementContext:"reference"}),s=ne(e,{altBoundary:!0}),f=gt(a,r),c=gt(s,o,i),u=yt(f),m=yt(c);e.modifiersData[n]={referenceClippingOffsets:f,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:m},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":m})}var bt={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Zt};function en(t,e,n){var r=q(t),o=[P,E].indexOf(r)>=0?-1:1,i=typeof n=="function"?n(Object.assign({},e,{placement:t})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*o,[P,W].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}function tn(t){var e=t.state,n=t.options,r=t.name,o=n.offset,i=o===void 0?[0,0]:o,a=Ee.reduce(function(u,m){return u[m]=en(m,e.rects,i),u},{}),s=a[e.placement],f=s.x,c=s.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=f,e.modifiersData.popperOffsets.y+=c),e.modifiersData[r]=a}var wt={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:tn};function nn(t){var e=t.state,n=t.name;e.modifiersData[n]=mt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}var He={name:"popperOffsets",enabled:!0,phase:"read",fn:nn,data:{}};function rn(t){return t==="x"?"y":"x"}function on(t){var e=t.state,n=t.options,r=t.name,o=n.mainAxis,i=o===void 0?!0:o,a=n.altAxis,s=a===void 0?!1:a,f=n.boundary,c=n.rootBoundary,u=n.altBoundary,m=n.padding,v=n.tether,l=v===void 0?!0:v,h=n.tetherOffset,p=h===void 0?0:h,g=ne(e,{boundary:f,rootBoundary:c,padding:m,altBoundary:u}),x=q(e.placement),y=te(e.placement),$=!y,d=Le(x),b=rn(d),w=e.modifiersData.popperOffsets,O=e.rects.reference,j=e.rects.popper,A=typeof p=="function"?p(Object.assign({},e.rects,{placement:e.placement})):p,k=typeof A=="number"?{mainAxis:A,altAxis:A}:Object.assign({mainAxis:0,altAxis:0},A),D=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,S={x:0,y:0};if(w){if(i){var L,re=d==="y"?E:P,oe=d==="y"?R:W,M=d==="y"?"height":"width",T=w[d],pe=T+g[re],_=T-g[oe],ue=l?-j[M]/2:0,xe=y===U?O[M]:j[M],ie=y===U?-j[M]:-O[M],le=e.elements.arrow,z=l&&le?ke(le):{width:0,height:0},V=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:st(),de=V[re],ae=V[oe],Y=fe(0,O[M],z[M]),jt=$?O[M]/2-ue-Y-de-k.mainAxis:xe-Y-de-k.mainAxis,Dt=$?-O[M]/2+ue+Y+ae+k.mainAxis:ie+Y+ae+k.mainAxis,Oe=e.elements.arrow&&se(e.elements.arrow),Et=Oe?d==="y"?Oe.clientTop||0:Oe.clientLeft||0:0,Ce=(L=D==null?void 0:D[d])!=null?L:0,Pt=T+jt-Ce-Et,At=T+Dt-Ce,qe=fe(l?ve(pe,Pt):pe,T,l?X(_,At):_);w[d]=qe,S[d]=qe-T}if(s){var Ve,kt=d==="x"?E:P,Lt=d==="x"?R:W,F=w[b],he=b==="y"?"height":"width",Ne=F+g[kt],Ie=F-g[Lt],$e=[E,P].indexOf(x)!==-1,_e=(Ve=D==null?void 0:D[b])!=null?Ve:0,ze=$e?Ne:F-O[he]-j[he]-_e+k.altAxis,Fe=$e?F+O[he]+j[he]-_e-k.altAxis:Ie,Ue=l&&$e?St(ze,F,Fe):fe(l?ze:Ne,F,l?Fe:Ie);w[b]=Ue,S[b]=Ue-F}e.modifiersData[r]=S}}var xt={name:"preventOverflow",enabled:!0,phase:"main",fn:on,requiresIfExists:["offset"]};function an(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function sn(t){return t===H(t)||!B(t)?We(t):an(t)}function fn(t){var e=t.getBoundingClientRect(),n=Z(e.width)/t.offsetWidth||1,r=Z(e.height)/t.offsetHeight||1;return n!==1||r!==1}function cn(t,e,n){n===void 0&&(n=!1);var r=B(e),o=B(e)&&fn(e),i=I(e),a=ee(t,o),s={scrollLeft:0,scrollTop:0},f={x:0,y:0};return(r||!r&&!n)&&((C(e)!=="body"||Se(i))&&(s=sn(e)),B(e)?(f=ee(e,!0),f.x+=e.clientLeft,f.y+=e.clientTop):i&&(f.x=Be(i))),{x:a.left+s.scrollLeft-f.x,y:a.top+s.scrollTop-f.y,width:a.width,height:a.height}}function pn(t){var e=new Map,n=new Set,r=[];t.forEach(function(i){e.set(i.name,i)});function o(i){n.add(i.name);var a=[].concat(i.requires||[],i.requiresIfExists||[]);a.forEach(function(s){if(!n.has(s)){var f=e.get(s);f&&o(f)}}),r.push(i)}return t.forEach(function(i){n.has(i.name)||o(i)}),r}function un(t){var e=pn(t);return ot.reduce(function(n,r){return n.concat(e.filter(function(o){return o.phase===r}))},[])}function ln(t){var e;return function(){return e||(e=new Promise(function(n){Promise.resolve().then(function(){e=void 0,n(t())})})),e}}function dn(t){var e=t.reduce(function(n,r){var o=n[r.name];return n[r.name]=o?Object.assign({},o,r,{options:Object.assign({},o.options,r.options),data:Object.assign({},o.data,r.data)}):r,n},{});return Object.keys(e).map(function(n){return e[n]})}var Ot={placement:"bottom",modifiers:[],strategy:"absolute"};function $t(){for(var t=arguments.length,e=new Array(t),n=0;n", + "license": "MIT", + "repository": "github:popperjs/popper-core", + "keywords": [ + "tooltip", + "popover", + "dropdown", + "popup", + "popper", + "positioning engine" + ], + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + }, + "files": [ + "index.d.ts", + "/dist", + "/lib" + ], + "sideEffects": false, + "publishConfig": { + "access": "public" + }, + "prettier": { + "semi": true, + "trailingComma": "es5", + "singleQuote": true, + "proseWrap": "always" + }, + "babel": { + "extends": "./.config/babel.config" + }, + "jest": { + "preset": "./.config/jest.config" + }, + "eslintConfig": { + "extends": "./.config/eslint.config" + }, + "husky": { + "hooks": { + "pre-commit": "pretty-quick --staged" + } + }, + "devDependencies": { + "@ampproject/rollup-plugin-closure-compiler": "^0.26.0", + "@atomico/rollup-plugin-sizes": "^1.1.4", + "@babel/cli": "^7.12.17", + "@babel/core": "^7.12.17", + "@babel/plugin-transform-flow-strip-types": "^7.12.13", + "@babel/plugin-transform-runtime": "^7.12.17", + "@babel/preset-env": "^7.12.17", + "@fezvrasta/tsc-silent": "^1.3.0", + "@khanacademy/flow-to-ts": "^0.3.0", + "@rollup/plugin-babel": "^5.3.1", + "@rollup/plugin-replace": "^2.3.4", + "babel-eslint": "^10.0.3", + "babel-jest": "^26.6.3", + "babel-plugin-add-import-extension": "^1.4.4", + "babel-plugin-annotate-pure-calls": "^0.4.0", + "babel-plugin-dev-expression": "^0.2.2", + "babel-plugin-inline-replace-variables": "^1.3.1", + "babel-plugin-transform-inline-environment-variables": "^0.4.3", + "concurrently": "^5.3.0", + "dotenv": "^8.2.0", + "esbuild": "^0.14.38", + "esbuild-plugin-flow": "^0.3.2", + "eslint": "^7.20.0", + "eslint-plugin-flowtype": "^5.2.2", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-unused-imports": "^1.1.0", + "esno": "^0.14.1", + "flow-bin": "^0.139.0", + "flow-copy-source": "^2.0.9", + "get-port-cli": "^2.0.0", + "husky": "^5.0.9", + "jest": "^26.6.3", + "jest-environment-jsdom-sixteen": "^1.0.3", + "jest-environment-puppeteer": "^4.4.0", + "jest-image-snapshot": "^4.3.0", + "jest-puppeteer": "^4.4.0", + "pinst": "^2.1.4", + "poster": "^0.0.9", + "prettier": "^2.2.1", + "pretty-quick": "^3.1.0", + "puppeteer": "^10.4.0", + "replace-in-files-cli": "^1.0.0", + "rollup": "^2.70.2", + "rollup-plugin-esbuild": "^4.9.1", + "rollup-plugin-flow-entry": "^0.3.3", + "rollup-plugin-license": "^2.2.0", + "rollup-plugin-terser": "^7.0.2", + "rollup-plugin-visualizer": "^4.2.0", + "serve": "^11.3.2", + "typescript": "^4.1.5" + }, + "scripts": { + "clean": "rimraf lib && rimraf dist && rimraf test/visual/dist", + "test": "yarn test:unit && yarn test:functional", + "test:unit": "jest --coverage src", + "test:functional": "DEV_PORT=`get-port` jest tests/functional", + "test:flow": "flow", + "test:typescript": "tsc --project tests/typescript/tsconfig.json", + "test:eslint": "eslint .", + "dev": "NODE_ENV=dev concurrently 'yarn serve' 'yarn build:dev --watch'", + "serve": "serve -l ${DEV_PORT:-5000} tests/visual", + "build": "yarn clean && esmo build/build.ts && pnpm run build:typescript", + "build:typescript": "rimraf dist/typescript; flow-to-ts \"src/**/*.js\" --write --inline-utility-types; tsc-silent --project .config/tsconfig.json --createSourceFile .config/createSourceFile.js --suppress @; rimraf \"src/**/*.ts\"" + }, + "readme": "\n

\n \"Popper\"\n

\n\n
\n

Tooltip & Popover Positioning Engine

\n
\n\n

\n \n \"npm\n \n \n \"npm\n \n \n \"Rolling\n \n

\n\n
\n\n\n**Positioning tooltips and popovers is difficult. Popper is here to help!**\n\nGiven an element, such as a button, and a tooltip element describing it, Popper\nwill automatically put the tooltip in the right place near the button.\n\nIt will position _any_ UI element that \"pops out\" from the flow of your document\nand floats near a target element. The most common example is a tooltip, but it\nalso includes popovers, drop-downs, and more. All of these can be generically\ndescribed as a \"popper\" element.\n\n## Demo\n\n[![Popper visualized](https://i.imgur.com/F7qWsmV.jpg)](https://popper.js.org)\n\n## Docs\n\n- [v2.x (latest)](https://popper.js.org/docs/v2/)\n- [v1.x](https://popper.js.org/docs/v1/)\n\nWe've created a\n[Migration Guide](https://popper.js.org/docs/v2/migration-guide/) to help you\nmigrate from Popper 1 to Popper 2.\n\nTo contribute to the Popper website and documentation, please visit the\n[dedicated repository](https://github.com/popperjs/website).\n\n## Why not use pure CSS?\n\n- **Clipping and overflow issues**: Pure CSS poppers will not be prevented from\n overflowing clipping boundaries, such as the viewport. It will get partially\n cut off or overflows if it's near the edge since there is no dynamic\n positioning logic. When using Popper, your popper will always be positioned in\n the right place without needing manual adjustments.\n- **No flipping**: CSS poppers will not flip to a different placement to fit\n better in view if necessary. While you can manually adjust for the main axis\n overflow, this feature cannot be achieved via CSS alone. Popper automatically\n flips the tooltip to make it fit in view as best as possible for the user.\n- **No virtual positioning**: CSS poppers cannot follow the mouse cursor or be\n used as a context menu. Popper allows you to position your tooltip relative to\n any coordinates you desire.\n- **Slower development cycle**: When pure CSS is used to position popper\n elements, the lack of dynamic positioning means they must be carefully placed\n to consider overflow on all screen sizes. In reusable component libraries,\n this means a developer can't just add the component anywhere on the page,\n because these issues need to be considered and adjusted for every time. With\n Popper, you can place your elements anywhere and they will be positioned\n correctly, without needing to consider different screen sizes, layouts, etc.\n This massively speeds up development time because this work is automatically\n offloaded to Popper.\n- **Lack of extensibility**: CSS poppers cannot be easily extended to fit any\n arbitrary use case you may need to adjust for. Popper is built with\n extensibility in mind.\n\n## Why Popper?\n\nWith the CSS drawbacks out of the way, we now move on to Popper in the\nJavaScript space itself.\n\nNaive JavaScript tooltip implementations usually have the following problems:\n\n- **Scrolling containers**: They don't ensure the tooltip stays with the\n reference element while scrolling when inside any number of scrolling\n containers.\n- **DOM context**: They often require the tooltip move outside of its original\n DOM context because they don't handle `offsetParent` contexts.\n- **Compatibility**: Popper handles an incredible number of edge cases regarding\n different browsers and environments (mobile viewports, RTL, scrollbars enabled\n or disabled, etc.). Popper is a popular and well-maintained library, so you\n can be confident positioning will work for your users on any device.\n- **Configurability**: They often lack advanced configurability to suit any\n possible use case.\n- **Size**: They are usually relatively large in size, or require an ancient\n jQuery dependency.\n- **Performance**: They often have runtime performance issues and update the\n tooltip position too slowly.\n\n**Popper solves all of these key problems in an elegant, performant manner.** It\nis a lightweight ~3 kB library that aims to provide a reliable and extensible\npositioning engine you can use to ensure all your popper elements are positioned\nin the right place.\n\nWhen you start writing your own popper implementation, you'll quickly run into\nall of the problems mentioned above. These widgets are incredibly common in our\nUIs; we've done the hard work figuring this out so you don't need to spend hours\nfixing and handling numerous edge cases that we already ran into while building\nthe library!\n\nPopper is used in popular libraries like Bootstrap, Foundation, Material UI, and\nmore. It's likely you've already used popper elements on the web positioned by\nPopper at some point in the past few years.\n\nSince we write UIs using powerful abstraction libraries such as React or Angular\nnowadays, you'll also be glad to know Popper can fully integrate with them and\nbe a good citizen together with your other components. Check out `react-popper`\nfor the official Popper wrapper for React.\n\n## Installation\n\n### 1. Package Manager\n\n```bash\n# With npm\nnpm i @popperjs/core\n\n# With Yarn\nyarn add @popperjs/core\n```\n\n### 2. CDN\n\n```html\n\n\n\n\n\n```\n\n### 3. Direct Download?\n\nManaging dependencies by \"directly downloading\" them and placing them into your\nsource code is not recommended for a variety of reasons, including missing out\non feat/fix updates easily. Please use a versioning management system like a CDN\nor npm/Yarn.\n\n## Usage\n\nThe most straightforward way to get started is to import Popper from the `unpkg`\nCDN, which includes all of its features. You can call the `Popper.createPopper`\nconstructor to create new popper instances.\n\nHere is a complete example:\n\n```html\n\nPopper example\n\n\n\n\n
I'm a tooltip
\n\n\n\n```\n\nVisit the [tutorial](https://popper.js.org/docs/v2/tutorial/) for an example of\nhow to build your own tooltip from scratch using Popper.\n\n### Module bundlers\n\nYou can import the `createPopper` constructor from the fully-featured file:\n\n```js\nimport { createPopper } from '@popperjs/core';\n\nconst button = document.querySelector('#button');\nconst tooltip = document.querySelector('#tooltip');\n\n// Pass the button, the tooltip, and some options, and Popper will do the\n// magic positioning for you:\ncreatePopper(button, tooltip, {\n placement: 'right',\n});\n```\n\nAll the modifiers listed in the docs menu will be enabled and \"just work\", so\nyou don't need to think about setting Popper up. The size of Popper including\nall of its features is about 5 kB minzipped, but it may grow a bit in the\nfuture.\n\n#### Popper Lite (tree-shaking)\n\nIf bundle size is important, you'll want to take advantage of tree-shaking. The\nlibrary is built in a modular way to allow to import only the parts you really\nneed.\n\n```js\nimport { createPopperLite as createPopper } from '@popperjs/core';\n```\n\nThe Lite version includes the most necessary modifiers that will compute the\noffsets of the popper, compute and add the positioning styles, and add event\nlisteners. This is close in bundle size to pure CSS tooltip libraries, and\nbehaves somewhat similarly.\n\nHowever, this does not include the features that makes Popper truly useful.\n\nThe two most useful modifiers not included in Lite are `preventOverflow` and\n`flip`:\n\n```js\nimport {\n createPopperLite as createPopper,\n preventOverflow,\n flip,\n} from '@popperjs/core';\n\nconst button = document.querySelector('#button');\nconst tooltip = document.querySelector('#tooltip');\n\ncreatePopper(button, tooltip, {\n modifiers: [preventOverflow, flip],\n});\n```\n\nAs you make more poppers, you may be finding yourself needing other modifiers\nprovided by the library.\n\nSee [tree-shaking](https://popper.js.org/docs/v2/performance/#tree-shaking) for more\ninformation.\n\n## Distribution targets\n\nPopper is distributed in 3 different versions, in 3 different file formats.\n\nThe 3 file formats are:\n\n- `esm` (works with `import` syntax — **recommended**)\n- `umd` (works with `